From 1f4616cbf9c82e4976d1f4b4c018d5e9ff83ad10 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Wed, 8 Nov 2017 10:28:33 +0100 Subject: Implement room editing Allows for rooms to be edited from the room context menu. Fixes #24 --- src/containers/app/map/layers/RoomHoverLayer.js | 4 ---- .../sidebars/topology/room/EditRoomContainer.js | 26 ++++++++++++++++++++++ .../topology/room/RackConstructionContainer.js | 3 ++- 3 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 src/containers/app/sidebars/topology/room/EditRoomContainer.js (limited to 'src/containers/app') diff --git a/src/containers/app/map/layers/RoomHoverLayer.js b/src/containers/app/map/layers/RoomHoverLayer.js index 910d47fb..020102bf 100644 --- a/src/containers/app/map/layers/RoomHoverLayer.js +++ b/src/containers/app/map/layers/RoomHoverLayer.js @@ -13,10 +13,6 @@ const mapStateToProps = state => { 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] diff --git a/src/containers/app/sidebars/topology/room/EditRoomContainer.js b/src/containers/app/sidebars/topology/room/EditRoomContainer.js new file mode 100644 index 00000000..81052f54 --- /dev/null +++ b/src/containers/app/sidebars/topology/room/EditRoomContainer.js @@ -0,0 +1,26 @@ +import { connect } from "react-redux"; +import { + finishRoomEdit, + startRoomEdit +} from "../../../../../actions/topology/building"; +import EditRoomComponent from "../../../../../components/app/sidebars/topology/room/EditRoomComponent"; + +const mapStateToProps = state => { + return { + isEditing: state.construction.currentRoomInConstruction !== -1, + isInRackConstructionMode: state.construction.inRackConstructionMode + }; +}; + +const mapDispatchToProps = dispatch => { + return { + onEdit: () => dispatch(startRoomEdit()), + onFinish: () => dispatch(finishRoomEdit()) + }; +}; + +const EditRoomContainer = connect(mapStateToProps, mapDispatchToProps)( + EditRoomComponent +); + +export default EditRoomContainer; diff --git a/src/containers/app/sidebars/topology/room/RackConstructionContainer.js b/src/containers/app/sidebars/topology/room/RackConstructionContainer.js index 0fc22b09..c784d3ae 100644 --- a/src/containers/app/sidebars/topology/room/RackConstructionContainer.js +++ b/src/containers/app/sidebars/topology/room/RackConstructionContainer.js @@ -7,7 +7,8 @@ import RackConstructionComponent from "../../../../../components/app/sidebars/to const mapStateToProps = state => { return { - inRackConstructionMode: state.construction.inRackConstructionMode + inRackConstructionMode: state.construction.inRackConstructionMode, + isEditingRoom: state.construction.currentRoomInConstruction !== -1 }; }; -- cgit v1.2.3