diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-07 11:38:42 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:58 +0200 |
| commit | e9909159dc5db91eda12437e18c1474cae848af7 (patch) | |
| tree | f34e0ca56b666f6a4ab1022e58a6dcd84b779725 /src/containers/modals | |
| parent | d5a92d3006561fd631279b68b23a1f8075b28bb8 (diff) | |
Implement first machine slot listing
Diffstat (limited to 'src/containers/modals')
| -rw-r--r-- | src/containers/modals/DeleteRackModal.js | 36 | ||||
| -rw-r--r-- | src/containers/modals/EditRackNameModal.js | 39 |
2 files changed, 75 insertions, 0 deletions
diff --git a/src/containers/modals/DeleteRackModal.js b/src/containers/modals/DeleteRackModal.js new file mode 100644 index 00000000..00dd036c --- /dev/null +++ b/src/containers/modals/DeleteRackModal.js @@ -0,0 +1,36 @@ +import React from "react"; +import {connect} from "react-redux"; +import {closeDeleteRackModal} from "../../actions/modals/topology"; +import {deleteRack} from "../../actions/topology"; +import ConfirmationModal from "../../components/modals/ConfirmationModal"; + +const DeleteRackModalComponent = ({visible, callback}) => ( + <ConfirmationModal title="Delete this rack" + message="Are you sure you want to delete this rack?" + show={visible} + callback={callback}/> +); + +const mapStateToProps = state => { + return { + visible: state.modals.deleteRackModalVisible + }; +}; + +const mapDispatchToProps = dispatch => { + return { + callback: (isConfirmed) => { + if (isConfirmed) { + dispatch(deleteRack()); + } + dispatch(closeDeleteRackModal()); + } + }; +}; + +const DeleteRackModal = connect( + mapStateToProps, + mapDispatchToProps +)(DeleteRackModalComponent); + +export default DeleteRackModal; diff --git a/src/containers/modals/EditRackNameModal.js b/src/containers/modals/EditRackNameModal.js new file mode 100644 index 00000000..e793f146 --- /dev/null +++ b/src/containers/modals/EditRackNameModal.js @@ -0,0 +1,39 @@ +import React from "react"; +import {connect} from "react-redux"; +import {closeEditRackNameModal} from "../../actions/modals/topology"; +import {editRackName} from "../../actions/topology"; +import TextInputModal from "../../components/modals/TextInputModal"; + +const EditRackNameModalComponent = ({visible, previousName, callback}) => ( + <TextInputModal title="Edit rack name" + label="Rack name" + show={visible} + initialValue={previousName} + callback={callback}/> +); + +const mapStateToProps = state => { + return { + visible: state.modals.editRackNameModalVisible, + previousName: state.interactionLevel.mode === "RACK" ? + state.objects.rack[state.objects.tile[state.interactionLevel.tileId].objectId].name : "", + }; +}; + +const mapDispatchToProps = dispatch => { + return { + callback: (name) => { + if (name) { + dispatch(editRackName(name)); + } + dispatch(closeEditRackNameModal()); + } + }; +}; + +const EditRackNameModal = connect( + mapStateToProps, + mapDispatchToProps +)(EditRackNameModalComponent); + +export default EditRackNameModal; |
