[calendar] add config option "showEndsOnlyWithDuration" (#3477)

redo and rebase changes made in PR
https://github.com/MagicMirrorOrg/MagicMirror/pull/2968 by
https://github.com/kleinmantara
This commit is contained in:
Karsten Hassel 2024-06-24 21:52:19 +02:00 committed by GitHub
parent e95c144c3e
commit 8d20832bc5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 3 deletions

View File

@ -9,8 +9,12 @@ This project adheres to [Semantic Versioning](https://semver.org/).
_This release is scheduled to be released on 2024-07-01._
Thanks to: @kleinmantara (to be continued before release)
### Added
- [calendar] Added config option "showEndsOnlyWithDuration" for default calendar
### Removed
- [test suite] delete node v18 support

View File

@ -29,6 +29,7 @@ Module.register("calendar", {
dateEndFormat: "LT",
fullDayEventDateFormat: "MMM Do",
showEnd: false,
showEndsOnlyWithDuration: false,
getRelative: 6,
hidePrivate: false,
hideOngoing: false,
@ -388,7 +389,11 @@ Module.register("calendar", {
// Add endDate to dataheaders if showEnd is enabled
if (this.config.showEnd) {
timeWrapper.innerHTML += ` - ${CalendarUtils.capFirst(moment(event.endDate, "x").format("LT"))}`;
if (this.config.showEndsOnlyWithDuration && event.startDate === event.endDate) {
// no duration here, don't display end
} else {
timeWrapper.innerHTML += ` - ${CalendarUtils.capFirst(moment(event.endDate, "x").format("LT"))}`;
}
}
eventWrapper.appendChild(timeWrapper);
@ -407,8 +412,12 @@ Module.register("calendar", {
timeWrapper.innerHTML = CalendarUtils.capFirst(moment(event.startDate, "x").format(this.config.dateFormat));
// Add end time if showEnd
if (this.config.showEnd) {
timeWrapper.innerHTML += "-";
timeWrapper.innerHTML += CalendarUtils.capFirst(moment(event.endDate, "x").format(this.config.dateEndFormat));
if (this.config.showEndsOnlyWithDuration && event.startDate === event.endDate) {
// no duration here, don't display end
} else {
timeWrapper.innerHTML += "-";
timeWrapper.innerHTML += CalendarUtils.capFirst(moment(event.endDate, "x").format(this.config.dateEndFormat));
}
}
// For full day events we use the fullDayEventDateFormat
if (event.fullDayEvent) {