diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-08-31 22:53:48 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:56 +0200 |
| commit | eea529f57e3ee39d2f492062688b2848ced0a747 (patch) | |
| tree | 8508b482b541399f9f176e752c15b791f4366d19 | |
| parent | f22037e54016cd0a1d5636ece395c97dfa9f5e66 (diff) | |
Add framework for room level sidebar
| -rw-r--r-- | src/components/sidebars/topology/TopologySidebarComponent.js | 12 | ||||
| -rw-r--r-- | src/components/sidebars/topology/building/BuildingSidebarComponent.js (renamed from src/components/sidebars/topology/building/BuildingSidebarContentComponent.js) | 23 | ||||
| -rw-r--r-- | src/components/sidebars/topology/room/RoomNameComponent.js | 13 | ||||
| -rw-r--r-- | src/components/sidebars/topology/room/RoomSidebarComponent.js | 8 | ||||
| -rw-r--r-- | src/containers/sidebars/topology/building/BuildingSidebarContainer.js | 14 | ||||
| -rw-r--r-- | src/containers/sidebars/topology/building/BuildingSidebarContent.js | 14 | ||||
| -rw-r--r-- | src/containers/sidebars/topology/room/RoomNameContainer.js | 21 | ||||
| -rw-r--r-- | src/containers/sidebars/topology/room/RoomSidebarContainer.js | 14 |
8 files changed, 88 insertions, 31 deletions
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 = <BuildingSidebarContent/>; + sidebarContent = <BuildingSidebarContainer/>; + break; + case "ROOM": + sidebarContent = <RoomSidebarContainer/>; break; default: - sidebarHeading = "Error"; sidebarContent = "Missing Content"; } return ( <Sidebar isRight={true}> - <h3>{sidebarHeading}</h3> {sidebarContent} </Sidebar> ); diff --git a/src/components/sidebars/topology/building/BuildingSidebarContentComponent.js b/src/components/sidebars/topology/building/BuildingSidebarComponent.js index b88b23b7..002184ae 100644 --- a/src/components/sidebars/topology/building/BuildingSidebarContentComponent.js +++ b/src/components/sidebars/topology/building/BuildingSidebarComponent.js @@ -3,18 +3,19 @@ import CancelNewRoomConstructionButton from "../../../../containers/sidebars/top import FinishNewRoomConstructionButton from "../../../../containers/sidebars/topology/building/FinishNewRoomConstructionButton"; import StartNewRoomConstructionButton from "../../../../containers/sidebars/topology/building/StartNewRoomConstructionButton"; -const BuildingSidebarContentComponent = ({currentRoomInConstruction}) => { - if (currentRoomInConstruction !== -1) { - return ( - <div> - <FinishNewRoomConstructionButton/> - <CancelNewRoomConstructionButton/> - </div> - ); - } +const BuildingSidebarComponent = ({currentRoomInConstruction}) => { return ( - <StartNewRoomConstructionButton/> + <div> + <h2>Building</h2> + {currentRoomInConstruction === -1 ? + <StartNewRoomConstructionButton/> : + <div> + <FinishNewRoomConstructionButton/> + <CancelNewRoomConstructionButton/> + </div> + } + </div> ); }; -export default BuildingSidebarContentComponent; +export default BuildingSidebarComponent; 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}) => ( + <h2> + {roomName} + <button className="btn btn-outline-secondary float-right" onClick={onEdit}> + <FontAwesome name="pencil"/> + </button> + </h2> +); + +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 <RoomNameContainer/> +}; + +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; |
