xmpp.chapril.org-conversejs/src/modals/occupant.js
2021-11-19 11:07:09 +01:00

42 lines
1.5 KiB
JavaScript

import BootstrapModal from "plugins/modal/base.js";
import tpl_occupant_modal from "./templates/occupant.js";
import { _converse, api } from "@converse/headless/core";
import './modals.scss';
const OccupantModal = BootstrapModal.extend({
id: "muc-occupant",
initialize () {
BootstrapModal.prototype.initialize.apply(this, arguments);
if (this.model) {
this.listenTo(this.model, 'change', this.render);
}
/**
* Triggered once the OccupantModal has been initialized
* @event _converse#occupantModalInitialized
* @type { Object }
* @example _converse.api.listen.on('occupantModalInitialized', data);
*/
api.trigger('occupantModalInitialized', { 'model': this.model, 'message': this.message });
},
toHTML () {
const model = this.model ?? this.message;
const jid = model?.get('jid');
const vcard = _converse.vcards.findWhere({ jid });
const display_name = model?.getDisplayName();
const nick = model.get('nick');
const occupant_id = model.get('occupant_id');
const role = this.model?.get('role');
const affiliation = this.model?.get('affiliation');
const hats = this.model?.get('hats')?.length ? this.model.get('hats') : null;
return tpl_occupant_modal({ jid, vcard, display_name, nick, occupant_id, role, affiliation, hats });
}
});
_converse.OccupantModal = OccupantModal;
export default OccupantModal;