Update the react map for some new events.

This commit is contained in:
Dan Albert
2022-03-03 23:31:07 -08:00
parent 4539e91fa9
commit 92236a5bc3
16 changed files with 145 additions and 65 deletions

View File

@@ -4,11 +4,11 @@ import { ControlPoint } from "./controlpoint";
import { RootState } from "../app/store";
interface ControlPointsState {
controlPoints: ControlPoint[];
controlPoints: { [key: number]: ControlPoint };
}
const initialState: ControlPointsState = {
controlPoints: [],
controlPoints: {},
};
export const controlPointsSlice = createSlice({
@@ -16,12 +16,20 @@ export const controlPointsSlice = createSlice({
initialState,
reducers: {
setControlPoints: (state, action: PayloadAction<ControlPoint[]>) => {
state.controlPoints = action.payload;
state.controlPoints = {};
for (const cp of action.payload) {
state.controlPoints[cp.id] = cp;
}
},
updateControlPoint: (state, action: PayloadAction<ControlPoint>) => {
const cp = action.payload;
state.controlPoints[cp.id] = cp;
},
},
});
export const { setControlPoints } = controlPointsSlice.actions;
export const { setControlPoints, updateControlPoint } =
controlPointsSlice.actions;
export const selectControlPoints = (state: RootState) => state.controlPoints;