From 9f939d75b24d4b77662bdb6eff405defad005848 Mon Sep 17 00:00:00 2001 From: Jan Litzenburger Date: Thu, 16 Sep 2021 23:01:00 +0200 Subject: [PATCH] =?UTF-8?q?Option=20f=C3=BCr=20maximale=20Breite=20und=20z?= =?UTF-8?q?um=20Verstecken=20des=20Icons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MMM-NINA.js | 2 +- README.md | 18 +++++++++++------- package-lock.json | 4 ++-- package.json | 2 +- src/client/Client.ts | 8 +++++--- src/types/Config.ts | 6 ++++-- templates/MMM-NINA.njk | 4 ++-- 7 files changed, 26 insertions(+), 18 deletions(-) diff --git a/MMM-NINA.js b/MMM-NINA.js index f076011..044ce94 100644 --- a/MMM-NINA.js +++ b/MMM-NINA.js @@ -11,4 +11,4 @@ This file is auto-generated. Do not edit. ***************************************************************************** */ -!function(){"use strict";Module.register("MMM-NINA",{defaults:{updateIntervalInSeconds:120,maxAgeInHours:6,ags:"110000000000",showNoWarning:!1},getStyles:()=>["font-awesome.css","MMM-NINA.css"],getScripts:function(){return["moment.js"]},getTranslations:()=>({en:"translations/en.json",de:"translations/de.json"}),getTemplate:()=>"templates/MMM-NINA.njk",getTemplateData(){return{config:this.config,alerts:this.alerts}},start(){this.loadData(),this.scheduleUpdate(),this.updateDom()},scheduleUpdate(){const t=this;setInterval((()=>{t.loadData()}),1e3*this.config.updateIntervalInSeconds)},loadData(){this.sendSocketNotification("GET_NINA_ALERTS",this.config)},socketNotificationReceived(t,e){"NINA_ALERTS_RESPONSE"===t&&(this.alerts=e.map((t=>(t.date=moment(new Date(t.sent)).format("DD.MM.YYYY - HH:mm"),t))),this.updateDom(),console.debug("Alerts",this.alerts))}})}(); +!function(){"use strict";Module.register("MMM-NINA",{defaults:{ags:"110000000000",maxAgeInHours:6,maxWidth:null,showIcon:!0,showNoWarning:!1,updateIntervalInSeconds:120},getStyles:()=>["font-awesome.css","MMM-NINA.css"],getScripts:function(){return["moment.js"]},getTranslations:()=>({en:"translations/en.json",de:"translations/de.json"}),getTemplate:()=>"templates/MMM-NINA.njk",getTemplateData(){return{config:this.config,alerts:this.alerts}},start(){this.loadData(),this.scheduleUpdate(),this.updateDom()},scheduleUpdate(){const t=this;setInterval((()=>{t.loadData()}),1e3*this.config.updateIntervalInSeconds)},loadData(){this.sendSocketNotification("GET_NINA_ALERTS",this.config)},socketNotificationReceived(t,e){"NINA_ALERTS_RESPONSE"===t&&(this.alerts=e.map((t=>(t.date=moment(new Date(t.sent)).format("DD.MM.YYYY - HH:mm"),t))),this.updateDom(),console.debug("Alerts",this.alerts))}})}(); diff --git a/README.md b/README.md index 8909281..b567c38 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,9 @@ Wenn du meine Arbeit schätzt, dann freue ich mich über einen bescheidenen Beit ```bash npm install --only=production ``` -3. Binde das Modul abschließend in die Magic Mirror Konfiguration `MagicMirror/config/config.js` ein (Beispiel Konfiguration). +3. Ermittle den amtlichen Gemeindeschlüssel deines Ortes aus [dieser Liste](https://www.xrepository.de/api/xrepository/urn:de:bund:destatis:bevoelkerungsstatistik:schluessel:rs_2021-07-31/download/Regionalschl_ssel_2021-07-31.json). + +4. Binde das Modul abschließend in die Magic Mirror Konfiguration `MagicMirror/config/config.js` ein (Beispiel Konfiguration). ```javascript { module: "MMM-NINA", @@ -47,12 +49,14 @@ Wenn du meine Arbeit schätzt, dann freue ich mich über einen bescheidenen Beit ### Optionen -| Feld | Beschreibung | Default | -| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | -| updateIntervalInSeconds | (Integer) Abstand in Sekunden, in dem Warnmeldungen vom NINA Server abgerufen werden | `120` (2 Minuten) | -| maxAgeInHours | (Integer) Maximales Alter der Warnmeldungen in Stunden, bevor sie ausgefiltert werden | `6` | -| showNoWarning | (Boolean) Lässt eine Meldung "Keine Warnungen" erscheinen, falls keine Ereignisse vorliegen. | false | -| ags | (String) Amtlicher Gemeindeschlüssel (AGS) deines Ortes, welcher [hier](https://www.xrepository.de/api/xrepository/urn:de:bund:destatis:bevoelkerungsstatistik:schluessel:rs_2021-07-31/download/Regionalschl_ssel_2021-07-31.json) ermittelt werden kann.
**Wichtig**: Unbedingt als String und mit führenden Nullen angeben! | `"110000000000"` (Berlin) | +| Feld | Beschreibung | Default | +| ----------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------- | +| ags | (String) Amtlicher Gemeindeschlüssel (AGS)
**Wichtig**: Unbedingt als String und mit führenden Nullen angeben! | `"110000000000"` (Berlin) | +| maxAgeInHours | (Integer) Maximales Alter der Warnmeldungen in Stunden, bevor sie ausgefiltert werden | `6` | +| maxWidth | (String) CSS Style für maximale Breite des Moduls, z.B. `220px`. Weg lassen, zum Deaktivieren. | `undefined` (deaktiviert) | +| showIcon | (Boolean) Soll ein Warn-Symbol vor den Warnungen angezeigt werden? | true | +| showNoWarning | (Boolean) Lässt eine Meldung "Keine Warnungen" erscheinen, falls keine Ereignisse vorliegen. | false | +| updateIntervalInSeconds | (Integer) Abstand in Sekunden, in dem Warnmeldungen vom NINA Server abgerufen werden | `120` (2 Minuten) | ## Contribution and Development diff --git a/package-lock.json b/package-lock.json index bb1cb13..c85151f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mmm-nina", - "version": "1.0.0", + "version": "1.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mmm-nina", - "version": "1.0.0", + "version": "1.1.0", "license": "MIT", "dependencies": { "node-fetch": "^2.6.1" diff --git a/package.json b/package.json index 15e2e6f..0e052d9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mmm-nina", - "version": "1.0.0", + "version": "1.1.0", "description": "Simple Client Implementierung für die NINA Warn App für die MagicMirror² Plattform.", "main": "MMM-NINA.js", "repository": { diff --git a/src/client/Client.ts b/src/client/Client.ts index 5ac4c98..1a63d93 100644 --- a/src/client/Client.ts +++ b/src/client/Client.ts @@ -5,10 +5,12 @@ declare const moment: any Module.register('MMM-NINA', { defaults: { - updateIntervalInSeconds: 120, - maxAgeInHours: 6, ags: '110000000000', - showNoWarning: false + maxAgeInHours: 6, + maxWidth: null, + showIcon: true, + showNoWarning: false, + updateIntervalInSeconds: 120 }, getStyles() { diff --git a/src/types/Config.ts b/src/types/Config.ts index cbd9bbf..4ac92d4 100644 --- a/src/types/Config.ts +++ b/src/types/Config.ts @@ -1,6 +1,8 @@ export type Config = { - updateIntervalInSeconds: number - maxAgeInHours: number ags: string + maxAgeInHours: number + maxWidth?: string showNoWarning: boolean + showIcon: boolean + updateIntervalInSeconds: number } diff --git a/templates/MMM-NINA.njk b/templates/MMM-NINA.njk index 2d15a76..b151b76 100755 --- a/templates/MMM-NINA.njk +++ b/templates/MMM-NINA.njk @@ -1,8 +1,8 @@ {% if alerts.length > 0 %} -
+
{% for alert in alerts %}
- + {% if config.showIcon %}{% endif %}

{{ alert.i18nTitle.de }}

{{ "issueTime" | translate | safe }} {{alert.date}}