(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define(["converse"], factory);
} else {
factory(converse);
}
}(this, function (converse) {
var _converse = null, html, __;
converse.plugins.add("vmsg", {
'dependencies': [],
'initialize': function () {
_converse = this._converse;
html = converse.env.html;
__ = _converse.__;
class VmsgDialog extends _converse.exports.BaseModal {
initialize() {
super.initialize();
this.listenTo(this.model, "change", () => this.requestUpdate());
this.addEventListener('shown.bs.modal', () =>
{
this.querySelector('.btn-upload-vmsg').addEventListener('click', (ev) => {
this.uploadVmsg(ev);
});
});
}
renderModal() {
var view = this.model.get("view");
var id = view.model.get("id").split("@")[0];
return html`
`;
}
uploadVmsg() {
var view = this.model.get("view");
var id = view.model.get("id").split("@")[0];
var mp3File = this.el.querySelector("#iframe-vmsg-" + id).contentWindow.getMp3File();
console.log("upload vmsg", mp3File, id);
if (!mp3File)
{
alert("Nothing to upload!!");
return;
}
view.model.sendFiles([mp3File]);
}
}
_converse.api.elements.define('converse-pade-vmsg-dialog', VmsgDialog);
_converse.api.listen.on('getToolbarButtons', function(toolbar_el, buttons)
{
let style = "width:18px; height:18px; fill:var(--chat-color);";
if (toolbar_el.model.get("type") === "chatroom") {
style = "width:18px; height:18px; fill:var(--muc-color);";
}
buttons.push(html`
`);
return buttons;
});
console.debug("vmsg plugin is ready");
}
});
function performVmsg(ev)
{
ev.stopPropagation();
ev.preventDefault();
const toolbar_el = converse.env.utils.ancestor(ev.target, 'converse-chat-toolbar');
const chatview = _converse.chatboxviews.get(toolbar_el.model.get('jid'));
const model = new converse.env.Model();
model.set({ view: chatview});
_converse.api.modal.show('converse-pade-vmsg-dialog', { model });
}
}));