Implement command dialog, update code snippet styles
[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
19 export const processActionSet: ContextMenuActionSet = [[
20     {
21         icon: RenameIcon,
22         name: "Edit process",
23         execute: (dispatch, resource) => dispatch<any>(openProcessUpdateDialog(resource))
24     },
25     {
26         icon: ShareIcon,
27         name: "Share",
28         execute: (dispatch, resource) => {
29             // add code
30         }
31     },
32     {
33         icon: MoveToIcon,
34         name: "Move to",
35         execute: (dispatch, resource) => dispatch<any>(openMoveProcessDialog(resource))
36     },
37     {
38         component: ToggleFavoriteAction,
39         execute: (dispatch, resource) => {
40             dispatch<any>(toggleFavorite(resource)).then(() => {
41                 dispatch<any>(favoritePanelActions.REQUEST_ITEMS());
42             });
43         }
44     },
45     {
46         icon: CopyIcon,
47         name: "Copy to project",
48         execute: (dispatch, resource) => dispatch<any>(openCopyProcessDialog(resource))
49     },
50     {
51         icon: ReRunProcessIcon,
52         name: "Re-run process",
53         execute: (dispatch, resource) => {
54             // add code
55         }
56     },
57     {
58         icon: InputIcon,
59         name: "Inputs",
60         execute: (dispatch, resource) => {
61             // add code
62         }
63     },
64     {
65         icon: OutputIcon,
66         name: "Outputs",
67         execute: (dispatch, resource) => {
68             // add code
69         }
70     },
71     {
72         icon: CommandIcon,
73         name: "Command",
74         execute: (dispatch, resource) => {
75             dispatch<any>(openProcessCommandDialog(resource.uuid));
76         }
77     },
78     {
79         icon: DetailsIcon,
80         name: "View details",
81         execute: (dispatch, resource) => {
82             // add code
83         }
84     },
85     {
86         icon: LogIcon,
87         name: "Log",
88         execute: (dispatch, resource) => {
89             dispatch<any>(navigateToProcessLogs(resource.uuid));
90         }
91     },
92     {
93         icon: ProvenanceGraphIcon,
94         name: "Provenance graph",
95         execute: (dispatch, resource) => {
96             // add code
97         }
98     },
99     {
100         icon: AdvancedIcon,
101         name: "Advanced",
102         execute: (dispatch, resource) => {
103             // add code
104         }
105     },
106     {
107         icon: RemoveIcon,
108         name: "Remove",
109         execute: (dispatch, resource) => {
110             // add code
111         }
112     }
113 ]];