Merge conflicts
[arvados-workbench2.git] / src / views / workbench / workbench.tsx
index b11a1360c4665318871e289af6739f85517cb56c..564360263c363461d5b558c1f298dce802b31498 100644 (file)
@@ -23,7 +23,7 @@ import ListItemIcon from '@material-ui/core/ListItemIcon';
 
 const drawerWidth = 240;
 
-type CssRules = 'root' | 'appBar' | 'drawerPaper' | 'content' | 'row' | 'toolbar';
+type CssRules = 'root' | 'appBar' | 'active' | 'drawerPaper' | 'content' | 'row' | 'treeContainer' | 'toolbar';
 
 const styles: StyleRulesCallback<CssRules> = (theme: Theme) => ({
     root: {
@@ -39,6 +39,9 @@ const styles: StyleRulesCallback<CssRules> = (theme: Theme) => ({
         zIndex: theme.zIndex.drawer + 1,
         backgroundColor: '#692498'
     },
+    active: {
+        color: '#4285F6',
+    },
     drawerPaper: {
         position: 'relative',
         width: drawerWidth,
@@ -50,7 +53,15 @@ const styles: StyleRulesCallback<CssRules> = (theme: Theme) => ({
         minWidth: 0,
     },
     row: {
-        display: 'flex'
+        display: 'flex',
+        alignItems: 'center',
+    },
+    treeContainer: {
+        position: 'absolute',        
+        overflowX: 'visible',
+        marginTop: '80px',
+        minWidth: drawerWidth,
+        whiteSpace: 'nowrap',
     },
     toolbar: theme.mixins.toolbar
 });
@@ -81,13 +92,15 @@ class Workbench extends React.Component<WorkbenchProps & WithStyles<CssRules>, W
                         paper: classes.drawerPaper,
                     }}>
                     <div className={classes.toolbar}/>
-                    <Tree items={projects}
-                        toggleItem={this.props.toggleProjectTreeItem}
-                        render={(p: Project) => <span className={classes.row}>
-                            <div style={{marginTop: "3px"}}><ListItemIcon>{p.icon}</ListItemIcon></div>
-                            <div><ListItemText primary={p.name}/></div>
-                        </span>}
-                        />
+                    <div className={classes.treeContainer}>
+                        <Tree items={projects}
+                            toggleItem={this.props.toggleProjectTreeItem}
+                            render={(project: TreeItem<Project>) => <span className={classes.row}>
+                                <div><ListItemIcon className={project.active ? classes.active : ''}>{project.data.icon}</ListItemIcon></div>
+                                <div><ListItemText primary={<Typography className={project.active ? classes.active : ''}>{project.data.name}</Typography>} /></div>
+                            </span>}
+                            />
+                    </div>
                 </Drawer>
                 <main className={classes.content}>
                     <div className={classes.toolbar}/>