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 { MOVE_TO, TOGGLE_TRASH_ACTION, COPY_TO_CLIPBOARD, COPY_AND_RERUN_PROCESS, REMOVE } = contextMenuActionConsts;
24 const collectionMSActionsFilter = new Set([COPY_TO_CLIPBOARD, MOVE_TO, TOGGLE_TRASH_ACTION]);
25 const projectMSActionsFilter = new Set([COPY_TO_CLIPBOARD, MOVE_TO, TOGGLE_TRASH_ACTION]);
26 const processResourceMSActionsFilter = new Set([COPY_AND_RERUN_PROCESS, MOVE_TO, REMOVE]);
28 const { COLLECTION, PROJECT, PROCESS } = ResourceKind;
30 export const multiselectActionsFilters: TMultiselectActionsFilters = {
31 [COLLECTION]: [collectionActionSet, collectionMSActionsFilter],
32 [PROJECT]: [projectActionSet, projectMSActionsFilter],
33 [PROCESS]: [processResourceActionSet, processResourceMSActionsFilter],