summaryrefslogtreecommitdiff
path: root/src/containers/app/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/containers/app/map')
-rw-r--r--src/containers/app/map/DatacenterContainer.js20
-rw-r--r--src/containers/app/map/GrayContainer.js15
-rw-r--r--src/containers/app/map/MapStage.js36
-rw-r--r--src/containers/app/map/RackContainer.js36
-rw-r--r--src/containers/app/map/RackEnergyFillContainer.js52
-rw-r--r--src/containers/app/map/RackSpaceFillContainer.js18
-rw-r--r--src/containers/app/map/RoomContainer.js25
-rw-r--r--src/containers/app/map/TileContainer.js57
-rw-r--r--src/containers/app/map/WallContainer.js14
-rw-r--r--src/containers/app/map/controls/ScaleIndicatorContainer.js14
-rw-r--r--src/containers/app/map/controls/ZoomControlContainer.js23
-rw-r--r--src/containers/app/map/layers/MapLayer.js14
-rw-r--r--src/containers/app/map/layers/ObjectHoverLayer.js50
-rw-r--r--src/containers/app/map/layers/RoomHoverLayer.js79
14 files changed, 238 insertions, 215 deletions
diff --git a/src/containers/app/map/DatacenterContainer.js b/src/containers/app/map/DatacenterContainer.js
index 6859f2d8..125739f3 100644
--- a/src/containers/app/map/DatacenterContainer.js
+++ b/src/containers/app/map/DatacenterContainer.js
@@ -1,19 +1,17 @@
-import {connect} from "react-redux";
+import { connect } from "react-redux";
import DatacenterGroup from "../../../components/app/map/groups/DatacenterGroup";
const mapStateToProps = state => {
- if (state.currentDatacenterId === -1) {
- return {};
- }
+ if (state.currentDatacenterId === -1) {
+ return {};
+ }
- return {
- datacenter: state.objects.datacenter[state.currentDatacenterId],
- interactionLevel: state.interactionLevel,
- };
+ return {
+ datacenter: state.objects.datacenter[state.currentDatacenterId],
+ interactionLevel: state.interactionLevel
+ };
};
-const DatacenterContainer = connect(
- mapStateToProps
-)(DatacenterGroup);
+const DatacenterContainer = connect(mapStateToProps)(DatacenterGroup);
export default DatacenterContainer;
diff --git a/src/containers/app/map/GrayContainer.js b/src/containers/app/map/GrayContainer.js
index a22ef3c8..d215bf6c 100644
--- a/src/containers/app/map/GrayContainer.js
+++ b/src/containers/app/map/GrayContainer.js
@@ -1,16 +1,13 @@
-import {connect} from "react-redux";
-import {goDownOneInteractionLevel} from "../../../actions/interaction-level";
+import { connect } from "react-redux";
+import { goDownOneInteractionLevel } from "../../../actions/interaction-level";
import GrayLayer from "../../../components/app/map/elements/GrayLayer";
const mapDispatchToProps = dispatch => {
- return {
- onClick: () => dispatch(goDownOneInteractionLevel())
- };
+ return {
+ onClick: () => dispatch(goDownOneInteractionLevel())
+ };
};
-const GrayContainer = connect(
- undefined,
- mapDispatchToProps
-)(GrayLayer);
+const GrayContainer = connect(undefined, mapDispatchToProps)(GrayLayer);
export default GrayContainer;
diff --git a/src/containers/app/map/MapStage.js b/src/containers/app/map/MapStage.js
index 32bde27c..a8467171 100644
--- a/src/containers/app/map/MapStage.js
+++ b/src/containers/app/map/MapStage.js
@@ -1,25 +1,31 @@
-import {connect} from "react-redux";
-import {setMapDimensions, setMapPositionWithBoundsCheck, zoomInOnPosition} from "../../../actions/map";
+import { connect } from "react-redux";
+import {
+ setMapDimensions,
+ setMapPositionWithBoundsCheck,
+ zoomInOnPosition
+} from "../../../actions/map";
import MapStageComponent from "../../../components/app/map/MapStageComponent";
const mapStateToProps = state => {
- return {
- mapPosition: state.map.position,
- mapDimensions: state.map.dimensions,
- };
+ return {
+ mapPosition: state.map.position,
+ mapDimensions: state.map.dimensions
+ };
};
const mapDispatchToProps = dispatch => {
- return {
- zoomInOnPosition: (zoomIn, x, y) => dispatch(zoomInOnPosition(zoomIn, x, y)),
- setMapPositionWithBoundsCheck: (x, y) => dispatch(setMapPositionWithBoundsCheck(x, y)),
- setMapDimensions: (width, height) => dispatch(setMapDimensions(width, height)),
- };
+ return {
+ zoomInOnPosition: (zoomIn, x, y) =>
+ dispatch(zoomInOnPosition(zoomIn, x, y)),
+ setMapPositionWithBoundsCheck: (x, y) =>
+ dispatch(setMapPositionWithBoundsCheck(x, y)),
+ setMapDimensions: (width, height) =>
+ dispatch(setMapDimensions(width, height))
+ };
};
-const MapStage = connect(
- mapStateToProps,
- mapDispatchToProps
-)(MapStageComponent);
+const MapStage = connect(mapStateToProps, mapDispatchToProps)(
+ MapStageComponent
+);
export default MapStage;
diff --git a/src/containers/app/map/RackContainer.js b/src/containers/app/map/RackContainer.js
index 38f01efc..365bb062 100644
--- a/src/containers/app/map/RackContainer.js
+++ b/src/containers/app/map/RackContainer.js
@@ -1,26 +1,30 @@
-import {connect} from "react-redux";
+import { connect } from "react-redux";
import RackGroup from "../../../components/app/map/groups/RackGroup";
-import {getStateLoad} from "../../../util/simulation-load";
+import { getStateLoad } from "../../../util/simulation-load";
const mapStateToProps = (state, ownProps) => {
- const inSimulation = state.currentExperimentId !== -1;
+ 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]);
- }
+ 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,
- };
+ return {
+ interactionLevel: state.interactionLevel,
+ inSimulation,
+ rackLoad
+ };
};
-const RackContainer = connect(
- mapStateToProps
-)(RackGroup);
+const RackContainer = connect(mapStateToProps)(RackGroup);
export default RackContainer;
diff --git a/src/containers/app/map/RackEnergyFillContainer.js b/src/containers/app/map/RackEnergyFillContainer.js
index d83dc386..0b7921d9 100644
--- a/src/containers/app/map/RackEnergyFillContainer.js
+++ b/src/containers/app/map/RackEnergyFillContainer.js
@@ -1,28 +1,40 @@
-import {connect} from "react-redux";
+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);
- }
- });
+ 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),
- };
+ return {
+ type: "energy",
+ fillFraction: Math.min(1, energyConsumptionTotal / rack.powerCapacityW)
+ };
};
-const RackSpaceFillContainer = connect(
- mapStateToProps
-)(RackFillBar);
+const RackSpaceFillContainer = connect(mapStateToProps)(RackFillBar);
export default RackSpaceFillContainer;
diff --git a/src/containers/app/map/RackSpaceFillContainer.js b/src/containers/app/map/RackSpaceFillContainer.js
index bbcf4e2e..cc4d1251 100644
--- a/src/containers/app/map/RackSpaceFillContainer.js
+++ b/src/containers/app/map/RackSpaceFillContainer.js
@@ -1,16 +1,16 @@
-import {connect} from "react-redux";
+import { connect } from "react-redux";
import RackFillBar from "../../../components/app/map/elements/RackFillBar";
const mapStateToProps = (state, ownProps) => {
- const machineIds = state.objects.rack[state.objects.tile[ownProps.tileId].objectId].machineIds;
- return {
- type: "space",
- fillFraction: machineIds.filter(id => id !== null).length / machineIds.length,
- };
+ const machineIds =
+ state.objects.rack[state.objects.tile[ownProps.tileId].objectId].machineIds;
+ return {
+ type: "space",
+ fillFraction:
+ machineIds.filter(id => id !== null).length / machineIds.length
+ };
};
-const RackSpaceFillContainer = connect(
- mapStateToProps
-)(RackFillBar);
+const RackSpaceFillContainer = connect(mapStateToProps)(RackFillBar);
export default RackSpaceFillContainer;
diff --git a/src/containers/app/map/RoomContainer.js b/src/containers/app/map/RoomContainer.js
index c8e146d6..b83c7fa0 100644
--- a/src/containers/app/map/RoomContainer.js
+++ b/src/containers/app/map/RoomContainer.js
@@ -1,24 +1,21 @@
-import {connect} from "react-redux";
-import {goFromBuildingToRoom} from "../../../actions/interaction-level";
+import { connect } from "react-redux";
+import { goFromBuildingToRoom } from "../../../actions/interaction-level";
import RoomGroup from "../../../components/app/map/groups/RoomGroup";
const mapStateToProps = (state, ownProps) => {
- return {
- interactionLevel: state.interactionLevel,
- currentRoomInConstruction: state.construction.currentRoomInConstruction,
- room: state.objects.room[ownProps.roomId],
- };
+ return {
+ interactionLevel: state.interactionLevel,
+ currentRoomInConstruction: state.construction.currentRoomInConstruction,
+ room: state.objects.room[ownProps.roomId]
+ };
};
const mapDispatchToProps = (dispatch, ownProps) => {
- return {
- onClick: () => dispatch(goFromBuildingToRoom(ownProps.roomId)),
- };
+ return {
+ onClick: () => dispatch(goFromBuildingToRoom(ownProps.roomId))
+ };
};
-const RoomContainer = connect(
- mapStateToProps,
- mapDispatchToProps
-)(RoomGroup);
+const RoomContainer = connect(mapStateToProps, mapDispatchToProps)(RoomGroup);
export default RoomContainer;
diff --git a/src/containers/app/map/TileContainer.js b/src/containers/app/map/TileContainer.js
index 299016d1..9e179924 100644
--- a/src/containers/app/map/TileContainer.js
+++ b/src/containers/app/map/TileContainer.js
@@ -1,40 +1,43 @@
-import {connect} from "react-redux";
-import {goFromRoomToRack} from "../../../actions/interaction-level";
+import { connect } from "react-redux";
+import { goFromRoomToRack } from "../../../actions/interaction-level";
import TileGroup from "../../../components/app/map/groups/TileGroup";
-import {getStateLoad} from "../../../util/simulation-load";
+import { getStateLoad } from "../../../util/simulation-load";
const mapStateToProps = (state, ownProps) => {
- const tile = state.objects.tile[ownProps.tileId];
- const inSimulation = state.currentExperimentId !== -1;
+ 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]);
- }
+ 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,
- inSimulation,
- roomLoad,
- };
+ return {
+ interactionLevel: state.interactionLevel,
+ tile,
+ inSimulation,
+ roomLoad
+ };
};
const mapDispatchToProps = dispatch => {
- return {
- onClick: tile => {
- if (tile.objectType) {
- dispatch(goFromRoomToRack(tile.id))
- }
- }
- };
+ return {
+ onClick: tile => {
+ if (tile.objectType) {
+ dispatch(goFromRoomToRack(tile.id));
+ }
+ }
+ };
};
-const TileContainer = connect(
- mapStateToProps,
- mapDispatchToProps
-)(TileGroup);
+const TileContainer = connect(mapStateToProps, mapDispatchToProps)(TileGroup);
export default TileContainer;
diff --git a/src/containers/app/map/WallContainer.js b/src/containers/app/map/WallContainer.js
index 0ce8875a..38192b05 100644
--- a/src/containers/app/map/WallContainer.js
+++ b/src/containers/app/map/WallContainer.js
@@ -1,14 +1,14 @@
-import {connect} from "react-redux";
+import { connect } from "react-redux";
import WallGroup from "../../../components/app/map/groups/WallGroup";
const mapStateToProps = (state, ownProps) => {
- return {
- tiles: state.objects.room[ownProps.roomId].tileIds.map(tileId => state.objects.tile[tileId]),
- };
+ return {
+ tiles: state.objects.room[ownProps.roomId].tileIds.map(
+ tileId => state.objects.tile[tileId]
+ )
+ };
};
-const WallContainer = connect(
- mapStateToProps
-)(WallGroup);
+const WallContainer = connect(mapStateToProps)(WallGroup);
export default WallContainer;
diff --git a/src/containers/app/map/controls/ScaleIndicatorContainer.js b/src/containers/app/map/controls/ScaleIndicatorContainer.js
index 12596c9c..f075cde5 100644
--- a/src/containers/app/map/controls/ScaleIndicatorContainer.js
+++ b/src/containers/app/map/controls/ScaleIndicatorContainer.js
@@ -1,14 +1,14 @@
-import {connect} from "react-redux";
+import { connect } from "react-redux";
import ScaleIndicatorComponent from "../../../../components/app/map/controls/ScaleIndicatorComponent";
const mapStateToProps = state => {
- return {
- scale: state.map.scale,
- };
+ return {
+ scale: state.map.scale
+ };
};
-const ScaleIndicatorContainer = connect(
- mapStateToProps
-)(ScaleIndicatorComponent);
+const ScaleIndicatorContainer = connect(mapStateToProps)(
+ ScaleIndicatorComponent
+);
export default ScaleIndicatorContainer;
diff --git a/src/containers/app/map/controls/ZoomControlContainer.js b/src/containers/app/map/controls/ZoomControlContainer.js
index fd0e7563..50910bd6 100644
--- a/src/containers/app/map/controls/ZoomControlContainer.js
+++ b/src/containers/app/map/controls/ZoomControlContainer.js
@@ -1,22 +1,21 @@
-import {connect} from "react-redux";
-import {zoomInOnCenter} from "../../../../actions/map";
+import { connect } from "react-redux";
+import { zoomInOnCenter } from "../../../../actions/map";
import ZoomControlComponent from "../../../../components/app/map/controls/ZoomControlComponent";
const mapStateToProps = state => {
- return {
- mapScale: state.map.scale,
- };
+ return {
+ mapScale: state.map.scale
+ };
};
const mapDispatchToProps = dispatch => {
- return {
- zoomInOnCenter: zoomIn => dispatch(zoomInOnCenter(zoomIn)),
- };
+ return {
+ zoomInOnCenter: zoomIn => dispatch(zoomInOnCenter(zoomIn))
+ };
};
-const ZoomControlContainer = connect(
- mapStateToProps,
- mapDispatchToProps
-)(ZoomControlComponent);
+const ZoomControlContainer = connect(mapStateToProps, mapDispatchToProps)(
+ ZoomControlComponent
+);
export default ZoomControlContainer;
diff --git a/src/containers/app/map/layers/MapLayer.js b/src/containers/app/map/layers/MapLayer.js
index ea3a0b57..cf971350 100644
--- a/src/containers/app/map/layers/MapLayer.js
+++ b/src/containers/app/map/layers/MapLayer.js
@@ -1,15 +1,13 @@
-import {connect} from "react-redux";
+import { connect } from "react-redux";
import MapLayerComponent from "../../../../components/app/map/layers/MapLayerComponent";
const mapStateToProps = state => {
- return {
- mapPosition: state.map.position,
- mapScale: state.map.scale,
- };
+ return {
+ mapPosition: state.map.position,
+ mapScale: state.map.scale
+ };
};
-const MapLayer = connect(
- mapStateToProps
-)(MapLayerComponent);
+const MapLayer = connect(mapStateToProps)(MapLayerComponent);
export default MapLayer;
diff --git a/src/containers/app/map/layers/ObjectHoverLayer.js b/src/containers/app/map/layers/ObjectHoverLayer.js
index d905fd42..9b28575e 100644
--- a/src/containers/app/map/layers/ObjectHoverLayer.js
+++ b/src/containers/app/map/layers/ObjectHoverLayer.js
@@ -1,37 +1,37 @@
-import {connect} from "react-redux";
-import {addRackToTile} from "../../../../actions/topology/room";
+import { connect } from "react-redux";
+import { addRackToTile } from "../../../../actions/topology/room";
import ObjectHoverLayerComponent from "../../../../components/app/map/layers/ObjectHoverLayerComponent";
-import {findTileWithPosition} from "../../../../util/tile-calculations";
+import { findTileWithPosition } from "../../../../util/tile-calculations";
const mapStateToProps = state => {
- return {
- mapPosition: state.map.position,
- mapScale: state.map.scale,
- isEnabled: () => state.construction.inRackConstructionMode,
- isValid: (x, y) => {
- if (state.interactionLevel.mode !== "ROOM") {
- return false;
- }
+ return {
+ mapPosition: state.map.position,
+ mapScale: state.map.scale,
+ isEnabled: () => state.construction.inRackConstructionMode,
+ isValid: (x, y) => {
+ if (state.interactionLevel.mode !== "ROOM") {
+ return false;
+ }
- const currentRoom = state.objects.room[state.interactionLevel.roomId];
- const tiles = currentRoom.tileIds.map(tileId => state.objects.tile[tileId]);
- const tile = findTileWithPosition(tiles, x, y);
+ const currentRoom = state.objects.room[state.interactionLevel.roomId];
+ const tiles = currentRoom.tileIds.map(
+ tileId => state.objects.tile[tileId]
+ );
+ const tile = findTileWithPosition(tiles, x, y);
- return !(tile === null || tile.objectType);
-
- },
- };
+ return !(tile === null || tile.objectType);
+ }
+ };
};
const mapDispatchToProps = dispatch => {
- return {
- onClick: (x, y) => dispatch(addRackToTile(x, y)),
- };
+ return {
+ onClick: (x, y) => dispatch(addRackToTile(x, y))
+ };
};
-const ObjectHoverLayer = connect(
- mapStateToProps,
- mapDispatchToProps
-)(ObjectHoverLayerComponent);
+const ObjectHoverLayer = connect(mapStateToProps, mapDispatchToProps)(
+ ObjectHoverLayerComponent
+);
export default ObjectHoverLayer;
diff --git a/src/containers/app/map/layers/RoomHoverLayer.js b/src/containers/app/map/layers/RoomHoverLayer.js
index fbcbed7e..910d47fb 100644
--- a/src/containers/app/map/layers/RoomHoverLayer.js
+++ b/src/containers/app/map/layers/RoomHoverLayer.js
@@ -1,50 +1,59 @@
-import {connect} from "react-redux";
-import {toggleTileAtLocation} from "../../../../actions/topology/building";
+import { connect } from "react-redux";
+import { toggleTileAtLocation } from "../../../../actions/topology/building";
import RoomHoverLayerComponent from "../../../../components/app/map/layers/RoomHoverLayerComponent";
import {
- deriveValidNextTilePositions,
- findPositionInPositions,
- findPositionInRooms
+ deriveValidNextTilePositions,
+ findPositionInPositions,
+ findPositionInRooms
} from "../../../../util/tile-calculations";
const mapStateToProps = state => {
- return {
- mapPosition: state.map.position,
- mapScale: state.map.scale,
- isEnabled: () => state.construction.currentRoomInConstruction !== -1,
- isValid: (x, y) => {
- if (state.interactionLevel.mode !== "BUILDING") {
- return false;
- }
+ return {
+ mapPosition: state.map.position,
+ mapScale: state.map.scale,
+ isEnabled: () => state.construction.currentRoomInConstruction !== -1,
+ isValid: (x, y) => {
+ if (state.interactionLevel.mode !== "BUILDING") {
+ return false;
+ }
- const newRoom = Object.assign({}, state.objects.room[state.construction.currentRoomInConstruction]);
- const oldRooms = Object.keys(state.objects.room)
- .map(id => Object.assign({}, state.objects.room[id]))
- .filter(room => state.objects.datacenter[state.currentDatacenterId].roomIds.indexOf(room.id) !== -1
- && room.id !== state.construction.currentRoomInConstruction);
+ const newRoom = Object.assign(
+ {},
+ state.objects.room[state.construction.currentRoomInConstruction]
+ );
+ const oldRooms = Object.keys(state.objects.room)
+ .map(id => Object.assign({}, state.objects.room[id]))
+ .filter(
+ room =>
+ state.objects.datacenter[state.currentDatacenterId].roomIds.indexOf(
+ room.id
+ ) !== -1 && room.id !== state.construction.currentRoomInConstruction
+ );
- [...oldRooms, newRoom].forEach(room => {
- room.tiles = room.tileIds.map(tileId => state.objects.tile[tileId]);
- });
- if (newRoom.tileIds.length === 0) {
- return findPositionInRooms(oldRooms, x, y) === -1;
- }
+ [...oldRooms, newRoom].forEach(room => {
+ room.tiles = room.tileIds.map(tileId => state.objects.tile[tileId]);
+ });
+ if (newRoom.tileIds.length === 0) {
+ return findPositionInRooms(oldRooms, x, y) === -1;
+ }
- const validNextPositions = deriveValidNextTilePositions(oldRooms, newRoom.tiles);
- return findPositionInPositions(validNextPositions, x, y) !== -1;
- },
- };
+ const validNextPositions = deriveValidNextTilePositions(
+ oldRooms,
+ newRoom.tiles
+ );
+ return findPositionInPositions(validNextPositions, x, y) !== -1;
+ }
+ };
};
const mapDispatchToProps = dispatch => {
- return {
- onClick: (x, y) => dispatch(toggleTileAtLocation(x, y)),
- };
+ return {
+ onClick: (x, y) => dispatch(toggleTileAtLocation(x, y))
+ };
};
-const RoomHoverLayer = connect(
- mapStateToProps,
- mapDispatchToProps
-)(RoomHoverLayerComponent);
+const RoomHoverLayer = connect(mapStateToProps, mapDispatchToProps)(
+ RoomHoverLayerComponent
+);
export default RoomHoverLayer;