58 lines
1.4 KiB
Markdown
58 lines
1.4 KiB
Markdown
# 🔁 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-<IdSystem>`
|
||
- `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-<IdSystem>`
|
||
|
||
---
|
||
|
||
## 🧪 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.
|
||
|
||
---
|
||
|
||
[Zurück zur Übersicht](../../../README.md)
|