From 863cf382d9fbed5b8ecb8ff067416a8d73de14d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 11 Jul 2020 00:06:09 +0200 Subject: Javascript only allow event creation when mouse down on background. --- static/script.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/static/script.js b/static/script.js index b512a89a..c7b8c0b5 100644 --- a/static/script.js +++ b/static/script.js @@ -44,14 +44,22 @@ let event; let event_start = { x: NaN, y: NaN }; +let down_on_event = false; + function create_event_down (e) { + /* Only trigger event creation stuff on actuall events background, + NOT on its children */ + down_on_event = false; + if (! e.target.classList.contains("events")) return; + down_on_event = true; + event_start.x = e.clientX; event_start.y = e.clientY; } function create_event_move (e) { - if (e.buttons != 1) return; + if (e.buttons != 1 || ! down_on_event) return; /* Create event when we start moving the mouse. */ if (! event) { @@ -67,6 +75,7 @@ function create_event_move (e) { if (e.buttons != 1) return; /* [0, 1) -- where are we in the container */ + /* Ronud to force steps of quarters */ time = round_time(24 * (e.offsetY / this.clientHeight), .25) @@ -106,6 +115,7 @@ function create_event_move (e) { } function create_event_finisher (callback) { + down_on_event = false; // reset return function create_event_up (e) { if (! event) return; let start = min(Number(event.dataset.time1), Number(event.dataset.time2)); -- cgit v1.2.3