diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md
index b2bb5c7f..2b5dd242 100755
--- a/modules/default/calendar/README.md
+++ b/modules/default/calendar/README.md
@@ -30,6 +30,7 @@ The following properties can be configured:
| `maximumNumberOfDays` | The maximum number of days in the future.
**Default value:** `365`
| `displaySymbol` | Display a symbol in front of an entry.
**Possible values:** `true` or `false`
**Default value:** `true`
| `defaultSymbol` | The default symbol.
**Possible values:** See [Font Awsome](http://fontawesome.io/icons/) website.
**Default value:** `calendar`
+| `showLocation` | Whether to show event locations.
**Possible values:** `true` or `false`
**Default value:** `false`
| `maxTitleLength` | The maximum title length.
**Possible values:** `10` - `50`
**Default value:** `25`
| `wrapEvents` | Wrap event titles to multiple lines. Breaks lines at the length defined by `maxTitleLength`.
**Possible values:** `true` or `false`
**Default value:** `false`
| `maxTitleLines` | The maximum number of lines a title will wrap vertically before being cut (Only enabled if `wrapEvents` is also enabled).
**Possible values:** `0` - `10`
**Default value:** `3`
diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js
index d584a9ed..13df45e8 100755
--- a/modules/default/calendar/calendar.js
+++ b/modules/default/calendar/calendar.js
@@ -15,6 +15,7 @@ Module.register("calendar", {
maximumNumberOfDays: 365,
displaySymbol: true,
defaultSymbol: "calendar", // Fontawesome Symbol see http://fontawesome.io/cheatsheet/
+ showLocation: false,
displayRepeatingCountTitle: false,
defaultRepeatingCountTitle: "",
maxTitleLength: 25,
@@ -379,6 +380,31 @@ Module.register("calendar", {
currentFadeStep = e - startFade;
eventWrapper.style.opacity = 1 - (1 / fadeSteps * currentFadeStep);
}
+
+ if (this.config.showLocation) {
+ if (event.location !== false) {
+ var locationRow = document.createElement("tr");
+ locationRow.className = "normal xsmall light";
+
+ if (this.config.displaySymbol) {
+ var symbolCell = document.createElement("td");
+ locationRow.appendChild(symbolCell);
+ }
+
+ var descCell = document.createElement("td");
+ descCell.className = "location";
+ descCell.colSpan = "2";
+ descCell.innerHTML = event.location;
+ locationRow.appendChild(descCell);
+
+ wrapper.appendChild(locationRow);
+
+ if (e >= startFade) {
+ currentFadeStep = e - startFade;
+ locationRow.style.opacity = 1 - (1 / fadeSteps * currentFadeStep);
+ }
+ }
+ }
}
return wrapper;