diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-07-11 00:06:09 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-07-11 00:06:09 +0200 |
commit | 863cf382d9fbed5b8ecb8ff067416a8d73de14d7 (patch) | |
tree | 0bbdc8d00905bc5d854a1f7115e2c3b8e8e618e9 /static/script.js | |
parent | Javascript bind advanced fields + special formatting. (diff) | |
download | calp-863cf382d9fbed5b8ecb8ff067416a8d73de14d7.tar.gz calp-863cf382d9fbed5b8ecb8ff067416a8d73de14d7.tar.xz |
Javascript only allow event creation when mouse down on background.
Diffstat (limited to '')
-rw-r--r-- | static/script.js | 12 |
1 files changed, 11 insertions, 1 deletions
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)); |