refactor: Polyline-Sichtbarkeit auf Redux umgestellt (ersetzt Recoil)
- Sichtbarkeitsstatus für Kabelstrecken/Polylines wird jetzt zentral im Redux-Store verwaltet. - Initialer Zustand wird aus localStorage gelesen und direkt in Redux gesetzt. - DataSheet-Checkbox steuert Redux-Status und synchronisiert mit localStorage. - MapComponent.js verwendet Redux-State direkt zur Steuerung von setupPolylines. - setupPolylines.js ist jetzt komplett "dumm" und bekommt den Sichtbarkeitsstatus nur noch als Parameter. - Konsistente Lösung für Initial-Laden, Checkbox-Wechsel und Map-Neuladen umgesetzt.
This commit is contained in:
@@ -1,7 +1,22 @@
|
||||
// /redux/slices/polylineLayerVisibleSlice.js
|
||||
import { atom } from "recoil";
|
||||
// redux/slices/polylineLayerVisibleSlice.js
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
|
||||
export const polylineLayerVisibleState = atom({
|
||||
key: "polylineLayerVisibleState",
|
||||
default: true, // Standardmäßig auf sichtbar setzen
|
||||
const initialState = {
|
||||
visible: false, // oder Standardwert
|
||||
};
|
||||
|
||||
const polylineLayerVisibleSlice = createSlice({
|
||||
name: "polylineLayerVisible",
|
||||
initialState,
|
||||
reducers: {
|
||||
setPolylineVisible: (state, action) => {
|
||||
state.visible = action.payload;
|
||||
localStorage.setItem("polylineVisible", action.payload);
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
export const { setPolylineVisible } = polylineLayerVisibleSlice.actions;
|
||||
export const selectPolylineVisible = (state) => state.polylineLayerVisible.visible;
|
||||
export default polylineLayerVisibleSlice.reducer;
|
||||
|
||||
@@ -2,11 +2,13 @@ import { configureStore } from "@reduxjs/toolkit";
|
||||
import lineVisibilityReducer from "./slices/lineVisibilitySlice";
|
||||
import currentPoiReducer from "./slices/currentPoiSlice";
|
||||
import gisStationsStaticDistrictReducer from "./slices/gisStationsStaticDistrictSlice";
|
||||
import polylineLayerVisibleReducer from "./slices/polylineLayerVisibleSlice";
|
||||
|
||||
export const store = configureStore({
|
||||
reducer: {
|
||||
lineVisibility: lineVisibilityReducer,
|
||||
currentPoi: currentPoiReducer,
|
||||
gisStationsStaticDistrict: gisStationsStaticDistrictReducer,
|
||||
polylineLayerVisible: polylineLayerVisibleReducer,
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user