From 8cf520bb2ce96590d9fb8aa4f35a54a0138ba8fc Mon Sep 17 00:00:00 2001 From: ISA Date: Fri, 22 Aug 2025 12:28:40 +0200 Subject: [PATCH] =?UTF-8?q?Fix:=20Kabelstrecken-Checkbox=20=C3=BCberschrei?= =?UTF-8?q?bt=20Nutzeraktion=20nach=20Initialisierung=20nicht=20mehr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Nutzeraktion (Deaktivieren der Kabelstrecken) wird jetzt durch Initialisierung nicht mehr überschrieben - Initialisierung prüft, ob der Nutzer die Checkbox bereits betätigt hat - Verhindert, dass Kabelstrecken nach dem Laden unerwartet --- .env.development | 2 +- .env.production | 2 +- components/mainComponent/MapComponent.js | 32 ++++++++++++++++++------ package-lock.json | 4 +-- package.json | 2 +- 5 files changed, 29 insertions(+), 13 deletions(-) diff --git a/.env.development b/.env.development index bcb5456e0..7fe032bfe 100644 --- a/.env.development +++ b/.env.development @@ -23,4 +23,4 @@ NEXT_PUBLIC_USE_MOCKS=true # z.B. http://10.10.0.13/xyz/index.aspx -> basePath in config.json auf /xyz setzen # basePath wird jetzt in public/config.json gepflegt # App-Versionsnummer -NEXT_PUBLIC_APP_VERSION=1.1.344 +NEXT_PUBLIC_APP_VERSION=1.1.345 diff --git a/.env.production b/.env.production index 9eaed8de8..2018568ec 100644 --- a/.env.production +++ b/.env.production @@ -24,4 +24,4 @@ NEXT_PUBLIC_USE_MOCKS=false # basePath wird jetzt in public/config.json gepflegt # App-Versionsnummer -NEXT_PUBLIC_APP_VERSION=1.1.344 +NEXT_PUBLIC_APP_VERSION=1.1.345 diff --git a/components/mainComponent/MapComponent.js b/components/mainComponent/MapComponent.js index 0946680f9..30349cd1d 100644 --- a/components/mainComponent/MapComponent.js +++ b/components/mainComponent/MapComponent.js @@ -152,6 +152,9 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { const [map, setMap] = useState(null); // Zustand der Karteninstanz const [oms, setOms] = useState(null); // State für OMS-Instanz + // Flag, ob Nutzer die Polyline-Checkbox manuell betätigt hat + const userToggledPolyline = useRef(false); + //-----userRights---------------- const isRightsLoaded = useSelector( state => state.gisUserRightsFromWebservice.status === "succeeded" @@ -274,13 +277,16 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { if (storedMapLayersVisibility) { try { const parsedVisibility = JSON.parse(storedMapLayersVisibility); - Object.keys(parsedVisibility).forEach(key => { - dispatch(setLayerVisibility({ layer: key, visibility: parsedVisibility[key] })); - }); - console.log( - `🔄 mapLayersVisibility für Map ${mapId}/User ${userId} geladen:`, - parsedVisibility - ); + // Nur initial setzen, wenn Nutzer noch nicht manuell eingegriffen hat + if (!userToggledPolyline.current) { + Object.keys(parsedVisibility).forEach(key => { + dispatch(setLayerVisibility({ layer: key, visibility: parsedVisibility[key] })); + }); + console.log( + `🔄 mapLayersVisibility für Map ${mapId}/User ${userId} geladen:`, + parsedVisibility + ); + } } catch (error) { console.error("❌ Fehler beim Laden von mapLayersVisibility:", error); } @@ -290,10 +296,20 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { ); } // Redux Polyline Sichtbarkeit initialisieren (map/user spezifisch) - dispatch(initializePolylineFromLocalStorageThunk()); + if (!userToggledPolyline.current) { + dispatch(initializePolylineFromLocalStorageThunk()); + } } } }, [dispatch, polylineVisible, map]); + // Callback für Checkbox-Umschaltung (Kabelstrecken) + const handlePolylineCheckboxChange = useCallback( + checked => { + userToggledPolyline.current = true; + dispatch(setPolylineVisible(checked)); + }, + [dispatch] + ); useEffect(() => { if (linesData && Array.isArray(linesData)) { const transformed = linesData.map(item => ({ diff --git a/package-lock.json b/package-lock.json index 8d7804081..fd425f194 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "nodemap", - "version": "1.1.344", + "version": "1.1.345", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "nodemap", - "version": "1.1.344", + "version": "1.1.345", "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", diff --git a/package.json b/package.json index e0e041152..e61217408 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nodemap", - "version": "1.1.344", + "version": "1.1.345", "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0",