summaryrefslogtreecommitdiff
path: root/frontend/src/containers/app/sidebars/project/ScenarioListContainer.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/app/sidebars/project/ScenarioListContainer.js
parent607e8c72d85bf79dcd9bf28df96b239e2764bc30 (diff)
Add implementation of portfolio and scenario UI structure
Diffstat (limited to 'frontend/src/containers/app/sidebars/project/ScenarioListContainer.js')
-rw-r--r--frontend/src/containers/app/sidebars/project/ScenarioListContainer.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/frontend/src/containers/app/sidebars/project/ScenarioListContainer.js b/frontend/src/containers/app/sidebars/project/ScenarioListContainer.js
new file mode 100644
index 00000000..2fd56d2b
--- /dev/null
+++ b/frontend/src/containers/app/sidebars/project/ScenarioListContainer.js
@@ -0,0 +1,45 @@
+import { connect } from 'react-redux'
+import ScenarioListComponent from '../../../../components/app/sidebars/project/ScenarioListComponent'
+import { openNewScenarioModal } from '../../../../actions/modals/scenarios'
+import { deleteScenario, setCurrentScenario } from '../../../../actions/scenarios'
+import { setCurrentPortfolio } from '../../../../actions/portfolios'
+
+const mapStateToProps = (state, ownProps) => {
+ let scenarios = state.objects.portfolio[ownProps.portfolioId] ? state.objects.portfolio[ownProps.portfolioId].scenarioIds.map(t => (
+ state.objects.scenario[t]
+ )) : []
+ if (scenarios.filter(t => !t).length > 0) {
+ scenarios = []
+ }
+
+ return {
+ currentProjectId: state.currentProjectId,
+ currentScenarioId: state.currentScenarioId,
+ scenarios,
+ }
+}
+
+const mapDispatchToProps = dispatch => {
+ return {
+ onNewScenario: (currentPortfolioId) => {
+ dispatch(setCurrentPortfolio(currentPortfolioId))
+ dispatch(openNewScenarioModal())
+ },
+ onChooseScenario: (portfolioId, scenarioId) => {
+ dispatch(setCurrentScenario(portfolioId, scenarioId))
+ },
+ onDeleteScenario: (id) => {
+ if (id) {
+ dispatch(
+ deleteScenario(id),
+ )
+ }
+ },
+ }
+}
+
+const ScenarioListContainer = connect(mapStateToProps, mapDispatchToProps)(
+ ScenarioListComponent,
+)
+
+export default ScenarioListContainer