diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-01 16:42:13 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:56 +0200 |
| commit | 17ae0a3fafd806a5a533bf1d51a3ac708a8cf978 (patch) | |
| tree | c3687bd08891ef3698f4773e44a6920856229dfe /src/containers/modals | |
| parent | eea529f57e3ee39d2f492062688b2848ced0a747 (diff) | |
Implement room name edit
Diffstat (limited to 'src/containers/modals')
| -rw-r--r-- | src/containers/modals/DeleteProfileModal.js | 36 | ||||
| -rw-r--r-- | src/containers/modals/EditRoomNameModal.js | 38 | ||||
| -rw-r--r-- | src/containers/modals/NewSimulationModal.js | 35 |
3 files changed, 109 insertions, 0 deletions
diff --git a/src/containers/modals/DeleteProfileModal.js b/src/containers/modals/DeleteProfileModal.js new file mode 100644 index 00000000..0108a1eb --- /dev/null +++ b/src/containers/modals/DeleteProfileModal.js @@ -0,0 +1,36 @@ +import React from "react"; +import {connect} from "react-redux"; +import {closeDeleteProfileModal} from "../../actions/modals/profile"; +import {deleteCurrentUser} from "../../actions/users"; +import ConfirmationModal from "../../components/modals/ConfirmationModal"; + +const NewSimulationModalComponent = ({visible, callback}) => ( + <ConfirmationModal title="Delete my account" + message="Are you sure you want do delete your OpenDC account?" + show={visible} + callback={callback}/> +); + +const mapStateToProps = state => { + return { + visible: state.modals.deleteProfileModalVisible + }; +}; + +const mapDispatchToProps = dispatch => { + return { + callback: (isConfirmed) => { + if (isConfirmed) { + dispatch(deleteCurrentUser()); + } + dispatch(closeDeleteProfileModal()); + } + }; +}; + +const NewSimulationModal = connect( + mapStateToProps, + mapDispatchToProps +)(NewSimulationModalComponent); + +export default NewSimulationModal; diff --git a/src/containers/modals/EditRoomNameModal.js b/src/containers/modals/EditRoomNameModal.js new file mode 100644 index 00000000..649ffeda --- /dev/null +++ b/src/containers/modals/EditRoomNameModal.js @@ -0,0 +1,38 @@ +import React from "react"; +import {connect} from "react-redux"; +import {closeEditRoomNameModal} from "../../actions/modals/topology"; +import {editRoomName} from "../../actions/topology"; +import TextInputModal from "../../components/modals/TextInputModal"; + +const EditRoomNameModalComponent = ({visible, previousName, callback}) => ( + <TextInputModal title="Edit room name" + label="Room name" + show={visible} + initialValue={previousName} + callback={callback}/> +); + +const mapStateToProps = state => { + return { + visible: state.modals.editRoomNameModalVisible, + previousName: state.interactionLevel.mode === "ROOM" ? state.objects.room[state.interactionLevel.roomId].name : "", + }; +}; + +const mapDispatchToProps = dispatch => { + return { + callback: (name) => { + if (name) { + dispatch(editRoomName(name)); + } + dispatch(closeEditRoomNameModal()); + } + }; +}; + +const EditRoomNameModal = connect( + mapStateToProps, + mapDispatchToProps +)(EditRoomNameModalComponent); + +export default EditRoomNameModal; diff --git a/src/containers/modals/NewSimulationModal.js b/src/containers/modals/NewSimulationModal.js new file mode 100644 index 00000000..d85b59ef --- /dev/null +++ b/src/containers/modals/NewSimulationModal.js @@ -0,0 +1,35 @@ +import React from "react"; +import {connect} from "react-redux"; +import {closeNewSimulationModal} from "../../actions/modals/simulations"; +import {addSimulation} from "../../actions/simulations"; +import TextInputModal from "../../components/modals/TextInputModal"; + +const NewSimulationModalComponent = ({visible, callback}) => ( + <TextInputModal title="New Simulation" label="Simulation title" + show={visible} + callback={callback}/> +); + +const mapStateToProps = state => { + return { + visible: state.modals.newSimulationModalVisible + }; +}; + +const mapDispatchToProps = dispatch => { + return { + callback: (text) => { + if (text) { + dispatch(addSimulation(text)); + } + dispatch(closeNewSimulationModal()); + } + }; +}; + +const NewSimulationModal = connect( + mapStateToProps, + mapDispatchToProps +)(NewSimulationModalComponent); + +export default NewSimulationModal; |
