2021-09-17 12:17:43 +02:00
|
|
|
import BootstrapModal from "plugins/modal/base.js";
|
2020-12-01 16:31:57 +01:00
|
|
|
import tpl_occupant_modal from "./templates/occupant.js";
|
2020-12-03 13:40:30 +01:00
|
|
|
import { _converse, api } from "@converse/headless/core";
|
2020-12-01 16:31:57 +01:00
|
|
|
|
2021-11-19 10:49:22 +01:00
|
|
|
import './modals.scss';
|
|
|
|
|
2020-12-01 16:31:57 +01:00
|
|
|
|
|
|
|
const OccupantModal = BootstrapModal.extend({
|
2021-11-19 10:49:22 +01:00
|
|
|
id: "muc-occupant",
|
2020-12-01 16:31:57 +01:00
|
|
|
|
|
|
|
initialize () {
|
|
|
|
BootstrapModal.prototype.initialize.apply(this, arguments);
|
2021-11-19 10:49:22 +01:00
|
|
|
if (this.model) {
|
|
|
|
this.listenTo(this.model, 'change', this.render);
|
|
|
|
}
|
2020-12-01 16:31:57 +01:00
|
|
|
/**
|
2020-12-01 18:50:35 +01:00
|
|
|
* Triggered once the OccupantModal has been initialized
|
2021-11-19 10:49:22 +01:00
|
|
|
* @event _converse#occupantModalInitialized
|
|
|
|
* @type { Object }
|
|
|
|
* @example _converse.api.listen.on('occupantModalInitialized', data);
|
2020-12-01 18:50:35 +01:00
|
|
|
*/
|
2021-11-19 10:49:22 +01:00
|
|
|
api.trigger('occupantModalInitialized', { 'model': this.model, 'message': this.message });
|
2020-12-01 16:31:57 +01:00
|
|
|
},
|
|
|
|
|
|
|
|
toHTML () {
|
2021-11-19 10:49:22 +01:00
|
|
|
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 });
|
2020-12-01 16:31:57 +01:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
_converse.OccupantModal = OccupantModal;
|
|
|
|
|
|
|
|
export default OccupantModal;
|