(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 }); } }));