1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
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';
12 export const readOnlyCollectionDirectoryItemActionSet: ContextMenuActionSet = [
15 component: CollectionFileViewerAction,
21 component: CollectionCopyToClipboardAction,
29 export const readOnlyCollectionFileItemActionSet: ContextMenuActionSet = [
32 component: DownloadCollectionFileAction,
37 ...readOnlyCollectionDirectoryItemActionSet.reduce((prev, next) => prev.concat(next), []),
41 const writableActionSet: ContextMenuActionSet = [
46 execute: (dispatch, resources) => {
47 resources.forEach((resource) =>
49 openRenameFileDialog({
52 path: resource.uuid.split('/').slice(1).join('/'),
61 execute: (dispatch, resources) => {
62 resources.forEach((resource) => dispatch<any>(openFileRemoveDialog(resource.uuid)));
68 export const collectionDirectoryItemActionSet: ContextMenuActionSet = readOnlyCollectionDirectoryItemActionSet.concat(writableActionSet);
70 export const collectionFileItemActionSet: ContextMenuActionSet = readOnlyCollectionFileItemActionSet.concat(writableActionSet);