msFilterGroupActionFilter,
msFrozenProjectActionFilter,
} from 'views-components/multiselect-toolbar/ms-project-action-set';
-import { msProcessActionSet, msCommonProcessActionFilter } from 'views-components/multiselect-toolbar/ms-process-action-set';
+import { msProcessActionSet, msCommonProcessActionFilter, msAdminProcessActionFilter, msRunningProcessActionFilter } from 'views-components/multiselect-toolbar/ms-process-action-set';
import { msWorkflowActionSet, msWorkflowActionFilter, msReadOnlyWorkflowActionFilter } from 'views-components/multiselect-toolbar/ms-workflow-action-set';
import { ResourceKind } from 'models/resource';
SEARCH_RESULTS = 'SearchResults',
}
-const { COLLECTION, COLLECTION_ADMIN, READONLY_COLLECTION, PROCESS, PROCESS_ADMIN, PROJECT, PROJECT_ADMIN, FROZEN_PROJECT, FROZEN_PROJECT_ADMIN, READONLY_PROJECT, FILTER_GROUP, WORKFLOW, READONLY_WORKFLOW } = msMenuResourceKind;
+const {
+ COLLECTION,
+ COLLECTION_ADMIN,
+ READONLY_COLLECTION,
+ PROCESS_RESOURCE,
+ RUNNING_PROCESS_RESOURCE,
+ RUNNING_PROCESS_ADMIN,
+ PROCESS_ADMIN,
+ PROJECT,
+ PROJECT_ADMIN,
+ FROZEN_PROJECT,
+ FROZEN_PROJECT_ADMIN,
+ READONLY_PROJECT,
+ FILTER_GROUP,
+ WORKFLOW,
+ READONLY_WORKFLOW,
+} = msMenuResourceKind;
export type TMultiselectActionsFilters = Record<string, [MultiSelectMenuActionSet, Set<string>]>;
export const multiselectActionsFilters: TMultiselectActionsFilters = {
[COLLECTION]: [msCollectionActionSet, msCommonCollectionActionFilter],
+ [COLLECTION_ADMIN]: [msCollectionActionSet, allActionNames(msCollectionActionSet)],
[READONLY_COLLECTION]: [msCollectionActionSet, msReadOnlyCollectionActionFilter],
[ResourceKind.COLLECTION]: [msCollectionActionSet, msCommonCollectionActionFilter],
- [COLLECTION_ADMIN]: [msCollectionActionSet, allActionNames(msCollectionActionSet)],
- [PROCESS]: [msProcessActionSet, msCommonProcessActionFilter],
+
+ [PROCESS_RESOURCE]: [msProcessActionSet, msCommonProcessActionFilter],
+ [PROCESS_ADMIN]: [msProcessActionSet, msAdminProcessActionFilter],
+ [RUNNING_PROCESS_RESOURCE]: [msProcessActionSet, msRunningProcessActionFilter],
+ [RUNNING_PROCESS_ADMIN]: [msProcessActionSet, allActionNames(msProcessActionSet)],
[ResourceKind.PROCESS]: [msProcessActionSet, msCommonProcessActionFilter],
- [PROCESS_ADMIN]: [msProcessActionSet, msCommonProcessActionFilter],
+
[PROJECT]: [msProjectActionSet, msCommonProjectActionFilter],
- [ResourceKind.PROJECT]: [msProjectActionSet, msCommonProjectActionFilter],
[PROJECT_ADMIN]: [msProjectActionSet, allActionNames(msProjectActionSet)],
[FROZEN_PROJECT]: [msProjectActionSet, msFrozenProjectActionFilter],
[FROZEN_PROJECT_ADMIN]: [msProjectActionSet, msFrozenProjectActionFilter],
[READONLY_PROJECT]: [msProjectActionSet, msReadOnlyProjectActionFilter],
+ [ResourceKind.PROJECT]: [msProjectActionSet, msCommonProjectActionFilter],
+
[FILTER_GROUP]: [msProjectActionSet, msFilterGroupActionFilter],
+
[WORKFLOW]: [msWorkflowActionSet, msWorkflowActionFilter],
[READONLY_WORKFLOW]: [msWorkflowActionSet, msReadOnlyWorkflowActionFilter],
};
MOVE_TO_TRASH = 'Move to trash',
ADD_TO_PUBLIC_FAVORITES = 'Add to public favorites',
API_DETAILS = 'API Details',
+ CANCEL = 'CANCEL',
COPY_AND_RERUN_PROCESS = 'Copy and re-run process',
COPY_TO_CLIPBOARD = 'Copy to clipboard',
DELETE_WORKFLOW = 'Delete Worflow',
//
// SPDX-License-Identifier: AGPL-3.0
-import { MoveToIcon, RemoveIcon, ReRunProcessIcon, OutputIcon, RenameIcon } from "components/icon/icon";
+import { MoveToIcon, RemoveIcon, ReRunProcessIcon, OutputIcon, RenameIcon, StopIcon } from "components/icon/icon";
import { openMoveProcessDialog } from "store/processes/process-move-actions";
import { openCopyProcessDialog } from "store/processes/process-copy-actions";
import { openRemoveProcessDialog } from "store/processes/processes-actions";
import { MultiSelectMenuActionNames } from "views-components/multiselect-toolbar/ms-menu-actions";
import { openProcessUpdateDialog } from "store/processes/process-update-actions";
import { msNavigateToOutput } from "store/multiselect/multiselect-actions";
+import { cancelRunningWorkflow } from "store/processes/processes-actions";
const msCopyAndRerunProcess: MultiSelectMenuAction = {
name: MultiSelectMenuActionNames.COPY_AND_RERUN_PROCESS,
},
}
+const msCancelProcess: MultiSelectMenuAction = {
+ name: MultiSelectMenuActionNames.CANCEL,
+ icon: StopIcon,
+ hasAlts: false,
+ isForMulti: false,
+ execute: (dispatch, resources) => {
+ dispatch<any>(cancelRunningWorkflow(resources[0].uuid));
+ },
+}
+
export const msProcessActionSet: MultiSelectMenuActionSet = [
[
...msCommonActionSet,
msRemoveProcess,
msMoveTo,
msViewOutputs,
- msEditProcess
+ msEditProcess,
+ msCancelProcess
]
];
-const { MOVE_TO, REMOVE, COPY_AND_RERUN_PROCESS, ADD_TO_FAVORITES, OPEN_IN_NEW_TAB, VIEW_DETAILS, API_DETAILS, SHARE, ADD_TO_PUBLIC_FAVORITES, OUTPUTS, EDIT_PROCESS } = MultiSelectMenuActionNames
+const { MOVE_TO, REMOVE, COPY_AND_RERUN_PROCESS, ADD_TO_FAVORITES, OPEN_IN_NEW_TAB, VIEW_DETAILS, API_DETAILS, SHARE, ADD_TO_PUBLIC_FAVORITES, OUTPUTS, EDIT_PROCESS, CANCEL } = MultiSelectMenuActionNames
+
+export const msCommonProcessActionFilter = new Set([MOVE_TO, REMOVE, COPY_AND_RERUN_PROCESS, ADD_TO_FAVORITES, OPEN_IN_NEW_TAB, VIEW_DETAILS, API_DETAILS, SHARE, OUTPUTS, EDIT_PROCESS ]);
+export const msRunningProcessActionFilter = new Set([MOVE_TO, REMOVE, COPY_AND_RERUN_PROCESS, ADD_TO_FAVORITES, OPEN_IN_NEW_TAB, VIEW_DETAILS, API_DETAILS, SHARE, OUTPUTS, EDIT_PROCESS, CANCEL ]);
+
+export const msReadOnlyProcessActionFilter = new Set([COPY_AND_RERUN_PROCESS, ADD_TO_FAVORITES, OPEN_IN_NEW_TAB, VIEW_DETAILS, API_DETAILS, OUTPUTS ]);
+export const msAdminProcessActionFilter = new Set([MOVE_TO, REMOVE, COPY_AND_RERUN_PROCESS, ADD_TO_FAVORITES, OPEN_IN_NEW_TAB, VIEW_DETAILS, API_DETAILS, SHARE, ADD_TO_PUBLIC_FAVORITES, OUTPUTS, EDIT_PROCESS ]);
-export const msCommonProcessActionFilter = new Set([MOVE_TO, REMOVE, COPY_AND_RERUN_PROCESS, ADD_TO_FAVORITES, OPEN_IN_NEW_TAB, VIEW_DETAILS, API_DETAILS, SHARE, ADD_TO_PUBLIC_FAVORITES, OUTPUTS, EDIT_PROCESS ]);