diff --git a/httpd/static/index.html b/httpd/static/index.html
index b82fdfd..330cf34 100644
--- a/httpd/static/index.html
+++ b/httpd/static/index.html
@@ -633,6 +633,29 @@
История введенных данных
// Хранение истории данных
let formHistory = JSON.parse(localStorage.getItem('formHistory')) || [];
+ const FFCGIResponceHandler = (responce, X, Y, R) => {
+ const JSONresponce = JSON.parse(responce);
+
+ // Сохраняем данные в историю
+ const formData = {
+ timestamp: new Date().toISOString(),
+ X: X,
+ Y: Y,
+ R: R,
+ elapsedTimeNs: JSONresponce.elapsedTimeNs,
+ isHitted: JSONresponce.result
+ };
+
+ formHistory.push(formData);
+ localStorage.setItem('formHistory', JSON.stringify(formHistory));
+
+ // Обновляем таблицу
+ refreshHistoryTable();
+
+ // Обновляем график
+ refreshGraph();
+ }
+
// Обработчик отправки формы
document.getElementById('graph-test-form').addEventListener('submit', function (e) {
e.preventDefault(); // Отключаем дефолтное поведение
@@ -643,36 +666,17 @@ История введенных данных
const Y = document.getElementById('Y').value;
if (X && R && Y) {
- // Stub
- sendAJAXGETRequest("/fcgi-bin/", {"x": X, "y": Y, "r": R}, (data) => {console.log(data)});
- console.log(`Данные отправлены!\nX: ${X}\nY: ${Y}\nR: ${R}`);
-
- // Сохраняем данные в историю
- const formData = {
- timestamp: new Date().toISOString(),
- X: X,
- Y: Y,
- R: R,
- elapsedTimeMs: 100,
- isHitted: true
- };
-
- formHistory.push(formData);
- localStorage.setItem('formHistory', JSON.stringify(formHistory));
-
- // Обновляем таблицу
- refreshHistoryTable();
-
- // Обновляем график
- refreshGraph();
+ sendAJAXGETRequest("/fcgi-bin/", {"x": X, "y": Y, "r": R}, (resp) => {FFCGIResponceHandler(resp, X, Y, R)});
// Очищаем форму
this.reset();
+
} else {
alert('Пожалуйста, заполните все поля формы')
}
});
+
// Функция для обновления таблицы истории
// TODO: переделать говнокод!
const refreshHistoryTable = () => {
@@ -696,7 +700,7 @@ История введенных данных
row.innerHTML = `
${new Date(elem.timestamp).toLocaleString('ru-RU')} |
- ${elem.elapsedTimeMs} ms |
+ ${elem.elapsedTimeNs} ns |
${elem.X} |
${elem.Y} |
${elem.R} |
@@ -718,9 +722,9 @@ История введенных данных
const R = parseFloat(elem.R);
const cx = 20 + (1 + X/R)*80;
- const cy = 20 + (1 + Y/R)*80;
+ const cy = 20 + (1 - Y/R)*80;
- if (!container.querySelector(`circle[cx="${cx}"][cy="${cy}"]`) && Math.abs(cx) <= 200 && Math.abs(cy) <= 200) {
+ if (!container.querySelector(`circle[cx="${cx}"][cy="${cy}"]`) && 0 <= cx <= 200 && 0 <= cy <= 200) {
const point = document.createElementNS(svgns, 'circle');
point.setAttributeNS(null, 'cx', cx);