diff options
Diffstat (limited to 'src/containers/sidebars/elements')
| -rw-r--r-- | src/containers/sidebars/elements/LoadBarContainer.js | 25 | ||||
| -rw-r--r-- | src/containers/sidebars/elements/LoadChartContainer.js | 26 |
2 files changed, 51 insertions, 0 deletions
diff --git a/src/containers/sidebars/elements/LoadBarContainer.js b/src/containers/sidebars/elements/LoadBarContainer.js new file mode 100644 index 00000000..08aec93c --- /dev/null +++ b/src/containers/sidebars/elements/LoadBarContainer.js @@ -0,0 +1,25 @@ +import {connect} from "react-redux"; +import LoadBarComponent from "../../../components/sidebars/elements/LoadBarComponent"; +import {getStateLoad} from "../../../util/simulation-load"; + +const mapStateToProps = (state, ownProps) => { + let percent = 0; + let enabled = false; + + const objectStates = state.states[ownProps.objectType]; + if (objectStates[state.currentTick] && objectStates[state.currentTick][ownProps.objectId]) { + percent = Math.floor(100 * getStateLoad(state.loadMetric, objectStates[state.currentTick][ownProps.objectId])); + enabled = true; + } + + return { + percent, + enabled + }; +}; + +const LoadBarContainer = connect( + mapStateToProps +)(LoadBarComponent); + +export default LoadBarContainer; diff --git a/src/containers/sidebars/elements/LoadChartContainer.js b/src/containers/sidebars/elements/LoadChartContainer.js new file mode 100644 index 00000000..7d8b10e5 --- /dev/null +++ b/src/containers/sidebars/elements/LoadChartContainer.js @@ -0,0 +1,26 @@ +import {connect} from "react-redux"; +import LoadChartComponent from "../../../components/sidebars/elements/LoadChartComponent"; +import {getStateLoad} from "../../../util/simulation-load"; + +const mapStateToProps = (state, ownProps) => { + const data = []; + + if (state.lastSimulatedTick !== -1) { + const objectStates = state.states[ownProps.objectType]; + Object.keys(objectStates).forEach(tick => { + if (objectStates[tick][ownProps.objectId]) { + data.push({x: tick, y: getStateLoad(state.loadMetric, objectStates[tick][ownProps.objectId])}); + } + }); + } + + return { + data + }; +}; + +const LoadChartContainer = connect( + mapStateToProps +)(LoadChartComponent); + +export default LoadChartContainer; |
