Die ursprüngliche Logik für die Abhängigkeit und Synchronisation der Checkboxen (TALAS/Kabelstrecken) mit localStorage, Redux und lokalem State wurde wiederhergestellt.
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
|
||||
# basePath wird jetzt in public/config.json gepflegt
|
||||
# App-Versionsnummer
|
||||
NEXT_PUBLIC_APP_VERSION=1.1.334
|
||||
NEXT_PUBLIC_APP_VERSION=1.1.335
|
||||
|
||||
@@ -25,4 +25,4 @@ NEXT_PUBLIC_USE_MOCKS=false
|
||||
# basePath wird jetzt in public/config.json gepflegt
|
||||
|
||||
# App-Versionsnummer
|
||||
NEXT_PUBLIC_APP_VERSION=1.1.334
|
||||
NEXT_PUBLIC_APP_VERSION=1.1.335
|
||||
|
||||
@@ -16,7 +16,7 @@ import { incrementZoomTrigger } from "@/redux/slices/zoomTriggerSlice";
|
||||
function MapLayersControlPanel() {
|
||||
const [editMode, setEditMode] = useState(false); // Zustand für editMode
|
||||
const [localStorageLoaded, setLocalStorageLoaded] = useState(false); // Tracking ob localStorage geladen wurde
|
||||
const kabelstreckenVisible = useSelector(selectPolylineVisible); // Nur noch Redux
|
||||
const [kabelstreckenVisible, setKabelstreckenVisible] = useState(false); // Lokaler State für Kabelstrecken
|
||||
const poiVisible = useSelector(state => state.poiLayerVisible.visible);
|
||||
const setPoiVisible = value => dispatch(setVisible(value));
|
||||
const dispatch = useDispatch();
|
||||
@@ -40,12 +40,18 @@ function MapLayersControlPanel() {
|
||||
|
||||
const handlePolylineCheckboxChange = event => {
|
||||
const checked = event.target.checked;
|
||||
setKabelstreckenVisible(checked);
|
||||
localStorage.setItem("kabelstreckenVisible", checked.toString());
|
||||
localStorage.setItem("polylineVisible", checked.toString());
|
||||
dispatch(setPolylineVisible(checked));
|
||||
setTimeout(() => {
|
||||
const event = new Event("polylineVisibilityChanged");
|
||||
window.dispatchEvent(event);
|
||||
}, 100);
|
||||
// Wenn aktiviert, TALAS aktivieren
|
||||
if (checked) {
|
||||
const talasKey = "system-1";
|
||||
dispatch(setLayerVisibility({ layer: talasKey, visibility: true }));
|
||||
// Optional: mapLayersVisibility im localStorage aktualisieren, aber nicht mehr für Sichtbarkeit nutzen
|
||||
const mapId = localStorage.getItem("currentMapId");
|
||||
const userId = localStorage.getItem("currentUserId");
|
||||
const mapStorageKey =
|
||||
@@ -56,12 +62,36 @@ function MapLayersControlPanel() {
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
// LocalStorage Werte beim ersten Laden der Komponente wiederherstellen (nur für POI und mapLayersVisibility, nicht mehr für Kabelstrecken)
|
||||
// LocalStorage Werte beim ersten Laden der Komponente wiederherstellen
|
||||
const storedPoiVisible = localStorage.getItem("poiVisible");
|
||||
if (storedPoiVisible !== null) {
|
||||
setPoiVisible(storedPoiVisible === "true");
|
||||
}
|
||||
|
||||
// Neue Variable für Kabelstrecken mit Fallback auf die alte Variable
|
||||
let storedKabelstreckenVisible = localStorage.getItem("kabelstreckenVisible");
|
||||
const storedPolylineVisible = localStorage.getItem("polylineVisible");
|
||||
|
||||
// Falls kabelstreckenVisible nicht existiert, aber polylineVisible schon, übernehmen wir den Wert
|
||||
if (storedKabelstreckenVisible === null && storedPolylineVisible !== null) {
|
||||
storedKabelstreckenVisible = storedPolylineVisible;
|
||||
localStorage.setItem("kabelstreckenVisible", storedPolylineVisible);
|
||||
}
|
||||
|
||||
if (storedKabelstreckenVisible !== null) {
|
||||
const shouldBeVisible = storedKabelstreckenVisible === "true";
|
||||
setKabelstreckenVisible(shouldBeVisible);
|
||||
// Beide localStorage-Variablen synchronisieren
|
||||
localStorage.setItem("polylineVisible", shouldBeVisible.toString());
|
||||
// Redux für Konsistenz setzen
|
||||
dispatch(setPolylineVisible(shouldBeVisible));
|
||||
// Event auslösen nach dem Laden
|
||||
setTimeout(() => {
|
||||
const event = new Event("polylineVisibilityChanged");
|
||||
window.dispatchEvent(event);
|
||||
}, 200);
|
||||
}
|
||||
|
||||
// Kartenspezifischer localStorage-Key verwenden
|
||||
const mapId = localStorage.getItem("currentMapId");
|
||||
const userId = localStorage.getItem("currentUserId");
|
||||
|
||||
Binary file not shown.
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "nodemap",
|
||||
"version": "1.1.334",
|
||||
"version": "1.1.335",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "nodemap",
|
||||
"version": "1.1.334",
|
||||
"version": "1.1.335",
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.13.3",
|
||||
"@emotion/styled": "^11.13.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nodemap",
|
||||
"version": "1.1.334",
|
||||
"version": "1.1.335",
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.13.3",
|
||||
"@emotion/styled": "^11.13.0",
|
||||
|
||||
Reference in New Issue
Block a user