fix buttons bugs
This commit is contained in:
parent
d423c9fb5a
commit
24dfeda88c
112
graph.js
112
graph.js
|
@ -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.onclick = (onclick) => {
|
||||||
|
// Отображение описания
|
||||||
|
show();
|
||||||
|
|
||||||
|
// Удаление событий
|
||||||
|
title.onclick = title.onmousemove = null;
|
||||||
|
|
||||||
|
// Реинициализация координат
|
||||||
|
x = onclick.pageX;
|
||||||
|
y = onclick.pageY;
|
||||||
|
|
||||||
|
// Удаление иконки курсора
|
||||||
|
title.style.cursor = null;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
title.onmousemove = (onmousemove) => {
|
title.onmousemove = (onmousemove) => {
|
||||||
// Курсор сдвинут более чем на 15 пикселей?
|
// Курсор сдвинут более чем на 15 пикселей?
|
||||||
if (Math.abs(onmousedown.pageX - onmousemove.pageX) > 15 || Math.abs(onmousedown.pageY - onmousemove.pageY) > 15) {
|
if (Math.abs(x - onmousemove.pageX) > 15 || Math.abs(y - onmousemove.pageY) > 15) {
|
||||||
// Запись иконки курсора
|
// Запись иконки курсора
|
||||||
title.style.cursor = 'grabbing';
|
title.style.cursor = 'grabbing';
|
||||||
|
|
||||||
// Запись события для возврата иконки курсора
|
// Запись события для переноса узла
|
||||||
title.onmouseup = fn => {
|
title.onclick = (onclick) => {
|
||||||
// Удаление событий
|
// Удаление событий
|
||||||
title.onmouseup = title.onmousemove = null;
|
title.onclick = title.onmousemove = null;
|
||||||
|
|
||||||
|
// Реинициализация координат
|
||||||
|
x = onclick.pageX;
|
||||||
|
y = onclick.pageY;
|
||||||
|
|
||||||
// Удаление иконки курсора
|
// Удаление иконки курсора
|
||||||
title.style.cursor = null;
|
title.style.cursor = null;
|
||||||
}
|
|
||||||
|
|
||||||
title.onclick = (onclick) => { return false }
|
return false;
|
||||||
} else title.onclick = (onclick) => { show() }
|
}
|
||||||
|
} 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) => {
|
||||||
|
// Инициализация координат
|
||||||
|
let x = onmousedown.pageX;
|
||||||
|
let y = onmousedown.pageY;
|
||||||
|
|
||||||
|
// Запись события открытия описания
|
||||||
|
a.onclick = (onclick) => {
|
||||||
|
// Удаление событий
|
||||||
|
a.onclick = a.onmousemove = null;
|
||||||
|
|
||||||
|
// Реинициализация координат
|
||||||
|
x = onclick.pageX;
|
||||||
|
y = onclick.pageY;
|
||||||
|
|
||||||
|
// Удаление иконки курсора
|
||||||
|
a.style.cursor = null;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
a.onmousemove = (onmousemove) => {
|
a.onmousemove = (onmousemove) => {
|
||||||
// Курсор сдвинут более чем на 15 пикселей?
|
// Курсор сдвинут более чем на 15 пикселей?
|
||||||
if (Math.abs(onmousedown.pageX - onmousemove.pageX) > 15 || Math.abs(onmousedown.pageY - onmousemove.pageY) > 15) {
|
if (Math.abs(x - onmousemove.pageX) > 15 || Math.abs(y - onmousemove.pageY) > 15) {
|
||||||
// Запись иконки курсора
|
// Запись иконки курсора
|
||||||
a.style.cursor = 'grabbing';
|
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;
|
||||||
}
|
|
||||||
|
|
||||||
a.onclick = (onclick) => { return false }
|
return false;
|
||||||
} else a.onclick = (onclick) => { return true }
|
}
|
||||||
|
} 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 }
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue