X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a5984c9693267f41237746af6b37d8402effdc39..7f95b6ead934a15e849c7650a08475633a8bfb09:/src/views/workbench/workbench.tsx diff --git a/src/views/workbench/workbench.tsx b/src/views/workbench/workbench.tsx index 8c3145b823..3767e7b051 100644 --- a/src/views/workbench/workbench.tsx +++ b/src/views/workbench/workbench.tsx @@ -10,8 +10,6 @@ import AppBar from '@material-ui/core/AppBar'; import Toolbar from '@material-ui/core/Toolbar'; import Typography from '@material-ui/core/Typography'; import { connect, DispatchProp } from "react-redux"; -import Tree from "../../components/tree/tree"; -import { Project } from "../../models/project"; import ProjectList from "../../components/project-list/project-list"; import { Route, Switch } from "react-router"; import { Link } from "react-router-dom"; @@ -24,6 +22,12 @@ import { AccountCircle } from "@material-ui/icons"; import { User } from "../../models/user"; import Grid from "@material-ui/core/Grid/Grid"; import { RootState } from "../../store/store"; +import projectActions from "../../store/project/project-action" + +import ProjectTree from '../../components/project-tree/project-tree'; +import { TreeItem } from "../../components/tree/tree"; +import { Project } from "../../models/project"; +import { projectService } from '../../services/services'; const drawerWidth = 240; @@ -58,7 +62,7 @@ const styles: StyleRulesCallback = (theme: Theme) => ({ }); interface WorkbenchDataProps { - projects: Project[]; + projects: Array>; user?: User; } @@ -100,6 +104,14 @@ class Workbench extends React.Component { }); }; + toggleProjectTreeItem = (itemId: string) => { + this.props.projects ? + this.props.dispatch(projectActions.TOGGLE_PROJECT_TREE_ITEM(itemId)) : ( + this.props.dispatch(projectService.getProjectList(itemId)).then(() => { + this.props.dispatch(projectActions.TOGGLE_PROJECT_TREE_ITEM(itemId)); + })) + }; + render() { const {classes, user} = this.props; return ( @@ -154,9 +166,9 @@ class Workbench extends React.Component { paper: classes.drawerPaper, }}>
- - {p.name} - }/> + }