Merge branch 'main' into 22207-icon-resort
[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     COPY_UUID_LINK_TO_CLIPBOARD = 'Copy link to clipboard (uuid)',
25     COPY_PDH_LINK_TO_CLIPBOARD = 'Copy link to clipboard (pdh)',
26     COPY_CWL_LINK_TO_CLIPBOARD = 'Copy link to clipboard (cwl)',
27     COPY_UUID = 'Copy UUID',
28     DEACTIVATE_USER = 'Deactivate user',
29     DELETE_WORKFLOW = 'Delete Workflow',
30     DIVIDER = 'Divider',
31     DOWNLOAD = 'Download',
32     EDIT_COLLECTION = 'Edit collection',
33     EDIT_PROCESS = 'Edit process',
34     EDIT_PROJECT = 'Edit project',
35     FREEZE_PROJECT = 'Freeze project',
36     HOME_PROJECT = 'Home project',
37     LOGIN_AS_USER = 'Login as user',
38     MAKE_A_COPY = 'Make a copy',
39     MANAGE = 'Manage',
40     MOVE_ITEM_INTO_EXISTING_COLLECTION = 'Move item into existing collection',
41     MOVE_ITEM_INTO_NEW_COLLECTION = 'Move item into new collection',
42     MOVE_SELECTED_INTO_EXISTING_COLLECTION = 'Move selected into existing collection',
43     MOVE_SELECTED_INTO_NEW_COLLECTION = 'Move selected into new collection',
44     MOVE_SELECTED_INTO_SEPARATE_COLLECTIONS = 'Move selected into separate collections',
45     MOVE_TO = 'Move to',
46     MOVE_TO_TRASH = 'Move to trash',
47     NEW_COLLECTION = 'New collection',
48     NEW_PROJECT = 'New project',
49     OPEN_IN_NEW_TAB = 'Open in new tab',
50     OPEN_WITH_3RD_PARTY_CLIENT = 'Open with 3rd party client',
51     OUTPUTS = 'Outputs',
52     PROVENANCE_GRAPH = 'Provenance graph',
53     READ = 'Read',
54     REMOVE = 'Remove',
55     REMOVE_SELECTED = 'Remove selected',
56     RENAME = 'Rename',
57     RESTORE = 'Restore',
58     RESTORE_VERSION = 'Restore version',
59     RUN_WORKFLOW = 'Run Workflow',
60     SELECT_ALL = 'Select all',
61     SETUP_USER = 'Setup user',
62     SHARE = 'Share',
63     UNSELECT_ALL = 'Unselect all',
64     USER_ACCOUNT = 'User account',
65     VIEW_DETAILS = 'View details',
66     WRITE = 'Write',
67 }
68
69 export interface ContextMenuAction extends ContextMenuItem {
70     execute(dispatch: Dispatch, resources: ContextMenuResource[], state?: any): void;
71 }
72
73 export type ContextMenuActionSet = Array<Array<ContextMenuAction>>;