15768: made new dialog for multi-copy Arvados-DCO-1.1-Signed-off-by: Lisa Knox <lisa...
[arvados.git] / src / views-components / context-menu / action-sets / collection-files-item-action-set.ts
index c8f70b0f73103f41004c6ae11bb2b4320e0d9519..03674665ded13609382a580705284e4d4c69e415 100644 (file)
@@ -2,52 +2,69 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import { ContextMenuActionSet } from "../context-menu-action-set";
-import { RemoveIcon, RenameIcon } from "~/components/icon/icon";
-import { DownloadCollectionFileAction } from "../actions/download-collection-file-action";
-import { openFileRemoveDialog, openRenameFileDialog } from '~/store/collection-panel/collection-panel-files/collection-panel-files-actions';
-import { CollectionFileViewerAction } from '~/views-components/context-menu/actions/collection-file-viewer-action';
-import { CollectionCopyToClipboardAction } from "../actions/collection-copy-to-clipboard-action";
+import { ContextMenuActionSet } from '../context-menu-action-set';
+import { RemoveIcon, RenameIcon } from 'components/icon/icon';
+import { DownloadCollectionFileAction } from '../actions/download-collection-file-action';
+import { openFileRemoveDialog, openRenameFileDialog } from 'store/collection-panel/collection-panel-files/collection-panel-files-actions';
+import { CollectionFileViewerAction } from 'views-components/context-menu/actions/collection-file-viewer-action';
+import { CollectionCopyToClipboardAction } from '../actions/collection-copy-to-clipboard-action';
 
-export const readOnlyCollectionDirectoryItemActionSet: ContextMenuActionSet = [[
-    {
-        component: CollectionFileViewerAction,
-        execute: () => { return; },
-    },
-    {
-        component: CollectionCopyToClipboardAction,
-        execute: () => { return; },
-    }
-]];
+export const readOnlyCollectionDirectoryItemActionSet: ContextMenuActionSet = [
+    [
+        {
+            component: CollectionFileViewerAction,
+            execute: () => {
+                return;
+            },
+        },
+        {
+            component: CollectionCopyToClipboardAction,
+            execute: () => {
+                return;
+            },
+        },
+    ],
+];
 
-export const readOnlyCollectionFileItemActionSet: ContextMenuActionSet = [[
-    {
-        component: DownloadCollectionFileAction,
-        execute: () => { return; }
-    },
-    ...readOnlyCollectionDirectoryItemActionSet.reduce((prev, next) => prev.concat(next), []),
-]];
+export const readOnlyCollectionFileItemActionSet: ContextMenuActionSet = [
+    [
+        {
+            component: DownloadCollectionFileAction,
+            execute: () => {
+                return;
+            },
+        },
+        ...readOnlyCollectionDirectoryItemActionSet.reduce((prev, next) => prev.concat(next), []),
+    ],
+];
 
-const writableActionSet: ContextMenuActionSet = [[
-    {
-        name: "Rename",
-        icon: RenameIcon,
-        execute: (dispatch, resource) => {
-            dispatch<any>(openRenameFileDialog({
-                name: resource.name,
-                id: resource.uuid,
-                path: resource.uuid.split('/').slice(1).join('/') }));
-        }
-    },
-    {
-        name: "Remove",
-        icon: RemoveIcon,
-        execute: (dispatch, resource) => {
-            dispatch<any>(openFileRemoveDialog(resource.uuid));
-        }
-    }
-]];
+const writableActionSet: ContextMenuActionSet = [
+    [
+        {
+            name: 'Rename',
+            icon: RenameIcon,
+            execute: (dispatch, resources) => {
+                resources.forEach((resource) =>
+                    dispatch<any>(
+                        openRenameFileDialog({
+                            name: resource.name,
+                            id: resource.uuid,
+                            path: resource.uuid.split('/').slice(1).join('/'),
+                        })
+                    )
+                );
+            },
+        },
+        {
+            name: 'Remove',
+            icon: RemoveIcon,
+            execute: (dispatch, resources) => {
+                resources.forEach((resource) => dispatch<any>(openFileRemoveDialog(resource.uuid)));
+            },
+        },
+    ],
+];
 
 export const collectionDirectoryItemActionSet: ContextMenuActionSet = readOnlyCollectionDirectoryItemActionSet.concat(writableActionSet);
 
-export const collectionFileItemActionSet: ContextMenuActionSet = readOnlyCollectionFileItemActionSet.concat(writableActionSet);
\ No newline at end of file
+export const collectionFileItemActionSet: ContextMenuActionSet = readOnlyCollectionFileItemActionSet.concat(writableActionSet);