X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/f8fb6725beec5b2bf0eec7f375d49f9189ff1bc3..02370859e71ada20e2247df02958a9c532fe614b:/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 2ded3736..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,32 +3,42 @@ // SPDX-License-Identifier: AGPL-3.0 import { ContextMenuActionSet } from "../context-menu-action-set"; -import { RemoveIcon } from "~/components/icon/icon"; +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 { CollectionFileViewerAction } from '~/views-components/context-menu/actions/collection-file-viewer-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 readOnlyCollectionFilesItemActionSet: ContextMenuActionSet = [[ +export const readOnlyCollectionDirectoryItemActionSet: ContextMenuActionSet = [[ { - component: DownloadCollectionFileAction, - execute: () => { return; } + component: CollectionFileViewerAction, + execute: () => { return; }, }, { - component: CollectionFileViewerAction, + component: CollectionCopyToClipboardAction, execute: () => { return; }, } ]]; -export const collectionFilesItemActionSet: ContextMenuActionSet = readOnlyCollectionFilesItemActionSet.concat([[ - // FIXME: This isn't working. Maybe something related to WebDAV? - // { - // name: "Rename", - // icon: RenameIcon, - // execute: (dispatch, resource) => { - // dispatch(openRenameFileDialog({ name: resource.name, id: 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, @@ -36,4 +46,8 @@ export const collectionFilesItemActionSet: ContextMenuActionSet = readOnlyCollec dispatch(openFileRemoveDialog(resource.uuid)); } } -]]); \ No newline at end of file +]]; + +export const collectionDirectoryItemActionSet: ContextMenuActionSet = readOnlyCollectionDirectoryItemActionSet.concat(writableActionSet); + +export const collectionFileItemActionSet: ContextMenuActionSet = readOnlyCollectionFileItemActionSet.concat(writableActionSet); \ No newline at end of file