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 <[email protected]>
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 : [email protected]
-var CALENDAR_ID = "[email protected]";
-// 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();