Skip to content

Commit bee83b9

Browse files
author
rodriguez-facundo
committed
#139 Move topbar and tabs-bar to Geppetto topbar component. Move simulate button to new design
1 parent eef0858 commit bee83b9

22 files changed

Lines changed: 536 additions & 309 deletions

webapp/Theme.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,21 @@ import purple from '@material-ui/core/colors/purple';
44
import orange from '@material-ui/core/colors/orange';
55

66
// orange
7-
const primaryColor = '#f67700'
8-
const secondaryColor = '#f67700'
7+
const primaryColor = '#37ABC8'
8+
const secondaryColor = '#37ABC8'
99

10-
const bgLight = '#616161';
11-
const bgRegular = '#424242';
12-
const bgDark = '#212121';
10+
export const bgLight = '#4A4A4A';
11+
export const bgRegular = '#434343';
12+
export const bgDark = '#353535';
13+
14+
export const font = 'Roboto, Helvetica, Arial, sans-serif'
1315

1416
export default createMuiTheme({
1517
typography: {
1618
useNextVariants: true,
1719
htmlFontSize: 12,
1820
fontSize: 10,
19-
fontFamily: 'Roboto, Helvetica, Arial, sans-serif',
21+
fontFamily: font,
2022
button: {
2123
textTransform: "none",
2224
fontSize: "1.0rem"

webapp/components/NetPyNE.js

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import React from "react";
2-
import Toolbar from "@material-ui/core/Toolbar";
32

43
import {
5-
NetPyNEToolBar,
6-
NetPyNETabs,
4+
Topbar,
75
LayoutManager,
86
Drawer
97
} from "netpyne/components";
@@ -58,14 +56,7 @@ class NetPyNE extends React.Component {
5856
return (
5957
<div className={classes.container}>
6058
<div className={classes.content}>
61-
<Toolbar id="appBar" className={classes.toolbar}>
62-
<div className={classes.drawer}>
63-
<NetPyNEToolBar />
64-
</div>
65-
<div className={classes.views}>
66-
<NetPyNETabs />
67-
</div>
68-
</Toolbar>
59+
<Topbar/>
6960
</div>
7061
<div style={{ flexGrow:1, display: 'flex', flexDirection: 'row', position: 'relative' }}>
7162
<Drawer/>

webapp/components/index.js

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import {
1616
} from "../redux/actions/general";
1717
import { closeDrawerDialogBox, openDrawerDialogBox } from '../redux/actions/drawer';
1818

19+
import { openTopbarDialog, closeTopbarDialog, changePageTransitionMode } from '../redux/actions/topbar'
20+
1921
const updateCardsDispatch = dispatch => ({ updateCards: () => dispatch(updateCards) });
2022
const pythonCallErrorDispatch = dispatch => ({ pythonCallErrorDialogBox: payload => dispatch(openBackendErrorDialog(payload)) });
2123

@@ -164,15 +166,6 @@ export const NetPyNETabs = connect(
164166
})
165167
)(_NetPyNETabs);
166168

167-
import _NetPyNEToolbar from "./settings/NetPyNEToolBar";
168-
export const NetPyNEToolBar = connect(
169-
state => ({ ...state.general, ...state.drawer }),
170-
dispatch => ({
171-
closeDrawerDialogBox: () => dispatch(closeDrawerDialogBox),
172-
openDrawerDialogBox: () => dispatch(openDrawerDialogBox),
173-
})
174-
)(_NetPyNEToolbar);
175-
176169
import SelectField from "./general/Select";
177170
export const NetPyNESelectField = connect((state, ownProps) => ({
178171
...ownProps,
@@ -203,7 +196,7 @@ export const NetWorkControlButtons = connect(
203196
})
204197
)(_NetWorkControlButtons)
205198

206-
import _ActionDialog from './settings/actions/ActionDialog'
199+
import _ActionDialog from './topbar/dialogs/ActionDialog'
207200
export const ActionDialog = connect(
208201
state => ({ ...state.errors, openErrorDialogBox: state.errors.openDialog }),
209202
dispatch => ({
@@ -234,6 +227,38 @@ export const Drawer = connect(
234227
})
235228
)(_Drawer)
236229

230+
231+
import _Topbar from "./topbar/Topbar";
232+
export const Topbar = connect(
233+
state => ({
234+
dialogOpen: state.topbar.dialogOpen,
235+
editMode: state.general.editMode,
236+
topbarDialogName: state.topbar.dialogName,
237+
pageTransitionMode: state.topbar.pageTransitionMode
238+
}),
239+
dispatch => ({
240+
dispatchAction: action => dispatch(action),
241+
closeDialog: () => dispatch(closeTopbarDialog),
242+
changePageTransitionMode: mode => dispatch(changePageTransitionMode(mode))
243+
})
244+
)(_Topbar)
245+
246+
import _SwitchPageButton from "./topbar/SwitchPageButton";
247+
export const SwitchPageButton = connect(
248+
state => ({
249+
editModelPage: state.general.editMode,
250+
pageTransitionMode: state.topbar.pageTransitionMode,
251+
}),
252+
dispatch => ({
253+
switchToEditModelPage: () => dispatch(editModel),
254+
changePageTransitionMode: mode => dispatch(changePageTransitionMode(mode)),
255+
createNetwork: () => dispatch(createNetwork),
256+
createAndSimulateNetwork: () => dispatch(createAndSimulateNetwork),
257+
showNetwork: () => dispatch(showNetwork)
258+
})
259+
)(_SwitchPageButton)
260+
261+
237262
// ---------------------------------------------------------------------------------------- //
238263

239264
// DEFAULTS

webapp/components/settings/Drawer.js

Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import React, { useState } from 'react'
22
import { makeStyles } from '@material-ui/core/styles';
3-
import Drawer from '@material-ui/core/Drawer';
3+
4+
import Paper from '@material-ui/core/Paper'
45

56
import IconButton from '@material-ui/core/IconButton'
6-
import Toolbar from '@material-ui/core/Toolbar';
7+
78
import List from '@material-ui/core/List';
89

910
import ListItem from '@material-ui/core/ListItem';
@@ -23,41 +24,51 @@ import {
2324

2425

2526
const drawerOpenWidth = 200;
26-
const drawerCloseWidth = 54;
27+
const drawerCloseWidth = 48;
2728

28-
const drawerCss = (entering, transitions, palette) => ({
29+
const drawerCss = (entering, transitions, palette, spacing) => ({
2930
overflow: 'hidden',
31+
marginTop: spacing(1),
32+
marginBottom: spacing(1),
33+
marginLeft: spacing(1),
3034
width: props => props.width,
3135
flexShrink: 0,
3236
borderRight: 'none',
37+
position: 'relative',
3338
transition: transitions.create('width', {
3439
easing: transitions.easing.sharp,
3540
duration: entering ? transitions.duration.enteringScreen : transitions.duration.leavingScreen,
3641
})
3742
})
3843

39-
const useStyles = makeStyles(({ transitions, palette }) => ({
40-
openDrawer: drawerCss(true, transitions, palette),
44+
const useStyles = makeStyles(({ transitions, palette, spacing }) => ({
45+
openDrawer: drawerCss(true, transitions, palette, spacing),
4146

42-
closeDrawer: drawerCss(false, transitions, palette),
47+
closeDrawer: drawerCss(false, transitions, palette, spacing),
4348

44-
colapse: {
49+
buttonContainer: { textAlign: 'end' },
50+
button: {
4551
color: 'white',
46-
position: 'absolute',
47-
bottom: 0,
48-
right: 2
52+
marginBottom: spacing(1),
53+
marginRight: props => props.expand ? spacing(1) : 0,
54+
},
55+
text: { paddingLeft: spacing(1) },
56+
container: {
57+
display: 'flex',
58+
justifyContent: 'space-between',
59+
flexDirection: 'column',
60+
height: '100%'
4961
},
50-
paper: { backgroundColor: palette.grey['900'] },
5162

52-
selected: { height: 48, color: palette.primary.main },
53-
unselected: { height: 48, color: palette.common.white },
54-
noColor: { color: 'inherit' }
63+
selected: { color: palette.primary.main, paddingLeft: spacing(1) },
64+
unselected: { color: palette.common.white, paddingLeft: spacing(1) },
65+
icon: { color: 'inherit', minWidth: 'unset' }
5566
}))
5667

5768
export default ({ widgets, newWidget, editMode }) => {
5869
const [expand, setExpand] = useState({ dark: !editMode })
5970

60-
const classes = useStyles({ width: expand ? drawerOpenWidth : drawerCloseWidth });
71+
const classes = useStyles({ width: expand ? drawerOpenWidth : drawerCloseWidth, expand });
6172

6273
function createWidget (widgetId) {
6374
if (!widgets[widgetId]) {
@@ -92,49 +103,48 @@ export default ({ widgets, newWidget, editMode }) => {
92103
}
93104

94105
return (
95-
<div>
96-
<Drawer
97-
variant="permanent"
98-
className={expand ? classes.openDrawer : classes.closeDrawer}
99-
classes={{ paper: expand ? classes.openDrawer : classes.closeDrawer }}
100-
>
101-
<div>
102-
<Toolbar/>
106+
<Paper className={expand ? classes.openDrawer : classes.closeDrawer}>
107+
<div className={classes.container}>
108+
<div >
103109
<List dense>
104110
{getMenu().map(({ name, id }) => (
105111
<ListItem
106112
button
107113
key={name}
114+
dense
115+
disableGutters
108116
className={widgets[id] ? classes.selected : classes.unselected}
109117
onClick={() => createWidget(id)}
110118
>
111-
<ListItemIcon className={classes.noColor}>
112-
<AdjustIcon/>
119+
<ListItemIcon className={classes.icon}>
120+
<AdjustIcon fontSize="large"/>
113121
</ListItemIcon>
114-
<ListItemText>
122+
<ListItemText className={classes.text}>
115123
<Typography noWrap>{name}</Typography>
116124
</ListItemText>
117125
</ListItem>
118126
))}
119127
</List>
128+
</div>
129+
<div></div>
120130

121-
131+
<div className={classes.buttonContainer}>
122132
<IconButton
123-
className={classes.colapse}
133+
className={classes.button}
124134
onClick={() => {
125135
setExpand(!expand)
126136
setTimeout(() => window.dispatchEvent(new Event('resize')), 400)
127-
// pepe()
137+
// pepe()
128138
}}
129139
>
130140
{expand ? <ChevronLeftIcon/> : <ChevronRightIcon/>}
131141
</IconButton>
142+
</div>
132143

133144

134-
</div>
145+
</div>
135146

136-
</Drawer>
137-
</div>
147+
</Paper>
138148
)
139149

140150
}

0 commit comments

Comments
 (0)