15685: Adds file path validation on rename file dialog.
[arvados-workbench2.git] / src / views-components / context-menu / action-sets / collection-files-item-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 "../context-menu-action-set";
6 import { RemoveIcon, RenameIcon } from "~/components/icon/icon";
7 import { DownloadCollectionFileAction } from "../actions/download-collection-file-action";
8 import { openFileRemoveDialog, openRenameFileDialog } from '~/store/collection-panel/collection-panel-files/collection-panel-files-actions';
9 import { CollectionFileViewerAction } from '~/views-components/context-menu/actions/collection-file-viewer-action';
10 import { CollectionCopyToClipboardAction } from "../actions/collection-copy-to-clipboard-action";
11
12 export const readOnlyCollectionFilesItemActionSet: ContextMenuActionSet = [[
13     {
14         component: DownloadCollectionFileAction,
15         execute: () => { return; }
16     },
17     {
18         component: CollectionFileViewerAction,
19         execute: () => { return; },
20     },
21     {
22         component: CollectionCopyToClipboardAction,
23         execute: () => { return; },
24     }
25 ]];
26
27 export const collectionFilesItemActionSet: ContextMenuActionSet = readOnlyCollectionFilesItemActionSet.concat([[
28     {
29         name: "Rename",
30         icon: RenameIcon,
31         execute: (dispatch, resource) => {
32             dispatch<any>(openRenameFileDialog({
33                 name: resource.name,
34                 id: resource.uuid,
35                 path: resource.uuid.split('/').slice(1).join('/') }));
36         }
37     },
38     {
39         name: "Remove",
40         icon: RemoveIcon,
41         execute: (dispatch, resource) => {
42             dispatch<any>(openFileRemoveDialog(resource.uuid));
43         }
44     }
45 ]]);