refactor: GIS-Redux-Slices reduziert auf 4 (statt 5) – veraltete Slices und Thunks entfernt, Code bereinigt

This commit is contained in:
ISA
2025-05-21 09:57:02 +02:00
parent a081a94731
commit 3a30162783
17 changed files with 163 additions and 208 deletions

View File

@@ -39,14 +39,12 @@ import CoordinatePopup from "../CoordinatePopup.js";
import { fetchPoiDataService } from "../../services/database/fetchPoiDataService.js";
import { selectPolylineVisible, setPolylineVisible } from "../../redux/slices/polylineLayerVisibleSlice.js";
import { fetchLocationDevicesFromDB } from "../../redux/slices/db/locationDevicesFromDBSlice";
import { fetchGisStationsStaticDistrictFromWebService } from "../../redux/slices/webService/gisStationsStaticDistrictSlice";
import { selectGisStationsStaticDistrict } from "../../redux/slices/webService/gisStationsStaticDistrictSlice";
import { fetchGisStationsStatusDistrictFromWebService } from "../../redux/slices/webService/gisStationsStatusDistrictSlice";
import { fetchGisStationsMeasurementsFromWebService } from "../../redux/slices/webService/gisStationsMeasurementsSlice";
import { fetchGisSystemStaticFromWebService } from "../../redux/slices/webService/gisSystemStaticSlice";
import { selectGisSystemStatic, setGisSystemStatic } from "../../redux/slices/webService/gisSystemStaticSlice";
import ShowAddStationPopup from "../AddPOIModal.js";
import { fetchGisStationsStatic } from "../../redux/slices/webService/gisStationsStaticSlice";
import AddPOIOnPolyline from "../AddPOIOnPolyline";
import { enablePolylineEvents, disablePolylineEvents } from "../../utils/polylines/eventHandlers";
import { updateCountdown, closePolylineContextMenu } from "../../redux/slices/polylineContextMenuSlice";
@@ -60,6 +58,11 @@ import { setDisabled } from "../../redux/slices/polylineEventsDisabledSlice";
import { setMapId, setUserId } from "../../redux/slices/urlParameterSlice";
import { fetchPoiTypes } from "../../redux/slices/db/poiTypesSlice";
import { fetchGisStationsMeasurementsThunk } from "../../redux/thunks/fetchGisStationsMeasurementsThunk";
import { fetchGisSystemStaticThunk } from "../../redux/thunks/fetchGisSystemStaticThunk";
import { fetchGisStationsStaticDistrictThunk } from "../../redux/thunks/fetchGisStationsStaticDistrictThunk";
import { fetchGisStationsStatusDistrictThunk } from "../../redux/thunks/fetchGisStationsStatusDistrictThunk";
const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
const dispatch = useDispatch();
const countdown = useSelector((state) => state.polylineContextMenu.countdown);
@@ -74,6 +77,11 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
const [menuItemAdded, setMenuItemAdded] = useState(false);
const [isPopupOpen, setIsPopupOpen] = useState(false);
const statusMeasurements = useSelector((state) => state.gisStationsMeasurements.status);
const statusSystem = useSelector((state) => state.gisSystemStatic.status);
const statusStaticDistrict = useSelector((state) => state.gisStationsStaticDistrict.status);
const statusStatusDistrict = useSelector((state) => state.gisStationsStatusDistrict.status);
const openPopupWithCoordinates = (e) => {
const coordinates = `${e.latlng.lat.toFixed(5)}, ${e.latlng.lng.toFixed(5)}`;
setCurrentCoordinates(coordinates);
@@ -873,6 +881,7 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
);
}
}, [map, menuItemAdded]);
//--------------------------------------------
//--------------------------------------------
// Beim ersten Client-Render den Wert aus localStorage laden
@@ -880,6 +889,24 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
const storedPolylineVisible = localStorage.getItem("polylineVisible") === "true";
dispatch(setPolylineVisible(storedPolylineVisible));
}, [dispatch]);
//--------------------------------------------
useEffect(() => {
if (statusMeasurements === "idle") {
dispatch(fetchGisStationsMeasurementsThunk());
}
}, [statusMeasurements, dispatch]);
useEffect(() => {
if (statusSystem === "idle") {
dispatch(fetchGisSystemStaticThunk());
}
}, [statusSystem, dispatch]);
useEffect(() => {
if (statusStatusDistrict === "idle") {
dispatch(fetchGisStationsStatusDistrictThunk());
}
}, [statusStatusDistrict, dispatch]);
//----------------------------------------------
// speichere location devices in redux store
@@ -889,26 +916,15 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
}, [dispatch]);
useEffect(() => {
dispatch(fetchGisStationsStaticDistrictFromWebService());
dispatch(fetchGisStationsStaticDistrictThunk());
}, [dispatch]);
useEffect(() => {
dispatch(fetchGisStationsStatusDistrictFromWebService());
dispatch(fetchGisStationsMeasurementsThunk());
}, [dispatch]);
useEffect(() => {
dispatch(fetchGisStationsMeasurementsFromWebService());
dispatch(fetchGisSystemStaticThunk());
}, [dispatch]);
useEffect(() => {
dispatch(fetchGisSystemStaticFromWebService());
}, [dispatch]);
const gisStationsStatic = useSelector((state) => state.gisStationsStatic.data);
useEffect(() => {
if (!gisStationsStatic) {
dispatch(fetchGisStationsStatic());
}
}, [gisStationsStatic, dispatch]);
//--------------------------------------
useEffect(() => {