diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-06 22:07:16 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:57 +0200 |
| commit | d5a92d3006561fd631279b68b23a1f8075b28bb8 (patch) | |
| tree | 39797ed1e314e5e3cd8521239141af1334f18ec5 /src/containers | |
| parent | 02eafd26b8841ed5896ab83672aba13d569ea63d (diff) | |
Add a button to delete the currently viewed room
Diffstat (limited to 'src/containers')
| -rw-r--r-- | src/containers/modals/DeleteProfileModal.js | 10 | ||||
| -rw-r--r-- | src/containers/modals/DeleteRoomModal.js | 36 | ||||
| -rw-r--r-- | src/containers/sidebars/topology/room/DeleteRoomContainer.js | 16 |
3 files changed, 57 insertions, 5 deletions
diff --git a/src/containers/modals/DeleteProfileModal.js b/src/containers/modals/DeleteProfileModal.js index 0108a1eb..709b4a92 100644 --- a/src/containers/modals/DeleteProfileModal.js +++ b/src/containers/modals/DeleteProfileModal.js @@ -4,9 +4,9 @@ import {closeDeleteProfileModal} from "../../actions/modals/profile"; import {deleteCurrentUser} from "../../actions/users"; import ConfirmationModal from "../../components/modals/ConfirmationModal"; -const NewSimulationModalComponent = ({visible, callback}) => ( +const DeleteProfileModalComponent = ({visible, callback}) => ( <ConfirmationModal title="Delete my account" - message="Are you sure you want do delete your OpenDC account?" + message="Are you sure you want to delete your OpenDC account?" show={visible} callback={callback}/> ); @@ -28,9 +28,9 @@ const mapDispatchToProps = dispatch => { }; }; -const NewSimulationModal = connect( +const DeleteProfileModal = connect( mapStateToProps, mapDispatchToProps -)(NewSimulationModalComponent); +)(DeleteProfileModalComponent); -export default NewSimulationModal; +export default DeleteProfileModal; diff --git a/src/containers/modals/DeleteRoomModal.js b/src/containers/modals/DeleteRoomModal.js new file mode 100644 index 00000000..92684385 --- /dev/null +++ b/src/containers/modals/DeleteRoomModal.js @@ -0,0 +1,36 @@ +import React from "react"; +import {connect} from "react-redux"; +import {closeDeleteRoomModal} from "../../actions/modals/topology"; +import {deleteRoom} from "../../actions/topology"; +import ConfirmationModal from "../../components/modals/ConfirmationModal"; + +const DeleteRoomModalComponent = ({visible, callback}) => ( + <ConfirmationModal title="Delete this room" + message="Are you sure you want to delete this room?" + show={visible} + callback={callback}/> +); + +const mapStateToProps = state => { + return { + visible: state.modals.deleteRoomModalVisible + }; +}; + +const mapDispatchToProps = dispatch => { + return { + callback: (isConfirmed) => { + if (isConfirmed) { + dispatch(deleteRoom()); + } + dispatch(closeDeleteRoomModal()); + } + }; +}; + +const DeleteRoomModal = connect( + mapStateToProps, + mapDispatchToProps +)(DeleteRoomModalComponent); + +export default DeleteRoomModal; diff --git a/src/containers/sidebars/topology/room/DeleteRoomContainer.js b/src/containers/sidebars/topology/room/DeleteRoomContainer.js new file mode 100644 index 00000000..23a8fa0a --- /dev/null +++ b/src/containers/sidebars/topology/room/DeleteRoomContainer.js @@ -0,0 +1,16 @@ +import {connect} from "react-redux"; +import {openDeleteRoomModal} from "../../../../actions/modals/topology"; +import DeleteRoomComponent from "../../../../components/sidebars/topology/room/DeleteRoomComponent"; + +const mapDispatchToProps = dispatch => { + return { + onClick: () => dispatch(openDeleteRoomModal()), + }; +}; + +const DeleteRoomContainer = connect( + undefined, + mapDispatchToProps +)(DeleteRoomComponent); + +export default DeleteRoomContainer; |
