From 668234be4c70b1cdecc9fec6b080222294d5f516 Mon Sep 17 00:00:00 2001 From: Kegan Dougal <kegan@matrix.org> Date: Fri, 30 Oct 2015 17:18:25 +0000 Subject: [PATCH] Add reject button and impl --- src/skins/vector/views/organisms/RoomView.js | 24 +++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/skins/vector/views/organisms/RoomView.js b/src/skins/vector/views/organisms/RoomView.js index f62eb3c3..3157712f 100644 --- a/src/skins/vector/views/organisms/RoomView.js +++ b/src/skins/vector/views/organisms/RoomView.js @@ -63,6 +63,25 @@ module.exports = React.createClass({ this.setState(this.getInitialState()); }, + onRejectButtonClicked: function(ev) { + var self = this; + this.setState({ + rejecting: true + }); + MatrixClientPeg.get().leave(this.props.roomId).done(function() { + dis.dispatch({ action: 'view_next_room' }); + self.setState({ + rejecting: false + }); + }, function(err) { + console.error("Failed to reject invite: %s", err); + self.setState({ + rejecting: false, + rejectError: err + }); + }); + }, + onConferenceNotificationClick: function() { dis.dispatch({ action: 'place_call', @@ -106,7 +125,7 @@ module.exports = React.createClass({ var myUserId = MatrixClientPeg.get().credentials.userId; if (this.state.room.currentState.members[myUserId].membership == 'invite') { - if (this.state.joining) { + if (this.state.joining || this.state.rejecting) { return ( <div className="mx_RoomView"> <Loader /> @@ -116,6 +135,7 @@ module.exports = React.createClass({ var inviteEvent = this.state.room.currentState.members[myUserId].events.member.event; // XXX: Leaving this intentionally basic for now because invites are about to change totally var joinErrorText = this.state.joinError ? "Failed to join room!" : ""; + var rejectErrorText = this.state.rejectError ? "Failed to reject invite!" : ""; return ( <div className="mx_RoomView"> <RoomHeader ref="header" room={this.state.room} simpleHeader="Room invite"/> @@ -123,7 +143,9 @@ module.exports = React.createClass({ <div>{inviteEvent.user_id} has invited you to a room</div> <br/> <button ref="joinButton" onClick={this.onJoinButtonClicked}>Join</button> + <button onClick={this.onRejectButtonClicked}>Reject</button> <div className="error">{joinErrorText}</div> + <div className="error">{rejectErrorText}</div> </div> </div> );