summaryrefslogtreecommitdiff
path: root/src/containers/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/containers/map')
-rw-r--r--src/containers/map/DatacenterContainer.js2
-rw-r--r--src/containers/map/RackContainer.js26
-rw-r--r--src/containers/map/TileContainer.js15
3 files changed, 41 insertions, 2 deletions
diff --git a/src/containers/map/DatacenterContainer.js b/src/containers/map/DatacenterContainer.js
index 8c80146d..b56adbac 100644
--- a/src/containers/map/DatacenterContainer.js
+++ b/src/containers/map/DatacenterContainer.js
@@ -8,7 +8,7 @@ const mapStateToProps = state => {
return {
datacenter: state.objects.datacenter[state.currentDatacenterId],
- interactionLevel: state.interactionLevel
+ interactionLevel: state.interactionLevel,
};
};
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;
diff --git a/src/containers/map/TileContainer.js b/src/containers/map/TileContainer.js
index 9e98636a..75fac5ad 100644
--- a/src/containers/map/TileContainer.js
+++ b/src/containers/map/TileContainer.js
@@ -1,11 +1,24 @@
import {connect} from "react-redux";
import {goFromRoomToRack} from "../../actions/interaction-level";
import TileGroup from "../../components/map/groups/TileGroup";
+import {getStateLoad} from "../../util/simulation-load";
const mapStateToProps = (state, ownProps) => {
+ const tile = state.objects.tile[ownProps.tileId];
+ const inSimulation = state.currentExperimentId !== -1;
+
+ let roomLoad = undefined;
+ if (inSimulation) {
+ if (state.states.room[state.currentTick] && state.states.room[state.currentTick][tile.roomId]) {
+ roomLoad = getStateLoad(state.loadMetric, state.states.room[state.currentTick][tile.roomId]);
+ }
+ }
+
return {
interactionLevel: state.interactionLevel,
- tile: state.objects.tile[ownProps.tileId],
+ tile,
+ inSimulation,
+ roomLoad,
};
};