- Implementiert `store.subscribe()` in `setupPolylines.js`, um das Kontextmenü-Handling über Redux zu steuern. - Ersetzt `useDispatch()` und `useSelector()` durch `store.dispatch()` und `store.getState()` in einer Nicht-React-Datei. - Fügt eine `forceClose`-Action in `polylineContextMenuSlice.js` hinzu, um das Kontextmenü synchron mit `setInterval` zu schließen. - Stellt sicher, dass das Kontextmenü **immer vor Ablauf des 20-Sekunden-Intervalls** geschlossen wird. - Verhindert doppelte Menüinstanzen und sorgt für ein stabiles Verhalten bei wiederholten Interaktionen. ✅ Fix für `TypeError: Cannot read properties of null (reading 'contextmenu')` ✅ **Verhindert Kontextmenü-Fehler beim automatischen Datenupdate** ✅ **Redux-gesteuerte Menüverwaltung für stabilere Performance** ✅ **Kein unerwartetes Offenbleiben oder erneutes Rendern des Menüs mehr**
32 lines
1.6 KiB
JavaScript
32 lines
1.6 KiB
JavaScript
// /redux/store.js
|
|
import { configureStore } from "@reduxjs/toolkit";
|
|
import lineVisibilityReducer from "./slices/lineVisibilitySlice";
|
|
import currentPoiReducer from "./slices/currentPoiSlice";
|
|
import polylineLayerVisibleReducer from "./slices/polylineLayerVisibleSlice";
|
|
import locationDevicesFromDBReducer from "./slices/db/locationDevicesFromDBSlice";
|
|
import gisStationsStaticDistrictReducer from "./slices/webService/gisStationsStaticDistrictSlice";
|
|
import gisStationsStatusDistrictReducer from "./slices/webService/gisStationsStatusDistrictSlice";
|
|
import gisStationsMeasurementsReducer from "./slices/webService/gisStationsMeasurementsSlice";
|
|
import gisSystemStaticReducer from "./slices/webService/gisSystemStaticSlice";
|
|
import gisStationsStaticReducer from "./slices/webService/gisStationsStaticSlice";
|
|
import poiTypesReducer from "./slices/db/poiTypesSlice";
|
|
import addPoiOnPolylineReducer from "./slices/addPoiOnPolylineSlice";
|
|
import polylineContextMenuReducer from "./slices/polylineContextMenuSlice";
|
|
|
|
export const store = configureStore({
|
|
reducer: {
|
|
lineVisibility: lineVisibilityReducer,
|
|
currentPoi: currentPoiReducer,
|
|
polylineLayerVisible: polylineLayerVisibleReducer,
|
|
locationDevicesFromDB: locationDevicesFromDBReducer,
|
|
gisStationsStaticDistrict: gisStationsStaticDistrictReducer,
|
|
gisStationsStatusDistrict: gisStationsStatusDistrictReducer,
|
|
gisStationsMeasurements: gisStationsMeasurementsReducer,
|
|
gisSystemStatic: gisSystemStaticReducer,
|
|
gisStationsStatic: gisStationsStaticReducer,
|
|
poiTypes: poiTypesReducer,
|
|
addPoiOnPolyline: addPoiOnPolylineReducer,
|
|
polylineContextMenu: polylineContextMenuReducer,
|
|
},
|
|
});
|