From 6c44e85b820902a4d7bb640324d5ed927e414bcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 7 Jul 2022 20:29:11 +0200 Subject: Extend javascript formatters to also take VEvent. --- static/formatters.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'static/formatters.ts') 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 void>; + formatters: Map; } } -let formatters: Map void>; +let formatters: Map; 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); -- cgit v1.2.3