feat: Automatische Aktivierung von TALAS Meldestation bei Aktivierung der Kabelstrecken-Checkbox
- Wenn die Checkbox "Kabelstrecken" aktiviert wird, wird automatisch die Checkbox "TALAS Meldestation" ebenfalls aktiviert. - Status-Synchronisierung erfolgt über Redux und localStorage. - TALAS Meldestation kann weiterhin unabhängig deaktiviert werden. - Wenn die TALAS-Checkbox aktiviert wird, beeinflusst das nicht die Kabelstrecken. - Stellt sicher, dass bei aktivierten Kabelstrecken die zugehörigen TALAS-Stationen immer sichtbar sind.
This commit is contained in:
@@ -31,6 +31,16 @@ function DataSheet() {
|
||||
const checked = event.target.checked;
|
||||
dispatch(setPolylineVisible(checked));
|
||||
localStorage.setItem("polylineVisible", checked);
|
||||
|
||||
if (checked) {
|
||||
// Wenn Kabelstrecken aktiviert wird, TALAS automatisch auch aktivieren
|
||||
const newMapLayersVisibility = {
|
||||
...mapLayersVisibility,
|
||||
TALAS: true,
|
||||
};
|
||||
setMapLayersVisibility(newMapLayersVisibility);
|
||||
localStorage.setItem("mapLayersVisibility", JSON.stringify(newMapLayersVisibility));
|
||||
}
|
||||
};
|
||||
|
||||
const [bereicheVisible, setBereicheVisible] = useState(false); // NEU: Bereiche-Status
|
||||
@@ -100,27 +110,15 @@ function DataSheet() {
|
||||
}, [GisStationsStaticDistrict, GisSystemStatic]);
|
||||
|
||||
const handleCheckboxChange = (key, event) => {
|
||||
if (editMode) return; // Checkbox deaktiviert bei aktivem EditMode
|
||||
if (editMode) return;
|
||||
const { checked } = event.target;
|
||||
|
||||
// Aktualisiere `polylineVisible` separat
|
||||
if (key === "TALAS" && !checked) {
|
||||
setPolylineVisible(false); // Setze den Zustand von Kabelstrecken auf false
|
||||
localStorage.setItem("polylineVisible", false); // Synchronisiere mit localStorage
|
||||
}
|
||||
|
||||
// Aktualisiere `mapLayersVisibility`
|
||||
setMapLayersVisibility((prev) => {
|
||||
const newState = {
|
||||
...prev,
|
||||
[key]: checked,
|
||||
};
|
||||
|
||||
const newState = { ...prev, [key]: checked };
|
||||
localStorage.setItem("mapLayersVisibility", JSON.stringify(newState));
|
||||
return newState;
|
||||
});
|
||||
|
||||
// Manuell die Überprüfung der Marker aktualisieren
|
||||
setTimeout(() => {
|
||||
const event = new Event("visibilityChanged");
|
||||
window.dispatchEvent(event);
|
||||
|
||||
Reference in New Issue
Block a user