summaryrefslogtreecommitdiff
path: root/src/containers/map/RackContainer.js
diff options
context:
space:
mode:
authorGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-17 17:55:04 +0200
committerGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-23 10:06:03 +0200
commiteb208a7e2fd020ab5d07d11cc6d52d1e3dcfcc7c (patch)
treed2ec8a20408b7b2880e62feaa70fe95a78c484dd /src/containers/map/RackContainer.js
parent326b74fc39f63f47c71359276601ea93f7345dc6 (diff)
Add simulation mode framework
Includes object states in the store (by tick), charting, and progress bars.
Diffstat (limited to 'src/containers/map/RackContainer.js')
-rw-r--r--src/containers/map/RackContainer.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/containers/map/RackContainer.js b/src/containers/map/RackContainer.js
new file mode 100644
index 00000000..60df9aaf
--- /dev/null
+++ b/src/containers/map/RackContainer.js
@@ -0,0 +1,26 @@
+import {connect} from "react-redux";
+import RackGroup from "../../components/map/groups/RackGroup";
+import {getStateLoad} from "../../util/simulation-load";
+
+const mapStateToProps = (state, ownProps) => {
+ const inSimulation = state.currentExperimentId !== -1;
+
+ let rackLoad = undefined;
+ if (inSimulation) {
+ if (state.states.rack[state.currentTick] && state.states.rack[state.currentTick][ownProps.tile.objectId]) {
+ rackLoad = getStateLoad(state.loadMetric, state.states.rack[state.currentTick][ownProps.tile.objectId]);
+ }
+ }
+
+ return {
+ interactionLevel: state.interactionLevel,
+ inSimulation,
+ rackLoad,
+ };
+};
+
+const RackContainer = connect(
+ mapStateToProps
+)(RackGroup);
+
+export default RackContainer;