docs: createAndSetDevices.md um Bugfix-Hinweis zum Kontextmenü erweitert

- Erklärung zu contextMenuCreated-Flag hinzugefügt
- Schutz vor doppeltem Kontextmenü dokumentiert
- Hinweis auf setMarkersFunction ergänzt
- Testszenarien und Verhalten ergänzt
This commit is contained in:
ISA
2025-05-27 15:03:03 +02:00
parent 40afadb178
commit 2b79c6008c
2 changed files with 31 additions and 3 deletions

View File

@@ -1,2 +1,2 @@
// /config/appVersion // /config/appVersion
export const APP_VERSION = "1.1.192"; export const APP_VERSION = "1.1.193";

View File

@@ -1,3 +1,5 @@
<!-- /docs/utils/devices/createAndSetDevices.md -->
# 🧭 createAndSetDevices.js Geräte setzen und verwalten # 🧭 createAndSetDevices.js Geräte setzen und verwalten
## Zweck ## Zweck
@@ -6,10 +8,12 @@ Diese Datei erstellt Leaflet-Marker für aktive Geräte basierend auf Webservice
und konfiguriert Kontexteinträge für Interaktionen wie: und konfiguriert Kontexteinträge für Interaktionen wie:
- Geräte-Popup anzeigen - Geräte-Popup anzeigen
- Station per Klick öffnen - Station/Gerät per Klick in neue Tab öffnen -> Kontextmenü ->Item "Station öffnen (Tab)"
- Statusinformationen einblenden - Statusinformationen einblenden
- Redux-Aktionen für ausgewähltes Gerät auslösen - Redux-Aktionen für ausgewähltes Gerät auslösen
Die erzeugten Marker werden über `setMarkersFunction(markersData)` an die aufrufende Komponente übergeben.
--- ---
## Datenquellen ## Datenquellen
@@ -60,6 +64,21 @@ window.open(`${baseUrl}cpl.aspx?ver=35&kue=24&id=${station.IdLD}`, "_blank");
--- ---
## Schutz vor doppelten Kontextmenüs
Ein `contextMenuCreated`-Flag stellt sicher, dass pro Marker nur **ein** Kontextmenü erzeugt wird:
```js
if (!contextMenuCreated) {
contextMenuCreated = true;
marker.bindContextMenu({ ... });
}
```
➡ Verhindert Duplikate bei wiederholten Rechtsklicks
---
## Weitere Funktionen ## Weitere Funktionen
- Popup-HTML enthält Statusanzeigen (Name, Farbe, Meldung) - Popup-HTML enthält Statusanzeigen (Name, Farbe, Meldung)
@@ -68,6 +87,15 @@ window.open(`${baseUrl}cpl.aspx?ver=35&kue=24&id=${station.IdLD}`, "_blank");
--- ---
## Tests
- Marker wird bei gültigen Daten erzeugt
- Kontextmenü enthält nur **einen** Eintrag „Station öffnen“
- Popup zeigt korrekte Statusinformationen (Farben, Texte)
- Redux `setSelectedDevice(...)` wird korrekt aufgerufen
---
## Siehe auch ## Siehe auch
- `setupPolylines.js` - `setupPolylines.js`
@@ -76,4 +104,4 @@ window.open(`${baseUrl}cpl.aspx?ver=35&kue=24&id=${station.IdLD}`, "_blank");
--- ---
📄 Pfad: `/docs/frontend/utils/devices/createAndSetDevices.md` 📄 Pfad: `/docs/frontend/utils/devices/createAndSetDevices.md`