in src/state/panel/panelReducer.ts [94:122]
export default function panelReducer<NodeType, EdgeType>(
state: DiagramMakerPanels | undefined, action: DiagramMakerAction<NodeType, EdgeType>
): DiagramMakerPanels {
if (state === undefined) {
return {};
}
switch (action.type) {
case PanelActionsType.PANEL_RESIZE:
return produce(state, (draftState) => {
if (draftState[action.payload.id]) {
draftState[action.payload.id].size = action.payload.size;
}
});
case PanelActionsType.PANEL_DRAG:
return produce(state, (draftState) => {
if (draftState[action.payload.id] && !draftState[action.payload.id].positionAnchor) {
dragReducer(draftState, action);
}
});
case PanelActionsType.PANEL_DRAG_START:
return produce(state, (draftState) => {
if (draftState[action.payload.id]) {
dragStartReducer(draftState, action);
}
});
default:
return state;
}
}