WIP: erster aufruf beim wechesln der Karten
This commit is contained in:
@@ -24,4 +24,4 @@ NEXT_PUBLIC_USE_MOCKS=true
|
|||||||
# z.B. http://10.10.0.13/xyz/index.aspx -> basePath in config.json auf /xyz setzen
|
# 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
|
# basePath wird jetzt in public/config.json gepflegt
|
||||||
# App-Versionsnummer
|
# App-Versionsnummer
|
||||||
NEXT_PUBLIC_APP_VERSION=1.1.335
|
NEXT_PUBLIC_APP_VERSION=1.1.336
|
||||||
|
|||||||
@@ -25,4 +25,4 @@ NEXT_PUBLIC_USE_MOCKS=false
|
|||||||
# basePath wird jetzt in public/config.json gepflegt
|
# basePath wird jetzt in public/config.json gepflegt
|
||||||
|
|
||||||
# App-Versionsnummer
|
# App-Versionsnummer
|
||||||
NEXT_PUBLIC_APP_VERSION=1.1.335
|
NEXT_PUBLIC_APP_VERSION=1.1.336
|
||||||
|
|||||||
@@ -689,40 +689,10 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
|
|||||||
}, [dispatch]);
|
}, [dispatch]);
|
||||||
|
|
||||||
//--------------------------------------------
|
//--------------------------------------------
|
||||||
// Beim ersten Client-Render den Wert aus localStorage laden
|
// Die Sichtbarkeit der Polylines wird ausschließlich über Redux gesteuert
|
||||||
// Prüfe beide localStorage-Variablen (neue und alte)
|
// (Initialisierung erfolgt in MapLayersControlPanel)
|
||||||
useEffect(() => {
|
|
||||||
let storedPolylineVisible = localStorage.getItem("kabelstreckenVisible") === "true";
|
|
||||||
|
|
||||||
// Fallback auf alte Variable, falls neue nicht existiert
|
|
||||||
if (localStorage.getItem("kabelstreckenVisible") === null) {
|
|
||||||
const oldValue = localStorage.getItem("polylineVisible") === "true";
|
|
||||||
storedPolylineVisible = oldValue;
|
|
||||||
// Migriere zur neuen Variable
|
|
||||||
localStorage.setItem("kabelstreckenVisible", oldValue.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(
|
|
||||||
"🔄 MapComponent: Loading polylineVisible from localStorage:",
|
|
||||||
storedPolylineVisible
|
|
||||||
);
|
|
||||||
dispatch(setPolylineVisible(storedPolylineVisible));
|
|
||||||
}, [dispatch]);
|
|
||||||
//--------------------------------------------
|
//--------------------------------------------
|
||||||
// Event-Listener für Polyline-Sichtbarkeitsänderungen
|
// MapComponent reagiert nicht mehr direkt auf localStorage-Events für polylineVisible
|
||||||
useEffect(() => {
|
|
||||||
const handlePolylineVisibilityChange = () => {
|
|
||||||
const storedValue = localStorage.getItem("kabelstreckenVisible") === "true";
|
|
||||||
console.log("🔄 MapComponent: Received polylineVisibilityChanged event, value:", storedValue);
|
|
||||||
dispatch(setPolylineVisible(storedValue));
|
|
||||||
};
|
|
||||||
|
|
||||||
window.addEventListener("polylineVisibilityChanged", handlePolylineVisibilityChange);
|
|
||||||
|
|
||||||
return () => {
|
|
||||||
window.removeEventListener("polylineVisibilityChanged", handlePolylineVisibilityChange);
|
|
||||||
};
|
|
||||||
}, [dispatch]);
|
|
||||||
//--------------------------------------------
|
//--------------------------------------------
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (statusStaticDistrict === "idle") {
|
if (statusStaticDistrict === "idle") {
|
||||||
|
|||||||
@@ -61,43 +61,39 @@ function MapLayersControlPanel() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Initialisiere Redux-State für Kabelstrecken-Checkbox bei Kartenwechsel (mapId/userId)
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// LocalStorage Werte beim ersten Laden der Komponente wiederherstellen
|
// LocalStorage Werte beim ersten Laden der Komponente oder bei Kartenwechsel wiederherstellen
|
||||||
const storedPoiVisible = localStorage.getItem("poiVisible");
|
const storedPoiVisible = localStorage.getItem("poiVisible");
|
||||||
if (storedPoiVisible !== null) {
|
if (storedPoiVisible !== null) {
|
||||||
setPoiVisible(storedPoiVisible === "true");
|
setPoiVisible(storedPoiVisible === "true");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Neue Variable für Kabelstrecken mit Fallback auf die alte Variable
|
// Kartenabhängige Sichtbarkeit für Kabelstrecken initialisieren
|
||||||
|
const mapId = localStorage.getItem("currentMapId");
|
||||||
|
const userId = localStorage.getItem("currentUserId");
|
||||||
|
const mapStorageKey =
|
||||||
|
mapId && userId ? `mapLayersVisibility_m${mapId}_u${userId}` : "mapLayersVisibility";
|
||||||
|
|
||||||
|
// Kabelstrecken-Checkbox initialisieren
|
||||||
let storedKabelstreckenVisible = localStorage.getItem("kabelstreckenVisible");
|
let storedKabelstreckenVisible = localStorage.getItem("kabelstreckenVisible");
|
||||||
const storedPolylineVisible = localStorage.getItem("polylineVisible");
|
const storedPolylineVisible = localStorage.getItem("polylineVisible");
|
||||||
|
|
||||||
// Falls kabelstreckenVisible nicht existiert, aber polylineVisible schon, übernehmen wir den Wert
|
|
||||||
if (storedKabelstreckenVisible === null && storedPolylineVisible !== null) {
|
if (storedKabelstreckenVisible === null && storedPolylineVisible !== null) {
|
||||||
storedKabelstreckenVisible = storedPolylineVisible;
|
storedKabelstreckenVisible = storedPolylineVisible;
|
||||||
localStorage.setItem("kabelstreckenVisible", storedPolylineVisible);
|
localStorage.setItem("kabelstreckenVisible", storedPolylineVisible);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (storedKabelstreckenVisible !== null) {
|
if (storedKabelstreckenVisible !== null) {
|
||||||
const shouldBeVisible = storedKabelstreckenVisible === "true";
|
const shouldBeVisible = storedKabelstreckenVisible === "true";
|
||||||
setKabelstreckenVisible(shouldBeVisible);
|
setKabelstreckenVisible(shouldBeVisible);
|
||||||
// Beide localStorage-Variablen synchronisieren
|
|
||||||
localStorage.setItem("polylineVisible", shouldBeVisible.toString());
|
localStorage.setItem("polylineVisible", shouldBeVisible.toString());
|
||||||
// Redux für Konsistenz setzen
|
|
||||||
dispatch(setPolylineVisible(shouldBeVisible));
|
dispatch(setPolylineVisible(shouldBeVisible));
|
||||||
// Event auslösen nach dem Laden
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const event = new Event("polylineVisibilityChanged");
|
const event = new Event("polylineVisibilityChanged");
|
||||||
window.dispatchEvent(event);
|
window.dispatchEvent(event);
|
||||||
}, 200);
|
}, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Kartenspezifischer localStorage-Key verwenden
|
// mapLayersVisibility initialisieren
|
||||||
const mapId = localStorage.getItem("currentMapId");
|
|
||||||
const userId = localStorage.getItem("currentUserId");
|
|
||||||
const mapStorageKey =
|
|
||||||
mapId && userId ? `mapLayersVisibility_m${mapId}_u${userId}` : "mapLayersVisibility";
|
|
||||||
|
|
||||||
const storedMapLayersVisibility = localStorage.getItem(mapStorageKey);
|
const storedMapLayersVisibility = localStorage.getItem(mapStorageKey);
|
||||||
if (storedMapLayersVisibility) {
|
if (storedMapLayersVisibility) {
|
||||||
const parsedVisibility = JSON.parse(storedMapLayersVisibility);
|
const parsedVisibility = JSON.parse(storedMapLayersVisibility);
|
||||||
@@ -105,7 +101,6 @@ function MapLayersControlPanel() {
|
|||||||
dispatch(setLayerVisibility({ layer: key, visibility: parsedVisibility[key] }));
|
dispatch(setLayerVisibility({ layer: key, visibility: parsedVisibility[key] }));
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// Initialisiere mapLayersVisibility basierend auf Allow & Map (nur Systeme mit Map===1 anzeigen)
|
|
||||||
if (Array.isArray(GisSystemStatic)) {
|
if (Array.isArray(GisSystemStatic)) {
|
||||||
const initialVisibility = {};
|
const initialVisibility = {};
|
||||||
GisSystemStatic.forEach(system => {
|
GisSystemStatic.forEach(system => {
|
||||||
@@ -124,7 +119,7 @@ function MapLayersControlPanel() {
|
|||||||
setEditMode(storedEditMode === "true");
|
setEditMode(storedEditMode === "true");
|
||||||
|
|
||||||
setLocalStorageLoaded(true);
|
setLocalStorageLoaded(true);
|
||||||
}, []); // Läuft nur beim Mount
|
}, [localStorage.getItem("currentMapId"), localStorage.getItem("currentUserId")]);
|
||||||
|
|
||||||
const handleAreaChange = event => {
|
const handleAreaChange = event => {
|
||||||
const selectedIndex = event.target.options.selectedIndex;
|
const selectedIndex = event.target.options.selectedIndex;
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "nodemap",
|
"name": "nodemap",
|
||||||
"version": "1.1.335",
|
"version": "1.1.336",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "nodemap",
|
"name": "nodemap",
|
||||||
"version": "1.1.335",
|
"version": "1.1.336",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/react": "^11.13.3",
|
"@emotion/react": "^11.13.3",
|
||||||
"@emotion/styled": "^11.13.0",
|
"@emotion/styled": "^11.13.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nodemap",
|
"name": "nodemap",
|
||||||
"version": "1.1.335",
|
"version": "1.1.336",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/react": "^11.13.3",
|
"@emotion/react": "^11.13.3",
|
||||||
"@emotion/styled": "^11.13.0",
|
"@emotion/styled": "^11.13.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user