c1c541d33a9a3b2016c0ccba0bc3177e9aa5a6b6
[arvados-workbench2.git] / src / views-components / context-menu / action-sets / collection-files-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 { collectionPanelFilesAction, openMultipleFilesRemoveDialog } from "store/collection-panel/collection-panel-files/collection-panel-files-actions";
7 import {
8     openCollectionPartialCopyToNewCollectionDialog,
9     openCollectionPartialCopyToExistingCollectionDialog,
10     openCollectionPartialCopyToSeparateCollectionsDialog
11 } from 'store/collections/collection-partial-copy-actions';
12 import { openCollectionPartialMoveToExistingCollectionDialog, openCollectionPartialMoveToNewCollectionDialog, openCollectionPartialMoveToSeparateCollectionsDialog } from "store/collections/collection-partial-move-actions";
13
14 // These action sets are used on the multi-select actions button.
15 export const readOnlyCollectionFilesActionSet: ContextMenuActionSet = [[
16     {
17         name: "Select all",
18         execute: dispatch => {
19             dispatch(collectionPanelFilesAction.SELECT_ALL_COLLECTION_FILES());
20         }
21     },
22     {
23         name: "Unselect all",
24         execute: dispatch => {
25             dispatch(collectionPanelFilesAction.UNSELECT_ALL_COLLECTION_FILES());
26         }
27     },
28     {
29         name: "Copy selected into new collection",
30         execute: dispatch => {
31             dispatch<any>(openCollectionPartialCopyToNewCollectionDialog());
32         }
33     },
34     {
35         name: "Copy selected into existing collection",
36         execute: dispatch => {
37             dispatch<any>(openCollectionPartialCopyToExistingCollectionDialog());
38         }
39     },
40     {
41         name: "Copy selected into separate collections",
42         execute: dispatch => {
43             dispatch<any>(openCollectionPartialCopyToSeparateCollectionsDialog());
44         }
45     }
46 ]];
47
48 export const collectionFilesActionSet: ContextMenuActionSet = readOnlyCollectionFilesActionSet.concat([[
49     {
50         name: "Remove selected",
51         execute: dispatch => {
52             dispatch(openMultipleFilesRemoveDialog());
53         }
54     },
55     {
56         name: "Move selected into new collection",
57         execute: dispatch => {
58             dispatch<any>(openCollectionPartialMoveToNewCollectionDialog());
59         }
60     },
61     {
62         name: "Move selected into existing collection",
63         execute: dispatch => {
64             dispatch<any>(openCollectionPartialMoveToExistingCollectionDialog());
65         }
66     },
67     {
68         name: "Move selected into separate collections",
69         execute: dispatch => {
70             dispatch<any>(openCollectionPartialMoveToSeparateCollectionsDialog());
71         }
72     }
73 ]]);