Skip to content

Commit a07c04b

Browse files
committed
#135 Refactor component wrappers and imports
As well as main state on tab switching (to be completed)
1 parent 02ae343 commit a07c04b

58 files changed

Lines changed: 1174 additions & 1055 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

netpyne_ui/geppetto

Lines changed: 0 additions & 1 deletion
This file was deleted.

webapp/Main.js

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,25 @@ global.GEPPETTO_CONFIGURATION = require('./GeppettoConfiguration.json');
33

44
jQuery(function () {
55
require('geppetto-client-initialization');
6-
var ReactDOM = require('react-dom');
7-
var React = require('react');
8-
var getMuiTheme = require('@material-ui/core/styles/createMuiTheme').default;
9-
var MuiThemeProvider = require('@material-ui/core/styles').MuiThemeProvider;
10-
var NetPyNE = require('./NetPyNE').default;
6+
const ReactDOM = require('react-dom');
7+
const React = require('react');
8+
const getMuiTheme = require('@material-ui/core/styles/createMuiTheme').default;
9+
const MuiThemeProvider = require('@material-ui/core/styles').MuiThemeProvider;
10+
const NetPyNE = require('./components').NetPyNE;
1111

1212

13-
var Utils = require('./Utils').default;
14-
var Console = require('geppetto-client/js/components/interface/console/Console');
15-
var TabbedDrawer = require('geppetto-client/js/components/interface/drawer/TabbedDrawer');
16-
var PythonConsole = require('geppetto-client/js/components/interface/pythonConsole/PythonConsole');
17-
var theme = require('./Theme').default
13+
const Utils = require('./Utils').default;
14+
const Console = require('geppetto-client/js/components/interface/console/Console');
15+
const TabbedDrawer = require('geppetto-client/js/components/interface/drawer/TabbedDrawer');
16+
const PythonConsole = require('geppetto-client/js/components/interface/pythonConsole/PythonConsole');
17+
18+
const theme = require('./Theme').default
1819

1920
const Provider = require("react-redux").Provider;
2021
const configureStore = require('./redux/store').default;
2122

23+
const modelLoaded = require('./redux/actions/general').modelLoaded;
24+
2225
require('./css/netpyne.less');
2326
require('./css/material.less');
2427
require('./css/traceback.less');
@@ -59,7 +62,10 @@ jQuery(function () {
5962
GEPPETTO.Manager.loadExperiment(1, [], []);
6063
Utils.execPythonMessage('from netpyne_ui.netpyne_geppetto import netpyne_geppetto');
6164
Utils.evalPythonMessage('netpyne_geppetto.getData',[]).then(response => {
62-
var data = Utils.convertToJSON(response)
65+
const data = Utils.convertToJSON(response);
66+
GEPPETTO.on(GEPPETTO.Events.Model_loaded, () => {
67+
store.dispatch(modelLoaded);
68+
});
6369
ReactDOM.render(<App data={data} />, document.querySelector('#mainContainer'));
6470
GEPPETTO.trigger("spinner:hide");
6571
})

webapp/NetPyNE.js

Lines changed: 0 additions & 186 deletions
This file was deleted.

webapp/components/NetPyNE.js

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
import React from "react";
2+
import Toolbar from "@material-ui/core/Toolbar";
3+
import Transition from "./transition/Transition";
4+
import {
5+
NetPyNESynapses,
6+
NetPyNEConnectivityRules,
7+
NetPyNECellRules,
8+
NetPyNEStimulationSources,
9+
NetPyNEStimulationTargets,
10+
NetPyNESimConfig,
11+
NetPyNEToolBar,
12+
NetPyNETabs,
13+
NetPyNEPopulations,
14+
LayoutManager,
15+
NetPyNEPlots
16+
} from "netpyne/components";
17+
18+
export default class NetPyNE extends React.Component {
19+
constructor (props) {
20+
super(props);
21+
this.widgets = {};
22+
23+
}
24+
25+
UNSAFE_componentWillReceiveProps (nextProps) {
26+
if (this.props.data != nextProps.data) {
27+
console.log("Initialising NetPyNE Tabs");
28+
29+
window.metadata = nextProps.data.metadata;
30+
window.currentFolder = nextProps.data.currentFolder;
31+
window.isDocker = nextProps.data.isDocker;
32+
}
33+
}
34+
35+
36+
render () {
37+
if (!this.props.data) {
38+
return <div></div>;
39+
} else {
40+
if (this.props.editMode) {
41+
var content = (
42+
<div style={{ marginBottom: "50px" }}>
43+
<NetPyNEPopulations model={"netParams.popParams"} />
44+
<NetPyNECellRules model={"netParams.cellParams"} />
45+
<NetPyNESynapses model={"netParams.synMechParams"} />
46+
<NetPyNEConnectivityRules model={"netParams.connParams"} />
47+
<NetPyNEStimulationSources model={"netParams.stimSourceParams"} />
48+
<NetPyNEStimulationTargets model={"netParams.stimTargetParams"} />
49+
<NetPyNESimConfig model={this.props.data.simConfig} />
50+
<NetPyNEPlots model={"simConfig.analysis"} />
51+
</div>
52+
);
53+
} else {
54+
var content = <LayoutManager />;
55+
}
56+
57+
return (
58+
<div
59+
style={{
60+
height: "100%",
61+
width: "100%",
62+
display: "flex",
63+
flexDirection: "column"
64+
}}
65+
>
66+
<div style={{ position: "relative", zIndex: "100" }}>
67+
<Toolbar
68+
id="appBar"
69+
style={{
70+
backgroundColor: "#543a73",
71+
width: "100%",
72+
boxShadow:
73+
"0 0px 4px 0 rgba(0, 0, 0, 0.2), 0 0px 8px 0 rgba(0, 0, 0, 0.19)",
74+
position: "relative",
75+
top: "0px",
76+
left: "0px",
77+
zIndex: 100
78+
}}
79+
>
80+
<div style={{ marginLeft: -12 }}>
81+
<NetPyNEToolBar />
82+
</div>
83+
<div
84+
style={{
85+
display: "flex",
86+
flexFlow: "rows",
87+
width: "100%",
88+
marginRight: -10
89+
}}
90+
>
91+
<NetPyNETabs />
92+
</div>
93+
</Toolbar>
94+
</div>
95+
96+
{/** TODO Reengineer Transition using the middleware to handle simulation and instantiation. The transition should only show content related to what actually we want to do
97+
<Transition
98+
tab={this.state.value}
99+
clickOnTab={this.state.tabClicked}
100+
handleDeactivateInstanceUpdate={this.handleDeactivateInstanceUpdate}
101+
handleDeactivateSimulationUpdate={
102+
this.handleDeactivateSimulationUpdate
103+
}
104+
freezeInstance={this.state.freezeInstance}
105+
freezeSimulation={this.state.freezeSimulation}
106+
fastForwardInstantiation={this.state.fastForwardInstantiation}
107+
fastForwardSimulation={this.state.fastForwardSimulation}
108+
/> */}
109+
110+
{content}
111+
</div>
112+
);
113+
}
114+
}
115+
}

0 commit comments

Comments
 (0)