triggering-view-details-from-more-options-does-not-works
[arvados-workbench2.git] / src / views-components / context-menu / action-sets / process-action-set.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { ContextMenuActionSet } from "../context-menu-action-set";
6 import { ToggleFavoriteAction } from "../actions/favorite-action";
7 import { toggleFavorite } from "~/store/favorites/favorites-actions";
8 import {
9     RenameIcon, ShareIcon, MoveToIcon, CopyIcon, DetailsIcon, ProvenanceGraphIcon,
10     AdvancedIcon, RemoveIcon, ReRunProcessIcon, LogIcon, InputIcon, CommandIcon, OutputIcon
11 } from "~/components/icon/icon";
12 import { favoritePanelActions } from "~/store/favorite-panel/favorite-panel-action";
13 import { navigateToProcessLogs } from '~/store/navigation/navigation-action';
14 import { openMoveProcessDialog } from '~/store/processes/process-move-actions';
15 import { openProcessUpdateDialog } from "~/store/processes/process-update-actions";
16 import { openCopyProcessDialog } from '~/store/processes/process-copy-actions';
17 import { openProcessCommandDialog } from '../../../store/processes/process-command-actions';
18 import { detailsPanelActions } from '~/store/details-panel/details-panel-action';
19
20 export const processActionSet: ContextMenuActionSet = [[
21     {
22         icon: RenameIcon,
23         name: "Edit process",
24         execute: (dispatch, resource) => dispatch<any>(openProcessUpdateDialog(resource))
25     },
26     {
27         icon: ShareIcon,
28         name: "Share",
29         execute: (dispatch, resource) => {
30             // add code
31         }
32     },
33     {
34         icon: MoveToIcon,
35         name: "Move to",
36         execute: (dispatch, resource) => dispatch<any>(openMoveProcessDialog(resource))
37     },
38     {
39         component: ToggleFavoriteAction,
40         execute: (dispatch, resource) => {
41             dispatch<any>(toggleFavorite(resource)).then(() => {
42                 dispatch<any>(favoritePanelActions.REQUEST_ITEMS());
43             });
44         }
45     },
46     {
47         icon: CopyIcon,
48         name: "Copy to project",
49         execute: (dispatch, resource) => dispatch<any>(openCopyProcessDialog(resource))
50     },
51     {
52         icon: ReRunProcessIcon,
53         name: "Re-run process",
54         execute: (dispatch, resource) => {
55             // add code
56         }
57     },
58     {
59         icon: InputIcon,
60         name: "Inputs",
61         execute: (dispatch, resource) => {
62             // add code
63         }
64     },
65     {
66         icon: OutputIcon,
67         name: "Outputs",
68         execute: (dispatch, resource) => {
69             // add code
70         }
71     },
72     {
73         icon: CommandIcon,
74         name: "Command",
75         execute: (dispatch, resource) => {
76             dispatch<any>(openProcessCommandDialog(resource.uuid));
77         }
78     },
79     {
80         icon: DetailsIcon,
81         name: "View details",
82         execute: dispatch => dispatch(detailsPanelActions.TOGGLE_DETAILS_PANEL())
83     },
84     {
85         icon: LogIcon,
86         name: "Log",
87         execute: (dispatch, resource) => {
88             dispatch<any>(navigateToProcessLogs(resource.uuid));
89         }
90     },
91     {
92         icon: ProvenanceGraphIcon,
93         name: "Provenance graph",
94         execute: (dispatch, resource) => {
95             // add code
96         }
97     },
98     {
99         icon: AdvancedIcon,
100         name: "Advanced",
101         execute: (dispatch, resource) => {
102             // add code
103         }
104     },
105     {
106         icon: RemoveIcon,
107         name: "Remove",
108         execute: (dispatch, resource) => {
109             // add code
110         }
111     }
112 ]];