summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/containers/app/sidebars/topology/room/EditRoomContainer.js
blob: f03b0efbb283d109970ed04d2507dad6c2fe987d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import React from 'react'
import { useDispatch, useSelector } from 'react-redux'
import { finishRoomEdit, startRoomEdit } from '../../../../../actions/topology/building'
import { Button } from 'reactstrap'

const EditRoomContainer = () => {
    const isEditing = useSelector((state) => state.construction.currentRoomInConstruction !== '-1')
    const isInRackConstructionMode = useSelector((state) => state.construction.inRackConstructionMode)

    const dispatch = useDispatch()
    const onEdit = () => dispatch(startRoomEdit())
    const onFinish = () => dispatch(finishRoomEdit())

    return isEditing ? (
        <Button color="info" outline block onClick={onFinish}>
            <span className="fa fa-check mr-2" />
            Finish editing room
        </Button>
    ) : (
        <Button
            color="info"
            outline
            block
            disabled={isInRackConstructionMode}
            onClick={() => (isInRackConstructionMode ? undefined : onEdit())}
        >
            <span className="fa fa-pencil mr-2" />
            Edit the tiles of this room
        </Button>
    )
}

export default EditRoomContainer