15768: project copy-to-clipboard works Arvados-DCO-1.1-Signed-off-by: Lisa Knox ...
[arvados-workbench2.git] / src / store / multiselect / multiselect-reducer.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { multiselectActions } from './multiselect-actions';
6 import { TCheckedList } from 'components/data-table/data-table';
7
8 type MultiselectToolbarState = {
9     isVisible: boolean;
10     checkedList: TCheckedList;
11 };
12
13 const multiselectToolbarInitialState = {
14     isVisible: false,
15     checkedList: {},
16 };
17
18 export const multiselectReducer = (state: MultiselectToolbarState = multiselectToolbarInitialState, action) => {
19     if (action.type === multiselectActions.TOGGLE_VISIBLITY) return { ...state, isVisible: action.payload };
20     if (action.type === multiselectActions.SET_CHECKEDLIST) return { ...state, checkedList: action.payload };
21     return state;
22 };