From a9af39410efca05f6805a84425a3a8172a44cf42 Mon Sep 17 00:00:00 2001 From: jerl Date: Tue, 27 Aug 2024 13:12:04 -0700 Subject: [PATCH] space fix --- client/space.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/client/space.js b/client/space.js index 9246863..8c68036 100644 --- a/client/space.js +++ b/client/space.js @@ -7,14 +7,16 @@ let dragging; let moved; let offset; -function mousemove(event) { +document.onmousemove = event => { + moved = true; + if (!dragging) + return; let left = (event.clientX - space.offsetLeft) * scale - offset.x; let top = (event.clientY - space.offsetTop) * scale - offset.y; dragging.style.left = `${left < 0 ? 0 : left}px`; dragging.style.top = `${top < 0 ? 0 : top}px`; - moved = true; save(dragging); -} +}; let saving; let queue; @@ -91,12 +93,9 @@ function add(s) { x: event.clientX - (space.offsetLeft + this.offsetLeft), y: event.clientY - (space.offsetTop + this.offsetTop) }; - moved = false; - document.addEventListener('mousemove', mousemove); }; span.onmouseup = function(event) { event.stopPropagation(); - document.removeEventListener('mousemove', mousemove); dragging = null; if (moved) return; @@ -112,6 +111,9 @@ export default function loadSpace(callback) { if (!instance.spaceid) { space = document.getElementById('space'); + space.onmousedown = event => { + moved = false; + }; space.onmouseup = event => { if (dragging) { dragging.onmouseup(event); @@ -122,6 +124,8 @@ export default function loadSpace(callback) { editing = null; return; } + if (moved) + return; editing = add({ x: event.offsetX + space.scrollLeft, y: event.offsetY + space.scrollTop,