X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/fe979f4143a71d7951dcfa35c9fdf68841742c74..a1e2b8ba77e4a7273940a3fc542bc42e282618a7:/src/views-components/project-tree/project-tree.tsx diff --git a/src/views-components/project-tree/project-tree.tsx b/src/views-components/project-tree/project-tree.tsx index 511cbbbc73..fe808af5c7 100644 --- a/src/views-components/project-tree/project-tree.tsx +++ b/src/views-components/project-tree/project-tree.tsx @@ -4,65 +4,48 @@ import * as React from 'react'; import { ReactElement } from 'react'; -import { StyleRulesCallback, Theme, WithStyles, withStyles } from '@material-ui/core/styles'; -import ListItemText from "@material-ui/core/ListItemText/ListItemText"; -import ListItemIcon from '@material-ui/core/ListItemIcon'; -import Typography from '@material-ui/core/Typography'; +import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; +import { Tree, TreeItem, TreeItemStatus } from '~/components/tree/tree'; +import { ProjectResource } from '~/models/project'; +import { ProjectIcon } from '~/components/icon/icon'; +import { ArvadosTheme } from '~/common/custom-theme'; +import { ListItemTextIcon } from '~/components/list-item-text-icon/list-item-text-icon'; -import Tree, { TreeItem, TreeItemStatus } from '../../components/tree/tree'; -import { Project } from '../../models/project'; +type CssRules = 'root'; -export interface ProjectTreeProps { - projects: Array>; - toggleOpen: (id: string, status: TreeItemStatus) => void; - toggleActive: (id: string, status: TreeItemStatus) => void; - onContextMenu: (event: React.MouseEvent, item: TreeItem) => void; -} - -class ProjectTree extends React.Component> { - render(): ReactElement { - const { classes, projects, toggleOpen, toggleActive, onContextMenu } = this.props; - const { active, listItemText, row, treeContainer } = classes; - return ( -
- ) => - - - - - {project.data.name} - } /> - - } /> -
- ); +const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ + root: { + marginLeft: `${theme.spacing.unit * 1.5}px`, } -} +}); -type CssRules = 'active' | 'listItemText' | 'row' | 'treeContainer'; +export interface ProjectTreeProps { + projects: Array>; + toggleOpen: (event: React.MouseEvent, item: TreeItem) => void; + toggleActive: (event: React.MouseEvent, item: TreeItem) => void; + onContextMenu: (event: React.MouseEvent, item: TreeItem) => void; +} -const styles: StyleRulesCallback = (theme: Theme) => ({ - active: { - color: '#4285F6', - }, - listItemText: { - padding: '0px', - }, - row: { - display: 'flex', - alignItems: 'center', - marginLeft: '20px', - }, - treeContainer: { - minWidth: '240px', - whiteSpace: 'nowrap', - marginLeft: '13px', +export const ProjectTree = withStyles(styles)( + class ProjectTreeGeneric extends React.Component & WithStyles> { + render(): ReactElement { + const { classes, projects, toggleOpen, toggleActive, onContextMenu } = this.props; + return ( +
+ ) => + + } /> +
+ ); + } } -}); - -export default withStyles(styles)(ProjectTree); +);