1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { MultiSelectMenuActionSet } from 'views-components/multiselect-toolbar/ms-menu-actions';
6 import { msCollectionActionSet, msCommonCollectionActionFilter, msReadOnlyCollectionActionFilter } from 'views-components/multiselect-toolbar/ms-collection-action-set';
9 msCommonProjectActionFilter,
10 msReadOnlyProjectActionFilter,
11 msFilterGroupActionFilter,
12 msAdminFilterGroupActionFilter,
13 msFrozenProjectActionFilter,
14 msAdminFrozenProjectActionFilter
15 } from 'views-components/multiselect-toolbar/ms-project-action-set';
16 import { msProcessActionSet, msCommonProcessActionFilter, msAdminProcessActionFilter, msRunningProcessActionFilter } from 'views-components/multiselect-toolbar/ms-process-action-set';
17 import { msWorkflowActionSet, msWorkflowActionFilter, msReadOnlyWorkflowActionFilter } from 'views-components/multiselect-toolbar/ms-workflow-action-set';
18 import { ResourceKind } from 'models/resource';
19 import { ContextMenuKind } from 'views-components/context-menu/menu-item-sort';
26 RUNNING_PROCESS_RESOURCE,
27 RUNNING_PROCESS_ADMIN,
40 export type TMultiselectActionsFilters = Record<string, [MultiSelectMenuActionSet, Set<string>]>;
42 const allActionNames = (actionSet: MultiSelectMenuActionSet): Set<string> => new Set(actionSet[0].map((action) => action.name));
44 export const multiselectActionsFilters: TMultiselectActionsFilters = {
45 [COLLECTION]: [msCollectionActionSet, msCommonCollectionActionFilter],
46 [COLLECTION_ADMIN]: [msCollectionActionSet, allActionNames(msCollectionActionSet)],
47 [READONLY_COLLECTION]: [msCollectionActionSet, msReadOnlyCollectionActionFilter],
48 [ResourceKind.COLLECTION]: [msCollectionActionSet, msCommonCollectionActionFilter],
50 [PROCESS_RESOURCE]: [msProcessActionSet, msCommonProcessActionFilter],
51 [PROCESS_ADMIN]: [msProcessActionSet, msAdminProcessActionFilter],
52 [RUNNING_PROCESS_RESOURCE]: [msProcessActionSet, msRunningProcessActionFilter],
53 [RUNNING_PROCESS_ADMIN]: [msProcessActionSet, allActionNames(msProcessActionSet)],
54 [ResourceKind.PROCESS]: [msProcessActionSet, msCommonProcessActionFilter],
56 [PROJECT]: [msProjectActionSet, msCommonProjectActionFilter],
57 [PROJECT_ADMIN]: [msProjectActionSet, allActionNames(msProjectActionSet)],
58 [FROZEN_PROJECT]: [msProjectActionSet, msFrozenProjectActionFilter],
59 [FROZEN_PROJECT_ADMIN]: [msProjectActionSet, msAdminFrozenProjectActionFilter],
60 [READONLY_PROJECT]: [msProjectActionSet, msReadOnlyProjectActionFilter],
61 [ResourceKind.PROJECT]: [msProjectActionSet, msCommonProjectActionFilter],
63 [FILTER_GROUP]: [msProjectActionSet, msFilterGroupActionFilter],
64 [FILTER_GROUP_ADMIN]: [msProjectActionSet, msAdminFilterGroupActionFilter],
66 [WORKFLOW]: [msWorkflowActionSet, msWorkflowActionFilter],
67 [READONLY_WORKFLOW]: [msWorkflowActionSet, msReadOnlyWorkflowActionFilter],