3.2 KiB
📊 API: /api/talas_v5_DB/priorityConfig
Diese API liefert die Konfigurationsdaten für Prioritäten (z. B. „critical“, „minor“) aus der
Tabelle prio.
Sie wird u. a. für Meldungsanzeigen, Filter und Leaflet-Marker-Priorisierung verwendet.
📍 Anwendung in Leaflet – Marker-Priorität bei Überlappung
Die level-Werte dieser Konfiguration steuern die Darstellungsreihenfolge überlappender Marker
in Leaflet:
- Marker mit höherer Priorität (
level = 1, z. B.critical) werden oben dargestellt - Marker mit niedriger Priorität (
level = 100,101) werden weiter hinten gezeichnet - Dadurch bleiben wichtige Meldungen stets sichtbar, selbst bei POI-Überlagerung
Diese Sortierung wird z. B. bei OverlappingMarkerSpiderfier oder Clustern angewendet.
🔗 Route
- Pfad:
/api/talas_v5_DB/priorityConfig - Methode:
GET - Beschreibung: Gibt alle aktiven Prioritätsstufen inkl. Farbcodes zurück
🧾 Beispielantwort
Test-URL:
/api/talas_v5_DB/priorityConfig
[
{ "idprio": 0, "level": 100, "name": "kein", "color": "#ffffff" },
{ "idprio": 1, "level": 101, "name": "gut", "color": "#99CC00" },
{ "idprio": 5, "level": 1, "name": "critical", "color": "#FF0000" },
{ "idprio": 7, "level": 2, "name": "major", "color": "#FF9900" },
{ "idprio": 9, "level": 3, "name": "minor", "color": "#FFFF00" },
{ "idprio": 10, "level": 4, "name": "system", "color": "#FF00FF" },
{ "idprio": 12, "level": 0, "name": "Stationsausfall", "color": "#FF6600" }
]
📦 Datenstruktur Feld Typ Beschreibung idprio number Eindeutige ID der Priorität level number Prioritätsstufe (1 = hoch, 100 = niedrig) name string Bezeichnung (z. B. "minor", "system", "Stationsausfall") color string HEX-Farbcode (z. B. #FF0000) zur visuellen Darstellung
⚙️ Datenquelle Tabelle: prio
SQL-Abfrage:
sql
SELECT idprio, level, name, color FROM prio;
Backend: verwendet getPool() aus utils/mysqlPool.js
🔗 Verwendet in
| Datei | Zweck |
|---|---|
fetchPriorityConfigThunk.js |
Holt Prioritätsdaten über API und reicht sie an Redux weiter |
priorityConfigSlice.js |
Speichert die geladenen Prioritätsdaten im Redux-Store |
MapComponent.js |
Dispatcht Thunk zum Laden der Daten beim Start |
useMapComponentState.js |
Liest priorityConfig aus Redux und gibt es an Marker-Setup weiter |
createAndSetDevices.js |
Erzeugt Marker mit zIndexOffset basierend auf Priorität |
useCreateAndSetDevices.js |
Hook zur Initialisierung von Geräten auf der Karte |
useDynamicMarkerLayers.js |
Verwaltet Marker-Layer dynamisch (inkl. Z-Priorität) |
❌ Fehlerbehandlung Bei DB- oder Verbindungsfehlern:
json Copy Edit { "error": "Fehler bei der Abfrage" } HTTP-Statuscode: 500