1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { ResourceKind } from 'models/resource';
6 import { ContextMenuActionSet } from 'views-components/context-menu/context-menu-action-set';
7 import { collectionActionSet } from 'views-components/context-menu/action-sets/collection-action-set';
8 import { projectActionSet } from 'views-components/context-menu/action-sets/project-action-set';
9 import { processResourceActionSet } from 'views-components/context-menu/action-sets/process-resource-action-set';
11 export type TMultiselectActionsFilters = Record<string, [ContextMenuActionSet, Set<string>]>;
13 export const contextMenuActionConsts = {
14 MAKE_A_COPY: 'Make a copy',
16 TOGGLE_TRASH_ACTION: 'ToggleTrashAction',
17 COPY_TO_CLIPBOARD: 'Copy to clipboard',
18 COPY_AND_RERUN_PROCESS: 'Copy and re-run process',
22 const { MAKE_A_COPY, MOVE_TO, TOGGLE_TRASH_ACTION, COPY_TO_CLIPBOARD, COPY_AND_RERUN_PROCESS, REMOVE } =
23 contextMenuActionConsts;
25 const collectionMSActionsFilter = new Set([MAKE_A_COPY, MOVE_TO, TOGGLE_TRASH_ACTION]);
26 const projectMSActionsFilter = new Set([COPY_TO_CLIPBOARD, MOVE_TO, TOGGLE_TRASH_ACTION]);
27 const processResourceMSActionsFilter = new Set([COPY_AND_RERUN_PROCESS, MOVE_TO, REMOVE]);
29 const { COLLECTION, PROJECT, PROCESS } = ResourceKind;
31 export const multiselectActionsFilters: TMultiselectActionsFilters = {
32 [COLLECTION]: [collectionActionSet, collectionMSActionsFilter],
33 [PROJECT]: [projectActionSet, projectMSActionsFilter],
34 [PROCESS]: [processResourceActionSet, processResourceMSActionsFilter],