X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/f2b031de2183439f8aade2f290cd0e3f95f6438c..25216cc7acedc987c26a159f0b640210c0ef101e:/src/views-components/context-menu/action-sets/collection-files-item-action-set.ts diff --git a/src/views-components/context-menu/action-sets/collection-files-item-action-set.ts b/src/views-components/context-menu/action-sets/collection-files-item-action-set.ts index a3bfa0b9..4cb9ebda 100644 --- a/src/views-components/context-menu/action-sets/collection-files-item-action-set.ts +++ b/src/views-components/context-menu/action-sets/collection-files-item-action-set.ts @@ -3,25 +3,51 @@ // SPDX-License-Identifier: AGPL-3.0 import { ContextMenuActionSet } from "../context-menu-action-set"; -import { RenameIcon, DownloadIcon, RemoveIcon } from "~/components/icon/icon"; -import { openRenameFileDialog } from "../../rename-file-dialog/rename-file-dialog"; +import { RemoveIcon, RenameIcon } from "components/icon/icon"; import { DownloadCollectionFileAction } from "../actions/download-collection-file-action"; -import { openFileRemoveDialog } from "../../../store/collection-panel/collection-panel-files/collection-panel-files-actions"; +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 collectionFilesItemActionSet: ContextMenuActionSet = [[{ - name: "Rename", - icon: RenameIcon, - execute: (dispatch, resource) => { - dispatch(openRenameFileDialog(resource.name)); +export const readOnlyCollectionDirectoryItemActionSet: ContextMenuActionSet = [[ + { + component: CollectionFileViewerAction, + execute: () => { return; }, + }, + { + component: CollectionCopyToClipboardAction, + execute: () => { return; }, } -}, { - component: DownloadCollectionFileAction, - execute: () => { return; } -}, { - name: "Remove", - icon: RemoveIcon, - execute: (dispatch, resource) => { - dispatch(openFileRemoveDialog(resource.uuid)); +]]; + +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(openRenameFileDialog({ + name: resource.name, + id: resource.uuid, + path: resource.uuid.split('/').slice(1).join('/') })); + } + }, + { + name: "Remove", + icon: RemoveIcon, + execute: (dispatch, resource) => { + dispatch(openFileRemoveDialog(resource.uuid)); + } } -}]]; +]]; + +export const collectionDirectoryItemActionSet: ContextMenuActionSet = readOnlyCollectionDirectoryItemActionSet.concat(writableActionSet); + +export const collectionFileItemActionSet: ContextMenuActionSet = readOnlyCollectionFileItemActionSet.concat(writableActionSet); \ No newline at end of file