diff options
Diffstat (limited to 'static/formatters.ts')
-rw-r--r-- | static/formatters.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/static/formatters.ts b/static/formatters.ts new file mode 100644 index 00000000..38c71e5e --- /dev/null +++ b/static/formatters.ts @@ -0,0 +1,29 @@ +export { + formatters, +} + +import { makeElement } from './lib' + +let formatters : Map<string, (e : HTMLElement, s : any) => void>; +formatters = window.formatters = new Map(); + + +formatters.set('categories', (el, d) => { + for (let item of d) { + let q = encodeURIComponent( + `(member "${item}" (or (prop event (quote CATEGORIES)) (quote ())))`) + el.appendChild(makeElement('a', { + textContent: item, + href: `/search/?q=${q}`, + })) + } +}) + +formatters.set('default', (el, d) => { + let fmt; + if ((fmt = el.dataset.fmt)) { + el.textContent = d.format(fmt); + } else { + el.textContent = d; + } +}) |