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();

Reply via email to