// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { StyleRulesCallback, Theme, WithStyles, withStyles } from '@material-ui/core/styles'; import Drawer from '@material-ui/core/Drawer'; import AppBar from '@material-ui/core/AppBar'; import Toolbar from '@material-ui/core/Toolbar'; import Typography from '@material-ui/core/Typography'; import { connect } from "react-redux"; import Tree, { TreeItem } from "../../components/tree/tree"; import { Project } from "../../models/project"; import { RootState } from "../../store/root-reducer"; import ProjectList from "../../components/project-list/project-list"; import { Route, Switch } from "react-router"; import { Link } from "react-router-dom"; import { actions as projectActions } from "../../store/project-action"; import ListItemText from "@material-ui/core/ListItemText/ListItemText"; import ListItemIcon from '@material-ui/core/ListItemIcon'; const drawerWidth = 240; type CssRules = 'root' | 'appBar' | 'active' | 'drawerPaper' | 'content' | 'row' | 'treeContainer' | 'toolbar'; const styles: StyleRulesCallback = (theme: Theme) => ({ root: { flexGrow: 1, zIndex: 1, overflow: 'hidden', position: 'relative', display: 'flex', width: '100%', height: '100%' }, appBar: { zIndex: theme.zIndex.drawer + 1, backgroundColor: '#692498' }, active: { color: '#4285F6', }, drawerPaper: { position: 'relative', width: drawerWidth, }, content: { flexGrow: 1, backgroundColor: theme.palette.background.default, padding: theme.spacing.unit * 3, minWidth: 0, }, row: { display: 'flex', alignItems: 'center', }, treeContainer: { position: 'absolute', overflowX: 'visible', marginTop: '80px', minWidth: drawerWidth, whiteSpace: 'nowrap', }, toolbar: theme.mixins.toolbar }); interface WorkbenchProps { projects: Array>; toggleProjectTreeItem: (id: string) => any; } interface WorkbenchState { } class Workbench extends React.Component, WorkbenchState> { render() { const {classes, projects} = this.props; return (
Arvados
Workbench 2
) =>
{project.data.icon}
{project.data.name}} />
} />
Hello new workbench!
); } } export default connect( (state: RootState) => ({ projects: state.projects }), { toggleProjectTreeItem: (id: string) => projectActions.toggleProjectTreeItem(id) } )( withStyles(styles)(Workbench) );