From aa788a3ad18badfac8beaabdaffc88b9e52f9306 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Wed, 7 Jul 2021 15:07:11 +0200 Subject: ui: Remove current ids state from Redux This change removes the current active identifiers from the Redux state. Instead, we use the router query to track the active project, portfolio and topology. --- .../app/sidebars/project/PortfolioListComponent.js | 2 +- .../app/sidebars/project/ScenarioListComponent.js | 38 ++--------------- .../app/results/PortfolioResultsContainer.js | 13 +++--- .../app/sidebars/project/PortfolioListContainer.js | 12 +++--- .../app/sidebars/project/ScenarioListContainer.js | 14 ++----- .../app/sidebars/project/TopologyListContainer.js | 14 +++---- opendc-web/opendc-web-ui/src/data/project.js | 21 ++-------- opendc-web/opendc-web-ui/src/data/topology.js | 7 +++- .../opendc-web-ui/src/redux/actions/portfolios.js | 11 +---- .../opendc-web-ui/src/redux/actions/scenarios.js | 9 ---- .../opendc-web-ui/src/redux/actions/topologies.js | 3 +- .../src/redux/reducers/current-ids.js | 44 -------------------- .../opendc-web-ui/src/redux/reducers/index.js | 5 +-- .../opendc-web-ui/src/redux/sagas/portfolios.js | 48 +++++++++++----------- .../opendc-web-ui/src/redux/sagas/projects.js | 2 +- .../opendc-web-ui/src/redux/sagas/scenarios.js | 8 ++-- .../opendc-web-ui/src/redux/sagas/topology.js | 28 +++++-------- 17 files changed, 80 insertions(+), 199 deletions(-) (limited to 'opendc-web') diff --git a/opendc-web/opendc-web-ui/src/components/app/sidebars/project/PortfolioListComponent.js b/opendc-web/opendc-web-ui/src/components/app/sidebars/project/PortfolioListComponent.js index ce271819..b948b747 100644 --- a/opendc-web/opendc-web-ui/src/components/app/sidebars/project/PortfolioListComponent.js +++ b/opendc-web/opendc-web-ui/src/components/app/sidebars/project/PortfolioListComponent.js @@ -61,7 +61,7 @@ function PortfolioListComponent({ PortfolioListComponent.propTypes = { portfolios: PropTypes.arrayOf(Portfolio), - currentProjectId: PropTypes.string.isRequired, + currentProjectId: PropTypes.string, currentPortfolioId: PropTypes.string, onNewPortfolio: PropTypes.func.isRequired, onChoosePortfolio: PropTypes.func.isRequired, diff --git a/opendc-web/opendc-web-ui/src/components/app/sidebars/project/ScenarioListComponent.js b/opendc-web/opendc-web-ui/src/components/app/sidebars/project/ScenarioListComponent.js index f990dfcb..e81d2b78 100644 --- a/opendc-web/opendc-web-ui/src/components/app/sidebars/project/ScenarioListComponent.js +++ b/opendc-web/opendc-web-ui/src/components/app/sidebars/project/ScenarioListComponent.js @@ -1,48 +1,19 @@ import PropTypes from 'prop-types' import React from 'react' import { Scenario } from '../../../../shapes' -import Link from 'next/link' import { Button, Col, Row } from 'reactstrap' -import classNames from 'classnames' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import { faPlus, faPlay, faTrash } from '@fortawesome/free-solid-svg-icons' +import { faPlus, faTrash } from '@fortawesome/free-solid-svg-icons' -function ScenarioListComponent({ - scenarios, - portfolioId, - currentProjectId, - currentScenarioId, - onNewScenario, - onChooseScenario, - onDeleteScenario, -}) { +function ScenarioListComponent({ scenarios, portfolioId, onNewScenario, onDeleteScenario }) { return ( <> {scenarios.map((scenario, idx) => ( - + {scenario.name} - - -