From: Michal Klobukowski Date: Tue, 26 Jun 2018 12:12:26 +0000 (+0200) Subject: Add project panel toolbar template X-Git-Tag: 1.2.0~64^2~4 X-Git-Url: https://git.arvados.org/arvados-workbench2.git/commitdiff_plain/2d06516661e4df961a586e3fd66c8e782332d18f Add project panel toolbar template Feature #13683 Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski --- diff --git a/src/views/project-panel/project-panel.tsx b/src/views/project-panel/project-panel.tsx index 534f843f..a9fd378c 100644 --- a/src/views/project-panel/project-panel.tsx +++ b/src/views/project-panel/project-panel.tsx @@ -12,6 +12,7 @@ import { ItemMode, setProjectItem } from "../../store/navigation/navigation-acti import ProjectExplorer from "../../views-components/project-explorer/project-explorer"; import { projectExplorerItems } from "./project-panel-selectors"; import { ProjectExplorerItem } from "../../views-components/project-explorer/project-explorer-item"; +import { Button, StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core'; interface ProjectPanelDataProps { projects: ProjectState; @@ -20,7 +21,7 @@ interface ProjectPanelDataProps { type ProjectPanelProps = ProjectPanelDataProps & RouteComponentProps<{ name: string }> & DispatchProp; -class ProjectPanel extends React.Component { +class ProjectPanel extends React.Component> { render() { const items = projectExplorerItems( this.props.projects.items, @@ -28,10 +29,23 @@ class ProjectPanel extends React.Component { this.props.collections ); return ( - +
+
+ + + +
+ +
); } @@ -40,9 +54,23 @@ class ProjectPanel extends React.Component { } } -export default connect( - (state: RootState) => ({ - projects: state.projects, - collections: state.collections - }) -)(ProjectPanel); +type CssRules = "toolbar" | "button"; + +const styles: StyleRulesCallback = theme => ({ + toolbar: { + marginBottom: theme.spacing.unit * 3, + display: "flex", + justifyContent: "flex-end" + }, + button: { + marginLeft: theme.spacing.unit + } +}); + +export default withStyles(styles)( + connect( + (state: RootState) => ({ + projects: state.projects, + collections: state.collections + }) + )(ProjectPanel));