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:
@@ -84,22 +84,11 @@ function monitorContextMenu(map) {
|
||||
}
|
||||
|
||||
export const setupPolylines = (map, linePositions, lineColors, tooltipContents, setNewCoords, tempMarker, currentZoom, currentCenter, polylineVisible) => {
|
||||
// Hole activeLines direkt aus Redux
|
||||
const state = store.getState(); // Hole den gesamten Zustand
|
||||
const activeLines = state.lineVisibility.activeLines; // Zugriff auf activeLines
|
||||
|
||||
if (!activeLines) {
|
||||
console.warn("activeLines ist undefined oder null.");
|
||||
if (!polylineVisible) {
|
||||
console.warn("Polylines deaktiviert - keine Zeichnung");
|
||||
return { markers: [], polylines: [] };
|
||||
}
|
||||
|
||||
if (localStorage.getItem("polylineVisible") === null) {
|
||||
localStorage.setItem("polylineVisible", "true"); // Standardwert setzen
|
||||
polylineVisible = true; // Wert in der Funktion initialisieren
|
||||
} else {
|
||||
polylineVisible = localStorage.getItem("polylineVisible") === "true";
|
||||
}
|
||||
|
||||
if (!polylineVisible) {
|
||||
// Entferne alle Polylinien, wenn sie ausgeblendet werden sollen
|
||||
if (window.polylines) {
|
||||
@@ -117,15 +106,8 @@ export const setupPolylines = (map, linePositions, lineColors, tooltipContents,
|
||||
|
||||
linePositions.forEach((lineData, lineIndex) => {
|
||||
console.log("LineData:", lineData.idLD, lineData.idModul);
|
||||
console.log("ActiveLines:", activeLines);
|
||||
|
||||
// **Fix: Sicherstellen, dass activeLines definiert ist und idLD existiert**
|
||||
const isActive = activeLines && lineData.idLD && activeLines[String(lineData.idLD)] === 1;
|
||||
|
||||
if (!isActive) {
|
||||
console.warn(`Linie mit idLD ${lineData.idLD} wird ausgeblendet.`);
|
||||
return;
|
||||
}
|
||||
|
||||
const lineMarkers = [];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user