//
// SPDX-License-Identifier: AGPL-3.0
-import { multiselectActions } from "./multiselect-actions";
+import { multiselectActionContants } from "./multiselect-actions";
import { TCheckedList } from "components/data-table/data-table";
type MultiselectToolbarState = {
checkedList: {},
};
-const { TOGGLE_VISIBLITY, SET_CHECKEDLIST, DESELECT_ONE } = multiselectActions;
+const { TOGGLE_VISIBLITY, SET_CHECKEDLIST, SELECT_ONE, DESELECT_ONE, TOGGLE_ONE } = multiselectActionContants;
export const multiselectReducer = (state: MultiselectToolbarState = multiselectToolbarInitialState, action) => {
switch (action.type) {
return { ...state, isVisible: action.payload };
case SET_CHECKEDLIST:
return { ...state, checkedList: action.payload };
+ case SELECT_ONE:
+ return { ...state, checkedList: { ...state.checkedList, [action.payload]: true } };
case DESELECT_ONE:
return { ...state, checkedList: { ...state.checkedList, [action.payload]: false } };
+ case TOGGLE_ONE:
+ return { ...state, checkedList: { ...state.checkedList, [action.payload]: !state.checkedList[action.payload] } };
default:
return state;
}