18692: Initial frozen project implementation with tests
[arvados.git] / src / views-components / context-menu / action-sets / repository-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 "views-components/context-menu/context-menu-action-set";
6 import { AdvancedIcon, RemoveIcon, ShareIcon, AttributesIcon } from "components/icon/icon";
7 import { openAdvancedTabDialog } from "store/advanced-tab/advanced-tab";
8 import { openRepositoryAttributes, openRemoveRepositoryDialog } from "store/repositories/repositories-actions";
9 import { openSharingDialog } from "store/sharing-dialog/sharing-dialog-actions";
10
11 export const repositoryActionSet: ContextMenuActionSet = [[{
12     name: "Attributes",
13     icon: AttributesIcon,
14     execute: (dispatch, { uuid }) => {
15         dispatch<any>(openRepositoryAttributes(uuid));
16     }
17 }, {
18     name: "Share",
19     icon: ShareIcon,
20     execute: (dispatch, { uuid }) => {
21         dispatch<any>(openSharingDialog(uuid));
22     }
23 }, {
24     name: "Advanced",
25     icon: AdvancedIcon,
26     execute: (dispatch, resource) => {
27         dispatch<any>(openAdvancedTabDialog(resource.uuid));
28     }
29 }, {
30     name: "Remove",
31     icon: RemoveIcon,
32     execute: (dispatch, { uuid }) => {
33         dispatch<any>(openRemoveRepositoryDialog(uuid));
34     }
35 }]];