aboutsummaryrefslogtreecommitdiff
path: root/static/formatters.ts
diff options
context:
space:
mode:
Diffstat (limited to 'static/formatters.ts')
-rw-r--r--static/formatters.ts29
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;
+ }
+})