summaryrefslogtreecommitdiff
path: root/frontend/src/containers
diff options
context:
space:
mode:
authorGeorgios Andreadis <info@gandreadis.com>2020-07-07 11:20:43 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-08-24 19:47:25 +0200
commit890cd3f7028bfccd77b0d04670f7bc07293ed383 (patch)
tree6be55c9c1330cb1d77cb7aaedcb91596f2e34574 /frontend/src/containers
parentb4bdf9fde013bb7ff9579693b64ff575f7b00e44 (diff)
Add new left sidebar, move topology controls
Diffstat (limited to 'frontend/src/containers')
-rw-r--r--frontend/src/containers/app/sidebars/project/ProjectSidebarContainer.js5
-rw-r--r--frontend/src/containers/app/sidebars/project/TopologyListContainer.js46
-rw-r--r--frontend/src/containers/app/sidebars/topology/TopologySidebarContainer.js (renamed from frontend/src/containers/app/sidebars/topology/TopologySidebar.js)4
-rw-r--r--frontend/src/containers/modals/ChangeTopologyModal.js64
-rw-r--r--frontend/src/containers/modals/NewTopologyModal.js49
-rw-r--r--frontend/src/containers/navigation/AppNavbarContainer.js12
6 files changed, 114 insertions, 66 deletions
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/TopologySidebarContainer.js
index 8e929d3d..f9bc10bf 100644
--- a/frontend/src/containers/app/sidebars/topology/TopologySidebar.js
+++ b/frontend/src/containers/app/sidebars/topology/TopologySidebarContainer.js
@@ -7,6 +7,6 @@ const mapStateToProps = state => {
}
}
-const TopologySidebar = connect(mapStateToProps)(TopologySidebarComponent)
+const TopologySidebarContainer = connect(mapStateToProps)(TopologySidebarComponent)
-export default TopologySidebar
+export default TopologySidebarContainer
diff --git a/frontend/src/containers/modals/ChangeTopologyModal.js b/frontend/src/containers/modals/ChangeTopologyModal.js
deleted file mode 100644
index 7904ef59..00000000
--- a/frontend/src/containers/modals/ChangeTopologyModal.js
+++ /dev/null
@@ -1,64 +0,0 @@
-import { connect } from 'react-redux'
-import ChangeTopologyModalComponent from '../../components/modals/custom-components/ChangeTopologyModalComponent'
-import { closeChangeTopologyModal } from '../../actions/modals/topology'
-import { addTopology, deleteTopology } from '../../actions/topologies'
-import { setCurrentTopology } from '../../actions/topology/building'
-
-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),
- )
- dispatch(closeChangeTopologyModal())
- },
- onCreateTopology: (name) => {
- if (name) {
- dispatch(
- addTopology({ name, rooms: [] }),
- )
- }
- dispatch(closeChangeTopologyModal())
- },
- onDuplicateTopology: (name) => {
- if (name) {
- // TODO different handling here
- dispatch(
- addTopology({ name, rooms: [] }),
- )
- }
- dispatch(closeChangeTopologyModal())
- },
- onDeleteTopology: (id) => {
- if (id) {
- dispatch(
- deleteTopology(id),
- )
- }
- },
- onCancel: () => {
- dispatch(closeChangeTopologyModal())
- },
- }
-}
-
-const ChangeTopologyModal = connect(mapStateToProps, mapDispatchToProps)(
- ChangeTopologyModalComponent,
-)
-
-export default ChangeTopologyModal
diff --git a/frontend/src/containers/modals/NewTopologyModal.js b/frontend/src/containers/modals/NewTopologyModal.js
new file mode 100644
index 00000000..282f0db9
--- /dev/null
+++ b/frontend/src/containers/modals/NewTopologyModal.js
@@ -0,0 +1,49 @@
+import { connect } from 'react-redux'
+import NewTopologyModalComponent from '../../components/modals/custom-components/NewTopologyModalComponent'
+import { closeNewTopologyModal } from '../../actions/modals/topology'
+import { addTopology } 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,
+ topologies,
+ }
+}
+
+const mapDispatchToProps = dispatch => {
+ return {
+ onCreateTopology: (name) => {
+ if (name) {
+ dispatch(
+ addTopology({ name, rooms: [] }),
+ )
+ }
+ dispatch(closeNewTopologyModal())
+ },
+ onDuplicateTopology: (name) => {
+ if (name) {
+ // TODO different handling here
+ dispatch(
+ addTopology({ name, rooms: [] }),
+ )
+ }
+ dispatch(closeNewTopologyModal())
+ },
+ onCancel: () => {
+ dispatch(closeNewTopologyModal())
+ },
+ }
+}
+
+const NewTopologyModal = connect(mapStateToProps, mapDispatchToProps)(
+ NewTopologyModalComponent,
+)
+
+export default NewTopologyModal
diff --git a/frontend/src/containers/navigation/AppNavbarContainer.js b/frontend/src/containers/navigation/AppNavbarContainer.js
new file mode 100644
index 00000000..bba44d77
--- /dev/null
+++ b/frontend/src/containers/navigation/AppNavbarContainer.js
@@ -0,0 +1,12 @@
+import { connect } from 'react-redux'
+import AppNavbarComponent from '../../components/navigation/AppNavbarComponent'
+
+const mapStateToProps = state => {
+ return {
+ project: state.currentProjectId !== '-1' ? state.objects.project[state.currentProjectId] : undefined,
+ }
+}
+
+const AppNavbarContainer = connect(mapStateToProps)(AppNavbarComponent)
+
+export default AppNavbarContainer