From b52a9bfccbe11fedb646f41e0eae281b74c8a1f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 28 Jan 2021 13:37:57 +0100 Subject: Look at mapping in vcal types to js types. --- static/server_connect.js | 1 + 1 file changed, 1 insertion(+) (limited to 'static/server_connect.js') diff --git a/static/server_connect.js b/static/server_connect.js index a50128ae..252d79eb 100644 --- a/static/server_connect.js +++ b/static/server_connect.js @@ -52,6 +52,7 @@ function event_to_jcal (event) { type = 'recur'; value = v.asJcal(); } + /* TODO period */ else { /* text types */ -- cgit v1.2.3 From cbe3c46a898822b6ee0f10366e561c6a8055a1b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 2 Mar 2021 23:34:14 +0100 Subject: Start moving vcal stuff to own class. --- static/server_connect.js | 47 +---------------------------------------------- 1 file changed, 1 insertion(+), 46 deletions(-) (limited to 'static/server_connect.js') diff --git a/static/server_connect.js b/static/server_connect.js index 252d79eb..90bf819d 100644 --- a/static/server_connect.js +++ b/static/server_connect.js @@ -21,51 +21,6 @@ async function remove_event (element) { } } -function event_to_jcal (event) { - let properties = []; - - for (let prop of event.properties.ical_properties) { - let v = event.properties[prop]; - if (v !== undefined) { - - let type = 'text'; - let value; - - if (v instanceof Array) { - } else if (v instanceof Date) { - if (v.isWholeDay) { - type = 'date'; - value = v.format("~Y-~m-~d"); - } else { - type = 'date-time'; - /* TODO TZ */ - value = v.format("~Y-~m-~dT~H:~M:~S"); - } - } else if (v === true || v === false) { - type = 'boolean'; - value = v; - } else if (typeof(v) == 'number') { - /* TODO float or integer */ - type = 'integer'; - value = v; - } else if (v instanceof RRule) { - type = 'recur'; - value = v.asJcal(); - } - - /* TODO period */ - else { - /* text types */ - value = v; - } - - properties.push([prop, {}, type, value]); - } - } - - return ['vevent', properties, [/* alarms go here */]] -} - async function create_event (event) { // let xml = event.getElementsByTagName("icalendar")[0].outerHTML @@ -91,7 +46,7 @@ async function create_event (event) { ], [ /* vtimezone goes here */ - event_to_jcal(event), + event.properties.to_jcal() ] ]; -- cgit v1.2.3 From 55632aa8d889d3aa01d7e6f682bbb655914cc94a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 15 May 2021 23:56:03 +0200 Subject: General fixup of vcal stuff. --- static/server_connect.js | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'static/server_connect.js') diff --git a/static/server_connect.js b/static/server_connect.js index 90bf819d..45d5db2d 100644 --- a/static/server_connect.js +++ b/static/server_connect.js @@ -21,6 +21,23 @@ async function remove_event (element) { } } +function event_to_jcal (event) { + /* encapsulate event in a shim calendar, to ensure that + we always send correct stuff */ + return ['vcalendar', + [ + /* + 'prodid' and 'version' are technically both required (RFC 5545, + 3.6 Calendar Components). + */ + ], + [ + /* vtimezone goes here */ + event.properties.to_jcal() + ] + ]; +} + async function create_event (event) { // let xml = event.getElementsByTagName("icalendar")[0].outerHTML @@ -34,23 +51,9 @@ async function create_event (event) { console.log(event); + let jcal = event_to_jcal(event); - let jcal = - ['vcalendar', - [ - /* - 'prodid' and 'version' are technically both required (RFC 5545, - 3.6 Calendar Components). - */ - ], - [ - /* vtimezone goes here */ - event.properties.to_jcal() - ] - ]; - - console.log(jcal); let doc = jcal_to_xcal(jcal); console.log(doc); -- cgit v1.2.3 From 356cf51a924a7ba0cbf23529abd9d0a7c0cadd15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sun, 16 May 2021 21:57:57 +0200 Subject: Generall callbacks works again. --- static/server_connect.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'static/server_connect.js') diff --git a/static/server_connect.js b/static/server_connect.js index 45d5db2d..24bf254b 100644 --- a/static/server_connect.js +++ b/static/server_connect.js @@ -43,7 +43,7 @@ async function create_event (event) { // let xml = event.getElementsByTagName("icalendar")[0].outerHTML let calendar = event.properties.calendar; - console.log(calendar/*, xml*/); + console.log('calendar=', calendar/*, xml*/); let data = new URLSearchParams(); data.append("cal", calendar); -- cgit v1.2.3 From 1da3c63f34ea30ca35e50cead9edd3bd107bebb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sun, 16 May 2021 22:06:28 +0200 Subject: Calendar setting working again! --- static/server_connect.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'static/server_connect.js') diff --git a/static/server_connect.js b/static/server_connect.js index 24bf254b..f3fbac1b 100644 --- a/static/server_connect.js +++ b/static/server_connect.js @@ -41,7 +41,7 @@ function event_to_jcal (event) { async function create_event (event) { // let xml = event.getElementsByTagName("icalendar")[0].outerHTML - let calendar = event.properties.calendar; + let calendar = event.properties.calendar.value; console.log('calendar=', calendar/*, xml*/); -- cgit v1.2.3