Skip to content

Commit

Permalink
Option für maximale Breite und zum Verstecken des Icons
Browse files Browse the repository at this point in the history
  • Loading branch information
Jan Litzenburger committed Sep 16, 2021
1 parent 634c1cd commit 9f939d7
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 18 deletions.
2 changes: 1 addition & 1 deletion MMM-NINA.js
Original file line number Diff line number Diff line change
Expand Up @@ -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))}})}();
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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.<br>**Wichtig**: Unbedingt als String und mit führenden Nullen angeben! | `"110000000000"` (Berlin) |
| Feld | Beschreibung | Default |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------- |
| ags | (String) Amtlicher Gemeindeschlüssel (AGS)<br>**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

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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": {
Expand Down
8 changes: 5 additions & 3 deletions src/client/Client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@ declare const moment: any

Module.register<Config>('MMM-NINA', {
defaults: {
updateIntervalInSeconds: 120,
maxAgeInHours: 6,
ags: '110000000000',
showNoWarning: false
maxAgeInHours: 6,
maxWidth: null,
showIcon: true,
showNoWarning: false,
updateIntervalInSeconds: 120
},

getStyles() {
Expand Down
6 changes: 4 additions & 2 deletions src/types/Config.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
export type Config = {
updateIntervalInSeconds: number
maxAgeInHours: number
ags: string
maxAgeInHours: number
maxWidth?: string
showNoWarning: boolean
showIcon: boolean
updateIntervalInSeconds: number
}
4 changes: 2 additions & 2 deletions templates/MMM-NINA.njk
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{% if alerts.length > 0 %}
<div class="normal medium nina-wrapper">
<div class="normal medium nina-wrapper" {% if config.maxWidth %}style="max-width: {{ config.maxWidth }};" {% endif %}>
{% for alert in alerts %}
<div class="nina-alert severity-{{ alert.payload.data.severity }}">
<i class="nina-icon fas fa-exclamation-triangle"></i>
{% if config.showIcon %}<i class="nina-icon fas fa-exclamation-triangle"></i>{% endif %}
<div>
<p class="nina-title"> {{ alert.i18nTitle.de }}</p>
<p class="nina-issue-date">{{ "issueTime" | translate | safe }} {{alert.date}}</p>
Expand Down

0 comments on commit 9f939d7

Please sign in to comment.