diff --git a/README.md b/README.md index 314e7bd0a..fd1bb2f0e 100644 --- a/README.md +++ b/README.md @@ -309,6 +309,10 @@ Alle ehemaligen Recoil-Atoms wurden erfolgreich in Redux-Slices überführt. > Recoil wurde vollständig entfernt, um die Skalierbarkeit und Wartbarkeit zu verbessern. +- Dynamische Gerätegruppen (Layer) werden automatisch über `IdSystem` aus `GisSystemStatic` initialisiert +- Layer-Steuerung erfolgt über `system-` Keys im Redux `mapLayersSlice` +- Marker für Geräte werden über Vergleich `System` ↔ `IdSystem` angezeigt + ### Gründe für Redux statt Recoil: - Bessere Nachvollziehbarkeit durch zentrale Store-Struktur @@ -333,6 +337,9 @@ Beispiel: - [`priorityConfig.md`](docs/pages/api/talas_v5_DB/priorityConfig.md): Dokumentiert die Prioritätskonfiguration für Meldungsanzeige und Marker-Sortierung. + - [`device-layer-connection.md`](docs/architecture/device-layer-connection.md): + Beschreibt den technischen Ablauf vom GIS-System zum Marker über `System` ↔ `IdSystem` + --- ## 🧪 Mockdaten (nicht mehr verwendet) diff --git a/config/appVersion.js b/config/appVersion.js index d062b2503..ce3bc0e76 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.210"; +export const APP_VERSION = "1.1.211"; diff --git a/docs/redux/slices/mapLayers/device-layer-upgrade.md b/docs/redux/slices/mapLayers/device-layer-upgrade.md new file mode 100644 index 000000000..c1bb79ddc --- /dev/null +++ b/docs/redux/slices/mapLayers/device-layer-upgrade.md @@ -0,0 +1,50 @@ +# 🔁 Geräte-Layer Upgrade: Dynamische Initialisierung über IdSystem + +## 📅 Änderungsdatum: 2025-06-02 + +--- + +## 🧩 Ziel + +Die Marker-Einblendung (Geräte) sollte über `System` (Stationsdaten) mit `IdSystem` (Systemdaten) verglichen werden. Früher wurde fälschlich über `Name` verglichen. Außerdem sollten die Layer-Schlüssel konsistent und dynamisch verwaltet werden. + +--- + +## ✅ Änderungen im Detail + +### Redux: + +- `mapLayersSlice` überarbeitet: + - Statische Namen (z. B. `SMSFunkmodem`) entfernt + - Dynamische Initialisierung mit `system-` + - `setInitialLayers(systems[])` Action erstellt + +### Thunks: + +- `fetchGisSystemStaticThunk.js` erweitert: + - Initialisiert `mapLayers` mit `setInitialLayers` + - Liefert Redux-Layerstatus zu jedem System + +### Services: + +- `fetchGisSystemStaticService.js` liefert `IdSystem` + +### Komponenten: + +- `useDynamicDeviceLayers.js`: verwendet `IdSystem` als Vergleich (`station.System === system.IdSystem`) +- `MapLayersControlPanel.js`: generiert Checkboxen mit `key = system-` + +--- + +## 🧪 Ergebnis + +- Marker (z. B. SMS-Funkmodem) erscheinen korrekt +- Checkboxen steuerbar +- Architektur dokumentiert in: +- [`docs/architecture/device-layer-connection.md`](/docs/architecture/device-layer-connection.md) + +--- + +## 🏷 Version + +Diese Änderung wurde mit dem Tag [`v1.1.210`](https://your-git-remote/tags/v1.0.1) versehen.