aboutsummaryrefslogtreecommitdiff
path: root/static/date_time.js
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2021-05-17 01:32:25 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2021-05-17 01:32:25 +0200
commit6c21cb7b669a6778e57f7043c15446a38a1fc614 (patch)
treed4df2d192ab5c6b6f8a4c4bd8e3e6b0b4b36d8b8 /static/date_time.js
parentTerminal reload events when jumping to today. (diff)
parentLong events now wholeday per default. (diff)
downloadcalp-6c21cb7b669a6778e57f7043c15446a38a1fc614.tar.gz
calp-6c21cb7b669a6778e57f7043c15446a38a1fc614.tar.xz
Merge branch 'jcal'
Diffstat (limited to '')
-rw-r--r--static/date_time.js54
1 files changed, 30 insertions, 24 deletions
diff --git a/static/date_time.js b/static/date_time.js
index 274d476f..8b7249dd 100644
--- a/static/date_time.js
+++ b/static/date_time.js
@@ -1,30 +1,36 @@
-function init_date_time() {
- for (let dt of document.getElementsByClassName("date-time")) {
- dt.time = dt.querySelector('[type=time]');
- dt.date = dt.querySelector('[type=date]');
+function init_date_time_single(dt) {
+ dt.time = dt.querySelector('[type=time]');
+ dt.date = dt.querySelector('[type=date]');
- Object.defineProperty(dt, 'value', {
- get: () => (dt.date.value && dt.time.value)
- // TODO wrapping <date-time/> tag
- ? dt.date.value + "T" + dt.time.value
- : "",
- set: (v) => [dt.date.value, dt.time.value] = v.split("T"),
- });
+ Object.defineProperty(dt, 'value', {
+ get: () => (dt.date.value && dt.time.value)
+ // TODO wrapping <date-time/> tag
+ ? dt.date.value + "T" + dt.time.value
+ : "",
+ set: (v) => [dt.date.value, dt.time.value] = v.split("T"),
+ });
- Object.defineProperty(dt, 'name', {
- get: () => dt.attributes.name.value
- });
+ Object.defineProperty(dt, 'name', {
+ get: () => dt.attributes.name.value
+ });
- dt._addEventListener = dt.addEventListener;
- dt.addEventListener = function (field, proc) {
- switch (field) {
- case 'input':
- dt.time.addEventListener(field, proc);
- dt.date.addEventListener(field, proc);
- break;
- default:
- dt._addEventListener(field, proc);
- }
+ dt._addEventListener = dt.addEventListener;
+ dt.addEventListener = function (field, proc) {
+ /* input events are propagated to children
+ other events target ourselves */
+ switch (field) {
+ case 'input':
+ dt.time.addEventListener(field, proc);
+ dt.date.addEventListener(field, proc);
+ break;
+ default:
+ dt._addEventListener(field, proc);
}
}
}
+
+function init_date_time() {
+ for (let dt of document.getElementsByClassName("date-time")) {
+ init_date_time_single(dt);
+ }
+}