21128: changed rowClick to toggle instead of select Arvados-DCO-1.1-Signed-off-by...
[arvados-workbench2.git] / src / store / multiselect / multiselect-reducer.tsx
index 75c4b1f99388d5567b98cf7955c59db297355fd1..099a1b5bf836c9836ac8f143405edf8f1424112d 100644 (file)
@@ -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;
     }