fix: Duplizierte Kontextmenü-Einträge verhindert und Cleanup hinzugefügt
- Kontextmenü wird jetzt nur einmal hinzugefügt, wenn es noch nicht existiert. - Vor dem Hinzufügen wird geprüft, ob bereits Einträge existieren, um Duplikate zu vermeiden. - Kontextmenü wird entfernt, wenn außerhalb geklickt wird, um Speicherlecks zu verhindern. - Nutzung eines `Set()` für Menü-IDs, um doppelte Einträge sicher zu verhindern.
This commit is contained in:
14
redux/slices/selectedDeviceSlice.js
Normal file
14
redux/slices/selectedDeviceSlice.js
Normal file
@@ -0,0 +1,14 @@
|
||||
// redux/slices/selectedDeviceSlice.js
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
|
||||
export const selectedDeviceSlice = createSlice({
|
||||
name: "selectedDevice",
|
||||
initialState: null,
|
||||
reducers: {
|
||||
setSelectedDevice: (state, action) => action.payload, // Speichert Device-Daten
|
||||
clearSelectedDevice: () => null, // Entfernt das Gerät aus dem State
|
||||
},
|
||||
});
|
||||
|
||||
export const { setSelectedDevice, clearSelectedDevice } = selectedDeviceSlice.actions;
|
||||
export default selectedDeviceSlice.reducer;
|
||||
@@ -1,8 +1,14 @@
|
||||
// redux/slices/selectedPoiSlice.js
|
||||
//Ist gedacht um ausgewählte Poi Informationen zu speichern und zu PoiUpdateModal.js zu übergeben
|
||||
import { atom } from "recoil";
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
|
||||
export const selectedPoiState = atom({
|
||||
key: "poiState", // Einzigartiger Key (mit der gesamten Anwendung)
|
||||
default: null, // Standardwert
|
||||
export const selectedPoiSlice = createSlice({
|
||||
name: "selectedPoi",
|
||||
initialState: null,
|
||||
reducers: {
|
||||
setSelectedPoi: (state, action) => action.payload, // Speichert POI-Daten
|
||||
clearSelectedPoi: () => null, // Entfernt POI aus dem State
|
||||
},
|
||||
});
|
||||
|
||||
export const { setSelectedPoi, clearSelectedPoi } = selectedPoiSlice.actions;
|
||||
export default selectedPoiSlice.reducer;
|
||||
|
||||
@@ -12,6 +12,8 @@ import gisStationsStaticReducer from "./slices/webService/gisStationsStaticSlice
|
||||
import poiTypesReducer from "./slices/db/poiTypesSlice";
|
||||
import addPoiOnPolylineReducer from "./slices/addPoiOnPolylineSlice";
|
||||
import polylineContextMenuReducer from "./slices/polylineContextMenuSlice";
|
||||
import selectedPoiReducer from "./slices/selectedPoiSlice";
|
||||
import selectedDeviceReducer from "./slices/selectedDeviceSlice";
|
||||
|
||||
export const store = configureStore({
|
||||
reducer: {
|
||||
@@ -27,5 +29,7 @@ export const store = configureStore({
|
||||
poiTypes: poiTypesReducer,
|
||||
addPoiOnPolyline: addPoiOnPolylineReducer,
|
||||
polylineContextMenu: polylineContextMenuReducer,
|
||||
selectedPoi: selectedPoiReducer,
|
||||
selectedDevice: selectedDeviceReducer,
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user