Add reject button and impl

pull/298/head
Kegan Dougal 2015-10-30 17:18:25 +00:00
parent 3db86b1f59
commit 668234be4c
1 changed files with 23 additions and 1 deletions

View File

@ -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>
);