diff options
Diffstat (limited to 'src/components/app/map/groups/RackGroup.js')
| -rw-r--r-- | src/components/app/map/groups/RackGroup.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/components/app/map/groups/RackGroup.js b/src/components/app/map/groups/RackGroup.js new file mode 100644 index 00000000..233d0c20 --- /dev/null +++ b/src/components/app/map/groups/RackGroup.js @@ -0,0 +1,34 @@ +import React from "react"; +import {Group} from "react-konva"; +import RackEnergyFillContainer from "../../../../containers/app/map/RackEnergyFillContainer"; +import RackSpaceFillContainer from "../../../../containers/app/map/RackSpaceFillContainer"; +import Shapes from "../../../../shapes/index"; +import {RACK_BACKGROUND_COLOR} from "../../../../util/colors"; +import {convertLoadToSimulationColor} from "../../../../util/simulation-load"; +import TileObject from "../elements/TileObject"; + +const RackGroup = ({tile, inSimulation, rackLoad}) => { + let color = RACK_BACKGROUND_COLOR; + if (inSimulation && rackLoad) { + color = convertLoadToSimulationColor(rackLoad); + } + + return ( + <Group> + <TileObject positionX={tile.positionX} positionY={tile.positionY} color={color}/> + {inSimulation ? + undefined : + <Group> + <RackSpaceFillContainer tileId={tile.id} positionX={tile.positionX} positionY={tile.positionY}/> + <RackEnergyFillContainer tileId={tile.id} positionX={tile.positionX} positionY={tile.positionY}/> + </Group> + } + </Group> + ); +}; + +RackGroup.propTypes = { + tile: Shapes.Tile, +}; + +export default RackGroup; |
