From 14cc642e54885cdfe2ab2ce6b65df972d33537bd Mon Sep 17 00:00:00 2001 From: Kyle Carson Date: Mon, 30 Jan 2017 16:26:42 -0600 Subject: [PATCH] Support calendar-specific maximumEntries and maximumNumberOfDays --- CHANGELOG.md | 1 + modules/default/calendar/README.md | 3 ++- modules/default/calendar/calendar.js | 14 ++++++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92f80d7e..6fdbafa7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Added some missing translaton strings in the sv.json file. ### Added +- Calendar-specific support for `maximumEntries`, and ` maximumNumberOfDays` - Add loaded function to modules, providing an async callback. - Made default newsfeed module aware of gesture events from [MMM-Gestures](https://github.com/thobach/MMM-Gestures) - Add use pm2 for manager process into Installer RaspberryPi script diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index d671c741..afbf3085 100644 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -74,4 +74,5 @@ config: { -| `repeatingCountTitle` | The count title for yearly repating events in this calendar.

**Example:** `'Birthday'` -| `user` | The username for HTTP Basic authentication. -| `pass` | The password for HTTP Basic authentication. - + -| `maximumEntries` | The maximum number of events shown. Overrides global setting. **Possible values:** `0` - `100` + -| `maximumNumberOfDays` | The maximum number of days in the future. Overrides global setting diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 5ea57e07..72808c1f 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -69,7 +69,13 @@ Module.register("calendar", { for (var c in this.config.calendars) { var calendar = this.config.calendars[c]; calendar.url = calendar.url.replace("webcal://", "http://"); - this.addCalendar(calendar.url, calendar.user, calendar.pass); + + var calendarConfig = { + maximumEntries: calendar.maximumEntries, + maximumNumberOfDays: calendar.maximumNumberOfDays, + }; + + this.addCalendar(calendar.url, calendar.user, calendar.pass, calendarConfig); } this.calendarData = {}; @@ -307,11 +313,11 @@ Module.register("calendar", { * * argument url sting - Url to add. */ - addCalendar: function (url, user, pass) { + addCalendar: function (url, user, pass, calendarConfig) { this.sendSocketNotification("ADD_CALENDAR", { url: url, - maximumEntries: this.config.maximumEntries, - maximumNumberOfDays: this.config.maximumNumberOfDays, + maximumEntries: calendarConfig.maximumEntries || this.config.maximumEntries, + maximumNumberOfDays: calendarConfig.maximumNumberOfDays || this.config.maximumNumberOfDays, fetchInterval: this.config.fetchInterval, user: user, pass: pass