1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { ContextMenuAction, 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";
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";
14 const copyActions: ContextMenuAction[] = [
16 name: "Copy selected into new collection",
17 execute: dispatch => {
18 dispatch<any>(openCollectionPartialCopyToNewCollectionDialog());
22 name: "Copy selected into existing collection",
23 execute: dispatch => {
24 dispatch<any>(openCollectionPartialCopyToExistingCollectionDialog());
29 const copyActionsMultiple: ContextMenuAction[] = [
32 name: "Copy selected into separate collections",
33 execute: dispatch => {
34 dispatch<any>(openCollectionPartialCopyToSeparateCollectionsDialog());
39 const moveActions: ContextMenuAction[] = [
41 name: "Move selected into new collection",
42 execute: dispatch => {
43 dispatch<any>(openCollectionPartialMoveToNewCollectionDialog());
47 name: "Move selected into existing collection",
48 execute: dispatch => {
49 dispatch<any>(openCollectionPartialMoveToExistingCollectionDialog());
54 const moveActionsMultiple: ContextMenuAction[] = [
57 name: "Move selected into separate collections",
58 execute: dispatch => {
59 dispatch<any>(openCollectionPartialMoveToSeparateCollectionsDialog());
64 const selectActions: ContextMenuAction[] = [
67 execute: dispatch => {
68 dispatch(collectionPanelFilesAction.SELECT_ALL_COLLECTION_FILES());
73 execute: dispatch => {
74 dispatch(collectionPanelFilesAction.UNSELECT_ALL_COLLECTION_FILES());
79 const removeAction: ContextMenuAction = {
80 name: "Remove selected",
81 execute: dispatch => {
82 dispatch(openMultipleFilesRemoveDialog());
86 // These action sets are used on the multi-select actions button.
87 export const readOnlyCollectionFilesActionSet: ContextMenuActionSet = [
92 export const readOnlyCollectionFilesMultipleActionSet: ContextMenuActionSet = [
97 export const collectionFilesActionSet: ContextMenuActionSet = readOnlyCollectionFilesActionSet.concat([[
102 export const collectionFilesMultipleActionSet: ContextMenuActionSet = readOnlyCollectionFilesMultipleActionSet.concat([[
104 ...moveActionsMultiple