From 2a1b9cd71689a1dba0dcde2ff89eb0d0e01cdc28 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Tue, 27 Oct 2015 17:01:03 +0000 Subject: [PATCH] Add creatingRoom state to know when to show a spinner. --- src/controllers/molecules/MemberInfo.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/controllers/molecules/MemberInfo.js b/src/controllers/molecules/MemberInfo.js index 24e4afe5fd..23ae2e5fb1 100644 --- a/src/controllers/molecules/MemberInfo.js +++ b/src/controllers/molecules/MemberInfo.js @@ -161,6 +161,7 @@ module.exports = { onChatClick: function() { // check if there are any existing rooms with just us and them (1:1) // If so, just view that room. If not, create a private room with them. + var self = this; var rooms = MatrixClientPeg.get().getRooms(); var userIds = [ this.props.member.userId, @@ -189,23 +190,28 @@ module.exports = { action: 'view_room', room_id: existingRoomId }); + this.props.onFinished(); } else { + self.setState({ creatingRoom: true }); MatrixClientPeg.get().createRoom({ invite: [this.props.member.userId], preset: "private_chat" }).done(function(res) { + self.setState({ creatingRoom: false }); dis.dispatch({ action: 'view_room', room_id: res.room_id }); + self.props.onFinished(); }, function(err) { + self.setState({ creatingRoom: false }); console.error( "Failed to create room: %s", JSON.stringify(err) ); + self.props.onFinished(); }); } - this.props.onFinished(); }, // FIXME: this is horribly duplicated with MemberTile's onLeaveClick. @@ -249,7 +255,8 @@ module.exports = { modifyLevel: false }, muted: false, - isTargetMod: false + isTargetMod: false, + creatingRoom: false } },