summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/containers/modals/NewTopologyModal.js
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-web/opendc-web-ui/src/containers/modals/NewTopologyModal.js')
-rw-r--r--opendc-web/opendc-web-ui/src/containers/modals/NewTopologyModal.js70
1 files changed, 38 insertions, 32 deletions
diff --git a/opendc-web/opendc-web-ui/src/containers/modals/NewTopologyModal.js b/opendc-web/opendc-web-ui/src/containers/modals/NewTopologyModal.js
index 0acf6cf2..2f81706e 100644
--- a/opendc-web/opendc-web-ui/src/containers/modals/NewTopologyModal.js
+++ b/opendc-web/opendc-web-ui/src/containers/modals/NewTopologyModal.js
@@ -1,42 +1,48 @@
-import { connect } from 'react-redux'
+import React from 'react'
+import { useDispatch, useSelector } from 'react-redux'
import NewTopologyModalComponent from '../../components/modals/custom-components/NewTopologyModalComponent'
import { closeNewTopologyModal } from '../../actions/modals/topology'
import { addTopology } from '../../actions/topologies'
-const mapStateToProps = (state) => {
- let topologies = state.objects.project[state.currentProjectId]
- ? state.objects.project[state.currentProjectId].topologyIds.map((t) => state.objects.topology[t])
- : []
- if (topologies.filter((t) => !t).length > 0) {
- topologies = []
- }
+const NewTopologyModal = () => {
+ const show = useSelector((state) => state.modals.changeTopologyModalVisible)
+ const topologies = useSelector((state) => {
+ let topologies = state.objects.project[state.currentProjectId]
+ ? state.objects.project[state.currentProjectId].topologyIds.map((t) => state.objects.topology[t])
+ : []
+ if (topologies.filter((t) => !t).length > 0) {
+ topologies = []
+ }
- return {
- show: state.modals.changeTopologyModalVisible,
- topologies,
- }
-}
+ return topologies
+ })
-const mapDispatchToProps = (dispatch) => {
- return {
- onCreateTopology: (name) => {
- if (name) {
- dispatch(addTopology(name, undefined))
- }
- dispatch(closeNewTopologyModal())
- },
- onDuplicateTopology: (name, id) => {
- if (name) {
- dispatch(addTopology(name, id))
- }
- dispatch(closeNewTopologyModal())
- },
- onCancel: () => {
- dispatch(closeNewTopologyModal())
- },
+ const dispatch = useDispatch()
+ const onCreateTopology = (name) => {
+ if (name) {
+ dispatch(addTopology(name, undefined))
+ }
+ dispatch(closeNewTopologyModal())
+ }
+ const onDuplicateTopology = (name, id) => {
+ if (name) {
+ dispatch(addTopology(name, id))
+ }
+ dispatch(closeNewTopologyModal())
+ }
+ const onCancel = () => {
+ dispatch(closeNewTopologyModal())
}
-}
-const NewTopologyModal = connect(mapStateToProps, mapDispatchToProps)(NewTopologyModalComponent)
+ return (
+ <NewTopologyModalComponent
+ show={show}
+ topologies={topologies}
+ onCreateTopology={onCreateTopology}
+ onDuplicateTopology={onDuplicateTopology}
+ onCancel={onCancel}
+ />
+ )
+}
export default NewTopologyModal