docs: Gerätelayer-Upgrade dokumentiert (System ↔ IdSystem Vergleich)

This commit is contained in:
ISA
2025-06-02 10:27:45 +02:00
parent be2da8414c
commit 65d92bb4ab
3 changed files with 58 additions and 1 deletions

View File

@@ -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-<IdSystem>` 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)

View File

@@ -1,2 +1,2 @@
// /config/appVersion
export const APP_VERSION = "1.1.210";
export const APP_VERSION = "1.1.211";

View File

@@ -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-<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.