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 { UserDetailsActionSet } from 'views-components/multiselect-toolbar/ms-user-details-action-set';
19 import { ResourceKind } from 'models/resource';
20 import { ContextMenuKind } from 'views-components/context-menu/menu-item-sort';
27 RUNNING_PROCESS_RESOURCE,
28 RUNNING_PROCESS_ADMIN,
43 export type TMultiselectActionsFilters = Record<string, [MultiSelectMenuActionSet, Set<string>]>;
45 const allActionNames = (actionSet: MultiSelectMenuActionSet): Set<string> => new Set(actionSet[0].map((action) => action.name));
47 export const multiselectActionsFilters: TMultiselectActionsFilters = {
48 [COLLECTION]: [msCollectionActionSet, msCommonCollectionActionFilter],
49 [COLLECTION_ADMIN]: [msCollectionActionSet, allActionNames(msCollectionActionSet)],
50 [READONLY_COLLECTION]: [msCollectionActionSet, msReadOnlyCollectionActionFilter],
51 [ResourceKind.COLLECTION]: [msCollectionActionSet, msCommonCollectionActionFilter],
53 [PROCESS_RESOURCE]: [msProcessActionSet, msCommonProcessActionFilter],
54 [PROCESS_ADMIN]: [msProcessActionSet, msAdminProcessActionFilter],
55 [RUNNING_PROCESS_RESOURCE]: [msProcessActionSet, msRunningProcessActionFilter],
56 [RUNNING_PROCESS_ADMIN]: [msProcessActionSet, allActionNames(msProcessActionSet)],
57 [ResourceKind.PROCESS]: [msProcessActionSet, msCommonProcessActionFilter],
59 [PROJECT]: [msProjectActionSet, msCommonProjectActionFilter],
60 [PROJECT_ADMIN]: [msProjectActionSet, allActionNames(msProjectActionSet)],
61 [FROZEN_PROJECT]: [msProjectActionSet, msFrozenProjectActionFilter],
62 [FROZEN_PROJECT_ADMIN]: [msProjectActionSet, msAdminFrozenProjectActionFilter],
63 [READONLY_PROJECT]: [msProjectActionSet, msReadOnlyProjectActionFilter],
64 [ResourceKind.PROJECT]: [msProjectActionSet, msCommonProjectActionFilter],
66 [FILTER_GROUP]: [msProjectActionSet, msFilterGroupActionFilter],
67 [FILTER_GROUP_ADMIN]: [msProjectActionSet, msAdminFilterGroupActionFilter],
69 [WORKFLOW]: [msWorkflowActionSet, msWorkflowActionFilter],
70 [READONLY_WORKFLOW]: [msWorkflowActionSet, msReadOnlyWorkflowActionFilter],
72 [ROOT_PROJECT]: [UserDetailsActionSet, allActionNames(UserDetailsActionSet)],
73 [ROOT_PROJECT_ADMIN]: [UserDetailsActionSet, allActionNames(UserDetailsActionSet)],