diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-07-07 20:29:11 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-07-07 21:14:09 +0200 |
commit | 6c44e85b820902a4d7bb640324d5ed927e414bcb (patch) | |
tree | 4fbf828cf87b65d2aeb52d5038d46f40d548f2c0 /static/formatters.ts | |
parent | Import missing car+cdr. (diff) | |
download | calp-6c44e85b820902a4d7bb640324d5ed927e414bcb.tar.gz calp-6c44e85b820902a4d7bb640324d5ed927e414bcb.tar.xz |
Extend javascript formatters to also take VEvent.
Diffstat (limited to '')
-rw-r--r-- | static/formatters.ts | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/static/formatters.ts b/static/formatters.ts index 70f63504..5605e051 100644 --- a/static/formatters.ts +++ b/static/formatters.ts @@ -3,18 +3,21 @@ export { } import { makeElement } from './lib' +import { VEvent } from './vevent' + +type formatter = (e: HTMLElement, d: VEvent, s: any) => void declare global { interface Window { - formatters: Map<string, (e: HTMLElement, s: any) => void>; + formatters: Map<string, formatter>; } } -let formatters: Map<string, (e: HTMLElement, s: any) => void>; +let formatters: Map<string, formatter>; formatters = window.formatters = new Map(); -formatters.set('categories', (el, d) => { +formatters.set('categories', (el, _, d) => { for (let item of d) { let q = encodeURIComponent( `(member "${item}" (or (prop event (quote CATEGORIES)) (quote ())))`) @@ -25,7 +28,7 @@ formatters.set('categories', (el, d) => { } }) -function format_time_tag(el: HTMLElement, d: any): void { +function format_time_tag(el: HTMLElement, ev: VEvent, d: any): void { if (el instanceof HTMLTimeElement) { if (d instanceof Date) { let fmt = ''; @@ -40,13 +43,13 @@ function format_time_tag(el: HTMLElement, d: any): void { } } - formatters.get('default')!(el, d); + formatters.get('default')!(el, ev, d); } formatters.set('dtstart', format_time_tag) formatters.set('dtend', format_time_tag) -formatters.set('default', (el, d) => { +formatters.set('default', (el, _, d) => { let fmt; if ((fmt = el.dataset.fmt)) { el.textContent = d.format(fmt); |