This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch preview/calendar in repository https://gitbox.apache.org/repos/asf/comdev-events-site.git
The following commit(s) were added to refs/heads/preview/calendar by this push: new c25cd37 USe local data c25cd37 is described below commit c25cd3736df27d109d4b8b475fac6fc9e798a0e1 Author: Sebb <s...@apache.org> AuthorDate: Fri Apr 19 00:38:40 2024 +0100 USe local data --- static/js/events-calendar.js | 125 +++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 69 deletions(-) diff --git a/static/js/events-calendar.js b/static/js/events-calendar.js index fa5ad42..abd33ed 100644 --- a/static/js/events-calendar.js +++ b/static/js/events-calendar.js @@ -1,13 +1,4 @@ -// This uses the Google Calendar v3 API to fetch details of the -// events held in the shared Apache events calendar -// That calendar is available to any Apache member who asks, the ID -// of it is : nerseigospses068jd57bk5...@group.calendar.google.com -var CALENDAR_ID = "nerseigospses068jd57bk5...@group.calendar.google.com"; -// Google Calendar API key, valid for *.apache.org and localhost -var API_KEY = "AIzaSyDJkXq1faq2G5NkFkFTh9Sikdpc2YXTVXs"; - -// We only need read-only access for our needs -var SCOPES = ['https://www.googleapis.com/auth/calendar.readonly']; +// Update the calendar page from the json file // Where to put things var events = $('#events'); @@ -15,70 +6,66 @@ if (!events) { events = $('body').append("<ul id='events'/>"); } -// Options -var now = (new Date()).toISOString(); -var opts = "?key=" + API_KEY - + "&timeMin=" + now - + "&singleEvents=true" - + "&orderBy=startTime" - + "&timezone=America/New_York" - + "&maxResults=20"; +function apply(response) { + events.empty(); + + var el = response['items']; + let reg = /T.*$/; + let official = /(ApacheCon|Roadshow|Community (O|o)ver Code)/; + if (el.length > 0) { + for (i = 0; i < el.length; i++) { + var ev = el[i]; + var when = ev.start.dateTime; + if (!when) { + when = ev.start.date; + } + when = when.replace(reg,""); + if (ev.end) { + var end = ev.end.dateTime; + if (!end) { + end = ev.end.date; + } + end = end.replace(reg,""); + if (end != when) { + when = when + " to " + end; + } + } + var link = null; + if (ev.description) { + var line1 = ev.description.split("\n")[0]; + if (line1.slice(0,7) === "http://" || + line1.slice(0,8) === "https://" + ) { + link = line1.trim(); + } + } + + var html = "<li>"; + if (link) { html += "<a href='" + link + "'>"; } + if (ev.summary.match(official)) { + html += "<b>" + ev.summary + "</b>"; + } else { + html += ev.summary; + } + if (link) { html += "</a>"; } + html += " - <i>" + when + "</i>"; + if (ev.location) { + html += "<br/>"+ev.location; + } + events.append(html); + } + } else { + events.append("<li><i>No events found, sorry</i></li>"); + } +} + // Fetch $.ajax({ type: 'GET', - url: encodeURI('https://www.googleapis.com/calendar/v3/calendars/' + CALENDAR_ID + '/events' + opts), + url: encodeURI('/js/calendar.json'), dataType: 'json', success: function (response) { - events.empty(); - - var el = response['items']; - let reg = /T.*$/; - let official = /(ApacheCon|Roadshow|Community (O|o)ver Code)/; - if (el.length > 0) { - for (i = 0; i < el.length; i++) { - var ev = el[i]; - var when = ev.start.dateTime; - if (!when) { - when = ev.start.date; - } - when = when.replace(reg,""); - if (ev.end) { - var end = ev.end.dateTime; - if (!end) { - end = ev.end.date; - } - end = end.replace(reg,""); - if (end != when) { - when = when + " to " + end; - } - } - var link = null; - if (ev.description) { - var line1 = ev.description.split("\n")[0]; - if (line1.slice(0,7) === "http://" || - line1.slice(0,8) === "https://" - ) { - link = line1.trim(); - } - } - - var html = "<li>"; - if (link) { html += "<a href='" + link + "'>"; } - if (ev.summary.match(official)) { - html += "<b>" + ev.summary + "</b>"; - } else { - html += ev.summary; - } - if (link) { html += "</a>"; } - html += " - <i>" + when + "</i>"; - if (ev.location) { - html += "<br/>"+ev.location; - } - events.append(html); - } - } else { - events.append("<li><i>No events found, sorry</i></li>"); - } + apply(response); }, error: function (response) { events.empty();