fix buttons bugs

This commit is contained in:
Arsen Mirzaev Tatyano-Muradovich 2022-11-26 09:18:53 +10:00
parent d423c9fb5a
commit 24dfeda88c

124
graph.js
View File

@ -117,26 +117,67 @@ class graph {
// Запись блокировки открытия описания в случае, если был перемещён узел // Запись блокировки открытия описания в случае, если был перемещён узел
title.onmousedown = (onmousedown) => { title.onmousedown = (onmousedown) => {
// Запись открытия описания // Инициализация координат
title.onclick = (onclick) => { show() } let x = onmousedown.pageX;
let y = onmousedown.pageY;
title.onmousemove = (onmousemove) => { // Запись события открытия описания
// Курсор сдвинут более чем на 15 пикселей? title.onclick = (onclick) => {
if (Math.abs(onmousedown.pageX - onmousemove.pageX) > 15 || Math.abs(onmousedown.pageY - onmousemove.pageY) > 15) { // Отображение описания
// Запись иконки курсора show();
title.style.cursor = 'grabbing';
// Запись события для возврата иконки курсора
title.onmouseup = fn => {
// Удаление событий // Удаление событий
title.onmouseup = title.onmousemove = null; title.onclick = title.onmousemove = null;
// Реинициализация координат
x = onclick.pageX;
y = onclick.pageY;
// Удаление иконки курсора // Удаление иконки курсора
title.style.cursor = null; title.style.cursor = null;
return true;
} }
title.onclick = (onclick) => { return false } title.onmousemove = (onmousemove) => {
} else title.onclick = (onclick) => { show() } // Курсор сдвинут более чем на 15 пикселей?
if (Math.abs(x - onmousemove.pageX) > 15 || Math.abs(y - onmousemove.pageY) > 15) {
// Запись иконки курсора
title.style.cursor = 'grabbing';
// Запись события для переноса узла
title.onclick = (onclick) => {
// Удаление событий
title.onclick = title.onmousemove = null;
// Реинициализация координат
x = onclick.pageX;
y = onclick.pageY;
// Удаление иконки курсора
title.style.cursor = null;
return false;
}
} else {
// Запись события открытия описания
title.onclick = (onclick) => {
// Отображение описания
show();
// Удаление событий
title.onclick = title.onmousemove = null;
// Реинициализация координат
x = onclick.pageX;
y = onclick.pageY;
// Удаление иконки курсора
title.style.cursor = null;
return true;
};
}
} }
}; };
@ -170,23 +211,61 @@ class graph {
// Запись блокировки перехода по ссылке в случае, если был перемещён узел // Запись блокировки перехода по ссылке в случае, если был перемещён узел
a.onmousedown = (onmousedown) => { a.onmousedown = (onmousedown) => {
a.onmousemove = (onmousemove) => { // Инициализация координат
// Курсор сдвинут более чем на 15 пикселей? let x = onmousedown.pageX;
if (Math.abs(onmousedown.pageX - onmousemove.pageX) > 15 || Math.abs(onmousedown.pageY - onmousemove.pageY) > 15) { let y = onmousedown.pageY;
// Запись иконки курсора
a.style.cursor = 'grabbing';
// Запись события для возврата иконки курсора // Запись события открытия описания
a.onmouseup = fn => { a.onclick = (onclick) => {
// Удаление событий // Удаление событий
a.onmouseup = a.onmousemove = null; a.onclick = a.onmousemove = null;
// Реинициализация координат
x = onclick.pageX;
y = onclick.pageY;
// Удаление иконки курсора // Удаление иконки курсора
a.style.cursor = null; a.style.cursor = null;
return true;
} }
a.onclick = (onclick) => { return false } a.onmousemove = (onmousemove) => {
} else a.onclick = (onclick) => { return true } // Курсор сдвинут более чем на 15 пикселей?
if (Math.abs(x - onmousemove.pageX) > 15 || Math.abs(y - onmousemove.pageY) > 15) {
// Запись иконки курсора
a.style.cursor = 'grabbing';
// Запись события для переноса узла
a.onclick = (onclick) => {
// Удаление событий
a.onclick = a.onmousemove = null;
// Реинициализация координат
x = onclick.pageX;
y = onclick.pageY;
// Удаление иконки курсора
a.style.cursor = null;
return false;
}
} else {
// Запись события открытия описания
a.onclick = (onclick) => {
// Удаление событий
a.onclick = a.onmousemove = null;
// Реинициализация координат
x = onclick.pageX;
y = onclick.pageY;
// Удаление иконки курсора
a.style.cursor = null;
return true;
};
}
} }
}; };
@ -1175,3 +1254,4 @@ document.dispatchEvent(
detail: { graph } detail: { graph }
}) })
); );