summaryrefslogtreecommitdiff
path: root/src/containers/sidebars/topology
diff options
context:
space:
mode:
authorGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-08 10:27:00 +0200
committerGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-23 10:05:59 +0200
commitfc9c52a8f102202bd0e1a8a9dc4d8d68babe2304 (patch)
tree0025827d791a3eeb5416bb89d4c36e777feabdd7 /src/containers/sidebars/topology
parent1b5d2658f9ec06308b2a5ed062f6f5b4798ed733 (diff)
Implement UI for unit addition and removal
Diffstat (limited to 'src/containers/sidebars/topology')
-rw-r--r--src/containers/sidebars/topology/machine/UnitAddContainer.js22
-rw-r--r--src/containers/sidebars/topology/machine/UnitContainer.js22
-rw-r--r--src/containers/sidebars/topology/machine/UnitListContainer.js15
3 files changed, 59 insertions, 0 deletions
diff --git a/src/containers/sidebars/topology/machine/UnitAddContainer.js b/src/containers/sidebars/topology/machine/UnitAddContainer.js
new file mode 100644
index 00000000..66e35030
--- /dev/null
+++ b/src/containers/sidebars/topology/machine/UnitAddContainer.js
@@ -0,0 +1,22 @@
+import {connect} from "react-redux";
+import {addUnit} from "../../../../actions/topology/machine";
+import UnitAddComponent from "../../../../components/sidebars/topology/machine/UnitAddComponent";
+
+const mapStateToProps = (state, ownProps) => {
+ return {
+ units: Object.values(state.objects[ownProps.unitType]),
+ };
+};
+
+const mapDispatchToProps = (dispatch, ownProps) => {
+ return {
+ onAdd: (id) => dispatch(addUnit(ownProps.unitType, id)),
+ };
+};
+
+const UnitAddContainer = connect(
+ mapStateToProps,
+ mapDispatchToProps
+)(UnitAddComponent);
+
+export default UnitAddContainer;
diff --git a/src/containers/sidebars/topology/machine/UnitContainer.js b/src/containers/sidebars/topology/machine/UnitContainer.js
new file mode 100644
index 00000000..712d3eef
--- /dev/null
+++ b/src/containers/sidebars/topology/machine/UnitContainer.js
@@ -0,0 +1,22 @@
+import {connect} from "react-redux";
+import {deleteUnit} from "../../../../actions/topology/machine";
+import UnitComponent from "../../../../components/sidebars/topology/machine/UnitComponent";
+
+const mapStateToProps = (state, ownProps) => {
+ return {
+ unit: state.objects[ownProps.unitType][ownProps.unitId],
+ };
+};
+
+const mapDispatchToProps = (dispatch, ownProps) => {
+ return {
+ onDelete: () => dispatch(deleteUnit(ownProps.unitType, ownProps.index)),
+ };
+};
+
+const UnitContainer = connect(
+ mapStateToProps,
+ mapDispatchToProps
+)(UnitComponent);
+
+export default UnitContainer;
diff --git a/src/containers/sidebars/topology/machine/UnitListContainer.js b/src/containers/sidebars/topology/machine/UnitListContainer.js
new file mode 100644
index 00000000..cf3a2639
--- /dev/null
+++ b/src/containers/sidebars/topology/machine/UnitListContainer.js
@@ -0,0 +1,15 @@
+import {connect} from "react-redux";
+import UnitListComponent from "../../../../components/sidebars/topology/machine/UnitListComponent";
+
+const mapStateToProps = (state, ownProps) => {
+ return {
+ unitIds: state.objects.machine[state.objects.rack[state.objects.tile[state.interactionLevel.tileId].objectId]
+ .machineIds[state.interactionLevel.position - 1]][ownProps.unitType + "Ids"],
+ };
+};
+
+const UnitListContainer = connect(
+ mapStateToProps
+)(UnitListComponent);
+
+export default UnitListContainer;