From 40afadb178dbd19f2b9937ff84f555fff6d582eb Mon Sep 17 00:00:00 2001 From: ISA Date: Tue, 27 May 2025 14:45:58 +0200 Subject: [PATCH] =?UTF-8?q?fix(devices):=20Duplikate=20im=20Kontextmen?= =?UTF-8?q?=C3=BC=20"Station=20=C3=B6ffnen"=20behoben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Mehrfaches Hinzufügen bei jedem Rechtsklick unterbunden - Kontextmenü-Initialisierung mit contextMenuCreated abgesichert - Datei: createAndSetDevices.js --- CHANGELOG.md | 14 ++++++++++++++ bugs.md | 14 +++++++++----- config/appVersion.js | 2 +- utils/devices/createAndSetDevices.js | 23 ++++++++++++++++++++++- 4 files changed, 46 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f56ea0b6..d274097ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,20 @@ Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentie --- +## [1.1.191] – 2025-05-27 + +### 🐞 Fixed + +- Fehler behoben: Kontextmenü „Station öffnen (Tab)“ wurde bei Geräten/Stationen mehrfach angezeigt +- Ursache war doppelte Registrierung bei jedem Rechtsklick – jetzt mit `contextMenuCreated`-Flag verhindert +- Datei `createAndSetDevices.js` entsprechend angepasst + +### 🔧 Version + +- 📦 Version erhöht auf **1.1.191** + +--- + [1.1.190] – 2025-05-27 🐞 Fixed Dropdown im UI Widget MapLayersControlPanel zeigte keine Stations-/Bereichsnamen an diff --git a/bugs.md b/bugs.md index 84699ccee..4668ee072 100644 --- a/bugs.md +++ b/bugs.md @@ -1,13 +1,17 @@ # 🐛 Aktuelle Bugs -## 1. Stationen Dropdown leer +## ✅ Gelöste Probleme + +### 1. Stationen Dropdown leer - [x] Webservice-Aufruf überprüfen (`fetchGisStationsStaticDistrict`) - [x] Redux-State prüfen (`selectGisStationsStaticDistrict`) - [x] basePath in `.env.local` korrekt? +- ✅ Gelöst am 27.05.2025 in Version 1.1.190 -## 2. Kontextmenü dupliziert +### 2. Kontextmenü dupliziert bei Geräten -- [ ] Wird Kontextmenü mehrfach erzeugt? -- [ ] Wird cleanup in `useMapContextMenu` korrekt durchgeführt? -- [ ] Test: `Rechtsklick > Station öffnen Tab` +- [x] Wird Kontextmenü mehrfach erzeugt? +- [x] Wird cleanup in `useMapContextMenu` korrekt durchgeführt? +- [x] Test: `Rechtsklick > Station öffnen Tab` +- ✅ Gelöst am 27.05.2025 in Version 1.1.191 (`createAndSetDevices.js`) diff --git a/config/appVersion.js b/config/appVersion.js index 7bb77aa3f..7cd951d41 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.191"; +export const APP_VERSION = "1.1.192"; diff --git a/utils/devices/createAndSetDevices.js b/utils/devices/createAndSetDevices.js index a26060509..48a46a242 100644 --- a/utils/devices/createAndSetDevices.js +++ b/utils/devices/createAndSetDevices.js @@ -118,10 +118,31 @@ export const createAndSetDevices = async (systemId, setMarkersFunction, GisSyste } }; + let contextMenuCreated = false; + marker.on("contextmenu", (event) => { event.originalEvent?.preventDefault(); marker.openPopup(); - addDeviceContextMenu(map, marker); + + if (!contextMenuCreated) { + contextMenuCreated = true; + + marker.bindContextMenu({ + contextmenu: true, + contextmenuWidth: 160, + contextmenuItems: [ + { separator: true }, + { + text: "Station öffnen (Tab)", + icon: "/img/screen_new.png", + callback: () => { + const link = `${window.location.origin}${basePath}/cpl.aspx?ver=35&kue=24&id=${station.IdLD}`; + window.open(link, "_blank"); + }, + }, + ], + }); + } }); map.on("click", () => {