1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { ResourceKind } from 'models/resource';
6 import { MultiSelectMenuActionSet, MultiSelectMenuActionNames } from 'views-components/multiselect-toolbar/ms-menu-action-set';
7 import { msCollectionActionSet } from 'views-components/multiselect-toolbar/ms-collection-action-set';
8 import { msProjectActionSet } from 'views-components/multiselect-toolbar/ms-project-action-set';
9 import { msProcessActionSet } from 'views-components/multiselect-toolbar/ms-process-action-set';
11 export type TMultiselectActionsFilters = Record<string, [MultiSelectMenuActionSet, Set<string>]>;
17 COPY_AND_RERUN_PROCESS,
25 OPEN_W_3RD_PARTY_CLIENT,
29 } = MultiSelectMenuActionNames;
31 //these sets govern what actions are on the ms toolbar for each resource kind
32 const projectMSActionsFilter = new Set([
36 COPY_AND_RERUN_PROCESS,
44 OPEN_W_3RD_PARTY_CLIENT,
49 const processResourceMSActionsFilter = new Set([MOVE_TO, REMOVE]);
50 const collectionMSActionsFilter = new Set([MAKE_A_COPY, MOVE_TO, ADD_TO_TRASH]);
52 const { COLLECTION, PROJECT, PROCESS } = ResourceKind;
54 export const multiselectActionsFilters: TMultiselectActionsFilters = {
55 [PROJECT]: [msProjectActionSet, projectMSActionsFilter],
56 [PROCESS]: [msProcessActionSet, processResourceMSActionsFilter],
57 [COLLECTION]: [msCollectionActionSet, collectionMSActionsFilter],