summaryrefslogtreecommitdiff
path: root/frontend/src/containers/app/sidebars/project/TopologyListContainer.js
diff options
context:
space:
mode:
authorjc0b <j@jc0b.computer>2020-07-10 15:18:49 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-08-24 19:48:02 +0200
commitd8479e7e3744b8d1d31ac4d9f972e560eacd2cf8 (patch)
tree79b7dfccec6e3cc1fce189b4605a37b354d676a2 /frontend/src/containers/app/sidebars/project/TopologyListContainer.js
parent4befa57993831274ad7e6ca62f96aa582f81cc5d (diff)
parent3b4e27320c479bd6ef48998f448ed070e8bd7511 (diff)
Merge branch 'master' of github.com:atlarge-research/opendc-dev
Diffstat (limited to 'frontend/src/containers/app/sidebars/project/TopologyListContainer.js')
-rw-r--r--frontend/src/containers/app/sidebars/project/TopologyListContainer.js29
1 files changed, 16 insertions, 13 deletions
diff --git a/frontend/src/containers/app/sidebars/project/TopologyListContainer.js b/frontend/src/containers/app/sidebars/project/TopologyListContainer.js
index cab47c8d..6905c7c5 100644
--- a/frontend/src/containers/app/sidebars/project/TopologyListContainer.js
+++ b/frontend/src/containers/app/sidebars/project/TopologyListContainer.js
@@ -2,7 +2,9 @@ import { connect } from 'react-redux'
import TopologyListComponent from '../../../../components/app/sidebars/project/TopologyListComponent'
import { setCurrentTopology } from '../../../../actions/topology/building'
import { openNewTopologyModal } from '../../../../actions/modals/topology'
-import { deleteTopology } from '../../../../actions/topologies'
+import { withRouter } from 'react-router-dom'
+import { getState } from '../../../../util/state-utils'
+import { deleteScenario } from '../../../../actions/scenarios'
const mapStateToProps = state => {
let topologies = state.objects.project[state.currentProjectId] ? state.objects.project[state.currentProjectId].topologyIds.map(t => (
@@ -13,34 +15,35 @@ const mapStateToProps = state => {
}
return {
- show: state.modals.changeTopologyModalVisible,
currentTopologyId: state.currentTopologyId,
topologies,
+
}
}
-const mapDispatchToProps = dispatch => {
+const mapDispatchToProps = (dispatch, ownProps) => {
return {
- onChooseTopology: (id) => {
- dispatch(
- setCurrentTopology(id),
- )
+ onChooseTopology: async (id) => {
+ dispatch(setCurrentTopology(id))
+ const state = await getState(dispatch)
+ ownProps.history.push(`/projects/${state.currentProjectId}`)
},
onNewTopology: () => {
dispatch(openNewTopologyModal())
},
- onDeleteTopology: (id) => {
+ onDeleteTopology: async (id) => {
if (id) {
- dispatch(
- deleteTopology(id),
- )
+ const state = await getState(dispatch)
+ dispatch(deleteScenario(id))
+ dispatch(setCurrentTopology(state.objects.project[state.currentProjectId].topologyIds[0]))
+ ownProps.history.push(`/projects/${state.currentProjectId}`)
}
},
}
}
-const TopologyListContainer = connect(mapStateToProps, mapDispatchToProps)(
+const TopologyListContainer = withRouter(connect(mapStateToProps, mapDispatchToProps)(
TopologyListComponent,
-)
+))
export default TopologyListContainer