From 2107e7c427226ba78fdaed30daa12432706f5c8b Mon Sep 17 00:00:00 2001 From: rejas Date: Mon, 20 Dec 2021 13:29:56 +0100 Subject: [PATCH 1/3] Show empty message when no newsfeed items are available --- modules/default/newsfeed/newsfeed.js | 4 ++-- modules/default/newsfeed/newsfeed.njk | 4 ++++ translations/de.json | 2 ++ translations/en.json | 2 ++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/default/newsfeed/newsfeed.js b/modules/default/newsfeed/newsfeed.js index b5113675..2fe340a2 100644 --- a/modules/default/newsfeed/newsfeed.js +++ b/modules/default/newsfeed/newsfeed.js @@ -121,7 +121,7 @@ Module.register("newsfeed", { } if (this.newsItems.length === 0) { return { - loaded: false + empty: true }; } if (this.activeItem >= this.newsItems.length) { @@ -184,6 +184,7 @@ Module.register("newsfeed", { const dateB = new Date(b.pubdate); return dateB - dateA; }); + if (this.config.maxNewsItems > 0) { newsItems = newsItems.slice(0, this.config.maxNewsItems); } @@ -219,7 +220,6 @@ Module.register("newsfeed", { } //Remove selected tags from the end of rss feed items (title or description) - if (this.config.removeEndTags) { for (let endTag of this.config.endTags) { if (item.title.slice(-endTag.length) === endTag) { diff --git a/modules/default/newsfeed/newsfeed.njk b/modules/default/newsfeed/newsfeed.njk index 2b037dcc..b957ffb9 100644 --- a/modules/default/newsfeed/newsfeed.njk +++ b/modules/default/newsfeed/newsfeed.njk @@ -54,6 +54,10 @@ {% endif %} {% endif %} +{% elseif empty %} +
+ {{ "NEWSFEED_NO_ITEMS" | translate | safe }} +
{% elseif error %}
{{ "MODULE_CONFIG_ERROR" | translate({MODULE_NAME: "Newsfeed", ERROR: error}) | safe }} diff --git a/translations/de.json b/translations/de.json index cacbe2bd..a1b92cab 100644 --- a/translations/de.json +++ b/translations/de.json @@ -31,6 +31,8 @@ "MODULE_CONFIG_CHANGED": "Die Konfigurationsoptionen für das {MODULE_NAME} Modul haben sich geändert. \nBitte überprüfen Sie die Dokumentation.", "MODULE_CONFIG_ERROR": "Fehler im {MODULE_NAME} Modul. {ERROR}", + "NEWSFEED_NO_ITEMS": "Keine Neuigkeiten momentan.", + "UPDATE_NOTIFICATION": "Aktualisierung für MagicMirror² verfügbar.", "UPDATE_NOTIFICATION_MODULE": "Aktualisierung für das {MODULE_NAME} Modul verfügbar.", "UPDATE_INFO_SINGLE": "Die aktuelle Installation ist {COMMIT_COUNT} Commit hinter dem {BRANCH_NAME} Branch.", diff --git a/translations/en.json b/translations/en.json index 5959fc82..43ba9c74 100644 --- a/translations/en.json +++ b/translations/en.json @@ -35,6 +35,8 @@ "MODULE_ERROR_UNAUTHORIZED": "Authorization failed.", "MODULE_ERROR_UNSPECIFIED": "Check logs for more details.", + "NEWSFEED_NO_ITEMS": "No news at the moment.", + "UPDATE_NOTIFICATION": "MagicMirror² update available.", "UPDATE_NOTIFICATION_MODULE": "Update available for {MODULE_NAME} module.", "UPDATE_INFO_SINGLE": "The current installation is {COMMIT_COUNT} commit behind on the {BRANCH_NAME} branch.", From f54c06fb94da305346192e9d112559deed34e5a8 Mon Sep 17 00:00:00 2001 From: rejas Date: Mon, 20 Dec 2021 13:35:50 +0100 Subject: [PATCH 2/3] Add test for old items --- .../configs/modules/newsfeed/ignore_items.js | 28 +++++++++++++++++++ tests/e2e/modules/newsfeed_spec.js | 13 +++++++++ 2 files changed, 41 insertions(+) create mode 100644 tests/configs/modules/newsfeed/ignore_items.js diff --git a/tests/configs/modules/newsfeed/ignore_items.js b/tests/configs/modules/newsfeed/ignore_items.js new file mode 100644 index 00000000..8b12a10a --- /dev/null +++ b/tests/configs/modules/newsfeed/ignore_items.js @@ -0,0 +1,28 @@ +/* Magic Mirror Test config newsfeed module + * + * MIT Licensed. + */ +let config = { + timeFormat: 12, + + modules: [ + { + module: "newsfeed", + position: "bottom_bar", + config: { + feeds: [ + { + title: "Rodrigo Ramirez Blog", + url: "http://localhost:8080/tests/configs/data/feed_test_rodrigoramirez.xml" + } + ], + ignoreOldItems: true + } + } + ] +}; + +/*************** DO NOT EDIT THE LINE BELOW ***************/ +if (typeof module !== "undefined") { + module.exports = config; +} diff --git a/tests/e2e/modules/newsfeed_spec.js b/tests/e2e/modules/newsfeed_spec.js index d7a3b9fe..1a7f5662 100644 --- a/tests/e2e/modules/newsfeed_spec.js +++ b/tests/e2e/modules/newsfeed_spec.js @@ -60,4 +60,17 @@ describe("Newsfeed module", function () { expect(elem.textContent).toContain("Error in the Newsfeed module. Malformed url."); }); }); + + describe("Ignore items", function () { + beforeAll(function (done) { + helpers.startApplication("tests/configs/modules/newsfeed/ignore_items.js"); + helpers.getDocument(done, 3000); + }); + + it("should show empty items info message", function () { + const elem = document.querySelector(".newsfeed .small"); + expect(elem).not.toBe(null); + expect(elem.textContent).toContain("No news at the moment."); + }); + }); }); From 9b57e6049eda723cf63e4134e5e9911c01e7917f Mon Sep 17 00:00:00 2001 From: rejas Date: Mon, 20 Dec 2021 13:37:07 +0100 Subject: [PATCH 3/3] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 560af2c7..e1e89ba1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ _This release is scheduled to be released on 2022-01-01._ - Updated github actions. - Replace spectron with playwright, update dependencies including electron update to v16. - Added lithuanian language to translations.js +- Show info message if newsfeed is empty (fixes #2731) ### Fixed