xmpp.chapril.org-conversejs/src/headless/plugins/chatboxes/utils.js
2021-02-22 21:07:54 +01:00

25 lines
626 B
JavaScript

import { _converse, converse } from "../../core.js";
import log from "../../log";
const { Strophe } = converse.env;
export async function createChatBox (jid, attrs, Model) {
jid = Strophe.getBareJidFromJid(jid.toLowerCase());
Object.assign(attrs, {'jid': jid, 'id': jid});
let chatbox;
try {
chatbox = new Model(attrs, {'collection': _converse.chatboxes});
} catch (e) {
log.error(e);
return null;
}
await chatbox.initialized;
if (!chatbox.isValid()) {
chatbox.destroy();
return null;
}
_converse.chatboxes.add(chatbox);
return chatbox;
}