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:
Ismail Ali
2025-03-06 20:11:24 +01:00
parent a837291048
commit bed9ce7772
2 changed files with 13 additions and 15 deletions

View File

@@ -31,6 +31,16 @@ function DataSheet() {
const checked = event.target.checked; const checked = event.target.checked;
dispatch(setPolylineVisible(checked)); dispatch(setPolylineVisible(checked));
localStorage.setItem("polylineVisible", 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 const [bereicheVisible, setBereicheVisible] = useState(false); // NEU: Bereiche-Status
@@ -100,27 +110,15 @@ function DataSheet() {
}, [GisStationsStaticDistrict, GisSystemStatic]); }, [GisStationsStaticDistrict, GisSystemStatic]);
const handleCheckboxChange = (key, event) => { const handleCheckboxChange = (key, event) => {
if (editMode) return; // Checkbox deaktiviert bei aktivem EditMode if (editMode) return;
const { checked } = event.target; 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) => { setMapLayersVisibility((prev) => {
const newState = { const newState = { ...prev, [key]: checked };
...prev,
[key]: checked,
};
localStorage.setItem("mapLayersVisibility", JSON.stringify(newState)); localStorage.setItem("mapLayersVisibility", JSON.stringify(newState));
return newState; return newState;
}); });
// Manuell die Überprüfung der Marker aktualisieren
setTimeout(() => { setTimeout(() => {
const event = new Event("visibilityChanged"); const event = new Event("visibilityChanged");
window.dispatchEvent(event); window.dispatchEvent(event);

View File

@@ -1,2 +1,2 @@
// /config/appVersion // /config/appVersion
export const APP_VERSION = "1.1.12"; export const APP_VERSION = "1.1.13";