summaryrefslogtreecommitdiff
path: root/src/components/app/map/groups/RackGroup.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/app/map/groups/RackGroup.js')
-rw-r--r--src/components/app/map/groups/RackGroup.js34
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;