mirror of
https://github.com/element-hq/element-web
synced 2024-11-26 19:26:04 +03:00
Fetch group data when leaving or joining to update the view
This commit is contained in:
parent
d02dced246
commit
6f10b5a410
2 changed files with 28 additions and 3 deletions
|
@ -679,7 +679,7 @@ export default React.createClass({
|
|||
|
||||
_onRejectInviteClick: function() {
|
||||
this.setState({membershipBusy: true});
|
||||
this._matrixClient.leaveGroup(this.props.groupId).then(() => {
|
||||
this._groupStore.leaveGroup().then(() => {
|
||||
// don't reset membershipBusy here: wait for the membership change to come down the sync
|
||||
}).catch((e) => {
|
||||
this.setState({membershipBusy: false});
|
||||
|
@ -693,7 +693,8 @@ export default React.createClass({
|
|||
|
||||
_onJoinClick: function() {
|
||||
this.setState({membershipBusy: true});
|
||||
this._matrixClient.joinGroup(this.props.groupId).then(() => {
|
||||
|
||||
this._groupStore.joinGroup().then(() => {
|
||||
// don't reset membershipBusy here: wait for the membership change to come down the sync
|
||||
}).catch((e) => {
|
||||
this.setState({membershipBusy: false});
|
||||
|
@ -716,7 +717,7 @@ export default React.createClass({
|
|||
if (!confirmed) return;
|
||||
|
||||
this.setState({membershipBusy: true});
|
||||
this._matrixClient.leaveGroup(this.props.groupId).then(() => {
|
||||
this._groupStore.leaveGroup().then(() => {
|
||||
// don't reset membershipBusy here: wait for the membership change to come down the sync
|
||||
}).catch((e) => {
|
||||
this.setState({membershipBusy: false});
|
||||
|
|
|
@ -252,6 +252,8 @@ export default class GroupStore extends EventEmitter {
|
|||
|
||||
acceptGroupInvite() {
|
||||
return MatrixClientPeg.get().acceptGroupInvite(this.groupId)
|
||||
// The user should now be able to access (personal) group settings
|
||||
.then(this._fetchResource.bind(this, GroupStore.STATE_KEY.Summary))
|
||||
// The user might be able to see more rooms now
|
||||
.then(this._fetchResource.bind(this, GroupStore.STATE_KEY.GroupRooms))
|
||||
// The user should now appear as a member
|
||||
|
@ -260,6 +262,28 @@ export default class GroupStore extends EventEmitter {
|
|||
.then(this._fetchResource.bind(this, GroupStore.STATE_KEY.GroupInvitedMembers));
|
||||
}
|
||||
|
||||
joinGroup() {
|
||||
return MatrixClientPeg.get().joinGroup(this.groupId)
|
||||
// The user should now be able to access (personal) group settings
|
||||
.then(this._fetchResource.bind(this, GroupStore.STATE_KEY.Summary))
|
||||
// The user might be able to see more rooms now
|
||||
.then(this._fetchResource.bind(this, GroupStore.STATE_KEY.GroupRooms))
|
||||
// The user should now appear as a member
|
||||
.then(this._fetchResource.bind(this, GroupStore.STATE_KEY.GroupMembers))
|
||||
// The user should now not appear as an invited member
|
||||
.then(this._fetchResource.bind(this, GroupStore.STATE_KEY.GroupInvitedMembers));
|
||||
}
|
||||
|
||||
leaveGroup() {
|
||||
return MatrixClientPeg.get().leaveGroup(this.groupId)
|
||||
// The user should now not be able to access group settings
|
||||
.then(this._fetchResource.bind(this, GroupStore.STATE_KEY.Summary))
|
||||
// The user might only be able to see a subset of rooms now
|
||||
.then(this._fetchResource.bind(this, GroupStore.STATE_KEY.GroupRooms))
|
||||
// The user should now not appear as a member
|
||||
.then(this._fetchResource.bind(this, GroupStore.STATE_KEY.GroupMembers));
|
||||
}
|
||||
|
||||
addRoomToGroupSummary(roomId, categoryId) {
|
||||
return MatrixClientPeg.get()
|
||||
.addRoomToGroupSummary(this.groupId, roomId, categoryId)
|
||||
|
|
Loading…
Reference in a new issue