From c8151e2288fdf5892546172020a1579b7e41f6d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 6 Aug 2020 22:22:04 +0200 Subject: Create multiple events without refreshing page between. --- static/script.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'static/script.js') diff --git a/static/script.js b/static/script.js index 23041df9..5e95e56e 100644 --- a/static/script.js +++ b/static/script.js @@ -95,6 +95,7 @@ const gensym = (counter => (prefix="gensym") => prefix + ++counter)(0) let start_time = new Date(); let end_time = new Date(); + class EventCreator { /* dynamicly created event when dragging */ @@ -102,6 +103,19 @@ class EventCreator { this.event = false; this.event_start = { x: NaN, y: NaN }; this.down_on_event = false; + + } + + create_empty_event () { + let event = document.getElementById("event-template").firstChild.cloneNode(true); + let popup = document.getElementById("popup-template").firstChild.cloneNode(true); + + let id = gensym ("__js_event"); + + event.id = id; + popup.id = "popup" + id; + + return [popup, event]; } create_event_down (intended_target) { @@ -144,10 +158,11 @@ class EventCreator { /* only on left click */ if (e.buttons != 1) return; - let event - = that.event - = document.getElementById("event-template") - .firstChild.cloneNode(true); + let [popup, event] = that.create_empty_event(); + that.event = event; + + /* TODO better solution to add popup to DOM */ + document.getElementsByTagName("main")[0].append(popup); /* [0, 1) -- where are we in the container */ /* Ronud to force steps of quarters */ -- cgit v1.2.3