From a73c338fd87f78b872386d2b04152fa9a1ec05a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Fri, 2 Oct 2020 16:58:51 +0200 Subject: Move JS type info into own file. --- module/calp/html/view/calendar.scm | 1 + static/script.js | 98 -------------------------------------- static/types.js | 98 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 98 deletions(-) create mode 100644 static/types.js diff --git a/module/calp/html/view/calendar.scm b/module/calp/html/view/calendar.scm index 64986b5c..abf43118 100644 --- a/module/calp/html/view/calendar.scm +++ b/module/calp/html/view/calendar.scm @@ -104,6 +104,7 @@ ,(include-alt-css "/static/dark.css" '(title "Dark")) ,(include-alt-css "/static/light.css" '(title "Light")) + (script (@ (defer) (src "/static/types.js"))) (script (@ (defer) (src "/static/lib.js"))) (script (@ (defer) (src "/static/script.js"))) ,(calendar-styles calendars)) diff --git a/static/script.js b/static/script.js index b703a21a..cd36aafd 100644 --- a/static/script.js +++ b/static/script.js @@ -781,104 +781,6 @@ window.onload = function () { } -let all_types = [ - 'text', - 'uri', - 'binary', - 'float', - 'integer', - 'date-time', - 'date', - 'duration', - 'period', - 'utc-offset', - 'cal-address', - 'recur', - 'boolean', -] - -let valid_fields = { - 'VCALENDAR': ['PRODID', 'VERSION', 'CALSCALE', 'METHOD'], - 'VEVENT': ['DTSTAMP', 'UID', 'DTSTART', 'CLASS', 'CREATED', - 'DESCRIPTION', 'GEO', 'LAST-MODIFIED', 'LOCATION', - 'ORGANIZER', 'PRIORITY', 'SEQUENCE', 'STATUS', - 'SUMMARY', 'TRANSP', 'URL', 'RECURRENCE-ID', - 'RRULE', 'DTEND', 'DURATION', 'ATTACH', 'ATTENDEE', - 'CATEGORIES', 'COMMENT', 'CONTACT', 'EXDATE', - 'REQUEST-STATUS', 'RELATED-TO', 'RESOURCES', 'RDATE'], - 'VTODO': ['DTSTAMP', 'UID', 'CLASS', 'COMPLETED', 'CREATED', - 'DESCRIPTION', 'DTSTART', 'GEO', 'LAST-MODIFIED', - 'LOCATION', 'ORGANIZER', 'PERCENT-COMPLETE', 'PRIORITY', - 'RECURRENCE-ID', 'SEQUENCE', 'STATUS', 'SUMMARY', 'URL', - 'RRULE', 'DUE', 'DURATION', 'ATTACH', 'ATTENDEE', 'CATEGORIES', - 'COMMENT', 'CONTACT', 'EXDATE', 'REQUEST-STATUS', 'RELATED-TO', - 'RESOURCES', 'RDATE',], - 'VJOURNAL': ['DTSTAMP', 'UID', 'CLASS', 'CREATED', 'DTSTART', 'LAST-MODIFIED', - 'ORGANIZER', 'RECURRENCE-ID', 'SEQUENCE', 'STATUS', 'SUMMARY', - 'URL', 'RRULE', 'ATTACH', 'ATTENDEE', 'CATEGORIES', 'COMMENT', - 'CONTACT', 'DESCRIPTION', 'EXDATE', 'RELATED-TO', 'RDATE', - 'REQUEST-STATUS'], - 'VFREEBUSY': ['DTSTAMP', 'UID', 'CONTACT', 'DTSTART', 'DTEND', - 'ORGANIZER', 'URL', 'ATTENDEE', 'COMMENT', 'FREEBUSY', - 'REQUEST-STATUS'], - 'VTIMEZONE': ['TZID', 'LAST-MODIFIED', 'TZURL'], - 'VALARM': ['ACTION', 'TRIGGER', 'DURATION', 'REPEAT', 'ATTACH', - 'DESCRIPTION', 'SUMMARY', 'ATTENDEE'], - 'STANDARD': ['DTSTART', 'TZOFFSETFROM', 'TZOFFSETTO', 'RRULE', - 'COMMENT', 'RDATE', 'TZNAME'], -}; - -valid_fields['DAYLIGHT'] = valid_fields['STANDARD']; - - -let valid_input_types = { - 'ACTION': ['text'], // AUDIO|DISPLAY|EMAIL|*other* - 'ATTACH': ['uri', 'binary'], - 'ATTENDEE': ['cal-address'], - 'CALSCALE': ['text'], - 'CATEGORIES': [['text']], - 'CLASS': ['text'], // PUBLIC|PRIVATE|CONFIDENTIAL|*other* - 'COMMENT': ['text'], - 'COMPLETED': ['date-time'], - 'CONTACT': ['text'], - 'CREATED': ['date-time'], - 'DESCRIPTION': ['text'], - 'DTEND': ['date', 'date-time'], - 'DTSTAMP': ['date-time'], - 'DTSTART': ['date', 'date-time'], - 'DUE': ['date', 'date-time'], - 'DURATION': ['duration'], - 'EXDATE': [['date', 'date-time']], - 'FREEBUSY': [['period']], - 'GEO': ['float'], // pair of floats - 'LAST-MODIFIED': ['date-time'], - 'LOCATION': ['text'], - 'METHOD': ['text'], - 'ORGANIZER': ['cal-address'], - 'PERCENT-COMPLETE': ['integer'], // 0-100 - 'PRIORITY': ['integer'], // 0-9 - 'PRODID': ['text'], - 'RDATE': [['date', 'date-time', 'period']], - 'RECURRENCE-ID': ['date', 'date-time'], - 'RELATED-TO': ['text'], - 'REPEAT': ['integer'], - 'REQUEST-STATUS': ['text'], - 'RESOURCES': [['text']], - 'RRULE': ['recur'], - 'SEQUENCE': ['integer'], - 'STATUS': ['text'], // see 3.8.1.11 - 'SUMMARY': ['text'], - 'TRANSP': ['text'], // OPAQUE|TRANSPARENT - 'TRIGGER': ['duration', 'date-time'], - 'TZID': ['text'], - 'TZNAME': ['text'], - 'TZOFFSETFROM': ['utc-offset'], - 'TZOFFSETTO': ['utc-offset'], - 'TZURL': ['uri'], - 'URL': ['uri'], - 'VERSION': ['text'], -} - function close_popup(popup) { popup.classList.remove("visible"); } diff --git a/static/types.js b/static/types.js new file mode 100644 index 00000000..cfed8584 --- /dev/null +++ b/static/types.js @@ -0,0 +1,98 @@ + +let all_types = [ + 'text', + 'uri', + 'binary', + 'float', + 'integer', + 'date-time', + 'date', + 'duration', + 'period', + 'utc-offset', + 'cal-address', + 'recur', + 'boolean', +] + +let valid_fields = { + 'VCALENDAR': ['PRODID', 'VERSION', 'CALSCALE', 'METHOD'], + 'VEVENT': ['DTSTAMP', 'UID', 'DTSTART', 'CLASS', 'CREATED', + 'DESCRIPTION', 'GEO', 'LAST-MODIFIED', 'LOCATION', + 'ORGANIZER', 'PRIORITY', 'SEQUENCE', 'STATUS', + 'SUMMARY', 'TRANSP', 'URL', 'RECURRENCE-ID', + 'RRULE', 'DTEND', 'DURATION', 'ATTACH', 'ATTENDEE', + 'CATEGORIES', 'COMMENT', 'CONTACT', 'EXDATE', + 'REQUEST-STATUS', 'RELATED-TO', 'RESOURCES', 'RDATE'], + 'VTODO': ['DTSTAMP', 'UID', 'CLASS', 'COMPLETED', 'CREATED', + 'DESCRIPTION', 'DTSTART', 'GEO', 'LAST-MODIFIED', + 'LOCATION', 'ORGANIZER', 'PERCENT-COMPLETE', 'PRIORITY', + 'RECURRENCE-ID', 'SEQUENCE', 'STATUS', 'SUMMARY', 'URL', + 'RRULE', 'DUE', 'DURATION', 'ATTACH', 'ATTENDEE', 'CATEGORIES', + 'COMMENT', 'CONTACT', 'EXDATE', 'REQUEST-STATUS', 'RELATED-TO', + 'RESOURCES', 'RDATE',], + 'VJOURNAL': ['DTSTAMP', 'UID', 'CLASS', 'CREATED', 'DTSTART', 'LAST-MODIFIED', + 'ORGANIZER', 'RECURRENCE-ID', 'SEQUENCE', 'STATUS', 'SUMMARY', + 'URL', 'RRULE', 'ATTACH', 'ATTENDEE', 'CATEGORIES', 'COMMENT', + 'CONTACT', 'DESCRIPTION', 'EXDATE', 'RELATED-TO', 'RDATE', + 'REQUEST-STATUS'], + 'VFREEBUSY': ['DTSTAMP', 'UID', 'CONTACT', 'DTSTART', 'DTEND', + 'ORGANIZER', 'URL', 'ATTENDEE', 'COMMENT', 'FREEBUSY', + 'REQUEST-STATUS'], + 'VTIMEZONE': ['TZID', 'LAST-MODIFIED', 'TZURL'], + 'VALARM': ['ACTION', 'TRIGGER', 'DURATION', 'REPEAT', 'ATTACH', + 'DESCRIPTION', 'SUMMARY', 'ATTENDEE'], + 'STANDARD': ['DTSTART', 'TZOFFSETFROM', 'TZOFFSETTO', 'RRULE', + 'COMMENT', 'RDATE', 'TZNAME'], +}; + +valid_fields['DAYLIGHT'] = valid_fields['STANDARD']; + + +let valid_input_types = { + 'ACTION': ['text'], // AUDIO|DISPLAY|EMAIL|*other* + 'ATTACH': ['uri', 'binary'], + 'ATTENDEE': ['cal-address'], + 'CALSCALE': ['text'], + 'CATEGORIES': [['text']], + 'CLASS': ['text'], // PUBLIC|PRIVATE|CONFIDENTIAL|*other* + 'COMMENT': ['text'], + 'COMPLETED': ['date-time'], + 'CONTACT': ['text'], + 'CREATED': ['date-time'], + 'DESCRIPTION': ['text'], + 'DTEND': ['date', 'date-time'], + 'DTSTAMP': ['date-time'], + 'DTSTART': ['date', 'date-time'], + 'DUE': ['date', 'date-time'], + 'DURATION': ['duration'], + 'EXDATE': [['date', 'date-time']], + 'FREEBUSY': [['period']], + 'GEO': ['float'], // pair of floats + 'LAST-MODIFIED': ['date-time'], + 'LOCATION': ['text'], + 'METHOD': ['text'], + 'ORGANIZER': ['cal-address'], + 'PERCENT-COMPLETE': ['integer'], // 0-100 + 'PRIORITY': ['integer'], // 0-9 + 'PRODID': ['text'], + 'RDATE': [['date', 'date-time', 'period']], + 'RECURRENCE-ID': ['date', 'date-time'], + 'RELATED-TO': ['text'], + 'REPEAT': ['integer'], + 'REQUEST-STATUS': ['text'], + 'RESOURCES': [['text']], + 'RRULE': ['recur'], + 'SEQUENCE': ['integer'], + 'STATUS': ['text'], // see 3.8.1.11 + 'SUMMARY': ['text'], + 'TRANSP': ['text'], // OPAQUE|TRANSPARENT + 'TRIGGER': ['duration', 'date-time'], + 'TZID': ['text'], + 'TZNAME': ['text'], + 'TZOFFSETFROM': ['utc-offset'], + 'TZOFFSETTO': ['utc-offset'], + 'TZURL': ['uri'], + 'URL': ['uri'], + 'VERSION': ['text'], +} -- cgit v1.2.3