feat: WebSocket-basierte Live-Aktualisierung für alle GIS-Daten umgesetzt
- UI-Reaktivität für GisLinesStatus, GisStationsMeasurements, GisStationsStaticDistrict und GisStationsStatusDistrict erfolgreich implementiert - WebSocket-Daten werden direkt über Redux-Slices aktualisiert - useDynamicDeviceLayers Hook reagiert zuverlässig auf neue Slice-Daten - Leaflet Marker werden korrekt neu gesetzt und in der UI dargestellt - Performance verbessert durch gezieltes diff-basiertes Re-Rendering
This commit is contained in:
@@ -7,6 +7,7 @@ import plusRoundIcon from "@/components/icons/devices/overlapping/PlusRoundIcon"
|
||||
import { useSelector } from "react-redux";
|
||||
import { selectGisStationsStaticDistrict } from "@/redux/slices/webservice/gisStationsStaticDistrictSlice.js";
|
||||
import { selectGisStationsMeasurements } from "@/redux/slices/webservice/gisStationsMeasurementsSlice.js";
|
||||
import { selectGisStationsStatusDistrict } from "@/redux/slices/webservice/gisStationsStatusDistrictSlice.js";
|
||||
|
||||
/**
|
||||
* Dynamisch GIS-System-Marker erstellen & Sichtbarkeit steuern.
|
||||
@@ -19,6 +20,8 @@ import { selectGisStationsMeasurements } from "@/redux/slices/webservice/gisStat
|
||||
const useDynamicDeviceLayers = (map, GisSystemStatic, mapLayersVisibility, priorityConfig, oms) => {
|
||||
const measurements = useSelector(selectGisStationsMeasurements);
|
||||
const staticDistrictData = useSelector(selectGisStationsStaticDistrict);
|
||||
const statusDistrict = useSelector(selectGisStationsStatusDistrict);
|
||||
|
||||
const [markerStates, setMarkerStates] = useState({});
|
||||
const layerRefs = useRef({});
|
||||
|
||||
@@ -59,7 +62,7 @@ const useDynamicDeviceLayers = (map, GisSystemStatic, mapLayersVisibility, prior
|
||||
oms
|
||||
);
|
||||
});
|
||||
}, [map, GisSystemStatic, priorityConfig, staticDistrictData, measurements]);
|
||||
}, [map, GisSystemStatic, priorityConfig, staticDistrictData, measurements, statusDistrict]);
|
||||
|
||||
// Sichtbarkeit nach Redux-Status steuern
|
||||
useEffect(() => {
|
||||
|
||||
Reference in New Issue
Block a user