aboutsummaryrefslogtreecommitdiff
path: root/static/vevent.ts
diff options
context:
space:
mode:
Diffstat (limited to 'static/vevent.ts')
-rw-r--r--static/vevent.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/static/vevent.ts b/static/vevent.ts
index 6a2c6f0f..a7f67a7f 100644
--- a/static/vevent.ts
+++ b/static/vevent.ts
@@ -555,3 +555,32 @@ function xml_to_vcal(xml: Element): VEvent {
return new VEvent(property_map, component_list)
}
+
+
+class MultiInstanceVEvent extends VEvent {
+
+ private base_event: VEvent | null = null;
+ private overlayProperties: Map<string, VEventValue | VEventValue[]>;
+
+ constructor(parent: VEvent) {
+ super();
+
+ this.base_event = parent;
+
+ this.overlayProperties = new Map
+
+ /* Add this to alternative set of parent */
+ }
+
+ setProperty(key: string, value: any, type?: ical_type) {
+ /* TODO type resolution a setPropertyInternal */
+ this.overlayProperties.set(key.toUpperCase(), value);
+ }
+
+ getProperty(key: string): any | any[] | undefined {
+ let a = this.overlayProperties.get(key.toUpperCase())
+ if (a !== undefined) return a
+ return super.getProperty(key)
+ }
+
+}