From c1b8fc123350f6a14f845b69f31529d18d81d002 Mon Sep 17 00:00:00 2001 From: Jens Date: Sat, 3 Sep 2016 00:39:46 +0200 Subject: [PATCH 01/12] calendar dates are uniformly capitalized This is an attempt at standardizing the calendar layout. Currently the calendar times are only partly capitalized, some time phrases start with lower-case letters, some don't (The ones pulled from the TRANSLATIONS folder start with upper-case letters, the others don't). Behavior has been changed to create a more standardized layout. --- modules/default/calendar/calendar.js | 39 ++++++++++++++++------------ 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index d4871338..9b83e3c5 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -147,18 +147,14 @@ Module.register("calendar",{ var one_day = one_hour * 24; if (event.fullDayEvent) { if (event.today) { - timeWrapper.innerHTML = this.translate("TODAY"); + timeWrapper.innerHTML = this.capFirst(this.translate("TODAY")); } else if (event.startDate - now < one_day && event.startDate - now > 0) { - timeWrapper.innerHTML = this.translate("TOMORROW"); + timeWrapper.innerHTML = this.capFirst(this.translate("TOMORROW")); } else if (event.startDate - now < 2*one_day && event.startDate - now > 0) { - /*Provide ability to show "the day after tomorrow" instead of "in a day" - *if "DAYAFTERTOMORROW" is configured in a language's translation .json file, - *,which can be found in MagicMirror/translations/ - */ if (this.translate('DAYAFTERTOMORROW') !== 'DAYAFTERTOMORROW') { - timeWrapper.innerHTML = this.translate("DAYAFTERTOMORROW"); + timeWrapper.innerHTML = this.capFirst(this.translate("DAYAFTERTOMORROW")); } else { - timeWrapper.innerHTML = moment(event.startDate, "x").fromNow(); + timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow()); } } else { /* Check to see if the user displays absolute or relative dates with their events @@ -171,12 +167,12 @@ Module.register("calendar",{ if (this.config.timeFormat === "absolute") { if ((this.config.urgency > 1) && (event.startDate - now < (this.config.urgency * one_day))) { // This event falls within the config.urgency period that the user has set - timeWrapper.innerHTML = moment(event.startDate, "x").fromNow(); + timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow()); } else { - timeWrapper.innerHTML = moment(event.startDate, "x").format("MMM Do"); + timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").format("MMM Do")); } } else { - timeWrapper.innerHTML = moment(event.startDate, "x").fromNow(); + timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow()); } } } else { @@ -185,10 +181,10 @@ Module.register("calendar",{ // This event is within the next 48 hours (2 days) if (event.startDate - now < 6 * one_hour) { // If event is within 6 hour, display 'in xxx' time format or moment.fromNow() - timeWrapper.innerHTML = moment(event.startDate, "x").fromNow(); + timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow()); } else { // Otherwise just say 'Today/Tomorrow at such-n-such time' - timeWrapper.innerHTML = moment(event.startDate, "x").calendar(); + timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").calendar()); } } else { /* Check to see if the user displays absolute or relative dates with their events @@ -201,16 +197,16 @@ Module.register("calendar",{ if (this.config.timeFormat === "absolute") { if ((this.config.urgency > 1) && (event.startDate - now < (this.config.urgency * one_day))) { // This event falls within the config.urgency period that the user has set - timeWrapper.innerHTML = moment(event.startDate, "x").fromNow(); + timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow()); } else { - timeWrapper.innerHTML = moment(event.startDate, "x").format("MMM Do"); + timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").format("MMM Do")); } } else { - timeWrapper.innerHTML = moment(event.startDate, "x").fromNow(); + timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow()); } } } else { - timeWrapper.innerHTML = this.translate("RUNNING") + ' ' + moment(event.endDate,"x").fromNow(true); + timeWrapper.innerHTML = this.capFirst(this.translate("RUNNING")) + ' ' + this.capFirst(moment(event.endDate,"x").fromNow(true)); } } //timeWrapper.innerHTML += ' - '+ moment(event.startDate,'x').format('lll'); @@ -346,6 +342,15 @@ Module.register("calendar",{ return string; }, + /* capFirst(string) + * Capitalize the first letter of a string + * Eeturn capitalized string + */ + + capFirst: function(string) { + return string.charAt(0).toUpperCase() + string.slice(1); + }, + /* titleTransform(title) * Transforms the title of an event for usage. * Replaces parts of the text as defined in config.titleReplace. From 8f4effbb8df33e01e276936455a7158c192b2ad3 Mon Sep 17 00:00:00 2001 From: Jens Date: Sat, 3 Sep 2016 23:17:46 +0200 Subject: [PATCH 02/12] poinst of time when calendar event gets relative now customizable --- modules/default/calendar/calendar.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 9b83e3c5..31395c4f 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -23,6 +23,7 @@ Module.register("calendar",{ fade: true, urgency: 7, timeFormat: "relative", + getRelative: '6', fadePoint: 0.25, // Start on 1/4th of the list. calendars: [ { @@ -179,7 +180,7 @@ Module.register("calendar",{ if (event.startDate >= new Date()) { if (event.startDate - now < 2 * one_day) { // This event is within the next 48 hours (2 days) - if (event.startDate - now < 6 * one_hour) { + if (event.startDate - now < this.config.getRelative * one_hour) { // If event is within 6 hour, display 'in xxx' time format or moment.fromNow() timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow()); } else { From 4ca185cf45fedbf5eac85ec0d79c61ac9653c20a Mon Sep 17 00:00:00 2001 From: Jens Date: Sat, 3 Sep 2016 23:22:37 +0200 Subject: [PATCH 03/12] point of time when calendar event gets relative now customizable --- modules/default/calendar/calendar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 31395c4f..e4827b10 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -21,7 +21,7 @@ Module.register("calendar",{ fetchInterval: 5 * 60 * 1000, // Update every 5 minutes. animationSpeed: 2000, fade: true, - urgency: 7, + urgency: 7, timeFormat: "relative", getRelative: '6', fadePoint: 0.25, // Start on 1/4th of the list. From 493367da5ea73a4b54fb3f7efe49c15b64d325dc Mon Sep 17 00:00:00 2001 From: Jens Date: Sat, 3 Sep 2016 23:22:51 +0200 Subject: [PATCH 04/12] point of time when calendar event gets relative now customizable --- modules/default/calendar/calendar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index e4827b10..31395c4f 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -21,7 +21,7 @@ Module.register("calendar",{ fetchInterval: 5 * 60 * 1000, // Update every 5 minutes. animationSpeed: 2000, fade: true, - urgency: 7, + urgency: 7, timeFormat: "relative", getRelative: '6', fadePoint: 0.25, // Start on 1/4th of the list. From f47b8084787bc3a398a067c78e3b9eb0569292d2 Mon Sep 17 00:00:00 2001 From: Jens Date: Sat, 3 Sep 2016 23:28:07 +0200 Subject: [PATCH 05/12] Added calendar.js tweaks (capitalization / 'getRelative' tag) --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e2cda42..63acbfa3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,11 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added - Added ability to remove tags from the beginning or end of newsfeed items in 'newsfeed.js'. - Added ability to define "the day after tomorrow" for calendar events (Definition for German and Dutch already included). +- Added ability to change the point of time when calendar events get relative. + +### Changed +- Calendar times are now uniformly capitalized + ## [2.0.4] - 2016-08-07 From c4c8955bc28cf9276c6d48116b7b69b56c01d1d8 Mon Sep 17 00:00:00 2001 From: Jens Date: Sat, 3 Sep 2016 23:36:29 +0200 Subject: [PATCH 06/12] Added 'getRelative' tag --- modules/default/calendar/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index 3189d92c..2a9573d0 100644 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -126,6 +126,13 @@ The following properties can be configured:
Default value: relative + + getRelative + Determine how much time (in hours) should be left when calendar events start getting relative (If you want this to start half an hour before an event occurs)
+
Possible values: 0 (never) - 48 (48 hours before the event) +
Default value: 6 + + urgency When using a timeFormat of absolute, the urgency setting allows you to display events within a specific time frame as relative From 4e47f9eb6831022d8f5c38aaaf57d90a7badb532 Mon Sep 17 00:00:00 2001 From: Jens Date: Sat, 3 Sep 2016 23:37:09 +0200 Subject: [PATCH 07/12] Added 'getRelative' tag --- modules/default/calendar/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index 2a9573d0..5bd3aceb 100644 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -129,7 +129,7 @@ The following properties can be configured: getRelative Determine how much time (in hours) should be left when calendar events start getting relative (If you want this to start half an hour before an event occurs)
-
Possible values: 0 (never) - 48 (48 hours before the event) +
Possible values: 0 (never) - 48 (48 hours before the event)
Default value: 6 From e1fa5fb18044c458e390781d9ebbb5d379934e44 Mon Sep 17 00:00:00 2001 From: Jens Date: Sat, 3 Sep 2016 23:39:32 +0200 Subject: [PATCH 08/12] Added 'getRelative' tag --- modules/default/calendar/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index 5bd3aceb..1f22dae4 100644 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -128,7 +128,7 @@ The following properties can be configured: getRelative - Determine how much time (in hours) should be left when calendar events start getting relative (If you want this to start half an hour before an event occurs)
+ Determine how much time (in hours) should be left until calendar events start getting relative

Possible values: 0 (never) - 48 (48 hours before the event)
Default value: 6 From 2dfdedf7b0accd2132a48849fba58f9e4984be26 Mon Sep 17 00:00:00 2001 From: Jens Date: Sat, 3 Sep 2016 23:40:29 +0200 Subject: [PATCH 09/12] Update README.md --- modules/default/calendar/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index 1f22dae4..01dc6645 100644 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -129,7 +129,7 @@ The following properties can be configured: getRelative Determine how much time (in hours) should be left until calendar events start getting relative
-
Possible values: 0 (never) - 48 (48 hours before the event) +
Possible values: 0 (events stay absolute) - 48 (48 hours before the event starts)
Default value: 6 From 0ff4884d3a2519dc1fa3caea547c8f1ad763371b Mon Sep 17 00:00:00 2001 From: Jens Date: Sat, 3 Sep 2016 23:42:24 +0200 Subject: [PATCH 10/12] Added 'getRelative' tag --- modules/default/calendar/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index 01dc6645..611c6be4 100644 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -128,7 +128,7 @@ The following properties can be configured: getRelative - Determine how much time (in hours) should be left until calendar events start getting relative
+ How much time (in hours) should be left until calendar events start getting relative?

Possible values: 0 (events stay absolute) - 48 (48 hours before the event starts)
Default value: 6 From 4630740ac7d6baf1adf22128102066f833ebef3a Mon Sep 17 00:00:00 2001 From: Jens Date: Sun, 4 Sep 2016 00:05:02 +0200 Subject: [PATCH 11/12] Added 'getRelative' tag --- modules/default/calendar/calendar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 31395c4f..d480679f 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -23,7 +23,7 @@ Module.register("calendar",{ fade: true, urgency: 7, timeFormat: "relative", - getRelative: '6', + getRelative: 6, fadePoint: 0.25, // Start on 1/4th of the list. calendars: [ { From 63351553d840193e4280d06abe33ecba00c43035 Mon Sep 17 00:00:00 2001 From: Jens Date: Sun, 4 Sep 2016 14:24:49 +0200 Subject: [PATCH 12/12] calendar.js doesn't overcapitalize future events --- modules/default/calendar/calendar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index d480679f..6477ac4e 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -207,7 +207,7 @@ Module.register("calendar",{ } } } else { - timeWrapper.innerHTML = this.capFirst(this.translate("RUNNING")) + ' ' + this.capFirst(moment(event.endDate,"x").fromNow(true)); + timeWrapper.innerHTML = this.capFirst(this.translate("RUNNING")) + ' ' + moment(event.endDate,"x").fromNow(true); } } //timeWrapper.innerHTML += ' - '+ moment(event.startDate,'x').format('lll');