xmpp.chapril.org-conversejs/src/plugins/roomslist/model.js
JC Brand 8e1c3e47df Improve how the muc_domain setting is populated via disco
Remove brittle code that uses `querySelector` to get the rooms list model.
This code was causing a TypeError due to a race condition.
2022-04-09 10:57:55 +02:00

29 lines
746 B
JavaScript

import { Model } from '@converse/skeletor/src/model.js';
import { _converse, api, converse } from "@converse/headless/core";
const { Strophe } = converse.env;
const RoomsListModel = Model.extend({
defaults: function () {
return {
'muc_domain': api.settings.get('muc_domain'),
'nick': _converse.getDefaultMUCNickname(),
'toggle-state': _converse.OPENED,
};
},
initialize () {
api.settings.listen.on('change:muc_domain', (muc_domain) => this.setDomain(muc_domain));
},
setDomain (jid) {
if (!api.settings.get('locked_muc_domain')) {
this.save('muc_domain', Strophe.getDomainFromJid(jid));
}
}
});
export default RoomsListModel;