diff --git a/CHANGELOG.md b/CHANGELOG.md index ffb4e9c6..a2285c74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Added console warning on startup when deprecated config options are used - Add option to display temperature unit label to the current weather module - Added ability to disable wrapping of news items +- Added in the ability to hide events in the calendar module based on simple string filters. - Updated Norwegian translation. - Added hideLoading option for News Feed module - Added configurable dateFormat to clock module. diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index 655ab89c..68a66ab5 100644 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -44,6 +44,7 @@ The following properties can be configured: | `urgency` | When using a timeFormat of `absolute`, the `urgency` setting allows you to display events within a specific time frame as `relative`. This allows events within a certain time frame to be displayed as relative (in xx days) while others are displayed as absolute dates

**Possible values:** a positive integer representing the number of days for which you want a relative date, for example `7` (for 7 days)

**Default value:** `7` | `broadcastEvents` | If this property is set to true, the calendar will broadcast all the events to all other modules with the notification message: `CALENDAR_EVENTS`. The event objects are stored in an array and contain the following fields: `title`, `startDate`, `endDate`, `fullDayEvent`, `location` and `geo`.

**Possible values:** `true`, `false`

**Default value:** `true` | `hidePrivate` | Hides private calendar events.

**Possible values:** `true` or `false`
**Default value:** `false` +| `excludedEvents` | An array of words / phrases from event titles that will be excluded from being shown.

**Example:** `['Birthday', 'Hide This Event']`
**Default value:** `[]` ### Calendar configuration diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 79e9edca..d8aa6aa4 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -38,7 +38,8 @@ Module.register("calendar", { "De verjaardag van ": "", "'s birthday": "" }, - broadcastEvents: true + broadcastEvents: true, + excludedEvents: [] }, // Define required scripts. @@ -128,6 +129,19 @@ Module.register("calendar", { for (var e in events) { var event = events[e]; + var excluded = false; + for (var f in this.config.excludedEvents) { + var filter = this.config.excludedEvents[f]; + if (event.title.toLowerCase().includes(filter.toLowerCase())) { + excluded = true; + break; + } + } + + if (excluded) { + continue; + } + var eventWrapper = document.createElement("tr"); if (this.config.colored) {