Skip to content

Commit

Permalink
New feature: orderBySevertity
Browse files Browse the repository at this point in the history
  • Loading branch information
Jan Litzenburger committed Jan 19, 2024
1 parent 2ac1be5 commit 290d62f
Show file tree
Hide file tree
Showing 8 changed files with 25 additions and 7 deletions.
4 changes: 2 additions & 2 deletions MMM-NINA.js

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

4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ Wenn du meine Arbeit schätzt, dann freue ich mich über einen bescheidenen Beit
maxWidth: "200px",
mergeAlertsById: true,
mergeAlertsByTitle: true,
orderBySeverity: true,
showIcon: true,
showDate: true,
showCity: true,
Expand All @@ -75,12 +76,13 @@ Wenn du meine Arbeit schätzt, dann freue ich mich über einen bescheidenen Beit
| mergeAlerts | _Veraltet_. Bitte stattdessen **mergeAlertsById** verwenden. | `-` |
| mergeAlertsById | (Boolean) Sofern Alerts für mehrere Gemeinden abgefragt werden, wird versucht gleiche Meldungen zusammenzufassen | `true` |
| mergeAlertsByTitle | (Boolean) Sofern Alerts mit gleichem Titel vorliegen, wird versucht die Meldungen zusammenzufassen | `true` |
| orderBySeverity | (Boolean) Sollen Warnmeldungen absteigend nach ihrem Schweregrad angezeigt werden? | `true` |
| showCity | (Boolean) Soll der Name der Gemeinde angezeigt werden? | `true` |
| showDate | (Boolean) Soll das Datum der Meldung angezeigt werden? | `true` |
| 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) |
| theme | (String) Welches Theme soll angewendet werden?<br> Verfügbare Themes: `top`, `top-floating` und `side` | `side` |
| theme | (String) Welches Theme soll angewendet werden?<br> Verfügbare Themes: `top`, `top-floating` und `side` | `side` |

## Contribution and Development

Expand Down
4 changes: 2 additions & 2 deletions node_helper.js

Large diffs are not rendered by default.

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.7.0",
"version": "1.8.0",
"description": "Simple Client Implementierung für die NINA Warn App für die MagicMirror² Plattform.",
"main": "MMM-NINA.js",
"repository": {
Expand Down
5 changes: 4 additions & 1 deletion src/backend/Backend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,10 @@ module.exports = NodeHelper.create({
}
}

this.sendSocketNotification('NINA_ALERTS_RESPONSE', Utils.removeDuplicates(alerts, config))
this.sendSocketNotification(
'NINA_ALERTS_RESPONSE',
Utils.removeDuplicates(Utils.orderBySeverity(alerts, config), config)
)
} else {
Log.warn(`${notification} is invalid notification`)
}
Expand Down
11 changes: 11 additions & 0 deletions src/backend/Utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,17 @@ export default class Utils {
})
}

static orderBySeverity(alerts: Alert[], config: Config): Alert[] {
if (config.orderBySeverity) {
const severityOrder = ['Severe', 'Moderate', 'Minor', 'Cancel']
return alerts.sort(
(a, b) => severityOrder.indexOf(a.payload.data.severity) - severityOrder.indexOf(b.payload.data.severity)
)
}

return alerts
}

static removeDuplicates(alerts: Alert[], config: Config): Alert[] {
const knownIds: string[] = []
const knownTitles: string[] = []
Expand Down
1 change: 1 addition & 0 deletions src/frontend/Frontend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Module.register<Config>('MMM-NINA', {
maxWidth: null,
mergeAlertsById: true,
mergeAlertsByTitle: true,
orderBySeverity: true,
showCity: true,
showDate: true,
showNoWarning: false,
Expand Down
1 change: 1 addition & 0 deletions src/types/Config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ export type Config = {
mergeAlerts?: boolean
mergeAlertsById: boolean
mergeAlertsByTitle: boolean
orderBySeverity: boolean
showCity: boolean
showDate: boolean
showIcon: boolean
Expand Down

0 comments on commit 290d62f

Please sign in to comment.