From 4b9fa491fa44c6a4df803b49e4987a03bdc71a0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Fri, 26 Nov 2021 17:53:32 +0100 Subject: Display categories in event description. --- static/components/vevent-description.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'static/components') diff --git a/static/components/vevent-description.ts b/static/components/vevent-description.ts index 03c5355d..b1605d50 100644 --- a/static/components/vevent-description.ts +++ b/static/components/vevent-description.ts @@ -2,6 +2,7 @@ export { ComponentDescription } import { VEvent } from '../vevent' import { ComponentVEvent } from './vevent' +import { makeElement } from '../lib' /* @@ -21,10 +22,23 @@ class ComponentDescription extends ComponentVEvent { let p = el.dataset.property!; let d, fmt; if ((d = data.getProperty(p))) { - if ((fmt = el.dataset.fmt)) { - el.textContent = d.format(fmt); - } else { - el.textContent = d; + switch (p.toLowerCase()) { + case 'categories': + 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}`, + })) + } + break; + default: + if ((fmt = el.dataset.fmt)) { + el.textContent = d.format(fmt); + } else { + el.textContent = d; + } } } } -- cgit v1.2.3