From c47a27b826f7d76410308a4151611a366f9eaf46 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Fri, 25 Aug 2017 17:48:12 +0200 Subject: Fetch and display datacenter topology --- src/components/map/MapStage.js | 8 ++++---- src/components/map/elements/RoomTile.js | 1 + src/components/map/elements/TileObject.js | 2 +- src/components/map/groups/DatacenterGroup.js | 20 +++++++++++++------- src/components/map/groups/GridGroup.js | 3 ++- src/components/map/groups/RoomGroup.js | 3 ++- 6 files changed, 23 insertions(+), 14 deletions(-) (limited to 'src/components') diff --git a/src/components/map/MapStage.js b/src/components/map/MapStage.js index 0950d5bd..879c7c39 100644 --- a/src/components/map/MapStage.js +++ b/src/components/map/MapStage.js @@ -1,8 +1,8 @@ import React from "react"; import {Group, Layer, Stage} from "react-konva"; +import DatacenterContainer from "../../containers/map/DatacenterContainer"; import jQuery from "../../util/jquery"; import Backdrop from "./elements/Backdrop"; -import DatacenterGroup from "./groups/DatacenterGroup"; import GridGroup from "./groups/GridGroup"; import {MAP_SIZE_IN_PIXELS} from "./MapConstants"; @@ -28,7 +28,7 @@ class MapStage extends React.Component { this.setState({width: jQuery(window).width(), height: jQuery(window).height()}); } - dragBoundHandler(pos) { + dragBoundFunc(pos) { return { x: pos.x > 0 ? 0 : (pos.x < -MAP_SIZE_IN_PIXELS + this.state.width ? -MAP_SIZE_IN_PIXELS + this.state.width : pos.x), @@ -41,9 +41,9 @@ class MapStage extends React.Component { return ( - + - + diff --git a/src/components/map/elements/RoomTile.js b/src/components/map/elements/RoomTile.js index aa837def..759dcf35 100644 --- a/src/components/map/elements/RoomTile.js +++ b/src/components/map/elements/RoomTile.js @@ -2,6 +2,7 @@ import React from "react"; import {Rect} from "react-konva"; import {ROOM_DEFAULT_COLOR} from "../../../colors/index"; import Shapes from "../../../shapes/index"; +import {TILE_SIZE_IN_PIXELS} from "../MapConstants"; const RoomTile = ({tile}) => ( ( ( - - {datacenter.rooms.map(room => ( - - ))} - -); +const DatacenterGroup = ({datacenter}) => { + if (!datacenter) { + return ; + } + return ( + + {datacenter.rooms.map(room => ( + + ))} + + ); +}; DatacenterGroup.propTypes = { datacenter: Shapes.Datacenter, diff --git a/src/components/map/groups/GridGroup.js b/src/components/map/groups/GridGroup.js index 2651bf19..f50482ce 100644 --- a/src/components/map/groups/GridGroup.js +++ b/src/components/map/groups/GridGroup.js @@ -15,11 +15,12 @@ const VERTICAL_POINT_PAIRS = MAP_COORDINATE_ENTRIES.map(index => [ const GridGroup = () => ( - {HORIZONTAL_POINT_PAIRS.concat(VERTICAL_POINT_PAIRS).map(points => ( + {HORIZONTAL_POINT_PAIRS.concat(VERTICAL_POINT_PAIRS).map((points, index) => ( ))} diff --git a/src/components/map/groups/RoomGroup.js b/src/components/map/groups/RoomGroup.js index 90a58767..28240d77 100644 --- a/src/components/map/groups/RoomGroup.js +++ b/src/components/map/groups/RoomGroup.js @@ -1,11 +1,12 @@ import React from "react"; import {Group} from "react-konva"; +import Shapes from "../../../shapes/index"; import TileGroup from "./TileGroup"; const RoomGroup = ({room}) => ( {room.tiles.map(tile => ( - + ))} ); -- cgit v1.2.3