mirror of https://github.com/vector-im/riot-web
Fix bug where cannot send group invite on GroupMemberInfo phase
by not reusing the same function and invoking separate conditions to decide what the function does but instead using different functions. Also, show the GroupMemberList after inviting a member, otherwise we might end up looking at the member we were already looking at instead of the updated list of members.pull/6303/head
parent
aa54032500
commit
afb9fdf4ec
|
@ -167,19 +167,25 @@ module.exports = React.createClass({
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.state.phase === this.Phase.GroupMemberList) {
|
|
||||||
showGroupInviteDialog(this.props.groupId);
|
|
||||||
} else if (this.state.phase === this.Phase.GroupRoomList) {
|
|
||||||
showGroupAddRoomDialog(this.props.groupId).then(() => {
|
|
||||||
this.forceUpdate();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
// call AddressPickerDialog
|
// call AddressPickerDialog
|
||||||
dis.dispatch({
|
dis.dispatch({
|
||||||
action: 'view_invite',
|
action: 'view_invite',
|
||||||
roomId: this.props.roomId,
|
roomId: this.props.roomId,
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
|
||||||
|
onInviteToGroupButtonClick: function() {
|
||||||
|
showGroupInviteDialog(this.props.groupId).then(() => {
|
||||||
|
this.setState({
|
||||||
|
phase: this.Phase.GroupMemberList,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
onAddRoomToGroupButtonClick: function() {
|
||||||
|
showGroupAddRoomDialog(this.props.groupId).then(() => {
|
||||||
|
this.forceUpdate();
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
onRoomStateMember: function(ev, state, member) {
|
onRoomStateMember: function(ev, state, member) {
|
||||||
|
@ -233,6 +239,10 @@ module.exports = React.createClass({
|
||||||
this.setState({
|
this.setState({
|
||||||
phase: this.Phase.GroupRoomList,
|
phase: this.Phase.GroupRoomList,
|
||||||
});
|
});
|
||||||
|
} else if (payload.action === "view_group_member_list") {
|
||||||
|
this.setState({
|
||||||
|
phase: this.Phase.GroupMemberList,
|
||||||
|
});
|
||||||
} else if (payload.action === "view_group_user") {
|
} else if (payload.action === "view_group_user") {
|
||||||
this.setState({
|
this.setState({
|
||||||
phase: this.Phase.GroupMemberInfo,
|
phase: this.Phase.GroupMemberInfo,
|
||||||
|
@ -376,14 +386,14 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
if (this.props.groupId && this.state.isUserPrivilegedInGroup) {
|
if (this.props.groupId && this.state.isUserPrivilegedInGroup) {
|
||||||
inviteGroup = isPhaseGroup ? (
|
inviteGroup = isPhaseGroup ? (
|
||||||
<AccessibleButton className="mx_RightPanel_invite" onClick={this.onInviteButtonClick}>
|
<AccessibleButton className="mx_RightPanel_invite" onClick={this.onInviteToGroupButtonClick}>
|
||||||
<div className="mx_RightPanel_icon" >
|
<div className="mx_RightPanel_icon" >
|
||||||
<TintableSvg src="img/icon-invite-people.svg" width="35" height="35" />
|
<TintableSvg src="img/icon-invite-people.svg" width="35" height="35" />
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_RightPanel_message">{ _t('Invite to this community') }</div>
|
<div className="mx_RightPanel_message">{ _t('Invite to this community') }</div>
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
) : (
|
) : (
|
||||||
<AccessibleButton className="mx_RightPanel_invite" onClick={this.onInviteButtonClick}>
|
<AccessibleButton className="mx_RightPanel_invite" onClick={this.onAddRoomToGroupButtonClick}>
|
||||||
<div className="mx_RightPanel_icon" >
|
<div className="mx_RightPanel_icon" >
|
||||||
<TintableSvg src="img/icons-room-add.svg" width="35" height="35" />
|
<TintableSvg src="img/icons-room-add.svg" width="35" height="35" />
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue