X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/de7204ffbb7255e0aa9cefb7efd06f5130b19038..3c7e3cdc547ad5468421e1c049daa94b0d4b8bc0:/src/components/file-tree/file-tree-item.tsx diff --git a/src/components/file-tree/file-tree-item.tsx b/src/components/file-tree/file-tree-item.tsx index 9b248e0c..b522637d 100644 --- a/src/components/file-tree/file-tree-item.tsx +++ b/src/components/file-tree/file-tree-item.tsx @@ -2,15 +2,15 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { TreeItem } from "../tree/tree"; -import { ProjectIcon, MoreOptionsIcon, DefaultIcon, CollectionIcon } from "../icon/icon"; +import { DirectoryIcon, MoreOptionsIcon, DefaultIcon, FileIcon } from "../icon/icon"; import { Typography, IconButton, StyleRulesCallback, withStyles, WithStyles, Tooltip } from '@material-ui/core'; -import { formatFileSize } from "~/common/formatters"; +import { formatFileSize } from "common/formatters"; import { ListItemTextIcon } from "../list-item-text-icon/list-item-text-icon"; import { FileTreeData } from "./file-tree-data"; -type CssRules = "root" | "spacer" | "sizeInfo" | "button"; +type CssRules = "root" | "spacer" | "sizeInfo" | "button" | "moreOptions"; const fileTreeItemStyle: StyleRulesCallback = theme => ({ root: { @@ -27,7 +27,10 @@ const fileTreeItemStyle: StyleRulesCallback = theme => ({ button: { width: theme.spacing.unit * 3, height: theme.spacing.unit * 3, - marginRight: theme.spacing.unit + marginRight: theme.spacing.unit, + }, + moreOptions: { + position: 'absolute' } }); @@ -39,22 +42,25 @@ export const FileTreeItem = withStyles(fileTreeItemStyle)( class extends React.Component> { render() { const { classes, item } = this.props; - return
- -
- {formatFileSize(item.data.size)} - - - + return <> +
+ +
+ {formatFileSize(item.data.size)} + + + + - -
; +
+ ; } handleClick = (event: React.MouseEvent) => { @@ -62,12 +68,12 @@ export const FileTreeItem = withStyles(fileTreeItemStyle)( } }); -const getIcon = (item: TreeItem) => { - switch (item.data.type) { +export const getIcon = (type: string) => { + switch (type) { case 'directory': - return ProjectIcon; + return DirectoryIcon; case 'file': - return CollectionIcon; + return FileIcon; default: return DefaultIcon; }