diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md
index bc2e9771..81981243 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 644fc1f6..7c075d1c 100644
--- a/modules/default/calendar/calendar.js
+++ b/modules/default/calendar/calendar.js
@@ -38,7 +38,10 @@ Module.register("calendar", {
"De verjaardag van ": "",
"'s birthday": ""
},
- broadcastEvents: true
+ broadcastEvents: true,
+ excludedEvents: [
+ ""
+ ]
},
// Define required scripts.
@@ -120,6 +123,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) {