blob: 274d476f6c907b36bb293a490818db8d043b13c6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);
}
}
}
}
|