summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/components/topologies/map/RoomContainer.js
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2022-09-20 22:10:01 +0200
committerGitHub <noreply@github.com>2022-09-20 22:10:01 +0200
commitf7ba5cd9bbf1f4d145c3d3d171c2632d44b5f94a (patch)
tree855256f27ded3cf0ec662119dbf26c3b138a8f5b /opendc-web/opendc-web-ui/src/components/topologies/map/RoomContainer.js
parent48d43a83f675db8f5f13755081e56b3cde1a7207 (diff)
parent86bc9e74630374853d11bc1c8f7ba5ffafbaa868 (diff)
merge: Improve web interface (#100)
This pull request addresses several issues with the current web interface. ## Implementation Notes :hammer_and_pick: * Update dependencies of web UI where possible * Fix deletion of topology * Fix duplication of topology * Only display selected metrics * Use correct color for login button * Fix z-index of context selector * Move project selector into masthead * Reduce height of application header * Redesign projects page * Use PatternFly Charts for plots * Do not fail on stale Redux state * Fix overflow of topology sidebar * Fix deletion of portfolios * Migrate to composable table ## External Dependencies :four_leaf_clover: * `classnames` has been replaced by `clsx` * PatternFly Charts have replaced the use of `recharts`
Diffstat (limited to 'opendc-web/opendc-web-ui/src/components/topologies/map/RoomContainer.js')
-rw-r--r--opendc-web/opendc-web-ui/src/components/topologies/map/RoomContainer.js25
1 files changed, 17 insertions, 8 deletions
diff --git a/opendc-web/opendc-web-ui/src/components/topologies/map/RoomContainer.js b/opendc-web/opendc-web-ui/src/components/topologies/map/RoomContainer.js
index 65189891..76785bea 100644
--- a/opendc-web/opendc-web-ui/src/components/topologies/map/RoomContainer.js
+++ b/opendc-web/opendc-web-ui/src/components/topologies/map/RoomContainer.js
@@ -27,15 +27,24 @@ import { goFromBuildingToRoom } from '../../../redux/actions/interaction-level'
import RoomGroup from './groups/RoomGroup'
function RoomContainer({ roomId, ...props }) {
- const state = useSelector((state) => {
- return {
- interactionLevel: state.interactionLevel,
- currentRoomInConstruction: state.construction.currentRoomInConstruction,
- room: state.topology.rooms[roomId],
- }
- })
+ const interactionLevel = useSelector((state) => state.interactionLevel)
+ const currentRoomInConstruction = useSelector((state) => state.construction.currentRoomInConstruction)
+ const room = useSelector((state) => state.topology.rooms[roomId])
const dispatch = useDispatch()
- return <RoomGroup {...props} {...state} onClick={() => dispatch(goFromBuildingToRoom(roomId))} />
+
+ if (!room) {
+ return null
+ }
+
+ return (
+ <RoomGroup
+ {...props}
+ interactionLevel={interactionLevel}
+ currentRoomInConstruction={currentRoomInConstruction}
+ room={room}
+ onClick={() => dispatch(goFromBuildingToRoom(roomId))}
+ />
+ )
}
RoomContainer.propTypes = {