X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/3eda00155a3d816c7e65632c7da9896ffb04faae..566e41a3c9fa038975566bf33487721848f1532f:/src/store/multiselect/multiselect-reducer.tsx diff --git a/src/store/multiselect/multiselect-reducer.tsx b/src/store/multiselect/multiselect-reducer.tsx index 75c4b1f9..099a1b5b 100644 --- a/src/store/multiselect/multiselect-reducer.tsx +++ b/src/store/multiselect/multiselect-reducer.tsx @@ -15,7 +15,7 @@ const multiselectToolbarInitialState = { checkedList: {}, }; -const { TOGGLE_VISIBLITY, SET_CHECKEDLIST, DESELECT_ONE } = multiselectActionContants; +const { TOGGLE_VISIBLITY, SET_CHECKEDLIST, SELECT_ONE, DESELECT_ONE, TOGGLE_ONE } = multiselectActionContants; export const multiselectReducer = (state: MultiselectToolbarState = multiselectToolbarInitialState, action) => { switch (action.type) { @@ -23,8 +23,12 @@ export const multiselectReducer = (state: MultiselectToolbarState = multiselectT 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; }