Skip to content

Commit 290d62f

Browse files
author
Jan Litzenburger
committed
New feature: orderBySevertity
1 parent 2ac1be5 commit 290d62f

8 files changed

Lines changed: 25 additions & 7 deletions

File tree

MMM-NINA.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ Wenn du meine Arbeit schätzt, dann freue ich mich über einen bescheidenen Beit
5050
maxWidth: "200px",
5151
mergeAlertsById: true,
5252
mergeAlertsByTitle: true,
53+
orderBySeverity: true,
5354
showIcon: true,
5455
showDate: true,
5556
showCity: true,
@@ -75,12 +76,13 @@ Wenn du meine Arbeit schätzt, dann freue ich mich über einen bescheidenen Beit
7576
| mergeAlerts | _Veraltet_. Bitte stattdessen **mergeAlertsById** verwenden. | `-` |
7677
| mergeAlertsById | (Boolean) Sofern Alerts für mehrere Gemeinden abgefragt werden, wird versucht gleiche Meldungen zusammenzufassen | `true` |
7778
| mergeAlertsByTitle | (Boolean) Sofern Alerts mit gleichem Titel vorliegen, wird versucht die Meldungen zusammenzufassen | `true` |
79+
| orderBySeverity | (Boolean) Sollen Warnmeldungen absteigend nach ihrem Schweregrad angezeigt werden? | `true` |
7880
| showCity | (Boolean) Soll der Name der Gemeinde angezeigt werden? | `true` |
7981
| showDate | (Boolean) Soll das Datum der Meldung angezeigt werden? | `true` |
8082
| showIcon | (Boolean) Soll ein Warn-Symbol vor den Warnungen angezeigt werden? | `true` |
8183
| showNoWarning | (Boolean) Lässt eine Meldung "Keine Warnungen" erscheinen, falls keine Ereignisse vorliegen. | `false` |
8284
| updateIntervalInSeconds | (Integer) Abstand in Sekunden, in dem Warnmeldungen vom NINA Server abgerufen werden | `120` (2 Minuten) |
83-
| theme | (String) Welches Theme soll angewendet werden?<br> Verfügbare Themes: `top`, `top-floating` und `side` | `side` |
85+
| theme | (String) Welches Theme soll angewendet werden?<br> Verfügbare Themes: `top`, `top-floating` und `side` | `side` |
8486

8587
## Contribution and Development
8688

node_helper.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mmm-nina",
3-
"version": "1.7.0",
3+
"version": "1.8.0",
44
"description": "Simple Client Implementierung für die NINA Warn App für die MagicMirror² Plattform.",
55
"main": "MMM-NINA.js",
66
"repository": {

src/backend/Backend.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ module.exports = NodeHelper.create({
3131
}
3232
}
3333

34-
this.sendSocketNotification('NINA_ALERTS_RESPONSE', Utils.removeDuplicates(alerts, config))
34+
this.sendSocketNotification(
35+
'NINA_ALERTS_RESPONSE',
36+
Utils.removeDuplicates(Utils.orderBySeverity(alerts, config), config)
37+
)
3538
} else {
3639
Log.warn(`${notification} is invalid notification`)
3740
}

src/backend/Utils.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,17 @@ export default class Utils {
4141
})
4242
}
4343

44+
static orderBySeverity(alerts: Alert[], config: Config): Alert[] {
45+
if (config.orderBySeverity) {
46+
const severityOrder = ['Severe', 'Moderate', 'Minor', 'Cancel']
47+
return alerts.sort(
48+
(a, b) => severityOrder.indexOf(a.payload.data.severity) - severityOrder.indexOf(b.payload.data.severity)
49+
)
50+
}
51+
52+
return alerts
53+
}
54+
4455
static removeDuplicates(alerts: Alert[], config: Config): Alert[] {
4556
const knownIds: string[] = []
4657
const knownTitles: string[] = []

src/frontend/Frontend.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Module.register<Config>('MMM-NINA', {
1717
maxWidth: null,
1818
mergeAlertsById: true,
1919
mergeAlertsByTitle: true,
20+
orderBySeverity: true,
2021
showCity: true,
2122
showDate: true,
2223
showNoWarning: false,

src/types/Config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export type Config = {
99
mergeAlerts?: boolean
1010
mergeAlertsById: boolean
1111
mergeAlertsByTitle: boolean
12+
orderBySeverity: boolean
1213
showCity: boolean
1314
showDate: boolean
1415
showIcon: boolean

0 commit comments

Comments
 (0)