X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/9dcc70fc137fac02991f3ebe830748badb4eab35..2f39812f57c2acbc20a6292964b0a6b3512a9870:/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 d94d3bff..fe808af5 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; - handleCreationDialogOpen: () => void; - handleCreationDialogClose: () => void; -} - -class ProjectTree extends React.Component> { - render(): ReactElement { - const { classes, projects, toggleOpen, toggleActive } = 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); +);