X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3acd5eca12d4c828e454dfe636ee72bdd44745c7..6ad3586e61737306f61a330eca545ca494f16304:/src/views-components/collection-panel-files/collection-panel-files.ts diff --git a/src/views-components/collection-panel-files/collection-panel-files.ts b/src/views-components/collection-panel-files/collection-panel-files.ts index cfd32dcfac..eb16eb6c40 100644 --- a/src/views-components/collection-panel-files/collection-panel-files.ts +++ b/src/views-components/collection-panel-files/collection-panel-files.ts @@ -23,20 +23,21 @@ import { CollectionFileType, createCollectionDirectory } from "~/models/collecti import { openContextMenu, openCollectionFilesContextMenu } from '~/store/context-menu/context-menu-actions'; import { openUploadCollectionFilesDialog } from '~/store/collections/collection-upload-actions'; import { ResourceKind } from "~/models/resource"; -import { loadDetailsPanel } from '~/store/details-panel/details-panel-action'; +import { openDetailsPanel } from '~/store/details-panel/details-panel-action'; const memoizedMapStateToProps = () => { let prevState: CollectionPanelFilesState; let prevTree: Array>; - return (state: RootState): Pick => { + return (state: RootState): Pick => { if (prevState !== state.collectionPanelFiles) { prevState = state.collectionPanelFiles; prevTree = getNodeChildrenIds('')(state.collectionPanelFiles) .map(collectionItemToTreeItem(state.collectionPanelFiles)); } return { - items: prevTree + items: prevTree, + currentItemUuid: state.detailsPanel.resourceUuid }; }; }; @@ -51,14 +52,25 @@ const mapDispatchToProps = (dispatch: Dispatch): Pick { dispatch(collectionPanelFilesAction.TOGGLE_COLLECTION_FILE_SELECTION({ id: item.id })); }, - onItemMenuOpen: (event, item) => { - dispatch(openContextMenu(event, { menuKind: ContextMenuKind.COLLECTION_FILES_ITEM, kind: ResourceKind.COLLECTION, name: item.data.name, uuid: item.id, ownerUuid: '' })); + onItemMenuOpen: (event, item, isWritable) => { + dispatch(openContextMenu( + event, + { + menuKind: isWritable + ? ContextMenuKind.COLLECTION_FILES_ITEM + : ContextMenuKind.READONLY_COLLECTION_FILES_ITEM, + kind: ResourceKind.COLLECTION, + name: item.data.name, + uuid: item.id, + ownerUuid: '' + } + )); }, - onOptionsMenuOpen: (event) => { - dispatch(openCollectionFilesContextMenu(event)); + onOptionsMenuOpen: (event, isWritable) => { + dispatch(openCollectionFilesContextMenu(event, isWritable)); }, onFileClick: (id) => { - dispatch(loadDetailsPanel(id)); + dispatch(openDetailsPanel(id)); }, });