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. --- module/output/html.scm | 3 ++- static/script.js | 23 +++++++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/module/output/html.scm b/module/output/html.scm index 1f1fed46..f08f6360 100644 --- a/module/output/html.scm +++ b/module/output/html.scm @@ -863,7 +863,8 @@ (data-end "2020-01-02")) ,(caddar ; strip tag (make-block event `((class " generated "))))) - ,(popup event (string-append "popup" (html-id event)))))))))) + (div (@ (class "template") (id "popup-template")) + ,(popup event (string-append "popup" (html-id event))))))))))) 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