diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2021-11-30 01:09:53 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2021-11-30 01:09:53 +0100 |
commit | e71f0c20adc4dc2f49bca99a859241fdadf376d3 (patch) | |
tree | 3231d1e491fcd1ed9dc0ab31cac4fdedb733807d /static/components/vevent-edit.ts | |
parent | Change UID resolve. (diff) | |
download | calp-e71f0c20adc4dc2f49bca99a859241fdadf376d3.tar.gz calp-e71f0c20adc4dc2f49bca99a859241fdadf376d3.tar.xz |
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!
Diffstat (limited to '')
-rw-r--r-- | static/components/vevent-edit.ts | 22 |
1 files changed, 19 insertions, 3 deletions
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' /* <vevent-edit /> @@ -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); |