From 2b79c6008c4ce426dc9ae535857c82e3a8a31c0e Mon Sep 17 00:00:00 2001 From: ISA Date: Tue, 27 May 2025 15:03:03 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20createAndSetDevices.md=20um=20Bugfix-Hi?= =?UTF-8?q?nweis=20zum=20Kontextmen=C3=BC=20erweitert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Erklärung zu contextMenuCreated-Flag hinzugefügt - Schutz vor doppeltem Kontextmenü dokumentiert - Hinweis auf setMarkersFunction ergänzt - Testszenarien und Verhalten ergänzt --- config/appVersion.js | 2 +- docs/utils/devices/createAndSetDevices.md | 32 +++++++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/config/appVersion.js b/config/appVersion.js index 7cd951d41..d8cae9dda 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.192"; +export const APP_VERSION = "1.1.193"; diff --git a/docs/utils/devices/createAndSetDevices.md b/docs/utils/devices/createAndSetDevices.md index f44187f49..62dece85a 100644 --- a/docs/utils/devices/createAndSetDevices.md +++ b/docs/utils/devices/createAndSetDevices.md @@ -1,3 +1,5 @@ + + # 🧭 createAndSetDevices.js – Geräte setzen und verwalten ## 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: - Geräte-Popup anzeigen -- Station per Klick öffnen +- Station/Gerät per Klick in neue Tab öffnen -> Kontextmenü ->Item "Station öffnen (Tab)" - Statusinformationen einblenden - Redux-Aktionen für ausgewähltes Gerät auslösen +Die erzeugten Marker werden über `setMarkersFunction(markersData)` an die aufrufende Komponente übergeben. + --- ## 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 - 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 - `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` \ No newline at end of file +📄 Pfad: `/docs/frontend/utils/devices/createAndSetDevices.md`