diff options
Diffstat (limited to 'src/containers/map')
| -rw-r--r-- | src/containers/map/DatacenterContainer.js | 2 | ||||
| -rw-r--r-- | src/containers/map/RackContainer.js | 26 | ||||
| -rw-r--r-- | src/containers/map/TileContainer.js | 15 |
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, }; }; |
