From: Art Cancro Date: Wed, 27 Dec 2023 19:48:52 +0000 (-0500) Subject: view_calendar.js: finalized a fetch design pattern X-Git-Tag: v997~53 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=0e0d140960c9f47411c15c820cba700d7688d0b2 view_calendar.js: finalized a fetch design pattern This uses "fetch" followed by ".then" etc. etc. etc. and is tuned to be a design pattern for future code --- diff --git a/webcit-ng/server/calendar_functions.c b/webcit-ng/server/calendar_functions.c index 7d88996ed..fe179cb00 100644 --- a/webcit-ng/server/calendar_functions.c +++ b/webcit-ng/server/calendar_functions.c @@ -45,5 +45,9 @@ void calendar_msglist(struct http_transaction *h, struct ctdlsession *c, char *r array_free(msglist); // FIXME we still fail because we aren't finished yet - do_404(h); + add_response_header(h, strdup("Content-type"), strdup("application/json")); + h->response_code = 200; + h->response_string = strdup("OK"); + h->response_body = "{ \"one\":111 , \"two\":222 , \"three\":333 }"; + h->response_body_length = strlen(h->response_body); } diff --git a/webcit-ng/static/js/view_calendar.js b/webcit-ng/static/js/view_calendar.js index 17a1a4ea5..1ac05266a 100644 --- a/webcit-ng/static/js/view_calendar.js +++ b/webcit-ng/static/js/view_calendar.js @@ -8,20 +8,22 @@ // RENDERER FOR THIS VIEW function view_render_calendar() { - document.getElementById("ctdl-main").innerHTML = `STUB RENDERER FOR CALENDAR ROOM`; - fetch( "/ctdl/r/" + escapeHTMLURI(current_room) + "/calendar::" ) - .then((response) => { + .then(response => { if (response.ok) { return(response.json()); } + else { + throw new Error(`${response.status} ${response.statusText}`); + } }) - .then((j) => { - console.log("Something"); + .then(j => { + document.getElementById("ctdl-main").innerHTML = JSON.stringify(j); }) - .catch((error) => { - console.log("Error: " + error); + .catch(error => { + console.log(error); + document.getElementById("ctdl-main").innerHTML = `
${error}
`; }); }