summaryrefslogtreecommitdiff
path: root/frontend/src/containers/modals/NewScenarioModal.js
diff options
context:
space:
mode:
authorGeorgios Andreadis <info@gandreadis.com>2020-07-10 10:21:46 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-08-24 19:48:01 +0200
commit8aa174e70c01631ae4e00a6d208966fcd77cf972 (patch)
tree35ec6527e8d7a0b4093e18c8cb501c293a18b5eb /frontend/src/containers/modals/NewScenarioModal.js
parent607e8c72d85bf79dcd9bf28df96b239e2764bc30 (diff)
Add implementation of portfolio and scenario UI structure
Diffstat (limited to 'frontend/src/containers/modals/NewScenarioModal.js')
-rw-r--r--frontend/src/containers/modals/NewScenarioModal.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/frontend/src/containers/modals/NewScenarioModal.js b/frontend/src/containers/modals/NewScenarioModal.js
new file mode 100644
index 00000000..0b273ed0
--- /dev/null
+++ b/frontend/src/containers/modals/NewScenarioModal.js
@@ -0,0 +1,46 @@
+import { connect } from 'react-redux'
+import NewScenarioModalComponent from '../../components/modals/custom-components/NewScenarioModalComponent'
+import { addScenario } from '../../actions/scenarios'
+import { closeNewScenarioModal } from '../../actions/modals/scenarios'
+
+const mapStateToProps = state => {
+ let topologies = state.currentProjectId !== '-1' ? state.objects.project[state.currentProjectId].topologyIds.map(t => (
+ state.objects.topology[t]
+ )) : []
+ if (topologies.filter(t => !t).length > 0) {
+ topologies = []
+ }
+
+ return {
+ show: state.modals.newScenarioModalVisible,
+ currentPortfolioId: state.currentPortfolioId,
+ traces: Object.values(state.objects.trace),
+ topologies,
+ schedulers: Object.values(state.objects.scheduler),
+ }
+}
+
+const mapDispatchToProps = dispatch => {
+ return {
+ callback: (name, portfolioId, trace, topology, operational) => {
+ if (name) {
+ dispatch(
+ addScenario({
+ portfolioId,
+ name,
+ trace,
+ topology,
+ operational,
+ }),
+ )
+ }
+ dispatch(closeNewScenarioModal())
+ },
+ }
+}
+
+const NewScenarioModal = connect(mapStateToProps, mapDispatchToProps)(
+ NewScenarioModalComponent,
+)
+
+export default NewScenarioModal