From eea529f57e3ee39d2f492062688b2848ced0a747 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Thu, 31 Aug 2017 22:53:48 +0200 Subject: Add framework for room level sidebar --- .../sidebars/topology/TopologySidebarComponent.js | 12 ++++++------ .../topology/building/BuildingSidebarComponent.js | 21 +++++++++++++++++++++ .../building/BuildingSidebarContentComponent.js | 20 -------------------- .../sidebars/topology/room/RoomNameComponent.js | 13 +++++++++++++ .../sidebars/topology/room/RoomSidebarComponent.js | 8 ++++++++ .../topology/building/BuildingSidebarContainer.js | 14 ++++++++++++++ .../topology/building/BuildingSidebarContent.js | 14 -------------- .../sidebars/topology/room/RoomNameContainer.js | 21 +++++++++++++++++++++ .../sidebars/topology/room/RoomSidebarContainer.js | 14 ++++++++++++++ 9 files changed, 97 insertions(+), 40 deletions(-) create mode 100644 src/components/sidebars/topology/building/BuildingSidebarComponent.js delete mode 100644 src/components/sidebars/topology/building/BuildingSidebarContentComponent.js create mode 100644 src/components/sidebars/topology/room/RoomNameComponent.js create mode 100644 src/components/sidebars/topology/room/RoomSidebarComponent.js create mode 100644 src/containers/sidebars/topology/building/BuildingSidebarContainer.js delete mode 100644 src/containers/sidebars/topology/building/BuildingSidebarContent.js create mode 100644 src/containers/sidebars/topology/room/RoomNameContainer.js create mode 100644 src/containers/sidebars/topology/room/RoomSidebarContainer.js diff --git a/src/components/sidebars/topology/TopologySidebarComponent.js b/src/components/sidebars/topology/TopologySidebarComponent.js index 932d2ecf..dc4dc231 100644 --- a/src/components/sidebars/topology/TopologySidebarComponent.js +++ b/src/components/sidebars/topology/TopologySidebarComponent.js @@ -1,24 +1,24 @@ import React from "react"; -import BuildingSidebarContent from "../../../containers/sidebars/topology/building/BuildingSidebarContent"; +import BuildingSidebarContainer from "../../../containers/sidebars/topology/building/BuildingSidebarContainer"; +import RoomSidebarContainer from "../../../containers/sidebars/topology/room/RoomSidebarContainer"; import Sidebar from "../Sidebar"; const TopologySidebarComponent = ({interactionLevel}) => { - let sidebarHeading; let sidebarContent; switch (interactionLevel.mode) { case "BUILDING": - sidebarHeading = "Building"; - sidebarContent = ; + sidebarContent = ; + break; + case "ROOM": + sidebarContent = ; break; default: - sidebarHeading = "Error"; sidebarContent = "Missing Content"; } return ( -

{sidebarHeading}

{sidebarContent}
); diff --git a/src/components/sidebars/topology/building/BuildingSidebarComponent.js b/src/components/sidebars/topology/building/BuildingSidebarComponent.js new file mode 100644 index 00000000..002184ae --- /dev/null +++ b/src/components/sidebars/topology/building/BuildingSidebarComponent.js @@ -0,0 +1,21 @@ +import React from "react"; +import CancelNewRoomConstructionButton from "../../../../containers/sidebars/topology/building/CancelNewRoomConstructionButton"; +import FinishNewRoomConstructionButton from "../../../../containers/sidebars/topology/building/FinishNewRoomConstructionButton"; +import StartNewRoomConstructionButton from "../../../../containers/sidebars/topology/building/StartNewRoomConstructionButton"; + +const BuildingSidebarComponent = ({currentRoomInConstruction}) => { + return ( +
+

Building

+ {currentRoomInConstruction === -1 ? + : +
+ + +
+ } +
+ ); +}; + +export default BuildingSidebarComponent; diff --git a/src/components/sidebars/topology/building/BuildingSidebarContentComponent.js b/src/components/sidebars/topology/building/BuildingSidebarContentComponent.js deleted file mode 100644 index b88b23b7..00000000 --- a/src/components/sidebars/topology/building/BuildingSidebarContentComponent.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import CancelNewRoomConstructionButton from "../../../../containers/sidebars/topology/building/CancelNewRoomConstructionButton"; -import FinishNewRoomConstructionButton from "../../../../containers/sidebars/topology/building/FinishNewRoomConstructionButton"; -import StartNewRoomConstructionButton from "../../../../containers/sidebars/topology/building/StartNewRoomConstructionButton"; - -const BuildingSidebarContentComponent = ({currentRoomInConstruction}) => { - if (currentRoomInConstruction !== -1) { - return ( -
- - -
- ); - } - return ( - - ); -}; - -export default BuildingSidebarContentComponent; diff --git a/src/components/sidebars/topology/room/RoomNameComponent.js b/src/components/sidebars/topology/room/RoomNameComponent.js new file mode 100644 index 00000000..4a8de76d --- /dev/null +++ b/src/components/sidebars/topology/room/RoomNameComponent.js @@ -0,0 +1,13 @@ +import React from "react"; +import FontAwesome from "react-fontawesome"; + +const RoomNameComponent = ({roomName, onEdit}) => ( +

+ {roomName} + +

+); + +export default RoomNameComponent; diff --git a/src/components/sidebars/topology/room/RoomSidebarComponent.js b/src/components/sidebars/topology/room/RoomSidebarComponent.js new file mode 100644 index 00000000..5ee9821a --- /dev/null +++ b/src/components/sidebars/topology/room/RoomSidebarComponent.js @@ -0,0 +1,8 @@ +import React from "react"; +import RoomNameContainer from "../../../../containers/sidebars/topology/room/RoomNameContainer"; + +const RoomSidebarComponent = ({roomType}) => { + return +}; + +export default RoomSidebarComponent; diff --git a/src/containers/sidebars/topology/building/BuildingSidebarContainer.js b/src/containers/sidebars/topology/building/BuildingSidebarContainer.js new file mode 100644 index 00000000..e543d65c --- /dev/null +++ b/src/containers/sidebars/topology/building/BuildingSidebarContainer.js @@ -0,0 +1,14 @@ +import {connect} from "react-redux"; +import BuildingSidebarComponent from "../../../../components/sidebars/topology/building/BuildingSidebarComponent"; + +const mapStateToProps = state => { + return { + currentRoomInConstruction: state.currentRoomInConstruction + }; +}; + +const BuildingSidebarContainer = connect( + mapStateToProps +)(BuildingSidebarComponent); + +export default BuildingSidebarContainer; diff --git a/src/containers/sidebars/topology/building/BuildingSidebarContent.js b/src/containers/sidebars/topology/building/BuildingSidebarContent.js deleted file mode 100644 index c70c6982..00000000 --- a/src/containers/sidebars/topology/building/BuildingSidebarContent.js +++ /dev/null @@ -1,14 +0,0 @@ -import {connect} from "react-redux"; -import BuildingSidebarContentComponent from "../../../../components/sidebars/topology/building/BuildingSidebarContentComponent"; - -const mapStateToProps = state => { - return { - currentRoomInConstruction: state.currentRoomInConstruction - }; -}; - -const BuildingSidebarContent = connect( - mapStateToProps -)(BuildingSidebarContentComponent); - -export default BuildingSidebarContent; diff --git a/src/containers/sidebars/topology/room/RoomNameContainer.js b/src/containers/sidebars/topology/room/RoomNameContainer.js new file mode 100644 index 00000000..5408cb6c --- /dev/null +++ b/src/containers/sidebars/topology/room/RoomNameContainer.js @@ -0,0 +1,21 @@ +import {connect} from "react-redux"; +import RoomNameComponent from "../../../../components/sidebars/topology/room/RoomNameComponent"; + +const mapStateToProps = state => { + return { + roomName: state.objects.room[state.interactionLevel.roomId].name, + }; +}; + +const mapDispatchToProps = dispatch => { + return { + onEdit: () => dispatch(null), // FIXME + }; +}; + +const RoomNameContainer = connect( + mapStateToProps, + mapDispatchToProps +)(RoomNameComponent); + +export default RoomNameContainer; diff --git a/src/containers/sidebars/topology/room/RoomSidebarContainer.js b/src/containers/sidebars/topology/room/RoomSidebarContainer.js new file mode 100644 index 00000000..b7ded316 --- /dev/null +++ b/src/containers/sidebars/topology/room/RoomSidebarContainer.js @@ -0,0 +1,14 @@ +import {connect} from "react-redux"; +import RoomSidebarComponent from "../../../../components/sidebars/topology/room/RoomSidebarComponent"; + +const mapStateToProps = state => { + return { + roomType: state.objects.room[state.interactionLevel.roomId].roomType, + }; +}; + +const RoomSidebarContainer = connect( + mapStateToProps +)(RoomSidebarComponent); + +export default RoomSidebarContainer; -- cgit v1.2.3