feat: Linienanzeige abhängig vom Status der Stationen (CPLs)
- Polylinien werden nur angezeigt, wenn die zugehörigen Stationen (CPLs) aktiv sind - Redux speichert den Status der Stationen (1 = aktiv, 0 = inaktiv) - setupPolylines.js überprüft jetzt direkt in Redux, ob eine Linie gezeichnet werden soll - Entfernt den unnötigen activeLines-Parameter in MapComponent.js für eine bessere Struktur - Optimierte Performance: Linien ändern sich dynamisch ohne Seiten-Reload
This commit is contained in:
@@ -12,6 +12,7 @@ import { openInNewTab } from "./openInNewTab";
|
||||
import { toast } from "react-toastify";
|
||||
import { polylineLayerVisibleState } from "../store/atoms/polylineLayerVisibleState";
|
||||
import { useRecoilValue } from "recoil";
|
||||
import { store } from "../redux/store"; // Importiere den Store
|
||||
|
||||
// Funktion zum Deaktivieren der Polyline-Ereignisse
|
||||
export function disablePolylineEvents(polylines) {
|
||||
@@ -81,11 +82,16 @@ function monitorContextMenu(map) {
|
||||
}, 1000); // Alle 1 Sekunde überprüfen
|
||||
}
|
||||
|
||||
export const setupPolylines = (map, linePositions, lineColors, tooltipContents, setNewCoords, tempMarker, currentZoom, currentCenter, polylineVisible, activeLines) => {
|
||||
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.");
|
||||
return { markers: [], polylines: [] };
|
||||
}
|
||||
|
||||
if (localStorage.getItem("polylineVisible") === null) {
|
||||
localStorage.setItem("polylineVisible", "true"); // Standardwert setzen
|
||||
polylineVisible = true; // Wert in der Funktion initialisieren
|
||||
@@ -114,6 +120,7 @@ export const setupPolylines = (map, linePositions, lineColors, tooltipContents,
|
||||
|
||||
// **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;
|
||||
|
||||
Reference in New Issue
Block a user