diff --git a/src/classes/groups.js b/src/classes/groups.js index 30a7975d..e17e4c9f 100644 --- a/src/classes/groups.js +++ b/src/classes/groups.js @@ -920,6 +920,30 @@ export default class extends baseClass { } }, + leaveGroup(groupId) { + groupRequest + .leaveGroup({ + groupId + }) + .then((args) => { + const groupId = args.params.groupId; + if ( + this.groupDialog.visible && + this.groupDialog.id === groupId + ) { + this.groupDialog.inGroup = false; + this.getGroupDialogGroup(groupId); + } + if ( + this.userDialog.visible && + this.userDialog.id === this.currentUser.id && + this.userDialog.representedGroup.id === groupId + ) { + this.getCurrentUserRepresentedGroup(); + } + }); + }, + leaveGroupPrompt(groupId) { this.$confirm( 'Are you sure you want to leave this group?', @@ -930,31 +954,7 @@ export default class extends baseClass { type: 'info', callback: (action) => { if (action === 'confirm') { - groupRequest - .leaveGroup({ - groupId - }) - .then((args) => { - // API.$on('GROUP:LEAVE', function (args) { - const groupId = args.params.groupId; - if ( - this.groupDialog.visible && - this.groupDialog.id === groupId - ) { - this.groupDialog.inGroup = false; - this.getGroupDialogGroup(groupId); - } - if ( - this.userDialog.visible && - this.userDialog.id === - this.currentUser.id && - this.userDialog.representedGroup.id === - groupId - ) { - this.getCurrentUserRepresentedGroup(); - } - // }); - }); + this.leaveGroup(groupId); } } } diff --git a/src/components/dialogs/UserDialog/UserDialog.vue b/src/components/dialogs/UserDialog/UserDialog.vue index 0acc4023..d4696901 100644 --- a/src/components/dialogs/UserDialog/UserDialog.vue +++ b/src/components/dialogs/UserDialog/UserDialog.vue @@ -1325,7 +1325,7 @@ icon="el-icon-close" circle style="color: #f56c6c; margin-left: 5px" - @click.stop="leaveGroupPrompt(group.id)"> + @click.stop="leaveGroup(group.id)">