diff options
| author | Georgios Andreadis <info@gandreadis.com> | 2020-07-10 10:24:31 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-08-24 19:48:01 +0200 |
| commit | 3b4e27320c479bd6ef48998f448ed070e8bd7511 (patch) | |
| tree | 35ec6527e8d7a0b4093e18c8cb501c293a18b5eb /frontend/src/containers/modals | |
| parent | b30906bbe0d5f343b337a80de1b4b70ebf288331 (diff) | |
| parent | 8aa174e70c01631ae4e00a6d208966fcd77cf972 (diff) | |
Merge pull request #8 from atlarge-research/feature/portfolios-scenarios-frontend
Portfolios and scenarios on the frontend
Diffstat (limited to 'frontend/src/containers/modals')
| -rw-r--r-- | frontend/src/containers/modals/NewExperimentModal.js | 39 | ||||
| -rw-r--r-- | frontend/src/containers/modals/NewPortfolioModal.js | 32 | ||||
| -rw-r--r-- | frontend/src/containers/modals/NewScenarioModal.js | 46 |
3 files changed, 78 insertions, 39 deletions
diff --git a/frontend/src/containers/modals/NewExperimentModal.js b/frontend/src/containers/modals/NewExperimentModal.js deleted file mode 100644 index f07b53e6..00000000 --- a/frontend/src/containers/modals/NewExperimentModal.js +++ /dev/null @@ -1,39 +0,0 @@ -import { connect } from 'react-redux' -import { addExperiment } from '../../actions/experiments' -import { closeNewExperimentModal } from '../../actions/modals/experiments' -import NewExperimentModalComponent from '../../components/modals/custom-components/NewExperimentModalComponent' - -const mapStateToProps = state => { - return { - show: state.modals.newExperimentModalVisible, - topologies: state.objects.project[state.currentProjectId].topologyIds.map(t => ( - state.objects.topology[t] - )), - traces: Object.values(state.objects.trace), - schedulers: Object.values(state.objects.scheduler), - } -} - -const mapDispatchToProps = dispatch => { - return { - callback: (name, topologyId, traceId, schedulerName) => { - if (name) { - dispatch( - addExperiment({ - name, - topologyId, - traceId, - schedulerName, - }), - ) - } - dispatch(closeNewExperimentModal()) - }, - } -} - -const NewExperimentModal = connect(mapStateToProps, mapDispatchToProps)( - NewExperimentModalComponent, -) - -export default NewExperimentModal diff --git a/frontend/src/containers/modals/NewPortfolioModal.js b/frontend/src/containers/modals/NewPortfolioModal.js new file mode 100644 index 00000000..5c4644d5 --- /dev/null +++ b/frontend/src/containers/modals/NewPortfolioModal.js @@ -0,0 +1,32 @@ +import { connect } from 'react-redux' +import NewPortfolioModalComponent from '../../components/modals/custom-components/NewPortfolioModalComponent' +import { addPortfolio } from '../../actions/portfolios' +import { closeNewPortfolioModal } from '../../actions/modals/portfolios' + +const mapStateToProps = state => { + return { + show: state.modals.newPortfolioModalVisible, + } +} + +const mapDispatchToProps = dispatch => { + return { + callback: (name, targets) => { + if (name) { + dispatch( + addPortfolio({ + name, + targets + }), + ) + } + dispatch(closeNewPortfolioModal()) + }, + } +} + +const NewPortfolioModal = connect(mapStateToProps, mapDispatchToProps)( + NewPortfolioModalComponent, +) + +export default NewPortfolioModal 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 |
