From 4a7cb88a3e8f55131ad1c78c7d58781dc8f813f8 Mon Sep 17 00:00:00 2001 From: Sam Detweiler Date: Mon, 12 Oct 2020 09:01:50 -0500 Subject: [PATCH] typo, remove dead code, comments, fix recurring refresh, let fetcher handle it --- modules/default/calendar/calendar.js | 25 +++++++++------------ modules/default/calendar/calendarfetcher.js | 7 ++---- modules/default/calendar/node_helper.js | 1 - 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 5a8c2628..b2737586 100755 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -29,7 +29,7 @@ Module.register("calendar", { timeFormat: "relative", dateFormat: "MMM Do", dateEndFormat: "LT", - fullDayEventDateFormat: "MMM Do HH:mm", + fullDayEventDateFormat: "MMM Do", showEnd: false, getRelative: 6, fadePoint: 0.25, // Start on 1/4th of the list. @@ -41,7 +41,7 @@ Module.register("calendar", { calendars: [ { symbol: "calendar", - url: "https://www.calendarlabs.com/templates/ical/US-Holidays.ics1" + url: "https://www.calendarlabs.com/templates/ical/US-Holidays.ics" } ], titleReplace: { @@ -85,6 +85,12 @@ Module.register("calendar", { // Set locale. moment.updateLocale(config.language, this.getLocaleSpecification(config.timeFormat)); + // clear data holder before start + this.calendarData = {}; + + // indicate no data available yet + this.loaded = false; + for (var c in this.config.calendars) { var calendar = this.config.calendars[c]; calendar.url = calendar.url.replace("webcal://", "http://"); @@ -114,18 +120,10 @@ Module.register("calendar", { }; } + // tell helper to start a fetcher for this calendar + // fetcher till cycle this.addCalendar(calendar.url, calendar.auth, calendarConfig); - - /* // Trigger ADD_CALENDAR every fetchInterval to make sure there is always a calendar - // fetcher running on the server side. - var self = this; - setInterval(function () { - self.addCalendar(calendar.url, calendar.auth, calendarConfig); - }, self.config.fetchInterval); */ } - - this.calendarData = {}; - this.loaded = false; }, // Override socket notification handler. @@ -558,9 +556,6 @@ Module.register("calendar", { auth: auth, broadcastPastEvents: calendarConfig.broadcastPastEvents || this.config.broadcastPastEvents }); - setTimeout(() => { - self.addCalendar(url, auth, calendarConfig); - }, self.config.fetchInterval); }, /** diff --git a/modules/default/calendar/calendarfetcher.js b/modules/default/calendar/calendarfetcher.js index 964cb955..8ea982f8 100644 --- a/modules/default/calendar/calendarfetcher.js +++ b/modules/default/calendar/calendarfetcher.js @@ -340,11 +340,8 @@ const CalendarFetcher = function (url, reloadInterval, excludedEvents, maximumEn } }); - newEvents.sort(function (a, b) { - return a.startDate - b.startDate; - }); - - events = newEvents.slice(0, maximumEntries); + // send all our events to upper to merge, sort and reduce for display + events = newEvents; self.broadcastEvents(); scheduleTimer(); diff --git a/modules/default/calendar/node_helper.js b/modules/default/calendar/node_helper.js index 1c88b9af..06fa28ec 100644 --- a/modules/default/calendar/node_helper.js +++ b/modules/default/calendar/node_helper.js @@ -70,7 +70,6 @@ module.exports = NodeHelper.create({ } else { Log.log("Use existing calendar fetcher for url: " + url); fetcher = self.fetchers[identifier + url]; - //fetcher.broadcastEvents(); } fetcher.startFetch();