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:
@@ -1,2 +1,2 @@
|
|||||||
// /config/appVersion
|
// /config/appVersion
|
||||||
export const APP_VERSION = "1.1.192";
|
export const APP_VERSION = "1.1.193";
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|||||||
Reference in New Issue
Block a user