X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/f26a160eb9a476f1d5037d899e0636cf150fb573..159c84a15b7739c02dc4bc0d9626b515e8426b92:/src/components/file-tree/file-tree.tsx diff --git a/src/components/file-tree/file-tree.tsx b/src/components/file-tree/file-tree.tsx index 0a96254c..d4b47be9 100644 --- a/src/components/file-tree/file-tree.tsx +++ b/src/components/file-tree/file-tree.tsx @@ -3,7 +3,8 @@ // SPDX-License-Identifier: AGPL-3.0 import * as React from "react"; -import { Tree, TreeItem, TreeItemStatus } from "../tree/tree"; +import { TreeItem, TreeItemStatus } from "../tree/tree"; +import { VirtualTree } from "../tree/virtual-tree"; import { FileTreeData } from "./file-tree-data"; import { FileTreeItem } from "./file-tree-item"; @@ -12,8 +13,11 @@ export interface FileTreeProps { onMenuOpen: (event: React.MouseEvent, item: TreeItem) => void; onSelectionToggle: (event: React.MouseEvent, item: TreeItem) => void; onCollapseToggle: (id: string, status: TreeItemStatus) => void; + onFileClick: (id: string) => void; + currentItemUuid?: string; } +const Tree = VirtualTree(20); export class FileTree extends React.Component { render() { return { onContextMenu={this.handleContextMenu} toggleItemActive={this.handleToggleActive} toggleItemOpen={this.handleToggle} - toggleItemSelection={this.handleSelectionChange} />; + toggleItemSelection={this.handleSelectionChange} + currentItemUuid={this.props.currentItemUuid} />; } handleContextMenu = (event: React.MouseEvent, item: TreeItem) => { @@ -36,7 +41,9 @@ export class FileTree extends React.Component { this.props.onCollapseToggle(id, status); } - handleToggleActive = () => { return; }; + handleToggleActive = (_: React.MouseEvent, item: TreeItem) => { + this.props.onFileClick(item.id); + } handleSelectionChange = (event: React.MouseEvent, item: TreeItem) => { event.stopPropagation();