1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { TCheckedList } from "components/data-table/data-table";
6 import { isExactlyOneSelected } from "components/multiselect-toolbar/MultiselectToolbar";
8 export const multiselectActionContants = {
9 TOGGLE_VISIBLITY: "TOGGLE_VISIBLITY",
10 SET_CHECKEDLIST: "SET_CHECKEDLIST",
11 SELECT_ONE: 'SELECT_ONE',
12 DESELECT_ONE: "DESELECT_ONE",
13 TOGGLE_ONE: 'TOGGLE_ONE',
14 SET_SELECTED_UUID: 'SET_SELECTED_UUID',
15 ADD_DISABLED: 'ADD_DISABLED',
16 REMOVE_DISABLED: 'REMOVE_DISABLED',
19 export const toggleMSToolbar = (isVisible: boolean) => {
21 dispatch({ type: multiselectActionContants.TOGGLE_VISIBLITY, payload: isVisible });
25 export const setCheckedListOnStore = (checkedList: TCheckedList) => {
27 dispatch(setSelectedUuid(isExactlyOneSelected(checkedList)))
28 dispatch({ type: multiselectActionContants.SET_CHECKEDLIST, payload: checkedList });
32 export const selectOne = (uuid: string) => {
34 dispatch({ type: multiselectActionContants.SELECT_ONE, payload: uuid });
38 export const deselectOne = (uuid: string) => {
40 dispatch({ type: multiselectActionContants.DESELECT_ONE, payload: uuid });
44 export const toggleOne = (uuid: string) => {
46 dispatch({ type: multiselectActionContants.TOGGLE_ONE, payload: uuid });
50 export const setSelectedUuid = (uuid: string | null) => {
52 dispatch({ type: multiselectActionContants.SET_SELECTED_UUID, payload: uuid });
56 export const addDisabledButton = (buttonName: string) => {
58 dispatch({ type: multiselectActionContants.ADD_DISABLED, payload: buttonName });
62 export const removeDisabledButton = (buttonName: string) => {
64 dispatch({ type: multiselectActionContants.REMOVE_DISABLED, payload: buttonName });
68 export const multiselectActions = {
70 setCheckedListOnStore,