From 890cd3f7028bfccd77b0d04670f7bc07293ed383 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Tue, 7 Jul 2020 11:20:43 +0200 Subject: Add new left sidebar, move topology controls --- .../sidebars/project/ProjectSidebarContainer.js | 5 +++ .../app/sidebars/project/TopologyListContainer.js | 46 ++++++++++++++++++++++ .../app/sidebars/topology/TopologySidebar.js | 12 ------ .../sidebars/topology/TopologySidebarContainer.js | 12 ++++++ 4 files changed, 63 insertions(+), 12 deletions(-) create mode 100644 frontend/src/containers/app/sidebars/project/ProjectSidebarContainer.js create mode 100644 frontend/src/containers/app/sidebars/project/TopologyListContainer.js delete mode 100644 frontend/src/containers/app/sidebars/topology/TopologySidebar.js create mode 100644 frontend/src/containers/app/sidebars/topology/TopologySidebarContainer.js (limited to 'frontend/src/containers/app/sidebars') diff --git a/frontend/src/containers/app/sidebars/project/ProjectSidebarContainer.js b/frontend/src/containers/app/sidebars/project/ProjectSidebarContainer.js new file mode 100644 index 00000000..ced0b18b --- /dev/null +++ b/frontend/src/containers/app/sidebars/project/ProjectSidebarContainer.js @@ -0,0 +1,5 @@ +import ProjectSidebarComponent from '../../../../components/app/sidebars/project/ProjectSidebarComponent' + +const ProjectSidebarContainer = ProjectSidebarComponent + +export default ProjectSidebarContainer diff --git a/frontend/src/containers/app/sidebars/project/TopologyListContainer.js b/frontend/src/containers/app/sidebars/project/TopologyListContainer.js new file mode 100644 index 00000000..cab47c8d --- /dev/null +++ b/frontend/src/containers/app/sidebars/project/TopologyListContainer.js @@ -0,0 +1,46 @@ +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' + +const mapStateToProps = state => { + let topologies = state.objects.project[state.currentProjectId] ? state.objects.project[state.currentProjectId].topologyIds.map(t => ( + state.objects.topology[t] + )) : [] + if (topologies.filter(t => !t).length > 0) { + topologies = [] + } + + return { + show: state.modals.changeTopologyModalVisible, + currentTopologyId: state.currentTopologyId, + topologies, + } +} + +const mapDispatchToProps = dispatch => { + return { + onChooseTopology: (id) => { + dispatch( + setCurrentTopology(id), + ) + }, + onNewTopology: () => { + dispatch(openNewTopologyModal()) + }, + onDeleteTopology: (id) => { + if (id) { + dispatch( + deleteTopology(id), + ) + } + }, + } +} + +const TopologyListContainer = connect(mapStateToProps, mapDispatchToProps)( + TopologyListComponent, +) + +export default TopologyListContainer diff --git a/frontend/src/containers/app/sidebars/topology/TopologySidebar.js b/frontend/src/containers/app/sidebars/topology/TopologySidebar.js deleted file mode 100644 index 8e929d3d..00000000 --- a/frontend/src/containers/app/sidebars/topology/TopologySidebar.js +++ /dev/null @@ -1,12 +0,0 @@ -import { connect } from 'react-redux' -import TopologySidebarComponent from '../../../../components/app/sidebars/topology/TopologySidebarComponent' - -const mapStateToProps = state => { - return { - interactionLevel: state.interactionLevel, - } -} - -const TopologySidebar = connect(mapStateToProps)(TopologySidebarComponent) - -export default TopologySidebar diff --git a/frontend/src/containers/app/sidebars/topology/TopologySidebarContainer.js b/frontend/src/containers/app/sidebars/topology/TopologySidebarContainer.js new file mode 100644 index 00000000..f9bc10bf --- /dev/null +++ b/frontend/src/containers/app/sidebars/topology/TopologySidebarContainer.js @@ -0,0 +1,12 @@ +import { connect } from 'react-redux' +import TopologySidebarComponent from '../../../../components/app/sidebars/topology/TopologySidebarComponent' + +const mapStateToProps = state => { + return { + interactionLevel: state.interactionLevel, + } +} + +const TopologySidebarContainer = connect(mapStateToProps)(TopologySidebarComponent) + +export default TopologySidebarContainer -- cgit v1.2.3