import {connect} from "react-redux"; import RackFillBar from "../../../components/app/map/elements/RackFillBar"; const mapStateToProps = (state, ownProps) => { let energyConsumptionTotal = 0; const rack = state.objects.rack[state.objects.tile[ownProps.tileId].objectId]; const machineIds = rack.machineIds; machineIds.forEach(machineId => { if (machineId !== null) { const machine = state.objects.machine[machineId]; machine.cpuIds.forEach(id => energyConsumptionTotal += state.objects.cpu[id].energyConsumptionW); machine.gpuIds.forEach(id => energyConsumptionTotal += state.objects.gpu[id].energyConsumptionW); machine.memoryIds.forEach(id => energyConsumptionTotal += state.objects.memory[id].energyConsumptionW); machine.storageIds.forEach(id => energyConsumptionTotal += state.objects.storage[id].energyConsumptionW); } }); return { type: "energy", fillFraction: Math.min(1, energyConsumptionTotal / rack.powerCapacityW), }; }; const RackSpaceFillContainer = connect( mapStateToProps )(RackFillBar); export default RackSpaceFillContainer;