feat: GisStationsStaticDistrict in Redux-Store integriert

- WebService-Endpoint für GisStationsStaticDistrict angebunden
- Daten beim Start der Anwendung automatisch geladen und in Redux gespeichert
- UI (DataSheet) verwendet die Daten direkt aus dem Redux-Store
- Fehlerhandling und Initialzustand in Redux-Slice verbessert
- Alte lokale Fetch-Logik entfernt, zentrale Datenhaltung über Redux
This commit is contained in:
Ismail Ali
2025-03-07 22:20:21 +01:00
parent c57ae7717a
commit 86d8e4924a
11 changed files with 110 additions and 30 deletions

View File

@@ -1,4 +1,4 @@
// components/MapComponent.js
// components/mainComponent/MapComponent.js
import React, { useEffect, useRef, useState, useCallback } from "react";
import L from "leaflet";
import "leaflet/dist/leaflet.css";
@@ -40,12 +40,11 @@ import { updateLocation } from "../../utils/updateBereichUtil.js";
import { initGeocoderFeature } from "../features/GeocoderFeature.js";
//--------------------------------------------
//import { currentPoiState } from "../redux/slices/currentPoiSlice.js";
import { selectGisStationsStaticDistrict, setGisStationsStaticDistrict } from "../../redux/slices/webService/gisStationsStaticDistrictSlice.js";
import { mapIdState, userIdState } from "../../redux/slices/urlParameterSlice.js";
import { poiLayerVisibleState } from "../../redux/slices/poiLayerVisibleSlice.js";
import { selectedPoiState } from "../../redux/slices/selectedPoiSlice.js";
import { poiReadFromDbTriggerAtom } from "../../redux/slices/poiReadFromDbTriggerSlice.js";
import { gisStationsStaticDistrictState } from "../../redux/slices/webService/gisStationsStaticDistrictSlice.js";
import { gisSystemStaticState } from "../../redux/slices/webService/gisSystemStaticSlice.js";
import { mapLayersState } from "../../redux/slices/mapLayersSlice.js";
import { selectedAreaState } from "../../redux/slices/selectedAreaSlice.js";
@@ -70,6 +69,8 @@ import { fetchGisSystemStatic } from "../../services/api/fetchGisSystemStatic.js
import { usePolylineTooltipLayer } from "../../hooks/usePolylineTooltipLayer.js";
import { selectPolylineVisible, setPolylineVisible } from "../../redux/slices/polylineLayerVisibleSlice.js";
import { useInitLocationDevices } from "./hooks/useInitLocationDevices";
import { useInitGisStationsStaticDistrict } from "./hooks/useInitGisStationsStaticDistrict";
import { selectGisStationsStaticDistrict } from "../../redux/slices/webService/gisStationsStaticDistrictSlice";
const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
const dispatch = useDispatch();
@@ -999,7 +1000,12 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
//----------------------------------------------
// speichere location devices in redux store
useInitLocationDevices();
useInitGisStationsStaticDistrict();
//--------------------------------------
useEffect(() => {
console.log("GisStationsStaticDistrict aus Redux:", GisStationsStaticDistrict);
}, [GisStationsStaticDistrict]);
//---------------------------------------
return (
<>