WIP: Kabelstrecken

This commit is contained in:
ISA
2025-08-21 15:12:25 +02:00
parent c6871692aa
commit aea439f135
7 changed files with 13 additions and 6 deletions

View File

@@ -97,6 +97,7 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
const countdownActive = useSelector(state => state.polylineContextMenu.countdownActive);
const isPolylineContextMenuOpen = useSelector(state => state.polylineContextMenu.isOpen);
const polylineVisible = useSelector(selectPolylineVisible);
const polylineInitialized = useSelector(state => state.polylineLayerVisible.isInitialized);
const GisSystemStatic = useSelector(selectGisSystemStatic);
// Prüfen, ob TALAS (IdSystem 1) erlaubt ist
const isTalasAllowed = Array.isArray(GisSystemStatic)
@@ -456,6 +457,7 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
newCoords,
tempMarker,
polylineVisible,
polylineInitialized,
isTalasAllowed,
poiLayerVisible,
]);

View File

@@ -6,6 +6,7 @@ import { useSelector, useDispatch } from "react-redux";
import {
selectPolylineVisible,
setPolylineVisible,
initializePolylineFromLocalStorageThunk,
} from "@/redux/slices/database/polylines/polylineLayerVisibleSlice";
import { selectGisSystemStatic } from "@/redux/slices/webservice/gisSystemStaticSlice";
import { selectGisStationsStaticDistrict } from "@/redux/slices/webservice/gisStationsStaticDistrictSlice";
@@ -14,6 +15,8 @@ import { setVisible } from "@/redux/slices/database/pois/poiLayerVisibleSlice";
import { incrementZoomTrigger } from "@/redux/slices/zoomTriggerSlice";
function MapLayersControlPanel() {
// Dummy state to force re-render after checkbox click (workaround for Redux/localStorage sync)
const [forceUpdate, setForceUpdate] = useState(0);
const [editMode, setEditMode] = useState(false); // Zustand für editMode
const [localStorageLoaded, setLocalStorageLoaded] = useState(false); // Tracking ob localStorage geladen wurde
const kabelstreckenVisible = useSelector(selectPolylineVisible); // Redux State für Kabelstrecken
@@ -41,8 +44,10 @@ function MapLayersControlPanel() {
const handlePolylineCheckboxChange = event => {
const checked = event.target.checked;
dispatch(setPolylineVisible(checked));
dispatch(setPolylineVisible(checked));
// Synchronisiere Redux nach localStorage-Update
setTimeout(() => {
dispatch(initializePolylineFromLocalStorageThunk());
setForceUpdate(f => f + 1); // Force re-render
const event = new Event("polylineVisibilityChanged");
window.dispatchEvent(event);
}, 100);