Merge branch '13327-include-container-uuid' refs #13327
[arvados.git] / services / workbench2 / src / components / multiselect-toolbar / ms-kind-action-differentiator.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { ResourceKind } from "models/resource";
6 import { ContextMenuKind } from "views-components/context-menu/menu-item-sort"
7 import { MultiSelectMenuActionSet} from "views-components/multiselect-toolbar/ms-menu-actions";
8 import { msCollectionActionSet } from "views-components/multiselect-toolbar/ms-collection-action-set";
9 import { msProjectActionSet } from "views-components/multiselect-toolbar/ms-project-action-set";
10 import { msProcessActionSet } from "views-components/multiselect-toolbar/ms-process-action-set";
11 import { msWorkflowActionSet } from "views-components/multiselect-toolbar/ms-workflow-action-set";
12 import { msGroupActionSet } from "views-components/multiselect-toolbar/ms-group-action-set";
13 import { UserDetailsActionSet } from "views-components/multiselect-toolbar/ms-user-details-action-set";
14
15 export function findActionByName(name: string, actionSet: MultiSelectMenuActionSet) {
16     return actionSet[0].find(action => action.name === name);
17 }
18
19 const { COLLECTION, PROCESS, PROJECT, WORKFLOW, USER } = ResourceKind;
20 const { GROUPS } = ContextMenuKind;
21
22 export const kindToActionSet: Record<string, MultiSelectMenuActionSet> = {
23     [COLLECTION]: msCollectionActionSet,
24     [PROCESS]: msProcessActionSet,
25     [PROJECT]: msProjectActionSet,
26     [WORKFLOW]: msWorkflowActionSet,
27     [USER]: UserDetailsActionSet,
28     [GROUPS]: msGroupActionSet,
29 };