1 // This module handles the view for "calendar" rooms.
3 // Copyright (c) 2016-2023 by the citadel.org team
5 // This program is open source software. Use, duplication, or
6 // disclosure is subject to the GNU General Public License v3.
9 // RENDERER FOR THIS VIEW
10 function view_render_calendar() {
15 "Content-Type" : "application/xml; charset=utf-8"
18 <CAL:calendar-query xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav">
21 <CAL:comp-filter name="VCALENDAR">
22 <CAL:comp-filter name="VEVENT" />
29 fetch("/ctdl/r/" + escapeHTMLURI(current_room), options)
32 return(response.text());
35 throw new Error(`${response.status} ${response.statusText}`);
38 //.then(str => document.getElementById("ctdl-main").innerHTML = escapeHTML(str))
39 .then(str => new window.DOMParser().parseFromString(str, "text/xml"))
41 document.getElementById("ctdl-main").innerHTML = "calendar items:<br>";
42 let root = xmlcal.documentElement;
43 let children = root.childNodes;
44 for (let i=0; i<children.length; ++i) {
45 let child = children[i];
46 if (child.nodeType == Node.ELEMENT_NODE) {
47 var getetag_e = child.getElementsByTagName("DAV:href")[0];
48 var getetag_s = getetag_e.textContent;
49 document.getElementById("ctdl-main").innerHTML += getetag_s + "<br>";
56 document.getElementById("ctdl-main").innerHTML = `<div class="ctdl-fatal-error">${error}</div>`;