//
// SPDX-License-Identifier: AGPL-3.0
-import { ResourceKind } from "models/resource";
-import { ContextMenuActionSet } from "views-components/context-menu/context-menu-action-set";
-import { msCollectionActionSet } from "views-components/multiselect-toolbar/ms-collection-action-set";
-import { msProjectActionSet } from "views-components/multiselect-toolbar/ms-project-action-set";
-import { msProcessActionSet } from "views-components/multiselect-toolbar/ms-process-action-set";
-
-export type TMultiselectActionsFilters = Record<string, [ContextMenuActionSet, Set<string>]>;
-
-export const contextMenuActionConsts = {
- MAKE_A_COPY: "Make a copy",
- MOVE_TO: "Move to",
- TOGGLE_TRASH_ACTION: "ToggleTrashAction",
- COPY_TO_CLIPBOARD: "Copy to clipboard",
- COPY_AND_RERUN_PROCESS: "Copy and re-run process",
- REMOVE: "Remove",
-};
+import { ResourceKind } from 'models/resource';
+import { MultiSelectMenuActionSet, MultiSelectMenuActionNames } from 'views-components/multiselect-toolbar/ms-menu-actions';
+import { msCollectionActionSet } from 'views-components/multiselect-toolbar/ms-collection-action-set';
+import { msProjectActionSet } from 'views-components/multiselect-toolbar/ms-project-action-set';
+import { msProcessActionSet } from 'views-components/multiselect-toolbar/ms-process-action-set';
+import { msWorkflowActionSet } from 'views-components/multiselect-toolbar/ms-workflow-action-set';
+
+export type TMultiselectActionsFilters = Record<string, [MultiSelectMenuActionSet, Set<string>]>;
+
+const {
+ ADD_TO_FAVORITES,
+ ADD_TO_TRASH,
+ API_DETAILS,
+ COPY_AND_RERUN_PROCESS,
+ COPY_TO_CLIPBOARD,
+ DELETE_WORKFLOW,
+ EDIT_PPROJECT,
+ FREEZE_PROJECT,
+ MAKE_A_COPY,
+ MOVE_TO,
+ NEW_PROJECT,
+ OPEN_IN_NEW_TAB,
+ OPEN_W_3RD_PARTY_CLIENT,
+ REMOVE,
+ RUN_WORKFLOW,
+ SHARE,
+ VIEW_DETAILS,
+} = MultiSelectMenuActionNames;
+
+const allActionNames = (actionSet: MultiSelectMenuActionSet): Set<string> => new Set(actionSet[0].map((action) => action.name));
-const { MOVE_TO, TOGGLE_TRASH_ACTION, COPY_TO_CLIPBOARD, REMOVE, MAKE_A_COPY } = contextMenuActionConsts;
+//use allActionNames or filter manually below
-//these sets govern what actions are on the ms toolbar for each resource kind
-const projectMSActionsFilter = new Set([COPY_TO_CLIPBOARD, MOVE_TO, TOGGLE_TRASH_ACTION]);
const processResourceMSActionsFilter = new Set([MOVE_TO, REMOVE]);
-const collectionMSActionsFilter = new Set([MAKE_A_COPY, MOVE_TO, TOGGLE_TRASH_ACTION]);
+const projectMSActionsFilter = new Set([
+ ADD_TO_FAVORITES,
+ ADD_TO_TRASH,
+ API_DETAILS,
+ COPY_AND_RERUN_PROCESS,
+ COPY_TO_CLIPBOARD,
+ EDIT_PPROJECT,
+ FREEZE_PROJECT,
+ MAKE_A_COPY,
+ MOVE_TO,
+ NEW_PROJECT,
+ OPEN_IN_NEW_TAB,
+ OPEN_W_3RD_PARTY_CLIENT,
+ REMOVE,
+ SHARE,
+ VIEW_DETAILS,
+]);
+const workflowMSActionFilter = new Set([OPEN_IN_NEW_TAB, COPY_TO_CLIPBOARD, VIEW_DETAILS, API_DETAILS, RUN_WORKFLOW, DELETE_WORKFLOW]);
-const { COLLECTION, PROJECT, PROCESS } = ResourceKind;
+const { COLLECTION, PROCESS, PROJECT, WORKFLOW } = ResourceKind;
export const multiselectActionsFilters: TMultiselectActionsFilters = {
- [PROJECT]: [msProjectActionSet, projectMSActionsFilter],
+ [COLLECTION]: [msCollectionActionSet, allActionNames(msCollectionActionSet)],
[PROCESS]: [msProcessActionSet, processResourceMSActionsFilter],
- [COLLECTION]: [msCollectionActionSet, collectionMSActionsFilter],
+ [PROJECT]: [msProjectActionSet, projectMSActionsFilter],
+ [WORKFLOW]: [msWorkflowActionSet, workflowMSActionFilter]
};
+