1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { multiselectActions } from "./multiselect-actions";
6 import { TCheckedList } from "components/data-table/data-table";
8 type MultiselectToolbarState = {
10 checkedList: TCheckedList;
13 const multiselectToolbarInitialState = {
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 if (action.type === multiselectActions.DESELECT_ONE) {
22 return { ...state, checkedList: { ...state.checkedList, [action.payload]: false } };
27 const updateCheckedList = (uuid: string, newValue: boolean, checkedList: TCheckedList) => {
29 // const newList = { ...checkedList };
30 // newList[uuid] = newValue;