summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/components/app/sidebars/topology/TopologySidebar.js
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-07-19 15:47:23 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-07-19 16:03:11 +0200
commit5e5ab63b280eb446db4090733cd3ad2e97d02018 (patch)
tree352766be8a86c78f2aa233bb24db1a2711cc0f21 /opendc-web/opendc-web-ui/src/components/app/sidebars/topology/TopologySidebar.js
parent54d07120191eb81de91a49cdebf619cfecce2666 (diff)
refactor(ui): Restructure components per page
This change updates the source structure of the OpenDC frontend to follow the page structure.
Diffstat (limited to 'opendc-web/opendc-web-ui/src/components/app/sidebars/topology/TopologySidebar.js')
-rw-r--r--opendc-web/opendc-web-ui/src/components/app/sidebars/topology/TopologySidebar.js83
1 files changed, 0 insertions, 83 deletions
diff --git a/opendc-web/opendc-web-ui/src/components/app/sidebars/topology/TopologySidebar.js b/opendc-web/opendc-web-ui/src/components/app/sidebars/topology/TopologySidebar.js
deleted file mode 100644
index 564f4030..00000000
--- a/opendc-web/opendc-web-ui/src/components/app/sidebars/topology/TopologySidebar.js
+++ /dev/null
@@ -1,83 +0,0 @@
-import PropTypes from 'prop-types'
-import React from 'react'
-import { InteractionLevel } from '../../../../shapes'
-import BuildingSidebar from './building/BuildingSidebar'
-import {
- Button,
- DrawerActions,
- DrawerCloseButton,
- DrawerHead,
- DrawerPanelBody,
- DrawerPanelContent,
- Flex,
- Title,
-} from '@patternfly/react-core'
-import { AngleLeftIcon } from '@patternfly/react-icons'
-import { useDispatch } from 'react-redux'
-import { goDownOneInteractionLevel } from '../../../../redux/actions/interaction-level'
-import { backButton } from './TopologySidebar.module.scss'
-import RoomSidebar from './room/RoomSidebar'
-import RackSidebar from './rack/RackSidebar'
-import MachineSidebar from './machine/MachineSidebar'
-
-const name = {
- BUILDING: 'Building',
- ROOM: 'Room',
- RACK: 'Rack',
- MACHINE: 'Machine',
-}
-
-function TopologySidebar({ interactionLevel, onClose }) {
- let sidebarContent
-
- switch (interactionLevel.mode) {
- case 'BUILDING':
- sidebarContent = <BuildingSidebar />
- break
- case 'ROOM':
- sidebarContent = <RoomSidebar roomId={interactionLevel.roomId} />
- break
- case 'RACK':
- sidebarContent = <RackSidebar tileId={interactionLevel.tileId} />
- break
- case 'MACHINE':
- sidebarContent = <MachineSidebar tileId={interactionLevel.tileId} position={interactionLevel.position} />
- break
- default:
- sidebarContent = 'Missing Content'
- }
-
- const dispatch = useDispatch()
- const onClick = () => dispatch(goDownOneInteractionLevel())
-
- return (
- <DrawerPanelContent isResizable defaultSize="450px" minSize="400px">
- <DrawerHead>
- <Flex>
- <Button
- variant="tertiary"
- isSmall
- className={backButton}
- onClick={interactionLevel.mode === 'BUILDING' ? onClose : onClick}
- >
- <AngleLeftIcon />
- </Button>
- <Title className="pf-u-align-self-center" headingLevel="h1">
- {name[interactionLevel.mode]}
- </Title>
- </Flex>
- <DrawerActions>
- <DrawerCloseButton onClose={onClose} />
- </DrawerActions>
- </DrawerHead>
- <DrawerPanelBody>{sidebarContent}</DrawerPanelBody>
- </DrawerPanelContent>
- )
-}
-
-TopologySidebar.propTypes = {
- interactionLevel: InteractionLevel,
- onClose: PropTypes.func,
-}
-
-export default TopologySidebar