X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/f0d519637c997df11d5b1a1b32b3d9e4a2872325..c038a5258d5790773ccca89a192c8c2b7dcd86cb:/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 ae9b53e3..edc100f7 100644 --- a/src/views-components/collection-panel-files/collection-panel-files.ts +++ b/src/views-components/collection-panel-files/collection-panel-files.ts @@ -3,17 +3,26 @@ // SPDX-License-Identifier: AGPL-3.0 import { connect } from "react-redux"; -import { CollectionPanelFiles as Component, CollectionPanelFilesProps } from "~/components/collection-panel-files/collection-panel-files"; +import { + CollectionPanelFiles as Component, + CollectionPanelFilesProps +} from "~/components/collection-panel-files/collection-panel-files"; import { RootState } from "~/store/store"; -import { TreeItemStatus, TreeItem } from "~/components/tree/tree"; -import { CollectionPanelFilesState, CollectionPanelDirectory, CollectionPanelFile } from "~/store/collection-panel/collection-panel-files/collection-panel-files-state"; +import { TreeItem, TreeItemStatus } from "~/components/tree/tree"; +import { + CollectionPanelDirectory, + CollectionPanelFile, + CollectionPanelFilesState +} from "~/store/collection-panel/collection-panel-files/collection-panel-files-state"; import { FileTreeData } from "~/components/file-tree/file-tree-data"; import { Dispatch } from "redux"; import { collectionPanelFilesAction } from "~/store/collection-panel/collection-panel-files/collection-panel-files-actions"; -import { contextMenuActions } from "~/store/context-menu/context-menu-actions"; import { ContextMenuKind } from "../context-menu/context-menu"; -import { Tree, getNodeChildren, getNode } from "~/models/tree"; +import { getNode, getNodeChildrenIds, Tree } from "~/models/tree"; import { CollectionFileType } from "~/models/collection-file"; +import { openContextMenu } from '~/store/context-menu/context-menu-actions'; +import { openUploadCollectionFilesDialog } from '~/store/collections/collection-upload-actions'; +import { ResourceKind } from "~/models/resource"; const memoizedMapStateToProps = () => { let prevState: CollectionPanelFilesState; @@ -22,7 +31,7 @@ const memoizedMapStateToProps = () => { return (state: RootState): Pick => { if (prevState !== state.collectionPanelFiles) { prevState = state.collectionPanelFiles; - prevTree = getNodeChildren('')(state.collectionPanelFiles) + prevTree = getNodeChildrenIds('')(state.collectionPanelFiles) .map(collectionItemToTreeItem(state.collectionPanelFiles)); } return { @@ -32,7 +41,9 @@ const memoizedMapStateToProps = () => { }; const mapDispatchToProps = (dispatch: Dispatch): Pick => ({ - onUploadDataClick: () => { return; }, + onUploadDataClick: () => { + dispatch(openUploadCollectionFilesDialog()); + }, onCollapseToggle: (id) => { dispatch(collectionPanelFilesAction.TOGGLE_COLLECTION_FILE_COLLAPSE({ id })); }, @@ -40,17 +51,11 @@ const mapDispatchToProps = (dispatch: Dispatch): Pick { - event.preventDefault(); - dispatch(contextMenuActions.OPEN_CONTEXT_MENU({ - position: { x: event.clientX, y: event.clientY }, - resource: { kind: ContextMenuKind.COLLECTION_FILES_ITEM, name: item.data.name, uuid: item.id } - })); + dispatch(openContextMenu(event, { menuKind: ContextMenuKind.COLLECTION_FILES_ITEM, kind: ResourceKind.COLLECTION, name: item.data.name, uuid: item.id, ownerUuid: '' })); + }, + onOptionsMenuOpen: (event) => { + dispatch(openContextMenu(event, { menuKind: ContextMenuKind.COLLECTION_FILES, kind: ResourceKind.COLLECTION, name: '', uuid: '', ownerUuid: '' })); }, - onOptionsMenuOpen: (event) => - dispatch(contextMenuActions.OPEN_CONTEXT_MENU({ - position: { x: event.clientX, y: event.clientY }, - resource: { kind: ContextMenuKind.COLLECTION_FILES, name: '', uuid: '' } - })) }); @@ -77,7 +82,7 @@ const collectionItemToTreeItem = (tree: Tree