From e71f0c20adc4dc2f49bca99a859241fdadf376d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 30 Nov 2021 01:09:53 +0100 Subject: Rework tab system. This sepparates popup-elements from their tabbed contents, allowing clearer sepparations of concerns, along with easier adding and removing of tabs to the tabset! --- static/components/vevent-edit.ts | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'static/components/vevent-edit.ts') diff --git a/static/components/vevent-edit.ts b/static/components/vevent-edit.ts index b9b733a0..58cee870 100644 --- a/static/components/vevent-edit.ts +++ b/static/components/vevent-edit.ts @@ -5,7 +5,7 @@ import { InputList } from './input-list' import { DateTimeInput } from './date-time-input' import { vcal_objects } from '../globals' -import { VEvent } from '../vevent' +import { VEvent, RecurrenceRule } from '../vevent' import { create_event } from '../server_connect' /* @@ -13,8 +13,8 @@ import { create_event } from '../server_connect' */ class ComponentEdit extends ComponentVEvent { - constructor() { - super(); + constructor(uid?: string) { + super(uid); let frag = this.template.content.cloneNode(true) as DocumentFragment let body = frag.firstElementChild! @@ -96,6 +96,22 @@ class ComponentEdit extends ComponentVEvent { }); } + let has_repeats_ = this.querySelector('[name="has_repeats"]') + if (has_repeats_) { + let has_repeats = has_repeats_ as HTMLInputElement; + + has_repeats.addEventListener('click', () => { + /* TODO unselecting and reselecting this checkbox deletes all entered data. + Cache it somewhere */ + if (has_repeats.checked) { + vcal_objects.get(this.uid)!.setProperty('rrule', new RecurrenceRule()) + } else { + /* TODO is this a good way to remove a property ? */ + vcal_objects.get(this.uid)!.setProperty('rrule', undefined) + } + }) + } + let submit = this.querySelector('form') as HTMLFormElement submit.addEventListener('submit', (e) => { console.log(submit, e); -- cgit v1.2.3