Merge branch 'master' into 15672-subprocess-list-v2
[arvados-workbench2.git] / src / store / subprocess-panel / subprocess-panel-actions.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { Dispatch } from 'redux';
6 import { RootState } from '~/store/store';
7 import { ServiceRepository } from '~/services/services';
8 import { bindDataExplorerActions } from '~/store/data-explorer/data-explorer-action';
9 /* import { setBreadcrumbs } from '~/store/breadcrumbs/breadcrumbs-actions';
10 import { dialogActions } from '~/store/dialog/dialog-actions';
11 import { ProcessResource } from '~/models/process';
12 import { getResource } from '~/store/resources/resources';
13 import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions';
14 import { REMOVE_PROCESS_DIALOG } from '~/store/processes/processes-actions';
15 */
16 export const SUBPROCESS_PANEL_ID = "subprocessPanel";
17 export const SUBPROCESS_ATTRIBUTES_DIALOG = 'subprocessAttributesDialog';
18 export const subprocessPanelActions = bindDataExplorerActions(SUBPROCESS_PANEL_ID);
19
20 export const loadSubprocessPanel = () =>
21     (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
22         dispatch(subprocessPanelActions.REQUEST_ITEMS());
23     };
24
25 /*
26 export const openSubprocessAttributesDialog = (uuid: string) =>
27     (dispatch: Dispatch, getState: () => RootState) => {
28         const { resources } = getState();
29         const subprocess = getResource<ProcessResource>(uuid)(resources);
30         dispatch(dialogActions.OPEN_DIALOG({ id: SUBPROCESS_ATTRIBUTES_DIALOG, data: { subprocess } }));
31     };
32
33 export const openLinkRemoveDialog = (uuid: string) =>
34     (dispatch: Dispatch, getState: () => RootState) => {
35         dispatch(dialogActions.OPEN_DIALOG({
36             id: REMOVE_PROCESS_DIALOG,
37             data: {
38                 title: 'Remove process',
39                 text: 'Are you sure you want to remove this process?',
40                 confirmButtonLabel: 'Remove',
41                 uuid
42             }
43         }));
44     };
45
46 export const removeSubprocess = (uuid: string) =>
47     async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
48         dispatch(snackbarActions.OPEN_SNACKBAR({ message: 'Removing ...', kind: SnackbarKind.INFO }));
49         try {
50             await services.containerRequestService.delete(uuid);
51             dispatch(subprocessPanelActions.REQUEST_ITEMS());
52             dispatch(snackbarActions.OPEN_SNACKBAR({ message: 'Process has been successfully removed.', hideDuration: 2000, kind: SnackbarKind.SUCCESS }));
53         } catch (e) {
54             return;
55         }
56     };*/