Use async/await for enterRoom

This commit is contained in:
JC Brand 2019-02-22 23:12:55 +01:00
parent 9b0e23dcc6
commit 0ee08ee622
2 changed files with 18 additions and 25 deletions

24
dist/converse.js vendored
View File

@ -53709,30 +53709,26 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_3__["default"].plugins
this.enterRoom();
},
enterRoom(ev) {
async enterRoom(ev) {
if (ev) {
ev.preventDefault();
}
if (this.model.get('connection_status') !== _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_3__["default"].ROOMSTATUS.ENTERED) {
const handler = () => {
if (!u.isPersistableModel(this.model)) {
// Happens during tests, nothing to do if this
// is a hanging chatbox (i.e. not in the collection anymore).
return;
}
await this.model.getRoomFeatures();
this.populateAndJoin();
if (!u.isPersistableModel(this.model)) {
// XXX: Happens during tests, nothing to do if this
// is a hanging chatbox (i.e. not in the collection anymore).
return;
}
_converse.emit('chatRoomOpened', this);
};
this.model.getRoomFeatures().then(handler, handler);
this.populateAndJoin();
} else {
this.fetchMessages();
_converse.emit('chatRoomOpened', this);
}
_converse.emit('chatRoomOpened', this);
},
render() {

View File

@ -512,23 +512,20 @@ converse.plugins.add('converse-muc-views', {
this.enterRoom();
},
enterRoom (ev) {
async enterRoom (ev) {
if (ev) { ev.preventDefault(); }
if (this.model.get('connection_status') !== converse.ROOMSTATUS.ENTERED) {
const handler = () => {
if (!u.isPersistableModel(this.model)) {
// Happens during tests, nothing to do if this
// is a hanging chatbox (i.e. not in the collection anymore).
return;
}
this.populateAndJoin();
_converse.emit('chatRoomOpened', this);
await this.model.getRoomFeatures();
if (!u.isPersistableModel(this.model)) {
// XXX: Happens during tests, nothing to do if this
// is a hanging chatbox (i.e. not in the collection anymore).
return;
}
this.model.getRoomFeatures().then(handler, handler);
this.populateAndJoin();
} else {
this.fetchMessages();
_converse.emit('chatRoomOpened', this);
}
_converse.emit('chatRoomOpened', this);
},
render () {