Merge branch '21224-project-details'
[arvados.git] / services / workbench2 / src / views-components / context-menu / context-menu-action-set.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 { ContextMenuItem } from "components/context-menu/context-menu";
7 import { ContextMenuResource } from "store/context-menu/context-menu-actions";
8
9 export enum ContextMenuActionNames {
10     ACCOUNT_SETTINGS = 'Account settings',
11     ACTIVATE_USER = 'Activate user',
12     ADD_TO_FAVORITES = 'Add to favorites',
13     ADD_TO_PUBLIC_FAVORITES = 'Add to public favorites',
14     ATTRIBUTES = 'Attributes',
15     API_DETAILS = 'API Details',
16     CANCEL = 'CANCEL',
17     COPY_AND_RERUN_PROCESS = 'Copy and re-run process',
18     COPY_ITEM_INTO_EXISTING_COLLECTION = 'Copy item into existing collection',
19     COPY_ITEM_INTO_NEW_COLLECTION = 'Copy item into new collection',
20     COPY_SELECTED_INTO_EXISTING_COLLECTION = 'Copy selected into existing collection',
21     COPY_SELECTED_INTO_SEPARATE_COLLECTIONS = 'Copy selected into separate collections',
22     COPY_SELECTED_INTO_NEW_COLLECTION = 'Copy selected into new collection',
23     COPY_LINK_TO_CLIPBOARD = 'Copy link to clipboard',
24     DEACTIVATE_USER = 'Deactivate user',
25     DELETE_WORKFLOW = 'Delete Workflow',
26     DIVIDER = 'Divider',
27     DOWNLOAD = 'Download',
28     EDIT_COLLECTION = 'Edit collection',
29     EDIT_PROCESS = 'Edit process',
30     EDIT_PROJECT = 'Edit project',
31     FREEZE_PROJECT = 'Freeze project',
32     HOME_PROJECT = 'Home project',
33     LOGIN_AS_USER = 'Login as user',
34     MAKE_A_COPY = 'Make a copy',
35     MANAGE = 'Manage',
36     MOVE_ITEM_INTO_EXISTING_COLLECTION = 'Move item into existing collection',
37     MOVE_ITEM_INTO_NEW_COLLECTION = 'Move item into new collection',
38     MOVE_SELECTED_INTO_EXISTING_COLLECTION = 'Move selected into existing collection',
39     MOVE_SELECTED_INTO_NEW_COLLECTION = 'Move selected into new collection',
40     MOVE_SELECTED_INTO_SEPARATE_COLLECTIONS = 'Move selected into separate collections',
41     MOVE_TO = 'Move to',
42     MOVE_TO_TRASH = 'Move to trash',
43     NEW_COLLECTION = 'New collection',
44     NEW_PROJECT = 'New project',
45     OPEN_IN_NEW_TAB = 'Open in new tab',
46     OPEN_WITH_3RD_PARTY_CLIENT = 'Open with 3rd party client',
47     OUTPUTS = 'Outputs',
48     PROVENANCE_GRAPH = 'Provenance graph',
49     READ = 'Read',
50     REMOVE = 'Remove',
51     REMOVE_SELECTED = 'Remove selected',
52     RENAME = 'Rename',
53     RESTORE = 'Restore',
54     RESTORE_VERSION = 'Restore version',
55     RUN_WORKFLOW = 'Run Workflow',
56     SELECT_ALL = 'Select all',
57     SETUP_USER = 'Setup user',
58     SHARE = 'Share',
59     UNSELECT_ALL = 'Unselect all',
60     USER_ACCOUNT = 'User account',
61     VIEW_DETAILS = 'View details',
62     WRITE = 'Write',
63 }
64
65 export interface ContextMenuAction extends ContextMenuItem {
66     execute(dispatch: Dispatch, resources: ContextMenuResource[], state?: any): void;
67 }
68
69 export type ContextMenuActionSet = Array<Array<ContextMenuAction>>;