docs(priorityConfig): API-Dokumentation erstellt für priorityConfig
- /docs/pages/api/talas_v5_DB/priorityConfig.md hinzugefügt - Enthält Beschreibung der API, Datenstruktur, Beispielantwort, Leaflet-Anwendung - README.md und CHANGELOG.md aktualisiert - Version auf 1.1.187 erhöht
This commit is contained in:
22
CHANGELOG.md
22
CHANGELOG.md
@@ -4,6 +4,28 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [1.1.187] – 2025-05-27
|
||||||
|
|
||||||
|
### 📄 Dokumentation
|
||||||
|
|
||||||
|
- Neue Markdown-Dokumentation erstellt:
|
||||||
|
`/docs/pages/api/talas_v5_DB/priorityConfig.md`
|
||||||
|
- Beschreibt die API `/api/talas_v5_DB/priorityConfig`
|
||||||
|
- Enthält Beispielantwort, Datenstruktur, SQL, Fehlerhandling
|
||||||
|
- Besonderheit: Anwendung der Prioritätswerte (`level`) zur Sortierung von Leaflet-Markern bei Überlappung
|
||||||
|
|
||||||
|
### 🧠 Architektur
|
||||||
|
|
||||||
|
- Dokumentation enthält ausführlichen Abschnitt „🔗 Verwendet in“ mit klaren Verweisen auf:
|
||||||
|
- `MapComponent`, `createAndSetDevices`, `priorityConfigSlice`, u. a.
|
||||||
|
- Leaflet-Markerdarstellung über `zIndexOffset` auf Basis von `priorityConfig.level` wird erklärt
|
||||||
|
|
||||||
|
🔧 Version
|
||||||
|
|
||||||
|
- 📦 Version erhöht auf **1.1.187**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [1.1.186] – 2025-05-27
|
## [1.1.186] – 2025-05-27
|
||||||
|
|
||||||
### 🔥 Removed
|
### 🔥 Removed
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -311,6 +311,16 @@ Alle ehemaligen Recoil-Atoms wurden erfolgreich in Redux-Slices überführt.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 📄 Dokumentation
|
||||||
|
|
||||||
|
Eine technische API-Dokumentation befindet sich im Verzeichnis `/docs/`
|
||||||
|
Beispiel:
|
||||||
|
|
||||||
|
- [`priorityConfig.md`](docs/pages/api/talas_v5_DB/priorityConfig.md):
|
||||||
|
Dokumentiert die Prioritätskonfiguration für Meldungsanzeige und Marker-Sortierung.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 🧪 Mockdaten (nicht mehr verwendet)
|
## 🧪 Mockdaten (nicht mehr verwendet)
|
||||||
|
|
||||||
Früher konnten über folgende Umgebungsvariable Mockdaten geladen werden:
|
Früher konnten über folgende Umgebungsvariable Mockdaten geladen werden:
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
// /config/appVersion
|
// /config/appVersion
|
||||||
export const APP_VERSION = "1.1.187";
|
export const APP_VERSION = "1.1.188";
|
||||||
|
|||||||
83
docs/pages/api/talas_v5_DB/priorityConfig.md
Normal file
83
docs/pages/api/talas_v5_DB/priorityConfig.md
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
<!-- Datei: /docs/pages/api/talas_v5_DB/priorityConfig.md -->
|
||||||
|
|
||||||
|
# 📊 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`](http://10.10.0.70:3000/api/talas_v5_DB/priorityConfig)
|
||||||
|
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{ "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
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
// /pages/api/talas_v5_DB/priorityConfig.js
|
// /pages/api/talas_v5_DB/priorityConfig.js
|
||||||
// in tals5 http://10.10.0.13/talas5/Management/PriorityConfig.aspx beinhaltet die Tabelle prio die Prioritäten der Meldungen (Level 1-4) oder (0-4) je nachdem DB-Design
|
|
||||||
// das ist die API, die die Prioritäten zurückgibt
|
|
||||||
|
|
||||||
import getPool from "../../../utils/mysqlPool"; // Singleton-Pool importieren
|
import getPool from "../../../utils/mysqlPool"; // Singleton-Pool importieren
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user