X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/219d452e647c01754bf71b91086b15cc9f00027a..95bba613751af0c9371e15dc8d2d1612079a6fe5:/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 0b623eca..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,27 +3,51 @@ // SPDX-License-Identifier: AGPL-3.0 import { ContextMenuActionSet } from "../context-menu-action-set"; -import { RenameIcon, DownloadIcon, RemoveIcon } from "../../../components/icon/icon"; -import { openRemoveDialog } from "../../remove-dialog/remove-dialog"; -import { openRenameDialog } from "../../rename-dialog/rename-dialog"; +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 collectionFilesItemActionSet: ContextMenuActionSet = [[{ - name: "Rename", - icon: RenameIcon, - execute: (dispatch, resource) => { - dispatch(openRenameDialog('the item')); - } -},{ - name: "Download", - icon: DownloadIcon, - execute: (dispatch, resource) => { - return; +export const readOnlyCollectionDirectoryItemActionSet: ContextMenuActionSet = [[ + { + component: CollectionFileViewerAction, + execute: () => { return; }, + }, + { + component: CollectionCopyToClipboardAction, + execute: () => { return; }, } -},{ - name: "Remove", - icon: RemoveIcon, - execute: (dispatch, resource) => { - dispatch(openRemoveDialog('selected file')); +]]; + +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