From fc9c52a8f102202bd0e1a8a9dc4d8d68babe2304 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Fri, 8 Sep 2017 10:27:00 +0200 Subject: Implement UI for unit addition and removal --- .../topology/machine/MachineSidebarComponent.js | 2 ++ .../sidebars/topology/machine/UnitAddComponent.js | 37 +++++++++++++++++++ .../sidebars/topology/machine/UnitComponent.js | 10 ++++++ .../sidebars/topology/machine/UnitListComponent.js | 17 +++++++++ .../sidebars/topology/machine/UnitTabsComponent.js | 42 ++++++++++++++++++++++ 5 files changed, 108 insertions(+) create mode 100644 src/components/sidebars/topology/machine/UnitAddComponent.js create mode 100644 src/components/sidebars/topology/machine/UnitComponent.js create mode 100644 src/components/sidebars/topology/machine/UnitListComponent.js create mode 100644 src/components/sidebars/topology/machine/UnitTabsComponent.js (limited to 'src/components/sidebars/topology/machine') diff --git a/src/components/sidebars/topology/machine/MachineSidebarComponent.js b/src/components/sidebars/topology/machine/MachineSidebarComponent.js index 117db784..218e4f41 100644 --- a/src/components/sidebars/topology/machine/MachineSidebarComponent.js +++ b/src/components/sidebars/topology/machine/MachineSidebarComponent.js @@ -2,6 +2,7 @@ import React from "react"; import BackToRackContainer from "../../../../containers/sidebars/topology/machine/BackToRackContainer"; import DeleteMachineContainer from "../../../../containers/sidebars/topology/machine/DeleteMachineContainer"; import MachineNameContainer from "../../../../containers/sidebars/topology/machine/MachineNameContainer"; +import UnitTabsComponent from "./UnitTabsComponent"; const MachineSidebarComponent = () => { return ( @@ -9,6 +10,7 @@ const MachineSidebarComponent = () => { + ); }; diff --git a/src/components/sidebars/topology/machine/UnitAddComponent.js b/src/components/sidebars/topology/machine/UnitAddComponent.js new file mode 100644 index 00000000..a1c9eb76 --- /dev/null +++ b/src/components/sidebars/topology/machine/UnitAddComponent.js @@ -0,0 +1,37 @@ +import PropTypes from "prop-types"; +import React from "react"; + +class UnitAddComponent extends React.Component { + static propTypes = { + units: PropTypes.array.isRequired, + onAdd: PropTypes.func.isRequired, + }; + + render() { + return ( +
+
+ + +
+
+ ); + } +} + +export default UnitAddComponent; diff --git a/src/components/sidebars/topology/machine/UnitComponent.js b/src/components/sidebars/topology/machine/UnitComponent.js new file mode 100644 index 00000000..20cdad1e --- /dev/null +++ b/src/components/sidebars/topology/machine/UnitComponent.js @@ -0,0 +1,10 @@ +import React from "react"; + +const UnitComponent = ({unit, onDelete}) => ( +
  • + {unit.manufacturer + " " + unit.family + " " + unit.model + " " + unit.generation} + Delete +
  • +); + +export default UnitComponent; diff --git a/src/components/sidebars/topology/machine/UnitListComponent.js b/src/components/sidebars/topology/machine/UnitListComponent.js new file mode 100644 index 00000000..288d1428 --- /dev/null +++ b/src/components/sidebars/topology/machine/UnitListComponent.js @@ -0,0 +1,17 @@ +import React from "react"; +import UnitContainer from "../../../../containers/sidebars/topology/machine/UnitContainer"; + +const UnitListComponent = ({unitType, unitIds}) => ( +
      + {unitIds.length !== 0 ? + unitIds.map((unitId, index) => ( + + )) : +
      + No units... Add some with the menu above! +
      + } +
    +); + +export default UnitListComponent; diff --git a/src/components/sidebars/topology/machine/UnitTabsComponent.js b/src/components/sidebars/topology/machine/UnitTabsComponent.js new file mode 100644 index 00000000..cd068442 --- /dev/null +++ b/src/components/sidebars/topology/machine/UnitTabsComponent.js @@ -0,0 +1,42 @@ +import React from "react"; +import UnitAddContainer from "../../../../containers/sidebars/topology/machine/UnitAddContainer"; +import UnitListContainer from "../../../../containers/sidebars/topology/machine/UnitListContainer"; + +const UnitTabsComponent = () => ( +
    + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +); + +export default UnitTabsComponent; -- cgit v1.2.3