aboutsummaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-11-23 22:47:47 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2020-11-23 22:47:47 +0100
commit9c376aad37c0a92472d2b72646146d88990a7a65 (patch)
tree575b5e4d7157d3dee9096dbe5f83cb590ee96bb9 /static
parentBind large part of rrule. (diff)
downloadcalp-9c376aad37c0a92472d2b72646146d88990a7a65.tar.gz
calp-9c376aad37c0a92472d2b72646146d88990a7a65.tar.xz
JS Add date_time pseudo tag.
Diffstat (limited to 'static')
-rw-r--r--static/date_time.js30
-rw-r--r--static/script.js1
2 files changed, 31 insertions, 0 deletions
diff --git a/static/date_time.js b/static/date_time.js
new file mode 100644
index 00000000..274d476f
--- /dev/null
+++ b/static/date_time.js
@@ -0,0 +1,30 @@
+function init_date_time() {
+ for (let dt of document.getElementsByClassName("date-time")) {
+ 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, '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);
+ }
+ }
+ }
+}
diff --git a/static/script.js b/static/script.js
index 409359a7..3a3148b5 100644
--- a/static/script.js
+++ b/static/script.js
@@ -367,6 +367,7 @@ window.onload = function () {
// init_arbitary_kv();
+ init_date_time();
init_input_list();
}