diff --git a/css/converse.css b/css/converse.css index 750b17887..230447e87 100644 --- a/css/converse.css +++ b/css/converse.css @@ -6938,6 +6938,8 @@ body.reset { min-height: 0; } #conversejs strong { font-weight: 700; } + #conversejs em { + font-style: italic; } #conversejs ol, #conversejs ul { list-style: none; } #conversejs li { @@ -8443,6 +8445,26 @@ body.reset { #conversejs .add-chatroom input[type="submit"], #conversejs .add-chatroom input[type="button"] { margin: 0.3em 0; } +#conversejs.converse-embedded #room-details-modal .features-list, +#conversejs #room-details-modal .features-list { + margin-left: 1em; } +#conversejs.converse-embedded .chatroom-features, +#conversejs .chatroom-features { + width: 100%; } + #conversejs.converse-embedded .chatroom-features .features-list, + #conversejs .chatroom-features .features-list { + padding-top: 0; } + #conversejs.converse-embedded .chatroom-features .features-list .feature, + #conversejs .chatroom-features .features-list .feature { + width: 100%; + margin-right: 0.5em; + padding-right: 0; + font-size: 1em; + cursor: help; } + #conversejs.converse-embedded .chatroom-features .features-list .feature .fa, + #conversejs .chatroom-features .features-list .feature .fa { + margin-right: 0.5em; + color: #666; } #conversejs.converse-embedded .chat-head-chatroom, #conversejs .chat-head-chatroom { background-color: #E77051; } @@ -8567,16 +8589,6 @@ body.reset { #conversejs .chatroom .box-flyout .chatroom-body .occupants .occupants-header .occupants-heading { font-family: "Century Gothic", futura, "URW Gothic L", Verdana, sans-serif; padding: 0.3em 0; } - #conversejs.converse-embedded .chatroom .box-flyout .chatroom-body .occupants .chatroom-features, - #conversejs .chatroom .box-flyout .chatroom-body .occupants .chatroom-features { - width: 100%; } - #conversejs.converse-embedded .chatroom .box-flyout .chatroom-body .occupants .chatroom-features .feature, - #conversejs .chatroom .box-flyout .chatroom-body .occupants .chatroom-features .feature { - float: left; - margin-right: 0.5em; - padding-right: 0; - font-size: 1em; - cursor: help; } #conversejs.converse-embedded .chatroom .box-flyout .chatroom-body .occupants .awesomplete ul, #conversejs .chatroom .box-flyout .chatroom-body .occupants .awesomplete ul { padding: 0; } @@ -8596,15 +8608,6 @@ body.reset { flex-basis: 0; flex-grow: 1; border-bottom: 1px solid lightgrey; } - #conversejs.converse-embedded .chatroom .box-flyout .chatroom-body .occupants ul.features-list, - #conversejs .chatroom .box-flyout .chatroom-body .occupants ul.features-list { - padding-top: 0; } - #conversejs.converse-embedded .chatroom .box-flyout .chatroom-body .occupants ul.features-list .feature, - #conversejs .chatroom .box-flyout .chatroom-body .occupants ul.features-list .feature { - width: 100%; } - #conversejs.converse-embedded .chatroom .box-flyout .chatroom-body .occupants ul.features-list .feature .fa, - #conversejs .chatroom .box-flyout .chatroom-body .occupants ul.features-list .feature .fa { - color: #666; } #conversejs.converse-embedded .chatroom .box-flyout .chatroom-body .occupants ul li, #conversejs .chatroom .box-flyout .chatroom-body .occupants ul li { cursor: default; diff --git a/dev.html b/dev.html index 85021f82a..3818e48f4 100644 --- a/dev.html +++ b/dev.html @@ -32,8 +32,8 @@ notify_all_room_messages: [ 'discuss@conference.conversejs.org' ], - // bosh_service_url: 'http://chat.example.org:5280/http-bind/', - bosh_service_url: 'https://conversejs.org/http-bind/', // Please use this connection manager only for testing purposes + bosh_service_url: 'http://chat.example.org:5280/http-bind/', + // bosh_service_url: 'https://conversejs.org/http-bind/', // Please use this connection manager only for testing purposes message_archiving: 'always', debug: true }); diff --git a/dist/converse-no-dependencies.js b/dist/converse-no-dependencies.js index 301754766..dfb2b025a 100644 --- a/dist/converse-no-dependencies.js +++ b/dist/converse-no-dependencies.js @@ -34198,15 +34198,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); })(void 0, function (converse, muc, tpl_chatroom_bookmark_form, tpl_chatroom_bookmark_toggle, tpl_bookmark, tpl_bookmarks_list) { - const _converse$env = converse.env, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - Strophe = _converse$env.Strophe, - $iq = _converse$env.$iq, - b64_sha1 = _converse$env.b64_sha1, - sizzle = _converse$env.sizzle, - _ = _converse$env._; - const u = converse.env.utils; + var _converse$env = converse.env, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + Strophe = _converse$env.Strophe, + $iq = _converse$env.$iq, + b64_sha1 = _converse$env.b64_sha1, + sizzle = _converse$env.sizzle, + _ = _converse$env._; + var u = converse.env.utils; converse.plugins.add('converse-bookmarks', { /* Plugin dependencies are other plugins which might be * overridden or relied upon, and therefore need to be loaded before @@ -34229,51 +34229,49 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ events: { 'click .toggle-bookmark': 'toggleBookmark' }, - - initialize() { + initialize: function initialize() { this.__super__.initialize.apply(this, arguments); this.model.on('change:bookmarked', this.onBookmarked, this); this.setBookmarkState(); }, - - renderBookmarkToggle() { - const _converse = this.__super__._converse, - __ = _converse.__; - const bookmark_button = tpl_chatroom_bookmark_toggle(_.assignIn(this.model.toJSON(), { + renderBookmarkToggle: function renderBookmarkToggle() { + var _converse = this.__super__._converse, + __ = _converse.__; + var bookmark_button = tpl_chatroom_bookmark_toggle(_.assignIn(this.model.toJSON(), { info_toggle_bookmark: __('Bookmark this room'), bookmarked: this.model.get('bookmarked') })); - const close_button = this.el.querySelector('.close-chatbox-button'); + var close_button = this.el.querySelector('.close-chatbox-button'); close_button.insertAdjacentHTML('afterend', bookmark_button); }, + renderHeading: function renderHeading() { + var _this = this; - renderHeading() { this.__super__.renderHeading.apply(this, arguments); - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; if (_converse.allow_bookmarks) { - _converse.checkBookmarksSupport().then(supported => { + _converse.checkBookmarksSupport().then(function (supported) { if (supported) { - this.renderBookmarkToggle(); + _this.renderBookmarkToggle(); } }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); } }, - - checkForReservedNick() { + checkForReservedNick: function checkForReservedNick() { /* Check if the user has a bookmark with a saved nickanme * for this room, and if so use it. * Otherwise delegate to the super method. */ - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; if (_.isUndefined(_converse.bookmarks) || !_converse.allow_bookmarks) { return this.__super__.checkForReservedNick.apply(this, arguments); } - const model = _converse.bookmarks.findWhere({ + var model = _converse.bookmarks.findWhere({ 'jid': this.model.get('jid') }); @@ -34283,9 +34281,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.checkForReservedNick.apply(this, arguments); } }, - - onBookmarked() { - const icon = this.el.querySelector('.toggle-bookmark'); + onBookmarked: function onBookmarked() { + var icon = this.el.querySelector('.toggle-bookmark'); if (_.isNull(icon)) { return; @@ -34297,14 +34294,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ icon.classList.remove('button-on'); } }, - - setBookmarkState() { + setBookmarkState: function setBookmarkState() { /* Set whether the room is bookmarked or not. */ - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; if (!_.isUndefined(_converse.bookmarks)) { - const models = _converse.bookmarks.where({ + var models = _converse.bookmarks.where({ 'jid': this.model.get('jid') }); @@ -34315,11 +34311,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } }, - - renderBookmarkForm() { - const _converse = this.__super__._converse, - __ = _converse.__, - body = this.el.querySelector('.chatroom-body'); + renderBookmarkForm: function renderBookmarkForm() { + var _converse = this.__super__._converse, + __ = _converse.__, + body = this.el.querySelector('.chatroom-body'); _.each(body.children, function (child) { child.classList.add('hidden'); @@ -34337,14 +34332,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ label_submit: __('Save'), label_cancel: __('Cancel') })); - const form = body.querySelector('form.chatroom-form'); + var form = body.querySelector('form.chatroom-form'); form.addEventListener('submit', this.onBookmarkFormSubmitted.bind(this)); form.querySelector('.button-cancel').addEventListener('click', this.closeForm.bind(this)); }, - - onBookmarkFormSubmitted(ev) { + onBookmarkFormSubmitted: function onBookmarkFormSubmitted(ev) { ev.preventDefault(); - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; _converse.bookmarks.createBookmark({ 'jid': this.model.get('jid'), @@ -34356,16 +34350,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ u.removeElement(this.el.querySelector('div.chatroom-form-container')); this.renderAfterTransition(); }, - - toggleBookmark(ev) { + toggleBookmark: function toggleBookmark(ev) { if (ev) { ev.preventDefault(); ev.stopPropagation(); } - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; - const models = _converse.bookmarks.where({ + var models = _converse.bookmarks.where({ 'jid': this.model.get('jid') }); @@ -34379,16 +34372,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.el.querySelector('.toggle-bookmark').classList.remove('button-on'); } } - } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; // Configuration values for this plugin + var _converse = this._converse, + __ = _converse.__; // Configuration values for this plugin // ==================================== // Refer to docs/source/configuration.rst for explanations of these // configuration settings. @@ -34404,13 +34395,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _.extend(_converse, { - removeBookmarkViaEvent(ev) { + removeBookmarkViaEvent: function removeBookmarkViaEvent(ev) { /* Remove a bookmark as determined by the passed in * event. */ ev.preventDefault(); - const name = ev.target.getAttribute('data-bookmark-name'); - const jid = ev.target.getAttribute('data-room-jid'); + var name = ev.target.getAttribute('data-bookmark-name'); + var jid = ev.target.getAttribute('data-room-jid'); if (confirm(__("Are you sure you want to remove the bookmark \"%1$s\"?", name))) { _.invokeMap(_converse.bookmarks.where({ @@ -34418,40 +34409,36 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }), Backbone.Model.prototype.destroy); } }, - - addBookmarkViaEvent(ev) { + addBookmarkViaEvent: function addBookmarkViaEvent(ev) { /* Add a bookmark as determined by the passed in * event. */ ev.preventDefault(); - const jid = ev.target.getAttribute('data-room-jid'); + var jid = ev.target.getAttribute('data-room-jid'); - const chatroom = _converse.api.rooms.open(jid, { + var chatroom = _converse.api.rooms.open(jid, { 'bring_to_foreground': true }); _converse.chatboxviews.get(jid).renderBookmarkForm(); } - }); _converse.Bookmark = Backbone.Model; _converse.Bookmarks = Backbone.Collection.extend({ model: _converse.Bookmark, comparator: 'name', - - initialize() { + initialize: function initialize() { this.on('add', _.flow(this.openBookmarkedRoom, this.markRoomAsBookmarked)); this.on('remove', this.markRoomAsUnbookmarked, this); this.on('remove', this.sendBookmarkStanza, this); - const cache_key = `converse.room-bookmarks${_converse.bare_jid}`; + var cache_key = "converse.room-bookmarks".concat(_converse.bare_jid); this.fetched_flag = b64_sha1(cache_key + 'fetched'); this.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1(cache_key)); }, - - openBookmarkedRoom(bookmark) { + openBookmarkedRoom: function openBookmarkedRoom(bookmark) { if (bookmark.get('autojoin')) { - const room = _converse.api.rooms.create(bookmark.get('jid'), bookmark.get('nick')); + var room = _converse.api.rooms.create(bookmark.get('jid'), bookmark.get('nick')); if (!room.get('hidden')) { room.trigger('show'); @@ -34460,9 +34447,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return bookmark; }, - - fetchBookmarks() { - const deferred = u.getResolveablePromise(); + fetchBookmarks: function fetchBookmarks() { + var deferred = u.getResolveablePromise(); if (this.browserStorage.records.length > 0) { this.fetch({ @@ -34481,19 +34467,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return deferred; }, - - onCachedBookmarksFetched(deferred) { + onCachedBookmarksFetched: function onCachedBookmarksFetched(deferred) { return deferred.resolve(); }, - - createBookmark(options) { + createBookmark: function createBookmark(options) { _converse.bookmarks.create(options); _converse.bookmarks.sendBookmarkStanza(); }, - - sendBookmarkStanza() { - let stanza = $iq({ + sendBookmarkStanza: function sendBookmarkStanza() { + var stanza = $iq({ 'type': 'set', 'from': _converse.connection.jid }).c('pubsub', { @@ -34527,8 +34510,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.sendIQ(stanza, null, this.onBookmarkError.bind(this)); }, - - onBookmarkError(iq) { + onBookmarkError: function onBookmarkError(iq) { _converse.log("Error while trying to add bookmark", Strophe.LogLevel.ERROR); _converse.log(iq); // We remove all locally cached bookmarks and fetch them @@ -34539,9 +34521,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.fetchBookmarksFromServer(null); window.alert(__("Sorry, something went wrong while trying to save your bookmark.")); }, - - fetchBookmarksFromServer(deferred) { - const stanza = $iq({ + fetchBookmarksFromServer: function fetchBookmarksFromServer(deferred) { + var stanza = $iq({ 'from': _converse.connection.jid, 'type': 'get' }).c('pubsub', { @@ -34552,28 +34533,27 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.sendIQ(stanza, _.bind(this.onBookmarksReceived, this, deferred), _.bind(this.onBookmarksReceivedError, this, deferred)); }, - - markRoomAsBookmarked(bookmark) { - const room = _converse.chatboxes.get(bookmark.get('jid')); + markRoomAsBookmarked: function markRoomAsBookmarked(bookmark) { + var room = _converse.chatboxes.get(bookmark.get('jid')); if (!_.isUndefined(room)) { room.save('bookmarked', true); } }, - - markRoomAsUnbookmarked(bookmark) { - const room = _converse.chatboxes.get(bookmark.get('jid')); + markRoomAsUnbookmarked: function markRoomAsUnbookmarked(bookmark) { + var room = _converse.chatboxes.get(bookmark.get('jid')); if (!_.isUndefined(room)) { room.save('bookmarked', false); } }, + createBookmarksFromStanza: function createBookmarksFromStanza(stanza) { + var _this2 = this; - createBookmarksFromStanza(stanza) { - const bookmarks = sizzle('items[node="storage:bookmarks"] ' + 'item#current ' + 'storage[xmlns="storage:bookmarks"] ' + 'conference', stanza); + var bookmarks = sizzle('items[node="storage:bookmarks"] ' + 'item#current ' + 'storage[xmlns="storage:bookmarks"] ' + 'conference', stanza); - _.forEach(bookmarks, bookmark => { - this.create({ + _.forEach(bookmarks, function (bookmark) { + _this2.create({ 'jid': bookmark.getAttribute('jid'), 'name': bookmark.getAttribute('name'), 'autojoin': bookmark.getAttribute('autojoin') === 'true', @@ -34581,16 +34561,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); }); }, - - onBookmarksReceived(deferred, iq) { + onBookmarksReceived: function onBookmarksReceived(deferred, iq) { this.createBookmarksFromStanza(iq); if (!_.isUndefined(deferred)) { return deferred.resolve(); } }, - - onBookmarksReceivedError(deferred, iq) { + onBookmarksReceivedError: function onBookmarksReceivedError(deferred, iq) { window.sessionStorage.setItem(this.fetched_flag, true); _converse.log('Error while fetching bookmarks', Strophe.LogLevel.WARN); @@ -34607,7 +34585,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } } - }); _converse.BookmarksList = Backbone.Model.extend({ defaults: { @@ -34615,7 +34592,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }); _converse.BookmarkView = Backbone.VDOMView.extend({ - toHTML() { + toHTML: function toHTML() { return tpl_bookmark({ 'hidden': _converse.hide_open_bookmarks && _converse.chatboxes.where({ 'jid': this.model.get('jid') @@ -34630,7 +34607,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'open_title': __('Click to open this room') }); } - }); _converse.BookmarksView = Backbone.OrderedListView.extend({ tagName: 'div', @@ -34644,8 +34620,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ listSelector: '.rooms-list', ItemView: _converse.BookmarkView, subviewIndex: 'jid', - - initialize() { + initialize: function initialize() { Backbone.OrderedListView.prototype.initialize.apply(this, arguments); this.model.on('add', this.showOrHide, this); this.model.on('remove', this.showOrHide, this); @@ -34654,7 +34629,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.chatboxes.on('remove', this.renderBookmarkListElement, this); - const cachekey = `converse.room-bookmarks${_converse.bare_jid}-list-model`; + var cachekey = "converse.room-bookmarks".concat(_converse.bare_jid, "-list-model"); this.list_model = new _converse.BookmarksList(); this.list_model.id = cachekey; this.list_model.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1(cachekey)); @@ -34662,8 +34637,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.render(); this.sortAndPositionAllItems(); }, - - render() { + render: function render() { this.el.innerHTML = tpl_bookmarks_list({ 'toggle_state': this.list_model.get('toggle-state'), 'desc_bookmarks': __('Click to toggle the bookmarks list'), @@ -34674,35 +34648,31 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.insertIntoControlBox(); return this; }, - - insertIntoControlBox() { - const controlboxview = _converse.chatboxviews.get('controlbox'); + insertIntoControlBox: function insertIntoControlBox() { + var controlboxview = _converse.chatboxviews.get('controlbox'); if (!_.isUndefined(controlboxview) && !u.rootContains(_converse.root, this.el)) { - const el = controlboxview.el.querySelector('.bookmarks-list'); + var el = controlboxview.el.querySelector('.bookmarks-list'); if (!_.isNull(el)) { el.parentNode.replaceChild(this.el, el); } } }, - - openRoom(ev) { + openRoom: function openRoom(ev) { ev.preventDefault(); - const name = ev.target.textContent; - const jid = ev.target.getAttribute('data-room-jid'); - const data = { + var name = ev.target.textContent; + var jid = ev.target.getAttribute('data-room-jid'); + var data = { 'name': name || Strophe.unescapeNode(Strophe.getNodeFromJid(jid)) || jid }; _converse.api.rooms.open(jid, data); }, - removeBookmark: _converse.removeBookmarkViaEvent, addBookmark: _converse.addBookmarkViaEvent, - - renderBookmarkListElement(chatbox) { - const bookmarkview = this.get(chatbox.get('jid')); + renderBookmarkListElement: function renderBookmarkListElement(chatbox) { + var bookmarkview = this.get(chatbox.get('jid')); if (_.isNil(bookmarkview)) { // A chat box has been closed, but we don't have a @@ -34713,10 +34683,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ bookmarkview.render(); this.showOrHide(); }, - - showOrHide(item) { + showOrHide: function showOrHide(item) { if (_converse.hide_open_bookmarks) { - const bookmarks = this.model.filter(bookmark => !_converse.chatboxes.get(bookmark.get('jid'))); + var bookmarks = this.model.filter(function (bookmark) { + return !_converse.chatboxes.get(bookmark.get('jid')); + }); if (!bookmarks.length) { u.hideElement(this.el); @@ -34728,13 +34699,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ u.showElement(this.el); } }, - - toggleBookmarksList(ev) { + toggleBookmarksList: function toggleBookmarksList(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } - const icon_el = ev.target.querySelector('.fa'); + var icon_el = ev.target.querySelector('.fa'); if (u.hasClass('fa-caret-down', icon_el)) { u.slideIn(this.el.querySelector('.bookmarks')); @@ -34752,30 +34722,31 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } } - }); _converse.checkBookmarksSupport = function () { - return new Promise((resolve, reject) => { - Promise.all([_converse.api.disco.getIdentity('pubsub', 'pep', _converse.bare_jid), _converse.api.disco.supports(Strophe.NS.PUBSUB + '#publish-options', _converse.bare_jid)]).then(args => { + return new Promise(function (resolve, reject) { + Promise.all([_converse.api.disco.getIdentity('pubsub', 'pep', _converse.bare_jid), _converse.api.disco.supports(Strophe.NS.PUBSUB + '#publish-options', _converse.bare_jid)]).then(function (args) { resolve(args[0] && (args[1].length || _converse.allow_public_bookmarks)); }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }; - const initBookmarks = function initBookmarks() { + var initBookmarks = function initBookmarks() { if (!_converse.allow_bookmarks) { return; } - _converse.checkBookmarksSupport().then(supported => { + _converse.checkBookmarksSupport().then(function (supported) { if (supported) { _converse.bookmarks = new _converse.Bookmarks(); _converse.bookmarksview = new _converse.BookmarksView({ 'model': _converse.bookmarks }); - _converse.bookmarks.fetchBookmarks().catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)).then(() => _converse.emit('bookmarksInitialized')); + _converse.bookmarks.fetchBookmarks().catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)).then(function () { + return _converse.emit('bookmarksInitialized'); + }); } else { _converse.emit('bookmarksInitialized'); } @@ -34790,7 +34761,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'event': 'roomsPanelRendered' }], initBookmarks); - _converse.on('clearSession', () => { + _converse.on('clearSession', function () { if (!_.isUndefined(_converse.bookmarks)) { _converse.bookmarks.browserStorage._clear(); @@ -34800,17 +34771,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.on('reconnected', initBookmarks); - _converse.on('connected', () => { + _converse.on('connected', function () { // Add a handler for bookmarks pushed from other connected clients // (from the same user obviously) - _converse.connection.addHandler(message => { + _converse.connection.addHandler(function (message) { if (message.querySelector('event[xmlns="' + Strophe.NS.PUBSUB + '#event"]')) { _converse.bookmarks.createBookmarksFromStanza(message); } }, null, 'message', 'headline', null, _converse.bare_jid); }); } - }); }); @@ -34837,22 +34807,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); })(void 0, function (converse) { - const _converse$env = converse.env, - Strophe = _converse$env.Strophe, - $build = _converse$env.$build, - _ = _converse$env._, - b64_sha1 = _converse$env.b64_sha1; + var _converse$env = converse.env, + Strophe = _converse$env.Strophe, + $build = _converse$env.$build, + _ = _converse$env._, + b64_sha1 = _converse$env.b64_sha1; Strophe.addNamespace('CAPS', "http://jabber.org/protocol/caps"); function propertySort(array, property) { - return array.sort((a, b) => { + return array.sort(function (a, b) { return a[property] > b[property] ? -1 : 1; }); } function generateVerificationString(_converse) { - const identities = _converse.api.disco.own.identities.get(), - features = _converse.api.disco.own.features.get(); + var identities = _converse.api.disco.own.identities.get(), + features = _converse.api.disco.own.features.get(); if (identities.length > 1) { propertySort(identities, "category"); @@ -34860,10 +34830,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ propertySort(identities, "lang"); } - let S = _.reduce(identities, (result, id) => `${result}${id.category}/${id.type}/${_.get(id, 'lang', '')}/${id.name}<`, ""); + var S = _.reduce(identities, function (result, id) { + return "".concat(result).concat(id.category, "/").concat(id.type, "/").concat(_.get(id, 'lang', ''), "/").concat(id.name, "<"); + }, ""); features.sort(); - S = _.reduce(features, (result, feature) => `${result}${feature}<`, S); + S = _.reduce(features, function (result, feature) { + return "".concat(result).concat(feature, "<"); + }, S); return b64_sha1(S); } @@ -34882,13 +34856,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // plugin architecture they will replace existing methods on the // relevant objects or classes. XMPPStatus: { - constructPresence() { - const presence = this.__super__.constructPresence.apply(this, arguments); + constructPresence: function constructPresence() { + var presence = this.__super__.constructPresence.apply(this, arguments); presence.root().cnode(createCapsNode(this.__super__._converse)); return presence; } - } } }); @@ -34919,17 +34892,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, emojione, filesize, tpl_chatboxes) { "use strict"; - const _converse$env = converse.env, - $msg = _converse$env.$msg, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - Strophe = _converse$env.Strophe, - b64_sha1 = _converse$env.b64_sha1, - moment = _converse$env.moment, - sizzle = _converse$env.sizzle, - utils = _converse$env.utils, - _ = _converse$env._; - const u = converse.env.utils; + var _converse$env = converse.env, + $msg = _converse$env.$msg, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + Strophe = _converse$env.Strophe, + b64_sha1 = _converse$env.b64_sha1, + moment = _converse$env.moment, + sizzle = _converse$env.sizzle, + utils = _converse$env.utils, + _ = _converse$env._; + var u = converse.env.utils; converse.plugins.add('converse-chatboxes', { dependencies: ["converse-roster", "converse-vcard"], overrides: { @@ -34937,21 +34910,21 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // plugin architecture they will replace existing methods on the // relevant objects or classes. disconnect: function disconnect() { - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; _converse.chatboxviews.closeAllChatBoxes(); return this.__super__.disconnect.apply(this, arguments); }, logOut: function logOut() { - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; _converse.chatboxviews.closeAllChatBoxes(); return this.__super__.logOut.apply(this, arguments); }, initStatus: function initStatus(reconnecting) { - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; if (!reconnecting) { _converse.chatboxviews.closeAllChatBoxes(); @@ -34960,13 +34933,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.initStatus.apply(this, arguments); } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; // Configuration values for this plugin + var _converse = this._converse, + __ = _converse.__; // Configuration values for this plugin // ==================================== // Refer to docs/source/configuration.rst for explanations of these // configuration settings. @@ -34981,10 +34953,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ function openChat(jid) { if (!utils.isValidJID(jid)) { - return _converse.log(`Invalid JID "${jid}" provided in URL fragment`, Strophe.LogLevel.WARN); + return _converse.log("Invalid JID \"".concat(jid, "\" provided in URL fragment"), Strophe.LogLevel.WARN); } - Promise.all([_converse.api.waitUntil('rosterContactsFetched'), _converse.api.waitUntil('chatBoxesFetched')]).then(() => { + Promise.all([_converse.api.waitUntil('rosterContactsFetched'), _converse.api.waitUntil('chatBoxesFetched')]).then(function () { _converse.api.chats.open(jid); }); } @@ -34992,14 +34964,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.router.route('converse/chat?jid=:jid', openChat); _converse.Message = Backbone.Model.extend({ - defaults() { + defaults: function defaults() { return { 'msgid': _converse.connection.getUniqueId(), 'time': moment().format() }; }, - - initialize() { + initialize: function initialize() { this.setVCard(); if (this.get('file')) { @@ -35014,15 +34985,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ window.setTimeout(this.destroy.bind(this), 20000); } }, - - getVCardForChatroomOccupant() { - const chatbox = this.collection.chatbox, - nick = Strophe.getResourceFromJid(this.get('from')); + getVCardForChatroomOccupant: function getVCardForChatroomOccupant() { + var chatbox = this.collection.chatbox, + nick = Strophe.getResourceFromJid(this.get('from')); if (chatbox.get('nick') === nick) { return _converse.xmppstatus.vcard; } else { - let vcard; + var vcard; if (this.get('vcard_jid')) { vcard = _converse.vcards.findWhere({ @@ -35031,8 +35001,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } if (!vcard) { - let jid; - const occupant = chatbox.occupants.findWhere({ + var jid; + var occupant = chatbox.occupants.findWhere({ 'nick': nick }); @@ -35057,12 +35027,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return vcard; } }, - - setVCard() { + setVCard: function setVCard() { if (this.get('type') === 'groupchat') { this.vcard = this.getVCardForChatroomOccupant(); } else { - const jid = this.get('from'); + var jid = this.get('from'); this.vcard = _converse.vcards.findWhere({ 'jid': jid }) || _converse.vcards.create({ @@ -35070,29 +35039,28 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } }, - - isOnlyChatStateNotification() { + isOnlyChatStateNotification: function isOnlyChatStateNotification() { return u.isOnlyChatStateNotification(this); }, - - getDisplayName() { + getDisplayName: function getDisplayName() { if (this.get('type') === 'groupchat') { return this.get('nick'); } else { return this.vcard.get('fullname') || this.get('from'); } }, + sendSlotRequestStanza: function sendSlotRequestStanza() { + var _this = this; - sendSlotRequestStanza() { /* Send out an IQ stanza to request a file upload slot. * * https://xmpp.org/extensions/xep-0363.html#request */ - const file = this.get('file'); - return new Promise((resolve, reject) => { - const iq = converse.env.$iq({ + var file = this.get('file'); + return new Promise(function (resolve, reject) { + var iq = converse.env.$iq({ 'from': _converse.jid, - 'to': this.get('slot_request_url'), + 'to': _this.get('slot_request_url'), 'type': 'get' }).c('request', { 'xmlns': Strophe.NS.HTTPUPLOAD, @@ -35104,44 +35072,46 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.sendIQ(iq, resolve, reject); }); }, + getRequestSlotURL: function getRequestSlotURL() { + var _this2 = this; - getRequestSlotURL() { - this.sendSlotRequestStanza().then(stanza => { - const slot = stanza.querySelector('slot'); + this.sendSlotRequestStanza().then(function (stanza) { + var slot = stanza.querySelector('slot'); if (slot) { - this.save({ + _this2.save({ 'get': slot.querySelector('get').getAttribute('url'), 'put': slot.querySelector('put').getAttribute('url') }); } else { - return this.save({ + return _this2.save({ 'type': 'error', 'message': __("Sorry, could not determine file upload URL.") }); } - }).catch(e => { + }).catch(function (e) { _converse.log(e, Strophe.LogLevel.ERROR); - return this.save({ + return _this2.save({ 'type': 'error', 'message': __("Sorry, could not determine upload URL.") }); }); }, + uploadFile: function uploadFile() { + var _this3 = this; - uploadFile() { - const xhr = new XMLHttpRequest(); + var xhr = new XMLHttpRequest(); - xhr.onreadystatechange = () => { + xhr.onreadystatechange = function () { if (xhr.readyState === XMLHttpRequest.DONE) { _converse.log("Status: " + xhr.status, Strophe.LogLevel.INFO); if (xhr.status === 200 || xhr.status === 201) { - this.save({ + _this3.save({ 'upload': _converse.SUCCESS, - 'oob_url': this.get('get'), - 'message': this.get('get') + 'oob_url': _this3.get('get'), + 'message': _this3.get('get') }); } else { xhr.onerror(); @@ -35149,20 +35119,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }; - xhr.upload.addEventListener("progress", evt => { + xhr.upload.addEventListener("progress", function (evt) { if (evt.lengthComputable) { - this.set('progress', evt.loaded / evt.total); + _this3.set('progress', evt.loaded / evt.total); } }, false); - xhr.onerror = () => { - let message = __('Sorry, could not succesfully upload your file.'); + xhr.onerror = function () { + var message = __('Sorry, could not succesfully upload your file.'); if (xhr.responseText) { message += ' ' + __('Your server\'s response: "%1$s"', xhr.responseText); } - this.save({ + _this3.save({ 'type': 'error', 'upload': _converse.FAILURE, 'message': message @@ -35173,7 +35143,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ xhr.setRequestHeader("Content-type", 'application/octet-stream'); xhr.send(this.get('file')); } - }); _converse.Messages = Backbone.Collection.extend({ model: _converse.Message, @@ -35188,22 +35157,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'message_type': 'chat', 'url': '' }, + initialize: function initialize() { + var _this4 = this; - initialize() { _converse.ModelWithVCardAndPresence.prototype.initialize.apply(this, arguments); - _converse.api.waitUntil('rosterContactsFetched').then(() => { - this.addRelatedContact(_converse.roster.findWhere({ - 'jid': this.get('jid') + _converse.api.waitUntil('rosterContactsFetched').then(function () { + _this4.addRelatedContact(_converse.roster.findWhere({ + 'jid': _this4.get('jid') })); }); this.messages = new _converse.Messages(); - this.messages.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1(`converse.messages${this.get('jid')}${_converse.bare_jid}`)); + this.messages.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1("converse.messages".concat(this.get('jid')).concat(_converse.bare_jid))); this.messages.chatbox = this; - this.messages.on('change:upload', message => { + this.messages.on('change:upload', function (message) { if (message.get('upload') === _converse.SUCCESS) { - this.sendMessageStanza(message); + _this4.sendMessageStanza(message); } }); this.on('change:chat_state', this.sendChatState, this); @@ -35215,26 +35185,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'user_id': Strophe.getNodeFromJid(this.get('jid')) }); }, - - addRelatedContact(contact) { + addRelatedContact: function addRelatedContact(contact) { if (!_.isUndefined(contact)) { this.contact = contact; this.trigger('contactAdded', contact); } }, - - getDisplayName() { + getDisplayName: function getDisplayName() { return this.vcard.get('fullname') || this.get('jid'); }, - - createMessageStanza(message) { + createMessageStanza: function createMessageStanza(message) { /* Given a _converse.Message Backbone.Model, return the XML * stanza that represents it. * * Parameters: * (Object) message - The Backbone.Model representing the message */ - const stanza = $msg({ + var stanza = $msg({ 'from': _converse.connection.jid, 'to': this.get('jid'), 'type': this.get('message_type'), @@ -35263,9 +35230,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return stanza; }, - - sendMessageStanza(message) { - const messageStanza = this.createMessageStanza(message); + sendMessageStanza: function sendMessageStanza(message) { + var messageStanza = this.createMessageStanza(message); _converse.connection.send(messageStanza); @@ -35283,10 +35249,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }).up().cnode(messageStanza.tree())); } }, - - getOutgoingMessageAttributes(text, spoiler_hint) { - const fullname = _converse.xmppstatus.get('fullname'), - is_spoiler = this.get('composing_spoiler'); + getOutgoingMessageAttributes: function getOutgoingMessageAttributes(text, spoiler_hint) { + var fullname = _converse.xmppstatus.get('fullname'), + is_spoiler = this.get('composing_spoiler'); return { 'fullname': fullname, @@ -35298,8 +35263,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'spoiler_hint': is_spoiler ? spoiler_hint : undefined }; }, - - sendMessage(attrs) { + sendMessage: function sendMessage(attrs) { /* Responsible for sending off a text message. * * Parameters: @@ -35307,8 +35271,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ */ this.sendMessageStanza(this.messages.create(attrs)); }, - - sendChatState() { + sendChatState: function sendChatState() { /* Sends a message with the status of the user in this chat session * as taken from the 'chat_state' attribute of the chat box. * See XEP-0085 Chat State Notifications. @@ -35324,51 +35287,51 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'xmlns': Strophe.NS.HINTS })); }, + sendFiles: function sendFiles(files) { + var _this5 = this; - sendFiles(files) { - _converse.api.disco.supports(Strophe.NS.HTTPUPLOAD, _converse.domain).then(result => { - const item = result.pop(), - data = item.dataforms.where({ + _converse.api.disco.supports(Strophe.NS.HTTPUPLOAD, _converse.domain).then(function (result) { + var item = result.pop(), + data = item.dataforms.where({ 'FORM_TYPE': { 'value': Strophe.NS.HTTPUPLOAD, 'type': "hidden" } }).pop(), - max_file_size = window.parseInt(_.get(data, 'attributes.max-file-size.value')), - slot_request_url = _.get(item, 'id'); + max_file_size = window.parseInt(_.get(data, 'attributes.max-file-size.value')), + slot_request_url = _.get(item, 'id'); if (!slot_request_url) { - this.messages.create({ + _this5.messages.create({ 'message': __("Sorry, looks like file upload is not supported by your server."), 'type': 'error' }); + return; } - _.each(files, file => { + _.each(files, function (file) { if (!window.isNaN(max_file_size) && window.parseInt(file.size) > max_file_size) { - return this.messages.create({ + return _this5.messages.create({ 'message': __('The size of your file, %1$s, exceeds the maximum allowed by your server, which is %2$s.', file.name, filesize(max_file_size)), 'type': 'error' }); } else { - this.messages.create(_.extend(this.getOutgoingMessageAttributes(), { + _this5.messages.create(_.extend(_this5.getOutgoingMessageAttributes(), { 'file': file, 'progress': 0, 'slot_request_url': slot_request_url, - 'type': this.get('message_type') + 'type': _this5.get('message_type') })); } }); }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }, - - getMessageBody(message) { - const type = message.getAttribute('type'); + getMessageBody: function getMessageBody(message) { + var type = message.getAttribute('type'); return type === 'error' ? _.propertyOf(message.querySelector('error text'))('textContent') : _.propertyOf(message.querySelector('body'))('textContent'); }, - - getMessageAttributesFromStanza(message, delay, original_stanza) { + getMessageAttributesFromStanza: function getMessageAttributesFromStanza(message, delay, original_stanza) { /* Parses a passed in message stanza and returns an object * of attributes. * @@ -35382,12 +35345,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ */ delay = delay || message.querySelector('delay'); - const _converse = this.__super__._converse, - __ = _converse.__, - spoiler = message.querySelector(`spoiler[xmlns="${Strophe.NS.SPOILER}"]`), - chat_state = message.getElementsByTagName(_converse.COMPOSING).length && _converse.COMPOSING || message.getElementsByTagName(_converse.PAUSED).length && _converse.PAUSED || message.getElementsByTagName(_converse.INACTIVE).length && _converse.INACTIVE || message.getElementsByTagName(_converse.ACTIVE).length && _converse.ACTIVE || message.getElementsByTagName(_converse.GONE).length && _converse.GONE; + var _converse = this.__super__._converse, + __ = _converse.__, + spoiler = message.querySelector("spoiler[xmlns=\"".concat(Strophe.NS.SPOILER, "\"]")), + chat_state = message.getElementsByTagName(_converse.COMPOSING).length && _converse.COMPOSING || message.getElementsByTagName(_converse.PAUSED).length && _converse.PAUSED || message.getElementsByTagName(_converse.INACTIVE).length && _converse.INACTIVE || message.getElementsByTagName(_converse.ACTIVE).length && _converse.ACTIVE || message.getElementsByTagName(_converse.GONE).length && _converse.GONE; - const attrs = { + var attrs = { 'type': message.getAttribute('type'), 'chat_state': chat_state, 'delayed': !_.isNull(delay), @@ -35418,7 +35381,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } - _.each(sizzle(`x[xmlns="${Strophe.NS.OUTOFBAND}"]`, message), xform => { + _.each(sizzle("x[xmlns=\"".concat(Strophe.NS.OUTOFBAND, "\"]"), message), function (xform) { attrs['oob_url'] = xform.querySelector('url').textContent; attrs['oob_desc'] = xform.querySelector('url').textContent; }); @@ -35429,13 +35392,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return attrs; }, - - createMessage(message, delay, original_stanza) { + createMessage: function createMessage(message, delay, original_stanza) { /* Create a Backbone.Message object inside this chat box * based on the identified message stanza. */ - const attrs = this.getMessageAttributesFromStanza.apply(this, arguments); - const is_csn = u.isOnlyChatStateNotification(attrs); + var attrs = this.getMessageAttributesFromStanza.apply(this, arguments); + var is_csn = u.isOnlyChatStateNotification(attrs); if (is_csn && attrs.delayed) { // No need showing old CSNs @@ -35447,15 +35409,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.messages.create(attrs); } }, - - newMessageWillBeHidden() { + newMessageWillBeHidden: function newMessageWillBeHidden() { /* Returns a boolean to indicate whether a newly received * message will be visible to the user or not. */ return this.get('hidden') || this.get('minimized') || this.isScrolledUp() || _converse.windowState === 'hidden'; }, - - incrementUnreadMsgCounter(stanza) { + incrementUnreadMsgCounter: function incrementUnreadMsgCounter(stanza) { /* Given a newly received message, update the unread counter if * necessary. */ @@ -35471,67 +35431,60 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.incrementMsgCounter(); } }, - - clearUnreadMsgCounter() { + clearUnreadMsgCounter: function clearUnreadMsgCounter() { u.safeSave(this, { 'num_unread': 0 }); }, - - isScrolledUp() { + isScrolledUp: function isScrolledUp() { return this.get('scrolled', true); } - }); _converse.ChatBoxes = Backbone.Collection.extend({ comparator: 'time_opened', - - model(attrs, options) { + model: function model(attrs, options) { return new _converse.ChatBox(attrs, options); }, - - registerMessageHandler() { + registerMessageHandler: function registerMessageHandler() { _converse.connection.addHandler(this.onMessage.bind(this), null, 'message', 'chat'); _converse.connection.addHandler(this.onErrorMessage.bind(this), null, 'message', 'error'); }, - - chatBoxMayBeShown(chatbox) { + chatBoxMayBeShown: function chatBoxMayBeShown(chatbox) { return true; }, + onChatBoxesFetched: function onChatBoxesFetched(collection) { + var _this6 = this; - onChatBoxesFetched(collection) { /* Show chat boxes upon receiving them from sessionStorage */ - collection.each(chatbox => { - if (this.chatBoxMayBeShown(chatbox)) { + collection.each(function (chatbox) { + if (_this6.chatBoxMayBeShown(chatbox)) { chatbox.trigger('show'); } }); _converse.emit('chatBoxesFetched'); }, - - onConnected() { - this.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1(`converse.chatboxes-${_converse.bare_jid}`)); + onConnected: function onConnected() { + this.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1("converse.chatboxes-".concat(_converse.bare_jid))); this.registerMessageHandler(); this.fetch({ add: true, success: this.onChatBoxesFetched.bind(this) }); }, - - onErrorMessage(message) { + onErrorMessage: function onErrorMessage(message) { /* Handler method for all incoming error message stanzas */ // TODO: we can likely just reuse "onMessage" below - const from_jid = Strophe.getBareJidFromJid(message.getAttribute('from')); + var from_jid = Strophe.getBareJidFromJid(message.getAttribute('from')); if (utils.isSameBareJID(from_jid, _converse.bare_jid)) { return true; } // Get chat box, but only create a new one when the message has a body. - const chatbox = this.getChatBox(from_jid); + var chatbox = this.getChatBox(from_jid); if (!chatbox) { return true; @@ -35540,41 +35493,40 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ chatbox.createMessage(message, null, message); return true; }, - - onMessage(message) { + onMessage: function onMessage(message) { /* Handler method for all incoming single-user chat "message" * stanzas. * * Parameters: * (XMLElement) message - The incoming message stanza */ - let contact_jid, + var contact_jid, delay, resource, from_jid = message.getAttribute('from'), to_jid = message.getAttribute('to'); - const original_stanza = message, - to_resource = Strophe.getResourceFromJid(to_jid), - is_carbon = !_.isNull(message.querySelector(`received[xmlns="${Strophe.NS.CARBONS}"]`)); + var original_stanza = message, + to_resource = Strophe.getResourceFromJid(to_jid), + is_carbon = !_.isNull(message.querySelector("received[xmlns=\"".concat(Strophe.NS.CARBONS, "\"]"))); if (_converse.filter_by_resource && to_resource && to_resource !== _converse.resource) { - _converse.log(`onMessage: Ignoring incoming message intended for a different resource: ${to_jid}`, Strophe.LogLevel.INFO); + _converse.log("onMessage: Ignoring incoming message intended for a different resource: ".concat(to_jid), Strophe.LogLevel.INFO); return true; } else if (utils.isHeadlineMessage(_converse, message)) { // XXX: Ideally we wouldn't have to check for headline // messages, but Prosody sends headline messages with the // wrong type ('chat'), so we need to filter them out here. - _converse.log(`onMessage: Ignoring incoming headline message sent with type 'chat' from JID: ${from_jid}`, Strophe.LogLevel.INFO); + _converse.log("onMessage: Ignoring incoming headline message sent with type 'chat' from JID: ".concat(from_jid), Strophe.LogLevel.INFO); return true; } - const forwarded = message.querySelector('forwarded'); + var forwarded = message.querySelector('forwarded'); if (!_.isNull(forwarded)) { - const forwarded_message = forwarded.querySelector('message'); - const forwarded_from = forwarded_message.getAttribute('from'); + var forwarded_message = forwarded.querySelector('message'); + var forwarded_from = forwarded_message.getAttribute('from'); if (is_carbon && Strophe.getBareJidFromJid(forwarded_from) !== from_jid) { // Prevent message forging via carbons @@ -35589,9 +35541,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ to_jid = message.getAttribute('to'); } - const from_bare_jid = Strophe.getBareJidFromJid(from_jid), - from_resource = Strophe.getResourceFromJid(from_jid), - is_me = from_bare_jid === _converse.bare_jid; + var from_bare_jid = Strophe.getBareJidFromJid(from_jid), + from_resource = Strophe.getResourceFromJid(from_jid), + is_me = from_bare_jid === _converse.bare_jid; if (is_me) { // I am the sender, so this must be a forwarded message... @@ -35603,15 +35555,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } // Get chat box, but only create a new one when the message has a body. - const attrs = { + var attrs = { 'fullname': _.get(_converse.api.contacts.get(contact_jid), 'attributes.fullname') }; - const chatbox = this.getChatBox(contact_jid, attrs, !_.isNull(message.querySelector('body'))), - msgid = message.getAttribute('id'); + var chatbox = this.getChatBox(contact_jid, attrs, !_.isNull(message.querySelector('body'))), + msgid = message.getAttribute('id'); if (chatbox) { - const messages = msgid && chatbox.messages.findWhere({ - msgid + var messages = msgid && chatbox.messages.findWhere({ + msgid: msgid }) || []; if (_.isEmpty(messages)) { @@ -35629,8 +35581,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return true; }, + getChatBox: function getChatBox(jid) { + var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var create = arguments.length > 2 ? arguments[2] : undefined; - getChatBox(jid, attrs = {}, create) { /* Returns a chat box or optionally return a newly * created one if one doesn't exist. * @@ -35646,7 +35600,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } jid = Strophe.getBareJidFromJid(jid.toLowerCase()); - let chatbox = this.get(Strophe.getBareJidFromJid(jid)); + var chatbox = this.get(Strophe.getBareJidFromJid(jid)); if (!chatbox && create) { _.extend(attrs, { @@ -35655,30 +35609,28 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); chatbox = this.create(attrs, { - 'error'(model, response) { + 'error': function error(model, response) { _converse.log(response.responseText); } - }); } return chatbox; } - }); _converse.ChatBoxViews = Backbone.Overview.extend({ - _ensureElement() { + _ensureElement: function _ensureElement() { /* Override method from backbone.js * If the #conversejs element doesn't exist, create it. */ if (!this.el) { - let el = _converse.root.querySelector('#conversejs'); + var el = _converse.root.querySelector('#conversejs'); if (_.isNull(el)) { el = document.createElement('div'); el.setAttribute('id', 'conversejs'); - const body = _converse.root.querySelector('body'); + var body = _converse.root.querySelector('body'); if (body) { body.appendChild(el); @@ -35694,15 +35646,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.setElement(_.result(this, 'el'), false); } }, - - initialize() { + initialize: function initialize() { this.model.on("add", this.onChatBoxAdded, this); this.model.on("destroy", this.removeChat, this); - this.el.classList.add(`converse-${_converse.view_mode}`); + this.el.classList.add("converse-".concat(_converse.view_mode)); this.render(); }, - - render() { + render: function render() { try { this.el.innerHTML = tpl_chatboxes(); } catch (e) { @@ -35713,26 +35663,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.row_el = this.el.querySelector('.row'); }, - - insertRowColumn(el) { + insertRowColumn: function insertRowColumn(el) { /* Add a new DOM element (likely a chat box) into the * the row managed by this overview. */ this.row_el.insertAdjacentElement('afterBegin', el); }, - - onChatBoxAdded(item) { + onChatBoxAdded: function onChatBoxAdded(item) { // Views aren't created here, since the core code doesn't // contain any views. Instead, they're created in overrides in // plugins, such as in converse-chatview.js and converse-muc.js return this.get(item.get('id')); }, - - removeChat(item) { + removeChat: function removeChat(item) { this.remove(item.get('id')); }, - - closeAllChatBoxes() { + closeAllChatBoxes: function closeAllChatBoxes() { /* This method gets overridden in src/converse-controlbox.js if * the controlbox plugin is active. */ @@ -35741,11 +35687,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); return this; }, - - chatBoxMayBeShown(chatbox) { + chatBoxMayBeShown: function chatBoxMayBeShown(chatbox) { return this.model.chatBoxMayBeShown(chatbox); } - }); // TODO: move to converse-chatboxviews.js and use there in the API _converse.getViewForChatBox = function (chatbox) { @@ -35781,12 +35725,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.on('chatBoxesFetched', autoJoinChats); - _converse.api.waitUntil('rosterContactsFetched').then(() => { - _converse.roster.on('add', contact => { + _converse.api.waitUntil('rosterContactsFetched').then(function () { + _converse.roster.on('add', function (contact) { /* When a new contact is added, check if we already have a * chatbox open for it, and if so attach it to the chatbox. */ - const chatbox = _converse.chatboxes.findWhere({ + var chatbox = _converse.chatboxes.findWhere({ 'jid': contact.get('jid') }); @@ -35796,13 +35740,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); }); - _converse.on('addClientFeatures', () => { + _converse.on('addClientFeatures', function () { _converse.api.disco.own.features.add(Strophe.NS.HTTPUPLOAD); _converse.api.disco.own.features.add(Strophe.NS.OUTOFBAND); }); - _converse.api.listen.on('pluginsInitialized', () => { + _converse.api.listen.on('pluginsInitialized', function () { _converse.chatboxes = new _converse.ChatBoxes(); _converse.chatboxviews = new _converse.ChatBoxViews({ 'model': _converse.chatboxes @@ -35811,14 +35755,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.emit('chatBoxesInitialized'); }); - _converse.api.listen.on('beforeTearDown', () => { + _converse.api.listen.on('beforeTearDown', function () { _converse.chatboxes.remove(); // Don't call off(), events won't get re-registered upon reconnect. delete _converse.chatboxes.browserStorage; }); - _converse.api.listen.on('presencesInitialized', () => _converse.chatboxes.onConnected()); + _converse.api.listen.on('presencesInitialized', function () { + return _converse.chatboxes.onConnected(); + }); /************************ END Event Handlers ************************/ /************************ BEGIN API ************************/ @@ -35826,7 +35772,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _.extend(_converse.api, { 'chats': { - 'create'(jids, attrs) { + 'create': function create(jids, attrs) { if (_.isUndefined(jids)) { _converse.log("chats.create: You need to provide at least one JID", Strophe.LogLevel.ERROR); @@ -35838,7 +35784,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ attrs.fullname = _.get(_converse.api.contacts.get(jids), 'attributes.fullname'); } - const chatbox = _converse.chatboxes.getChatBox(jids, attrs, true); + var chatbox = _converse.chatboxes.getChatBox(jids, attrs, true); if (_.isNil(chatbox)) { _converse.log("Could not open chatbox for JID: " + jids, Strophe.LogLevel.ERROR); @@ -35849,30 +35795,30 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return chatbox; } - return _.map(jids, jid => { + return _.map(jids, function (jid) { attrs.fullname = _.get(_converse.api.contacts.get(jid), 'attributes.fullname'); return _converse.chatboxes.getChatBox(jid, attrs, true).trigger('show'); }); }, - - 'open'(jids, attrs) { + 'open': function open(jids, attrs) { if (_.isUndefined(jids)) { _converse.log("chats.open: You need to provide at least one JID", Strophe.LogLevel.ERROR); return null; } else if (_.isString(jids)) { - const chatbox = _converse.api.chats.create(jids, attrs); + var chatbox = _converse.api.chats.create(jids, attrs); chatbox.trigger('show'); return chatbox; } - return _.map(jids, jid => _converse.api.chats.create(jid, attrs).trigger('show')); + return _.map(jids, function (jid) { + return _converse.api.chats.create(jid, attrs).trigger('show'); + }); }, - - 'get'(jids) { + 'get': function get(jids) { if (_.isUndefined(jids)) { - const result = []; + var result = []; _converse.chatboxes.each(function (chatbox) { // FIXME: Leaky abstraction from MUC. We need to add a @@ -35889,13 +35835,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _.map(jids, _.partial(_converse.chatboxes.getChatBox.bind(_converse.chatboxes), _, {}, true)); } - } }); /************************ END API ************************/ } - }); return converse; }); @@ -35925,18 +35869,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, bootstrap, emojione, xss, tpl_action, tpl_chatbox, tpl_chatbox_head, tpl_chatbox_message_form, tpl_emojis, tpl_error_message, tpl_help_message, tpl_info, tpl_new_day, tpl_user_details_modal, tpl_toolbar_fileupload, tpl_spinner, tpl_spoiler_button, tpl_status_message, tpl_toolbar) { "use strict"; - const _converse$env = converse.env, - $msg = _converse$env.$msg, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - Strophe = _converse$env.Strophe, - _ = _converse$env._, - b64_sha1 = _converse$env.b64_sha1, - f = _converse$env.f, - sizzle = _converse$env.sizzle, - moment = _converse$env.moment; - const u = converse.env.utils; - const KEY = { + var _converse$env = converse.env, + $msg = _converse$env.$msg, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + Strophe = _converse$env.Strophe, + _ = _converse$env._, + b64_sha1 = _converse$env.b64_sha1, + f = _converse$env.f, + sizzle = _converse$env.sizzle, + moment = _converse$env.moment; + var u = converse.env.utils; + var KEY = { ENTER: 13, FORWARD_SLASH: 47 }; @@ -35960,9 +35904,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // New functions which don't exist yet can also be added. // ChatBoxViews: { - onChatBoxAdded(item) { - const _converse = this.__super__._converse; - let view = this.get(item.get('id')); + onChatBoxAdded: function onChatBoxAdded(item) { + var _converse = this.__super__._converse; + var view = this.get(item.get('id')); if (!view) { view = new _converse.ChatBoxView({ @@ -35974,16 +35918,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.onChatBoxAdded.apply(this, arguments); } } - } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; + var _converse = this._converse, + __ = _converse.__; _converse.api.settings.update({ 'emojione_image_path': emojione.imagePathPNG, @@ -36016,13 +35958,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'current_skintone': '', 'scroll_position': 0 }, - - initialize() { - const id = `converse.emoji-${_converse.bare_jid}`; + initialize: function initialize() { + var id = "converse.emoji-".concat(_converse.bare_jid); this.id = id; this.browserStorage = new Backbone.BrowserStorage[_converse.storage](id); } - }); _converse.EmojiPickerView = Backbone.VDOMView.extend({ className: 'emoji-picker-container', @@ -36030,13 +35970,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'click .emoji-category-picker li.emoji-category': 'chooseCategory', 'click .emoji-skintone-picker li.emoji-skintone': 'chooseSkinTone' }, - - initialize() { + initialize: function initialize() { this.model.on('change:current_skintone', this.render, this); this.model.on('change:current_category', this.render, this); }, - - toHTML() { + toHTML: function toHTML() { return tpl_emojis(_.extend(this.model.toJSON(), { '_': _, 'transform': _converse.use_emojione ? emojione.shortnameToImage : emojione.shortnameToUnicode, @@ -36046,8 +35984,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'shouldBeHidden': this.shouldBeHidden })); }, - - shouldBeHidden(shortname, current_skintone, toned_emojis) { + shouldBeHidden: function shouldBeHidden(shortname, current_skintone, toned_emojis) { /* Helper method for the template which decides whether an * emoji should be hidden, based on which skin tone is * currently being applied. @@ -36064,12 +36001,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return false; }, - - chooseSkinTone(ev) { + chooseSkinTone: function chooseSkinTone(ev) { ev.preventDefault(); ev.stopPropagation(); - const target = ev.target.nodeName === 'IMG' ? ev.target.parentElement : ev.target; - const skintone = target.getAttribute("data-skintone").trim(); + var target = ev.target.nodeName === 'IMG' ? ev.target.parentElement : ev.target; + var skintone = target.getAttribute("data-skintone").trim(); if (this.model.get('current_skintone') === skintone) { this.model.save({ @@ -36081,26 +36017,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } }, - - chooseCategory(ev) { + chooseCategory: function chooseCategory(ev) { ev.preventDefault(); ev.stopPropagation(); - const target = ev.target.nodeName === 'IMG' ? ev.target.parentElement : ev.target; - const category = target.getAttribute("data-category").trim(); + var target = ev.target.nodeName === 'IMG' ? ev.target.parentElement : ev.target; + var category = target.getAttribute("data-category").trim(); this.model.save({ 'current_category': category, 'scroll_position': 0 }); } - }); _converse.ChatBoxHeading = _converse.ViewWithAvatar.extend({ - initialize() { + initialize: function initialize() { this.model.on('change:status', this.onStatusMessageChanged, this); this.model.vcard.on('change', this.render, this); }, - - render() { + render: function render() { this.el.innerHTML = tpl_chatbox_head(_.extend(this.model.toJSON(), this.model.vcard.toJSON(), { '_converse': _converse, 'info_close': __('Close this chat box') @@ -36108,8 +36041,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.renderAvatar(); return this; }, - - onStatusMessageChanged(item) { + onStatusMessageChanged: function onStatusMessageChanged(item) { this.render(); _converse.emit('contactStatusMessageChanged', { @@ -36117,22 +36049,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'message': item.get('status') }); } - }); _converse.UserDetailsModal = _converse.BootstrapModal.extend({ events: { 'click button.remove-contact': 'removeContact', 'click button.refresh-contact': 'refreshContact' }, - - initialize() { + initialize: function initialize() { _converse.BootstrapModal.prototype.initialize.apply(this, arguments); this.model.on('contactAdded', this.registerContactEventHandlers, this); this.registerContactEventHandlers(); }, - - toHTML() { + toHTML: function toHTML() { return tpl_user_details_modal(_.extend(this.model.toJSON(), this.model.vcard.toJSON(), { 'allow_contact_removal': _converse.allow_contact_removal, 'alt_profile_image': __("The User's Profile Image"), @@ -36149,30 +36078,34 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'label_url': __('URL') })); }, + registerContactEventHandlers: function registerContactEventHandlers() { + var _this = this; - registerContactEventHandlers() { if (!_.isUndefined(this.model.contact)) { this.model.contact.on('change', this.render, this); this.model.contact.vcard.on('change', this.render, this); - this.model.contact.on('destroy', () => { - delete this.model.contact; - this.render(); + this.model.contact.on('destroy', function () { + delete _this.model.contact; + + _this.render(); }); } }, - - refreshContact(ev) { + refreshContact: function refreshContact(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } - const refresh_icon = this.el.querySelector('.fa-refresh'); + var refresh_icon = this.el.querySelector('.fa-refresh'); u.addClass('fa-spin', refresh_icon); - _converse.api.vcard.update(this.model.contact.vcard, true).then(() => u.removeClass('fa-spin', refresh_icon)).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); + _converse.api.vcard.update(this.model.contact.vcard, true).then(function () { + return u.removeClass('fa-spin', refresh_icon); + }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }, + removeContact: function removeContact(ev) { + var _this2 = this; - removeContact(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } @@ -36181,20 +36114,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const result = confirm(__("Are you sure you want to remove this contact?")); + var result = confirm(__("Are you sure you want to remove this contact?")); if (result === true) { this.modal.hide(); - this.model.contact.removeFromRoster(iq => { - this.model.contact.destroy(); - }, err => { + this.model.contact.removeFromRoster(function (iq) { + _this2.model.contact.destroy(); + }, function (err) { _converse.log(err, Strophe.LogLevel.ERROR); - _converse.api.alert.show(Strophe.LogLevel.ERROR, __('Error'), [__('Sorry, there was an error while trying to remove %1$s as a contact.', this.model.contact.getDisplayName())]); + _converse.api.alert.show(Strophe.LogLevel.ERROR, __('Error'), [__('Sorry, there was an error while trying to remove %1$s as a contact.', _this2.model.contact.getDisplayName())]); }); } } - }); _converse.ChatBoxView = Backbone.NativeView.extend({ length: 200, @@ -36218,8 +36150,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'keypress .chat-textarea': 'keyPressed', 'input .chat-textarea': 'inputChanged' }, - - initialize() { + initialize: function initialize() { this.initDebounced(); this.createEmojiPicker(); this.model.messages.on('add', this.onMessageAdded, this); @@ -36235,16 +36166,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.emit('chatBoxInitialized', this); }, - - initDebounced() { + initDebounced: function initDebounced() { this.scrollDown = _.debounce(this._scrollDown, 250); this.markScrolled = _.debounce(this._markScrolled, 100); this.show = _.debounce(this._show, 250, { 'leading': true }); }, - - render() { + render: function render() { // XXX: Is this still needed? this.el.setAttribute('id', this.model.get('box_id')); this.el.innerHTML = tpl_chatbox(_.extend(this.model.toJSON(), { @@ -36255,8 +36184,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.insertHeading(); return this; }, - - renderToolbar(toolbar, options) { + renderToolbar: function renderToolbar(toolbar, options) { if (!_converse.show_toolbar) { return this; } @@ -36269,9 +36197,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.insertEmojiPicker(); return this; }, - - renderMessageForm() { - let placeholder; + renderMessageForm: function renderMessageForm() { + var placeholder; if (this.model.get('composing_spoiler')) { placeholder = __('Hidden message'); @@ -36279,7 +36206,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ placeholder = __('Personal message'); } - const form_container = this.el.querySelector('.message-form-container'); + var form_container = this.el.querySelector('.message-form-container'); form_container.innerHTML = tpl_chatbox_message_form(_.extend(this.model.toJSON(), { 'hint_value': _.get(this.el.querySelector('.spoiler-hint'), 'value'), 'label_personal_message': placeholder, @@ -36292,16 +36219,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })); this.renderToolbar(); }, - - showControlBox() { + showControlBox: function showControlBox() { // Used in mobile view, to navigate back to the controlbox - const view = _converse.chatboxviews.get('controlbox'); + var view = _converse.chatboxviews.get('controlbox'); view.show(); this.hide(); }, + showUserDetailsModal: function showUserDetailsModal(ev) { + ev.preventDefault(); - showUserDetailsModal(ev) { if (_.isUndefined(this.user_details_modal)) { this.user_details_modal = new _converse.UserDetailsModal({ model: this.model @@ -36310,26 +36237,26 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.user_details_modal.show(ev); }, - - toggleFileUpload(ev) { + toggleFileUpload: function toggleFileUpload(ev) { this.el.querySelector('input.fileupload').click(); }, - - onFileSelection(evt) { + onFileSelection: function onFileSelection(evt) { this.model.sendFiles(evt.target.files); }, + addFileUploadButton: function addFileUploadButton(options) { + var _this3 = this; - addFileUploadButton(options) { - _converse.api.disco.supports(Strophe.NS.HTTPUPLOAD, _converse.domain).then(result => { + _converse.api.disco.supports(Strophe.NS.HTTPUPLOAD, _converse.domain).then(function (result) { if (result.length) { - this.el.querySelector('.chat-toolbar').insertAdjacentHTML('beforeend', tpl_toolbar_fileupload({ + _this3.el.querySelector('.chat-toolbar').insertAdjacentHTML('beforeend', tpl_toolbar_fileupload({ 'tooltip_upload_file': __('Choose a file to send') })); } }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }, + addSpoilerButton: function addSpoilerButton(options) { + var _this4 = this; - addSpoilerButton(options) { /* Asynchronously adds a button for writing spoiler * messages, based on whether the contact's client supports * it. @@ -36338,27 +36265,28 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const contact_jid = this.model.get('jid'); - const resources = this.model.presence.get('resources'); + var contact_jid = this.model.get('jid'); + var resources = this.model.presence.get('resources'); if (_.isEmpty(resources)) { return; } - Promise.all(_.map(_.keys(resources), resource => _converse.api.disco.supports(Strophe.NS.SPOILER, `${contact_jid}/${resource}`))).then(results => { + Promise.all(_.map(_.keys(resources), function (resource) { + return _converse.api.disco.supports(Strophe.NS.SPOILER, "".concat(contact_jid, "/").concat(resource)); + })).then(function (results) { if (_.filter(results, 'length').length) { - const html = tpl_spoiler_button(this.model.toJSON()); + var html = tpl_spoiler_button(_this4.model.toJSON()); if (_converse.visible_toolbar_buttons.emoji) { - this.el.querySelector('.toggle-smiley').insertAdjacentHTML('afterEnd', html); + _this4.el.querySelector('.toggle-smiley').insertAdjacentHTML('afterEnd', html); } else { - this.el.querySelector('.chat-toolbar').insertAdjacentHTML('afterBegin', html); + _this4.el.querySelector('.chat-toolbar').insertAdjacentHTML('afterBegin', html); } } }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }, - - insertHeading() { + insertHeading: function insertHeading() { this.heading = new _converse.ChatBoxHeading({ 'model': this.model }); @@ -36369,13 +36297,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.contact.on('destroy', this.heading.render, this); } - const flyout = this.el.querySelector('.flyout'); + var flyout = this.el.querySelector('.flyout'); flyout.insertBefore(this.heading.el, flyout.querySelector('.chat-body')); return this; }, - - getToolbarOptions(options) { - let label_toggle_spoiler; + getToolbarOptions: function getToolbarOptions(options) { + var label_toggle_spoiler; if (this.model.get('composing_spoiler')) { label_toggle_spoiler = __('Click to write as a normal (non-spoiler) message'); @@ -36393,16 +36320,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'use_emoji': _converse.visible_toolbar_buttons.emoji }); }, - - afterMessagesFetched() { + afterMessagesFetched: function afterMessagesFetched() { this.insertIntoDOM(); this.scrollDown(); this.content.addEventListener('scroll', this.markScrolled.bind(this)); _converse.emit('afterMessagesFetched', this); }, - - fetchMessages() { + fetchMessages: function fetchMessages() { this.model.messages.fetch({ 'add': true, 'success': this.afterMessagesFetched.bind(this), @@ -36410,8 +36335,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); return this; }, - - insertIntoDOM() { + insertIntoDOM: function insertIntoDOM() { /* This method gets overridden in src/converse-controlbox.js * as well as src/converse-muc.js (if those plugins are * enabled). @@ -36420,9 +36344,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - showChatEvent(message, data = '') { - const isodate = moment().format(); + showChatEvent: function showChatEvent(message) { + var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; + var isodate = moment().format(); this.content.insertAdjacentHTML('beforeend', tpl_info({ 'extra_classes': 'chat-event', 'message': message, @@ -36433,16 +36357,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.scrollDown(); return isodate; }, - - showErrorMessage(message) { + showErrorMessage: function showErrorMessage(message) { this.content.insertAdjacentHTML('beforeend', tpl_error_message({ 'message': message, 'isodate': moment().format() })); this.scrollDown(); }, + addSpinner: function addSpinner() { + var append = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - addSpinner(append = false) { if (_.isNull(this.el.querySelector('.spinner'))) { if (append) { this.content.insertAdjacentHTML('beforeend', tpl_spinner()); @@ -36452,12 +36376,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } }, - - clearSpinner() { - _.each(this.content.querySelectorAll('span.spinner'), el => el.parentNode.removeChild(el)); + clearSpinner: function clearSpinner() { + _.each(this.content.querySelectorAll('span.spinner'), function (el) { + return el.parentNode.removeChild(el); + }); }, - - insertDayIndicator(next_msg_el) { + insertDayIndicator: function insertDayIndicator(next_msg_el) { /* Inserts an indicator into the chat area, showing the * day as given by the passed in date. * @@ -36469,35 +36393,34 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * This element must have a "data-isodate" attribute * which specifies its creation date. */ - const prev_msg_el = u.getPreviousElement(next_msg_el, ".message:not(.chat-state-notification)"), - prev_msg_date = _.isNull(prev_msg_el) ? null : prev_msg_el.getAttribute('data-isodate'), - next_msg_date = next_msg_el.getAttribute('data-isodate'); + var prev_msg_el = u.getPreviousElement(next_msg_el, ".message:not(.chat-state-notification)"), + prev_msg_date = _.isNull(prev_msg_el) ? null : prev_msg_el.getAttribute('data-isodate'), + next_msg_date = next_msg_el.getAttribute('data-isodate'); if (_.isNull(prev_msg_date) || moment(next_msg_date).isAfter(prev_msg_date, 'day')) { - const day_date = moment(next_msg_date).startOf('day'); + var day_date = moment(next_msg_date).startOf('day'); next_msg_el.insertAdjacentHTML('beforeBegin', tpl_new_day({ 'isodate': day_date.format(), 'datestring': day_date.format("dddd MMM Do YYYY") })); } }, - - getLastMessageDate(cutoff) { + getLastMessageDate: function getLastMessageDate(cutoff) { /* Return the ISO8601 format date of the latest message. * * Parameters: * (Object) cutoff: Moment Date cutoff date. The last * message received cutoff this date will be returned. */ - const first_msg = u.getFirstChildElement(this.content, '.message:not(.chat-state-notification)'), - oldest_date = first_msg ? first_msg.getAttribute('data-isodate') : null; + var first_msg = u.getFirstChildElement(this.content, '.message:not(.chat-state-notification)'), + oldest_date = first_msg ? first_msg.getAttribute('data-isodate') : null; if (!_.isNull(oldest_date) && moment(oldest_date).isAfter(cutoff)) { return null; } - const last_msg = u.getLastChildElement(this.content, '.message:not(.chat-state-notification)'), - most_recent_date = last_msg ? last_msg.getAttribute('data-isodate') : null; + var last_msg = u.getLastChildElement(this.content, '.message:not(.chat-state-notification)'), + most_recent_date = last_msg ? last_msg.getAttribute('data-isodate') : null; if (_.isNull(most_recent_date) || moment(most_recent_date).isBefore(cutoff)) { return most_recent_date; @@ -36510,7 +36433,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ */ - const msg_dates = _.invokeMap(sizzle('.message:not(.chat-state-notification)', this.content), Element.prototype.getAttribute, 'data-isodate'); + var msg_dates = _.invokeMap(sizzle('.message:not(.chat-state-notification)', this.content), Element.prototype.getAttribute, 'data-isodate'); if (_.isObject(cutoff)) { cutoff = cutoff.format(); @@ -36518,7 +36441,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ msg_dates.push(cutoff); msg_dates.sort(); - const idx = msg_dates.lastIndexOf(cutoff); + var idx = msg_dates.lastIndexOf(cutoff); if (idx === 0) { return null; @@ -36526,21 +36449,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return msg_dates[idx - 1]; } }, - - setScrollPosition(message_el) { + setScrollPosition: function setScrollPosition(message_el) { /* Given a newly inserted message, determine whether we * should keep the scrollbar in place (so as to not scroll * up when using infinite scroll). */ if (this.model.get('scrolled')) { - const next_msg_el = u.getNextElement(message_el, ".chat-msg"); + var next_msg_el = u.getNextElement(message_el, ".chat-msg"); if (next_msg_el) { // The currently received message is not new, there // are newer messages after it. So let's see if we // should maintain our current scroll position. if (this.content.scrollTop === 0 || this.model.get('top_visible_message')) { - const top_visible_message = this.model.get('top_visible_message') || next_msg_el; + var top_visible_message = this.model.get('top_visible_message') || next_msg_el; this.model.set('top_visible_message', top_visible_message); this.content.scrollTop = top_visible_message.offsetTop - 30; } @@ -36549,10 +36471,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.scrollDown(); } }, + showHelpMessages: function showHelpMessages(msgs, type, spinner) { + var _this5 = this; - showHelpMessages(msgs, type, spinner) { - _.each(msgs, msg => { - this.content.insertAdjacentHTML('beforeend', tpl_help_message({ + _.each(msgs, function (msg) { + _this5.content.insertAdjacentHTML('beforeend', tpl_help_message({ 'isodate': moment().format(), 'type': type, 'message': xss.filterXSS(msg, { @@ -36571,20 +36494,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.scrollDown(); }, - - clearChatStateNotification(message, isodate) { + clearChatStateNotification: function clearChatStateNotification(message, isodate) { if (isodate) { - _.each(sizzle(`.chat-state-notification[data-csn="${message.get('from')}"][data-isodate="${isodate}"]`, this.content), u.removeElement); + _.each(sizzle(".chat-state-notification[data-csn=\"".concat(message.get('from'), "\"][data-isodate=\"").concat(isodate, "\"]"), this.content), u.removeElement); } else { - _.each(sizzle(`.chat-state-notification[data-csn="${message.get('from')}"]`, this.content), u.removeElement); + _.each(sizzle(".chat-state-notification[data-csn=\"".concat(message.get('from'), "\"]"), this.content), u.removeElement); } }, - - shouldShowOnTextMessage() { + shouldShowOnTextMessage: function shouldShowOnTextMessage() { return !u.isVisible(this.el); }, - - insertMessage(view) { + insertMessage: function insertMessage(view) { /* Given a view representing a message, insert it into the * content area of the chat box. * @@ -36592,32 +36512,32 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (Backbone.View) message: The message Backbone.View */ if (view.model.get('type') === 'error') { - const previous_msg_el = this.content.querySelector(`[data-msgid="${view.model.get('msgid')}"]`); + var previous_msg_el = this.content.querySelector("[data-msgid=\"".concat(view.model.get('msgid'), "\"]")); if (previous_msg_el) { return previous_msg_el.insertAdjacentElement('afterend', view.el); } } - const current_msg_date = moment(view.model.get('time')) || moment, - previous_msg_date = this.getLastMessageDate(current_msg_date); + var current_msg_date = moment(view.model.get('time')) || moment, + previous_msg_date = this.getLastMessageDate(current_msg_date); if (_.isNull(previous_msg_date)) { this.content.insertAdjacentElement('afterbegin', view.el); } else { - const previous_msg_el = sizzle(`[data-isodate="${previous_msg_date}"]:last`, this.content).pop(); + var _previous_msg_el = sizzle("[data-isodate=\"".concat(previous_msg_date, "\"]:last"), this.content).pop(); - if (view.model.get('type') === 'error' && u.hasClass('chat-error', previous_msg_el) && previous_msg_el.textContent === view.model.get('message')) { + if (view.model.get('type') === 'error' && u.hasClass('chat-error', _previous_msg_el) && _previous_msg_el.textContent === view.model.get('message')) { // We don't show a duplicate error message return; } - previous_msg_el.insertAdjacentElement('afterend', view.el); + _previous_msg_el.insertAdjacentElement('afterend', view.el); + this.markFollowups(view.el); } }, - - markFollowups(el) { + markFollowups: function markFollowups(el) { /* Given a message element, determine wether it should be * marked as a followup message to the previous element. * @@ -36631,10 +36551,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * Parameters: * (HTMLElement) el - The message element. */ - const from = el.getAttribute('data-from'), - previous_el = el.previousElementSibling, - date = moment(el.getAttribute('data-isodate')), - next_el = el.nextElementSibling; + var from = el.getAttribute('data-from'), + previous_el = el.previousElementSibling, + date = moment(el.getAttribute('data-isodate')), + next_el = el.nextElementSibling; if (!u.hasClass('chat-action', el) && !u.hasClass('chat-action', previous_el) && previous_el.getAttribute('data-from') === from && date.isBefore(moment(previous_el.getAttribute('data-isodate')).add(10, 'minutes'))) { u.addClass('chat-msg-followup', el); @@ -36650,8 +36570,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ u.removeClass('chat-msg-followup', next_el); } }, - - showMessage(message) { + showMessage: function showMessage(message) { /* Inserts a chat message into the content area of the chat box. * * Will also insert a new day indicator if the message is on a @@ -36660,7 +36579,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * Parameters: * (Backbone.Model) message: The message object */ - const view = new _converse.MessageView({ + var view = new _converse.MessageView({ 'model': message }); this.clearChatStateNotification(message); @@ -36686,8 +36605,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.scrollDown(); } }, - - onMessageAdded(message) { + onMessageAdded: function onMessageAdded(message) { /* Handler that gets called when a new message object is created. * * Parameters: @@ -36700,23 +36618,21 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'chatbox': this.model }); }, - - parseMessageForCommands(text) { - const match = text.replace(/^\s*/, "").match(/^\/(.*)\s*$/); + parseMessageForCommands: function parseMessageForCommands(text) { + var match = text.replace(/^\s*/, "").match(/^\/(.*)\s*$/); if (match) { if (match[1] === "clear") { this.clearMessages(); return true; } else if (match[1] === "help") { - const msgs = [`/clear: ${__('Remove messages')}`, `/me: ${__('Write in the third person')}`, `/help: ${__('Show this menu')}`]; + var msgs = ["/clear: ".concat(__('Remove messages')), "/me: ".concat(__('Write in the third person')), "/help: ".concat(__('Show this menu'))]; this.showHelpMessages(msgs); return true; } } }, - - onMessageSubmitted(text, spoiler_hint) { + onMessageSubmitted: function onMessageSubmitted(text, spoiler_hint) { /* This method gets called once the user has typed a message * and then pressed enter in a chat box. * @@ -36733,11 +36649,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const attrs = this.model.getOutgoingMessageAttributes(text, spoiler_hint); + var attrs = this.model.getOutgoingMessageAttributes(text, spoiler_hint); this.model.sendMessage(attrs); }, - - setChatState(state) { + setChatState: function setChatState(state) { /* Mutator for setting the chat state of this chat session. * Handles clearing of any chat state notification timeouts and * setting new ones if necessary. @@ -36762,15 +36677,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.set('chat_state', state); return this; }, - - onFormSubmitted(ev) { + onFormSubmitted: function onFormSubmitted(ev) { ev.preventDefault(); - const textarea = this.el.querySelector('.chat-textarea'), - message = textarea.value; - let spoiler_hint; + var textarea = this.el.querySelector('.chat-textarea'), + message = textarea.value; + var spoiler_hint; if (this.model.get('composing_spoiler')) { - const hint_el = this.el.querySelector('form.sendXMPPMessage input.spoiler-hint'); + var hint_el = this.el.querySelector('form.sendXMPPMessage input.spoiler-hint'); spoiler_hint = hint_el.value; hint_el.value = ''; } @@ -36778,7 +36692,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ textarea.value = ''; textarea.focus(); // Trigger input event, so that the textarea resizes - const event = document.createEvent('Event'); + var event = document.createEvent('Event'); event.initEvent('input', true, true); textarea.dispatchEvent(event); @@ -36790,8 +36704,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.setChatState(_converse.ACTIVE); }, - - keyPressed(ev) { + keyPressed: function keyPressed(ev) { /* Event handler for when a key is pressed in a chat box textarea. */ if (ev.keyCode === KEY.ENTER) { @@ -36802,19 +36715,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.setChatState(_converse.COMPOSING); } }, - - inputChanged(ev) { + inputChanged: function inputChanged(ev) { ev.target.style.height = 'auto'; // Fixes weirdness ev.target.style.height = ev.target.scrollHeight + 'px'; }, - - clearMessages(ev) { + clearMessages: function clearMessages(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } - const result = confirm(__("Are you sure you want to clear the messages from this conversation?")); + var result = confirm(__("Are you sure you want to clear the messages from this conversation?")); if (result === true) { this.content.innerHTML = ''; @@ -36825,10 +36736,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - insertIntoTextArea(value) { - const textbox_el = this.el.querySelector('.chat-textarea'); - let existing = textbox_el.value; + insertIntoTextArea: function insertIntoTextArea(value) { + var textbox_el = this.el.querySelector('.chat-textarea'); + var existing = textbox_el.value; if (existing && existing[existing.length - 1] !== ' ') { existing = existing + ' '; @@ -36837,8 +36747,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ textbox_el.value = existing + value + ' '; textbox_el.focus(); }, - - createEmojiPicker() { + createEmojiPicker: function createEmojiPicker() { if (_.isUndefined(_converse.emojipicker)) { _converse.emojipicker = new _converse.EmojiPicker(); @@ -36849,23 +36758,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'model': _converse.emojipicker }); }, - - insertEmoji(ev) { + insertEmoji: function insertEmoji(ev) { ev.stopPropagation(); - const target = ev.target.nodeName === 'IMG' ? ev.target.parentElement : ev.target; + var target = ev.target.nodeName === 'IMG' ? ev.target.parentElement : ev.target; this.insertIntoTextArea(target.getAttribute('data-emoji')); }, - - toggleEmojiMenu(ev) { + toggleEmojiMenu: function toggleEmojiMenu(ev) { if (_.isUndefined(this.emoji_dropdown)) { ev.stopPropagation(); - const dropdown_el = this.el.querySelector('.toggle-smiley.dropup'); + var dropdown_el = this.el.querySelector('.toggle-smiley.dropup'); this.emoji_dropdown = new bootstrap.Dropdown(dropdown_el, true); this.emoji_dropdown.toggle(); } }, - - toggleCall(ev) { + toggleCall: function toggleCall(ev) { ev.stopPropagation(); _converse.emit('callButtonClicked', { @@ -36873,20 +36779,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ model: this.model }); }, - - toggleComposeSpoilerMessage() { + toggleComposeSpoilerMessage: function toggleComposeSpoilerMessage() { this.model.set('composing_spoiler', !this.model.get('composing_spoiler')); this.renderMessageForm(); this.focus(); }, - - toggleSpoilerMessage(ev) { + toggleSpoilerMessage: function toggleSpoilerMessage(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } - const toggle_el = ev.target, - icon_el = toggle_el.firstElementChild; + var toggle_el = ev.target, + icon_el = toggle_el.firstElementChild; u.slideToggleElement(toggle_el.parentElement.parentElement.querySelector('.spoiler')); if (toggle_el.getAttribute("data-toggle-state") == "closed") { @@ -36903,11 +36807,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ toggle_el.setAttribute("data-toggle-state", "closed"); } }, - - onPresenceChanged(item) { - const show = item.get('show'), - fullname = this.model.getDisplayName(); - let text; + onPresenceChanged: function onPresenceChanged(item) { + var show = item.get('show'), + fullname = this.model.getDisplayName(); + var text; if (u.isVisible(this.el)) { if (show === 'offline') { @@ -36929,8 +36832,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } }, - - close(ev) { + close: function close(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } @@ -36958,12 +36860,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - renderEmojiPicker() { + renderEmojiPicker: function renderEmojiPicker() { this.emoji_picker_view.render(); }, - - insertEmojiPicker() { + insertEmojiPicker: function insertEmojiPicker() { var picker_el = this.el.querySelector('.emoji-picker'); if (!_.isNull(picker_el)) { @@ -36971,9 +36871,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ picker_el.appendChild(this.emoji_picker_view.el); } }, - - focus() { - const textarea_el = this.el.querySelector('.chat-textarea'); + focus: function focus() { + var textarea_el = this.el.querySelector('.chat-textarea'); if (!_.isNull(textarea_el)) { textarea_el.focus(); @@ -36983,13 +36882,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - hide() { + hide: function hide() { this.el.classList.add('hidden'); return this; }, - - afterShown() { + afterShown: function afterShown() { if (u.isPersistableModel(this.model)) { this.model.clearUnreadMsgCounter(); this.model.save(); @@ -37000,8 +36897,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.scrollDown(); this.focus(); }, - - _show(f) { + _show: function _show(f) { /* Inner show method that gets debounced */ if (u.isVisible(this.el)) { this.focus(); @@ -37010,19 +36906,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ u.fadeIn(this.el, _.bind(this.afterShown, this)); }, - - showNewMessagesIndicator() { + showNewMessagesIndicator: function showNewMessagesIndicator() { u.showElement(this.el.querySelector('.new-msgs-indicator')); }, - - hideNewMessagesIndicator() { - const new_msgs_indicator = this.el.querySelector('.new-msgs-indicator'); + hideNewMessagesIndicator: function hideNewMessagesIndicator() { + var new_msgs_indicator = this.el.querySelector('.new-msgs-indicator'); if (!_.isNull(new_msgs_indicator)) { new_msgs_indicator.classList.add('hidden'); } }, - _markScrolled: function _markScrolled(ev) { /* Called when the chat content is scrolled up or down. * We want to record when the user has scrolled away from @@ -37034,8 +36927,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ ev.preventDefault(); } - let scrolled = true; - const is_at_bottom = this.content.scrollTop + this.content.clientHeight >= this.content.scrollHeight - 62; // sigh... + var scrolled = true; + var is_at_bottom = this.content.scrollTop + this.content.clientHeight >= this.content.scrollHeight - 62; // sigh... if (is_at_bottom) { scrolled = false; @@ -37047,16 +36940,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'top_visible_message': null }); }, - - viewUnreadMessages() { + viewUnreadMessages: function viewUnreadMessages() { this.model.save({ 'scrolled': false, 'top_visible_message': null }); this.scrollDown(); }, - - _scrollDown() { + _scrollDown: function _scrollDown() { /* Inner method that gets debounced */ if (_.isUndefined(this.content)) { return; @@ -37066,8 +36957,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.content.scrollTop = this.content.scrollHeight; } }, - - onScrolledDown() { + onScrolledDown: function onScrolledDown() { this.hideNewMessagesIndicator(); if (_converse.windowState !== 'hidden') { @@ -37078,16 +36968,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'chatbox': this.model }); }, - - onWindowStateChanged(state) { + onWindowStateChanged: function onWindowStateChanged(state) { if (this.model.get('num_unread', 0) && !this.model.newMessageWillBeHidden()) { this.model.clearUnreadMsgCounter(); } } - }); - _converse.on('connected', () => { + _converse.on('connected', function () { // Advertise that we support XEP-0382 Message Spoilers _converse.api.disco.own.features.add(Strophe.NS.SPOILER); }); @@ -37096,7 +36984,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _.extend(_converse.api, { 'chatviews': { - 'get'(jids) { + 'get': function get(jids) { if (_.isUndefined(jids)) { _converse.log("chats.create: You need to provide at least one JID", Strophe.LogLevel.ERROR); @@ -37107,15 +36995,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _converse.chatboxviews.get(jids); } - return _.map(jids, jid => _converse.chatboxviews.get(jids)); + return _.map(jids, function (jid) { + return _converse.chatboxviews.get(jids); + }); } - } }); /************************ END API ************************/ } - }); return converse; }); @@ -37148,15 +37036,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, bootstrap, fp, tpl_brand_heading, tpl_controlbox, tpl_controlbox_toggle, tpl_login_panel) { "use strict"; - const CHATBOX_TYPE = 'chatbox'; - const _converse$env = converse.env, - Strophe = _converse$env.Strophe, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - _ = _converse$env._, - moment = _converse$env.moment; - const u = converse.env.utils; - const CONNECTION_STATUS_CSS_CLASS = { + var CHATBOX_TYPE = 'chatbox'; + var _converse$env = converse.env, + Strophe = _converse$env.Strophe, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + _ = _converse$env._, + moment = _converse$env.moment; + var u = converse.env.utils; + var CONNECTION_STATUS_CSS_CLASS = { 'Error': 'error', 'Connecting': 'info', 'Connection failure': 'error', @@ -37169,7 +37057,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'Redirect': 'info', 'Reconnecting': 'warn' }; - const PRETTY_CONNECTION_STATUS = { + var PRETTY_CONNECTION_STATUS = { 0: 'Error', 1: 'Connecting', 2: 'Connection failure', @@ -37182,7 +37070,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 9: 'Redirect', 10: 'Reconnecting' }; - const REPORTABLE_STATUSES = [0, // ERROR' + var REPORTABLE_STATUSES = [0, // ERROR' 1, // CONNECTING 2, // CONNFAIL 3, // AUTHENTICATING @@ -37208,7 +37096,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // relevant objects or classes. // // New functions which don't exist yet can also be added. - _tearDown() { + _tearDown: function _tearDown() { this.__super__._tearDown.apply(this, arguments); if (this.rosterview) { @@ -37221,19 +37109,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.rosterview.removeAll().remove(); } }, - ChatBoxes: { - chatBoxMayBeShown(chatbox) { + chatBoxMayBeShown: function chatBoxMayBeShown(chatbox) { return this.__super__.chatBoxMayBeShown.apply(this, arguments) && chatbox.get('id') !== 'controlbox'; } - }, ChatBoxViews: { - onChatBoxAdded(item) { - const _converse = this.__super__._converse; + onChatBoxAdded: function onChatBoxAdded(item) { + var _converse = this.__super__._converse; if (item.get('box_id') === 'controlbox') { - let view = this.get(item.get('id')); + var view = this.get(item.get('id')); if (view) { view.model = item; @@ -37249,9 +37135,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.onChatBoxAdded.apply(this, arguments); } }, - - closeAllChatBoxes() { - const _converse = this.__super__._converse; + closeAllChatBoxes: function closeAllChatBoxes() { + var _converse = this.__super__._converse; this.each(function (view) { if (view.model.get('id') === 'controlbox' && (_converse.disconnection_cause !== _converse.LOGOUT || _converse.show_controlbox_by_default)) { return; @@ -37261,10 +37146,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); return this; }, - - getChatBoxWidth(view) { - const _converse = this.__super__._converse; - const controlbox = this.get('controlbox'); + getChatBoxWidth: function getChatBoxWidth(view) { + var _converse = this.__super__._converse; + var controlbox = this.get('controlbox'); if (view.model.get('id') === 'controlbox') { /* We return the width of the controlbox or its toggle, @@ -37279,10 +37163,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.getChatBoxWidth.apply(this, arguments); } } - }, ChatBox: { - initialize() { + initialize: function initialize() { if (this.get('id') === 'controlbox') { this.set({ 'time_opened': moment(0).valueOf() @@ -37291,11 +37174,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.__super__.initialize.apply(this, arguments); } } - }, ChatBoxView: { - insertIntoDOM() { - const view = this.__super__._converse.chatboxviews.get("controlbox"); + insertIntoDOM: function insertIntoDOM() { + var view = this.__super__._converse.chatboxviews.get("controlbox"); if (view) { view.el.insertAdjacentElement('afterend', this.el); @@ -37305,16 +37187,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; } - } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; + var _converse = this._converse, + __ = _converse.__; _converse.api.settings.update({ allow_logout: true, @@ -37326,14 +37206,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.api.promises.add('controlboxInitialized'); - const LABEL_CONTACTS = __('Contacts'); + var LABEL_CONTACTS = __('Contacts'); - _converse.addControlBox = () => _converse.chatboxes.add({ - id: 'controlbox', - box_id: 'controlbox', - type: 'controlbox', - closed: !_converse.show_controlbox_by_default - }); + _converse.addControlBox = function () { + return _converse.chatboxes.add({ + id: 'controlbox', + box_id: 'controlbox', + type: 'controlbox', + closed: !_converse.show_controlbox_by_default + }); + }; _converse.ControlBoxView = _converse.ChatBoxView.extend({ tagName: 'div', @@ -37342,8 +37224,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ events: { 'click a.close-chatbox-button': 'close' }, - - initialize() { + initialize: function initialize() { if (_.isUndefined(_converse.controlboxtoggle)) { _converse.controlboxtoggle = new _converse.ControlBoxToggle(); } @@ -37363,8 +37244,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.emit('controlboxInitialized', this); }, - - render() { + render: function render() { if (this.model.get('connected')) { if (_.isUndefined(this.model.get('closed'))) { this.model.set('closed', !_converse.show_controlbox_by_default); @@ -37387,44 +37267,43 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - onConnected() { + onConnected: function onConnected() { if (this.model.get('connected')) { this.render(); this.insertRoster(); } }, + insertRoster: function insertRoster() { + var _this = this; - insertRoster() { /* Place the rosterview inside the "Contacts" panel. */ - _converse.api.waitUntil('rosterViewInitialized').then(() => this.controlbox_pane.el.insertAdjacentElement('beforeEnd', _converse.rosterview.el)).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); + _converse.api.waitUntil('rosterViewInitialized').then(function () { + return _this.controlbox_pane.el.insertAdjacentElement('beforeEnd', _converse.rosterview.el); + }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }, - - createBrandHeadingHTML() { + createBrandHeadingHTML: function createBrandHeadingHTML() { return tpl_brand_heading({ 'sticky_controlbox': _converse.sticky_controlbox }); }, - - insertBrandHeading() { - const heading_el = this.el.querySelector('.brand-heading-container'); + insertBrandHeading: function insertBrandHeading() { + var heading_el = this.el.querySelector('.brand-heading-container'); if (_.isNull(heading_el)) { - const el = this.el.querySelector('.controlbox-head'); + var el = this.el.querySelector('.controlbox-head'); el.insertAdjacentHTML('beforeend', this.createBrandHeadingHTML()); } else { heading_el.outerHTML = this.createBrandHeadingHTML(); } }, - - renderLoginPanel() { + renderLoginPanel: function renderLoginPanel() { this.el.classList.add("logged-out"); if (_.isNil(this.loginpanel)) { this.loginpanel = new _converse.LoginPanel({ 'model': new _converse.LoginPanelModel() }); - const panes = this.el.querySelector('.controlbox-panes'); + var panes = this.el.querySelector('.controlbox-panes'); panes.innerHTML = ''; panes.appendChild(this.loginpanel.render().el); this.insertBrandHeading(); @@ -37434,8 +37313,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - renderControlBoxPane() { + renderControlBoxPane: function renderControlBoxPane() { /* Renders the "Contacts" panel of the controlbox. * * This will only be called after the user has already been @@ -37450,8 +37328,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.controlbox_pane = new _converse.ControlBoxPane(); this.el.querySelector('.controlbox-panes').insertAdjacentElement('afterBegin', this.controlbox_pane.el); }, - - close(ev) { + close: function close(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } @@ -37472,16 +37349,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - ensureClosedState() { + ensureClosedState: function ensureClosedState() { if (this.model.get('closed')) { this.hide(); } else { this.show(); } }, - - hide(callback) { + hide: function hide(callback) { if (_converse.sticky_controlbox) { return; } @@ -37498,21 +37373,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - onControlBoxToggleHidden() { + onControlBoxToggleHidden: function onControlBoxToggleHidden() { this.model.set('closed', false); this.el.classList.remove('hidden'); _converse.emit('controlBoxOpened', this); }, - - show() { + show: function show() { _converse.controlboxtoggle.hide(this.onControlBoxToggleHidden.bind(this)); return this; }, - - showHelpMessages() { + showHelpMessages: function showHelpMessages() { /* Override showHelpMessages in ChatBoxView, for now do nothing. * * Parameters: @@ -37520,7 +37392,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ */ return; } - }); _converse.LoginPanelModel = Backbone.Model.extend({ defaults: { @@ -37537,25 +37408,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'submit form#converse-login': 'authenticate', 'change input': 'validate' }, - - initialize(cfg) { + initialize: function initialize(cfg) { this.model.on('change', this.render, this); this.listenTo(_converse.connfeedback, 'change', this.render); this.render(); - _.forEach(this.el.querySelectorAll('[data-title]'), el => { - const popover = new bootstrap.Popover(el, { + _.forEach(this.el.querySelectorAll('[data-title]'), function (el) { + var popover = new bootstrap.Popover(el, { 'trigger': _converse.view_mode === 'mobile' && 'click' || 'hover', 'dismissible': _converse.view_mode === 'mobile' && true || false, 'container': _converse.chatboxviews.el }); }); }, + toHTML: function toHTML() { + var connection_status = _converse.connfeedback.get('connection_status'); - toHTML() { - const connection_status = _converse.connfeedback.get('connection_status'); - - let feedback_class, pretty_status; + var feedback_class, pretty_status; if (_.includes(REPORTABLE_STATUSES, connection_status)) { pretty_status = PRETTY_CONNECTION_STATUS[connection_status]; @@ -37578,10 +37447,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'placeholder_username': (_converse.locked_domain || _converse.default_domain) && __('Username') || __('user@domain') })); }, - - validate() { - const form = this.el.querySelector('form'); - const jid_element = form.querySelector('input[name=jid]'); + validate: function validate() { + var form = this.el.querySelector('form'); + var jid_element = form.querySelector('input[name=jid]'); if (jid_element.value && !_converse.locked_domain && !_converse.default_domain && !u.isValidJID(jid_element.value)) { jid_element.setCustomValidity(__('Please enter a valid XMPP address')); @@ -37591,8 +37459,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ jid_element.setCustomValidity(''); return true; }, - - authenticate(ev) { + authenticate: function authenticate(ev) { /* Authenticate the user based on a form submission event. */ if (ev && ev.preventDefault) { @@ -37608,10 +37475,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const form_data = new FormData(ev.target); + var form_data = new FormData(ev.target); _converse.trusted = form_data.get('trusted'); _converse.storage = form_data.get('trusted') ? 'local' : 'session'; - let jid = form_data.get('jid'); + var jid = form_data.get('jid'); if (_converse.locked_domain) { jid = Strophe.escapeNode(jid) + '@' + _converse.locked_domain; @@ -37621,10 +37488,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.connect(jid, form_data.get('password')); }, - - connect(jid, password) { + connect: function connect(jid, password) { if (jid) { - const resource = Strophe.getResourceFromJid(jid); + var resource = Strophe.getResourceFromJid(jid); if (!resource) { jid = jid.toLowerCase() + _converse.generateResource(); @@ -37643,19 +37509,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.connect(jid, password, _converse.onConnectStatusChanged); } - }); _converse.ControlBoxPane = Backbone.NativeView.extend({ tagName: 'div', className: 'controlbox-pane', - - initialize() { + initialize: function initialize() { _converse.xmppstatusview = new _converse.XMPPStatusView({ 'model': _converse.xmppstatus }); this.el.insertAdjacentElement('afterBegin', _converse.xmppstatusview.render().el); } - }); _converse.ControlBoxToggle = Backbone.NativeView.extend({ tagName: 'a', @@ -37667,14 +37530,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ attributes: { 'href': "#" }, - - initialize() { + initialize: function initialize() { _converse.chatboxviews.insertRowColumn(this.render().el); _converse.api.waitUntil('initialized').then(this.render.bind(this)).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }, - - render() { + render: function render() { // We let the render method of ControlBoxView decide whether // the ControlBox or the Toggle must be shown. This prevents // artifacts (i.e. on page load the toggle is shown only to then @@ -37684,18 +37545,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); return this; }, - - hide(callback) { + hide: function hide(callback) { u.hideElement(this.el); callback(); }, - - show(callback) { + show: function show(callback) { u.fadeIn(this.el, callback); }, - - showControlBox() { - let controlbox = _converse.chatboxes.get('controlbox'); + showControlBox: function showControlBox() { + var controlbox = _converse.chatboxes.get('controlbox'); if (!controlbox) { controlbox = _converse.addControlBox(); @@ -37709,12 +37567,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ controlbox.trigger('show'); } }, - - onClick(e) { + onClick: function onClick(e) { e.preventDefault(); if (u.isVisible(_converse.root.querySelector("#controlbox"))) { - const controlbox = _converse.chatboxes.get('controlbox'); + var controlbox = _converse.chatboxes.get('controlbox'); if (_converse.connection.connected) { controlbox.save({ @@ -37727,15 +37584,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.showControlBox(); } } - }); - _converse.on('clearSession', () => { + _converse.on('clearSession', function () { if (_converse.trusted) { - const chatboxes = _.get(_converse, 'chatboxes', null); + var chatboxes = _.get(_converse, 'chatboxes', null); if (!_.isNil(chatboxes)) { - const controlbox = chatboxes.get('controlbox'); + var controlbox = chatboxes.get('controlbox'); if (controlbox && controlbox.collection && controlbox.collection.browserStorage) { controlbox.save({ @@ -37748,20 +37604,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ Promise.all([_converse.api.waitUntil('connectionInitialized'), _converse.api.waitUntil('chatBoxesInitialized')]).then(_converse.addControlBox).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); - _converse.on('chatBoxesFetched', () => { - const controlbox = _converse.chatboxes.get('controlbox') || _converse.addControlBox(); + _converse.on('chatBoxesFetched', function () { + var controlbox = _converse.chatboxes.get('controlbox') || _converse.addControlBox(); controlbox.save({ connected: true }); }); - const disconnect = function disconnect() { + var disconnect = function disconnect() { /* Upon disconnection, set connected to `false`, so that if * we reconnect, "onConnected" will be called, * to fetch the roster again and to send out a presence stanza. */ - const view = _converse.chatboxviews.get('controlbox'); + var view = _converse.chatboxviews.get('controlbox'); view.model.set({ 'connected': false @@ -37773,7 +37629,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.on('will-reconnect', disconnect); } - }); }); @@ -37789,6 +37644,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ "use strict"; var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return right[Symbol.hasInstance](left); } else { return left instanceof right; } } + // Converse.js // https://conversejs.org // @@ -37805,12 +37662,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ */ // "use strict"; // Strophe globals - const _Strophe = Strophe, - $build = _Strophe.$build, - $iq = _Strophe.$iq, - $msg = _Strophe.$msg, - $pres = _Strophe.$pres; - const b64_sha1 = Strophe.SHA1.b64_sha1; + var _Strophe = Strophe, + $build = _Strophe.$build, + $iq = _Strophe.$iq, + $msg = _Strophe.$msg, + $pres = _Strophe.$pres; + var b64_sha1 = Strophe.SHA1.b64_sha1; Strophe = Strophe.Strophe; // Add Strophe Namespaces Strophe.addNamespace('CARBONS', 'urn:xmpp:carbons:2'); @@ -37844,7 +37701,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ '_': _ } }; - const _converse = { + var _converse = { 'templates': {}, 'promises': {} }; @@ -37958,7 +37815,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ whitelisted_plugins: [] }; - _converse.log = function (message, level, style = '') { + _converse.log = function (message, level) { + var style = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; + /* Logs messages to the browser's developer console. * * Parameters: @@ -37976,13 +37835,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ style = style || 'color: maroon'; } - if (message instanceof Error) { + if (_instanceof(message, Error)) { message = message.stack; } - const prefix = style ? '%c' : ''; + var prefix = style ? '%c' : ''; - const logger = _.assign({ + var logger = _.assign({ 'debug': _.get(console, 'log') ? console.log.bind(console) : _.noop, 'error': _.get(console, 'log') ? console.log.bind(console) : _.noop, 'info': _.get(console, 'log') ? console.log.bind(console) : _.noop, @@ -37990,18 +37849,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }, console); if (level === Strophe.LogLevel.ERROR) { - logger.error(`${prefix} ERROR: ${message}`, style); + logger.error("".concat(prefix, " ERROR: ").concat(message), style); } else if (level === Strophe.LogLevel.WARN) { if (_converse.debug) { - logger.warn(`${prefix} ${moment().format()} WARNING: ${message}`, style); + logger.warn("".concat(prefix, " ").concat(moment().format(), " WARNING: ").concat(message), style); } } else if (level === Strophe.LogLevel.FATAL) { - logger.error(`${prefix} FATAL: ${message}`, style); + logger.error("".concat(prefix, " FATAL: ").concat(message), style); } else if (_converse.debug) { if (level === Strophe.LogLevel.DEBUG) { - logger.debug(`${prefix} ${moment().format()} DEBUG: ${message}`, style); + logger.debug("".concat(prefix, " ").concat(moment().format(), " DEBUG: ").concat(message), style); } else { - logger.info(`${prefix} ${moment().format()} INFO: ${message}`, style); + logger.info("".concat(prefix, " ").concat(moment().format(), " INFO: ").concat(message), style); } } }; @@ -38027,8 +37886,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return i18n.translate.apply(i18n, arguments); }; - const __ = _converse.__; - const PROMISES = ['initialized', 'connectionInitialized', 'pluginsInitialized', 'statusInitialized']; + var __ = _converse.__; + var PROMISES = ['initialized', 'connectionInitialized', 'pluginsInitialized', 'statusInitialized']; function addPromise(promise) { /* Private function, used to add a new promise to the ones already @@ -38041,7 +37900,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /* Event emitter and promise resolver */ _converse.trigger.apply(this, arguments); - const promise = _converse.promises[name]; + var promise = _converse.promises[name]; if (!_.isUndefined(promise)) { promise.resolve(); @@ -38053,8 +37912,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.initialize = function (settings, callback) { "use strict"; + var _this = this; + settings = !_.isUndefined(settings) ? settings : {}; - const init_promise = u.getResolveablePromise(); + var init_promise = u.getResolveablePromise(); _.each(PROMISES, addPromise); @@ -38082,7 +37943,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse._tearDown(); } - let unloadevent; + var unloadevent; if ('onpagehide' in window) { // Pagehide gets thrown in more cases than unload. Specifically it @@ -38133,7 +37994,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // Module-level functions // ---------------------- - this.generateResource = () => `/converse.js-${Math.floor(Math.random() * 139749528).toString()}`; + this.generateResource = function () { + return "/converse.js-".concat(Math.floor(Math.random() * 139749528).toString()); + }; this.sendCSI = function (stat) { /* Send out a Chat Status Notification (XEP-0352) @@ -38185,7 +38048,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const stat = _converse.xmppstatus.get('status'); + var stat = _converse.xmppstatus.get('status'); _converse.idle_seconds++; @@ -38239,7 +38102,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * is being canceled. * (String) message - An optional message to the user */ - const pres = $pres({ + var pres = $pres({ to: jid, type: "unsubscribed" }); @@ -38284,7 +38147,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * Will either start a teardown process for converse.js or attempt * to reconnect. */ - const reason = _converse.disconnection_reason; + var reason = _converse.disconnection_reason; if (_converse.disconnection_cause === Strophe.Status.AUTHFAIL) { if (_converse.credentials_url && _converse.auto_reconnect) { @@ -38324,7 +38187,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * through various states while establishing or tearing down a * connection. */ - _converse.log(`Status changed to: ${_converse.CONNECTION_STATUS[status]}`); + _converse.log("Status changed to: ".concat(_converse.CONNECTION_STATUS[status])); if (status === Strophe.Status.CONNECTED || status === Strophe.Status.ATTACHED) { _converse.setConnectionStatus(status); // By default we always want to send out an initial presence stanza. @@ -38370,10 +38233,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.onDisconnected(); } else if (status === Strophe.Status.CONNFAIL) { - let feedback = message; + var feedback = message; if (message === "host-unknown" || message == "remote-connection-failed") { - feedback = __("Sorry, we could not connect to the XMPP host with domain: %1$s", `\"${Strophe.getDomainFromJid(_converse.connection.jid)}\"`); + feedback = __("Sorry, we could not connect to the XMPP host with domain: %1$s", "\"".concat(Strophe.getDomainFromJid(_converse.connection.jid), "\"")); } else if (!_.isUndefined(message) && message === _.get(Strophe, 'ErrorCondition.NO_AUTH_MECH')) { feedback = __("The XMPP server did not offer a supported authentication mechanism"); } @@ -38388,23 +38251,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.incrementMsgCounter = function () { this.msg_counter += 1; - const unreadMsgCount = this.msg_counter; - let title = document.title; + var unreadMsgCount = this.msg_counter; + var title = document.title; if (_.isNil(title)) { return; } if (title.search(/^Messages \(\d+\) /) === -1) { - title = `Messages (${unreadMsgCount}) ${title}`; + title = "Messages (".concat(unreadMsgCount, ") ").concat(title); } else { - title = title.replace(/^Messages \(\d+\) /, `Messages (${unreadMsgCount})`); + title = title.replace(/^Messages \(\d+\) /, "Messages (".concat(unreadMsgCount, ")")); } }; this.clearMsgCounter = function () { this.msg_counter = 0; - let title = document.title; + var title = document.title; if (_.isNil(title)) { return; @@ -38415,7 +38278,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }; - this.initStatus = reconnecting => { + this.initStatus = function (reconnecting) { // If there's no xmppstatus obj, then we were never connected to // begin with, so we set reconnecting to false. reconnecting = _.isUndefined(_converse.xmppstatus) ? false : reconnecting; @@ -38423,12 +38286,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ if (reconnecting) { _converse.onStatusInitialized(reconnecting); } else { - this.xmppstatus = new this.XMPPStatus(); - const id = b64_sha1(`converse.xmppstatus-${_converse.bare_jid}`); - this.xmppstatus.id = id; // Appears to be necessary for backbone.browserStorage + _this.xmppstatus = new _this.XMPPStatus(); + var id = b64_sha1("converse.xmppstatus-".concat(_converse.bare_jid)); + _this.xmppstatus.id = id; // Appears to be necessary for backbone.browserStorage - this.xmppstatus.browserStorage = new Backbone.BrowserStorage[_converse.storage](id); - this.xmppstatus.fetch({ + _this.xmppstatus.browserStorage = new Backbone.BrowserStorage[_converse.storage](id); + + _this.xmppstatus.fetch({ success: _.partial(_converse.onStatusInitialized, reconnecting), error: _.partial(_converse.onStatusInitialized, reconnecting) }); @@ -38437,7 +38301,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.initSession = function () { _converse.session = new Backbone.Model(); - const id = b64_sha1('converse.bosh-session'); + var id = b64_sha1('converse.bosh-session'); _converse.session.id = id; // Appears to be necessary for backbone.browserStorage _converse.session.browserStorage = new Backbone.BrowserStorage[_converse.storage](id); @@ -38479,8 +38343,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // XXX: eventually we should be able to just use // document.visibilityState (when we drop support for older // browsers). - let state; - const event_map = { + var state; + var event_map = { 'focus': "visible", 'focusin': "visible", 'pageshow': "visible", @@ -38503,14 +38367,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.windowState = state; _converse.emit('windowStateChanged', { - state + state: state }); }; this.registerGlobalEventHandlers = function () { // Taken from: // http://stackoverflow.com/questions/1060008/is-there-a-way-to-detect-if-a-browser-window-is-not-currently-active - let hidden = "hidden"; // Standards: + var hidden = "hidden"; // Standards: if (hidden in document) { document.addEventListener("visibilitychange", _.partial(_converse.saveWindowState, _, hidden)); @@ -38539,6 +38403,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; this.enableCarbons = function () { + var _this2 = this; + /* Ask the XMPP server to enable Message Carbons * See XEP-0280 https://xmpp.org/extensions/xep-0280.html#enabling */ @@ -38546,18 +38412,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const carbons_iq = new Strophe.Builder('iq', { + var carbons_iq = new Strophe.Builder('iq', { 'from': this.connection.jid, 'id': 'enablecarbons', 'type': 'set' }).c('enable', { xmlns: Strophe.NS.CARBONS }); - this.connection.addHandler(iq => { + this.connection.addHandler(function (iq) { if (iq.querySelectorAll('error').length > 0) { _converse.log('An error occured while trying to enable message carbons.', Strophe.LogLevel.ERROR); } else { - this.session.save({ + _this2.session.save({ carbons_enabled: true }); @@ -38615,24 +38481,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'connection_status': Strophe.Status.DISCONNECTED, 'message': '' }, - - initialize() { - this.on('change', () => { + initialize: function initialize() { + this.on('change', function () { _converse.emit('connfeedback', _converse.connfeedback); }); } - }); this.connfeedback = new this.ConnectionFeedback(); this.XMPPStatus = Backbone.Model.extend({ - defaults() { + defaults: function defaults() { return { "jid": _converse.bare_jid, "status": _converse.default_state }; }, + initialize: function initialize() { + var _this3 = this; - initialize() { this.vcard = _converse.vcards.findWhere({ 'jid': this.get('jid') }); @@ -38643,22 +38508,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } - this.on('change:status', item => { - const status = this.get('status'); - this.sendPresence(status); + this.on('change:status', function (item) { + var status = _this3.get('status'); + + _this3.sendPresence(status); _converse.emit('statusChanged', status); }); - this.on('change:status_message', () => { - const status_message = this.get('status_message'); - this.sendPresence(this.get('status'), status_message); + this.on('change:status_message', function () { + var status_message = _this3.get('status_message'); + + _this3.sendPresence(_this3.get('status'), status_message); _converse.emit('statusMessageChanged', status_message); }); }, - - constructPresence(type, status_message) { - let presence; + constructPresence: function constructPresence(type, status_message) { + var presence; type = _.isString(type) ? type : this.get('status') || _converse.default_state; status_message = _.isString(status_message) ? status_message : this.get('status_message'); // Most of these presence types are actually not explicitly sent, // but I add all of them here for reference and future proofing. @@ -38684,11 +38550,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ presence.c('priority').t(_.isNaN(Number(_converse.priority)) ? 0 : _converse.priority); return presence; }, - - sendPresence(type, status_message) { + sendPresence: function sendPresence(type, status_message) { _converse.connection.send(this.constructPresence(type, status_message)); } - }); this.setUpXMLLogging = function () { @@ -38707,42 +38571,44 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }; - this.fetchLoginCredentials = () => new Promise((resolve, reject) => { - const xhr = new XMLHttpRequest(); - xhr.open('GET', _converse.credentials_url, true); - xhr.setRequestHeader('Accept', "application/json, text/javascript"); + this.fetchLoginCredentials = function () { + return new Promise(function (resolve, reject) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', _converse.credentials_url, true); + xhr.setRequestHeader('Accept', "application/json, text/javascript"); - xhr.onload = function () { - if (xhr.status >= 200 && xhr.status < 400) { - const data = JSON.parse(xhr.responseText); - resolve({ - 'jid': data.jid, - 'password': data.password - }); - } else { - xhr.onerror(); - } - }; + xhr.onload = function () { + if (xhr.status >= 200 && xhr.status < 400) { + var data = JSON.parse(xhr.responseText); + resolve({ + 'jid': data.jid, + 'password': data.password + }); + } else { + xhr.onerror(); + } + }; - xhr.onerror = function () { - delete _converse.connection; + xhr.onerror = function () { + delete _converse.connection; - _converse.emit('noResumeableSession', this); + _converse.emit('noResumeableSession', this); - reject(xhr.responseText); - }; + reject(xhr.responseText); + }; - xhr.send(); - }); + xhr.send(); + }); + }; this.startNewBOSHSession = function () { - const xhr = new XMLHttpRequest(); + var xhr = new XMLHttpRequest(); xhr.open('GET', _converse.prebind_url, true); xhr.setRequestHeader('Accept', "application/json, text/javascript"); xhr.onload = function () { if (xhr.status >= 200 && xhr.status < 400) { - const data = JSON.parse(xhr.responseText); + var data = JSON.parse(xhr.responseText); _converse.connection.attach(data.jid, data.sid, data.rid, _converse.onConnectStatusChanged); } else { @@ -38762,7 +38628,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.restoreBOSHSession = function (jid_is_required) { /* Tries to restore a cached BOSH session. */ if (!this.jid) { - const msg = "restoreBOSHSession: tried to restore a \"keepalive\" session " + "but we don't have the JID for the user!"; + var msg = "restoreBOSHSession: tried to restore a \"keepalive\" session " + "but we don't have the JID for the user!"; if (jid_is_required) { throw new Error(msg); @@ -38851,7 +38717,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.connection.connect(this.jid.toLowerCase(), null, this.onConnectStatusChanged); } else if (this.authentication === _converse.LOGIN) { - const password = _.isNil(credentials) ? _converse.connection.pass || this.password : credentials.password; + var password = _.isNil(credentials) ? _converse.connection.pass || this.password : credentials.password; if (!password) { if (this.auto_login) { @@ -38865,7 +38731,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const resource = Strophe.getResourceFromJid(this.jid); + var resource = Strophe.getResourceFromJid(this.jid); if (!resource) { this.jid = this.jid.toLowerCase() + _converse.generateResource(); @@ -38944,22 +38810,21 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // in any case. _converse.pluggable.initialized_plugins = []; - const whitelist = _converse.core_plugins.concat(_converse.whitelisted_plugins); + var whitelist = _converse.core_plugins.concat(_converse.whitelisted_plugins); if (_converse.view_mode === 'embedded') { _.forEach([// eslint-disable-line lodash/prefer-map - "converse-bookmarks", "converse-controlbox", "converse-headline", "converse-register"], name => { + "converse-bookmarks", "converse-controlbox", "converse-headline", "converse-register"], function (name) { _converse.blacklisted_plugins.push(name); }); } _converse.pluggable.initializePlugins({ - 'updateSettings'() { + 'updateSettings': function updateSettings() { _converse.log("(DEPRECATION) " + "The `updateSettings` method has been deprecated. " + "Please use `_converse.api.settings.update` instead.", Strophe.LogLevel.WARN); _converse.api.settings.update.apply(_converse, arguments); }, - '_converse': _converse }, whitelist, _converse.blacklisted_plugins); @@ -39006,40 +38871,32 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.api = { 'connection': { - 'connected'() { + 'connected': function connected() { return _converse.connection && _converse.connection.connected || false; }, - - 'disconnect'() { + 'disconnect': function disconnect() { _converse.connection.disconnect(); } - }, - - 'emit'() { + 'emit': function emit() { _converse.emit.apply(_converse, arguments); }, - 'user': { - 'jid'() { + 'jid': function jid() { return _converse.connection.jid; }, - - 'login'(credentials) { + 'login': function login(credentials) { _converse.logIn(credentials); }, - - 'logout'() { + 'logout': function logout() { _converse.logOut(); }, - 'status': { - 'get'() { + 'get': function get() { return _converse.xmppstatus.get('status'); }, - - 'set'(value, message) { - const data = { + 'set': function set(value, message) { + var data = { 'status': value }; @@ -39055,36 +38912,31 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.xmppstatus.save(data); }, - 'message': { - 'get'() { + 'get': function get() { return _converse.xmppstatus.get('status_message'); }, - - 'set'(stat) { + 'set': function set(stat) { _converse.xmppstatus.save({ 'status_message': stat }); } - } } }, 'settings': { - 'update'(settings) { + 'update': function update(settings) { u.merge(_converse.default_settings, settings); u.merge(_converse, settings); u.applyUserSettings(_converse, settings, _converse.user_settings); }, - - 'get'(key) { + 'get': function get(key) { if (_.includes(_.keys(_converse.default_settings), key)) { return _converse[key]; } }, - - 'set'(key, val) { - const o = {}; + 'set': function set(key, val) { + var o = {}; if (_.isObject(key)) { _.assignIn(_converse, _.pick(key, _.keys(_converse.default_settings))); @@ -39094,18 +38946,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _.assignIn(_converse, _.pick(o, _.keys(_converse.default_settings))); } } - }, 'promises': { - 'add'(promises) { + 'add': function add(promises) { promises = _.isArray(promises) ? promises : [promises]; _.each(promises, addPromise); } - }, 'tokens': { - 'get'(id) { + 'get': function get(id) { if (!_converse.expose_rid_and_sid || _.isUndefined(_converse.connection)) { return null; } @@ -39116,14 +38966,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _converse.connection.sid || _converse.connection._proto.sid; } } - }, 'listen': { 'once': _converse.once.bind(_converse), 'on': _converse.on.bind(_converse), 'not': _converse.off.bind(_converse), - - 'stanza'(name, options, handler) { + 'stanza': function stanza(name, options, handler) { if (_.isFunction(options)) { handler = options; options = {}; @@ -39133,11 +38981,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.addHandler(handler, options.ns, name, options.type, options.id, options.from, options); } - }, - - 'waitUntil'(name) { - const promise = _converse.promises[name]; + 'waitUntil': function waitUntil(name) { + var promise = _converse.promises[name]; if (_.isUndefined(promise)) { return null; @@ -39145,29 +38991,25 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return promise; }, - - 'send'(stanza) { + 'send': function send(stanza) { _converse.connection.send(stanza); } - }; // The public API window.converse = { - 'initialize'(settings, callback) { + 'initialize': function initialize(settings, callback) { return _converse.initialize(settings, callback); }, - 'plugins': { - 'add'(name, plugin) { + 'add': function add(name, plugin) { plugin.__name__ = name; if (!_.isUndefined(_converse.pluggable.plugins[name])) { - throw new TypeError(`Error: plugin with name "${name}" has already been ` + 'registered!'); + throw new TypeError("Error: plugin with name \"".concat(name, "\" has already been ") + 'registered!'); } else { _converse.pluggable.plugins[name] = plugin; } } - }, 'env': { '$build': $build, @@ -39216,21 +39058,21 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); })(void 0, function (converse, sizzle) { - const _converse$env = converse.env, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - Strophe = _converse$env.Strophe, - $iq = _converse$env.$iq, - b64_sha1 = _converse$env.b64_sha1, - utils = _converse$env.utils, - _ = _converse$env._, - f = _converse$env.f; + var _converse$env = converse.env, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + Strophe = _converse$env.Strophe, + $iq = _converse$env.$iq, + b64_sha1 = _converse$env.b64_sha1, + utils = _converse$env.utils, + _ = _converse$env._, + f = _converse$env.f; converse.plugins.add('converse-disco', { - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse; // Promises exposed by this plugin + var _converse = this._converse; // Promises exposed by this plugin _converse.api.promises.add('discoInitialized'); @@ -39241,23 +39083,21 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * See XEP-0030: https://xmpp.org/extensions/xep-0030.html */ idAttribute: 'jid', - - initialize() { + initialize: function initialize() { this.waitUntilFeaturesDiscovered = utils.getResolveablePromise(); this.dataforms = new Backbone.Collection(); - this.dataforms.browserStorage = new Backbone.BrowserStorage.session(b64_sha1(`converse.dataforms-{this.get('jid')}`)); + this.dataforms.browserStorage = new Backbone.BrowserStorage.session(b64_sha1("converse.dataforms-{this.get('jid')}")); this.features = new Backbone.Collection(); - this.features.browserStorage = new Backbone.BrowserStorage.session(b64_sha1(`converse.features-${this.get('jid')}`)); + this.features.browserStorage = new Backbone.BrowserStorage.session(b64_sha1("converse.features-".concat(this.get('jid')))); this.features.on('add', this.onFeatureAdded, this); this.identities = new Backbone.Collection(); - this.identities.browserStorage = new Backbone.BrowserStorage.session(b64_sha1(`converse.identities-${this.get('jid')}`)); + this.identities.browserStorage = new Backbone.BrowserStorage.session(b64_sha1("converse.identities-".concat(this.get('jid')))); this.fetchFeatures(); this.items = new _converse.DiscoEntities(); - this.items.browserStorage = new Backbone.BrowserStorage.session(b64_sha1(`converse.disco-items-${this.get('jid')}`)); + this.items.browserStorage = new Backbone.BrowserStorage.session(b64_sha1("converse.disco-items-".concat(this.get('jid')))); this.items.fetch(); }, - - getIdentity(category, type) { + getIdentity: function getIdentity(category, type) { /* Returns a Promise which resolves with a map indicating * whether a given identity is provided. * @@ -39265,10 +39105,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (String) category - The identity category * (String) type - The identity type */ - const entity = this; - return new Promise((resolve, reject) => { + var entity = this; + return new Promise(function (resolve, reject) { function fulfillPromise() { - const model = entity.identities.findWhere({ + var model = entity.identities.findWhere({ 'category': category, 'type': type }); @@ -39278,16 +39118,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ entity.waitUntilFeaturesDiscovered.then(fulfillPromise).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }); }, - - hasFeature(feature) { + hasFeature: function hasFeature(feature) { /* Returns a Promise which resolves with a map indicating * whether a given feature is supported. * * Parameters: * (String) feature - The feature that might be supported. */ - const entity = this; - return new Promise((resolve, reject) => { + var entity = this; + return new Promise(function (resolve, reject) { function fulfillPromise() { if (entity.features.findWhere({ 'var': feature @@ -39301,22 +39140,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ entity.waitUntilFeaturesDiscovered.then(fulfillPromise).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }); }, - - onFeatureAdded(feature) { + onFeatureAdded: function onFeatureAdded(feature) { feature.entity = this; _converse.emit('serviceDiscovered', feature); }, + fetchFeatures: function fetchFeatures() { + var _this = this; - fetchFeatures() { if (this.features.browserStorage.records.length === 0) { this.queryInfo(); } else { this.features.fetch({ add: true, - success: () => { - this.waitUntilFeaturesDiscovered.resolve(); - this.trigger('featuresDiscovered'); + success: function success() { + _this.waitUntilFeaturesDiscovered.resolve(); + + _this.trigger('featuresDiscovered'); } }); this.identities.fetch({ @@ -39324,30 +39164,29 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } }, - - queryInfo() { + queryInfo: function queryInfo() { _converse.api.disco.info(this.get('jid'), null, this.onInfo.bind(this)); }, + onDiscoItems: function onDiscoItems(stanza) { + var _this2 = this; - onDiscoItems(stanza) { - _.each(sizzle(`query[xmlns="${Strophe.NS.DISCO_ITEMS}"] item`, stanza), item => { + _.each(sizzle("query[xmlns=\"".concat(Strophe.NS.DISCO_ITEMS, "\"] item"), stanza), function (item) { if (item.getAttribute("node")) { // XXX: ignore nodes for now. // See: https://xmpp.org/extensions/xep-0030.html#items-nodes return; } - const jid = item.getAttribute('jid'); + var jid = item.getAttribute('jid'); - if (_.isUndefined(this.items.get(jid))) { - this.items.create({ + if (_.isUndefined(_this2.items.get(jid))) { + _this2.items.create({ 'jid': jid }); } }); }, - - queryForItems() { + queryForItems: function queryForItems() { if (_.isEmpty(this.identities.where({ 'category': 'server' }))) { @@ -39358,35 +39197,36 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.api.disco.items(this.get('jid'), null, this.onDiscoItems.bind(this)); }, + onInfo: function onInfo(stanza) { + var _this3 = this; - onInfo(stanza) { - _.forEach(stanza.querySelectorAll('identity'), identity => { - this.identities.create({ + _.forEach(stanza.querySelectorAll('identity'), function (identity) { + _this3.identities.create({ 'category': identity.getAttribute('category'), 'type': identity.getAttribute('type'), 'name': identity.getAttribute('name') }); }); - _.each(sizzle(`x[type="result"][xmlns="${Strophe.NS.XFORM}"]`, stanza), form => { - const data = {}; + _.each(sizzle("x[type=\"result\"][xmlns=\"".concat(Strophe.NS.XFORM, "\"]"), stanza), function (form) { + var data = {}; - _.each(form.querySelectorAll('field'), field => { + _.each(form.querySelectorAll('field'), function (field) { data[field.getAttribute('var')] = { 'value': _.get(field.querySelector('value'), 'textContent'), 'type': field.getAttribute('type') }; }); - this.dataforms.create(data); + _this3.dataforms.create(data); }); - if (stanza.querySelector(`feature[var="${Strophe.NS.DISCO_ITEMS}"]`)) { + if (stanza.querySelector("feature[var=\"".concat(Strophe.NS.DISCO_ITEMS, "\"]"))) { this.queryForItems(); } - _.forEach(stanza.querySelectorAll('feature'), feature => { - this.features.create({ + _.forEach(stanza.querySelectorAll('feature'), function (feature) { + _this3.features.create({ 'var': feature.getAttribute('var'), 'from': stanza.getAttribute('from') }); @@ -39395,25 +39235,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.waitUntilFeaturesDiscovered.resolve(); this.trigger('featuresDiscovered'); } - }); _converse.DiscoEntities = Backbone.Collection.extend({ model: _converse.DiscoEntity, + fetchEntities: function fetchEntities() { + var _this4 = this; - fetchEntities() { - return new Promise((resolve, reject) => { - this.fetch({ + return new Promise(function (resolve, reject) { + _this4.fetch({ add: true, success: resolve, - - error() { + error: function error() { reject(new Error("Could not fetch disco entities")); } - }); }); } - }); function addClientFeatures() { @@ -39440,12 +39277,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ function initStreamFeatures() { _converse.stream_features = new Backbone.Collection(); - _converse.stream_features.browserStorage = new Backbone.BrowserStorage.session(b64_sha1(`converse.stream-features-${_converse.bare_jid}`)); + _converse.stream_features.browserStorage = new Backbone.BrowserStorage.session(b64_sha1("converse.stream-features-".concat(_converse.bare_jid))); _converse.stream_features.fetch({ - success(collection) { + success: function success(collection) { if (collection.length === 0 && _converse.connection.features) { - _.forEach(_converse.connection.features.childNodes, feature => { + _.forEach(_converse.connection.features.childNodes, function (feature) { _converse.stream_features.create({ 'name': feature.nodeName, 'xmlns': feature.getAttribute('xmlns') @@ -39453,7 +39290,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } } - }); _converse.emit('streamFeaturesAdded'); @@ -39465,9 +39301,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.addHandler(onDiscoInfoRequest, Strophe.NS.DISCO_INFO, 'iq', 'get', null, null); _converse.disco_entities = new _converse.DiscoEntities(); - _converse.disco_entities.browserStorage = new Backbone.BrowserStorage.session(b64_sha1(`converse.disco-entities-${_converse.bare_jid}`)); + _converse.disco_entities.browserStorage = new Backbone.BrowserStorage.session(b64_sha1("converse.disco-entities-".concat(_converse.bare_jid))); - _converse.disco_entities.fetchEntities().then(collection => { + _converse.disco_entities.fetchEntities().then(function (collection) { if (collection.length === 0 || !collection.get(_converse.domain)) { // If we don't have an entity for our own XMPP server, // create one. @@ -39486,9 +39322,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.api.listen.on('connected', initializeDisco); - _converse.api.listen.on('beforeTearDown', () => { + _converse.api.listen.on('beforeTearDown', function () { if (_converse.disco_entities) { - _converse.disco_entities.each(entity => { + _converse.disco_entities.each(function (entity) { entity.features.reset(); entity.features.browserStorage._clear(); @@ -39500,13 +39336,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }); - const plugin = this; + var plugin = this; plugin._identities = []; plugin._features = []; function onDiscoInfoRequest(stanza) { - const node = stanza.getElementsByTagName('query')[0].getAttribute('node'); - const attrs = { + var node = stanza.getElementsByTagName('query')[0].getAttribute('node'); + var attrs = { xmlns: Strophe.NS.DISCO_INFO }; @@ -39514,11 +39350,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ attrs.node = node; } - const iqresult = $iq({ + var iqresult = $iq({ 'type': 'result', 'id': stanza.getAttribute('id') }); - const from = stanza.getAttribute('from'); + var from = stanza.getAttribute('from'); if (from !== null) { iqresult.attrs({ @@ -39526,8 +39362,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } - _.each(plugin._identities, identity => { - const attrs = { + _.each(plugin._identities, function (identity) { + var attrs = { 'category': identity.category, 'type': identity.type }; @@ -39543,7 +39379,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ iqresult.c('identity', attrs).up(); }); - _.each(plugin._features, feature => { + _.each(plugin._features, function (feature) { iqresult.c('feature', { 'var': feature }).up(); @@ -39597,7 +39433,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * @example * _converse.api.disco.own.identities.clear(); */ - add(category, type, name, lang) { + add: function add(category, type, name, lang) { for (var i = 0; i < plugin._identities.length; i++) { if (plugin._identities[i].category == category && plugin._identities[i].type == type && plugin._identities[i].name == name && plugin._identities[i].lang == lang) { return false; @@ -39619,7 +39455,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * @example * _converse.api.disco.own.identities.clear(); */ - clear() { + clear: function clear() { plugin._identities = []; }, @@ -39631,10 +39467,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * @example * const identities = _converse.api.disco.own.identities.get(); */ - get() { + get: function get() { return plugin._identities; } - }, /** @@ -39651,7 +39486,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * @example * _converse.api.disco.own.features.add("http://jabber.org/protocol/caps"); */ - add(name) { + add: function add(name) { for (var i = 0; i < plugin._features.length; i++) { if (plugin._features[i] == name) { return false; @@ -39668,7 +39503,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * @example * _converse.api.disco.own.features.clear(); */ - clear() { + clear: function clear() { plugin._features = []; }, @@ -39680,15 +39515,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * @example * const features = _converse.api.disco.own.features.get(); */ - get() { + get: function get() { return plugin._features; } - } }, - - 'info'(jid, node, callback, errback, timeout) { - const attrs = { + 'info': function info(jid, node, callback, errback, timeout) { + var attrs = { xmlns: Strophe.NS.DISCO_INFO }; @@ -39696,7 +39529,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ attrs.node = node; } - const info = $iq({ + var info = $iq({ 'from': _converse.connection.jid, 'to': jid, 'type': 'get' @@ -39704,9 +39537,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.sendIQ(info, callback, errback, timeout); }, - - 'items'(jid, node, callback, errback, timeout) { - const attrs = { + 'items': function items(jid, node, callback, errback, timeout) { + var attrs = { 'xmlns': Strophe.NS.DISCO_ITEMS }; @@ -39714,7 +39546,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ attrs.node = node; } - const items = $iq({ + var items = $iq({ 'from': _converse.connection.jid, 'to': jid, 'type': 'get' @@ -39722,15 +39554,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.sendIQ(items, callback, errback, timeout); }, - 'entities': { - 'get'(entity_jid, create = false) { - return _converse.api.waitUntil('discoInitialized').then(() => { + 'get': function get(entity_jid) { + var create = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + return _converse.api.waitUntil('discoInitialized').then(function () { if (_.isNil(entity_jid)) { return _converse.disco_entities; } - const entity = _converse.disco_entities.get(entity_jid); + var entity = _converse.disco_entities.get(entity_jid); if (entity || !create) { return entity; @@ -39741,10 +39573,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); }); } - }, - - 'supports'(feature, entity_jid) { + 'supports': function supports(feature, entity_jid) { /* Returns a Promise which resolves with a list containing * _converse.Entity instances representing the entity * itself or those items associated with the entity if @@ -39762,13 +39592,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ throw new TypeError('disco.supports: You need to provide an entity JID'); } - return new Promise((resolve, reject) => { - return _converse.api.waitUntil('discoInitialized').then(() => { - _converse.api.disco.entities.get(entity_jid, true).then(entity => { - entity.waitUntilFeaturesDiscovered.then(() => { - const promises = _.concat(entity.items.map(item => item.hasFeature(feature)), entity.hasFeature(feature)); + return new Promise(function (resolve, reject) { + return _converse.api.waitUntil('discoInitialized').then(function () { + _converse.api.disco.entities.get(entity_jid, true).then(function (entity) { + entity.waitUntilFeaturesDiscovered.then(function () { + var promises = _.concat(entity.items.map(function (item) { + return item.hasFeature(feature); + }), entity.hasFeature(feature)); - Promise.all(promises).then(result => { + Promise.all(promises).then(function (result) { resolve(f.filter(f.isObject, result)); }).catch(reject); }).catch(reject); @@ -39776,8 +39608,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }).catch(reject); }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }, - - 'getIdentity'(category, type, entity_jid) { + 'getIdentity': function getIdentity(category, type, entity_jid) { /* Returns a Promise which resolves with a map indicating * whether an identity with a given type is provided by * the entity. @@ -39793,17 +39624,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * For example: 'pep' * (String) entity_jid - The JID of the entity which might have the identity */ - return new Promise((resolve, reject) => { - _converse.api.waitUntil('discoInitialized').then(() => { - _converse.api.disco.entities.get(entity_jid, true).then(entity => resolve(entity.getIdentity(category, type))); + return new Promise(function (resolve, reject) { + _converse.api.waitUntil('discoInitialized').then(function () { + _converse.api.disco.entities.get(entity_jid, true).then(function (entity) { + return resolve(entity.getIdentity(category, type)); + }); }); }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); } - } }); } - }); }); @@ -39835,11 +39666,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, tpl_dragresize) { "use strict"; - const _ = converse.env._; + var _ = converse.env._; function renderDragResizeHandles(_converse, view) { - const flyout = view.el.querySelector('.box-flyout'); - const div = document.createElement('div'); + var flyout = view.el.querySelector('.box-flyout'); + var div = document.createElement('div'); div.innerHTML = tpl_dragresize(); flyout.insertBefore(div, flyout.firstChild); } @@ -39856,19 +39687,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * NB: These plugins need to have already been loaded via require.js. */ dependencies: ["converse-chatview", "converse-headline", "converse-muc-views"], - - enabled(_converse) { + enabled: function enabled(_converse) { return _converse.view_mode == 'overlayed'; }, - overrides: { // Overrides mentioned here will be picked up by converse.js's // plugin architecture they will replace existing methods on the // relevant objects or classes. // // New functions which don't exist yet can also be added. - registerGlobalEventHandlers() { - const that = this; + registerGlobalEventHandlers: function registerGlobalEventHandlers() { + var that = this; document.addEventListener('mousemove', function (ev) { if (!that.resizing || !that.allow_dragresize) { return true; @@ -39883,8 +39712,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } ev.preventDefault(); - const height = that.applyDragResistance(that.resizing.chatbox.height, that.resizing.chatbox.model.get('default_height')); - const width = that.applyDragResistance(that.resizing.chatbox.width, that.resizing.chatbox.model.get('default_width')); + var height = that.applyDragResistance(that.resizing.chatbox.height, that.resizing.chatbox.model.get('default_height')); + var width = that.applyDragResistance(that.resizing.chatbox.width, that.resizing.chatbox.model.get('default_width')); if (that.connection.connected) { that.resizing.chatbox.model.save({ @@ -39906,15 +39735,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); return this.__super__.registerGlobalEventHandlers.apply(this, arguments); }, - ChatBox: { - initialize() { - const _converse = this.__super__._converse; + initialize: function initialize() { + var _converse = this.__super__._converse; - const result = this.__super__.initialize.apply(this, arguments), - height = this.get('height'), - width = this.get('width'), - save = this.get('id') === 'controlbox' ? this.set.bind(this) : this.save.bind(this); + var result = this.__super__.initialize.apply(this, arguments), + height = this.get('height'), + width = this.get('width'), + save = this.get('id') === 'controlbox' ? this.set.bind(this) : this.save.bind(this); save({ 'height': _converse.applyDragResistance(height, this.get('default_height')), @@ -39922,7 +39750,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); return result; } - }, ChatBoxView: { events: { @@ -39930,54 +39757,49 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'mousedown .dragresize-left': 'onStartHorizontalResize', 'mousedown .dragresize-topleft': 'onStartDiagonalResize' }, - - initialize() { + initialize: function initialize() { window.addEventListener('resize', _.debounce(this.setDimensions.bind(this), 100)); this.__super__.initialize.apply(this, arguments); }, - - render() { - const result = this.__super__.render.apply(this, arguments); + render: function render() { + var result = this.__super__.render.apply(this, arguments); renderDragResizeHandles(this.__super__._converse, this); this.setWidth(); return result; }, - - setWidth() { + setWidth: function setWidth() { // If a custom width is applied (due to drag-resizing), // then we need to set the width of the .chatbox element as well. if (this.model.get('width')) { this.el.style.width = this.model.get('width'); } }, - - _show() { + _show: function _show() { this.initDragResize().setDimensions(); this.__super__._show.apply(this, arguments); }, - - initDragResize() { + initDragResize: function initDragResize() { /* Determine and store the default box size. * We need this information for the drag-resizing feature. */ - const _converse = this.__super__._converse, - flyout = this.el.querySelector('.box-flyout'), - style = window.getComputedStyle(flyout); + var _converse = this.__super__._converse, + flyout = this.el.querySelector('.box-flyout'), + style = window.getComputedStyle(flyout); if (_.isUndefined(this.model.get('height'))) { - const height = parseInt(style.height.replace(/px$/, ''), 10), - width = parseInt(style.width.replace(/px$/, ''), 10); + var height = parseInt(style.height.replace(/px$/, ''), 10), + width = parseInt(style.width.replace(/px$/, ''), 10); this.model.set('height', height); this.model.set('default_height', height); this.model.set('width', width); this.model.set('default_width', width); } - const min_width = style['min-width']; - const min_height = style['min-height']; + var min_width = style['min-width']; + var min_height = style['min-height']; this.model.set('min_width', min_width.endsWith('px') ? Number(min_width.replace(/px$/, '')) : 0); this.model.set('min_height', min_height.endsWith('px') ? Number(min_height.replace(/px$/, '')) : 0); // Initialize last known mouse position @@ -39991,16 +39813,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - setDimensions() { + setDimensions: function setDimensions() { // Make sure the chat box has the right height and width. this.adjustToViewport(); this.setChatBoxHeight(this.model.get('height')); this.setChatBoxWidth(this.model.get('width')); }, - - setChatBoxHeight(height) { - const _converse = this.__super__._converse; + setChatBoxHeight: function setChatBoxHeight(height) { + var _converse = this.__super__._converse; if (height) { height = _converse.applyDragResistance(height, this.model.get('default_height')) + 'px'; @@ -40008,15 +39828,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ height = ""; } - const flyout_el = this.el.querySelector('.box-flyout'); + var flyout_el = this.el.querySelector('.box-flyout'); if (!_.isNull(flyout_el)) { flyout_el.style.height = height; } }, - - setChatBoxWidth(width) { - const _converse = this.__super__._converse; + setChatBoxWidth: function setChatBoxWidth(width) { + var _converse = this.__super__._converse; if (width) { width = _converse.applyDragResistance(width, this.model.get('default_width')) + 'px'; @@ -40025,19 +39844,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } this.el.style.width = width; - const flyout_el = this.el.querySelector('.box-flyout'); + var flyout_el = this.el.querySelector('.box-flyout'); if (!_.isNull(flyout_el)) { flyout_el.style.width = width; } }, - - adjustToViewport() { + adjustToViewport: function adjustToViewport() { /* Event handler called when viewport gets resized. We remove * custom width/height from chat boxes. */ - const viewport_width = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); - const viewport_height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + var viewport_width = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); + var viewport_height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); if (viewport_width <= 480) { this.model.set('height', undefined); @@ -40048,17 +39866,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.set('height', undefined); } }, - - onStartVerticalResize(ev) { - const _converse = this.__super__._converse; + onStartVerticalResize: function onStartVerticalResize(ev) { + var _converse = this.__super__._converse; if (!_converse.allow_dragresize) { return true; } // Record element attributes for mouseMove(). - const flyout = this.el.querySelector('.box-flyout'), - style = window.getComputedStyle(flyout); + var flyout = this.el.querySelector('.box-flyout'), + style = window.getComputedStyle(flyout); this.height = parseInt(style.height.replace(/px$/, ''), 10); _converse.resizing = { 'chatbox': this, @@ -40066,16 +39883,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; this.prev_pageY = ev.pageY; }, - - onStartHorizontalResize(ev) { - const _converse = this.__super__._converse; + onStartHorizontalResize: function onStartHorizontalResize(ev) { + var _converse = this.__super__._converse; if (!_converse.allow_dragresize) { return true; } - const flyout = this.el.querySelector('.box-flyout'), - style = window.getComputedStyle(flyout); + var flyout = this.el.querySelector('.box-flyout'), + style = window.getComputedStyle(flyout); this.width = parseInt(style.width.replace(/px$/, ''), 10); _converse.resizing = { 'chatbox': this, @@ -40083,17 +39899,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; this.prev_pageX = ev.pageX; }, - - onStartDiagonalResize(ev) { - const _converse = this.__super__._converse; + onStartDiagonalResize: function onStartDiagonalResize(ev) { + var _converse = this.__super__._converse; this.onStartHorizontalResize(ev); this.onStartVerticalResize(ev); _converse.resizing.direction = 'topleft'; }, - - resizeChatBox(ev) { - let diff; - const _converse = this.__super__._converse; + resizeChatBox: function resizeChatBox(ev) { + var diff; + var _converse = this.__super__._converse; if (_converse.resizing.direction.indexOf('top') === 0) { diff = ev.pageY - this.prev_pageY; @@ -40115,7 +39929,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } } - }, HeadlinesBoxView: { events: { @@ -40123,20 +39936,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'mousedown .dragresize-left': 'onStartHorizontalResize', 'mousedown .dragresize-topleft': 'onStartDiagonalResize' }, - - initialize() { + initialize: function initialize() { window.addEventListener('resize', _.debounce(this.setDimensions.bind(this), 100)); return this.__super__.initialize.apply(this, arguments); }, - - render() { - const result = this.__super__.render.apply(this, arguments); + render: function render() { + var result = this.__super__.render.apply(this, arguments); renderDragResizeHandles(this.__super__._converse, this); this.setWidth(); return result; } - }, ControlBoxView: { events: { @@ -40144,35 +39954,30 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'mousedown .dragresize-left': 'onStartHorizontalResize', 'mousedown .dragresize-topleft': 'onStartDiagonalResize' }, - - initialize() { + initialize: function initialize() { window.addEventListener('resize', _.debounce(this.setDimensions.bind(this), 100)); this.__super__.initialize.apply(this, arguments); }, - - render() { - const result = this.__super__.render.apply(this, arguments); + render: function render() { + var result = this.__super__.render.apply(this, arguments); renderDragResizeHandles(this.__super__._converse, this); this.setWidth(); return result; }, - - renderLoginPanel() { - const result = this.__super__.renderLoginPanel.apply(this, arguments); + renderLoginPanel: function renderLoginPanel() { + var result = this.__super__.renderLoginPanel.apply(this, arguments); this.initDragResize().setDimensions(); return result; }, - - renderControlBoxPane() { - const result = this.__super__.renderControlBoxPane.apply(this, arguments); + renderControlBoxPane: function renderControlBoxPane() { + var result = this.__super__.renderControlBoxPane.apply(this, arguments); this.initDragResize().setDimensions(); return result; } - }, ChatRoomView: { events: { @@ -40180,29 +39985,25 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'mousedown .dragresize-left': 'onStartHorizontalResize', 'mousedown .dragresize-topleft': 'onStartDiagonalResize' }, - - initialize() { + initialize: function initialize() { window.addEventListener('resize', _.debounce(this.setDimensions.bind(this), 100)); this.__super__.initialize.apply(this, arguments); }, - - render() { - const result = this.__super__.render.apply(this, arguments); + render: function render() { + var result = this.__super__.render.apply(this, arguments); renderDragResizeHandles(this.__super__._converse, this); this.setWidth(); return result; } - } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse; + var _converse = this._converse; _converse.api.settings.update({ allow_dragresize: true @@ -40219,7 +40020,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return value; } - const resistance = 10; + var resistance = 10; if (value !== default_value && Math.abs(value - default_value) < resistance) { return default_value; @@ -40228,7 +40029,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return value; }; } - }); }); @@ -40257,15 +40057,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse) { "use strict"; - const _converse$env = converse.env, - Backbone = _converse$env.Backbone, - _ = _converse$env._; + var _converse$env = converse.env, + Backbone = _converse$env.Backbone, + _ = _converse$env._; converse.plugins.add('converse-embedded', { - enabled(_converse) { + enabled: function enabled(_converse) { return _converse.view_mode === 'embedded'; }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ @@ -40278,7 +40077,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'hide_muc_server': true }); - const _converse = this._converse; + var _converse = this._converse; if (!_.isArray(_converse.auto_join_rooms) && !_.isArray(_converse.auto_join_private_chats)) { throw new Error("converse-embedded: auto_join_rooms must be an Array"); @@ -40288,7 +40087,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ throw new Error("converse-embedded: It doesn't make " + "sense to have the auto_join_rooms setting to zero or " + "more then one, since only one chat room can be open " + "at any time."); } } - }); }); @@ -40320,14 +40118,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, tpl_brand_heading) { "use strict"; - const _converse$env = converse.env, - Strophe = _converse$env.Strophe, - _ = _converse$env._; + var _converse$env = converse.env, + Strophe = _converse$env.Strophe, + _ = _converse$env._; converse.plugins.add('converse-fullscreen', { - enabled(_converse) { + enabled: function enabled(_converse) { return _.includes(['fullscreen', 'embedded'], _converse.view_mode); }, - overrides: { // overrides mentioned here will be picked up by converse.js's // plugin architecture they will replace existing methods on the @@ -40335,22 +40132,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // // new functions which don't exist yet can also be added. ControlBoxView: { - createBrandHeadingHTML() { + createBrandHeadingHTML: function createBrandHeadingHTML() { return tpl_brand_heading(); }, + insertBrandHeading: function insertBrandHeading() { + var _converse = this.__super__._converse; - insertBrandHeading() { - const _converse = this.__super__._converse; - - const el = _converse.root.getElementById('converse-login-panel'); + var el = _converse.root.getElementById('converse-login-panel'); el.parentNode.insertAdjacentHTML('afterbegin', this.createBrandHeadingHTML()); } - } }, - - initialize() { + initialize: function initialize() { this._converse.api.settings.update({ chatview_avatar_height: 50, chatview_avatar_width: 50, @@ -40359,7 +40153,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ sticky_controlbox: true }); } - }); }); @@ -40391,10 +40184,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, tpl_chatbox) { "use strict"; - const _converse$env = converse.env, - _ = _converse$env._, - utils = _converse$env.utils; - const HEADLINES_TYPE = 'headline'; + var _converse$env = converse.env, + _ = _converse$env._, + utils = _converse$env.utils; + var HEADLINES_TYPE = 'headline'; converse.plugins.add('converse-headline', { /* Plugin dependencies are other plugins which might be * overridden or relied upon, and therefore need to be loaded before @@ -40414,8 +40207,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // // New functions which don't exist yet can also be added. ChatBoxes: { - model(attrs, options) { - const _converse = this.__super__._converse; + model: function model(attrs, options) { + var _converse = this.__super__._converse; if (attrs.type == HEADLINES_TYPE) { return new _converse.HeadlinesBox(attrs, options); @@ -40423,12 +40216,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.model.apply(this, arguments); } } - }, ChatBoxViews: { - onChatBoxAdded(item) { - const _converse = this.__super__._converse; - let view = this.get(item.get('id')); + onChatBoxAdded: function onChatBoxAdded(item) { + var _converse = this.__super__._converse; + var view = this.get(item.get('id')); if (!view && item.get('type') === 'headline') { view = new _converse.HeadlinesBoxView({ @@ -40440,16 +40232,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.onChatBoxAdded.apply(this, arguments); } } - } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; + var _converse = this._converse, + __ = _converse.__; _converse.HeadlinesBox = _converse.ChatBox.extend({ defaults: { 'type': 'headline', @@ -40466,8 +40256,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'click .toggle-chatbox-button': 'minimize', 'keypress textarea.chat-textarea': 'keyPressed' }, - - initialize() { + initialize: function initialize() { this.initDebounced(); this.disable_mam = true; // Don't do MAM queries for this box @@ -40481,8 +40270,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.emit('chatBoxInitialized', this); }, - - render() { + render: function render() { this.el.setAttribute('id', this.model.get('box_id')); this.el.innerHTML = tpl_chatbox(_.extend(this.model.toJSON(), { info_close: '', @@ -40494,7 +40282,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.content = this.el.querySelector('.chat-content'); return this; }, - // Override to avoid the methods in converse-chatview.js 'renderMessageForm': _.noop, 'afterShown': _.noop @@ -40502,14 +40289,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ function onHeadlineMessage(message) { /* Handler method for all incoming messages of type "headline". */ - const from_jid = message.getAttribute('from'); + var from_jid = message.getAttribute('from'); if (utils.isHeadlineMessage(_converse, message)) { if (_.includes(from_jid, '@') && !_converse.allow_non_roster_messaging) { return; } - const chatbox = _converse.chatboxes.create({ + var chatbox = _converse.chatboxes.create({ 'id': from_jid, 'jid': from_jid, 'type': 'headline', @@ -40535,7 +40322,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.on('reconnected', registerHeadlineHandler); } - }); }); @@ -40551,6 +40337,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ "use strict"; var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return right[Symbol.hasInstance](left); } else { return left instanceof right; } } + // Converse.js (A browser based XMPP chat client) // http://conversejs.org // @@ -40568,25 +40356,25 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (sizzle, converse, utils) { "use strict"; - const CHATROOMS_TYPE = 'chatroom'; - const _converse$env = converse.env, - Promise = _converse$env.Promise, - Strophe = _converse$env.Strophe, - $iq = _converse$env.$iq, - _ = _converse$env._, - moment = _converse$env.moment; - const RSM_ATTRIBUTES = ['max', 'first', 'last', 'after', 'before', 'index', 'count']; // XEP-0313 Message Archive Management + var CHATROOMS_TYPE = 'chatroom'; + var _converse$env = converse.env, + Promise = _converse$env.Promise, + Strophe = _converse$env.Strophe, + $iq = _converse$env.$iq, + _ = _converse$env._, + moment = _converse$env.moment; + var RSM_ATTRIBUTES = ['max', 'first', 'last', 'after', 'before', 'index', 'count']; // XEP-0313 Message Archive Management - const MAM_ATTRIBUTES = ['with', 'start', 'end']; + var MAM_ATTRIBUTES = ['with', 'start', 'end']; function getMessageArchiveID(stanza) { - const result = sizzle(`result[xmlns="${Strophe.NS.MAM}"]`, stanza).pop(); + var result = sizzle("result[xmlns=\"".concat(Strophe.NS.MAM, "\"]"), stanza).pop(); if (!_.isUndefined(result)) { return result.getAttribute('id'); } - const stanza_id = sizzle(`stanza-id[xmlns="${Strophe.NS.SID}"]`, stanza).pop(); + var stanza_id = sizzle("stanza-id[xmlns=\"".concat(Strophe.NS.SID, "\"]"), stanza).pop(); if (!_.isUndefined(stanza_id)) { return stanza_id.getAttribute('id'); @@ -40596,16 +40384,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ function queryForArchivedMessages(_converse, options, callback, errback) { /* Internal function, called by the "archive.query" API method. */ - let date; + var date; if (_.isFunction(options)) { callback = options; errback = callback; } - const queryid = _converse.connection.getUniqueId(); + var queryid = _converse.connection.getUniqueId(); - const attrs = { + var attrs = { 'type': 'set' }; @@ -40618,7 +40406,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ attrs.to = options['with']; // eslint-disable-line dot-notation } - const stanza = $iq(attrs).c('query', { + var stanza = $iq(attrs).c('query', { 'xmlns': Strophe.NS.MAM, 'queryid': queryid }); @@ -40648,29 +40436,29 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'var': t }).c('value').t(date.format()).up().up(); } else { - throw new TypeError(`archive.query: invalid date provided for: ${t}`); + throw new TypeError("archive.query: invalid date provided for: ".concat(t)); } } }); stanza.up(); - if (options instanceof Strophe.RSM) { + if (_instanceof(options, Strophe.RSM)) { stanza.cnode(options.toXML()); } else if (_.intersection(RSM_ATTRIBUTES, _.keys(options)).length) { stanza.cnode(new Strophe.RSM(options).toXML()); } } - const messages = []; + var messages = []; - const message_handler = _converse.connection.addHandler(message => { + var message_handler = _converse.connection.addHandler(function (message) { if (options.groupchat && message.getAttribute('from') !== options['with']) { // eslint-disable-line dot-notation return true; } - const result = message.querySelector('result'); + var result = message.querySelector('result'); if (!_.isNull(result) && result.getAttribute('queryid') === queryid) { messages.push(message); @@ -40683,8 +40471,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.deleteHandler(message_handler); if (_.isFunction(callback)) { - const set = iq.querySelector('set'); - let rsm; + var set = iq.querySelector('set'); + var rsm; if (!_.isUndefined(set)) { rsm = new Strophe.RSM({ @@ -40714,10 +40502,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // // New functions which don't exist yet can also be added. ChatBox: { - getMessageAttributesFromStanza(message, delay, original_stanza) { - const attrs = this.__super__.getMessageAttributesFromStanza.apply(this, arguments); + getMessageAttributesFromStanza: function getMessageAttributesFromStanza(message, delay, original_stanza) { + var attrs = this.__super__.getMessageAttributesFromStanza.apply(this, arguments); - const archive_id = getMessageArchiveID(original_stanza); + var archive_id = getMessageArchiveID(original_stanza); if (archive_id) { attrs.archive_id = archive_id; @@ -40725,11 +40513,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return attrs; } - }, ChatBoxView: { - render() { - const result = this.__super__.render.apply(this, arguments); + render: function render() { + var result = this.__super__.render.apply(this, arguments); if (!this.disable_mam) { this.content.addEventListener('scroll', _.debounce(this.onScroll.bind(this), 100)); @@ -40737,8 +40524,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return result; }, - - fetchNewestMessages() { + fetchNewestMessages: function fetchNewestMessages() { /* Fetches messages that might have been archived *after* * the last archived message in our local cache. */ @@ -40746,13 +40532,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const _converse = this.__super__._converse, - most_recent_msg = utils.getMostRecentMessage(this.model); + var _converse = this.__super__._converse, + most_recent_msg = utils.getMostRecentMessage(this.model); if (_.isNil(most_recent_msg)) { this.fetchArchivedMessages(); } else { - const archive_id = most_recent_msg.get('archive_id'); + var archive_id = most_recent_msg.get('archive_id'); if (archive_id) { this.fetchArchivedMessages({ @@ -40765,43 +40551,45 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } }, + fetchArchivedMessagesIfNecessary: function fetchArchivedMessagesIfNecessary() { + var _this = this; - fetchArchivedMessagesIfNecessary() { /* Check if archived messages should be fetched, and if so, do so. */ if (this.disable_mam || this.model.get('mam_initialized')) { return; } - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; - _converse.api.disco.supports(Strophe.NS.MAM, _converse.bare_jid).then(result => { + _converse.api.disco.supports(Strophe.NS.MAM, _converse.bare_jid).then(function (result) { // Success if (result.length) { - this.fetchArchivedMessages(); + _this.fetchArchivedMessages(); } - this.model.save({ + _this.model.save({ 'mam_initialized': true }); - }, () => { + }, function () { // Error _converse.log("Error or timeout while checking for MAM support", Strophe.LogLevel.ERROR); - }).catch(msg => { - this.clearSpinner(); + }).catch(function (msg) { + _this.clearSpinner(); _converse.log(msg, Strophe.LogLevel.FATAL); }); }, + fetchArchivedMessages: function fetchArchivedMessages(options) { + var _this2 = this; - fetchArchivedMessages(options) { - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; if (this.disable_mam) { return; } - const is_groupchat = this.model.get('type') === CHATROOMS_TYPE; - let mam_jid, message_handler; + var is_groupchat = this.model.get('type') === CHATROOMS_TYPE; + var mam_jid, message_handler; if (is_groupchat) { mam_jid = this.model.get('jid'); @@ -40811,47 +40599,46 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ message_handler = _converse.chatboxes.onMessage.bind(_converse.chatboxes); } - _converse.api.disco.supports(Strophe.NS.MAM, mam_jid).then(results => { + _converse.api.disco.supports(Strophe.NS.MAM, mam_jid).then(function (results) { // Success if (!results.length) { return; } - this.addSpinner(); + _this2.addSpinner(); _converse.api.archive.query(_.extend({ 'groupchat': is_groupchat, 'before': '', // Page backwards from the most recent message 'max': _converse.archived_messages_page_size, - 'with': this.model.get('jid') - }, options), messages => { + 'with': _this2.model.get('jid') + }, options), function (messages) { // Success - this.clearSpinner(); + _this2.clearSpinner(); _.each(messages, message_handler); - }, () => { + }, function () { // Error - this.clearSpinner(); + _this2.clearSpinner(); _converse.log("Error or timeout while trying to fetch " + "archived messages", Strophe.LogLevel.ERROR); }); - }, () => { + }, function () { // Error _converse.log("Error or timeout while checking for MAM support", Strophe.LogLevel.ERROR); - }).catch(msg => { - this.clearSpinner(); + }).catch(function (msg) { + _this2.clearSpinner(); _converse.log(msg, Strophe.LogLevel.FATAL); }); }, - - onScroll(ev) { - const _converse = this.__super__._converse; + onScroll: function onScroll(ev) { + var _converse = this.__super__._converse; if (this.content.scrollTop === 0 && this.model.messages.length) { - const oldest_message = this.model.messages.at(0); - const archive_id = oldest_message.get('archive_id'); + var oldest_message = this.model.messages.at(0); + var archive_id = oldest_message.get('archive_id'); if (archive_id) { this.fetchArchivedMessages({ @@ -40864,17 +40651,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } } - }, ChatRoom: { - isDuplicate(message, original_stanza) { - const result = this.__super__.isDuplicate.apply(this, arguments); + isDuplicate: function isDuplicate(message, original_stanza) { + var result = this.__super__.isDuplicate.apply(this, arguments); if (result) { return result; } - const archive_id = getMessageArchiveID(original_stanza); + var archive_id = getMessageArchiveID(original_stanza); if (archive_id) { return this.messages.filter({ @@ -40882,20 +40668,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }).length > 0; } } - }, ChatRoomView: { - initialize() { - const _converse = this.__super__._converse; + initialize: function initialize() { + var _converse = this.__super__._converse; this.__super__.initialize.apply(this, arguments); this.model.on('change:mam_enabled', this.fetchArchivedMessagesIfNecessary, this); this.model.on('change:connection_status', this.fetchArchivedMessagesIfNecessary, this); }, - - renderChatArea() { - const result = this.__super__.renderChatArea.apply(this, arguments); + renderChatArea: function renderChatArea() { + var result = this.__super__.renderChatArea.apply(this, arguments); if (!this.disable_mam) { this.content.addEventListener('scroll', _.debounce(this.onScroll.bind(this), 100)); @@ -40903,8 +40687,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return result; }, - - fetchArchivedMessagesIfNecessary() { + fetchArchivedMessagesIfNecessary: function fetchArchivedMessagesIfNecessary() { if (this.model.get('connection_status') !== converse.ROOMSTATUS.ENTERED || !this.model.get('mam_enabled') || this.model.get('mam_initialized')) { return; } @@ -40914,15 +40697,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'mam_initialized': true }); } - } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by Converse.js's plugin machinery. */ - const _converse = this._converse; + var _converse = this._converse; _converse.api.settings.update({ archived_messages_page_size: '50', @@ -40953,11 +40734,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * Per JID preferences will be set in chat boxes, so it'll * probbaly be handled elsewhere in any case. */ - const preference = sizzle(`prefs[xmlns="${Strophe.NS.MAM}"]`, iq).pop(); - const default_pref = preference.getAttribute('default'); + var preference = sizzle("prefs[xmlns=\"".concat(Strophe.NS.MAM, "\"]"), iq).pop(); + var default_pref = preference.getAttribute('default'); if (default_pref !== _converse.message_archiving) { - const stanza = $iq({ + var stanza = $iq({ 'type': 'set' }).c('prefs', { 'xmlns': Strophe.NS.MAM, @@ -40989,8 +40770,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /* Event handlers */ - _converse.on('serviceDiscovered', feature => { - const prefs = feature.get('preferences') || {}; + _converse.on('serviceDiscovered', function (feature) { + var prefs = feature.get('preferences') || {}; if (feature.get('var') === Strophe.NS.MAM && prefs['default'] !== _converse.message_archiving && // eslint-disable-line dot-notation !_.isUndefined(_converse.message_archiving)) { @@ -41003,18 +40784,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }); - _converse.on('addClientFeatures', () => { + _converse.on('addClientFeatures', function () { _converse.api.disco.own.features.add(Strophe.NS.MAM); }); - _converse.on('afterMessagesFetched', chatboxview => { + _converse.on('afterMessagesFetched', function (chatboxview) { chatboxview.fetchNewestMessages(); }); - _converse.on('reconnected', () => { - const private_chats = _converse.chatboxviews.filter(view => _.at(view, 'model.attributes.type')[0] === 'chatbox'); + _converse.on('reconnected', function () { + var private_chats = _converse.chatboxviews.filter(function (view) { + return _.at(view, 'model.attributes.type')[0] === 'chatbox'; + }); - _.each(private_chats, view => view.fetchNewestMessages()); + _.each(private_chats, function (view) { + return view.fetchNewestMessages(); + }); }); _.extend(_converse.api, { @@ -41049,7 +40834,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }); } - }); }); @@ -41078,34 +40862,34 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, xss, emojione, filesize, tpl_action, tpl_csn, tpl_file_progress, tpl_info, tpl_message, tpl_spoiler_message) { "use strict"; - const _converse$env = converse.env, - Backbone = _converse$env.Backbone, - _ = _converse$env._, - moment = _converse$env.moment; - const u = converse.env.utils; + var _converse$env = converse.env, + Backbone = _converse$env.Backbone, + _ = _converse$env._, + moment = _converse$env.moment; + var u = converse.env.utils; converse.plugins.add('converse-message-view', { - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; + var _converse = this._converse, + __ = _converse.__; _converse.ViewWithAvatar = Backbone.NativeView.extend({ - renderAvatar() { - const canvas_el = this.el.querySelector('canvas'); + renderAvatar: function renderAvatar() { + var canvas_el = this.el.querySelector('canvas'); if (_.isNull(canvas_el)) { return; } - const image_type = this.model.vcard.get('image_type'), - image = this.model.vcard.get('image'), - img_src = "data:" + image_type + ";base64," + image, - img = new Image(); + var image_type = this.model.vcard.get('image_type'), + image = this.model.vcard.get('image'), + img_src = "data:" + image_type + ";base64," + image, + img = new Image(); - img.onload = () => { - const ctx = canvas_el.getContext('2d'), - ratio = img.width / img.height; + img.onload = function () { + var ctx = canvas_el.getContext('2d'), + ratio = img.width / img.height; ctx.clearRect(0, 0, canvas_el.width, canvas_el.height); if (ratio < 1) { @@ -41117,10 +40901,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ img.src = img_src; } - }); _converse.MessageView = _converse.ViewWithAvatar.extend({ - initialize() { + initialize: function initialize() { this.model.vcard.on('change', this.render, this); this.model.on('change:progress', this.renderFileUploadProgresBar, this); this.model.on('change:type', this.render, this); @@ -41128,10 +40911,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.on('destroy', this.remove, this); this.render(); }, - - render() { - const is_followup = u.hasClass('chat-msg-followup', this.el); - let msg; + render: function render() { + var is_followup = u.hasClass('chat-msg-followup', this.el); + var msg; if (this.model.isOnlyChatStateNotification()) { this.renderChatStateNotification(); @@ -41149,8 +40931,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.el; }, - - replaceElement(msg) { + replaceElement: function replaceElement(msg) { if (!_.isNil(this.el.parentElement)) { this.el.parentElement.replaceChild(msg, this.el); } @@ -41158,9 +40939,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.setElement(msg); return this.el; }, + renderChatMessage: function renderChatMessage() { + var _this = this; - renderChatMessage() { - let template, + var template, text = this.model.get('message'); if (this.isMeCommand()) { @@ -41170,10 +40952,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ template = this.model.get('is_spoiler') ? tpl_spoiler_message : tpl_message; } - const moment_time = moment(this.model.get('time')), - role = this.model.vcard.get('role'), - roles = role ? role.split(',') : []; - const msg = u.stringToElement(template(_.extend(this.model.toJSON(), { + var moment_time = moment(this.model.get('time')), + role = this.model.vcard.get('role'), + roles = role ? role.split(',') : []; + var msg = u.stringToElement(template(_.extend(this.model.toJSON(), { 'roles': roles, 'pretty_time': moment_time.format(_converse.time_format), 'time': moment_time.format(), @@ -41187,7 +40969,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ msg.querySelector('.chat-msg-media').innerHTML = _.flow(_.partial(u.renderFileURL, _converse), _.partial(u.renderMovieURL, _converse), _.partial(u.renderAudioURL, _converse), _.partial(u.renderImageURL, _converse))(url); } - const msg_content = msg.querySelector('.chat-msg-text'); + var msg_content = msg.querySelector('.chat-msg-text'); if (text !== url) { text = xss.filterXSS(text, { @@ -41196,8 +40978,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ msg_content.innerHTML = _.flow(_.partial(u.geoUriToHttp, _, _converse.geouri_replacement), u.addHyperlinks, _.partial(u.addEmoji, _converse, emojione, _))(text); } - u.renderImageURLs(_converse, msg_content).then(() => { - this.model.collection.trigger('rendered'); + u.renderImageURLs(_converse, msg_content).then(function () { + _this.model.collection.trigger('rendered'); }); this.replaceElement(msg); @@ -41205,21 +40987,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.renderAvatar(); } }, - - renderErrorMessage() { - const moment_time = moment(this.model.get('time')), - msg = u.stringToElement(tpl_info(_.extend(this.model.toJSON(), { + renderErrorMessage: function renderErrorMessage() { + var moment_time = moment(this.model.get('time')), + msg = u.stringToElement(tpl_info(_.extend(this.model.toJSON(), { 'extra_classes': 'chat-error', 'isodate': moment_time.format(), 'data': '' }))); return this.replaceElement(msg); }, - - renderChatStateNotification() { - let text; - const from = this.model.get('from'), - name = this.model.getDisplayName(); + renderChatStateNotification: function renderChatStateNotification() { + var text; + var from = this.model.get('from'), + name = this.model.getDisplayName(); if (this.model.get('chat_state') === _converse.COMPOSING) { if (this.model.get('sender') === 'me') { @@ -41239,40 +41019,36 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const isodate = moment().format(); + var isodate = moment().format(); this.replaceElement(u.stringToElement(tpl_csn({ 'message': text, 'from': from, 'isodate': isodate }))); }, - - renderFileUploadProgresBar() { - const msg = u.stringToElement(tpl_file_progress(_.extend(this.model.toJSON(), { + renderFileUploadProgresBar: function renderFileUploadProgresBar() { + var msg = u.stringToElement(tpl_file_progress(_.extend(this.model.toJSON(), { 'filesize': filesize(this.model.get('file').size) }))); this.replaceElement(msg); this.renderAvatar(); }, - - isMeCommand() { - const text = this.model.get('message'); + isMeCommand: function isMeCommand() { + var text = this.model.get('message'); if (!text) { return false; } - const match = text.match(/^\/(.*?)(?: (.*))?$/); + var match = text.match(/^\/(.*?)(?: (.*))?$/); return match && match[1] === 'me'; }, - - processMessageText() { + processMessageText: function processMessageText() { var text = this.get('message'); text = u.geoUriToHttp(text, _converse.geouri_replacement); }, - - getExtraMessageClasses() { - let extra_classes = this.model.get('delayed') && 'delayed' || ''; + getExtraMessageClasses: function getExtraMessageClasses() { + var extra_classes = this.model.get('delayed') && 'delayed' || ''; if (this.model.get('type') === 'groupchat' && this.model.get('sender') === 'them') { if (this.model.collection.chatbox.isUserMentioned(this.model.get('message'))) { @@ -41284,10 +41060,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return extra_classes; } - }); } - }); return converse; }); @@ -41320,14 +41094,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, tpl_chatbox_minimize, tpl_toggle_chats, tpl_trimmed_chat, tpl_chats_panel) { "use strict"; - const _converse$env = converse.env, - _ = _converse$env._, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - Strophe = _converse$env.Strophe, - b64_sha1 = _converse$env.b64_sha1, - moment = _converse$env.moment; - const u = converse.env.utils; + var _converse$env = converse.env, + _ = _converse$env._, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + Strophe = _converse$env.Strophe, + b64_sha1 = _converse$env.b64_sha1, + moment = _converse$env.moment; + var u = converse.env.utils; converse.plugins.add('converse-minimize', { /* Optional dependencies are other plugins which might be * overridden or relied upon, and therefore need to be loaded before @@ -41342,11 +41116,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * NB: These plugins need to have already been loaded via require.js. */ dependencies: ["converse-chatview", "converse-controlbox", "converse-muc", "converse-muc-views", "converse-headline"], - - enabled(_converse) { + enabled: function enabled(_converse) { return _converse.view_mode == 'overlayed'; }, - overrides: { // Overrides mentioned here will be picked up by converse.js's // plugin architecture they will replace existing methods on the @@ -41354,7 +41126,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // // New functions which don't exist yet can also be added. ChatBox: { - initialize() { + initialize: function initialize() { this.__super__.initialize.apply(this, arguments); this.on('show', this.maximize, this); @@ -41368,34 +41140,29 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'time_minimized': this.get('time_minimized') || moment() }); }, - - maximize() { + maximize: function maximize() { u.safeSave(this, { 'minimized': false, 'time_opened': moment().valueOf() }); }, - - minimize() { + minimize: function minimize() { u.safeSave(this, { 'minimized': true, 'time_minimized': moment().format() }); } - }, ChatBoxView: { events: { 'click .toggle-chatbox-button': 'minimize' }, - - initialize() { + initialize: function initialize() { this.model.on('change:minimized', this.onMinimizedChanged, this); return this.__super__.initialize.apply(this, arguments); }, - - _show() { - const _converse = this.__super__._converse; + _show: function _show() { + var _converse = this.__super__._converse; if (!this.model.get('minimized')) { this.__super__._show.apply(this, arguments); @@ -41405,38 +41172,32 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.minimize(); } }, - - isNewMessageHidden() { + isNewMessageHidden: function isNewMessageHidden() { return this.model.get('minimized') || this.__super__.isNewMessageHidden.apply(this, arguments); }, - - shouldShowOnTextMessage() { + shouldShowOnTextMessage: function shouldShowOnTextMessage() { return !this.model.get('minimized') && this.__super__.shouldShowOnTextMessage.apply(this, arguments); }, - - setChatBoxHeight(height) { + setChatBoxHeight: function setChatBoxHeight(height) { if (!this.model.get('minimized')) { return this.__super__.setChatBoxHeight.apply(this, arguments); } }, - - setChatBoxWidth(width) { + setChatBoxWidth: function setChatBoxWidth(width) { if (!this.model.get('minimized')) { return this.__super__.setChatBoxWidth.apply(this, arguments); } }, - - onMinimizedChanged(item) { + onMinimizedChanged: function onMinimizedChanged(item) { if (item.get('minimized')) { this.minimize(); } else { this.maximize(); } }, - - maximize() { + maximize: function maximize() { // Restores a minimized chat box - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; this.insertIntoDOM(); if (!this.model.isScrolledUp()) { @@ -41449,9 +41210,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - minimize(ev) { - const _converse = this.__super__._converse; + minimize: function minimize(ev) { + var _converse = this.__super__._converse; if (ev && ev.preventDefault) { ev.preventDefault(); @@ -41473,35 +41233,32 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.emit('chatBoxMinimized', this); } - }, ChatBoxHeading: { - render() { - const _converse = this.__super__._converse, - __ = _converse.__; + render: function render() { + var _converse = this.__super__._converse, + __ = _converse.__; - const result = this.__super__.render.apply(this, arguments); + var result = this.__super__.render.apply(this, arguments); - const new_html = tpl_chatbox_minimize({ + var new_html = tpl_chatbox_minimize({ info_minimize: __('Minimize this chat box') }); - const el = this.el.querySelector('.toggle-chatbox-button'); + var el = this.el.querySelector('.toggle-chatbox-button'); if (el) { el.outerHTML = new_html; } else { - const button = this.el.querySelector('.close-chatbox-button'); + var button = this.el.querySelector('.close-chatbox-button'); button.insertAdjacentHTML('afterEnd', new_html); } } - }, ChatRoomView: { events: { 'click .toggle-chatbox-button': 'minimize' }, - - initialize() { + initialize: function initialize() { this.model.on('change:minimized', function (item) { if (item.get('minimized')) { this.hide(); @@ -41510,7 +41267,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }, this); - const result = this.__super__.initialize.apply(this, arguments); + var result = this.__super__.initialize.apply(this, arguments); if (this.model.get('minimized')) { this.hide(); @@ -41518,46 +41275,46 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return result; }, + generateHeadingHTML: function generateHeadingHTML() { + var _converse = this.__super__._converse, + __ = _converse.__; - generateHeadingHTML() { - const _converse = this.__super__._converse, - __ = _converse.__; + var html = this.__super__.generateHeadingHTML.apply(this, arguments); - const html = this.__super__.generateHeadingHTML.apply(this, arguments); - - const div = document.createElement('div'); + var div = document.createElement('div'); div.innerHTML = html; - const button = div.querySelector('.close-chatbox-button'); + var button = div.querySelector('.close-chatbox-button'); button.insertAdjacentHTML('afterend', tpl_chatbox_minimize({ 'info_minimize': __('Minimize this chat box') })); return div.innerHTML; } - }, ChatBoxes: { - chatBoxMayBeShown(chatbox) { + chatBoxMayBeShown: function chatBoxMayBeShown(chatbox) { return this.__super__.chatBoxMayBeShown.apply(this, arguments) && !chatbox.get('minimized'); } - }, ChatBoxViews: { - getChatBoxWidth(view) { + getChatBoxWidth: function getChatBoxWidth(view) { if (!view.model.get('minimized') && u.isVisible(view.el)) { return u.getOuterWidth(view.el, true); } return 0; }, - - getShownChats() { - return this.filter(view => // The controlbox can take a while to close, - // so we need to check its state. That's why we checked - // the 'closed' state. - !view.model.get('minimized') && !view.model.get('closed') && u.isVisible(view.el)); + getShownChats: function getShownChats() { + return this.filter(function (view) { + return (// The controlbox can take a while to close, + // so we need to check its state. That's why we checked + // the 'closed' state. + !view.model.get('minimized') && !view.model.get('closed') && u.isVisible(view.el) + ); + }); }, + trimChats: function trimChats(newchat) { + var _this = this; - trimChats(newchat) { /* This method is called when a newly created chat box will * be shown. * @@ -41565,9 +41322,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * another chat box. Otherwise it minimizes the oldest chat box * to create space. */ - const _converse = this.__super__._converse, - shown_chats = this.getShownChats(), - body_width = u.getOuterWidth(document.querySelector('body'), true); + var _converse = this.__super__._converse, + shown_chats = this.getShownChats(), + body_width = u.getOuterWidth(document.querySelector('body'), true); if (_converse.no_trimming || shown_chats.length <= 1) { return; @@ -41580,24 +41337,26 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - _converse.api.waitUntil('minimizedChatsInitialized').then(() => { - const minimized_el = _.get(_converse.minimized_chats, 'el'), - new_id = newchat ? newchat.model.get('id') : null; + _converse.api.waitUntil('minimizedChatsInitialized').then(function () { + var minimized_el = _.get(_converse.minimized_chats, 'el'), + new_id = newchat ? newchat.model.get('id') : null; if (minimized_el) { - const minimized_width = _.includes(this.model.pluck('minimized'), true) ? u.getOuterWidth(minimized_el, true) : 0; + var minimized_width = _.includes(_this.model.pluck('minimized'), true) ? u.getOuterWidth(minimized_el, true) : 0; - const boxes_width = _.reduce(this.xget(new_id), (memo, view) => memo + this.getChatBoxWidth(view), newchat ? u.getOuterWidth(newchat.el, true) : 0); + var boxes_width = _.reduce(_this.xget(new_id), function (memo, view) { + return memo + _this.getChatBoxWidth(view); + }, newchat ? u.getOuterWidth(newchat.el, true) : 0); if (minimized_width + boxes_width > body_width) { - const oldest_chat = this.getOldestMaximizedChat([new_id]); + var oldest_chat = _this.getOldestMaximizedChat([new_id]); if (oldest_chat) { // We hide the chat immediately, because waiting // for the event to fire (and letting the // ChatBoxView hide it then) causes race // conditions. - const view = this.get(oldest_chat.get('id')); + var view = _this.get(oldest_chat.get('id')); if (view) { view.hide(); @@ -41609,12 +41368,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }, - - getOldestMaximizedChat(exclude_ids) { + getOldestMaximizedChat: function getOldestMaximizedChat(exclude_ids) { // Get oldest view (if its id is not excluded) exclude_ids.push('controlbox'); - let i = 0; - let model = this.model.sort().at(i); + var i = 0; + var model = this.model.sort().at(i); while (_.includes(exclude_ids, model.get('id')) || model.get('minimized') === true) { i++; @@ -41627,16 +41385,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return model; } - } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by Converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; // Add new HTML templates. + var _converse = this._converse, + __ = _converse.__; // Add new HTML templates. _converse.templates.chatbox_minimize = tpl_chatbox_minimize; _converse.templates.toggle_chats = tpl_toggle_chats; @@ -41657,13 +41413,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'click .close-chatbox-button': 'close', 'click .restore-chat': 'restore' }, - - initialize() { + initialize: function initialize() { this.model.on('change:num_unread', this.render, this); }, - - render() { - const data = _.extend(this.model.toJSON(), { + render: function render() { + var data = _.extend(this.model.toJSON(), { 'tooltip': __('Click to restore this chat') }); @@ -41678,15 +41432,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.el.innerHTML = tpl_trimmed_chat(data); return this.el; }, - - close(ev) { + close: function close(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } this.remove(); - const view = _converse.chatboxviews.get(this.model.get('id')); + var view = _converse.chatboxviews.get(this.model.get('id')); if (view) { // This will call model.destroy(), removing it from the @@ -41700,7 +41453,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - restore: _.debounce(function (ev) { if (ev && ev.preventDefault) { ev.preventDefault(); @@ -41720,8 +41472,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ events: { "click #toggle-minimized-chats": "toggle" }, - - initialize() { + initialize: function initialize() { this.render(); this.initToggle(); this.addMultipleChats(this.model.where({ @@ -41732,8 +41483,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.on("change:minimized", this.onChanged, this); this.model.on('change:num_unread', this.updateUnreadMessagesCounter, this); }, - - render() { + render: function render() { if (!this.el.parentElement) { this.el.innerHTML = tpl_chats_panel(); @@ -41750,27 +41500,24 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.el; }, - - tearDown() { + tearDown: function tearDown() { this.model.off("add", this.onChanged); this.model.off("destroy", this.removeChat); this.model.off("change:minimized", this.onChanged); this.model.off('change:num_unread', this.updateUnreadMessagesCounter); return this; }, - - initToggle() { + initToggle: function initToggle() { this.toggleview = new _converse.MinimizedChatsToggleView({ model: new _converse.MinimizedChatsToggle() }); - const id = b64_sha1(`converse.minchatstoggle${_converse.bare_jid}`); + var id = b64_sha1("converse.minchatstoggle".concat(_converse.bare_jid)); this.toggleview.model.id = id; // Appears to be necessary for backbone.browserStorage this.toggleview.model.browserStorage = new Backbone.BrowserStorage[_converse.storage](id); this.toggleview.model.fetch(); }, - - toggle(ev) { + toggle: function toggle(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } @@ -41780,8 +41527,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); u.slideToggleElement(this.el.querySelector('.minimized-chats-flyout'), 200); }, - - onChanged(item) { + onChanged: function onChanged(item) { if (item.get('id') === 'controlbox') { // The ControlBox has it's own minimize toggle return; @@ -41793,22 +41539,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.removeChat(item); } }, - - addChatView(item) { - const existing = this.get(item.get('id')); + addChatView: function addChatView(item) { + var existing = this.get(item.get('id')); if (existing && existing.el.parentNode) { return; } - const view = new _converse.MinimizedChatBoxView({ + var view = new _converse.MinimizedChatBoxView({ model: item }); this.el.querySelector('.minimized-chats-flyout').insertAdjacentElement('beforeEnd', view.render()); this.add(item.get('id'), view); }, - - addMultipleChats(items) { + addMultipleChats: function addMultipleChats(items) { _.each(items, this.addChatView.bind(this)); this.toggleview.model.set({ @@ -41816,26 +41560,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); this.render(); }, - - addChat(item) { + addChat: function addChat(item) { this.addChatView(item); this.toggleview.model.set({ 'num_minimized': this.keys().length }); this.render(); }, - - removeChat(item) { + removeChat: function removeChat(item) { this.remove(item.get('id')); this.toggleview.model.set({ 'num_minimized': this.keys().length }); this.render(); }, - - updateUnreadMessagesCounter() { - const ls = this.model.pluck('num_unread'); - let count = 0, + updateUnreadMessagesCounter: function updateUnreadMessagesCounter() { + var ls = this.model.pluck('num_unread'); + var count = 0, i; for (i = 0; i < ls.length; i++) { @@ -41847,7 +41588,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); this.render(); } - }); _converse.MinimizedChatsToggle = Backbone.Model.extend({ defaults: { @@ -41858,14 +41598,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); _converse.MinimizedChatsToggleView = Backbone.NativeView.extend({ el: '#toggle-minimized-chats', - - initialize() { + initialize: function initialize() { this.model.on('change:num_minimized', this.render, this); this.model.on('change:num_unread', this.render, this); this.flyout = this.el.parentElement.querySelector('.minimized-chats-flyout'); }, - - render() { + render: function render() { this.el.innerHTML = tpl_toggle_chats(_.extend(this.model.toJSON(), { 'Minimized': __('Minimized') })); @@ -41878,9 +41616,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.el; } - }); - Promise.all([_converse.api.waitUntil('connectionInitialized'), _converse.api.waitUntil('chatBoxesInitialized')]).then(() => { + Promise.all([_converse.api.waitUntil('connectionInitialized'), _converse.api.waitUntil('chatBoxesInitialized')]).then(function () { _converse.minimized_chats = new _converse.MinimizedChats({ model: _converse.chatboxes }); @@ -41904,7 +41641,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }); } - }); }); @@ -41935,34 +41671,34 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, tpl_alert_modal, bootstrap) { "use strict"; - const _converse$env = converse.env, - Strophe = _converse$env.Strophe, - Backbone = _converse$env.Backbone, - _ = _converse$env._; + var _converse$env = converse.env, + Strophe = _converse$env.Strophe, + Backbone = _converse$env.Backbone, + _ = _converse$env._; converse.plugins.add('converse-modal', { - initialize() { - const _converse = this._converse; + initialize: function initialize() { + var _converse = this._converse; _converse.BootstrapModal = Backbone.VDOMView.extend({ - initialize() { + initialize: function initialize() { + var _this = this; + this.render().insertIntoDOM(); this.modal = new bootstrap.Modal(this.el, { backdrop: 'static', keyboard: true }); - this.el.addEventListener('hide.bs.modal', event => { - if (!_.isNil(this.trigger_el)) { - this.trigger_el.classList.remove('selected'); + this.el.addEventListener('hide.bs.modal', function (event) { + if (!_.isNil(_this.trigger_el)) { + _this.trigger_el.classList.remove('selected'); } }, false); }, - - insertIntoDOM() { - const container_el = _converse.chatboxviews.el.querySelector("#converse-modals"); + insertIntoDOM: function insertIntoDOM() { + var container_el = _converse.chatboxviews.el.querySelector("#converse-modals"); container_el.insertAdjacentElement('beforeEnd', this.el); }, - - show(ev) { + show: function show(ev) { if (ev) { ev.preventDefault(); this.trigger_el = ev.target; @@ -41971,28 +41707,25 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.modal.show(); } - }); _converse.Alert = _converse.BootstrapModal.extend({ - initialize() { + initialize: function initialize() { _converse.BootstrapModal.prototype.initialize.apply(this, arguments); this.model.on('change', this.render, this); }, - - toHTML() { + toHTML: function toHTML() { return tpl_alert_modal(this.model.toJSON()); } - }); /************************ BEGIN API ************************/ // We extend the default converse.js API to add methods specific to MUC chat rooms. - let alert; + var alert; _.extend(_converse.api, { 'alert': { - 'show'(type, title, messages) { + 'show': function show(type, title, messages) { if (_.isString(messages)) { messages = [messages]; } @@ -42006,7 +41739,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } if (_.isUndefined(alert)) { - const model = new Backbone.Model({ + var model = new Backbone.Model({ 'title': title, 'messages': messages, 'type': type @@ -42024,11 +41757,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ alert.show(); } - } }); } - }); }); @@ -42050,28 +41781,28 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // Copyright (c) 2012-2018, the Converse.js developers // Licensed under the Mozilla Public License (MPLv2) (function (root, factory) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! converse-core */ "./src/converse-core.js"), __webpack_require__(/*! muc-utils */ "./src/utils/muc.js"), __webpack_require__(/*! templates/add_chatroom_modal.html */ "./src/templates/add_chatroom_modal.html"), __webpack_require__(/*! templates/chatarea.html */ "./src/templates/chatarea.html"), __webpack_require__(/*! templates/chatroom.html */ "./src/templates/chatroom.html"), __webpack_require__(/*! templates/chatroom_disconnect.html */ "./src/templates/chatroom_disconnect.html"), __webpack_require__(/*! templates/chatroom_features.html */ "./src/templates/chatroom_features.html"), __webpack_require__(/*! templates/chatroom_form.html */ "./src/templates/chatroom_form.html"), __webpack_require__(/*! templates/chatroom_head.html */ "./src/templates/chatroom_head.html"), __webpack_require__(/*! templates/chatroom_invite.html */ "./src/templates/chatroom_invite.html"), __webpack_require__(/*! templates/chatroom_nickname_form.html */ "./src/templates/chatroom_nickname_form.html"), __webpack_require__(/*! templates/chatroom_password_form.html */ "./src/templates/chatroom_password_form.html"), __webpack_require__(/*! templates/chatroom_sidebar.html */ "./src/templates/chatroom_sidebar.html"), __webpack_require__(/*! templates/chatroom_toolbar.html */ "./src/templates/chatroom_toolbar.html"), __webpack_require__(/*! templates/info.html */ "./src/templates/info.html"), __webpack_require__(/*! templates/list_chatrooms_modal.html */ "./src/templates/list_chatrooms_modal.html"), __webpack_require__(/*! templates/occupant.html */ "./src/templates/occupant.html"), __webpack_require__(/*! templates/room_description.html */ "./src/templates/room_description.html"), __webpack_require__(/*! templates/room_item.html */ "./src/templates/room_item.html"), __webpack_require__(/*! templates/room_panel.html */ "./src/templates/room_panel.html"), __webpack_require__(/*! templates/rooms_results.html */ "./src/templates/rooms_results.html"), __webpack_require__(/*! templates/spinner.html */ "./src/templates/spinner.html"), __webpack_require__(/*! awesomplete */ "awesomplete"), __webpack_require__(/*! converse-modal */ "./src/converse-modal.js")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! converse-core */ "./src/converse-core.js"), __webpack_require__(/*! muc-utils */ "./src/utils/muc.js"), __webpack_require__(/*! templates/add_chatroom_modal.html */ "./src/templates/add_chatroom_modal.html"), __webpack_require__(/*! templates/chatarea.html */ "./src/templates/chatarea.html"), __webpack_require__(/*! templates/chatroom.html */ "./src/templates/chatroom.html"), __webpack_require__(/*! templates/chatroom_details_modal.html */ "./src/templates/chatroom_details_modal.html"), __webpack_require__(/*! templates/chatroom_disconnect.html */ "./src/templates/chatroom_disconnect.html"), __webpack_require__(/*! templates/chatroom_features.html */ "./src/templates/chatroom_features.html"), __webpack_require__(/*! templates/chatroom_form.html */ "./src/templates/chatroom_form.html"), __webpack_require__(/*! templates/chatroom_head.html */ "./src/templates/chatroom_head.html"), __webpack_require__(/*! templates/chatroom_invite.html */ "./src/templates/chatroom_invite.html"), __webpack_require__(/*! templates/chatroom_nickname_form.html */ "./src/templates/chatroom_nickname_form.html"), __webpack_require__(/*! templates/chatroom_password_form.html */ "./src/templates/chatroom_password_form.html"), __webpack_require__(/*! templates/chatroom_sidebar.html */ "./src/templates/chatroom_sidebar.html"), __webpack_require__(/*! templates/chatroom_toolbar.html */ "./src/templates/chatroom_toolbar.html"), __webpack_require__(/*! templates/info.html */ "./src/templates/info.html"), __webpack_require__(/*! templates/list_chatrooms_modal.html */ "./src/templates/list_chatrooms_modal.html"), __webpack_require__(/*! templates/occupant.html */ "./src/templates/occupant.html"), __webpack_require__(/*! templates/room_description.html */ "./src/templates/room_description.html"), __webpack_require__(/*! templates/room_item.html */ "./src/templates/room_item.html"), __webpack_require__(/*! templates/room_panel.html */ "./src/templates/room_panel.html"), __webpack_require__(/*! templates/rooms_results.html */ "./src/templates/rooms_results.html"), __webpack_require__(/*! templates/spinner.html */ "./src/templates/spinner.html"), __webpack_require__(/*! awesomplete */ "awesomplete"), __webpack_require__(/*! converse-modal */ "./src/converse-modal.js")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); -})(void 0, function (converse, muc_utils, tpl_add_chatroom_modal, tpl_chatarea, tpl_chatroom, tpl_chatroom_disconnect, tpl_chatroom_features, tpl_chatroom_form, tpl_chatroom_head, tpl_chatroom_invite, tpl_chatroom_nickname_form, tpl_chatroom_password_form, tpl_chatroom_sidebar, tpl_chatroom_toolbar, tpl_info, tpl_list_chatrooms_modal, tpl_occupant, tpl_room_description, tpl_room_item, tpl_room_panel, tpl_rooms_results, tpl_spinner, Awesomplete) { +})(void 0, function (converse, muc_utils, tpl_add_chatroom_modal, tpl_chatarea, tpl_chatroom, tpl_chatroom_details_modal, tpl_chatroom_disconnect, tpl_chatroom_features, tpl_chatroom_form, tpl_chatroom_head, tpl_chatroom_invite, tpl_chatroom_nickname_form, tpl_chatroom_password_form, tpl_chatroom_sidebar, tpl_chatroom_toolbar, tpl_info, tpl_list_chatrooms_modal, tpl_occupant, tpl_room_description, tpl_room_item, tpl_room_panel, tpl_rooms_results, tpl_spinner, Awesomplete) { "use strict"; - const _converse$env = converse.env, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - Strophe = _converse$env.Strophe, - b64_sha1 = _converse$env.b64_sha1, - moment = _converse$env.moment, - f = _converse$env.f, - sizzle = _converse$env.sizzle, - _ = _converse$env._, - $build = _converse$env.$build, - $iq = _converse$env.$iq, - $msg = _converse$env.$msg, - $pres = _converse$env.$pres; - const u = converse.env.utils; - const ROOM_FEATURES_MAP = { + var _converse$env = converse.env, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + Strophe = _converse$env.Strophe, + b64_sha1 = _converse$env.b64_sha1, + moment = _converse$env.moment, + f = _converse$env.f, + sizzle = _converse$env.sizzle, + _ = _converse$env._, + $build = _converse$env.$build, + $iq = _converse$env.$iq, + $msg = _converse$env.$msg, + $pres = _converse$env.$pres; + var u = converse.env.utils; + var ROOM_FEATURES_MAP = { 'passwordprotected': 'unsecured', 'unsecured': 'passwordprotected', 'hidden': 'publicroom', @@ -42101,13 +41832,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ dependencies: ["converse-modal", "converse-controlbox", "converse-chatview"], overrides: { ControlBoxView: { - renderRoomsPanel() { - const _converse = this.__super__._converse; + renderRoomsPanel: function renderRoomsPanel() { + var _converse = this.__super__._converse; this.roomspanel = new _converse.RoomsPanel({ 'model': new (_converse.RoomsPanelModel.extend({ - 'id': b64_sha1(`converse.roomspanel${_converse.bare_jid}`), + 'id': b64_sha1("converse.roomspanel".concat(_converse.bare_jid)), // Required by sessionStorage - 'browserStorage': new Backbone.BrowserStorage[_converse.storage](b64_sha1(`converse.roomspanel${_converse.bare_jid}`)) + 'browserStorage': new Backbone.BrowserStorage[_converse.storage](b64_sha1("converse.roomspanel".concat(_converse.bare_jid))) }))() }); this.roomspanel.model.fetch(); @@ -42121,9 +41852,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.emit('roomsPanelRendered'); }, - - renderControlBoxPane() { - const _converse = this.__super__._converse; + renderControlBoxPane: function renderControlBoxPane() { + var _converse = this.__super__._converse; this.__super__.renderControlBoxPane.apply(this, arguments); @@ -42131,12 +41861,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.renderRoomsPanel(); } } - }, ChatBoxViews: { - onChatBoxAdded(item) { - const _converse = this.__super__._converse; - let view = this.get(item.get('id')); + onChatBoxAdded: function onChatBoxAdded(item) { + var _converse = this.__super__._converse; + var view = this.get(item.get('id')); if (!view && item.get('type') === converse.CHATROOMS_TYPE) { view = new _converse.ChatRoomView({ @@ -42147,13 +41876,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.onChatBoxAdded.apply(this, arguments); } } - } }, - - initialize() { - const _converse = this._converse, - __ = _converse.__; + initialize: function initialize() { + var _converse = this._converse, + __ = _converse.__; _converse.api.promises.add(['roomsPanelRendered']); // Configuration values for this plugin // ==================================== @@ -42247,67 +41974,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 303: ___('Your nickname has been changed to %1$s') } }; - - function insertRoomInfo(el, stanza) { - /* Insert room info (based on returned #disco IQ stanza) - * - * Parameters: - * (HTMLElement) el: The HTML DOM element that should - * contain the info. - * (XMLElement) stanza: The IQ stanza containing the room - * info. - */ - // All MUC features found here: http://xmpp.org/registrar/disco-features.html - el.querySelector('span.spinner').remove(); - el.querySelector('a.room-info').classList.add('selected'); - el.insertAdjacentHTML('beforeEnd', tpl_room_description({ - 'jid': stanza.getAttribute('from'), - 'desc': _.get(_.head(sizzle('field[var="muc#roominfo_description"] value', stanza)), 'textContent'), - 'occ': _.get(_.head(sizzle('field[var="muc#roominfo_occupants"] value', stanza)), 'textContent'), - 'hidden': sizzle('feature[var="muc_hidden"]', stanza).length, - 'membersonly': sizzle('feature[var="muc_membersonly"]', stanza).length, - 'moderated': sizzle('feature[var="muc_moderated"]', stanza).length, - 'nonanonymous': sizzle('feature[var="muc_nonanonymous"]', stanza).length, - 'open': sizzle('feature[var="muc_open"]', stanza).length, - 'passwordprotected': sizzle('feature[var="muc_passwordprotected"]', stanza).length, - 'persistent': sizzle('feature[var="muc_persistent"]', stanza).length, - 'publicroom': sizzle('feature[var="muc_publicroom"]', stanza).length, - 'semianonymous': sizzle('feature[var="muc_semianonymous"]', stanza).length, - 'temporary': sizzle('feature[var="muc_temporary"]', stanza).length, - 'unmoderated': sizzle('feature[var="muc_unmoderated"]', stanza).length, - 'label_desc': __('Description:'), - 'label_jid': __('Room Address (JID):'), - 'label_occ': __('Occupants:'), - 'label_features': __('Features:'), - 'label_requires_auth': __('Requires authentication'), - 'label_hidden': __('Hidden'), - 'label_requires_invite': __('Requires an invitation'), - 'label_moderated': __('Moderated'), - 'label_non_anon': __('Non-anonymous'), - 'label_open_room': __('Open room'), - 'label_permanent_room': __('Permanent room'), - 'label_public': __('Public'), - 'label_semi_anon': __('Semi-anonymous'), - 'label_temp_room': __('Temporary room'), - 'label_unmoderated': __('Unmoderated') - })); - } - - function toggleRoomInfo(ev) { - /* Show/hide extra information about a room in a listing. */ - const parent_el = u.ancestor(ev.target, '.room-item'), - div_el = parent_el.querySelector('div.room-info'); - - if (div_el) { - u.slideIn(div_el).then(u.removeElement); - parent_el.querySelector('a.room-info').classList.remove('selected'); - } else { - parent_el.insertAdjacentHTML('beforeend', tpl_spinner()); - - _converse.api.disco.info(ev.target.getAttribute('data-room-jid'), null, _.partial(insertRoomInfo, parent_el)); - } - } - _converse.ListChatRoomsModal = _converse.BootstrapModal.extend({ events: { 'submit form': 'showRooms', @@ -42316,14 +41982,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'change input[name=server]': 'setDomain', 'click .open-room': 'openRoom' }, - - initialize() { + initialize: function initialize() { _converse.BootstrapModal.prototype.initialize.apply(this, arguments); this.model.on('change:muc_domain', this.onDomainChange, this); }, - - toHTML() { + toHTML: function toHTML() { return tpl_list_chatrooms_modal(_.extend(this.model.toJSON(), { 'heading_list_chatrooms': __('Query for Chatrooms'), 'label_server_address': __('Server address'), @@ -42331,38 +41995,45 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'server_placeholder': __('conference.example.org') })); }, + afterRender: function afterRender() { + var _this = this; - afterRender() { - this.el.addEventListener('shown.bs.modal', () => { - this.el.querySelector('input[name="server"]').focus(); + this.el.addEventListener('shown.bs.modal', function () { + _this.el.querySelector('input[name="server"]').focus(); }, false); }, - - openRoom(ev) { + openRoom: function openRoom(ev) { ev.preventDefault(); - const jid = ev.target.getAttribute('data-room-jid'); - const name = ev.target.getAttribute('data-room-name'); + var jid = ev.target.getAttribute('data-room-jid'); + var name = ev.target.getAttribute('data-room-name'); this.modal.hide(); _converse.api.rooms.open(jid, { 'name': name }); }, + toggleRoomInfo: function (_toggleRoomInfo) { + function toggleRoomInfo(_x) { + return _toggleRoomInfo.apply(this, arguments); + } - toggleRoomInfo(ev) { + toggleRoomInfo.toString = function () { + return _toggleRoomInfo.toString(); + }; + + return toggleRoomInfo; + }(function (ev) { ev.preventDefault(); toggleRoomInfo(ev); - }, - - onDomainChange(model) { + }), + onDomainChange: function onDomainChange(model) { if (_converse.auto_list_rooms) { this.updateRoomsList(); } }, - - roomStanzaItemToHTMLElement(room) { - const name = Strophe.unescapeNode(room.getAttribute('name') || room.getAttribute('jid')); - const div = document.createElement('div'); + roomStanzaItemToHTMLElement: function roomStanzaItemToHTMLElement(room) { + var name = Strophe.unescapeNode(room.getAttribute('name') || room.getAttribute('jid')); + var div = document.createElement('div'); div.innerHTML = tpl_room_item({ 'name': Strophe.xmlunescape(name), 'jid': room.getAttribute('jid'), @@ -42371,26 +42042,25 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); return div.firstElementChild; }, - - removeSpinner() { - _.each(this.el.querySelectorAll('span.spinner'), el => el.parentNode.removeChild(el)); + removeSpinner: function removeSpinner() { + _.each(this.el.querySelectorAll('span.spinner'), function (el) { + return el.parentNode.removeChild(el); + }); }, - - informNoRoomsFound() { - const chatrooms_el = this.el.querySelector('.available-chatrooms'); + informNoRoomsFound: function informNoRoomsFound() { + var chatrooms_el = this.el.querySelector('.available-chatrooms'); chatrooms_el.innerHTML = tpl_rooms_results({ 'feedback_text': __('No rooms found') }); - const input_el = this.el.querySelector('input[name="server"]'); + var input_el = this.el.querySelector('input[name="server"]'); input_el.classList.remove('hidden'); this.removeSpinner(); }, - - onRoomsFound(iq) { + onRoomsFound: function onRoomsFound(iq) { /* Handle the IQ stanza returned from the server, containing * all its public rooms. */ - const available_chatrooms = this.el.querySelector('.available-chatrooms'); + var available_chatrooms = this.el.querySelector('.available-chatrooms'); this.rooms = iq.querySelectorAll('query item'); if (this.rooms.length) { @@ -42399,11 +42069,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ available_chatrooms.innerHTML = tpl_rooms_results({ 'feedback_text': __('Rooms found:') }); - const fragment = document.createDocumentFragment(); + var fragment = document.createDocumentFragment(); - const children = _.reject(_.map(this.rooms, this.roomStanzaItemToHTMLElement), _.isNil); + var children = _.reject(_.map(this.rooms, this.roomStanzaItemToHTMLElement), _.isNil); - _.each(children, child => fragment.appendChild(child)); + _.each(children, function (child) { + return fragment.appendChild(child); + }); available_chatrooms.appendChild(fragment); this.removeSpinner(); @@ -42413,8 +42085,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return true; }, - - updateRoomsList() { + updateRoomsList: function updateRoomsList() { /* Send an IQ stanza to the server asking for all rooms */ _converse.connection.sendIQ($iq({ @@ -42425,33 +42096,28 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ xmlns: Strophe.NS.DISCO_ITEMS }), this.onRoomsFound.bind(this), this.informNoRoomsFound.bind(this), 5000); }, - - showRooms(ev) { + showRooms: function showRooms(ev) { ev.preventDefault(); - const data = new FormData(ev.target); + var data = new FormData(ev.target); this.model.save('muc_domain', data.get('server')); this.updateRoomsList(); }, - - setDomain(ev) { + setDomain: function setDomain(ev) { this.model.save({ muc_domain: ev.target.value }); }, - - setNick(ev) { + setNick: function setNick(ev) { this.model.save({ nick: ev.target.value }); } - }); _converse.AddChatRoomModal = _converse.BootstrapModal.extend({ events: { 'submit form.add-chatroom': 'openChatRoom' }, - - toHTML() { + toHTML: function toHTML() { return tpl_add_chatroom_modal(_.extend(this.model.toJSON(), { 'heading_new_chatroom': __('Enter a new Chatroom'), 'label_room_address': __('Room address'), @@ -42460,34 +42126,63 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'label_join': __('Join') })); }, + afterRender: function afterRender() { + var _this2 = this; - afterRender() { - this.el.addEventListener('shown.bs.modal', () => { - this.el.querySelector('input[name="chatroom"]').focus(); + this.el.addEventListener('shown.bs.modal', function () { + _this2.el.querySelector('input[name="chatroom"]').focus(); }, false); }, - - parseRoomDataFromEvent(form) { - const data = new FormData(form); - const jid = data.get('chatroom'); - const server = Strophe.getDomainFromJid(jid); + parseRoomDataFromEvent: function parseRoomDataFromEvent(form) { + var data = new FormData(form); + var jid = data.get('chatroom'); + var server = Strophe.getDomainFromJid(jid); this.model.save('muc_domain', server); return { 'jid': jid, 'nick': data.get('nickname') }; }, - - openChatRoom(ev) { + openChatRoom: function openChatRoom(ev) { ev.preventDefault(); - const data = this.parseRoomDataFromEvent(ev.target); + var data = this.parseRoomDataFromEvent(ev.target); _converse.api.rooms.open(data.jid, data); this.modal.hide(); ev.target.reset(); } + }); + _converse.RoomDetailsModal = _converse.BootstrapModal.extend({ + initialize: function initialize() { + _converse.BootstrapModal.prototype.initialize.apply(this, arguments); + this.model.on('change:features_fetched', this.render()); + + if (!this.model.get('features_fetched')) { + this.model.getRoomFeatures(); + } + }, + toHTML: function toHTML() { + return tpl_chatroom_details_modal(_.extend(this.model.toJSON(), { + '__': __, + 'label_desc': __('Description:'), + 'label_features': __('Features:'), + 'label_hidden': __('Hidden'), + 'label_moderated': __('Moderated'), + 'label_non_anon': __('Non-anonymous'), + 'label_occ': __('Online users:'), + 'label_open_room': __('Open room'), + 'label_permanent_room': __('Permanent room'), + 'label_public': __('Public'), + 'label_requires_auth': __('Requires authentication'), + 'label_requires_invite': __('Requires an invitation'), + 'label_semi_anon': __('Semi-anonymous'), + 'label_temp_room': __('Temporary room'), + 'label_unmoderated': __('Unmoderated'), + 'num_occupants': this.model.occupants.length + })); + } }); _converse.ChatRoomView = _converse.ChatBoxView.extend({ /* Backbone.NativeView which renders a chat room, based upon the view @@ -42514,8 +42209,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'keypress .chat-textarea': 'keyPressed', 'input .chat-textarea': 'inputChanged' }, + initialize: function initialize() { + var _this3 = this; - initialize() { this.initDebounced(); this.model.messages.on('add', this.onMessageAdded, this); this.model.messages.on('rendered', this.scrollDown, this); @@ -42529,15 +42225,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.on('show', this.show, this); this.model.occupants.on('add', this.showJoinNotification, this); this.model.occupants.on('remove', this.showLeaveNotification, this); - this.model.occupants.on('change:show', occupant => { + this.model.occupants.on('change:show', function (occupant) { if (!occupant.isMember() || _.includes(occupant.get('states'), '303')) { return; } if (occupant.get('show') === 'offline') { - this.showLeaveNotification(occupant); + _this3.showLeaveNotification(occupant); } else if (occupant.get('show') === 'online') { - this.showJoinNotification(occupant); + _this3.showJoinNotification(occupant); } }); this.createEmojiPicker(); @@ -42546,17 +42242,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.registerHandlers(); if (this.model.get('connection_status') !== converse.ROOMSTATUS.ENTERED) { - const handler = () => { - if (!u.isPersistableModel(this.model)) { + var handler = function handler() { + if (!u.isPersistableModel(_this3.model)) { // Happens during tests, nothing to do if this // is a hanging chatbox (i.e. not in the // collection anymore). return; } - this.populateAndJoin(); + _this3.populateAndJoin(); - _converse.emit('chatRoomOpened', this); + _converse.emit('chatRoomOpened', _this3); }; this.model.getRoomFeatures().then(handler, handler); @@ -42566,8 +42262,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.emit('chatRoomOpened', this); } }, - - render() { + render: function render() { this.el.setAttribute('id', this.model.get('box_id')); this.el.innerHTML = tpl_chatroom(); this.renderHeading(); @@ -42579,17 +42274,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - renderHeading() { + renderHeading: function renderHeading() { /* Render the heading UI of the chat room. */ this.el.querySelector('.chat-head-chatroom').innerHTML = this.generateHeadingHTML(); }, - - renderChatArea() { + renderChatArea: function renderChatArea() { /* Render the UI container in which chat room messages will appear. */ if (_.isNull(this.el.querySelector('.chat-area'))) { - const container_el = this.el.querySelector('.chatroom-body'); + var container_el = this.el.querySelector('.chatroom-body'); container_el.innerHTML = tpl_chatarea({ 'label_message': __('Message'), 'label_send': __('Send'), @@ -42605,16 +42298,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - showChatStateNotification(message) { + showChatStateNotification: function showChatStateNotification(message) { if (message.get('sender') === 'me') { return; } return _converse.ChatBoxView.prototype.showChatStateNotification.apply(this, arguments); }, - - createOccupantsView() { + createOccupantsView: function createOccupantsView() { /* Create the ChatRoomOccupantsView Backbone.NativeView */ this.model.occupants.chatroomview = this; @@ -42624,9 +42315,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.occupantsview.model.on('change:role', this.informOfOccupantsRoleChange, this); return this; }, - - informOfOccupantsRoleChange(occupant, changed) { - const previous_role = occupant._previousAttributes.role; + informOfOccupantsRoleChange: function informOfOccupantsRoleChange(occupant, changed) { + var previous_role = occupant._previousAttributes.role; if (previous_role === 'moderator') { this.showChatEvent(__("%1$s is no longer a moderator", occupant.get('nick'))); @@ -42644,8 +42334,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.showChatEvent(__("%1$s is now a moderator", occupant.get('nick'))); } }, - - generateHeadingHTML() { + generateHeadingHTML: function generateHeadingHTML() { /* Returns the heading HTML to be rendered. */ return tpl_chatroom_head(_.extend(this.model.toJSON(), { @@ -42655,8 +42344,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ description: this.model.get('description') || '' })); }, - - afterShown() { + afterShown: function afterShown() { /* Override from converse-chatview, specifically to avoid * the 'active' chat state from being sent out prematurely. * @@ -42671,8 +42359,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.scrollDown(); this.renderEmojiPicker(); }, - - show() { + show: function show() { if (u.isVisible(this.el)) { this.focus(); return; @@ -42683,8 +42370,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ u.showElement(this.el); this.afterShown(); }, - - afterConnected() { + afterConnected: function afterConnected() { if (this.model.get('connection_status') === converse.ROOMSTATUS.ENTERED) { this.hideSpinner(); this.setChatState(_converse.ACTIVE); @@ -42692,15 +42378,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.focus(); } }, - - getToolbarOptions() { + getToolbarOptions: function getToolbarOptions() { return _.extend(_converse.ChatBoxView.prototype.getToolbarOptions.apply(this, arguments), { label_hide_occupants: __('Hide the list of occupants'), show_occupants_toggle: this.is_chatroom && _converse.visible_toolbar_buttons.toggle_occupants }); }, - - close(ev) { + close: function close(ev) { /* Close this chat box, which implies leaving the room as * well. */ @@ -42714,9 +42398,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.ChatBoxView.prototype.close.apply(this, arguments); }, - - setOccupantsVisibility() { - const icon_el = this.el.querySelector('.toggle-occupants'); + setOccupantsVisibility: function setOccupantsVisibility() { + var icon_el = this.el.querySelector('.toggle-occupants'); if (this.model.get('hidden_occupants')) { u.removeClass('fa-angle-double-right', icon_el); @@ -42732,8 +42415,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.occupantsview.setOccupantsHeight(); }, - - hideOccupants(ev, preserve_state) { + hideOccupants: function hideOccupants(ev, preserve_state) { /* Show or hide the right sidebar containing the chat * occupants (and the invite widget). */ @@ -42748,8 +42430,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.setOccupantsVisibility(); this.scrollDown(); }, - - toggleOccupants(ev, preserve_state) { + toggleOccupants: function toggleOccupants(ev, preserve_state) { /* Show or hide the right sidebar containing the chat * occupants (and the invite widget). */ @@ -42767,15 +42448,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.setOccupantsVisibility(); this.scrollDown(); }, - - onOccupantClicked(ev) { + onOccupantClicked: function onOccupantClicked(ev) { /* When an occupant is clicked, insert their nickname into * the chat textarea input. */ this.insertIntoTextArea(ev.target.textContent); }, - - handleChatStateNotification(message) { + handleChatStateNotification: function handleChatStateNotification(message) { /* Override the method on the ChatBoxView base class to * ignore notifications in groupchats. * @@ -42793,13 +42472,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.ChatBoxView.prototype.handleChatStateNotification.apply(this, arguments); } }, - - modifyRole(room, nick, role, reason, onSuccess, onError) { - const item = $build("item", { - nick, - role + modifyRole: function modifyRole(room, nick, role, reason, onSuccess, onError) { + var item = $build("item", { + nick: nick, + role: role }); - const iq = $iq({ + var iq = $iq({ to: room, type: "set" }).c("query", { @@ -42812,8 +42490,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _converse.connection.sendIQ(iq, onSuccess, onError); }, - - validateRoleChangeCommand(command, args) { + validateRoleChangeCommand: function validateRoleChangeCommand(command, args) { /* Check that a command to change a chat room user's role or * affiliation has anough arguments. */ @@ -42825,15 +42502,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return true; }, - - onCommandError(err) { + onCommandError: function onCommandError(err) { _converse.log(err, Strophe.LogLevel.FATAL); this.showErrorMessage(__("Sorry, an error happened while running the command. Check your browser's developer console for details."), true); }, + parseMessageForCommands: function parseMessageForCommands(text) { + var _this4 = this; - parseMessageForCommands(text) { - const _super_ = _converse.ChatBoxView.prototype; + var _super_ = _converse.ChatBoxView.prototype; if (_super_.parseMessageForCommands.apply(this, arguments)) { return true; @@ -42843,9 +42520,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return false; } - const match = text.replace(/^\s*/, "").match(/^\/(.*?)(?: (.*))?$/) || [false, '', ''], - args = match[2] && match[2].splitOnce(' ') || [], - command = match[1].toLowerCase(); + var match = text.replace(/^\s*/, "").match(/^\/(.*?)(?: (.*))?$/) || [false, '', ''], + args = match[2] && match[2].splitOnce(' ') || [], + command = match[1].toLowerCase(); switch (command) { case 'admin': @@ -42856,7 +42533,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.setAffiliation('admin', [{ 'jid': args[0], 'reason': args[1] - }]).then(() => this.model.occupants.fetchMembers(), err => this.onCommandError(err)); + }]).then(function () { + return _this4.model.occupants.fetchMembers(); + }, function (err) { + return _this4.onCommandError(err); + }); break; case 'ban': @@ -42867,7 +42548,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.setAffiliation('outcast', [{ 'jid': args[0], 'reason': args[1] - }]).then(() => this.model.occupants.fetchMembers(), err => this.onCommandError(err)); + }]).then(function () { + return _this4.model.occupants.fetchMembers(); + }, function (err) { + return _this4.onCommandError(err); + }); break; case 'deop': @@ -42879,7 +42564,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ break; case 'help': - this.showHelpMessages([`/admin: ${__("Change user's affiliation to admin")}`, `/ban: ${__('Ban user from room')}`, `/clear: ${__('Remove messages')}`, `/deop: ${__('Change user role to participant')}`, `/help: ${__('Show this menu')}`, `/kick: ${__('Kick user from room')}`, `/me: ${__('Write in 3rd person')}`, `/member: ${__('Grant membership to a user')}`, `/mute: ${__("Remove user's ability to post messages")}`, `/nick: ${__('Change your nickname')}`, `/op: ${__('Grant moderator role to user')}`, `/owner: ${__('Grant ownership of this room')}`, `/revoke: ${__("Revoke user's membership")}`, `/subject: ${__('Set room subject')}`, `/topic: ${__('Set room subject (alias for /subject)')}`, `/voice: ${__('Allow muted user to post messages')}`]); + this.showHelpMessages(["/admin: ".concat(__("Change user's affiliation to admin")), "/ban: ".concat(__('Ban user from room')), "/clear: ".concat(__('Remove messages')), "/deop: ".concat(__('Change user role to participant')), "/help: ".concat(__('Show this menu')), "/kick: ".concat(__('Kick user from room')), "/me: ".concat(__('Write in 3rd person')), "/member: ".concat(__('Grant membership to a user')), "/mute: ".concat(__("Remove user's ability to post messages")), "/nick: ".concat(__('Change your nickname')), "/op: ".concat(__('Grant moderator role to user')), "/owner: ".concat(__('Grant ownership of this room')), "/revoke: ".concat(__("Revoke user's membership")), "/subject: ".concat(__('Set room subject')), "/topic: ".concat(__('Set room subject (alias for /subject)')), "/voice: ".concat(__('Allow muted user to post messages'))]); break; case 'kick': @@ -42906,7 +42591,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.setAffiliation('member', [{ 'jid': args[0], 'reason': args[1] - }]).then(() => this.model.occupants.fetchMembers(), err => this.onCommandError(err)); + }]).then(function () { + return _this4.model.occupants.fetchMembers(); + }, function (err) { + return _this4.onCommandError(err); + }); break; case 'nick': @@ -42926,7 +42615,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.setAffiliation('owner', [{ 'jid': args[0], 'reason': args[1] - }]).then(() => this.model.occupants.fetchMembers(), err => this.onCommandError(err)); + }]).then(function () { + return _this4.model.occupants.fetchMembers(); + }, function (err) { + return _this4.onCommandError(err); + }); break; case 'op': @@ -42945,7 +42638,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.setAffiliation('none', [{ 'jid': args[0], 'reason': args[1] - }]).then(() => this.model.occupants.fetchMembers(), err => this.onCommandError(err)); + }]).then(function () { + return _this4.model.occupants.fetchMembers(); + }, function (err) { + return _this4.onCommandError(err); + }); break; case 'topic': @@ -42974,8 +42671,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return true; }, - - registerHandlers() { + registerHandlers: function registerHandlers() { /* Register presence and message handlers for this chat * room */ @@ -42987,8 +42683,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.addHandler('message', 'ChatRoomView.showStatusMessages', this.showStatusMessages.bind(this)); }, - - onPresence(pres) { + onPresence: function onPresence(pres) { /* Handles all MUC presence stanzas. * * Parameters: @@ -43009,14 +42704,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.showStatusMessages(pres); } }, - - populateAndJoin() { + populateAndJoin: function populateAndJoin() { this.model.occupants.fetchMembers(); this.join(); this.fetchMessages(); }, - - join(nick, password) { + join: function join(nick, password) { /* Join the chat room. * * Parameters: @@ -43032,8 +42725,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.join(nick, password); return this; }, + renderConfigurationForm: function renderConfigurationForm(stanza) { + var _this5 = this; - renderConfigurationForm(stanza) { /* Renders a form given an IQ stanza containing the current * room configuration. * @@ -43044,7 +42738,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (XMLElement) stanza: The IQ stanza containing the room * config. */ - const container_el = this.el.querySelector('.chatroom-body'); + var container_el = this.el.querySelector('.chatroom-body'); _.each(container_el.querySelectorAll('.chatroom-form-container'), u.removeElement); @@ -43052,17 +42746,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ container_el.insertAdjacentHTML('beforeend', tpl_chatroom_form()); - const form_el = container_el.querySelector('form.chatroom-form'), - fieldset_el = form_el.querySelector('fieldset'), - fields = stanza.querySelectorAll('field'), - title = _.get(stanza.querySelector('title'), 'textContent'), - instructions = _.get(stanza.querySelector('instructions'), 'textContent'); + var form_el = container_el.querySelector('form.chatroom-form'), + fieldset_el = form_el.querySelector('fieldset'), + fields = stanza.querySelectorAll('field'), + title = _.get(stanza.querySelector('title'), 'textContent'), + instructions = _.get(stanza.querySelector('instructions'), 'textContent'); u.removeElement(fieldset_el.querySelector('span.spinner')); - fieldset_el.insertAdjacentHTML('beforeend', `${title}`); + fieldset_el.insertAdjacentHTML('beforeend', "".concat(title, "")); if (instructions && instructions !== title) { - fieldset_el.insertAdjacentHTML('beforeend', `

${instructions}

`); + fieldset_el.insertAdjacentHTML('beforeend', "

".concat(instructions, "

")); } _.each(fields, function (field) { @@ -43070,30 +42764,31 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); // Render save/cancel buttons - const last_fieldset_el = document.createElement('fieldset'); - last_fieldset_el.insertAdjacentHTML('beforeend', ``); - last_fieldset_el.insertAdjacentHTML('beforeend', ``); + var last_fieldset_el = document.createElement('fieldset'); + last_fieldset_el.insertAdjacentHTML('beforeend', "")); + last_fieldset_el.insertAdjacentHTML('beforeend', "")); form_el.insertAdjacentElement('beforeend', last_fieldset_el); - last_fieldset_el.querySelector('input[type=button]').addEventListener('click', ev => { + last_fieldset_el.querySelector('input[type=button]').addEventListener('click', function (ev) { ev.preventDefault(); - this.closeForm(); + + _this5.closeForm(); }); - form_el.addEventListener('submit', ev => { + form_el.addEventListener('submit', function (ev) { ev.preventDefault(); - this.model.saveConfiguration(ev.target).then(this.model.getRoomFeatures.bind(this.model)); - this.closeForm(); + + _this5.model.saveConfiguration(ev.target).then(_this5.model.getRoomFeatures.bind(_this5.model)); + + _this5.closeForm(); }, false); }, - - closeForm() { + closeForm: function closeForm() { /* Remove the configuration form without submitting and * return to the chat view. */ u.removeElement(this.el.querySelector('.chatroom-form-container')); this.renderAfterTransition(); }, - - getAndRenderConfigurationForm(ev) { + getAndRenderConfigurationForm: function getAndRenderConfigurationForm(ev) { /* Start the process of configuring a chat room, either by * rendering a configuration form, or by auto-configuring * based on the "roomconfig" data stored on the @@ -43111,14 +42806,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.showSpinner(); this.model.fetchRoomConfiguration().then(this.renderConfigurationForm.bind(this)).catch(_.partial(_converse.log, _, Strophe.LogLevel.ERROR)); }, - - submitNickname(ev) { + submitNickname: function submitNickname(ev) { /* Get the nickname value from the form and then join the * chat room with it. */ ev.preventDefault(); - const nick_el = ev.target.nick; - const nick = nick_el.value; + var nick_el = ev.target.nick; + var nick = nick_el.value; if (!nick) { nick_el.classList.add('error'); @@ -43130,8 +42824,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.el.querySelector('.chatroom-form-container').outerHTML = tpl_spinner(); this.join(nick); }, - - checkForReservedNick() { + checkForReservedNick: function checkForReservedNick() { /* User service-discovery to ask the XMPP server whether * this user has a reserved nickname for this room. * If so, we'll use that, otherwise we render the nickname form. @@ -43139,8 +42832,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.showSpinner(); this.model.checkForReservedNick(this.onNickNameFound.bind(this), this.onNickNameNotFound.bind(this)); }, - - onNickNameFound(iq) { + onNickNameFound: function onNickNameFound(iq) { /* We've received an IQ response from the server which * might contain the user's reserved nickname. * If no nickname is found we either render a form for @@ -43150,8 +42842,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * Parameters: * (XMLElement) iq: The received IQ stanza */ - const identity_el = iq.querySelector('query[node="x-roomuser-item"] identity'), - nick = identity_el ? identity_el.getAttribute('name') : null; + var identity_el = iq.querySelector('query[node="x-roomuser-item"] identity'), + nick = identity_el ? identity_el.getAttribute('name') : null; if (!nick) { this.onNickNameNotFound(); @@ -43159,9 +42851,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.join(nick); } }, - - onNickNameNotFound(message) { - const nick = this.getDefaultNickName(); + onNickNameNotFound: function onNickNameNotFound(message) { + var nick = this.getDefaultNickName(); if (nick) { this.join(nick); @@ -43169,14 +42860,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.renderNicknameForm(message); } }, - - getDefaultNickName() { + getDefaultNickName: function getDefaultNickName() { /* The default nickname (used when muc_nickname_from_jid is true) * is the node part of the user's JID. * We put this in a separate method so that it can be * overridden by plugins. */ - const nick = _converse.xmppstatus.vcard.get('nickname'); + var nick = _converse.xmppstatus.vcard.get('nickname'); if (nick) { return nick; @@ -43184,8 +42874,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return Strophe.unescapeNode(Strophe.getNodeFromJid(_converse.bare_jid)); } }, - - onNicknameClash(presence) { + onNicknameClash: function onNicknameClash(presence) { /* When the nickname is already taken, we either render a * form for the user to choose a new nickname, or we * try to make the nickname unique by adding an integer to @@ -43195,31 +42884,29 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * muc_nickname_from_jid. */ if (_converse.muc_nickname_from_jid) { - const nick = presence.getAttribute('from').split('/')[1]; + var nick = presence.getAttribute('from').split('/')[1]; if (nick === this.getDefaultNickName()) { this.join(nick + '-2'); } else { - const del = nick.lastIndexOf("-"); - const num = nick.substring(del + 1, nick.length); + var del = nick.lastIndexOf("-"); + var num = nick.substring(del + 1, nick.length); this.join(nick.substring(0, del + 1) + String(Number(num) + 1)); } } else { this.renderNicknameForm(__("The nickname you chose is reserved or " + "currently in use, please choose a different one.")); } }, - - hideChatRoomContents() { - const container_el = this.el.querySelector('.chatroom-body'); + hideChatRoomContents: function hideChatRoomContents() { + var container_el = this.el.querySelector('.chatroom-body'); if (!_.isNull(container_el)) { - _.each(container_el.children, child => { + _.each(container_el.children, function (child) { child.classList.add('hidden'); }); } }, - - renderNicknameForm(message) { + renderNicknameForm: function renderNicknameForm(message) { /* Render a form which allows the user to choose their * nickname. */ @@ -43231,7 +42918,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ message = ''; } - const container_el = this.el.querySelector('.chatroom-body'); + var container_el = this.el.querySelector('.chatroom-body'); container_el.insertAdjacentHTML('beforeend', tpl_chatroom_nickname_form({ heading: __('Please choose your nickname'), label_nickname: __('Nickname'), @@ -43239,19 +42926,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ validation_message: message })); this.model.save('connection_status', converse.ROOMSTATUS.NICKNAME_REQUIRED); - const form_el = this.el.querySelector('.chatroom-form'); + var form_el = this.el.querySelector('.chatroom-form'); form_el.addEventListener('submit', this.submitNickname.bind(this), false); }, - - submitPassword(ev) { + submitPassword: function submitPassword(ev) { ev.preventDefault(); - const password = this.el.querySelector('.chatroom-form input[type=password]').value; + var password = this.el.querySelector('.chatroom-form input[type=password]').value; this.showSpinner(); this.join(this.model.get('nick'), password); }, - - renderPasswordForm() { - const container_el = this.el.querySelector('.chatroom-body'); + renderPasswordForm: function renderPasswordForm() { + var container_el = this.el.querySelector('.chatroom-body'); _.each(container_el.children, u.hideElement); @@ -43265,8 +42950,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.save('connection_status', converse.ROOMSTATUS.PASSWORD_REQUIRED); this.el.querySelector('.chatroom-form').addEventListener('submit', this.submitPassword.bind(this), false); }, - - showDisconnectMessage(msg) { + showDisconnectMessage: function showDisconnectMessage(msg) { u.hideElement(this.el.querySelector('.chat-area')); u.hideElement(this.el.querySelector('.occupants')); @@ -43276,15 +42960,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'disconnect_message': msg })); }, - - getMessageFromStatus(stat, stanza, is_self) { + getMessageFromStatus: function getMessageFromStatus(stat, stanza, is_self) { /* Parameters: * (XMLElement) stat: A element. * (Boolean) is_self: Whether the element refers to the * current user. * (XMLElement) stanza: The original stanza received. */ - const code = stat.getAttribute('code'); + var code = stat.getAttribute('code'); if (code === '110' || code === '100' && !is_self) { return; @@ -43294,7 +42977,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _converse.muc.info_messages[code]; } - let nick; + var nick; if (!is_self) { if (code in _converse.muc.action_info_messages) { @@ -43313,31 +42996,30 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; }, - - parseXUserElement(x, stanza, is_self) { + parseXUserElement: function parseXUserElement(x, stanza, is_self) { /* Parse the passed-in * element and construct a map containing relevant * information. */ // 1. Get notification messages based on the elements. - const statuses = x.querySelectorAll('status'); + var statuses = x.querySelectorAll('status'); - const mapper = _.partial(this.getMessageFromStatus, _, stanza, is_self); + var mapper = _.partial(this.getMessageFromStatus, _, stanza, is_self); - const notification = {}; + var notification = {}; - const messages = _.reject(_.map(statuses, mapper), _.isUndefined); + var messages = _.reject(_.map(statuses, mapper), _.isUndefined); if (messages.length) { notification.messages = messages; } // 2. Get disconnection messages based on the elements - const codes = _.invokeMap(statuses, Element.prototype.getAttribute, 'code'); + var codes = _.invokeMap(statuses, Element.prototype.getAttribute, 'code'); - const disconnection_codes = _.intersection(codes, _.keys(_converse.muc.disconnect_messages)); + var disconnection_codes = _.intersection(codes, _.keys(_converse.muc.disconnect_messages)); - const disconnected = is_self && disconnection_codes.length > 0; + var disconnected = is_self && disconnection_codes.length > 0; if (disconnected) { notification.disconnected = true; @@ -43345,19 +43027,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } // 3. Find the reason and actor from the element - const item = x.querySelector('item'); // By using querySelector above, we assume here there is + var item = x.querySelector('item'); // By using querySelector above, we assume here there is // one per // element. This appears to be a safe assumption, since // each element pertains to a single user. if (!_.isNull(item)) { - const reason = item.querySelector('reason'); + var reason = item.querySelector('reason'); if (reason) { notification.reason = reason ? reason.textContent : undefined; } - const actor = item.querySelector('actor'); + var actor = item.querySelector('actor'); if (actor) { notification.actor = actor ? actor.getAttribute('nick') : undefined; @@ -43366,8 +43048,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return notification; }, + showNotificationsforUser: function showNotificationsforUser(notification) { + var _this6 = this; - showNotificationsforUser(notification) { /* Given the notification object generated by * parseXUserElement, display any relevant messages and * information to the user. @@ -43387,8 +43070,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - _.each(notification.messages, message => { - this.content.insertAdjacentHTML('beforeend', tpl_info({ + _.each(notification.messages, function (message) { + _this6.content.insertAdjacentHTML('beforeend', tpl_info({ 'data': '', 'isodate': moment().format(), 'extra_classes': 'chat-event', @@ -43404,25 +43087,24 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.scrollDown(); } }, - - showJoinNotification(occupant) { + showJoinNotification: function showJoinNotification(occupant) { if (this.model.get('connection_status') !== converse.ROOMSTATUS.ENTERED) { return; } - const nick = occupant.get('nick'); - const stat = occupant.get('status'); - const last_el = this.content.lastElementChild; + var nick = occupant.get('nick'); + var stat = occupant.get('status'); + var last_el = this.content.lastElementChild; - if (_.includes(_.get(last_el, 'classList', []), 'chat-info') && _.get(last_el, 'dataset', {}).leave === `"${nick}"`) { + if (_.includes(_.get(last_el, 'classList', []), 'chat-info') && _.get(last_el, 'dataset', {}).leave === "\"".concat(nick, "\"")) { last_el.outerHTML = tpl_info({ - 'data': `data-leavejoin="${nick}"`, + 'data': "data-leavejoin=\"".concat(nick, "\""), 'isodate': moment().format(), 'extra_classes': 'chat-event', 'message': __('%1$s has left and re-entered the room', nick) }); } else { - let message; + var message; if (_.isNil(stat)) { message = __('%1$s has entered the room', nick); @@ -43430,17 +43112,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ message = __('%1$s has entered the room. "%2$s"', nick, stat); } - const data = { - 'data': `data-join="${nick}"`, + var data = { + 'data': "data-join=\"".concat(nick, "\""), 'isodate': moment().format(), 'extra_classes': 'chat-event', 'message': message }; - if (_.includes(_.get(last_el, 'classList', []), 'chat-info') && _.get(last_el, 'dataset', {}).joinleave === `"${nick}"`) { + if (_.includes(_.get(last_el, 'classList', []), 'chat-info') && _.get(last_el, 'dataset', {}).joinleave === "\"".concat(nick, "\"")) { last_el.outerHTML = tpl_info(data); } else { - const el = u.stringToElement(tpl_info(data)); + var el = u.stringToElement(tpl_info(data)); this.content.insertAdjacentElement('beforeend', el); this.insertDayIndicator(el); } @@ -43448,15 +43130,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.scrollDown(); }, + showLeaveNotification: function showLeaveNotification(occupant) { + var nick = occupant.get('nick'), + stat = occupant.get('status'), + last_el = this.content.lastElementChild, + last_msg_date = last_el.getAttribute('data-isodate'); - showLeaveNotification(occupant) { - const nick = occupant.get('nick'), - stat = occupant.get('status'), - last_el = this.content.lastElementChild, - last_msg_date = last_el.getAttribute('data-isodate'); - - if (_.includes(_.get(last_el, 'classList', []), 'chat-info') && moment(last_msg_date).isSame(new Date(), "day") && _.get(last_el, 'dataset', {}).join === `"${nick}"`) { - let message; + if (_.includes(_.get(last_el, 'classList', []), 'chat-info') && moment(last_msg_date).isSame(new Date(), "day") && _.get(last_el, 'dataset', {}).join === "\"".concat(nick, "\"")) { + var message; if (_.isNil(stat)) { message = __('%1$s has entered and left the room', nick); @@ -43465,31 +43146,31 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } last_el.outerHTML = tpl_info({ - 'data': `data-joinleave="${nick}"`, + 'data': "data-joinleave=\"".concat(nick, "\""), 'isodate': moment().format(), 'extra_classes': 'chat-event', 'message': message }); } else { - let message; + var _message; if (_.isNil(stat)) { - message = __('%1$s has left the room', nick); + _message = __('%1$s has left the room', nick); } else { - message = __('%1$s has left the room. "%2$s"', nick, stat); + _message = __('%1$s has left the room. "%2$s"', nick, stat); } - const data = { - 'message': message, + var data = { + 'message': _message, 'isodate': moment().format(), 'extra_classes': 'chat-event', - 'data': `data-leave="${nick}"` + 'data': "data-leave=\"".concat(nick, "\"") }; - if (_.includes(_.get(last_el, 'classList', []), 'chat-info') && _.get(last_el, 'dataset', {}).leavejoin === `"${nick}"`) { + if (_.includes(_.get(last_el, 'classList', []), 'chat-info') && _.get(last_el, 'dataset', {}).leavejoin === "\"".concat(nick, "\"")) { last_el.outerHTML = tpl_info(data); } else { - const el = u.stringToElement(tpl_info(data)); + var el = u.stringToElement(tpl_info(data)); this.content.insertAdjacentElement('beforeend', el); this.insertDayIndicator(el); } @@ -43497,8 +43178,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.scrollDown(); }, - - showStatusMessages(stanza) { + showStatusMessages: function showStatusMessages(stanza) { /* Check for status codes and communicate their purpose to the user. * See: http://xmpp.org/registrar/mucstatus.html * @@ -43506,19 +43186,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (XMLElement) stanza: The message or presence stanza * containing the status codes. */ - const elements = sizzle(`x[xmlns="${Strophe.NS.MUC_USER}"]`, stanza); - const is_self = stanza.querySelectorAll("status[code='110']").length; + var elements = sizzle("x[xmlns=\"".concat(Strophe.NS.MUC_USER, "\"]"), stanza); + var is_self = stanza.querySelectorAll("status[code='110']").length; - const iteratee = _.partial(this.parseXUserElement.bind(this), _, stanza, is_self); + var iteratee = _.partial(this.parseXUserElement.bind(this), _, stanza, is_self); - const notifications = _.reject(_.map(elements, iteratee), _.isEmpty); + var notifications = _.reject(_.map(elements, iteratee), _.isEmpty); _.each(notifications, this.showNotificationsforUser.bind(this)); }, - - showErrorMessageFromPresence(presence) { + showErrorMessageFromPresence: function showErrorMessageFromPresence(presence) { // We didn't enter the room, so we must remove it from the MUC add-on - const error = presence.querySelector('error'); + var error = presence.querySelector('error'); if (error.getAttribute('type') === 'auth') { if (!_.isNull(error.querySelector('not-authorized'))) { @@ -43546,8 +43225,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } }, - - renderAfterTransition() { + renderAfterTransition: function renderAfterTransition() { /* Rerender the room after some kind of transition. For * example after the spinner has been removed or after a * form has been submitted and removed. @@ -43562,22 +43240,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.scrollDown(); } }, - - showSpinner() { + showSpinner: function showSpinner() { u.removeElement(this.el.querySelector('.spinner')); - const container_el = this.el.querySelector('.chatroom-body'); - const children = Array.prototype.slice.call(container_el.children, 0); + var container_el = this.el.querySelector('.chatroom-body'); + var children = Array.prototype.slice.call(container_el.children, 0); container_el.insertAdjacentHTML('afterbegin', tpl_spinner()); _.each(children, u.hideElement); }, - - hideSpinner() { + hideSpinner: function hideSpinner() { /* Check if the spinner is being shown and if so, hide it. * Also make sure then that the chat area and occupants * list are both visible. */ - const spinner = this.el.querySelector('.spinner'); + var spinner = this.el.querySelector('.spinner'); if (!_.isNull(spinner)) { u.removeElement(spinner); @@ -43586,12 +43262,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - setChatRoomSubject() { + setChatRoomSubject: function setChatRoomSubject() { // For translators: the %1$s and %2$s parts will get // replaced by the user and topic text respectively // Example: Topic set by JC Brand to: Hello World! - const subject = this.model.get('subject'); + var subject = this.model.get('subject'); this.content.insertAdjacentHTML('beforeend', tpl_info({ 'data': '', 'isodate': moment().format(), @@ -43606,23 +43281,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })); this.scrollDown(); } - }); _converse.RoomsPanel = Backbone.NativeView.extend({ /* Backbone.NativeView which renders MUC section of the control box. - * - * Chat rooms can be listed, joined and new rooms can be created. */ tagName: 'div', className: 'controlbox-section', id: 'chatrooms', events: { 'click a.chatbox-btn.show-add-muc-modal': 'showAddRoomModal', - 'click a.chatbox-btn.show-list-muc-modal': 'showListRoomsModal', - 'click a.room-info': 'toggleRoomInfo' + 'click a.chatbox-btn.show-list-muc-modal': 'showListRoomsModal' }, - - render() { + render: function render() { this.el.innerHTML = tpl_room_panel({ 'heading_chatrooms': __('Chatrooms'), 'title_new_room': __('Add a new room'), @@ -43630,13 +43300,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); return this; }, - - toggleRoomInfo(ev) { - ev.preventDefault(); - toggleRoomInfo(ev); - }, - - showAddRoomModal(ev) { + showAddRoomModal: function showAddRoomModal(ev) { if (_.isUndefined(this.add_room_modal)) { this.add_room_modal = new _converse.AddChatRoomModal({ 'model': this.model @@ -43645,8 +43309,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.add_room_modal.show(ev); }, - - showListRoomsModal(ev) { + showListRoomsModal: function showListRoomsModal(ev) { if (_.isUndefined(this.list_rooms_modal)) { this.list_rooms_modal = new _converse.ListChatRoomsModal({ 'model': this.model @@ -43655,17 +43318,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.list_rooms_modal.show(ev); } - }); _converse.ChatRoomOccupantView = Backbone.VDOMView.extend({ tagName: 'li', - - initialize() { + initialize: function initialize() { this.model.on('change', this.render, this); }, - - toHTML() { - const show = this.model.get('show'); + toHTML: function toHTML() { + var show = this.model.get('show'); return tpl_occupant(_.extend({ '_': _, // XXX Normally this should already be included, @@ -43685,11 +43345,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'label_admin': __('Admin') }, this.model.toJSON())); }, - - destroy() { + destroy: function destroy() { this.el.parentElement.removeChild(this.el); } - }); _converse.ChatRoomOccupantsView = Backbone.OrderedListView.extend({ tagName: 'div', @@ -43698,8 +43356,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ sortEvent: 'change:role', listSelector: '.occupant-list', ItemView: _converse.ChatRoomOccupantView, - - initialize() { + initialize: function initialize() { Backbone.OrderedListView.prototype.initialize.apply(this, arguments); this.chatroomview = this.model.chatroomview; this.chatroomview.model.on('change:open', this.renderInviteWidget, this); @@ -43724,8 +43381,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'success': this.sortAndPositionAllItems.bind(this) }); }, - - render() { + render: function render() { this.el.innerHTML = tpl_chatroom_sidebar(_.extend(this.chatroomview.model.toJSON(), { 'allow_muc_invitations': _converse.allow_muc_invitations, 'label_occupants': __('Occupants') @@ -43737,13 +43393,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.renderRoomFeatures(); }, - - renderInviteWidget() { - const form = this.el.querySelector('form.room-invite'); + renderInviteWidget: function renderInviteWidget() { + var form = this.el.querySelector('form.room-invite'); if (this.shouldInviteWidgetBeShown()) { if (_.isNull(form)) { - const heading = this.el.querySelector('.occupants-heading'); + var heading = this.el.querySelector('.occupants-heading'); heading.insertAdjacentHTML('afterend', tpl_chatroom_invite({ 'error_message': null, 'label_invitation': __('Invite') @@ -43756,11 +43411,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - renderRoomFeatures() { - const picks = _.pick(this.chatroomview.model.attributes, converse.ROOM_FEATURES), - iteratee = (a, v) => a || v, - el = this.el.querySelector('.chatroom-features'); + renderRoomFeatures: function renderRoomFeatures() { + var picks = _.pick(this.chatroomview.model.attributes, converse.ROOM_FEATURES), + iteratee = function iteratee(a, v) { + return a || v; + }, + el = this.el.querySelector('.chatroom-features'); el.innerHTML = tpl_chatroom_features(_.extend(this.chatroomview.model.toJSON(), { 'has_features': _.reduce(_.values(picks), iteratee), @@ -43795,8 +43451,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.setOccupantsHeight(); return this; }, - - onFeatureChanged(model) { + onFeatureChanged: function onFeatureChanged(model) { /* When a feature has been changed, it's logical opposite * must be set to the opposite value. * @@ -43812,7 +43467,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } - const changed_features = {}; + var changed_features = {}; _.each(_.keys(model.changed), function (k) { if (!_.isNil(ROOM_FEATURES_MAP[k])) { @@ -43825,21 +43480,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); this.debouncedRenderRoomFeatures(); }, - - setOccupantsHeight() { - const el = this.el.querySelector('.chatroom-features'); - this.el.querySelector('.occupant-list').style.cssText = `height: calc(100% - ${el.offsetHeight}px - 5em);`; + setOccupantsHeight: function setOccupantsHeight() { + var el = this.el.querySelector('.chatroom-features'); + this.el.querySelector('.occupant-list').style.cssText = "height: calc(100% - ".concat(el.offsetHeight, "px - 5em);"); }, - - promptForInvite(suggestion) { - const reason = prompt(__('You are about to invite %1$s to the chat room "%2$s". ' + 'You may optionally include a message, explaining the reason for the invitation.', suggestion.text.label, this.model.get('id'))); + promptForInvite: function promptForInvite(suggestion) { + var reason = prompt(__('You are about to invite %1$s to the chat room "%2$s". ' + 'You may optionally include a message, explaining the reason for the invitation.', suggestion.text.label, this.model.get('id'))); if (reason !== null) { this.chatroomview.model.directInvite(suggestion.text.value, reason); } - const form = suggestion.target.form, - error = form.querySelector('.pure-form-message.error'); + var form = suggestion.target.form, + error = form.querySelector('.pure-form-message.error'); if (!_.isNull(error)) { error.parentNode.removeChild(error); @@ -43847,11 +43500,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ suggestion.target.value = ''; }, - - inviteFormSubmitted(evt) { + inviteFormSubmitted: function inviteFormSubmitted(evt) { evt.preventDefault(); - const el = evt.target.querySelector('input.invited-contact'), - jid = el.value; + var el = evt.target.querySelector('input.invited-contact'), + jid = el.value; if (!jid || _.compact(jid.split('@')).length < 2) { evt.target.outerHTML = tpl_chatroom_invite({ @@ -43870,36 +43522,33 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }); }, - - shouldInviteWidgetBeShown() { + shouldInviteWidgetBeShown: function shouldInviteWidgetBeShown() { return _converse.allow_muc_invitations && (this.chatroomview.model.get('open') || this.chatroomview.model.get('affiliation') === "owner"); }, - - initInviteWidget() { - const form = this.el.querySelector('form.room-invite'); + initInviteWidget: function initInviteWidget() { + var form = this.el.querySelector('form.room-invite'); if (_.isNull(form)) { return; } form.addEventListener('submit', this.inviteFormSubmitted.bind(this), false); - const el = this.el.querySelector('input.invited-contact'); + var el = this.el.querySelector('input.invited-contact'); - const list = _converse.roster.map(function (item) { - const label = item.get('fullname') || item.get('jid'); + var list = _converse.roster.map(function (item) { + var label = item.get('fullname') || item.get('jid'); return { 'label': label, 'value': item.get('jid') }; }); - const awesomplete = new Awesomplete(el, { + var awesomplete = new Awesomplete(el, { 'minChars': 1, 'list': list }); el.addEventListener('awesomplete-selectcomplete', this.promptForInvite.bind(this)); } - }); function setMUCDomain(domain, controlboxview) { @@ -43920,13 +43569,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } - _converse.api.waitUntil('discoInitialized').then(() => { + _converse.api.waitUntil('discoInitialized').then(function () { _converse.api.listen.on('serviceDiscovered', featureAdded); // Features could have been added before the controlbox was // initialized. We're only interested in MUC - _converse.disco_entities.each(entity => { - const feature = entity.features.findWhere({ + _converse.disco_entities.each(function (entity) { + var feature = entity.features.findWhere({ 'var': Strophe.NS.MUC }); @@ -43951,7 +43600,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /************************ BEGIN Event Handlers ************************/ - _converse.on('controlboxInitialized', view => { + _converse.on('controlboxInitialized', function (view) { if (!_converse.allow_muc) { return; } @@ -43977,7 +43626,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /************************ END Event Handlers ************************/ } - }); }); @@ -44006,24 +43654,24 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (u, converse, emojione) { "use strict"; - const MUC_ROLE_WEIGHTS = { + var MUC_ROLE_WEIGHTS = { 'moderator': 1, 'participant': 2, 'visitor': 3, 'none': 2 }; - const _converse$env = converse.env, - Strophe = _converse$env.Strophe, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - $iq = _converse$env.$iq, - $build = _converse$env.$build, - $msg = _converse$env.$msg, - $pres = _converse$env.$pres, - b64_sha1 = _converse$env.b64_sha1, - sizzle = _converse$env.sizzle, - _ = _converse$env._, - moment = _converse$env.moment; // Add Strophe Namespaces + var _converse$env = converse.env, + Strophe = _converse$env.Strophe, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + $iq = _converse$env.$iq, + $build = _converse$env.$build, + $msg = _converse$env.$msg, + $pres = _converse$env.$pres, + b64_sha1 = _converse$env.b64_sha1, + sizzle = _converse$env.sizzle, + _ = _converse$env._, + moment = _converse$env.moment; // Add Strophe Namespaces Strophe.addNamespace('MUC_ADMIN', Strophe.NS.MUC + "#admin"); Strophe.addNamespace('MUC_OWNER', Strophe.NS.MUC + "#owner"); @@ -44061,8 +43709,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // relevant objects or classes. // // New functions which don't exist yet can also be added. - _tearDown() { - const rooms = this.chatboxes.where({ + _tearDown: function _tearDown() { + var rooms = this.chatboxes.where({ 'type': converse.CHATROOMS_TYPE }); @@ -44074,10 +43722,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.__super__._tearDown.call(this, arguments); }, - ChatBoxes: { - model(attrs, options) { - const _converse = this.__super__._converse; + model: function model(attrs, options) { + var _converse = this.__super__._converse; if (attrs.type == converse.CHATROOMS_TYPE) { return new _converse.ChatRoom(attrs, options); @@ -44085,16 +43732,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.model.apply(this, arguments); } } - } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; // Configuration values for this plugin + var _converse = this._converse, + __ = _converse.__; // Configuration values for this plugin // ==================================== // Refer to docs/source/configuration.rst for explanations of these // configuration settings. @@ -44114,16 +43759,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ function openRoom(jid) { if (!u.isValidMUCJID(jid)) { - return _converse.log(`Invalid JID "${jid}" provided in URL fragment`, Strophe.LogLevel.WARN); + return _converse.log("Invalid JID \"".concat(jid, "\" provided in URL fragment"), Strophe.LogLevel.WARN); } - const promises = [_converse.api.waitUntil('roomsAutoJoined')]; + var promises = [_converse.api.waitUntil('roomsAutoJoined')]; if (_converse.allow_bookmarks) { promises.push(_converse.api.waitUntil('bookmarksInitialized')); } - Promise.all(promises).then(() => { + Promise.all(promises).then(function () { _converse.api.rooms.open(jid); }); } @@ -44139,14 +43784,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ settings.id = jid; settings.box_id = b64_sha1(jid); - const chatbox = _converse.chatboxes.getChatBox(jid, settings, true); + var chatbox = _converse.chatboxes.getChatBox(jid, settings, true); chatbox.trigger('show', true); return chatbox; }; _converse.ChatRoom = _converse.ChatBox.extend({ - defaults() { + defaults: function defaults() { return _.assign(_.clone(_converse.ChatBox.prototype.defaults), _.zipObject(converse.ROOM_FEATURES, _.map(converse.ROOM_FEATURES, _.stubFalse)), { // For group chats, we distinguish between generally unread // messages and those ones that specifically mention the @@ -44168,43 +43813,48 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'message_type': 'groupchat' }); }, - - initialize() { + initialize: function initialize() { this.constructor.__super__.initialize.apply(this, arguments); this.occupants = new _converse.ChatRoomOccupants(); - this.occupants.browserStorage = new Backbone.BrowserStorage.session(b64_sha1(`converse.occupants-${_converse.bare_jid}${this.get('jid')}`)); + this.occupants.browserStorage = new Backbone.BrowserStorage.session(b64_sha1("converse.occupants-".concat(_converse.bare_jid).concat(this.get('jid')))); this.occupants.chatroom = this; this.registerHandlers(); this.on('change:chat_state', this.sendChatState, this); }, + registerHandlers: function registerHandlers() { + var _this = this; - registerHandlers() { /* Register presence and message handlers for this chat * room */ - const room_jid = this.get('jid'); + var room_jid = this.get('jid'); this.removeHandlers(); - this.presence_handler = _converse.connection.addHandler(stanza => { - _.each(_.values(this.handlers.presence), callback => callback(stanza)); + this.presence_handler = _converse.connection.addHandler(function (stanza) { + _.each(_.values(_this.handlers.presence), function (callback) { + return callback(stanza); + }); + + _this.onPresence(stanza); - this.onPresence(stanza); return true; }, Strophe.NS.MUC, 'presence', null, null, room_jid, { 'ignoreNamespaceFragment': true, 'matchBareFromJid': true }); - this.message_handler = _converse.connection.addHandler(stanza => { - _.each(_.values(this.handlers.message), callback => callback(stanza)); + this.message_handler = _converse.connection.addHandler(function (stanza) { + _.each(_.values(_this.handlers.message), function (callback) { + return callback(stanza); + }); + + _this.onMessage(stanza); - this.onMessage(stanza); return true; }, null, 'message', 'groupchat', null, room_jid, { 'matchBareFromJid': true }); }, - - removeHandlers() { + removeHandlers: function removeHandlers() { /* Remove the presence and message handlers that were * registered for this chat room. */ @@ -44222,8 +43872,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - addHandler(type, name, callback) { + addHandler: function addHandler(type, name, callback) { /* Allows 'presence' and 'message' handlers to be * registered. These will be executed once presence or * message stanzas are received, and *before* this model's @@ -44239,8 +43888,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.handlers[type][name] = callback; }, - - join(nick, password) { + join: function join(nick, password) { /* Join the chat room. * * Parameters: @@ -44260,7 +43908,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; } - const stanza = $pres({ + var stanza = $pres({ 'from': _converse.connection.jid, 'to': this.getRoomJIDAndNick(nick) }).c("x", { @@ -44279,8 +43927,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - leave(exit_msg) { + leave: function leave(exit_msg) { /* Leave the chat room. * * Parameters: @@ -44300,9 +43947,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); this.removeHandlers(); }, - - sendUnavailablePresence(exit_msg) { - const presence = $pres({ + sendUnavailablePresence: function sendUnavailablePresence(exit_msg) { + var presence = $pres({ type: "unavailable", from: _converse.connection.jid, to: this.getRoomJIDAndNick() @@ -44314,12 +43960,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.sendPresence(presence); }, - - getOutgoingMessageAttributes(text, spoiler_hint) { - const is_spoiler = this.get('composing_spoiler'); + getOutgoingMessageAttributes: function getOutgoingMessageAttributes(text, spoiler_hint) { + var is_spoiler = this.get('composing_spoiler'); return { 'nick': this.get('nick'), - 'from': `${this.get('jid')}/${this.get('nick')}`, + 'from': "".concat(this.get('jid'), "/").concat(this.get('nick')), 'fullname': this.get('nick'), 'is_spoiler': is_spoiler, 'message': text ? u.httpToGeoUri(emojione.shortnameToUnicode(text), _converse) : undefined, @@ -44328,18 +43973,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'type': 'groupchat' }; }, + getRoomFeatures: function getRoomFeatures() { + var _this2 = this; - getRoomFeatures() { /* Fetch the room disco info, parse it and then save it. */ - return new Promise((resolve, reject) => { - _converse.api.disco.info(this.get('jid'), null, _.flow(this.parseRoomFeatures.bind(this), resolve), () => { + return new Promise(function (resolve, reject) { + _converse.api.disco.info(_this2.get('jid'), null, _.flow(_this2.parseRoomFeatures.bind(_this2), resolve), function () { reject(new Error("Could not parse the room features")); }, 5000); }); }, - - getRoomJIDAndNick(nick) { + getRoomJIDAndNick: function getRoomJIDAndNick(nick) { /* Utility method to construct the JID for the current user * as occupant of the room. * @@ -44356,12 +44001,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ nick = this.get('nick'); } - const room = this.get('jid'); - const jid = Strophe.getBareJidFromJid(room); - return jid + (nick !== null ? `/${nick}` : ""); + var room = this.get('jid'); + var jid = Strophe.getBareJidFromJid(room); + return jid + (nick !== null ? "/".concat(nick) : ""); }, - - sendChatState() { + sendChatState: function sendChatState() { /* Sends a message with the status of the user in this chat session * as taken from the 'chat_state' attribute of the chat box. * See XEP-0085 Chat State Notifications. @@ -44370,7 +44014,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const chat_state = this.get('chat_state'); + var chat_state = this.get('chat_state'); if (chat_state === _converse.GONE) { // is not applicable within MUC context @@ -44388,8 +44032,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'xmlns': Strophe.NS.HINTS })); }, - - directInvite(recipient, reason) { + directInvite: function directInvite(recipient, reason) { /* Send a direct invitation as per XEP-0249 * * Parameters: @@ -44401,10 +44044,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // the person to the member list by giving them an // affiliation of 'member' (if they're not affiliated // already), otherwise they won't be able to join. - const map = {}; + var map = {}; map[recipient] = 'member'; - const deltaFunc = _.partial(u.computeAffiliationsDelta, true, false); + var deltaFunc = _.partial(u.computeAffiliationsDelta, true, false); this.updateMemberLists([{ 'jid': recipient, @@ -44413,7 +44056,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }], ['member', 'owner', 'admin'], deltaFunc); } - const attrs = { + var attrs = { 'xmlns': 'jabber:x:conference', 'jid': this.get('jid') }; @@ -44426,7 +44069,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ attrs.password = this.get('password'); } - const invitation = $msg({ + var invitation = $msg({ from: _converse.connection.jid, to: recipient, id: _converse.connection.getUniqueId() @@ -44440,8 +44083,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'reason': reason }); }, - - parseRoomFeatures(iq) { + parseRoomFeatures: function parseRoomFeatures(iq) { /* Parses an IQ stanza containing the room's features. * * See http://xmpp.org/extensions/xep-0045.html#disco-roominfo @@ -44459,13 +44101,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * * */ - const features = { - 'features_fetched': true, + var features = { + 'features_fetched': moment().format(), 'name': iq.querySelector('identity').getAttribute('name') }; _.each(iq.querySelectorAll('feature'), function (field) { - const fieldname = field.getAttribute('var'); + var fieldname = field.getAttribute('var'); if (!fieldname.startsWith('muc_')) { if (fieldname === Strophe.NS.MAM) { @@ -44478,7 +44120,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ features[fieldname.replace('muc_', '')] = true; }); - const desc_field = iq.querySelector('field[var="muc#roominfo_description"] value'); + var desc_field = iq.querySelector('field[var="muc#roominfo_description"] value'); if (!_.isNull(desc_field)) { features.description = desc_field.textContent; @@ -44486,8 +44128,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.save(features); }, + requestMemberList: function requestMemberList(affiliation) { + var _this3 = this; - requestMemberList(affiliation) { /* Send an IQ stanza to the server, asking it for the * member-list of this room. * @@ -44501,10 +44144,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * A promise which resolves once the list has been * retrieved. */ - return new Promise((resolve, reject) => { + return new Promise(function (resolve, reject) { affiliation = affiliation || 'member'; - const iq = $iq({ - to: this.get('jid'), + var iq = $iq({ + to: _this3.get('jid'), type: "get" }).c("query", { xmlns: Strophe.NS.MUC_ADMIN @@ -44515,8 +44158,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.sendIQ(iq, resolve, reject); }); }, - - setAffiliation(affiliation, members) { + setAffiliation: function setAffiliation(affiliation, members) { /* Send IQ stanzas to the server to set an affiliation for * the provided JIDs. * @@ -44538,16 +44180,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * A promise which resolves and fails depending on the * XMPP server response. */ - members = _.filter(members, member => // We only want those members who have the right - // affiliation (or none, which implies the provided one). - _.isUndefined(member.affiliation) || member.affiliation === affiliation); + members = _.filter(members, function (member) { + return (// We only want those members who have the right + // affiliation (or none, which implies the provided one). + _.isUndefined(member.affiliation) || member.affiliation === affiliation + ); + }); - const promises = _.map(members, _.bind(this.sendAffiliationIQ, this, affiliation)); + var promises = _.map(members, _.bind(this.sendAffiliationIQ, this, affiliation)); return Promise.all(promises); }, + saveConfiguration: function saveConfiguration(form) { + var _this4 = this; - saveConfiguration(form) { /* Submit the room configuration form by sending an IQ * stanza to the server. * @@ -44559,32 +44205,34 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * If no form is provided, the default configuration * values will be used. */ - return new Promise((resolve, reject) => { - const inputs = form ? sizzle(':input:not([type=button]):not([type=submit])', form) : [], - configArray = _.map(inputs, u.webForm2xForm); + return new Promise(function (resolve, reject) { + var inputs = form ? sizzle(':input:not([type=button]):not([type=submit])', form) : [], + configArray = _.map(inputs, u.webForm2xForm); - this.sendConfiguration(configArray, resolve, reject); + _this4.sendConfiguration(configArray, resolve, reject); }); }, + autoConfigureChatRoom: function autoConfigureChatRoom() { + var _this5 = this; - autoConfigureChatRoom() { /* Automatically configure room based on this model's * 'roomconfig' data. * * Returns a promise which resolves once a response IQ has * been received. */ - return new Promise((resolve, reject) => { - this.fetchRoomConfiguration().then(stanza => { - const configArray = [], - fields = stanza.querySelectorAll('field'), - config = this.get('roomconfig'); - let count = fields.length; + return new Promise(function (resolve, reject) { + _this5.fetchRoomConfiguration().then(function (stanza) { + var configArray = [], + fields = stanza.querySelectorAll('field'), + config = _this5.get('roomconfig'); - _.each(fields, field => { - const fieldname = field.getAttribute('var').replace('muc#roomconfig_', ''), - type = field.getAttribute('type'); - let value; + var count = fields.length; + + _.each(fields, function (field) { + var fieldname = field.getAttribute('var').replace('muc#roomconfig_', ''), + type = field.getAttribute('type'); + var value; if (fieldname in config) { switch (type) { @@ -44607,29 +44255,29 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ configArray.push(field); if (! --count) { - this.sendConfiguration(configArray, resolve, reject); + _this5.sendConfiguration(configArray, resolve, reject); } }); }); }); }, + fetchRoomConfiguration: function fetchRoomConfiguration() { + var _this6 = this; - fetchRoomConfiguration() { /* Send an IQ stanza to fetch the room configuration data. * Returns a promise which resolves once the response IQ * has been received. */ - return new Promise((resolve, reject) => { + return new Promise(function (resolve, reject) { _converse.connection.sendIQ($iq({ - 'to': this.get('jid'), + 'to': _this6.get('jid'), 'type': "get" }).c("query", { xmlns: Strophe.NS.MUC_OWNER }), resolve, reject); }); }, - - sendConfiguration(config, callback, errback) { + sendConfiguration: function sendConfiguration(config, callback, errback) { /* Send an IQ stanza with the room configuration. * * Parameters: @@ -44643,7 +44291,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * room configuration. * The second is the response IQ from the server. */ - const iq = $iq({ + var iq = $iq({ to: this.get('jid'), type: "set" }).c("query", { @@ -44661,20 +44309,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ errback = _.isUndefined(errback) ? _.noop : _.partial(errback, iq.nodeTree); return _converse.connection.sendIQ(iq, callback, errback); }, - - saveAffiliationAndRole(pres) { + saveAffiliationAndRole: function saveAffiliationAndRole(pres) { /* Parse the presence stanza for the current user's * affiliation. * * Parameters: * (XMLElement) pres: A stanza. */ - const item = sizzle(`x[xmlns="${Strophe.NS.MUC_USER}"] item`, pres).pop(); - const is_self = pres.querySelector("status[code='110']"); + var item = sizzle("x[xmlns=\"".concat(Strophe.NS.MUC_USER, "\"] item"), pres).pop(); + var is_self = pres.querySelector("status[code='110']"); if (is_self && !_.isNil(item)) { - const affiliation = item.getAttribute('affiliation'); - const role = item.getAttribute('role'); + var affiliation = item.getAttribute('affiliation'); + var role = item.getAttribute('role'); if (affiliation) { this.save({ @@ -44689,8 +44336,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } }, + sendAffiliationIQ: function sendAffiliationIQ(affiliation, member) { + var _this7 = this; - sendAffiliationIQ(affiliation, member) { /* Send an IQ stanza specifying an affiliation change. * * Paremeters: @@ -44699,9 +44347,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (Object) member: Map containing the member's jid and * optionally a reason and affiliation. */ - return new Promise((resolve, reject) => { - const iq = $iq({ - to: this.get('jid'), + return new Promise(function (resolve, reject) { + var iq = $iq({ + to: _this7.get('jid'), type: "set" }).c("query", { xmlns: Strophe.NS.MUC_ADMIN @@ -44717,8 +44365,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.sendIQ(iq, resolve, reject); }); }, - - setAffiliations(members) { + setAffiliations: function setAffiliations(members) { /* Send IQ stanzas to the server to modify the * affiliations in this room. * @@ -44729,12 +44376,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (Function) onSuccess: callback for a succesful response * (Function) onError: callback for an error response */ - const affiliations = _.uniq(_.map(members, 'affiliation')); + var affiliations = _.uniq(_.map(members, 'affiliation')); return Promise.all(_.map(affiliations, _.partial(this.setAffiliation.bind(this), _, members))); }, + getJidsWithAffiliations: function getJidsWithAffiliations(affiliations) { + var _this8 = this; - getJidsWithAffiliations(affiliations) { /* Returns a map of JIDs that have the affiliations * as provided. */ @@ -44742,14 +44390,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ affiliations = [affiliations]; } - return new Promise((resolve, reject) => { - const promises = _.map(affiliations, _.partial(this.requestMemberList.bind(this))); + return new Promise(function (resolve, reject) { + var promises = _.map(affiliations, _.partial(_this8.requestMemberList.bind(_this8))); Promise.all(promises).then(_.flow(u.marshallAffiliationIQs, resolve), _.flow(u.marshallAffiliationIQs, resolve)); }); }, + updateMemberLists: function updateMemberLists(members, affiliations, deltaFunc) { + var _this9 = this; - updateMemberLists(members, affiliations, deltaFunc) { /* Fetch the lists of users with the given affiliations. * Then compute the delta between those users and * the passed in members, and if it exists, send the delta @@ -44767,10 +44416,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * updated or once it's been established there's no need * to update the list. */ - this.getJidsWithAffiliations(affiliations).then(old_members => this.setAffiliations(deltaFunc(members, old_members))).then(() => this.occupants.fetchMembers()).catch(_.partial(_converse.log, _, Strophe.LogLevel.ERROR)); + this.getJidsWithAffiliations(affiliations).then(function (old_members) { + return _this9.setAffiliations(deltaFunc(members, old_members)); + }).then(function () { + return _this9.occupants.fetchMembers(); + }).catch(_.partial(_converse.log, _, Strophe.LogLevel.ERROR)); }, - - checkForReservedNick(callback, errback) { + checkForReservedNick: function checkForReservedNick(callback, errback) { /* Use service-discovery to ask the XMPP server whether * this user has a reserved nickname for this room. * If so, we'll use that, otherwise we render the nickname form. @@ -44790,21 +44442,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - updateOccupantsOnPresence(pres) { + updateOccupantsOnPresence: function updateOccupantsOnPresence(pres) { /* Given a presence stanza, update the occupant model * based on its contents. * * Parameters: * (XMLElement) pres: The presence stanza */ - const data = this.parsePresence(pres); + var data = this.parsePresence(pres); if (data.type === 'error') { return true; } - const occupant = this.occupants.findOccupant(data); + var occupant = this.occupants.findOccupant(data); if (data.type === 'unavailable' && occupant) { if (!_.includes(data.states, converse.MUC_NICK_CHANGED_CODE) && !occupant.isMember()) { @@ -44818,9 +44469,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } - const jid = Strophe.getBareJidFromJid(data.jid); + var jid = Strophe.getBareJidFromJid(data.jid); - const attributes = _.extend(data, { + var attributes = _.extend(data, { 'jid': jid ? jid : undefined, 'resource': data.jid ? Strophe.getResourceFromJid(data.jid) : undefined }); @@ -44831,11 +44482,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.occupants.create(attributes); } }, - - parsePresence(pres) { - const from = pres.getAttribute("from"), - type = pres.getAttribute("type"), - data = { + parsePresence: function parsePresence(pres) { + var from = pres.getAttribute("from"), + type = pres.getAttribute("type"), + data = { 'from': from, 'nick': Strophe.getResourceFromJid(from), 'type': type, @@ -44880,10 +44530,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return data; }, - - isDuplicate(message, original_stanza) { - const msgid = message.getAttribute('id'), - jid = message.getAttribute('from'); + isDuplicate: function isDuplicate(message, original_stanza) { + var msgid = message.getAttribute('id'), + jid = message.getAttribute('from'); if (msgid) { return this.messages.where({ @@ -44894,40 +44543,38 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return false; }, - - fetchFeaturesIfConfigurationChanged(stanza) { - const configuration_changed = stanza.querySelector("status[code='104']"), - logging_enabled = stanza.querySelector("status[code='170']"), - logging_disabled = stanza.querySelector("status[code='171']"), - room_no_longer_anon = stanza.querySelector("status[code='172']"), - room_now_semi_anon = stanza.querySelector("status[code='173']"), - room_now_fully_anon = stanza.querySelector("status[code='173']"); + fetchFeaturesIfConfigurationChanged: function fetchFeaturesIfConfigurationChanged(stanza) { + var configuration_changed = stanza.querySelector("status[code='104']"), + logging_enabled = stanza.querySelector("status[code='170']"), + logging_disabled = stanza.querySelector("status[code='171']"), + room_no_longer_anon = stanza.querySelector("status[code='172']"), + room_now_semi_anon = stanza.querySelector("status[code='173']"), + room_now_fully_anon = stanza.querySelector("status[code='173']"); if (configuration_changed || logging_enabled || logging_disabled || room_no_longer_anon || room_now_semi_anon || room_now_fully_anon) { this.getRoomFeatures(); } }, - - onMessage(stanza) { + onMessage: function onMessage(stanza) { /* Handler for all MUC messages sent to this chat room. * * Parameters: * (XMLElement) stanza: The message stanza. */ this.fetchFeaturesIfConfigurationChanged(stanza); - const original_stanza = stanza, - forwarded = stanza.querySelector('forwarded'); - let delay; + var original_stanza = stanza, + forwarded = stanza.querySelector('forwarded'); + var delay; if (!_.isNull(forwarded)) { stanza = forwarded.querySelector('message'); delay = forwarded.querySelector('delay'); } - const jid = stanza.getAttribute('from'), - resource = Strophe.getResourceFromJid(jid), - sender = resource && Strophe.unescapeNode(resource) || '', - subject = _.propertyOf(stanza.querySelector('subject'))('textContent'); + var jid = stanza.getAttribute('from'), + resource = Strophe.getResourceFromJid(jid), + sender = resource && Strophe.unescapeNode(resource) || '', + subject = _.propertyOf(stanza.querySelector('subject'))('textContent'); if (this.isDuplicate(stanza, original_stanza)) { return; @@ -44957,8 +44604,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } }, - - onPresence(pres) { + onPresence: function onPresence(pres) { /* Handles all MUC presence stanzas. * * Parameters: @@ -44969,7 +44615,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const is_self = pres.querySelector("status[code='110']"); + var is_self = pres.querySelector("status[code='110']"); if (is_self && pres.getAttribute('type') !== 'unavailable') { this.onOwnPresence(pres); @@ -44981,8 +44627,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.save('connection_status', converse.ROOMSTATUS.CONNECTED); } }, - - onOwnPresence(pres) { + onOwnPresence: function onOwnPresence(pres) { /* Handles a received presence relating to the current * user. * @@ -44999,7 +44644,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (XMLElement) pres: The stanza */ this.saveAffiliationAndRole(pres); - const locked_room = pres.querySelector("status[code='201']"); + var locked_room = pres.querySelector("status[code='201']"); if (locked_room) { if (this.get('auto_configure')) { @@ -45026,32 +44671,30 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.save('connection_status', converse.ROOMSTATUS.ENTERED); }, - - isUserMentioned(message) { + isUserMentioned: function isUserMentioned(message) { /* Returns a boolean to indicate whether the current user * was mentioned in a message. * * Parameters: * (String): The text message */ - return new RegExp(`\\b${this.get('nick')}\\b`).test(message); + return new RegExp("\\b".concat(this.get('nick'), "\\b")).test(message); }, - - incrementUnreadMsgCounter(stanza) { + incrementUnreadMsgCounter: function incrementUnreadMsgCounter(stanza) { /* Given a newly received message, update the unread counter if * necessary. * * Parameters: * (XMLElement): The stanza */ - const body = stanza.querySelector('body'); + var body = stanza.querySelector('body'); if (_.isNull(body)) { return; // The message has no text } if (u.isNewMessage(stanza) && this.newMessageWillBeHidden()) { - const settings = { + var settings = { 'num_unread_general': this.get('num_unread_general') + 1 }; @@ -45064,30 +44707,26 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.save(settings); } }, - - clearUnreadMsgCounter() { + clearUnreadMsgCounter: function clearUnreadMsgCounter() { u.safeSave(this, { 'num_unread': 0, 'num_unread_general': 0 }); } - }); _converse.ChatRoomOccupant = Backbone.Model.extend({ defaults: { 'show': 'offline' }, - - initialize(attributes) { + initialize: function initialize(attributes) { this.set(_.extend({ 'id': _converse.connection.getUniqueId() }, attributes)); this.on('change:image_hash', this.onAvatarChanged, this); }, - - onAvatarChanged() { - const hash = this.get('image_hash'); - const vcards = []; + onAvatarChanged: function onAvatarChanged() { + var hash = this.get('image_hash'); + var vcards = []; if (this.get('jid')) { vcards.push(this.updateVCard(_converse.vcards.findWhere({ @@ -45099,52 +44738,55 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'jid': this.get('from') }))); - _.forEach(_.filter(vcards, undefined), vcard => { + _.forEach(_.filter(vcards, undefined), function (vcard) { if (hash && vcard.get('image_hash') !== hash) { _converse.api.vcard.update(vcard); } }); }, - - getDisplayName() { + getDisplayName: function getDisplayName() { return this.get('nick') || this.get('jid'); }, - - isMember() { + isMember: function isMember() { return _.includes(['admin', 'owner', 'member'], this.get('affiliation')); } - }); _converse.ChatRoomOccupants = Backbone.Collection.extend({ model: _converse.ChatRoomOccupant, - - comparator(occupant1, occupant2) { - const role1 = occupant1.get('role') || 'none'; - const role2 = occupant2.get('role') || 'none'; + comparator: function comparator(occupant1, occupant2) { + var role1 = occupant1.get('role') || 'none'; + var role2 = occupant2.get('role') || 'none'; if (MUC_ROLE_WEIGHTS[role1] === MUC_ROLE_WEIGHTS[role2]) { - const nick1 = occupant1.getDisplayName().toLowerCase(); - const nick2 = occupant2.getDisplayName().toLowerCase(); + var nick1 = occupant1.getDisplayName().toLowerCase(); + var nick2 = occupant2.getDisplayName().toLowerCase(); return nick1 < nick2 ? -1 : nick1 > nick2 ? 1 : 0; } else { return MUC_ROLE_WEIGHTS[role1] < MUC_ROLE_WEIGHTS[role2] ? -1 : 1; } }, + fetchMembers: function fetchMembers() { + var _this10 = this; - fetchMembers() { - const old_jids = _.uniq(_.concat(_.map(this.where({ + var old_jids = _.uniq(_.concat(_.map(this.where({ 'affiliation': 'admin' - }), item => item.get('jid')), _.map(this.where({ + }), function (item) { + return item.get('jid'); + }), _.map(this.where({ 'affiliation': 'member' - }), item => item.get('jid')), _.map(this.where({ + }), function (item) { + return item.get('jid'); + }), _.map(this.where({ 'affiliation': 'owner' - }), item => item.get('jid')))); + }), function (item) { + return item.get('jid'); + }))); - this.chatroom.getJidsWithAffiliations(['member', 'owner', 'admin']).then(jids => { - _.each(_.difference(old_jids, jids), removed_jid => { + this.chatroom.getJidsWithAffiliations(['member', 'owner', 'admin']).then(function (jids) { + _.each(_.difference(old_jids, jids), function (removed_jid) { // Remove absent occupants who've been removed from // the members lists. - const occupant = this.findOccupant({ + var occupant = _this10.findOccupant({ 'jid': removed_jid }); @@ -45157,21 +44799,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }); - _.each(jids, attrs => { - const occupant = this.findOccupant({ + _.each(jids, function (attrs) { + var occupant = _this10.findOccupant({ 'jid': attrs.jid }); if (occupant) { occupant.save(attrs); } else { - this.create(attrs); + _this10.create(attrs); } }); }).catch(_.partial(_converse.log, _, Strophe.LogLevel.ERROR)); }, - - findOccupant(data) { + findOccupant: function findOccupant(data) { /* Try to find an existing occupant based on the passed in * data object. * @@ -45179,7 +44820,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * otherwise we use the nick. We don't always have both, * but should have at least one or the other. */ - const jid = Strophe.getBareJidFromJid(data.jid); + var jid = Strophe.getBareJidFromJid(data.jid); if (jid !== null) { return this.where({ @@ -45191,7 +44832,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }).pop(); } } - }); _converse.RoomsPanelModel = Backbone.Model.extend({ defaults: { @@ -45207,12 +44847,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (XMLElement) message: The message stanza containing the * invitation. */ - const x_el = sizzle('x[xmlns="jabber:x:conference"]', message).pop(), - from = Strophe.getBareJidFromJid(message.getAttribute('from')), - room_jid = x_el.getAttribute('jid'), - reason = x_el.getAttribute('reason'); + var x_el = sizzle('x[xmlns="jabber:x:conference"]', message).pop(), + from = Strophe.getBareJidFromJid(message.getAttribute('from')), + room_jid = x_el.getAttribute('jid'), + reason = x_el.getAttribute('reason'); - let contact = _converse.roster.get(from), + var contact = _converse.roster.get(from), result; if (_converse.auto_join_on_invite) { @@ -45229,7 +44869,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } if (result === true) { - const chatroom = _converse.openChatRoom(room_jid, { + var chatroom = _converse.openChatRoom(room_jid, { 'password': x_el.getAttribute('password') }); @@ -45240,7 +44880,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; if (_converse.allow_muc_invitations) { - const registerDirectInvitationHandler = function registerDirectInvitationHandler() { + var registerDirectInvitationHandler = function registerDirectInvitationHandler() { _converse.connection.addHandler(function (message) { _converse.onDirectMUCInvitation(message); @@ -45253,7 +44893,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.on('reconnected', registerDirectInvitationHandler); } - const getChatRoom = function getChatRoom(jid, attrs, create) { + var getChatRoom = function getChatRoom(jid, attrs, create) { jid = jid.toLowerCase(); attrs.type = converse.CHATROOMS_TYPE; attrs.id = jid; @@ -45261,7 +44901,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _converse.chatboxes.getChatBox(jid, attrs, create); }; - const createChatRoom = function createChatRoom(jid, attrs) { + var createChatRoom = function createChatRoom(jid, attrs) { return getChatRoom(jid, attrs, true); }; @@ -45304,7 +44944,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /************************ BEGIN Event Handlers ************************/ - _converse.on('addClientFeatures', () => { + _converse.on('addClientFeatures', function () { if (_converse.allow_muc) { _converse.api.disco.own.features.add(Strophe.NS.MUC); } @@ -45328,7 +44968,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _.extend(_converse.api, { 'rooms': { - 'close'(jids) { + 'close': function close(jids) { if (_.isUndefined(jids)) { // FIXME: can't access views here _converse.chatboxviews.each(function (view) { @@ -45337,14 +44977,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }); } else if (_.isString(jids)) { - const view = _converse.chatboxviews.get(jids); + var view = _converse.chatboxviews.get(jids); if (view) { view.close(); } } else { _.each(jids, function (jid) { - const view = _converse.chatboxviews.get(jid); + var view = _converse.chatboxviews.get(jid); if (view) { view.close(); @@ -45352,8 +44992,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } }, - - 'create'(jids, attrs) { + 'create': function create(jids, attrs) { if (_.isString(attrs)) { attrs = { 'nick': attrs @@ -45378,18 +45017,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _.map(jids, _.partial(createChatRoom, _, attrs)); }, - - 'open'(jids, attrs) { + 'open': function open(jids, attrs) { if (_.isUndefined(jids)) { throw new TypeError('rooms.open: You need to provide at least one JID'); } else if (_.isString(jids)) { return _converse.api.rooms.create(jids, attrs).trigger('show'); } - return _.map(jids, jid => _converse.api.rooms.create(jid, attrs).trigger('show')); + return _.map(jids, function (jid) { + return _converse.api.rooms.create(jid, attrs).trigger('show'); + }); }, - - 'get'(jids, attrs, create) { + 'get': function get(jids, attrs, create) { if (_.isString(attrs)) { attrs = { 'nick': attrs @@ -45399,7 +45038,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } if (_.isUndefined(jids)) { - const result = []; + var result = []; _converse.chatboxes.each(function (chatbox) { if (chatbox.get('type') === converse.CHATROOMS_TYPE) { @@ -45420,13 +45059,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _.map(jids, _.partial(getChatRoom, _, attrs)); } - } }); /************************ END API ************************/ } - }); }); @@ -45458,17 +45095,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse) { "use strict"; - const _converse$env = converse.env, - utils = _converse$env.utils, - Strophe = _converse$env.Strophe, - _ = _converse$env._; + var _converse$env = converse.env, + utils = _converse$env.utils, + Strophe = _converse$env.Strophe, + _ = _converse$env._; converse.plugins.add('converse-notification', { - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse; - const __ = _converse.__; + var _converse = this._converse; + var __ = _converse.__; _converse.supports_html5_notification = "Notification" in window; _converse.api.settings.update({ @@ -45482,31 +45119,34 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ notification_icon: '/logo/conversejs-filled.svg' }); - _converse.isOnlyChatStateNotification = msg => // See XEP-0085 Chat State Notification - _.isNull(msg.querySelector('body')) && (_.isNull(msg.querySelector(_converse.ACTIVE)) || _.isNull(msg.querySelector(_converse.COMPOSING)) || _.isNull(msg.querySelector(_converse.INACTIVE)) || _.isNull(msg.querySelector(_converse.PAUSED)) || _.isNull(msg.querySelector(_converse.GONE))); + _converse.isOnlyChatStateNotification = function (msg) { + return (// See XEP-0085 Chat State Notification + _.isNull(msg.querySelector('body')) && (_.isNull(msg.querySelector(_converse.ACTIVE)) || _.isNull(msg.querySelector(_converse.COMPOSING)) || _.isNull(msg.querySelector(_converse.INACTIVE)) || _.isNull(msg.querySelector(_converse.PAUSED)) || _.isNull(msg.querySelector(_converse.GONE))) + ); + }; _converse.shouldNotifyOfGroupMessage = function (message) { /* Is this a group message worthy of notification? */ - let notify_all = _converse.notify_all_room_messages; - const jid = message.getAttribute('from'), - resource = Strophe.getResourceFromJid(jid), - room_jid = Strophe.getBareJidFromJid(jid), - sender = resource && Strophe.unescapeNode(resource) || ''; + var notify_all = _converse.notify_all_room_messages; + var jid = message.getAttribute('from'), + resource = Strophe.getResourceFromJid(jid), + room_jid = Strophe.getBareJidFromJid(jid), + sender = resource && Strophe.unescapeNode(resource) || ''; if (sender === '' || message.querySelectorAll('delay').length > 0) { return false; } - const room = _converse.chatboxes.get(room_jid); + var room = _converse.chatboxes.get(room_jid); - const body = message.querySelector('body'); + var body = message.querySelector('body'); if (_.isNull(body)) { return false; } - const mentioned = new RegExp(`\\b${room.get('nick')}\\b`).test(body.textContent); + var mentioned = new RegExp("\\b".concat(room.get('nick'), "\\b")).test(body.textContent); notify_all = notify_all === true || _.isArray(notify_all) && _.includes(notify_all, room_jid); if (sender === room.get('nick') || !notify_all && !mentioned) { @@ -45518,9 +45158,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.isMessageToHiddenChat = function (message) { if (_.includes(['mobile', 'fullscreen', 'embedded'], _converse.view_mode)) { - const jid = Strophe.getBareJidFromJid(message.getAttribute('from')); + var jid = Strophe.getBareJidFromJid(message.getAttribute('from')); - const model = _converse.chatboxes.get(jid); + var model = _converse.chatboxes.get(jid); if (!_.isNil(model)) { return model.get('hidden') || _converse.windowState === 'hidden'; @@ -45539,7 +45179,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return false; } - const forwarded = message.querySelector('forwarded'); + var forwarded = message.querySelector('forwarded'); if (!_.isNull(forwarded)) { return false; @@ -45550,7 +45190,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _converse.isMessageToHiddenChat(message); } - const is_me = Strophe.getBareJidFromJid(message.getAttribute('from')) === _converse.bare_jid; + var is_me = Strophe.getBareJidFromJid(message.getAttribute('from')) === _converse.bare_jid; return !_converse.isOnlyChatStateNotification(message) && !is_me && _converse.isMessageToHiddenChat(message); }; @@ -45561,7 +45201,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // XXX Eventually this can be refactored to use Notification's sound // feature, but no browser currently supports it. // https://developer.mozilla.org/en-US/docs/Web/API/notification/sound - let audio; + var audio; if (_converse.play_sounds && !_.isUndefined(window.Audio)) { audio = new Audio(_converse.sounds_path + "msg_received.ogg"); @@ -45586,9 +45226,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /* Shows an HTML5 Notification to indicate that a new chat * message was received. */ - let title, roster_item; - const full_from_jid = message.getAttribute('from'), - from_jid = Strophe.getBareJidFromJid(full_from_jid); + var title, roster_item; + var full_from_jid = message.getAttribute('from'), + from_jid = Strophe.getBareJidFromJid(full_from_jid); if (message.getAttribute('type') === 'headline') { if (!_.includes(from_jid, '@') || _converse.allow_non_roster_messaging) { @@ -45621,7 +45261,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } - const n = new Notification(title, { + var n = new Notification(title, { body: message.querySelector('body').textContent, lang: _converse.locale, icon: _converse.notification_icon @@ -45638,8 +45278,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const chat_state = contact.chat_status; - let message = null; + var chat_state = contact.chat_status; + var message = null; if (chat_state === 'offline') { message = __('has gone offline'); @@ -45655,7 +45295,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const n = new Notification(contact.getDisplayName(), { + var n = new Notification(contact.getDisplayName(), { body: message, lang: _converse.locale, icon: _converse.notification_icon @@ -45664,7 +45304,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; _converse.showContactRequestNotification = function (contact) { - const n = new Notification(contact.getDisplayName(), { + var n = new Notification(contact.getDisplayName(), { body: __('wants to be your contact'), lang: _converse.locale, icon: _converse.notification_icon @@ -45674,7 +45314,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.showFeedbackNotification = function (data) { if (data.klass === 'error' || data.klass === 'warn') { - const n = new Notification(data.subject, { + var n = new Notification(data.subject, { body: data.message, lang: _converse.locale, icon: _converse.notification_icon @@ -45697,7 +45337,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /* Event handler for the on('message') event. Will call methods * to play sounds and show HTML5 notifications. */ - const message = data.stanza; + var message = data.stanza; if (!_converse.shouldNotifyOfMessage(message)) { return false; @@ -45744,7 +45384,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.on('connected', _converse.requestPermission); }); } - }); }); @@ -45780,15 +45419,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse) { "use strict"; // Strophe methods for building stanzas - const _converse$env = converse.env, - Strophe = _converse$env.Strophe, - _ = _converse$env._; + var _converse$env = converse.env, + Strophe = _converse$env.Strophe, + _ = _converse$env._; converse.plugins.add('converse-ping', { - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse; + var _converse = this._converse; _converse.api.settings.update({ ping_interval: 180 //in seconds @@ -45858,7 +45497,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); _converse.connection.addTimedHandler(1000, function () { - const now = new Date(); + var now = new Date(); if (!_converse.lastStanzaDate) { _converse.lastStanzaDate = now; @@ -45873,7 +45512,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }; - const onConnected = function onConnected() { + var onConnected = function onConnected() { // Wrapper so that we can spy on registerPingHandler in tests _converse.registerPingHandler(); }; @@ -45882,7 +45521,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.on('reconnected', onConnected); } - }); }); @@ -45914,37 +45552,34 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, bootstrap, tpl_alert, tpl_chat_status_modal, tpl_profile_modal, tpl_profile_view, tpl_status_option) { "use strict"; - const _converse$env = converse.env, - Strophe = _converse$env.Strophe, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - utils = _converse$env.utils, - _ = _converse$env._, - moment = _converse$env.moment; - const u = converse.env.utils; + var _converse$env = converse.env, + Strophe = _converse$env.Strophe, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + utils = _converse$env.utils, + _ = _converse$env._, + moment = _converse$env.moment; + var u = converse.env.utils; converse.plugins.add('converse-profile', { dependencies: ["converse-modal", "converse-vcard"], - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; + var _converse = this._converse, + __ = _converse.__; _converse.ProfileModal = _converse.BootstrapModal.extend({ events: { 'click .change-avatar': "openFileSelection", 'change input[type="file"': "updateFilePreview", 'submit form': 'onFormSubmitted' }, - - initialize() { + initialize: function initialize() { _converse.BootstrapModal.prototype.initialize.apply(this, arguments); this.model.on('change', this.render, this); }, - - toHTML() { + toHTML: function toHTML() { return tpl_profile_modal(_.extend(this.model.toJSON(), this.model.vcard.toJSON(), { 'heading_profile': __('Your Profile'), 'label_close': __('Close'), @@ -45959,25 +45594,28 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'alt_avatar': __('Your avatar image') })); }, - - openFileSelection(ev) { + openFileSelection: function openFileSelection(ev) { ev.preventDefault(); this.el.querySelector('input[type="file"]').click(); }, + updateFilePreview: function updateFilePreview(ev) { + var _this = this; - updateFilePreview(ev) { - const file = ev.target.files[0], - reader = new FileReader(); + var file = ev.target.files[0], + reader = new FileReader(); - reader.onloadend = () => { - this.el.querySelector('.avatar').setAttribute('src', reader.result); + reader.onloadend = function () { + _this.el.querySelector('.avatar').setAttribute('src', reader.result); }; reader.readAsDataURL(file); }, + setVCard: function setVCard(body, data) { + var _this2 = this; - setVCard(body, data) { - _converse.api.vcard.set(data).then(() => _converse.api.vcard.update(this.model.vcard, true)).catch(err => { + _converse.api.vcard.set(data).then(function () { + return _converse.api.vcard.update(_this2.model.vcard, true); + }).catch(function (err) { _converse.log(err, Strophe.LogLevel.FATAL); _converse.api.alert.show(Strophe.LogLevel.ERROR, __('Error'), [__("Sorry, an error happened while trying to save your profile data."), __("You can check your browser's developer console for any error output.")]); @@ -45985,14 +45623,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.modal.hide(); }, + onFormSubmitted: function onFormSubmitted(ev) { + var _this3 = this; - onFormSubmitted(ev) { ev.preventDefault(); - const reader = new FileReader(), - form_data = new FormData(ev.target), - body = this.el.querySelector('.modal-body'), - image_file = form_data.get('image'); - const data = { + var reader = new FileReader(), + form_data = new FormData(ev.target), + body = this.el.querySelector('.modal-body'), + image_file = form_data.get('image'); + var data = { 'fn': form_data.get('fn'), 'nickname': form_data.get('nickname'), 'role': form_data.get('role'), @@ -46008,27 +45647,25 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.setVCard(body, data); } else { - reader.onloadend = () => { + reader.onloadend = function () { _.extend(data, { 'image': btoa(reader.result), 'image_type': image_file.type }); - this.setVCard(body, data); + _this3.setVCard(body, data); }; reader.readAsBinaryString(image_file); } } - }); _converse.ChatStatusModal = _converse.BootstrapModal.extend({ events: { "submit form#set-xmpp-status": "onFormSubmitted", "click .clear-input": "clearStatusMessage" }, - - toHTML() { + toHTML: function toHTML() { return tpl_chat_status_modal(_.extend(this.model.toJSON(), this.model.vcard.toJSON(), { 'label_away': __('Away'), 'label_close': __('Close'), @@ -46043,33 +45680,31 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'placeholder_status_message': __('Personal status message') })); }, + afterRender: function afterRender() { + var _this4 = this; - afterRender() { - this.el.addEventListener('shown.bs.modal', () => { - this.el.querySelector('input[name="status_message"]').focus(); + this.el.addEventListener('shown.bs.modal', function () { + _this4.el.querySelector('input[name="status_message"]').focus(); }, false); }, - - clearStatusMessage(ev) { + clearStatusMessage: function clearStatusMessage(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); u.hideElement(this.el.querySelector('.clear-input')); } - const roster_filter = this.el.querySelector('input[name="status_message"]'); + var roster_filter = this.el.querySelector('input[name="status_message"]'); roster_filter.value = ''; }, - - onFormSubmitted(ev) { + onFormSubmitted: function onFormSubmitted(ev) { ev.preventDefault(); - const data = new FormData(ev.target); + var data = new FormData(ev.target); this.model.save({ 'status_message': data.get('status_message'), 'status': data.get('chat_status') }); this.modal.hide(); } - }); _converse.XMPPStatusView = Backbone.VDOMView.extend({ tagName: "div", @@ -46078,14 +45713,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ "click a.change-status": "showStatusChangeModal", "click .logout": "logOut" }, - - initialize() { + initialize: function initialize() { this.model.on("change", this.render, this); this.model.vcard.on("change", this.render, this); }, - - toHTML() { - const chat_status = this.model.get('status') || 'offline'; + toHTML: function toHTML() { + var chat_status = this.model.get('status') || 'offline'; return tpl_profile_view(_.extend(this.model.toJSON(), this.model.vcard.toJSON(), { 'fullname': this.model.vcard.get('fullname') || _converse.bare_jid, 'status_message': this.model.get('status_message') || __("I am %1$s", this.getPrettyStatus(chat_status)), @@ -46097,8 +45730,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'title_your_profile': __('Your profile') })); }, - - showProfileModal(ev) { + showProfileModal: function showProfileModal(ev) { if (_.isUndefined(this.profile_modal)) { this.profile_modal = new _converse.ProfileModal({ model: this.model @@ -46107,8 +45739,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.profile_modal.show(ev); }, - - showStatusChangeModal(ev) { + showStatusChangeModal: function showStatusChangeModal(ev) { if (_.isUndefined(this.status_modal)) { this.status_modal = new _converse.ChatStatusModal({ model: this.model @@ -46117,17 +45748,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.status_modal.show(ev); }, - - logOut(ev) { + logOut: function logOut(ev) { ev.preventDefault(); - const result = confirm(__("Are you sure you want to log out?")); + var result = confirm(__("Are you sure you want to log out?")); if (result === true) { _converse.logOut(); } }, - - getPrettyStatus(stat) { + getPrettyStatus: function getPrettyStatus(stat) { if (stat === 'chat') { return __('online'); } else if (stat === 'dnd') { @@ -46142,10 +45771,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return __(stat) || __('online'); } } - }); } - }); }); @@ -46181,16 +45808,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (utils, converse, tpl_form_username, tpl_register_link, tpl_register_panel, tpl_registration_form, tpl_registration_request, tpl_form_input, tpl_spinner) { "use strict"; // Strophe methods for building stanzas - const _converse$env = converse.env, - Strophe = _converse$env.Strophe, - Backbone = _converse$env.Backbone, - sizzle = _converse$env.sizzle, - $iq = _converse$env.$iq, - _ = _converse$env._; // Add Strophe Namespaces + var _converse$env = converse.env, + Strophe = _converse$env.Strophe, + Backbone = _converse$env.Backbone, + sizzle = _converse$env.sizzle, + $iq = _converse$env.$iq, + _ = _converse$env._; // Add Strophe Namespaces Strophe.addNamespace('REGISTER', 'jabber:iq:register'); // Add Strophe Statuses - let i = 0; + var i = 0; _.each(_.keys(Strophe.Status), function (key) { i = Math.max(i, Strophe.Status[key]); @@ -46208,8 +45835,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // // New functions which don't exist yet can also be added. LoginPanel: { - insertRegisterLink() { - const _converse = this.__super__._converse; + insertRegisterLink: function insertRegisterLink() { + var _converse = this.__super__._converse; if (_.isUndefined(this.registerlinkview)) { this.registerlinkview = new _converse.RegisterLinkView({ @@ -46221,9 +45848,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.registerlinkview.render(); }, - - render(cfg) { - const _converse = this.__super__._converse; + render: function render(cfg) { + var _converse = this.__super__._converse; this.__super__.render.apply(this, arguments); @@ -46233,17 +45859,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; } - }, ControlBoxView: { - initialize() { + initialize: function initialize() { this.__super__.initialize.apply(this, arguments); this.model.on('change:active-form', this.showLoginOrRegisterForm.bind(this)); }, - - showLoginOrRegisterForm() { - const _converse = this.__super__._converse; + showLoginOrRegisterForm: function showLoginOrRegisterForm() { + var _converse = this.__super__._converse; if (_.isNil(this.registerpanel)) { return; @@ -46257,9 +45881,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.registerpanel.el.classList.add('hidden'); } }, - - renderRegistrationPanel() { - const _converse = this.__super__._converse; + renderRegistrationPanel: function renderRegistrationPanel() { + var _converse = this.__super__._converse; if (_converse.allow_registration) { this.registerpanel = new _converse.RegisterPanel({ @@ -46273,8 +45896,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - renderLoginPanel() { + renderLoginPanel: function renderLoginPanel() { /* Also render a registration panel, when rendering the * login panel. */ @@ -46283,16 +45905,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.renderRegistrationPanel(); return this; } - } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; + var _converse = this._converse, + __ = _converse.__; _converse.CONNECTION_STATUS[Strophe.Status.REGIFAIL] = 'REGIFAIL'; _converse.CONNECTION_STATUS[Strophe.Status.REGISTERED] = 'REGISTERED'; _converse.CONNECTION_STATUS[Strophe.Status.CONFLICT] = 'CONFLICT'; @@ -46308,8 +45928,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); function setActiveForm(value) { - _converse.api.waitUntil('controlboxInitialized').then(() => { - const controlbox = _converse.chatboxes.get('controlbox'); + _converse.api.waitUntil('controlboxInitialized').then(function () { + var controlbox = _converse.chatboxes.get('controlbox'); controlbox.set({ 'active-form': value @@ -46322,14 +45942,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.router.route('converse/register', _.partial(setActiveForm, 'register')); _converse.RegisterLinkView = Backbone.VDOMView.extend({ - toHTML() { + toHTML: function toHTML() { return tpl_register_link(_.extend(this.model.toJSON(), { '__': _converse.__, '_converse': _converse, 'connection_status': _converse.connfeedback.get('connection_status') })); } - }); _converse.RegisterPanel = Backbone.NativeView.extend({ tagName: 'div', @@ -46339,13 +45958,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'submit form#converse-register': 'onFormSubmission', 'click .button-cancel': 'renderProviderChoiceForm' }, - - initialize(cfg) { + initialize: function initialize(cfg) { this.reset(); this.registerHooks(); }, - - render() { + render: function render() { this.model.set('registration_form_rendered', false); this.el.innerHTML = tpl_register_panel({ '__': __, @@ -46363,37 +45980,37 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, + registerHooks: function registerHooks() { + var _this = this; - registerHooks() { /* Hook into Strophe's _connect_cb, so that we can send an IQ * requesting the registration fields. */ - const conn = _converse.connection; + var conn = _converse.connection; - const connect_cb = conn._connect_cb.bind(conn); + var connect_cb = conn._connect_cb.bind(conn); - conn._connect_cb = (req, callback, raw) => { - if (!this._registering) { + conn._connect_cb = function (req, callback, raw) { + if (!_this._registering) { connect_cb(req, callback, raw); } else { - if (this.getRegistrationFields(req, callback, raw)) { - this._registering = false; + if (_this.getRegistrationFields(req, callback, raw)) { + _this._registering = false; } } }; }, - - getRegistrationFields(req, _callback, raw) { + getRegistrationFields: function getRegistrationFields(req, _callback, raw) { /* Send an IQ stanza to the XMPP server asking for the * registration fields. * Parameters: * (Strophe.Request) req - The current request * (Function) callback */ - const conn = _converse.connection; + var conn = _converse.connection; conn.connected = true; - const body = conn._proto._reqToData(req); + var body = conn._proto._reqToData(req); if (!body) { return; @@ -46404,8 +46021,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return false; } - const register = body.getElementsByTagName("register"); - const mechanisms = body.getElementsByTagName("mechanism"); + var register = body.getElementsByTagName("register"); + var mechanisms = body.getElementsByTagName("mechanism"); if (register.length === 0 && mechanisms.length === 0) { conn._proto._no_auth_received(_callback); @@ -46423,7 +46040,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ conn._addSysHandler(this.onRegistrationFields.bind(this), null, "iq", null, null); - const stanza = $iq({ + var stanza = $iq({ type: "get" }).c("query", { xmlns: Strophe.NS.REGISTER @@ -46433,8 +46050,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ conn.connected = false; return true; }, - - onRegistrationFields(stanza) { + onRegistrationFields: function onRegistrationFields(stanza) { /* Handler for Registration Fields Request. * * Parameters: @@ -46460,9 +46076,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return false; }, - - reset(settings) { - const defaults = { + reset: function reset(settings) { + var defaults = { fields: {}, urls: [], title: "", @@ -46479,8 +46094,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _.extend(this, _.pick(settings, _.keys(defaults))); } }, - - onFormSubmission(ev) { + onFormSubmission: function onFormSubmission(ev) { /* Event handler when the #converse-register form is * submitted. * @@ -46497,16 +46111,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.onProviderChosen(ev.target); } }, - - onProviderChosen(form) { + onProviderChosen: function onProviderChosen(form) { /* Callback method that gets called when the user has chosen an * XMPP provider. * * Parameters: * (HTMLElement) form - The form that was submitted */ - const domain_input = form.querySelector('input[name=domain]'), - domain = _.get(domain_input, 'value'); + var domain_input = form.querySelector('input[name=domain]'), + domain = _.get(domain_input, 'value'); if (!domain) { // TODO: add validation message @@ -46517,8 +46130,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ form.querySelector('input[type=submit]').classList.add('hidden'); this.fetchRegistrationForm(domain.trim()); }, - - fetchRegistrationForm(domain_name) { + fetchRegistrationForm: function fetchRegistrationForm(domain_name) { /* This is called with a domain name based on which, it fetches a * registration form from the requested domain. * @@ -46538,8 +46150,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return false; }, - - renderRegistrationRequest() { + renderRegistrationRequest: function renderRegistrationRequest() { /* Clear the form and inform the user that the registration * form is being fetched. */ @@ -46548,15 +46159,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'cancel': _converse.registration_domain })); }, - - giveFeedback(message, klass) { - let feedback = this.el.querySelector('.reg-feedback'); + giveFeedback: function giveFeedback(message, klass) { + var feedback = this.el.querySelector('.reg-feedback'); if (!_.isNull(feedback)) { feedback.parentNode.removeChild(feedback); } - const form = this.el.querySelector('form'); + var form = this.el.querySelector('form'); form.insertAdjacentHTML('afterbegin', ''); feedback = form.querySelector('.reg-feedback'); feedback.textContent = message; @@ -46565,22 +46175,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ feedback.classList.add(klass); } }, - - clearRegistrationForm() { - const form = this.el.querySelector('form'); + clearRegistrationForm: function clearRegistrationForm() { + var form = this.el.querySelector('form'); form.innerHTML = ''; this.model.set('registration_form_rendered', false); return form; }, - - showSpinner() { - const form = this.el.querySelector('form'); + showSpinner: function showSpinner() { + var form = this.el.querySelector('form'); form.innerHTML = tpl_spinner(); this.model.set('registration_form_rendered', false); return this; }, - - onConnectStatusChanged(status_code) { + onConnectStatusChanged: function onConnectStatusChanged(status_code) { /* Callback function called by Strophe whenever the * connection status changes. * @@ -46593,7 +46200,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.log('converse-register: onConnectStatusChanged'); if (_.includes([Strophe.Status.DISCONNECTED, Strophe.Status.CONNFAIL, Strophe.Status.REGIFAIL, Strophe.Status.NOTACCEPTABLE, Strophe.Status.CONFLICT], status_code)) { - _converse.log(`Problem during registration: Strophe.Status is ${_converse.CONNECTION_STATUS[status_code]}`, Strophe.LogLevel.ERROR); + _converse.log("Problem during registration: Strophe.Status is ".concat(_converse.CONNECTION_STATUS[status_code]), Strophe.LogLevel.ERROR); this.abortRegistration(); } else if (status_code === Strophe.Status.REGISTERED) { @@ -46623,12 +46230,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.reset(); } }, + renderLegacyRegistrationForm: function renderLegacyRegistrationForm(form) { + var _this2 = this; - renderLegacyRegistrationForm(form) { - _.each(_.keys(this.fields), key => { + _.each(_.keys(this.fields), function (key) { if (key === "username") { form.insertAdjacentHTML('beforeend', tpl_form_username({ - 'domain': ` @${this.domain}`, + 'domain': " @".concat(_this2.domain), 'name': key, 'type': "text", 'label': key, @@ -46648,19 +46256,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); // Show urls - _.each(this.urls, url => { + _.each(this.urls, function (url) { form.insertAdjacentHTML('afterend', '' + url + ''); }); }, + renderRegistrationForm: function renderRegistrationForm(stanza) { + var _this3 = this; - renderRegistrationForm(stanza) { /* Renders the registration form based on the XForm fields * received from the XMPP server. * * Parameters: * (XMLElement) stanza - The IQ stanza received from the XMPP server. */ - const form = this.el.querySelector('form'); + var form = this.el.querySelector('form'); form.innerHTML = tpl_registration_form({ '__': _converse.__, 'domain': this.domain, @@ -46668,11 +46277,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'instructions': this.instructions, 'registration_domain': _converse.registration_domain }); - const buttons = form.querySelector('fieldset.buttons'); + var buttons = form.querySelector('fieldset.buttons'); if (this.form_type === 'xform') { - _.each(stanza.querySelectorAll('field'), field => { - buttons.insertAdjacentHTML('beforebegin', utils.xForm2webForm(field, stanza, this.domain)); + _.each(stanza.querySelectorAll('field'), function (field) { + buttons.insertAdjacentHTML('beforebegin', utils.xForm2webForm(field, stanza, _this3.domain)); }); } else { this.renderLegacyRegistrationForm(form); @@ -46685,14 +46294,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ form.classList.remove('hidden'); this.model.set('registration_form_rendered', true); }, - - showValidationError(message) { - const form = this.el.querySelector('form'); - let flash = form.querySelector('.form-errors'); + showValidationError: function showValidationError(message) { + var form = this.el.querySelector('form'); + var flash = form.querySelector('.form-errors'); if (_.isNull(flash)) { flash = ''; - const instructions = form.querySelector('p.instructions'); + var instructions = form.querySelector('p.instructions'); if (_.isNull(instructions)) { form.insertAdjacentHTML('afterbegin', flash); @@ -46708,8 +46316,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ flash.insertAdjacentHTML('beforeend', '

' + message + '

'); flash.classList.remove('hidden'); }, + reportErrors: function reportErrors(stanza) { + var _this4 = this; - reportErrors(stanza) { /* Report back to the user any error messages received from the * XMPP server after attempted registration. * @@ -46717,20 +46326,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (XMLElement) stanza - The IQ stanza received from the * XMPP server. */ - const errors = stanza.querySelectorAll('error'); + var errors = stanza.querySelectorAll('error'); - _.each(errors, error => { - this.showValidationError(error.textContent); + _.each(errors, function (error) { + _this4.showValidationError(error.textContent); }); if (!errors.length) { - const message = __('The provider rejected your registration attempt. ' + 'Please check the values you entered for correctness.'); + var message = __('The provider rejected your registration attempt. ' + 'Please check the values you entered for correctness.'); this.showValidationError(message); } }, - - renderProviderChoiceForm(ev) { + renderProviderChoiceForm: function renderProviderChoiceForm(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } @@ -46741,8 +46349,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.render(); }, - - abortRegistration() { + abortRegistration: function abortRegistration() { _converse.connection._proto._abortAllRequests(); _converse.connection.reset(); @@ -46755,8 +46362,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.render(); } }, - - submitRegistrationForm(form) { + submitRegistrationForm: function submitRegistrationForm(form) { /* Handler, when the user submits the registration form. * Provides form error feedback or starts the registration * process. @@ -46764,7 +46370,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * Parameters: * (HTMLElement) form - The HTML form that was submitted */ - const has_empty_inputs = _.reduce(this.el.querySelectorAll('input.required'), function (result, input) { + var has_empty_inputs = _.reduce(this.el.querySelectorAll('input.required'), function (result, input) { if (input.value === '') { input.classList.add('error'); return result + 1; @@ -46777,8 +46383,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const inputs = sizzle(':input:not([type=button]):not([type=submit])', form), - iq = $iq({ + var inputs = sizzle(':input:not([type=button]):not([type=submit])', form), + iq = $iq({ 'type': 'set', 'id': _converse.connection.getUniqueId() }).c("query", { @@ -46791,11 +46397,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ type: 'submit' }); - _.each(inputs, input => { + _.each(inputs, function (input) { iq.cnode(utils.webForm2xForm(input)).up(); }); } else { - _.each(inputs, input => { + _.each(inputs, function (input) { iq.c(input.getAttribute('name'), {}, input.value); }); } @@ -46806,16 +46412,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.setFields(iq.tree()); }, - - setFields(stanza) { + setFields: function setFields(stanza) { /* Stores the values that will be sent to the XMPP server * during attempted registration. * * Parameters: * (XMLElement) stanza - the IQ stanza that will be sent to the XMPP server. */ - const query = stanza.querySelector('query'); - const xform = sizzle(`x[xmlns="${Strophe.NS.XFORM}"]`, query); + var query = stanza.querySelector('query'); + var xform = sizzle("x[xmlns=\"".concat(Strophe.NS.XFORM, "\"]"), query); if (xform.length > 0) { this._setFieldsFromXForm(xform.pop()); @@ -46823,35 +46428,37 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this._setFieldsFromLegacy(query); } }, + _setFieldsFromLegacy: function _setFieldsFromLegacy(query) { + var _this5 = this; - _setFieldsFromLegacy(query) { - _.each(query.children, field => { + _.each(query.children, function (field) { if (field.tagName.toLowerCase() === 'instructions') { - this.instructions = Strophe.getText(field); + _this5.instructions = Strophe.getText(field); return; } else if (field.tagName.toLowerCase() === 'x') { if (field.getAttribute('xmlns') === 'jabber:x:oob') { - this.urls.concat(_.map(field.querySelectorAll('url'), 'textContent')); + _this5.urls.concat(_.map(field.querySelectorAll('url'), 'textContent')); } return; } - this.fields[field.tagName.toLowerCase()] = Strophe.getText(field); + _this5.fields[field.tagName.toLowerCase()] = Strophe.getText(field); }); this.form_type = 'legacy'; }, + _setFieldsFromXForm: function _setFieldsFromXForm(xform) { + var _this6 = this; - _setFieldsFromXForm(xform) { this.title = _.get(xform.querySelector('title'), 'textContent'); this.instructions = _.get(xform.querySelector('instructions'), 'textContent'); - _.each(xform.querySelectorAll('field'), field => { - const _var = field.getAttribute('var'); + _.each(xform.querySelectorAll('field'), function (field) { + var _var = field.getAttribute('var'); if (_var) { - this.fields[_var.toLowerCase()] = _.get(field.querySelector('value'), 'textContent', ''); + _this6.fields[_var.toLowerCase()] = _.get(field.querySelector('value'), 'textContent', ''); } else { // TODO: other option seems to be type="fixed" _converse.log("Found field we couldn't parse", Strophe.LogLevel.WARN); @@ -46860,8 +46467,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.form_type = 'xform'; }, - - _onRegisterIQ(stanza) { + _onRegisterIQ: function _onRegisterIQ(stanza) { /* Callback method that gets called when a return IQ stanza * is received from the XMPP server, after attempting to * register a new user. @@ -46873,7 +46479,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.log("Registration failed.", Strophe.LogLevel.ERROR); this.reportErrors(stanza); - let error = stanza.getElementsByTagName("error"); + var error = stanza.getElementsByTagName("error"); if (error.length !== 1) { _converse.connection._changeConnectStatus(Strophe.Status.REGIFAIL, "unknown"); @@ -46896,10 +46502,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return false; } - }); } - }); }); @@ -46933,14 +46537,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); })(void 0, function (utils, converse, muc, tpl_rooms_list, tpl_rooms_list_item) { - const _converse$env = converse.env, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - Strophe = _converse$env.Strophe, - b64_sha1 = _converse$env.b64_sha1, - sizzle = _converse$env.sizzle, - _ = _converse$env._; - const u = converse.env.utils; + var _converse$env = converse.env, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + Strophe = _converse$env.Strophe, + b64_sha1 = _converse$env.b64_sha1, + sizzle = _converse$env.sizzle, + _ = _converse$env._; + var u = converse.env.utils; converse.plugins.add('converse-roomslist', { /* Optional dependencies are other plugins which might be * overridden or relied upon, and therefore need to be loaded before @@ -46955,17 +46559,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * NB: These plugins need to have already been loaded via require.js. */ dependencies: ["converse-controlbox", "converse-muc", "converse-bookmarks"], - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; + var _converse = this._converse, + __ = _converse.__; _converse.OpenRooms = Backbone.Collection.extend({ - comparator(room) { + comparator: function comparator(room) { if (room.get('bookmarked')) { - const bookmark = _.head(_converse.bookmarksview.model.where({ + var bookmark = _.head(_converse.bookmarksview.model.where({ 'jid': room.get('jid') })); @@ -46974,9 +46577,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return room.get('name'); } }, - - initialize() { - this.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1(`converse.open-rooms-{_converse.bare_jid}`)); + initialize: function initialize() { + this.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1("converse.open-rooms-{_converse.bare_jid}")); _converse.chatboxes.on('add', this.onChatBoxAdded, this); @@ -46994,30 +46596,26 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'type': 'chatroom' }), 'attributes')); }, - - onChatBoxAdded(item) { + onChatBoxAdded: function onChatBoxAdded(item) { if (item.get('type') === 'chatroom') { this.create(item.attributes); } }, - - onChatBoxChanged(item) { + onChatBoxChanged: function onChatBoxChanged(item) { if (item.get('type') === 'chatroom') { - const room = this.get(item.get('jid')); + var room = this.get(item.get('jid')); if (!_.isNil(room)) { room.set(item.attributes); } } }, - - onChatBoxRemoved(item) { + onChatBoxRemoved: function onChatBoxRemoved(item) { if (item.get('type') === 'chatroom') { - const room = this.get(item.get('jid')); + var room = this.get(item.get('jid')); this.remove(room); } } - }); _converse.RoomsList = Backbone.Model.extend({ defaults: { @@ -47025,7 +46623,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }); _converse.RoomsListElementView = Backbone.VDOMView.extend({ - initialize() { + events: { + 'click a.room-info': 'showRoomDetailsModal' + }, + initialize: function initialize() { this.model.on('destroy', this.remove, this); this.model.on('remove', this.remove, this); this.model.on('change:bookmarked', this.render, this); @@ -47033,20 +46634,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.on('change:num_unread', this.render, this); this.model.on('change:num_unread_general', this.render, this); }, - - getRoomsListElementName() { - if (this.model.get('bookmarked') && _converse.bookmarksview) { - const bookmark = _.head(_converse.bookmarksview.model.where({ - 'jid': this.model.get('jid') - })); - - return bookmark.get('name'); - } else { - return this.model.get('name'); - } - }, - - toHTML() { + toHTML: function toHTML() { return tpl_rooms_list_item(_.extend(this.model.toJSON(), { // XXX: By the time this renders, the _converse.bookmarks // collection should already exist if bookmarks are @@ -47060,8 +46648,31 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'name': this.getRoomsListElementName(), 'open_title': __('Click to open this room') })); - } + }, + showRoomDetailsModal: function showRoomDetailsModal(ev) { + var room = _converse.chatboxes.get(this.model.get('jid')); + ev.preventDefault(); + + if (_.isUndefined(room.room_details_modal)) { + room.room_details_modal = new _converse.RoomDetailsModal({ + 'model': room + }); + } + + room.room_details_modal.show(ev); + }, + getRoomsListElementName: function getRoomsListElementName() { + if (this.model.get('bookmarked') && _converse.bookmarksview) { + var bookmark = _.head(_converse.bookmarksview.model.where({ + 'jid': this.model.get('jid') + })); + + return bookmark.get('name'); + } else { + return this.model.get('name'); + } + } }); _converse.RoomsListView = Backbone.OrderedListView.extend({ tagName: 'div', @@ -47076,12 +46687,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ listSelector: '.rooms-list', ItemView: _converse.RoomsListElementView, subviewIndex: 'jid', - - initialize() { + initialize: function initialize() { Backbone.OrderedListView.prototype.initialize.apply(this, arguments); this.model.on('add', this.showOrHide, this); this.model.on('remove', this.showOrHide, this); - const cachekey = `converse.roomslist${_converse.bare_jid}`; + var cachekey = "converse.roomslist".concat(_converse.bare_jid); this.list_model = new _converse.RoomsList(); this.list_model.id = cachekey; this.list_model.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1(cachekey)); @@ -47089,8 +46699,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.render(); this.sortAndPositionAllItems(); }, - - render() { + render: function render() { this.el.innerHTML = tpl_rooms_list({ 'toggle_state': this.list_model.get('toggle-state'), 'desc_rooms': __('Click to toggle the rooms list'), @@ -47106,89 +46715,84 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.insertIntoControlBox(); return this; }, - - insertIntoControlBox() { - const controlboxview = _converse.chatboxviews.get('controlbox'); + insertIntoControlBox: function insertIntoControlBox() { + var controlboxview = _converse.chatboxviews.get('controlbox'); if (!_.isUndefined(controlboxview) && !u.rootContains(_converse.root, this.el)) { - const el = controlboxview.el.querySelector('.open-rooms-list'); + var el = controlboxview.el.querySelector('.open-rooms-list'); if (!_.isNull(el)) { el.parentNode.replaceChild(this.el, el); } } }, - - hide() { + hide: function hide() { u.hideElement(this.el); }, - - show() { + show: function show() { u.showElement(this.el); }, - - openRoom(ev) { + openRoom: function openRoom(ev) { ev.preventDefault(); - const name = ev.target.textContent; - const jid = ev.target.getAttribute('data-room-jid'); - const data = { + var name = ev.target.textContent; + var jid = ev.target.getAttribute('data-room-jid'); + var data = { 'name': name || Strophe.unescapeNode(Strophe.getNodeFromJid(jid)) || jid }; _converse.api.rooms.open(jid, data); }, - - closeRoom(ev) { + closeRoom: function closeRoom(ev) { ev.preventDefault(); - const name = ev.target.getAttribute('data-room-name'); - const jid = ev.target.getAttribute('data-room-jid'); + var name = ev.target.getAttribute('data-room-name'); + var jid = ev.target.getAttribute('data-room-jid'); if (confirm(__("Are you sure you want to leave the room %1$s?", name))) { // TODO: replace with API call _converse.chatboxviews.get(jid).close(); } }, - - showOrHide(item) { + showOrHide: function showOrHide(item) { if (!this.model.models.length) { u.hideElement(this.el); } else { u.showElement(this.el); } }, - removeBookmark: _converse.removeBookmarkViaEvent, addBookmark: _converse.addBookmarkViaEvent, + toggleRoomsList: function toggleRoomsList(ev) { + var _this = this; - toggleRoomsList(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } - const icon_el = ev.target.querySelector('.fa'); + var icon_el = ev.target.querySelector('.fa'); if (icon_el.classList.contains("fa-caret-down")) { - utils.slideIn(this.el.querySelector('.open-rooms-list')).then(() => { - this.list_model.save({ + utils.slideIn(this.el.querySelector('.open-rooms-list')).then(function () { + _this.list_model.save({ 'toggle-state': _converse.CLOSED }); + icon_el.classList.remove("fa-caret-down"); icon_el.classList.add("fa-caret-right"); }); } else { - utils.slideOut(this.el.querySelector('.open-rooms-list')).then(() => { - this.list_model.save({ + utils.slideOut(this.el.querySelector('.open-rooms-list')).then(function () { + _this.list_model.save({ 'toggle-state': _converse.OPENED }); + icon_el.classList.remove("fa-caret-right"); icon_el.classList.add("fa-caret-down"); }); } } - }); - const initRoomsListView = function initRoomsListView() { + var initRoomsListView = function initRoomsListView() { _converse.rooms_list_view = new _converse.RoomsListView({ 'model': new _converse.OpenRooms() }); @@ -47217,7 +46821,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.api.listen.on('reconnected', initRoomsListView); } - }); }); @@ -47233,6 +46836,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ "use strict"; var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return right[Symbol.hasInstance](left); } else { return left instanceof right; } } + // Converse.js // http://conversejs.org // @@ -47246,26 +46851,25 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse) { "use strict"; - const _converse$env = converse.env, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - Strophe = _converse$env.Strophe, - $iq = _converse$env.$iq, - $pres = _converse$env.$pres, - b64_sha1 = _converse$env.b64_sha1, - moment = _converse$env.moment, - sizzle = _converse$env.sizzle, - _ = _converse$env._; - const u = converse.env.utils; + var _converse$env = converse.env, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + Strophe = _converse$env.Strophe, + $iq = _converse$env.$iq, + $pres = _converse$env.$pres, + b64_sha1 = _converse$env.b64_sha1, + moment = _converse$env.moment, + sizzle = _converse$env.sizzle, + _ = _converse$env._; + var u = converse.env.utils; converse.plugins.add('converse-roster', { dependencies: ["converse-vcard"], - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; + var _converse = this._converse, + __ = _converse.__; _converse.api.settings.update({ 'allow_contact_requests': true, @@ -47290,21 +46894,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * roster and the roster groups. */ _converse.roster = new _converse.RosterContacts(); - _converse.roster.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1(`converse.contacts-${_converse.bare_jid}`)); + _converse.roster.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1("converse.contacts-".concat(_converse.bare_jid))); _converse.roster.data = new Backbone.Model(); - const id = b64_sha1(`converse-roster-model-${_converse.bare_jid}`); + var id = b64_sha1("converse-roster-model-".concat(_converse.bare_jid)); _converse.roster.data.id = id; _converse.roster.data.browserStorage = new Backbone.BrowserStorage[_converse.storage](id); _converse.roster.data.fetch(); _converse.rostergroups = new _converse.RosterGroups(); - _converse.rostergroups.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1(`converse.roster.groups${_converse.bare_jid}`)); + _converse.rostergroups.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1("converse.roster.groups".concat(_converse.bare_jid))); _converse.emit('rosterInitialized'); }; - _converse.populateRoster = function (ignore_cache = false) { + _converse.populateRoster = function () { + var ignore_cache = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + /* Fetch all the roster groups, and then the roster contacts. * Emit an event after fetching is done in each case. * @@ -47316,25 +46922,25 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ if (ignore_cache) { _converse.send_initial_presence = true; - _converse.roster.fetchFromServer().then(() => { + _converse.roster.fetchFromServer().then(function () { _converse.emit('rosterContactsFetched'); _converse.sendInitialPresence(); - }).catch(reason => { + }).catch(function (reason) { _converse.log(reason, Strophe.LogLevel.ERROR); _converse.sendInitialPresence(); }); } else { - _converse.rostergroups.fetchRosterGroups().then(() => { + _converse.rostergroups.fetchRosterGroups().then(function () { _converse.emit('rosterGroupsFetched'); return _converse.roster.fetchRosterContacts(); - }).then(() => { + }).then(function () { _converse.emit('rosterContactsFetched'); _converse.sendInitialPresence(); - }).catch(reason => { + }).catch(function (reason) { _converse.log(reason, Strophe.LogLevel.ERROR); _converse.sendInitialPresence(); @@ -47343,54 +46949,52 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; _converse.Presence = Backbone.Model.extend({ - defaults() { + defaults: function defaults() { return { 'show': 'offline', 'resources': {} }; }, - - getHighestPriorityResource() { + getHighestPriorityResource: function getHighestPriorityResource() { /* Return the resource with the highest priority. * * If multiple resources have the same priority, take the * latest one. */ - const resources = this.get('resources'); + var resources = this.get('resources'); if (_.isObject(resources) && _.size(resources)) { - const val = _.flow(_.values, _.partial(_.sortBy, _, ['priority', 'timestamp']), _.reverse)(resources)[0]; + var val = _.flow(_.values, _.partial(_.sortBy, _, ['priority', 'timestamp']), _.reverse)(resources)[0]; if (!_.isUndefined(val)) { return val; } } }, - - addResource(presence) { + addResource: function addResource(presence) { /* Adds a new resource and it's associated attributes as taken * from the passed in presence stanza. * * Also updates the presence if the resource has higher priority (and is newer). */ - const jid = presence.getAttribute('from'), - show = _.propertyOf(presence.querySelector('show'))('textContent') || 'online', - resource = Strophe.getResourceFromJid(jid), - delay = sizzle(`delay[xmlns="${Strophe.NS.DELAY}"]`, presence).pop(), - timestamp = _.isNil(delay) ? moment().format() : moment(delay.getAttribute('stamp')).format(); - let priority = _.propertyOf(presence.querySelector('priority'))('textContent') || 0; + var jid = presence.getAttribute('from'), + show = _.propertyOf(presence.querySelector('show'))('textContent') || 'online', + resource = Strophe.getResourceFromJid(jid), + delay = sizzle("delay[xmlns=\"".concat(Strophe.NS.DELAY, "\"]"), presence).pop(), + timestamp = _.isNil(delay) ? moment().format() : moment(delay.getAttribute('stamp')).format(); + var priority = _.propertyOf(presence.querySelector('priority'))('textContent') || 0; priority = _.isNaN(parseInt(priority, 10)) ? 0 : parseInt(priority, 10); - const resources = _.isObject(this.get('resources')) ? this.get('resources') : {}; + var resources = _.isObject(this.get('resources')) ? this.get('resources') : {}; resources[resource] = { 'name': resource, 'priority': priority, 'show': show, 'timestamp': timestamp }; - const changed = { + var changed = { 'resources': resources }; - const hpr = this.getHighestPriorityResource(); + var hpr = this.getHighestPriorityResource(); if (priority == hpr.priority && timestamp == hpr.timestamp) { // Only set the "global" presence if this is the newest resource @@ -47401,14 +47005,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.save(changed); return resources; }, - - removeResource(resource) { + removeResource: function removeResource(resource) { /* Remove the passed in resource from the resources map. * * Also redetermines the presence given that there's one less * resource. */ - let resources = this.get('resources'); + var resources = this.get('resources'); if (!_.isObject(resources)) { resources = {}; @@ -47421,35 +47024,31 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'show': _.propertyOf(this.getHighestPriorityResource())('show') || 'offline' }); } - }); _converse.Presences = Backbone.Collection.extend({ model: _converse.Presence }); _converse.ModelWithVCardAndPresence = Backbone.Model.extend({ - initialize() { + initialize: function initialize() { this.setVCard(); this.setPresence(); }, - - setVCard() { - const jid = this.get('jid'); + setVCard: function setVCard() { + var jid = this.get('jid'); this.vcard = _converse.vcards.findWhere({ 'jid': jid }) || _converse.vcards.create({ 'jid': jid }); }, - - setPresence() { - const jid = this.get('jid'); + setPresence: function setPresence() { + var jid = this.get('jid'); this.presence = _converse.presences.findWhere({ 'jid': jid }) || _converse.presences.create({ 'jid': jid }); } - }); _converse.RosterContact = _converse.ModelWithVCardAndPresence.extend({ defaults: { @@ -47459,13 +47058,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'num_unread': 0, 'status': '' }, + initialize: function initialize(attributes) { + var _this = this; - initialize(attributes) { _converse.ModelWithVCardAndPresence.prototype.initialize.apply(this, arguments); - const jid = attributes.jid, - bare_jid = Strophe.getBareJidFromJid(jid).toLowerCase(), - resource = Strophe.getResourceFromJid(jid); + var jid = attributes.jid, + bare_jid = Strophe.getBareJidFromJid(jid).toLowerCase(), + resource = Strophe.getResourceFromJid(jid); attributes.jid = bare_jid; this.set(_.assignIn({ 'groups': [], @@ -47473,26 +47073,27 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'jid': bare_jid, 'user_id': Strophe.getNodeFromJid(jid) }, attributes)); - this.presence.on('change:show', () => _converse.emit('contactPresenceChanged', this)); - this.presence.on('change:show', () => this.trigger('presenceChanged')); + this.presence.on('change:show', function () { + return _converse.emit('contactPresenceChanged', _this); + }); + this.presence.on('change:show', function () { + return _this.trigger('presenceChanged'); + }); }, - - getDisplayName() { + getDisplayName: function getDisplayName() { return this.vcard.get('fullname') || this.get('jid'); }, - - getFullname() { + getFullname: function getFullname() { return this.vcard.get('fullname'); }, - - subscribe(message) { + subscribe: function subscribe(message) { /* Send a presence subscription request to this roster contact * * Parameters: * (String) message - An optional message to explain the * reason for the subscription request. */ - const pres = $pres({ + var pres = $pres({ to: this.get('jid'), type: "subscribe" }); @@ -47501,7 +47102,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ pres.c("status").t(message).up(); } - const nick = _converse.xmppstatus.vcard.get('nickname') || _converse.xmppstatus.vcard.get('fullname'); + var nick = _converse.xmppstatus.vcard.get('nickname') || _converse.xmppstatus.vcard.get('fullname'); if (nick) { pres.c('nick', { @@ -47515,8 +47116,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - ackSubscribe() { + ackSubscribe: function ackSubscribe() { /* Upon receiving the presence stanza of type "subscribed", * the user SHOULD acknowledge receipt of that subscription * state notification by sending a presence stanza of type @@ -47527,8 +47127,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'to': this.get('jid') })); }, - - ackUnsubscribe() { + ackUnsubscribe: function ackUnsubscribe() { /* Upon receiving the presence stanza of type "unsubscribed", * the user SHOULD acknowledge receipt of that subscription state * notification by sending a presence stanza of type "unsubscribe" @@ -47545,8 +47144,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.removeFromRoster(); this.destroy(); }, - - unauthorize(message) { + unauthorize: function unauthorize(message) { /* Unauthorize this contact's presence subscription * Parameters: * (String) message - Optional message to send to the person being unauthorized @@ -47555,13 +47153,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - authorize(message) { + authorize: function authorize(message) { /* Authorize presence subscription * Parameters: * (String) message - Optional message to send to the person being authorized */ - const pres = $pres({ + var pres = $pres({ 'to': this.get('jid'), 'type': "subscribed" }); @@ -47574,13 +47171,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - removeFromRoster(callback, errback) { + removeFromRoster: function removeFromRoster(callback, errback) { /* Instruct the XMPP server to remove this contact from our roster * Parameters: * (Function) callback */ - const iq = $iq({ + var iq = $iq({ type: 'set' }).c('query', { xmlns: Strophe.NS.ROSTER @@ -47593,25 +47189,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; } - }); _converse.RosterContacts = Backbone.Collection.extend({ model: _converse.RosterContact, - - comparator(contact1, contact2) { - const status1 = contact1.presence.get('show') || 'offline'; - const status2 = contact2.presence.get('show') || 'offline'; + comparator: function comparator(contact1, contact2) { + var status1 = contact1.presence.get('show') || 'offline'; + var status2 = contact2.presence.get('show') || 'offline'; if (_converse.STATUS_WEIGHTS[status1] === _converse.STATUS_WEIGHTS[status2]) { - const name1 = contact1.getDisplayName().toLowerCase(); - const name2 = contact2.getDisplayName().toLowerCase(); + var name1 = contact1.getDisplayName().toLowerCase(); + var name2 = contact2.getDisplayName().toLowerCase(); return name1 < name2 ? -1 : name1 > name2 ? 1 : 0; } else { return _converse.STATUS_WEIGHTS[status1] < _converse.STATUS_WEIGHTS[status2] ? -1 : 1; } }, - - onConnected() { + onConnected: function onConnected() { /* Called as soon as the connection has been established * (either after initial login, or after reconnection). * @@ -47620,23 +47213,21 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.registerRosterHandler(); this.registerRosterXHandler(); }, - - registerRosterHandler() { + registerRosterHandler: function registerRosterHandler() { /* Register a handler for roster IQ "set" stanzas, which update * roster contacts. */ - _converse.connection.addHandler(iq => { + _converse.connection.addHandler(function (iq) { _converse.roster.onRosterPush(iq); return true; }, Strophe.NS.ROSTER, 'iq', "set"); }, - - registerRosterXHandler() { + registerRosterXHandler: function registerRosterXHandler() { /* Register a handler for RosterX message stanzas, which are * used to suggest roster contacts to a user. */ - let t = 0; + var t = 0; _converse.connection.addHandler(function (msg) { window.setTimeout(function () { @@ -47648,8 +47239,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return true; }, Strophe.NS.ROSTERX, 'message', null); }, + fetchRosterContacts: function fetchRosterContacts() { + var _this2 = this; - fetchRosterContacts() { /* Fetches the roster contacts, first by trying the * sessionStorage cache, and if that's empty, then by querying * the XMPP server. @@ -47657,13 +47249,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * Returns a promise which resolves once the contacts have been * fetched. */ - const that = this; - return new Promise((resolve, reject) => { - this.fetch({ + var that = this; + return new Promise(function (resolve, reject) { + _this2.fetch({ 'add': true, 'silent': true, - - success(collection) { + success: function success(collection) { if (collection.length === 0 || that.rosterVersioningSupported() && !_converse.session.get('roster_fetched')) { _converse.send_initial_presence = true; @@ -47674,12 +47265,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ resolve(); } } - }); }); }, - - subscribeToSuggestedItems(msg) { + subscribeToSuggestedItems: function subscribeToSuggestedItems(msg) { _.each(msg.querySelectorAll('item'), function (item) { if (item.getAttribute('action') === 'add') { _converse.roster.addAndSubscribe(item.getAttribute('jid'), _converse.xmppstatus.vcard.get('nickname') || _converse.xmppstatus.vcard.get('fullname')); @@ -47688,12 +47277,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return true; }, - - isSelf(jid) { + isSelf: function isSelf(jid) { return u.isSameBareJID(jid, _converse.connection.jid); }, - - addAndSubscribe(jid, name, groups, message, attributes) { + addAndSubscribe: function addAndSubscribe(jid, name, groups, message, attributes) { /* Add a roster contact and then once we have confirmation from * the XMPP server we subscribe to that contact's presence updates. * Parameters: @@ -47704,16 +47291,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * reason for the subscription request. * (Object) attributes - Any additional attributes to be stored on the user's model. */ - const handler = contact => { - if (contact instanceof _converse.RosterContact) { + var handler = function handler(contact) { + if (_instanceof(contact, _converse.RosterContact)) { contact.subscribe(message); } }; this.addContactToRoster(jid, name, groups, attributes).then(handler, handler); }, - - sendContactAddIQ(jid, name, groups, callback, errback) { + sendContactAddIQ: function sendContactAddIQ(jid, name, groups, callback, errback) { /* Send an IQ stanza to the XMPP server to add a new roster contact. * * Parameters: @@ -47724,13 +47310,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (Function) errback - A function to call if an error occured */ name = _.isEmpty(name) ? jid : name; - const iq = $iq({ + var iq = $iq({ type: 'set' }).c('query', { xmlns: Strophe.NS.ROSTER }).c('item', { - jid, - name + jid: jid, + name: name }); _.each(groups, function (group) { @@ -47739,8 +47325,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.sendIQ(iq, callback, errback); }, + addContactToRoster: function addContactToRoster(jid, name, groups, attributes) { + var _this3 = this; - addContactToRoster(jid, name, groups, attributes) { /* Adds a RosterContact instance to _converse.roster and * registers the contact on the XMPP server. * Returns a promise which is resolved once the XMPP server has @@ -47752,19 +47339,21 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (Array of Strings) groups - Any roster groups the user might belong to * (Object) attributes - Any additional attributes to be stored on the user's model. */ - return new Promise((resolve, reject) => { + return new Promise(function (resolve, reject) { groups = groups || []; - this.sendContactAddIQ(jid, name, groups, () => { - const contact = this.create(_.assignIn({ + + _this3.sendContactAddIQ(jid, name, groups, function () { + var contact = _this3.create(_.assignIn({ 'ask': undefined, 'nickname': name, - groups, - jid, + groups: groups, + jid: jid, 'requesting': false, 'subscription': 'none' }, attributes), { sort: false }); + resolve(contact); }, function (err) { alert(__('Sorry, there was an error while trying to add %1$s as a contact.', name)); @@ -47775,47 +47364,46 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); }); }, + subscribeBack: function subscribeBack(bare_jid, presence) { + var contact = this.get(bare_jid); - subscribeBack(bare_jid, presence) { - const contact = this.get(bare_jid); - - if (contact instanceof _converse.RosterContact) { + if (_instanceof(contact, _converse.RosterContact)) { contact.authorize().subscribe(); } else { // Can happen when a subscription is retried or roster was deleted - const handler = contact => { - if (contact instanceof _converse.RosterContact) { + var handler = function handler(contact) { + if (_instanceof(contact, _converse.RosterContact)) { contact.authorize().subscribe(); } }; - const nickname = _.get(sizzle(`nick[xmlns="${Strophe.NS.NICK}"]`, presence).pop(), 'textContent', null); + var nickname = _.get(sizzle("nick[xmlns=\"".concat(Strophe.NS.NICK, "\"]"), presence).pop(), 'textContent', null); this.addContactToRoster(bare_jid, nickname, [], { 'subscription': 'from' }).then(handler, handler); } }, - - getNumOnlineContacts() { - let ignored = ['offline', 'unavailable']; + getNumOnlineContacts: function getNumOnlineContacts() { + var ignored = ['offline', 'unavailable']; if (_converse.show_only_online_users) { ignored = _.union(ignored, ['dnd', 'xa', 'away']); } - return _.sum(this.models.filter(model => !_.includes(ignored, model.presence.get('show')))); + return _.sum(this.models.filter(function (model) { + return !_.includes(ignored, model.presence.get('show')); + })); }, - - onRosterPush(iq) { + onRosterPush: function onRosterPush(iq) { /* Handle roster updates from the XMPP server. * See: https://xmpp.org/rfcs/rfc6121.html#roster-syntax-actions-push * * Parameters: * (XMLElement) IQ - The IQ stanza received from the XMPP server. */ - const id = iq.getAttribute('id'); - const from = iq.getAttribute('from'); + var id = iq.getAttribute('id'); + var from = iq.getAttribute('from'); if (from && from !== _converse.connection.jid) { // https://tools.ietf.org/html/rfc6121#page-15 @@ -47829,13 +47417,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.connection.send($iq({ type: 'result', - id, + id: id, from: _converse.connection.jid })); - const query = sizzle(`query[xmlns="${Strophe.NS.ROSTER}"]`, iq).pop(); + var query = sizzle("query[xmlns=\"".concat(Strophe.NS.ROSTER, "\"]"), iq).pop(); this.data.save('version', query.getAttribute('ver')); - const items = sizzle(`item`, query); + var items = sizzle("item", query); if (items.length > 1) { _converse.log(iq, Strophe.LogLevel.ERROR); @@ -47857,31 +47445,31 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; }, - - rosterVersioningSupported() { + rosterVersioningSupported: function rosterVersioningSupported() { return _converse.api.disco.stream.getFeature('ver', 'urn:xmpp:features:rosterver') && this.data.get('version'); }, + fetchFromServer: function fetchFromServer() { + var _this4 = this; - fetchFromServer() { /* Fetch the roster from the XMPP server */ - return new Promise((resolve, reject) => { - const iq = $iq({ + return new Promise(function (resolve, reject) { + var iq = $iq({ 'type': 'get', 'id': _converse.connection.getUniqueId('roster') }).c('query', { xmlns: Strophe.NS.ROSTER }); - if (this.rosterVersioningSupported()) { + if (_this4.rosterVersioningSupported()) { iq.attrs({ - 'ver': this.data.get('version') + 'ver': _this4.data.get('version') }); } - const callback = _.flow(this.onReceivedFromServer.bind(this), resolve); + var callback = _.flow(_this4.onReceivedFromServer.bind(_this4), resolve); - const errback = function errback(iq) { - const errmsg = "Error while trying to fetch roster from the server"; + var errback = function errback(iq) { + var errmsg = "Error while trying to fetch roster from the server"; _converse.log(errmsg, Strophe.LogLevel.ERROR); @@ -47891,17 +47479,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _converse.connection.sendIQ(iq, callback, errback); }); }, + onReceivedFromServer: function onReceivedFromServer(iq) { + var _this5 = this; - onReceivedFromServer(iq) { /* An IQ stanza containing the roster has been received from * the XMPP server. */ - const query = sizzle(`query[xmlns="${Strophe.NS.ROSTER}"]`, iq).pop(); + var query = sizzle("query[xmlns=\"".concat(Strophe.NS.ROSTER, "\"]"), iq).pop(); if (query) { - const items = sizzle(`item`, query); + var items = sizzle("item", query); - _.each(items, item => this.updateContact(item)); + _.each(items, function (item) { + return _this5.updateContact(item); + }); this.data.save('version', query.getAttribute('ver')); @@ -47910,21 +47501,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.emit('roster', iq); }, - - updateContact(item) { + updateContact: function updateContact(item) { /* Update or create RosterContact models based on items * received in the IQ from the server. */ - const jid = item.getAttribute('jid'); + var jid = item.getAttribute('jid'); if (this.isSelf(jid)) { return; } - const contact = this.get(jid), - subscription = item.getAttribute("subscription"), - ask = item.getAttribute("ask"), - groups = _.map(item.getElementsByTagName('group'), Strophe.getText); + var contact = this.get(jid), + subscription = item.getAttribute("subscription"), + ask = item.getAttribute("ask"), + groups = _.map(item.getElementsByTagName('group'), Strophe.getText); if (!contact) { if (subscription === "none" && ask === null || subscription === "remove") { @@ -47957,12 +47547,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } }, + createRequestingContact: function createRequestingContact(presence) { + var bare_jid = Strophe.getBareJidFromJid(presence.getAttribute('from')), + nickname = _.get(sizzle("nick[xmlns=\"".concat(Strophe.NS.NICK, "\"]"), presence).pop(), 'textContent', null); - createRequestingContact(presence) { - const bare_jid = Strophe.getBareJidFromJid(presence.getAttribute('from')), - nickname = _.get(sizzle(`nick[xmlns="${Strophe.NS.NICK}"]`, presence).pop(), 'textContent', null); - - const user_data = { + var user_data = { 'jid': bare_jid, 'subscription': 'none', 'ask': null, @@ -47972,11 +47561,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.emit('contactRequest', this.create(user_data)); }, - - handleIncomingSubscription(presence) { - const jid = presence.getAttribute('from'), - bare_jid = Strophe.getBareJidFromJid(jid), - contact = this.get(bare_jid); + handleIncomingSubscription: function handleIncomingSubscription(presence) { + var jid = presence.getAttribute('from'), + bare_jid = Strophe.getBareJidFromJid(jid), + contact = this.get(bare_jid); if (!_converse.allow_contact_requests) { _converse.rejectPresenceSubscription(jid, __("This client does not allow presence subscriptions")); @@ -48000,23 +47588,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } }, - - handleOwnPresence(presence) { - const jid = presence.getAttribute('from'), - resource = Strophe.getResourceFromJid(jid), - presence_type = presence.getAttribute('type'); + handleOwnPresence: function handleOwnPresence(presence) { + var jid = presence.getAttribute('from'), + resource = Strophe.getResourceFromJid(jid), + presence_type = presence.getAttribute('type'); if (_converse.connection.jid !== jid && presence_type !== 'unavailable' && (_converse.synchronize_availability === true || _converse.synchronize_availability === resource)) { // Another resource has changed its status and // synchronize_availability option set to update, // we'll update ours as well. - const show = _.propertyOf(presence.querySelector('show'))('textContent') || 'online'; + var show = _.propertyOf(presence.querySelector('show'))('textContent') || 'online'; _converse.xmppstatus.save({ 'status': show }); - const status_message = _.propertyOf(presence.querySelector('status'))('textContent'); + var status_message = _.propertyOf(presence.querySelector('status'))('textContent'); if (status_message) { _converse.xmppstatus.save({ @@ -48043,25 +47630,24 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.xmppstatus.sendPresence(); } }, - - presenceHandler(presence) { - const presence_type = presence.getAttribute('type'); + presenceHandler: function presenceHandler(presence) { + var presence_type = presence.getAttribute('type'); if (presence_type === 'error') { return true; } - const jid = presence.getAttribute('from'), - bare_jid = Strophe.getBareJidFromJid(jid); + var jid = presence.getAttribute('from'), + bare_jid = Strophe.getBareJidFromJid(jid); if (this.isSelf(bare_jid)) { return this.handleOwnPresence(presence); - } else if (sizzle(`query[xmlns="${Strophe.NS.MUC}"]`, presence).length) { + } else if (sizzle("query[xmlns=\"".concat(Strophe.NS.MUC, "\"]"), presence).length) { return; // Ignore MUC } - const status_message = _.propertyOf(presence.querySelector('status'))('textContent'), - contact = this.get(bare_jid); + var status_message = _.propertyOf(presence.querySelector('status'))('textContent'), + contact = this.get(bare_jid); if (contact && status_message !== contact.get('status')) { contact.save({ @@ -48078,17 +47664,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } else if (presence_type === 'subscribe') { this.handleIncomingSubscription(presence); } else if (presence_type === 'unavailable' && contact) { - const resource = Strophe.getResourceFromJid(jid); + var resource = Strophe.getResourceFromJid(jid); contact.presence.removeResource(resource); } else if (contact) { // presence_type is undefined contact.presence.addResource(presence); } } - }); _converse.RosterGroup = Backbone.Model.extend({ - initialize(attributes) { + initialize: function initialize(attributes) { this.set(_.assignIn({ description: __('Click to hide these contacts'), state: _converse.OPENED @@ -48096,19 +47681,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.contacts = new _converse.RosterContacts(); } - }); _converse.RosterGroups = Backbone.Collection.extend({ model: _converse.RosterGroup, + fetchRosterGroups: function fetchRosterGroups() { + var _this6 = this; - fetchRosterGroups() { /* Fetches all the roster groups from sessionStorage. * * Returns a promise which resolves once the groups have been * returned. */ - return new Promise((resolve, reject) => { - this.fetch({ + return new Promise(function (resolve, reject) { + _this6.fetch({ silent: true, // We need to first have all groups before // we can start positioning them, so we set @@ -48117,7 +47702,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); }); } - }); _converse.unregisterPresenceHandler = function () { @@ -48132,23 +47716,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.api.listen.on('beforeTearDown', _converse.unregisterPresenceHandler()); - _converse.api.listen.on('afterTearDown', () => { + _converse.api.listen.on('afterTearDown', function () { if (_converse.presences) { _converse.presences.off().reset(); // Remove presences } }); - _converse.api.listen.on('clearSession', () => { + _converse.api.listen.on('clearSession', function () { if (_converse.presences) { _converse.presences.browserStorage._clear(); } }); - _converse.api.listen.on('statusInitialized', reconnecting => { + _converse.api.listen.on('statusInitialized', function (reconnecting) { if (!reconnecting) { _converse.presences = new _converse.Presences(); - _converse.presences.browserStorage = new Backbone.BrowserStorage.session(b64_sha1(`converse.presences-${_converse.bare_jid}`)); + _converse.presences.browserStorage = new Backbone.BrowserStorage.session(b64_sha1("converse.presences-".concat(_converse.bare_jid))); _converse.presences.fetch(); } @@ -48156,7 +47740,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.emit('presencesInitialized', reconnecting); }); - _converse.api.listen.on('presencesInitialized', reconnecting => { + _converse.api.listen.on('presencesInitialized', function (reconnecting) { if (reconnecting) { // No need to recreate the roster, otherwise we lose our // cached data. However we still emit an event, to give @@ -48181,8 +47765,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _.extend(_converse.api, { 'contacts': { - 'get'(jids) { - const _getter = function _getter(jid) { + 'get': function get(jids) { + var _getter = function _getter(jid) { return _converse.roster.get(Strophe.getBareJidFromJid(jid)) || null; }; @@ -48194,19 +47778,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _.map(jids, _getter); }, - - 'add'(jid, name) { + 'add': function add(jid, name) { if (!_.isString(jid) || !_.includes(jid, '@')) { throw new TypeError('contacts.add: invalid jid'); } _converse.roster.addAndSubscribe(jid, _.isEmpty(name) ? jid : name); } - } }); } - }); }); @@ -48235,14 +47816,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, tpl_add_contact_modal, tpl_group_header, tpl_pending_contact, tpl_requesting_contact, tpl_roster, tpl_roster_filter, tpl_roster_item, tpl_search_contact, Awesomplete) { "use strict"; - const _converse$env = converse.env, - Backbone = _converse$env.Backbone, - Strophe = _converse$env.Strophe, - $iq = _converse$env.$iq, - b64_sha1 = _converse$env.b64_sha1, - sizzle = _converse$env.sizzle, - _ = _converse$env._; - const u = converse.env.utils; + var _converse$env = converse.env, + Backbone = _converse$env.Backbone, + Strophe = _converse$env.Strophe, + $iq = _converse$env.$iq, + b64_sha1 = _converse$env.b64_sha1, + sizzle = _converse$env.sizzle, + _ = _converse$env._; + var u = converse.env.utils; converse.plugins.add('converse-rosterview', { dependencies: ["converse-roster", "converse-modal"], overrides: { @@ -48251,11 +47832,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // relevant objects or classes. // // New functions which don't exist yet can also be added. - afterReconnected() { + afterReconnected: function afterReconnected() { this.__super__.afterReconnected.apply(this, arguments); }, - - _tearDown() { + _tearDown: function _tearDown() { /* Remove the rosterview when tearing down. It gets created * anew when reconnecting or logging in. */ @@ -48265,24 +47845,21 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.rosterview.remove(); } }, - RosterGroups: { - comparator() { + comparator: function comparator() { // RosterGroupsComparator only gets set later (once i18n is // set up), so we need to wrap it in this nameless function. - const _converse = this.__super__._converse; + var _converse = this.__super__._converse; return _converse.RosterGroupsComparator.apply(this, arguments); } - } }, - - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse, - __ = _converse.__; + var _converse = this._converse, + __ = _converse.__; _converse.api.settings.update({ 'allow_chat_pending_contacts': true, @@ -48296,7 +47873,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.api.promises.add('rosterViewInitialized'); - const STATUSES = { + var STATUSES = { 'dnd': __('This contact is busy'), 'online': __('This contact is online'), 'offline': __('This contact is offline'), @@ -48305,19 +47882,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'away': __('This contact is away') }; - const LABEL_CONTACTS = __('Contacts'); + var LABEL_CONTACTS = __('Contacts'); - const LABEL_GROUPS = __('Groups'); + var LABEL_GROUPS = __('Groups'); - const HEADER_CURRENT_CONTACTS = __('My contacts'); + var HEADER_CURRENT_CONTACTS = __('My contacts'); - const HEADER_PENDING_CONTACTS = __('Pending contacts'); + var HEADER_PENDING_CONTACTS = __('Pending contacts'); - const HEADER_REQUESTING_CONTACTS = __('Contact requests'); + var HEADER_REQUESTING_CONTACTS = __('Contact requests'); - const HEADER_UNGROUPED = __('Ungrouped'); + var HEADER_UNGROUPED = __('Ungrouped'); - const HEADER_WEIGHTS = {}; + var HEADER_WEIGHTS = {}; HEADER_WEIGHTS[HEADER_REQUESTING_CONTACTS] = 0; HEADER_WEIGHTS[HEADER_CURRENT_CONTACTS] = 1; HEADER_WEIGHTS[HEADER_UNGROUPED] = 2; @@ -48331,11 +47908,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ a = a.get('name'); b = b.get('name'); - const special_groups = _.keys(HEADER_WEIGHTS); + var special_groups = _.keys(HEADER_WEIGHTS); - const a_is_special = _.includes(special_groups, a); + var a_is_special = _.includes(special_groups, a); - const b_is_special = _.includes(special_groups, b); + var b_is_special = _.includes(special_groups, b); if (!a_is_special && !b_is_special) { return a.toLowerCase() < b.toLowerCase() ? -1 : a.toLowerCase() > b.toLowerCase() ? 1 : 0; @@ -48352,15 +47929,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ events: { 'submit form': 'addContactFromForm' }, - - initialize() { + initialize: function initialize() { _converse.BootstrapModal.prototype.initialize.apply(this, arguments); this.model.on('change', this.render, this); }, - - toHTML() { - const label_nickname = _converse.xhr_user_search_url ? __('Contact name') : __('Optional nickname'); + toHTML: function toHTML() { + var label_nickname = _converse.xhr_user_search_url ? __('Contact name') : __('Optional nickname'); return tpl_add_contact_modal(_.extend(this.model.toJSON(), { '_converse': _converse, 'heading_new_contact': __('Add a Contact'), @@ -48370,19 +47945,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'label_add': __('Add') })); }, - - afterRender() { + afterRender: function afterRender() { if (_converse.xhr_user_search_url && _.isString(_converse.xhr_user_search_url)) { this.initXHRAutoComplete(); } else { this.initJIDAutoComplete(); } }, + initJIDAutoComplete: function initJIDAutoComplete() { + var jid_input = this.el.querySelector('input[name="jid"]'); - initJIDAutoComplete() { - const jid_input = this.el.querySelector('input[name="jid"]'); - - const list = _.uniq(_converse.roster.map(item => Strophe.getDomainFromJid(item.get('jid')))); + var list = _.uniq(_converse.roster.map(function (item) { + return Strophe.getDomainFromJid(item.get('jid')); + })); new Awesomplete(jid_input, { 'list': list, @@ -48391,23 +47966,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }, 'filter': Awesomplete.FILTER_STARTSWITH }); - this.el.addEventListener('shown.bs.modal', () => { + this.el.addEventListener('shown.bs.modal', function () { jid_input.focus(); }, false); }, - - initXHRAutoComplete() { - const name_input = this.el.querySelector('input[name="name"]'); - const jid_input = this.el.querySelector('input[name="jid"]'); - const awesomplete = new Awesomplete(name_input, { + initXHRAutoComplete: function initXHRAutoComplete() { + var name_input = this.el.querySelector('input[name="name"]'); + var jid_input = this.el.querySelector('input[name="jid"]'); + var awesomplete = new Awesomplete(name_input, { 'minChars': 1, 'list': [] }); - const xhr = new window.XMLHttpRequest(); // `open` must be called after `onload` for mock/testing purposes. + var xhr = new window.XMLHttpRequest(); // `open` must be called after `onload` for mock/testing purposes. xhr.onload = function () { if (xhr.responseText) { - awesomplete.list = JSON.parse(xhr.responseText).map(i => { + awesomplete.list = JSON.parse(xhr.responseText).map(function (i) { //eslint-disable-line arrow-body-style return { 'label': i.fullname || i.jid, @@ -48418,24 +47992,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }; - name_input.addEventListener('input', _.debounce(() => { - xhr.open("GET", `${_converse.xhr_user_search_url}q=${name_input.value}`, true); + name_input.addEventListener('input', _.debounce(function () { + xhr.open("GET", "".concat(_converse.xhr_user_search_url, "q=").concat(name_input.value), true); xhr.send(); }, 300)); - this.el.addEventListener('awesomplete-selectcomplete', ev => { + this.el.addEventListener('awesomplete-selectcomplete', function (ev) { jid_input.value = ev.text.value; name_input.value = ev.text.label; }); - this.el.addEventListener('shown.bs.modal', () => { + this.el.addEventListener('shown.bs.modal', function () { name_input.focus(); }, false); }, - - addContactFromForm(ev) { + addContactFromForm: function addContactFromForm(ev) { ev.preventDefault(); - const data = new FormData(ev.target), - jid = data.get('jid'), - name = data.get('name'); + var data = new FormData(ev.target), + jid = data.get('jid'), + name = data.get('name'); ev.target.reset(); if (!jid || _.compact(jid.split('@')).length < 2) { @@ -48450,17 +48023,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.modal.hide(); } } - }); _converse.RosterFilter = Backbone.Model.extend({ - initialize() { + initialize: function initialize() { this.set({ 'filter_text': '', 'filter_type': 'contacts', 'chat_state': '' }); } - }); _converse.RosterFilterView = Backbone.VDOMView.extend({ tagName: 'form', @@ -48472,13 +48043,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ "click .filter-by span": "changeTypeFilter", "change .state-type": "changeChatStateFilter" }, - - initialize() { + initialize: function initialize() { this.model.on('change:filter_type', this.render, this); this.model.on('change:filter_text', this.render, this); }, - - toHTML() { + toHTML: function toHTML() { return tpl_roster_filter(_.extend(this.model.toJSON(), { visible: this.shouldBeVisible(), placeholder: __('Filter'), @@ -48495,8 +48064,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ label_offline: __('Offline') })); }, - - changeChatStateFilter(ev) { + changeChatStateFilter: function changeChatStateFilter(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } @@ -48505,13 +48073,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'chat_state': this.el.querySelector('.state-type').value }); }, - - changeTypeFilter(ev) { + changeTypeFilter: function changeTypeFilter(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } - const type = ev.target.dataset.type; + var type = ev.target.dataset.type; if (type === 'state') { this.model.save({ @@ -48525,14 +48092,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } }, - liveFilter: _.debounce(function (ev) { this.model.save({ 'filter_text': this.el.querySelector('.roster-filter').value }); }, 250), - - submitFilter(ev) { + submitFilter: function submitFilter(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } @@ -48540,8 +48105,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.liveFilter(); this.render(); }, - - isActive() { + isActive: function isActive() { /* Returns true if the filter is enabled (i.e. if the user * has added values to the filter). */ @@ -48551,20 +48115,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return false; }, - - shouldBeVisible() { + shouldBeVisible: function shouldBeVisible() { return _converse.roster.length >= 5 || this.isActive(); }, - - showOrHide() { + showOrHide: function showOrHide() { if (this.shouldBeVisible()) { this.show(); } else { this.hide(); } }, - - show() { + show: function show() { if (u.isVisible(this.el)) { return this; } @@ -48573,8 +48134,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.el.classList.remove('hidden'); return this; }, - - hide() { + hide: function hide() { if (!u.isVisible(this.el)) { return this; } @@ -48586,20 +48146,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.el.classList.add('hidden'); return this; }, - - clearFilter(ev) { + clearFilter: function clearFilter(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); u.hideElement(this.el.querySelector('.clear-input')); } - const roster_filter = this.el.querySelector('.roster-filter'); + var roster_filter = this.el.querySelector('.roster-filter'); roster_filter.value = ''; this.model.save({ 'filter_text': '' }); } - }); _converse.RosterContactView = Backbone.NativeView.extend({ tagName: 'li', @@ -48610,8 +48168,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ "click .open-chat": "openChat", "click .remove-xmpp-contact": "removeContact" }, - - initialize() { + initialize: function initialize() { this.model.on("change", this.render, this); this.model.on("destroy", this.remove, this); this.model.on("open", this.openChat, this); @@ -48619,21 +48176,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.presence.on("change:show", this.render, this); this.model.vcard.on('change:fullname', this.render, this); }, - - render() { - const that = this; + render: function render() { + var that = this; if (!this.mayBeShown()) { u.hideElement(this.el); return this; } - const item = this.model, - ask = item.get('ask'), - show = item.presence.get('show'), - requesting = item.get('requesting'), - subscription = item.get('subscription'); - const classes_to_remove = ['current-xmpp-contact', 'pending-xmpp-contact', 'requesting-xmpp-contact'].concat(_.keys(STATUSES)); + var item = this.model, + ask = item.get('ask'), + show = item.presence.get('show'), + requesting = item.get('requesting'), + subscription = item.get('subscription'); + var classes_to_remove = ['current-xmpp-contact', 'pending-xmpp-contact', 'requesting-xmpp-contact'].concat(_.keys(STATUSES)); _.each(classes_to_remove, function (cls) { if (_.includes(that.el.className, cls)) { @@ -48656,7 +48212,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * * So in both cases the user is a "pending" contact. */ - const display_name = item.getDisplayName(); + var display_name = item.getDisplayName(); this.el.classList.add('pending-xmpp-contact'); this.el.innerHTML = tpl_pending_contact(_.extend(item.toJSON(), { 'display_name': display_name, @@ -48664,12 +48220,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'allow_chat_pending_contacts': _converse.allow_chat_pending_contacts })); } else if (requesting === true) { - const display_name = item.getDisplayName(); + var _display_name = item.getDisplayName(); + this.el.classList.add('requesting-xmpp-contact'); this.el.innerHTML = tpl_requesting_contact(_.extend(item.toJSON(), { - 'display_name': display_name, - 'desc_accept': __("Click to accept the contact request from %1$s", display_name), - 'desc_decline': __("Click to decline the contact request from %1$s", display_name), + 'display_name': _display_name, + 'desc_accept': __("Click to accept the contact request from %1$s", _display_name), + 'desc_decline': __("Click to decline the contact request from %1$s", _display_name), 'allow_chat_pending_contacts': _converse.allow_chat_pending_contacts })); } else if (subscription === 'both' || subscription === 'to') { @@ -48681,10 +48238,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - - renderRosterItem(item) { - let status_icon = 'fa-times-circle'; - const show = item.presence.get('show') || 'offline'; + renderRosterItem: function renderRosterItem(item) { + var status_icon = 'fa-times-circle'; + var show = item.presence.get('show') || 'offline'; if (show === 'online') { status_icon = 'fa-circle'; @@ -48696,7 +48252,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ status_icon = 'fa-minus-circle'; } - const display_name = item.getDisplayName(); + var display_name = item.getDisplayName(); this.el.innerHTML = tpl_roster_item(_.extend(item.toJSON(), { 'display_name': display_name, 'desc_status': STATUSES[show], @@ -48708,15 +48264,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })); return this; }, - - mayBeShown() { + mayBeShown: function mayBeShown() { /* Return a boolean indicating whether this contact should * generally be visible in the roster. * * It doesn't check for the more specific case of whether * the group it's in is collapsed. */ - const chatStatus = this.model.presence.get('show'); + var chatStatus = this.model.presence.get('show'); if (_converse.show_only_online_users && chatStatus !== 'online' || _converse.hide_offline_users && chatStatus === 'offline') { // If pending or requesting, show @@ -48729,18 +48284,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return true; }, - - openChat(ev) { + openChat: function openChat(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } - const attrs = this.model.attributes; + var attrs = this.model.attributes; _converse.api.chats.open(attrs.jid, attrs); }, + removeContact: function removeContact(ev) { + var _this = this; - removeContact(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } @@ -48749,12 +48304,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const result = confirm(__("Are you sure you want to remove this contact?")); + var result = confirm(__("Are you sure you want to remove this contact?")); if (result === true) { - this.model.removeFromRoster(iq => { - this.model.destroy(); - this.remove(); + this.model.removeFromRoster(function (iq) { + _this.model.destroy(); + + _this.remove(); }, function (err) { alert(__('Sorry, there was an error while trying to remove %1$s as a contact.', name)); @@ -48762,23 +48318,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } }, + acceptRequest: function acceptRequest(ev) { + var _this2 = this; - acceptRequest(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } - _converse.roster.sendContactAddIQ(this.model.get('jid'), this.model.getFullname(), [], () => { - this.model.authorize().subscribe(); + _converse.roster.sendContactAddIQ(this.model.get('jid'), this.model.getFullname(), [], function () { + _this2.model.authorize().subscribe(); }); }, - - declineRequest(ev) { + declineRequest: function declineRequest(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } - const result = confirm(__("Are you sure you want to decline this contact request?")); + var result = confirm(__("Are you sure you want to decline this contact request?")); if (result === true) { this.model.unauthorize().destroy(); @@ -48786,7 +48342,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; } - }); _converse.RosterGroupView = Backbone.OrderedListView.extend({ tagName: 'div', @@ -48798,8 +48353,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ listItems: 'model.contacts', listSelector: '.roster-group-contacts', sortEvent: 'presenceChanged', - - initialize() { + initialize: function initialize() { Backbone.OrderedListView.prototype.initialize.apply(this, arguments); this.model.contacts.on("change:subscription", this.onContactSubscriptionChange, this); this.model.contacts.on("change:requesting", this.onContactRequestChange, this); @@ -48813,8 +48367,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.rosterview.on('rosterContactsFetchedAndProcessed', this.sortAndPositionAllItems.bind(this)); }, - - render() { + render: function render() { this.el.setAttribute('data-group', this.model.get('name')); this.el.innerHTML = tpl_group_header({ 'label_group': this.model.get('name'), @@ -48825,35 +48378,38 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.contacts_el = this.el.querySelector('.roster-group-contacts'); return this; }, + show: function show() { + var _this3 = this; - show() { u.showElement(this.el); - _.each(this.getAll(), contact_view => { - if (contact_view.mayBeShown() && this.model.get('state') === _converse.OPENED) { + _.each(this.getAll(), function (contact_view) { + if (contact_view.mayBeShown() && _this3.model.get('state') === _converse.OPENED) { u.showElement(contact_view.el); } }); return this; }, - - collapse() { + collapse: function collapse() { return u.slideIn(this.contacts_el); }, + filterOutContacts: function filterOutContacts() { + var _this4 = this; + + var contacts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - filterOutContacts(contacts = []) { /* Given a list of contacts, make sure they're filtered out * (aka hidden) and that all other contacts are visible. * * If all contacts are hidden, then also hide the group * title. */ - let shown = 0; - const all_contact_views = this.getAll(); + var shown = 0; + var all_contact_views = this.getAll(); - _.each(this.model.contacts.models, contact => { - const contact_view = this.get(contact.get('id')); + _.each(this.model.contacts.models, function (contact) { + var contact_view = _this4.get(contact.get('id')); if (_.includes(contacts, contact)) { u.hideElement(contact_view.el); @@ -48869,8 +48425,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ u.hideElement(this.el); } }, - - getFilterMatches(q, type) { + getFilterMatches: function getFilterMatches(q, type) { /* Given the filter query "q" and the filter type "type", * return a list of contacts that need to be filtered out. */ @@ -48878,7 +48433,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return []; } - let matches; + var matches; q = q.toLowerCase(); if (type === 'state') { @@ -48886,24 +48441,27 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // When filtering by chat state, we still want to // show requesting contacts, even though they don't // have the state in question. - matches = this.model.contacts.filter(contact => !_.includes(contact.presence.get('show'), q) && !contact.get('requesting')); + matches = this.model.contacts.filter(function (contact) { + return !_.includes(contact.presence.get('show'), q) && !contact.get('requesting'); + }); } else if (q === 'unread_messages') { matches = this.model.contacts.filter({ 'num_unread': 0 }); } else { - matches = this.model.contacts.filter(contact => !_.includes(contact.presence.get('show'), q)); + matches = this.model.contacts.filter(function (contact) { + return !_.includes(contact.presence.get('show'), q); + }); } } else { - matches = this.model.contacts.filter(contact => { + matches = this.model.contacts.filter(function (contact) { return !_.includes(contact.getDisplayName().toLowerCase(), q.toLowerCase()); }); } return matches; }, - - filter(q, type) { + filter: function filter(q, type) { /* Filter the group's contacts based on the query "q". * * If all contacts are filtered out (i.e. hidden), then the @@ -48921,19 +48479,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.filterOutContacts(this.getFilterMatches(q, type)); }, - - toggle(ev) { + toggle: function toggle(ev) { if (ev && ev.preventDefault) { ev.preventDefault(); } - const icon_el = ev.target.querySelector('.fa'); + var icon_el = ev.target.querySelector('.fa'); if (_.includes(icon_el.classList, "fa-caret-down")) { this.model.save({ state: _converse.CLOSED }); - this.collapse().then(() => { + this.collapse().then(function () { icon_el.classList.remove("fa-caret-down"); icon_el.classList.add("fa-caret-right"); }); @@ -48948,12 +48505,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ u.slideOut(this.contacts_el); } }, + onContactGroupChange: function onContactGroupChange(contact) { + var in_this_group = _.includes(contact.get('groups'), this.model.get('name')); - onContactGroupChange(contact) { - const in_this_group = _.includes(contact.get('groups'), this.model.get('name')); - - const cid = contact.get('id'); - const in_this_overview = !this.get(cid); + var cid = contact.get('id'); + var in_this_overview = !this.get(cid); if (in_this_group && !in_this_overview) { this.items.trigger('add', contact); @@ -48961,20 +48517,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.removeContact(contact); } }, - - onContactSubscriptionChange(contact) { + onContactSubscriptionChange: function onContactSubscriptionChange(contact) { if (this.model.get('name') === HEADER_PENDING_CONTACTS && contact.get('subscription') !== 'from') { this.removeContact(contact); } }, - - onContactRequestChange(contact) { + onContactRequestChange: function onContactRequestChange(contact) { if (this.model.get('name') === HEADER_REQUESTING_CONTACTS && !contact.get('requesting')) { this.removeContact(contact); } }, - - removeContact(contact) { + removeContact: function removeContact(contact) { // We suppress events, otherwise the remove event will // also cause the contact's view to be removed from the // "Pending Contacts" group. @@ -48983,15 +48536,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); this.onRemove(contact); }, - - onRemove(contact) { + onRemove: function onRemove(contact) { this.remove(contact.get('jid')); if (this.model.contacts.length === 0) { this.remove(); } } - }); _converse.RosterView = Backbone.OrderedListView.extend({ tagName: 'div', @@ -49006,8 +48557,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ events: { 'click a.chatbox-btn.add-contact': 'showAddContactModal' }, + initialize: function initialize() { + var _this5 = this; - initialize() { Backbone.OrderedListView.prototype.initialize.apply(this, arguments); _converse.roster.on("add", this.onContactAdded, this); @@ -49020,9 +48572,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.roster.on("remove", this.update, this); - _converse.presences.on('change:show', () => { - this.update(); - this.updateFilter(); + _converse.presences.on('change:show', function () { + _this5.update(); + + _this5.updateFilter(); }); this.model.on("reset", this.reset, this); // This event gets triggered once *all* contacts (i.e. not @@ -49032,31 +48585,33 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.on('rosterGroupsFetched', this.sortAndPositionAllItems.bind(this)); - _converse.on('rosterContactsFetched', () => { - _converse.roster.each(contact => this.addRosterContact(contact, { - 'silent': true - })); + _converse.on('rosterContactsFetched', function () { + _converse.roster.each(function (contact) { + return _this5.addRosterContact(contact, { + 'silent': true + }); + }); - this.update(); - this.updateFilter(); - this.trigger('rosterContactsFetchedAndProcessed'); + _this5.update(); + + _this5.updateFilter(); + + _this5.trigger('rosterContactsFetchedAndProcessed'); }); this.createRosterFilter(); }, - - render() { + render: function render() { this.el.innerHTML = tpl_roster({ 'heading_contacts': __('Contacts'), 'title_add_contact': __('Add a contact') }); - const form = this.el.querySelector('.roster-filter-form'); + var form = this.el.querySelector('.roster-filter-form'); this.el.replaceChild(this.filter_view.render().el, form); this.roster_el = this.el.querySelector('.roster-contacts'); return this; }, - - showAddContactModal(ev) { + showAddContactModal: function showAddContactModal(ev) { if (_.isUndefined(this.add_contact_modal)) { this.add_contact_modal = new _converse.AddContactModal({ 'model': new Backbone.Model() @@ -49065,11 +48620,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.add_contact_modal.show(ev); }, - - createRosterFilter() { + createRosterFilter: function createRosterFilter() { // Create a model on which we can store filter properties - const model = new _converse.RosterFilter(); - model.id = b64_sha1(`_converse.rosterfilter${_converse.bare_jid}`); + var model = new _converse.RosterFilter(); + model.id = b64_sha1("_converse.rosterfilter".concat(_converse.bare_jid)); model.browserStorage = new Backbone.BrowserStorage.local(this.filter.id); this.filter_view = new _converse.RosterFilterView({ 'model': model @@ -49077,7 +48631,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.filter_view.model.on('change', this.updateFilter, this); this.filter_view.model.fetch(); }, - updateFilter: _.debounce(function () { /* Filter the roster again. * Called whenever the filter settings have been changed or @@ -49086,7 +48639,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * Debounced so that it doesn't get called for every * contact fetched from browser storage. */ - const type = this.filter_view.model.get('filter_type'); + var type = this.filter_view.model.get('filter_type'); if (type === 'state') { this.filter(this.filter_view.model.get('chat_state'), type); @@ -49102,8 +48655,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.filter_view.showOrHide(); return this; }, _converse.animate ? 100 : 0), - - filter(query, type) { + filter: function filter(query, type) { // First we make sure the filter is restored to its // original state _.each(this.getAll(), function (view) { @@ -49129,22 +48681,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); } }, - - reset() { + reset: function reset() { _converse.roster.reset(); this.removeAll(); this.render().update(); return this; }, - - onContactAdded(contact) { + onContactAdded: function onContactAdded(contact) { this.addRosterContact(contact); this.update(); this.updateFilter(); }, - - onContactChange(contact) { + onContactChange: function onContactChange(contact) { this.updateChatBox(contact); this.update(); @@ -49166,10 +48715,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.updateFilter(); }, - - updateChatBox(contact) { - const chatbox = _converse.chatboxes.get(contact.get('jid')), - changes = {}; + updateChatBox: function updateChatBox(contact) { + var chatbox = _converse.chatboxes.get(contact.get('jid')), + changes = {}; if (!chatbox) { return this; @@ -49182,30 +48730,27 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ chatbox.save(changes); return this; }, - - getGroup(name) { + getGroup: function getGroup(name) { /* Returns the group as specified by name. * Creates the group if it doesn't exist. */ - const view = this.get(name); + var view = this.get(name); if (view) { return view.model; } return this.model.create({ - name, + name: name, id: b64_sha1(name) }); }, - - addContactToGroup(contact, name, options) { + addContactToGroup: function addContactToGroup(contact, name, options) { this.getGroup(name).contacts.add(contact, options); this.sortAndPositionAllItems(); }, - - addExistingContact(contact, options) { - let groups; + addExistingContact: function addExistingContact(contact, options) { + var groups; if (_converse.roster_groups) { groups = contact.get('groups'); @@ -49219,8 +48764,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _.each(groups, _.bind(this.addContactToGroup, this, contact, _, options)); }, - - addRosterContact(contact, options) { + addRosterContact: function addRosterContact(contact, options) { if (contact.get('subscription') === 'both' || contact.get('subscription') === 'to') { this.addExistingContact(contact, options); } else { @@ -49233,18 +48777,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; } - }); /* -------- Event Handlers ----------- */ - const onChatBoxMaximized = function onChatBoxMaximized(chatboxview) { + var onChatBoxMaximized = function onChatBoxMaximized(chatboxview) { /* When a chat box gets maximized, the num_unread counter needs * to be cleared, but if chatbox is scrolled up, then num_unread should not be cleared. */ - const chatbox = chatboxview.model; + var chatbox = chatboxview.model; if (chatbox.get('type') !== 'chatroom') { - const contact = _.head(_converse.roster.where({ + var contact = _.head(_converse.roster.where({ 'jid': chatbox.get('jid') })); @@ -49256,11 +48799,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }; - const onMessageReceived = function onMessageReceived(data) { + var onMessageReceived = function onMessageReceived(data) { /* Given a newly received message, update the unread counter on * the relevant roster contact. */ - const chatbox = data.chatbox; + var chatbox = data.chatbox; if (_.isUndefined(chatbox)) { return; @@ -49271,7 +48814,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } if (chatbox.get('type') !== 'chatroom' && u.isNewMessage(data.stanza) && chatbox.newMessageWillBeHidden()) { - const contact = _.head(_converse.roster.where({ + var contact = _.head(_converse.roster.where({ 'jid': chatbox.get('jid') })); @@ -49283,14 +48826,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }; - const onChatBoxScrolledDown = function onChatBoxScrolledDown(data) { - const chatbox = data.chatbox; + var onChatBoxScrolledDown = function onChatBoxScrolledDown(data) { + var chatbox = data.chatbox; if (_.isUndefined(chatbox)) { return; } - const contact = _.head(_converse.roster.where({ + var contact = _.head(_converse.roster.where({ 'jid': chatbox.get('jid') })); @@ -49301,7 +48844,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }; - const initRoster = function initRoster() { + var initRoster = function initRoster() { /* Create an instance of RosterView once the RosterGroups * collection has been created (in converse-core.js) */ @@ -49324,7 +48867,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.api.listen.on('chatBoxScrolledDown', onChatBoxScrolledDown); } - }); }); @@ -49365,9 +48907,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse) { "use strict"; - const _converse$env = converse.env, - _ = _converse$env._, - Strophe = _converse$env.Strophe; + var _converse$env = converse.env, + _ = _converse$env._, + Strophe = _converse$env.Strophe; function hideChat(view) { if (view.model.get('id') === 'controlbox') { @@ -49394,15 +48936,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // // new functions which don't exist yet can also be added. ChatBoxes: { - chatBoxMayBeShown(chatbox) { + chatBoxMayBeShown: function chatBoxMayBeShown(chatbox) { if (_.includes(['mobile', 'fullscreen', 'embedded'], this.__super__._converse.view_mode)) { return !chatbox.get('hidden'); } else { return this.__super__.chatBoxMayBeShown.apply(this, arguments); } }, - - createChatBox(jid, attrs) { + createChatBox: function createChatBox(jid, attrs) { /* Make sure new chat boxes are hidden by default. */ if (_.includes(['mobile', 'fullscreen', 'embedded'], this.__super__._converse.view_mode)) { attrs = attrs || {}; @@ -49411,18 +48952,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.createChatBox.call(this, jid, attrs); } - }, ChatBoxView: { - shouldShowOnTextMessage() { + shouldShowOnTextMessage: function shouldShowOnTextMessage() { if (_.includes(['mobile', 'fullscreen', 'embedded'], this.__super__._converse.view_mode)) { return false; } else { return this.__super__.shouldShowOnTextMessage.apply(this, arguments); } }, - - _show(focus) { + _show: function _show(focus) { /* We only have one chat visible at any one * time. So before opening a chat, we make sure all other * chats are hidden. @@ -49435,10 +48974,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__._show.apply(this, arguments); } - }, ChatRoomView: { - show(focus) { + show: function show(focus) { if (_.includes(['mobile', 'fullscreen', 'embedded'], this.__super__._converse.view_mode)) { _.each(this.__super__._converse.chatboxviews.xget(this.model.get('id')), hideChat); @@ -49447,7 +48985,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this.__super__.show.apply(this, arguments); } - } } }); @@ -49465,6 +49002,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ "use strict"; var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + // Converse.js // http://conversejs.org // @@ -49478,36 +49017,35 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, CryptoJS, tpl_vcard) { "use strict"; - const _converse$env = converse.env, - Backbone = _converse$env.Backbone, - Promise = _converse$env.Promise, - Strophe = _converse$env.Strophe, - SHA1 = _converse$env.SHA1, - _ = _converse$env._, - $iq = _converse$env.$iq, - $build = _converse$env.$build, - b64_sha1 = _converse$env.b64_sha1, - moment = _converse$env.moment, - sizzle = _converse$env.sizzle; - const u = converse.env.utils; + var _converse$env = converse.env, + Backbone = _converse$env.Backbone, + Promise = _converse$env.Promise, + Strophe = _converse$env.Strophe, + SHA1 = _converse$env.SHA1, + _ = _converse$env._, + $iq = _converse$env.$iq, + $build = _converse$env.$build, + b64_sha1 = _converse$env.b64_sha1, + moment = _converse$env.moment, + sizzle = _converse$env.sizzle; + var u = converse.env.utils; converse.plugins.add('converse-vcard', { - initialize() { + initialize: function initialize() { /* The initialize function gets called as soon as the plugin is * loaded by converse.js's plugin machinery. */ - const _converse = this._converse; + var _converse = this._converse; _converse.VCard = Backbone.Model.extend({ defaults: { 'image': _converse.DEFAULT_IMAGE, 'image_type': _converse.DEFAULT_IMAGE_TYPE }, - - set(key, val, options) { + set: function set(key, val, options) { // Override Backbone.Model.prototype.set to make sure that the // default `image` and `image_type` values are maintained. - let attrs; + var attrs; - if (typeof key === 'object') { + if (_typeof(key) === 'object') { attrs = key; options = val; } else { @@ -49522,20 +49060,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return Backbone.Model.prototype.set.apply(this, arguments); } } - }); _converse.VCards = Backbone.Collection.extend({ model: _converse.VCard, - - initialize() { - this.on('add', vcard => _converse.api.vcard.update(vcard)); + initialize: function initialize() { + this.on('add', function (vcard) { + return _converse.api.vcard.update(vcard); + }); } - }); function onVCardData(_converse, jid, iq, callback) { - const vcard = iq.querySelector('vCard'); - let result = {}; + var vcard = iq.querySelector('vCard'); + var result = {}; if (!_.isNull(vcard)) { result = { @@ -49553,7 +49090,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } if (result.image) { - const word_array_from_b64 = CryptoJS.enc.Base64.parse(result['image']); + var word_array_from_b64 = CryptoJS.enc.Base64.parse(result['image']); result['image_hash'] = CryptoJS.SHA1(word_array_from_b64).toString(); } @@ -49573,7 +49110,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } function createStanza(type, jid, vcard_el) { - const iq = $iq(jid ? { + var iq = $iq(jid ? { 'type': type, 'to': jid } : { @@ -49592,8 +49129,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } function setVCard(data) { - return new Promise((resolve, reject) => { - const vcard_el = Strophe.xmlHtmlNode(tpl_vcard(data)).firstElementChild; + return new Promise(function (resolve, reject) { + var vcard_el = Strophe.xmlHtmlNode(tpl_vcard(data)).firstElementChild; _converse.connection.sendIQ(createStanza("set", data.jid, vcard_el), resolve, reject); }); @@ -49607,7 +49144,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * is being requested. */ jid = Strophe.getBareJidFromJid(jid) === _converse.bare_jid ? null : jid; - return new Promise((resolve, reject) => { + return new Promise(function (resolve, reject) { _converse.connection.sendIQ(createStanza("get", jid), _.partial(onVCardData, _converse, jid, _, resolve), _.partial(onVCardError, _converse, jid, _, resolve), 5000); }); } @@ -49616,26 +49153,25 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ _converse.initVCardCollection = function () { _converse.vcards = new _converse.VCards(); - _converse.vcards.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1(`converse.vcards`)); + _converse.vcards.browserStorage = new Backbone.BrowserStorage[_converse.storage](b64_sha1("converse.vcards")); _converse.vcards.fetch(); }; _converse.api.listen.on('connectionInitialized', _converse.initVCardCollection); - _converse.on('addClientFeatures', () => { + _converse.on('addClientFeatures', function () { _converse.api.disco.own.features.add(Strophe.NS.VCARD); }); _.extend(_converse.api, { 'vcard': { 'set': setVCard, - - 'get'(model, force) { + 'get': function get(model, force) { if (_.isString(model)) { return getVCard(_converse, model); } else if (force || !model.get('vcard_updated') || !moment(model.get('vcard_error')).isSame(new Date(), "day")) { - const jid = model.get('jid'); + var jid = model.get('jid'); if (!jid) { throw new Error("No JID to get vcard for!"); @@ -49646,21 +49182,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return Promise.resolve({}); } }, + 'update': function update(model, force) { + var _this = this; - 'update'(model, force) { - return new Promise((resolve, reject) => { - this.get(model, force).then(vcard => { + return new Promise(function (resolve, reject) { + _this.get(model, force).then(function (vcard) { delete vcard['stanza']; model.save(vcard); resolve(); }); }); } - } }); } - }); }); @@ -49804,14 +49339,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } - let jed_instance; + var jed_instance; return { - setLocales(preferred_locale, _converse) { + setLocales: function setLocales(preferred_locale, _converse) { _converse.locale = getLocale(preferred_locale, _.partial(isConverseLocale, _, _converse.locales)); moment.locale(getLocale(preferred_locale, isMomentLocale)); }, - - translate(str) { + translate: function translate(str) { if (_.isNil(jed_instance)) { return Jed.sprintf.apply(Jed, arguments); } @@ -49824,8 +49358,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return t.fetch(); } }, - - fetchTranslations(locale, supported_locales, locale_url) { + fetchTranslations: function fetchTranslations(locale, supported_locales, locale_url) { /* Fetch the translations for the given local at the given URL. * * Parameters: @@ -49834,12 +49367,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (String) locale_url: The URL from which the translations * should be fetched. */ - return new Promise((resolve, reject) => { + return new Promise(function (resolve, reject) { if (!isConverseLocale(locale, supported_locales) || locale === 'en') { return resolve(); } - const xhr = new XMLHttpRequest(); + var xhr = new XMLHttpRequest(); xhr.open('GET', locale_url, true); xhr.setRequestHeader('Accept', "application/json, text/javascript"); @@ -49859,7 +49392,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ xhr.send(); }); } - }; }); @@ -50529,6 +50061,111 @@ return __p /***/ }), +/***/ "./src/templates/chatroom_details_modal.html": +/*!***************************************************!*\ + !*** ./src/templates/chatroom_details_modal.html ***! + \***************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var _ = {escape:__webpack_require__(/*! ./node_modules/lodash/escape.js */ "./node_modules/lodash/escape.js")}; +module.exports = function(o) { +var __t, __p = '', __e = _.escape, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +__p += '\n\n'; +return __p +}; + +/***/ }), + /***/ "./src/templates/chatroom_disconnect.html": /*!************************************************!*\ !*** ./src/templates/chatroom_disconnect.html ***! @@ -52900,6 +52537,10 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; "use strict"; var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return right[Symbol.hasInstance](left); } else { return left instanceof right; } } + // Converse.js (A browser based XMPP chat client) // http://conversejs.org // @@ -52916,14 +52557,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else {} + } else { var Strophe; } })(void 0, function (sizzle, Promise, _, Backbone, Strophe, URI, tpl_audio, tpl_file, tpl_image, tpl_video) { "use strict"; Strophe = Strophe.Strophe; - const URL_REGEX = /\b(https?:\/\/|www\.|https?:\/\/www\.)[^\s<>]{2,200}\b\/?/g; + var URL_REGEX = /\b(https?:\/\/|www\.|https?:\/\/www\.)[^\s<>]{2,200}\b\/?/g; - const logger = _.assign({ + var logger = _.assign({ 'debug': _.get(console, 'log') ? console.log.bind(console) : _.noop, 'error': _.get(console, 'log') ? console.log.bind(console) : _.noop, 'info': _.get(console, 'log') ? console.log.bind(console) : _.noop, @@ -52931,7 +52572,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }, console); var isImage = function isImage(url) { - return new Promise((resolve, reject) => { + return new Promise(function (resolve, reject) { var img = new Image(); var timer = window.setTimeout(function () { reject(new Error("Could not determine whether it's an image")); @@ -52962,8 +52603,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ var u = {}; - u.getNextElement = function (el, selector = '*') { - let next_el = el.nextElementSibling; + u.getNextElement = function (el) { + var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '*'; + var next_el = el.nextElementSibling; while (!_.isNull(next_el) && !sizzle.matchesSelector(next_el, selector)) { next_el = next_el.nextElementSibling; @@ -52972,8 +52614,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return next_el; }; - u.getPreviousElement = function (el, selector = '*') { - let prev_el = el.previousSibling; + u.getPreviousElement = function (el) { + var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '*'; + var prev_el = el.previousSibling; while (!_.isNull(prev_el) && !sizzle.matchesSelector(prev_el, selector)) { prev_el = prev_el.previousSibling; @@ -52982,8 +52625,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return prev_el; }; - u.getFirstChildElement = function (el, selector = '*') { - let first_el = el.firstElementChild; + u.getFirstChildElement = function (el) { + var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '*'; + var first_el = el.firstElementChild; while (!_.isNull(first_el) && !sizzle.matchesSelector(first_el, selector)) { first_el = first_el.nextSibling; @@ -52992,8 +52636,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return first_el; }; - u.getLastChildElement = function (el, selector = '*') { - let last_el = el.lastElementChild; + u.getLastChildElement = function (el) { + var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '*'; + var last_el = el.lastElementChild; while (!_.isNull(last_el) && !sizzle.matchesSelector(last_el, selector)) { last_el = last_el.previousSibling; @@ -53006,17 +52651,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /* Return the height of the passed in DOM element, * based on the heights of its children. */ - return _.reduce(el.children, (result, child) => result + child.offsetHeight, 0); + return _.reduce(el.children, function (result, child) { + return result + child.offsetHeight; + }, 0); }; u.addClass = function (className, el) { - if (el instanceof Element) { + if (_instanceof(el, Element)) { el.classList.add(className); } }; u.removeClass = function (className, el) { - if (el instanceof Element) { + if (_instanceof(el, Element)) { el.classList.remove(className); } @@ -53040,7 +52687,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; u.ancestor = function (el, selector) { - let parent = el; + var parent = el; while (!_.isNil(parent) && !sizzle.matchesSelector(parent, selector)) { parent = parent.parentElement; @@ -53049,10 +52696,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return parent; }; - u.nextUntil = function (el, selector, include_self = false) { + u.nextUntil = function (el, selector) { + var include_self = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + /* Return the element's siblings until one matches the selector. */ - const matches = []; - let sibling_el = el.nextElementSibling; + var matches = []; + var sibling_el = el.nextElementSibling; while (!_.isNil(sibling_el) && !sibling_el.matches(selector)) { matches.push(sibling_el); @@ -53088,36 +52737,40 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } url = encodeURI(decodeURI(url)).replace(/[!'()]/g, escape).replace(/\*/g, "%2A"); - return `${u.escapeHTML(uri.readable())}`; + return "").concat(u.escapeHTML(uri.readable()), ""); }); }; u.renderImageURLs = function (_converse, obj) { /* Returns a Promise which resolves once all images have been loaded. */ - const __ = _converse.__; - const list = obj.textContent.match(URL_REGEX) || []; - return Promise.all(_.map(list, url => new Promise((resolve, reject) => isImage(url).then(function (img) { - const i = new Image(); - i.src = img.src; - i.addEventListener('load', resolve); // We also resolve for non-images, otherwise the - // Promise.all resolves prematurely. + var __ = _converse.__; + var list = obj.textContent.match(URL_REGEX) || []; + return Promise.all(_.map(list, function (url) { + return new Promise(function (resolve, reject) { + return isImage(url).then(function (img) { + var i = new Image(); + i.src = img.src; + i.addEventListener('load', resolve); // We also resolve for non-images, otherwise the + // Promise.all resolves prematurely. - i.addEventListener('error', resolve); + i.addEventListener('error', resolve); - _.each(sizzle(`a[href="${url}"]`, obj), a => { - a.outerHTML = tpl_image({ - 'url': url, - 'label_download': __('Download') - }); + _.each(sizzle("a[href=\"".concat(url, "\"]"), obj), function (a) { + a.outerHTML = tpl_image({ + 'url': url, + 'label_download': __('Download') + }); + }); + }).catch(resolve); }); - }).catch(resolve)))); + })); }; u.renderFileURL = function (_converse, url) { - const uri = new URI(url), - __ = _converse.__, - filename = uri.filename(); + var uri = new URI(url), + __ = _converse.__, + filename = uri.filename(); if (!_.includes(["https", "http"], uri.protocol()) || filename.endsWith('mp3') || filename.endsWith('mp4') || filename.endsWith('jpg') || filename.endsWith('jpeg') || filename.endsWith('png') || filename.endsWith('gif') || filename.endsWith('svg')) { return url; @@ -53130,7 +52783,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; u.renderImageURL = function (_converse, url) { - const __ = _converse.__; + var __ = _converse.__; if (url.endsWith('jpg') || url.endsWith('jpeg') || url.endsWith('png') || url.endsWith('gif') || url.endsWith('svg')) { return tpl_image({ @@ -53143,7 +52796,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; u.renderMovieURL = function (_converse, url) { - const __ = _converse.__; + var __ = _converse.__; if (url.endsWith('mp4')) { return tpl_video({ @@ -53156,7 +52809,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; u.renderAudioURL = function (_converse, url) { - const __ = _converse.__; + var __ = _converse.__; if (url.endsWith('mp3')) { return tpl_audio({ @@ -53168,7 +52821,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return url; }; - u.slideInAllElements = function (elements, duration = 300) { + u.slideInAllElements = function (elements) { + var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300; return Promise.all(_.map(elements, _.partial(u.slideIn, _, duration))); }; @@ -53184,29 +52838,31 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return _.includes(el.classList, className); }; - u.slideOut = function (el, duration = 200) { + u.slideOut = function (el) { + var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200; + /* Shows/expands an element by sliding it out of itself * * Parameters: * (HTMLElement) el - The HTML string * (Number) duration - The duration amount in milliseconds */ - return new Promise((resolve, reject) => { + return new Promise(function (resolve, reject) { if (_.isNil(el)) { - const err = "Undefined or null element passed into slideOut"; + var err = "Undefined or null element passed into slideOut"; logger.warn(err); reject(new Error(err)); return; } - const marker = el.getAttribute('data-slider-marker'); + var marker = el.getAttribute('data-slider-marker'); if (marker) { el.removeAttribute('data-slider-marker'); window.cancelAnimationFrame(marker); } - const end_height = u.calculateElementHeight(el); + var end_height = u.calculateElementHeight(el); if (window.converse_disable_effects) { // Effects are disabled (for tests) @@ -53221,9 +52877,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return; } - const steps = duration / 17; // We assume 17ms per animation which is ~60FPS + var steps = duration / 17; // We assume 17ms per animation which is ~60FPS - let height = 0; + var height = 0; function draw() { height += end_height / steps; @@ -53251,11 +52907,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); }; - u.slideIn = function (el, duration = 200) { + u.slideIn = function (el) { + var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200; + /* Hides/collapses an element by sliding it into itself. */ - return new Promise((resolve, reject) => { + return new Promise(function (resolve, reject) { if (_.isNil(el)) { - const err = "Undefined or null element passed into slideIn"; + var err = "Undefined or null element passed into slideIn"; logger.warn(err); return reject(new Error(err)); } else if (_.includes(el.classList, 'collapsed')) { @@ -53267,17 +52925,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return resolve(el); } - const marker = el.getAttribute('data-slider-marker'); + var marker = el.getAttribute('data-slider-marker'); if (marker) { el.removeAttribute('data-slider-marker'); window.cancelAnimationFrame(marker); } - const original_height = el.offsetHeight, - steps = duration / 17; // We assume 17ms per animation which is ~60FPS + var original_height = el.offsetHeight, + steps = duration / 17; // We assume 17ms per animation which is ~60FPS - let height = original_height; + var height = original_height; el.style.overflow = 'hidden'; function draw() { @@ -53340,7 +52998,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; u.getMostRecentMessage = function (model) { - const messages = model.messages.filter('message'); + var messages = model.messages.filter('message'); return messages[messages.length - 1]; }; @@ -53348,7 +53006,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /* Given a stanza, determine whether it's a new * message, i.e. not a MAM archived one. */ - if (message instanceof Element) { + if (_instanceof(message, Element)) { return !sizzle('result[xmlns="' + Strophe.NS.MAM + '"]', message).length && !sizzle('delay[xmlns="' + Strophe.NS.DELAY + '"]', message).length; } else { return !message.get('delayed'); @@ -53356,7 +53014,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; u.isOnlyChatStateNotification = function (attrs) { - if (attrs instanceof Backbone.Model) { + if (_instanceof(attrs, Backbone.Model)) { attrs = attrs.attributes; } @@ -53376,7 +53034,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return true; } - const chatbox = _converse.chatboxes.get(Strophe.getBareJidFromJid(from_jid)); + var chatbox = _converse.chatboxes.get(Strophe.getBareJidFromJid(from_jid)); if (chatbox && chatbox.get('type') === 'chatroom') { return false; @@ -53435,7 +53093,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return div.firstElementChild; }; - u.getOuterWidth = function (el, include_margin = false) { + u.getOuterWidth = function (el) { + var include_margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var width = el.offsetWidth; if (!include_margin) { @@ -53484,7 +53143,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ u.contains = function (attr, query) { return function (item) { - if (typeof attr === 'object') { + if (_typeof(attr) === 'object') { var value = false; _.forEach(attr, function (a) { @@ -53505,7 +53164,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; u.isInstance = function (type, item) { - return item instanceof type; + return _instanceof(item, type); }; u.getAttribute = function (key, item) { @@ -53559,27 +53218,29 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * lists of emojis in that category as values. */ if (_.isUndefined(_converse.emojis_by_category)) { - const emojis = _.values(_.mapValues(emojione.emojioneList, function (value, key, o) { + var emojis = _.values(_.mapValues(emojione.emojioneList, function (value, key, o) { value._shortname = key; return value; })); - const tones = [':tone1:', ':tone2:', ':tone3:', ':tone4:', ':tone5:']; - const excluded = [':kiss_ww:', ':kiss_mm:', ':kiss_woman_man:']; - const excluded_substrings = [':woman', ':man', ':women_', ':men_', '_man_', '_woman_', '_woman:', '_man:']; - const excluded_categories = ['modifier', 'regional']; + var tones = [':tone1:', ':tone2:', ':tone3:', ':tone4:', ':tone5:']; + var excluded = [':kiss_ww:', ':kiss_mm:', ':kiss_woman_man:']; + var excluded_substrings = [':woman', ':man', ':women_', ':men_', '_man_', '_woman_', '_woman:', '_man:']; + var excluded_categories = ['modifier', 'regional']; - const categories = _.difference(_.uniq(_.map(emojis, _.partial(_.get, _, 'category'))), excluded_categories); + var categories = _.difference(_.uniq(_.map(emojis, _.partial(_.get, _, 'category'))), excluded_categories); - const emojis_by_category = {}; + var emojis_by_category = {}; - _.forEach(categories, cat => { - let list = _.sortBy(_.filter(emojis, ['category', cat]), ['uc_base']); + _.forEach(categories, function (cat) { + var list = _.sortBy(_.filter(emojis, ['category', cat]), ['uc_base']); - list = _.filter(list, item => !_.includes(_.concat(tones, excluded), item._shortname) && !_.some(excluded_substrings, _.partial(_.includes, item._shortname))); + list = _.filter(list, function (item) { + return !_.includes(_.concat(tones, excluded), item._shortname) && !_.some(excluded_substrings, _.partial(_.includes, item._shortname)); + }); if (cat === 'people') { - const idx = _.findIndex(list, ['uc_base', '1f600']); + var idx = _.findIndex(list, ['uc_base', '1f600']); list = _.union(_.slice(list, idx), _.slice(list, 0, idx + 1)); } else if (cat === 'activity') { @@ -53602,7 +53263,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; u.getTonedEmojis = function (_converse) { - _converse.toned_emojis = _.uniq(_.map(_.filter(u.getEmojisByCategory(_converse).people, person => _.includes(person._shortname, '_tone')), person => person._shortname.replace(/_tone[1-5]/, ''))); + _converse.toned_emojis = _.uniq(_.map(_.filter(u.getEmojisByCategory(_converse).people, function (person) { + return _.includes(person._shortname, '_tone'); + }), function (person) { + return person._shortname.replace(/_tone[1-5]/, ''); + })); return _converse.toned_emojis; }; @@ -53614,8 +53279,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /* Returns a promise object on which `resolve` or `reject` can be * called. */ - const wrapper = {}; - const promise = new Promise((resolve, reject) => { + var wrapper = {}; + var promise = new Promise(function (resolve, reject) { wrapper.resolve = resolve; wrapper.reject = reject; }); @@ -53626,13 +53291,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; u.interpolate = function (string, o) { - return string.replace(/{{{([^{}]*)}}}/g, (a, b) => { + return string.replace(/{{{([^{}]*)}}}/g, function (a, b) { var r = o[b]; return typeof r === 'string' || typeof r === 'number' ? r : a; }); }; - u.onMultipleEvents = function (events = [], callback) { + u.onMultipleEvents = function () { + var events = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var callback = arguments.length > 1 ? arguments[1] : undefined; + /* Call the callback once all the events have been triggered * * Parameters: @@ -53642,7 +53310,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (Function) callback: The function to call once all events have * been triggered. */ - let triggered = []; + var triggered = []; function handler(result) { triggered.push(result); @@ -53653,7 +53321,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } } - _.each(events, map => map.object.on(map.event, handler)); + _.each(events, function (map) { + return map.object.on(map.event, handler); + }); }; u.safeSave = function (model, attributes) { @@ -53673,19 +53343,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return el.offsetWidth > 0 || el.offsetHeight > 0 || el.getClientRects().length > 0; }; - u.triggerEvent = function (el, name, type = "Event", bubbles = true, cancelable = true) { - const evt = document.createEvent(type); + u.triggerEvent = function (el, name) { + var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "Event"; + var bubbles = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + var cancelable = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; + var evt = document.createEvent(type); evt.initEvent(name, bubbles, cancelable); el.dispatchEvent(evt); }; u.geoUriToHttp = function (text, geouri_replacement) { - const regex = /geo:([\-0-9.]+),([\-0-9.]+)(?:,([\-0-9.]+))?(?:\?(.*))?/g; + var regex = /geo:([\-0-9.]+),([\-0-9.]+)(?:,([\-0-9.]+))?(?:\?(.*))?/g; return text.replace(regex, geouri_replacement); }; u.httpToGeoUri = function (text, _converse) { - const replacement = 'geo:$1,$2'; + var replacement = 'geo:$1,$2'; return text.replace(_converse.geouri_regex, replacement); }; @@ -53755,7 +53428,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * Parameters: * (DOMElement) field - the field to convert */ - let value; + var value; if (field.getAttribute('type') === 'checkbox') { value = field.checked && 1 || 0; @@ -53785,10 +53458,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ */ if (field.getAttribute('type')) { if (field.getAttribute('type') === 'list-single' || field.getAttribute('type') === 'list-multi') { - const values = _.map(u.queryChildren(field, 'value'), _.partial(_.get, _, 'textContent')); + var values = _.map(u.queryChildren(field, 'value'), _.partial(_.get, _, 'textContent')); - const options = _.map(u.queryChildren(field, 'option'), function (option) { - const value = _.get(option.querySelector('value'), 'textContent'); + var options = _.map(u.queryChildren(field, 'option'), function (option) { + var value = _.get(option.querySelector('value'), 'textContent'); return tpl_select_option({ 'value': value, @@ -53806,7 +53479,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'required': !_.isNil(field.querySelector('required')) }); } else if (field.getAttribute('type') === 'fixed') { - const text = _.get(field.querySelector('value'), 'textContent'); + var text = _.get(field.querySelector('value'), 'textContent'); return '

' + text + '

'; } else if (field.getAttribute('type') === 'jid-multi') { @@ -53851,8 +53524,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } else { if (field.getAttribute('var') === 'ocr') { // Captcha - const uri = field.querySelector('uri'); - const el = sizzle('data[cid="' + uri.textContent.replace(/^cid:/, '') + '"]', stanza)[0]; + var uri = field.querySelector('uri'); + var el = sizzle('data[cid="' + uri.textContent.replace(/^cid:/, '') + '"]', stanza)[0]; return tpl_form_captcha({ 'label': field.getAttribute('label'), 'name': field.getAttribute('var'), @@ -53897,10 +53570,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ })(void 0, function (converse, u) { "use strict"; - const _converse$env = converse.env, - Strophe = _converse$env.Strophe, - sizzle = _converse$env.sizzle, - _ = _converse$env._; + var _converse$env = converse.env, + Strophe = _converse$env.Strophe, + sizzle = _converse$env.sizzle, + _ = _converse$env._; u.computeAffiliationsDelta = function computeAffiliationsDelta(exclude_existing, remove_absentees, new_list, old_list) { /* Given two lists of objects with 'jid', 'affiliation' and @@ -53929,17 +53602,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * (Array) new_list: Array containing the new affiliations * (Array) old_list: Array containing the old affiliations */ - const new_jids = _.map(new_list, 'jid'); + var new_jids = _.map(new_list, 'jid'); - const old_jids = _.map(old_list, 'jid'); // Get the new affiliations + var old_jids = _.map(old_list, 'jid'); // Get the new affiliations - let delta = _.map(_.difference(new_jids, old_jids), jid => new_list[_.indexOf(new_jids, jid)]); + var delta = _.map(_.difference(new_jids, old_jids), function (jid) { + return new_list[_.indexOf(new_jids, jid)]; + }); if (!exclude_existing) { // Get the changed affiliations delta = delta.concat(_.filter(new_list, function (item) { - const idx = _.indexOf(old_jids, item.jid); + var idx = _.indexOf(old_jids, item.jid); if (idx >= 0) { return item.affiliation !== old_list[idx].affiliation; @@ -53951,10 +53626,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ if (remove_absentees) { // Get the removed affiliations - delta = delta.concat(_.map(_.difference(old_jids, new_jids), jid => ({ - 'jid': jid, - 'affiliation': 'none' - }))); + delta = delta.concat(_.map(_.difference(old_jids, new_jids), function (jid) { + return { + 'jid': jid, + 'affiliation': 'none' + }; + })); } return delta; @@ -53963,11 +53640,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ u.parseMemberListIQ = function parseMemberListIQ(iq) { /* Given an IQ stanza with a member list, create an array of member objects. */ - return _.map(sizzle(`query[xmlns="${Strophe.NS.MUC_ADMIN}"] item`, iq), item => { - const data = { + return _.map(sizzle("query[xmlns=\"".concat(Strophe.NS.MUC_ADMIN, "\"] item"), iq), function (item) { + var data = { 'affiliation': item.getAttribute('affiliation') }; - const jid = item.getAttribute('jid'); + var jid = item.getAttribute('jid'); if (u.isValidJID(jid)) { data['jid'] = jid; @@ -53977,13 +53654,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ data['nick'] = jid; } - const nick = item.getAttribute('nick'); + var nick = item.getAttribute('nick'); if (nick) { data['nick'] = nick; } - const role = item.getAttribute('role'); + var role = item.getAttribute('role'); if (role) { data['role'] = nick; diff --git a/dist/converse.js b/dist/converse.js index 039bb1888..778364208 100644 --- a/dist/converse.js +++ b/dist/converse.js @@ -63421,6 +63421,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }, showUserDetailsModal(ev) { + ev.preventDefault(); + if (_.isUndefined(this.user_details_modal)) { this.user_details_modal = new _converse.UserDetailsModal({ model: this.model @@ -69169,11 +69171,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ // Copyright (c) 2012-2018, the Converse.js developers // Licensed under the Mozilla Public License (MPLv2) (function (root, factory) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! converse-core */ "./src/converse-core.js"), __webpack_require__(/*! muc-utils */ "./src/utils/muc.js"), __webpack_require__(/*! templates/add_chatroom_modal.html */ "./src/templates/add_chatroom_modal.html"), __webpack_require__(/*! templates/chatarea.html */ "./src/templates/chatarea.html"), __webpack_require__(/*! templates/chatroom.html */ "./src/templates/chatroom.html"), __webpack_require__(/*! templates/chatroom_disconnect.html */ "./src/templates/chatroom_disconnect.html"), __webpack_require__(/*! templates/chatroom_features.html */ "./src/templates/chatroom_features.html"), __webpack_require__(/*! templates/chatroom_form.html */ "./src/templates/chatroom_form.html"), __webpack_require__(/*! templates/chatroom_head.html */ "./src/templates/chatroom_head.html"), __webpack_require__(/*! templates/chatroom_invite.html */ "./src/templates/chatroom_invite.html"), __webpack_require__(/*! templates/chatroom_nickname_form.html */ "./src/templates/chatroom_nickname_form.html"), __webpack_require__(/*! templates/chatroom_password_form.html */ "./src/templates/chatroom_password_form.html"), __webpack_require__(/*! templates/chatroom_sidebar.html */ "./src/templates/chatroom_sidebar.html"), __webpack_require__(/*! templates/chatroom_toolbar.html */ "./src/templates/chatroom_toolbar.html"), __webpack_require__(/*! templates/info.html */ "./src/templates/info.html"), __webpack_require__(/*! templates/list_chatrooms_modal.html */ "./src/templates/list_chatrooms_modal.html"), __webpack_require__(/*! templates/occupant.html */ "./src/templates/occupant.html"), __webpack_require__(/*! templates/room_description.html */ "./src/templates/room_description.html"), __webpack_require__(/*! templates/room_item.html */ "./src/templates/room_item.html"), __webpack_require__(/*! templates/room_panel.html */ "./src/templates/room_panel.html"), __webpack_require__(/*! templates/rooms_results.html */ "./src/templates/rooms_results.html"), __webpack_require__(/*! templates/spinner.html */ "./src/templates/spinner.html"), __webpack_require__(/*! awesomplete */ "./node_modules/awesomplete-avoid-xss/awesomplete.js"), __webpack_require__(/*! converse-modal */ "./src/converse-modal.js")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! converse-core */ "./src/converse-core.js"), __webpack_require__(/*! muc-utils */ "./src/utils/muc.js"), __webpack_require__(/*! templates/add_chatroom_modal.html */ "./src/templates/add_chatroom_modal.html"), __webpack_require__(/*! templates/chatarea.html */ "./src/templates/chatarea.html"), __webpack_require__(/*! templates/chatroom.html */ "./src/templates/chatroom.html"), __webpack_require__(/*! templates/chatroom_details_modal.html */ "./src/templates/chatroom_details_modal.html"), __webpack_require__(/*! templates/chatroom_disconnect.html */ "./src/templates/chatroom_disconnect.html"), __webpack_require__(/*! templates/chatroom_features.html */ "./src/templates/chatroom_features.html"), __webpack_require__(/*! templates/chatroom_form.html */ "./src/templates/chatroom_form.html"), __webpack_require__(/*! templates/chatroom_head.html */ "./src/templates/chatroom_head.html"), __webpack_require__(/*! templates/chatroom_invite.html */ "./src/templates/chatroom_invite.html"), __webpack_require__(/*! templates/chatroom_nickname_form.html */ "./src/templates/chatroom_nickname_form.html"), __webpack_require__(/*! templates/chatroom_password_form.html */ "./src/templates/chatroom_password_form.html"), __webpack_require__(/*! templates/chatroom_sidebar.html */ "./src/templates/chatroom_sidebar.html"), __webpack_require__(/*! templates/chatroom_toolbar.html */ "./src/templates/chatroom_toolbar.html"), __webpack_require__(/*! templates/info.html */ "./src/templates/info.html"), __webpack_require__(/*! templates/list_chatrooms_modal.html */ "./src/templates/list_chatrooms_modal.html"), __webpack_require__(/*! templates/occupant.html */ "./src/templates/occupant.html"), __webpack_require__(/*! templates/room_description.html */ "./src/templates/room_description.html"), __webpack_require__(/*! templates/room_item.html */ "./src/templates/room_item.html"), __webpack_require__(/*! templates/room_panel.html */ "./src/templates/room_panel.html"), __webpack_require__(/*! templates/rooms_results.html */ "./src/templates/rooms_results.html"), __webpack_require__(/*! templates/spinner.html */ "./src/templates/spinner.html"), __webpack_require__(/*! awesomplete */ "./node_modules/awesomplete-avoid-xss/awesomplete.js"), __webpack_require__(/*! converse-modal */ "./src/converse-modal.js")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); -})(void 0, function (converse, muc_utils, tpl_add_chatroom_modal, tpl_chatarea, tpl_chatroom, tpl_chatroom_disconnect, tpl_chatroom_features, tpl_chatroom_form, tpl_chatroom_head, tpl_chatroom_invite, tpl_chatroom_nickname_form, tpl_chatroom_password_form, tpl_chatroom_sidebar, tpl_chatroom_toolbar, tpl_info, tpl_list_chatrooms_modal, tpl_occupant, tpl_room_description, tpl_room_item, tpl_room_panel, tpl_rooms_results, tpl_spinner, Awesomplete) { +})(void 0, function (converse, muc_utils, tpl_add_chatroom_modal, tpl_chatarea, tpl_chatroom, tpl_chatroom_details_modal, tpl_chatroom_disconnect, tpl_chatroom_features, tpl_chatroom_form, tpl_chatroom_head, tpl_chatroom_invite, tpl_chatroom_nickname_form, tpl_chatroom_password_form, tpl_chatroom_sidebar, tpl_chatroom_toolbar, tpl_info, tpl_list_chatrooms_modal, tpl_occupant, tpl_room_description, tpl_room_item, tpl_room_panel, tpl_rooms_results, tpl_spinner, Awesomplete) { "use strict"; const _converse$env = converse.env, @@ -69607,6 +69609,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ ev.target.reset(); } + }); + _converse.RoomDetailsModal = _converse.BootstrapModal.extend({ + initialize() { + _converse.BootstrapModal.prototype.initialize.apply(this, arguments); + + this.model.on('change', this.render, this); + this.model.occupants.on('change', this.render, this); + }, + + toHTML() { + return tpl_chatroom_details_modal(_.extend(this.model.toJSON(), { + '__': __, + 'display_name': this.model.getDisplayName(), + 'num_occupants': this.model.occupants.length + })); + } + }); _converse.ChatRoomView = _converse.ChatBoxView.extend({ /* Backbone.NativeView which renders a chat room, based upon the view @@ -69621,6 +69640,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'click .chatbox-navback': 'showControlBox', 'click .close-chatbox-button': 'close', 'click .configure-chatroom-button': 'getAndRenderConfigurationForm', + 'click .show-room-details-modal': 'showRoomDetailsModal', 'click .hide-occupants': 'hideOccupants', 'click .new-msgs-indicator': 'viewUnreadMessages', 'click .occupant-nick': 'onOccupantClicked', @@ -69725,6 +69745,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, + showRoomDetailsModal(ev) { + ev.preventDefault(); + + if (_.isUndefined(this.model.room_details_modal)) { + this.model.room_details_modal = new _converse.RoomDetailsModal({ + 'model': this.model + }); + } + + this.model.room_details_modal.show(ev); + }, + showChatStateNotification(message) { if (message.get('sender') === 'me') { return; @@ -69768,10 +69800,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /* Returns the heading HTML to be rendered. */ return tpl_chatroom_head(_.extend(this.model.toJSON(), { - Strophe: Strophe, - info_close: __('Close and leave this room'), - info_configure: __('Configure this room'), - description: this.model.get('description') || '' + 'Strophe': Strophe, + 'info_close': __('Close and leave this room'), + 'info_configure': __('Configure this room'), + 'info_details': __('Show more details about this room'), + 'description': this.model.get('description') || '' })); }, @@ -70729,16 +70762,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); _converse.RoomsPanel = Backbone.NativeView.extend({ /* Backbone.NativeView which renders MUC section of the control box. - * - * Chat rooms can be listed, joined and new rooms can be created. */ tagName: 'div', className: 'controlbox-section', id: 'chatrooms', events: { 'click a.chatbox-btn.show-add-muc-modal': 'showAddRoomModal', - 'click a.chatbox-btn.show-list-muc-modal': 'showListRoomsModal', - 'click a.room-info': 'toggleRoomInfo' + 'click a.chatbox-btn.show-list-muc-modal': 'showListRoomsModal' }, render() { @@ -70750,11 +70780,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return this; }, - toggleRoomInfo(ev) { - ev.preventDefault(); - toggleRoomInfo(ev); - }, - showAddRoomModal(ev) { if (_.isUndefined(this.add_room_modal)) { this.add_room_modal = new _converse.AddChatRoomModal({ @@ -70882,34 +70907,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ el = this.el.querySelector('.chatroom-features'); el.innerHTML = tpl_chatroom_features(_.extend(this.chatroomview.model.toJSON(), { - 'has_features': _.reduce(_.values(picks), iteratee), - 'label_features': __('Features'), - 'label_hidden': __('Hidden'), - 'label_mam_enabled': __('Message archiving'), - 'label_membersonly': __('Members only'), - 'label_moderated': __('Moderated'), - 'label_nonanonymous': __('Non-anonymous'), - 'label_open': __('Open'), - 'label_passwordprotected': __('Password protected'), - 'label_persistent': __('Persistent'), - 'label_public': __('Public'), - 'label_semianonymous': __('Semi-anonymous'), - 'label_temporary': __('Temporary'), - 'label_unmoderated': __('Unmoderated'), - 'label_unsecured': __('No password'), - 'tt_hidden': __('This room is not publicly searchable'), - 'tt_mam_enabled': __('Messages are archived on the server'), - 'tt_membersonly': __('This room is restricted to members only'), - 'tt_moderated': __('This room is being moderated'), - 'tt_nonanonymous': __('All other room occupants can see your XMPP username'), - 'tt_open': __('Anyone can join this room'), - 'tt_passwordprotected': __('This room requires a password before entry'), - 'tt_persistent': __('This room persists even if it\'s unoccupied'), - 'tt_public': __('This room is publicly searchable'), - 'tt_semianonymous': __('Only moderators can see your XMPP username'), - 'tt_temporary': __('This room will disappear once the last person leaves'), - 'tt_unmoderated': __('This room is not being moderated'), - 'tt_unsecured': __('This room does not require a password upon entry') + '__': __, + 'has_features': _.reduce(_.values(picks), iteratee) })); this.setOccupantsHeight(); return this; @@ -71359,6 +71358,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.handlers[type][name] = callback; }, + getDisplayName() { + return this.get('name') || this.get('jid'); + }, + join(nick, password) { /* Join the chat room. * @@ -71579,7 +71582,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ * */ const features = { - 'features_fetched': true, + 'features_fetched': moment().format(), 'name': iq.querySelector('identity').getAttribute('name') }; @@ -74144,6 +74147,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ } }); _converse.RoomsListElementView = Backbone.VDOMView.extend({ + events: { + 'click a.room-info': 'showRoomDetailsModal' + }, + initialize() { this.model.on('destroy', this.remove, this); this.model.on('remove', this.remove, this); @@ -74153,18 +74160,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ this.model.on('change:num_unread_general', this.render, this); }, - getRoomsListElementName() { - if (this.model.get('bookmarked') && _converse.bookmarksview) { - const bookmark = _.head(_converse.bookmarksview.model.where({ - 'jid': this.model.get('jid') - })); - - return bookmark.get('name'); - } else { - return this.model.get('name'); - } - }, - toHTML() { return tpl_rooms_list_item(_.extend(this.model.toJSON(), { // XXX: By the time this renders, the _converse.bookmarks @@ -74179,6 +74174,32 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ 'name': this.getRoomsListElementName(), 'open_title': __('Click to open this room') })); + }, + + showRoomDetailsModal(ev) { + const room = _converse.chatboxes.get(this.model.get('jid')); + + ev.preventDefault(); + + if (_.isUndefined(room.room_details_modal)) { + room.room_details_modal = new _converse.RoomDetailsModal({ + 'model': room + }); + } + + room.room_details_modal.show(ev); + }, + + getRoomsListElementName() { + if (this.model.get('bookmarked') && _converse.bookmarksview) { + const bookmark = _.head(_converse.bookmarksview.model.where({ + 'jid': this.model.get('jid') + })); + + return bookmark.get('name'); + } else { + return this.model.get('name'); + } } }); @@ -77666,6 +77687,149 @@ return __p /***/ }), +/***/ "./src/templates/chatroom_details_modal.html": +/*!***************************************************!*\ + !*** ./src/templates/chatroom_details_modal.html ***! + \***************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var _ = {escape:__webpack_require__(/*! ./node_modules/lodash/escape.js */ "./node_modules/lodash/escape.js")}; +module.exports = function(o) { +var __t, __p = '', __e = _.escape, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +__p += '\n\n'; +return __p +}; + +/***/ }), + /***/ "./src/templates/chatroom_disconnect.html": /*!************************************************!*\ !*** ./src/templates/chatroom_disconnect.html ***! @@ -77698,111 +77862,111 @@ function print() { __p += __j.call(arguments, '') } __p += '\n'; if (o.has_features) { ; __p += '\n

' + -__e(o.label_features) + +__e(o.__('Features')) + '

\n'; } ; __p += '\n
    \n'; if (o.passwordprotected) { ; __p += '\n
  • ' + -__e( o.label_passwordprotected ) + +__e( o.__('Password protected') ) + '
  • \n'; } ; __p += '\n'; if (o.unsecured) { ; __p += '\n
  • ' + -__e( o.label_unsecured ) + +__e( o.__('No password') ) + '
  • \n'; } ; __p += '\n'; if (o.hidden) { ; __p += '\n
  • ' + -__e( o.label_hidden ) + +__e( o.__('Hidden') ) + '
  • \n'; } ; __p += '\n'; if (o.public_room) { ; __p += '\n
  • ' + -__e( o.label_public ) + +__e( o.__('Public') ) + '
  • \n'; } ; __p += '\n'; if (o.membersonly) { ; __p += '\n
  • ' + -__e( o.label_membersonly ) + +__e( o.__('Members only') ) + '
  • \n'; } ; __p += '\n'; if (o.open) { ; __p += '\n
  • ' + -__e( o.label_open ) + +__e( o.__('Open') ) + '
  • \n'; } ; __p += '\n'; if (o.persistent) { ; __p += '\n
  • ' + -__e( o.label_persistent ) + +__e( o.__('Persistent') ) + '
  • \n'; } ; __p += '\n'; if (o.temporary) { ; __p += '\n
  • ' + -__e( o.label_temporary ) + +__e( o.__('Temporary') ) + '
  • \n'; } ; __p += '\n'; if (o.nonanonymous) { ; __p += '\n
  • ' + -__e( o.label_nonanonymous ) + +__e( o.__('Not anonymous') ) + '
  • \n'; } ; __p += '\n'; if (o.semianonymous) { ; __p += '\n
  • ' + -__e( o.label_semianonymous ) + +__e( o.__('Semi-anonymous') ) + '
  • \n'; } ; __p += '\n'; if (o.moderated) { ; __p += '\n
  • ' + -__e( o.label_moderated ) + +__e( o.__('Moderated') ) + '
  • \n'; } ; __p += '\n'; if (o.unmoderated) { ; __p += '\n
  • ' + -__e( o.label_unmoderated ) + +__e( o.__('Not moderated') ) + '
  • \n'; } ; __p += '\n'; if (o.mam_enabled) { ; __p += '\n
  • ' + -__e( o.label_mam_enabled ) + +__e( o.__('Message archiving') ) + '
  • \n'; } ; __p += '\n
\n'; @@ -77862,7 +78026,9 @@ __p += '\n \n '; } ; -__p += '\n\n'; +__p += '\n \n\n'; return __p }; diff --git a/locale/converse.pot b/locale/converse.pot index 5412e02aa..c8aff2b2e 100644 --- a/locale/converse.pot +++ b/locale/converse.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Converse.js 3.3.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:19+0200\n" +"POT-Creation-Date: 2018-06-04 18:44+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,688 +17,402 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: dist/converse-no-dependencies.js:9853 dist/converse-no-dependencies.js:9882 -msgid "Download" -msgstr "" - -#: dist/converse-no-dependencies.js:9872 -#, javascript-format -msgid "Download: \"%1$s" -msgstr "" - -#: dist/converse-no-dependencies.js:9895 -msgid "Download video file" -msgstr "" - -#: dist/converse-no-dependencies.js:9908 -msgid "Download audio file" -msgstr "" - -#: dist/converse-no-dependencies.js:11229 -msgid "The connection has dropped, attempting to reconnect." -msgstr "" - -#: dist/converse-no-dependencies.js:11327 -msgid "An error occurred while connecting to the chat server." -msgstr "" - -#: dist/converse-no-dependencies.js:11334 -msgid "Your Jabber ID and/or password is incorrect. Please try again." -msgstr "" - -#: dist/converse-no-dependencies.js:11346 -#, javascript-format -msgid "Sorry, we could not connect to the XMPP host with domain: %1$s" -msgstr "" - -#: dist/converse-no-dependencies.js:11348 -msgid "The XMPP server did not offer a supported authentication mechanism" -msgstr "" - -#: dist/converse-no-dependencies.js:16016 -#, javascript-format -msgid "%1$s has invited you to join a chat room: %2$s" -msgstr "" - -#: dist/converse-no-dependencies.js:16018 -#, javascript-format -msgid "" -"%1$s has invited you to join a chat room: %2$s, and left the following " -"reason: \"%3$s\"" -msgstr "" - -#: dist/converse-no-dependencies.js:16379 -#: dist/converse-no-dependencies.js:16464 -#: dist/converse-no-dependencies.js:33114 +#: dist/converse-no-dependencies.js:34242 +#: dist/converse-no-dependencies.js:34327 +#: dist/converse-no-dependencies.js:46646 msgid "Bookmark this room" msgstr "" -#: dist/converse-no-dependencies.js:16465 +#: dist/converse-no-dependencies.js:34328 msgid "The name for this bookmark:" msgstr "" -#: dist/converse-no-dependencies.js:16466 +#: dist/converse-no-dependencies.js:34329 msgid "Would you like this room to be automatically joined upon startup?" msgstr "" -#: dist/converse-no-dependencies.js:16467 +#: dist/converse-no-dependencies.js:34330 msgid "What should your nickname for this room be?" msgstr "" -#: dist/converse-no-dependencies.js:16469 -#: dist/converse-no-dependencies.js:25296 -#: dist/converse-no-dependencies.js:25380 +#: dist/converse-no-dependencies.js:34332 +#: dist/converse-no-dependencies.js:42768 +#: dist/converse-no-dependencies.js:45592 +#: dist/converse-no-dependencies.js:45677 msgid "Save" msgstr "" -#: dist/converse-no-dependencies.js:16470 -#: dist/converse-no-dependencies.js:25376 -#: dist/converse-no-dependencies.js:32190 +#: dist/converse-no-dependencies.js:34333 +#: dist/converse-no-dependencies.js:42769 +#: dist/converse-no-dependencies.js:45673 +#: dist/converse-no-dependencies.js:51631 msgid "Cancel" msgstr "" -#: dist/converse-no-dependencies.js:16543 +#: dist/converse-no-dependencies.js:34406 #, javascript-format msgid "Are you sure you want to remove the bookmark \"%1$s\"?" msgstr "" -#: dist/converse-no-dependencies.js:16659 +#: dist/converse-no-dependencies.js:34522 msgid "Sorry, something went wrong while trying to save your bookmark." msgstr "" -#: dist/converse-no-dependencies.js:16738 -#: dist/converse-no-dependencies.js:33112 +#: dist/converse-no-dependencies.js:34601 +#: dist/converse-no-dependencies.js:46644 msgid "Leave this room" msgstr "" -#: dist/converse-no-dependencies.js:16739 +#: dist/converse-no-dependencies.js:34602 msgid "Remove this bookmark" msgstr "" -#: dist/converse-no-dependencies.js:16740 -#: dist/converse-no-dependencies.js:33113 +#: dist/converse-no-dependencies.js:34603 +#: dist/converse-no-dependencies.js:46645 msgid "Unbookmark this room" msgstr "" -#: dist/converse-no-dependencies.js:16741 -#: dist/converse-no-dependencies.js:28819 -#: dist/converse-no-dependencies.js:33115 +#: dist/converse-no-dependencies.js:34604 +#: dist/converse-no-dependencies.js:42041 +#: dist/converse-no-dependencies.js:46647 msgid "Show more information on this room" msgstr "" -#: dist/converse-no-dependencies.js:16744 -#: dist/converse-no-dependencies.js:28818 -#: dist/converse-no-dependencies.js:33117 +#: dist/converse-no-dependencies.js:34607 +#: dist/converse-no-dependencies.js:42040 +#: dist/converse-no-dependencies.js:46649 msgid "Click to open this room" msgstr "" -#: dist/converse-no-dependencies.js:16780 +#: dist/converse-no-dependencies.js:34643 msgid "Click to toggle the bookmarks list" msgstr "" -#: dist/converse-no-dependencies.js:16781 +#: dist/converse-no-dependencies.js:34644 msgid "Bookmarks" msgstr "" -#: dist/converse-no-dependencies.js:21217 +#: dist/converse-no-dependencies.js:35089 msgid "Sorry, could not determine file upload URL." msgstr "" -#: dist/converse-no-dependencies.js:21225 +#: dist/converse-no-dependencies.js:35097 msgid "Sorry, could not determine upload URL." msgstr "" -#: dist/converse-no-dependencies.js:21257 +#: dist/converse-no-dependencies.js:35129 msgid "Sorry, could not succesfully upload your file." msgstr "" -#: dist/converse-no-dependencies.js:21260 +#: dist/converse-no-dependencies.js:35132 #, javascript-format msgid "Your server's response: \"%1$s\"" msgstr "" -#: dist/converse-no-dependencies.js:21442 +#: dist/converse-no-dependencies.js:35306 msgid "Sorry, looks like file upload is not supported by your server." msgstr "" -#: dist/converse-no-dependencies.js:21452 +#: dist/converse-no-dependencies.js:35316 #, javascript-format msgid "" "The size of your file, %1$s, exceeds the maximum allowed by your server, " "which is %2$s." msgstr "" -#: dist/converse-no-dependencies.js:22197 -msgid "Show more" -msgstr "" - -#: dist/converse-no-dependencies.js:22248 -msgid "Typing from another device" -msgstr "" - -#: dist/converse-no-dependencies.js:22250 -msgid "is typing" -msgstr "" - -#: dist/converse-no-dependencies.js:22254 -msgid "Stopped typing on the other device" -msgstr "" - -#: dist/converse-no-dependencies.js:22256 -msgid "has stopped typing" -msgstr "" - -#: dist/converse-no-dependencies.js:22259 -#: dist/converse-no-dependencies.js:23256 -#: dist/converse-no-dependencies.js:30521 -msgid "has gone away" -msgstr "" - -#: dist/converse-no-dependencies.js:22488 +#: dist/converse-no-dependencies.js:36039 msgid "Close this chat box" msgstr "" -#: dist/converse-no-dependencies.js:22516 +#: dist/converse-no-dependencies.js:36067 msgid "The User's Profile Image" msgstr "" -#: dist/converse-no-dependencies.js:22519 -#: dist/converse-no-dependencies.js:25289 -#: dist/converse-no-dependencies.js:25374 +#: dist/converse-no-dependencies.js:36070 +#: dist/converse-no-dependencies.js:45585 +#: dist/converse-no-dependencies.js:45671 msgid "Close" msgstr "" -#: dist/converse-no-dependencies.js:22520 -#: dist/converse-no-dependencies.js:25290 +#: dist/converse-no-dependencies.js:36071 +#: dist/converse-no-dependencies.js:45586 msgid "Email" msgstr "" -#: dist/converse-no-dependencies.js:22521 -#: dist/converse-no-dependencies.js:25291 +#: dist/converse-no-dependencies.js:36072 +#: dist/converse-no-dependencies.js:45587 msgid "Full Name" msgstr "" -#: dist/converse-no-dependencies.js:22522 +#: dist/converse-no-dependencies.js:36073 msgid "Jabber ID" msgstr "" -#: dist/converse-no-dependencies.js:22523 -#: dist/converse-no-dependencies.js:25292 -#: dist/converse-no-dependencies.js:29617 +#: dist/converse-no-dependencies.js:36074 +#: dist/converse-no-dependencies.js:42924 +#: dist/converse-no-dependencies.js:45588 msgid "Nickname" msgstr "" -#: dist/converse-no-dependencies.js:22524 +#: dist/converse-no-dependencies.js:36075 msgid "Remove as contact" msgstr "" -#: dist/converse-no-dependencies.js:22525 +#: dist/converse-no-dependencies.js:36076 msgid "Refresh" msgstr "" -#: dist/converse-no-dependencies.js:22526 -#: dist/converse-no-dependencies.js:25294 +#: dist/converse-no-dependencies.js:36077 +#: dist/converse-no-dependencies.js:45590 msgid "Role" msgstr "" -#: dist/converse-no-dependencies.js:22527 -#: dist/converse-no-dependencies.js:25297 +#: dist/converse-no-dependencies.js:36078 +#: dist/converse-no-dependencies.js:45593 msgid "URL" msgstr "" -#: dist/converse-no-dependencies.js:22566 -#: dist/converse-no-dependencies.js:24293 +#: dist/converse-no-dependencies.js:36117 +#: dist/converse-no-dependencies.js:48307 msgid "Are you sure you want to remove this contact?" msgstr "" -#: dist/converse-no-dependencies.js:22575 -#: dist/converse-no-dependencies.js:25325 +#: dist/converse-no-dependencies.js:36126 +#: dist/converse-no-dependencies.js:45621 msgid "Error" msgstr "" -#: dist/converse-no-dependencies.js:22575 -#: dist/converse-no-dependencies.js:24301 +#: dist/converse-no-dependencies.js:36126 +#: dist/converse-no-dependencies.js:48315 #, javascript-format msgid "Sorry, there was an error while trying to remove %1$s as a contact." msgstr "" -#: dist/converse-no-dependencies.js:22629 -#: dist/converse-no-dependencies.js:22667 -#: dist/converse-no-dependencies.js:29029 +#: dist/converse-no-dependencies.js:36180 +#: dist/converse-no-dependencies.js:36218 +#: dist/converse-no-dependencies.js:42291 msgid "You have unread messages" msgstr "" -#: dist/converse-no-dependencies.js:22653 +#: dist/converse-no-dependencies.js:36204 msgid "Hidden message" msgstr "" -#: dist/converse-no-dependencies.js:22655 +#: dist/converse-no-dependencies.js:36206 msgid "Personal message" msgstr "" -#: dist/converse-no-dependencies.js:22662 -#: dist/converse-no-dependencies.js:29026 +#: dist/converse-no-dependencies.js:36213 +#: dist/converse-no-dependencies.js:42288 msgid "Send" msgstr "" -#: dist/converse-no-dependencies.js:22663 +#: dist/converse-no-dependencies.js:36214 msgid "Optional hint" msgstr "" -#: dist/converse-no-dependencies.js:22692 +#: dist/converse-no-dependencies.js:36252 msgid "Choose a file to send" msgstr "" -#: dist/converse-no-dependencies.js:22748 +#: dist/converse-no-dependencies.js:36308 msgid "Click to write as a normal (non-spoiler) message" msgstr "" -#: dist/converse-no-dependencies.js:22750 +#: dist/converse-no-dependencies.js:36310 msgid "Click to write your message as a spoiler" msgstr "" -#: dist/converse-no-dependencies.js:22754 +#: dist/converse-no-dependencies.js:36314 msgid "Clear all messages" msgstr "" -#: dist/converse-no-dependencies.js:22755 +#: dist/converse-no-dependencies.js:36315 msgid "Insert emojis" msgstr "" -#: dist/converse-no-dependencies.js:22756 +#: dist/converse-no-dependencies.js:36316 msgid "Start a call" msgstr "" -#: dist/converse-no-dependencies.js:23069 -#: dist/converse-no-dependencies.js:29265 +#: dist/converse-no-dependencies.js:36629 +#: dist/converse-no-dependencies.js:42567 msgid "Remove messages" msgstr "" -#: dist/converse-no-dependencies.js:23069 +#: dist/converse-no-dependencies.js:36629 msgid "Write in the third person" msgstr "" -#: dist/converse-no-dependencies.js:23069 -#: dist/converse-no-dependencies.js:29267 +#: dist/converse-no-dependencies.js:36629 +#: dist/converse-no-dependencies.js:42567 msgid "Show this menu" msgstr "" -#: dist/converse-no-dependencies.js:23164 +#: dist/converse-no-dependencies.js:36728 msgid "Are you sure you want to clear the messages from this conversation?" msgstr "" -#: dist/converse-no-dependencies.js:23254 -#: dist/converse-no-dependencies.js:30519 +#: dist/converse-no-dependencies.js:36817 +#: dist/converse-no-dependencies.js:45285 msgid "has gone offline" msgstr "" -#: dist/converse-no-dependencies.js:23258 -#: dist/converse-no-dependencies.js:30523 +#: dist/converse-no-dependencies.js:36819 +#: dist/converse-no-dependencies.js:41017 +#: dist/converse-no-dependencies.js:45287 +msgid "has gone away" +msgstr "" + +#: dist/converse-no-dependencies.js:36821 +#: dist/converse-no-dependencies.js:45289 msgid "is busy" msgstr "" -#: dist/converse-no-dependencies.js:23260 +#: dist/converse-no-dependencies.js:36823 msgid "is online" msgstr "" -#: dist/converse-no-dependencies.js:23501 -msgid "XMPP Username:" -msgstr "" - -#: dist/converse-no-dependencies.js:23507 -msgid "Password:" -msgstr "" - -#: dist/converse-no-dependencies.js:23509 -msgid "password" -msgstr "" - -#: dist/converse-no-dependencies.js:23513 -#: dist/converse-no-dependencies.js:29643 -msgid "Submit" -msgstr "" - -#: dist/converse-no-dependencies.js:23519 -msgid "Click here to log in anonymously" -msgstr "" - -#: dist/converse-no-dependencies.js:23864 -msgid "This contact is busy" -msgstr "" - -#: dist/converse-no-dependencies.js:23865 -msgid "This contact is online" -msgstr "" - -#: dist/converse-no-dependencies.js:23866 -msgid "This contact is offline" -msgstr "" - -#: dist/converse-no-dependencies.js:23867 -msgid "This contact is unavailable" -msgstr "" - -#: dist/converse-no-dependencies.js:23868 -msgid "This contact is away for an extended period" -msgstr "" - -#: dist/converse-no-dependencies.js:23869 -msgid "This contact is away" -msgstr "" - -#: dist/converse-no-dependencies.js:23872 -#: dist/converse-no-dependencies.js:24584 -#: dist/converse-no-dependencies.js:25680 +#: dist/converse-no-dependencies.js:37209 +#: dist/converse-no-dependencies.js:47885 +#: dist/converse-no-dependencies.js:48606 msgid "Contacts" msgstr "" -#: dist/converse-no-dependencies.js:23874 -msgid "Groups" -msgstr "" - -#: dist/converse-no-dependencies.js:23876 -msgid "My contacts" -msgstr "" - -#: dist/converse-no-dependencies.js:23878 -msgid "Pending contacts" -msgstr "" - -#: dist/converse-no-dependencies.js:23880 -msgid "Contact requests" -msgstr "" - -#: dist/converse-no-dependencies.js:23882 -msgid "Ungrouped" -msgstr "" - -#: dist/converse-no-dependencies.js:23925 -msgid "Contact name" -msgstr "" - -#: dist/converse-no-dependencies.js:23925 -#: dist/converse-no-dependencies.js:28905 -msgid "Optional nickname" -msgstr "" - -#: dist/converse-no-dependencies.js:23928 -msgid "Add a Contact" -msgstr "" - -#: dist/converse-no-dependencies.js:23929 -msgid "XMPP Address" -msgstr "" - -#: dist/converse-no-dependencies.js:23931 -msgid "name@example.org" -msgstr "" - -#: dist/converse-no-dependencies.js:23932 -msgid "Add" -msgstr "" - -#: dist/converse-no-dependencies.js:24003 -#: dist/converse-no-dependencies.js:25917 -msgid "Please enter a valid XMPP address" -msgstr "" - -#: dist/converse-no-dependencies.js:24040 -msgid "Filter" -msgstr "" - -#: dist/converse-no-dependencies.js:24041 -msgid "Filter by contact name" -msgstr "" - -#: dist/converse-no-dependencies.js:24042 -msgid "Filter by group name" -msgstr "" - -#: dist/converse-no-dependencies.js:24043 -msgid "Filter by status" -msgstr "" - -#: dist/converse-no-dependencies.js:24044 -msgid "Any" -msgstr "" - -#: dist/converse-no-dependencies.js:24045 -msgid "Unread" -msgstr "" - -#: dist/converse-no-dependencies.js:24046 -#: dist/converse-no-dependencies.js:25379 -msgid "Online" -msgstr "" - -#: dist/converse-no-dependencies.js:24047 -msgid "Chatty" -msgstr "" - -#: dist/converse-no-dependencies.js:24048 -#: dist/converse-no-dependencies.js:25375 -msgid "Busy" -msgstr "" - -#: dist/converse-no-dependencies.js:24049 -#: dist/converse-no-dependencies.js:25373 -msgid "Away" -msgstr "" - -#: dist/converse-no-dependencies.js:24050 -msgid "Extended Away" -msgstr "" - -#: dist/converse-no-dependencies.js:24051 -#: dist/converse-no-dependencies.js:25378 -msgid "Offline" -msgstr "" - -#: dist/converse-no-dependencies.js:24205 -#: dist/converse-no-dependencies.js:24247 -#, javascript-format -msgid "Click to remove %1$s as a contact" -msgstr "" - -#: dist/converse-no-dependencies.js:24214 -#, javascript-format -msgid "Click to accept the contact request from %1$s" -msgstr "" - -#: dist/converse-no-dependencies.js:24215 -#, javascript-format -msgid "Click to decline the contact request from %1$s" -msgstr "" - -#: dist/converse-no-dependencies.js:24246 -#, javascript-format -msgid "Click to chat with %1$s (JID: %2$s)" -msgstr "" - -#: dist/converse-no-dependencies.js:24323 -msgid "Are you sure you want to decline this contact request?" -msgstr "" - -#: dist/converse-no-dependencies.js:24585 -msgid "Add a contact" -msgstr "" - -#: dist/converse-no-dependencies.js:25288 -msgid "Your Profile" -msgstr "" - -#: dist/converse-no-dependencies.js:25293 -msgid "XMPP Address (JID)" -msgstr "" - -#: dist/converse-no-dependencies.js:25295 -msgid "" -"Use commas to separate multiple roles. Your roles are shown next to your " -"name on your chat messages." -msgstr "" - -#: dist/converse-no-dependencies.js:25298 -msgid "Your avatar image" -msgstr "" - -#: dist/converse-no-dependencies.js:25325 -msgid "Sorry, an error happened while trying to save your profile data." -msgstr "" - -#: dist/converse-no-dependencies.js:25325 -msgid "You can check your browser's developer console for any error output." -msgstr "" - -#: dist/converse-no-dependencies.js:25377 -msgid "Custom status" -msgstr "" - -#: dist/converse-no-dependencies.js:25381 -msgid "Away for long" -msgstr "" - -#: dist/converse-no-dependencies.js:25382 -msgid "Change chat status" -msgstr "" - -#: dist/converse-no-dependencies.js:25383 -msgid "Personal status message" -msgstr "" - -#: dist/converse-no-dependencies.js:25427 -#, javascript-format -msgid "I am %1$s" -msgstr "" - -#: dist/converse-no-dependencies.js:25430 -msgid "Change settings" -msgstr "" - -#: dist/converse-no-dependencies.js:25431 -msgid "Click to change your chat status" -msgstr "" - -#: dist/converse-no-dependencies.js:25432 -msgid "Log out" -msgstr "" - -#: dist/converse-no-dependencies.js:25433 -msgid "Your profile" -msgstr "" - -#: dist/converse-no-dependencies.js:25456 -msgid "Are you sure you want to log out?" -msgstr "" - -#: dist/converse-no-dependencies.js:25464 -#: dist/converse-no-dependencies.js:25474 -msgid "online" -msgstr "" - -#: dist/converse-no-dependencies.js:25466 -msgid "busy" -msgstr "" - -#: dist/converse-no-dependencies.js:25468 -msgid "away for long" -msgstr "" - -#: dist/converse-no-dependencies.js:25470 -msgid "away" -msgstr "" - -#: dist/converse-no-dependencies.js:25472 -msgid "offline" -msgstr "" - -#: dist/converse-no-dependencies.js:25909 +#: dist/converse-no-dependencies.js:37447 msgid "Username" msgstr "" -#: dist/converse-no-dependencies.js:25909 +#: dist/converse-no-dependencies.js:37447 msgid "user@domain" msgstr "" -#: dist/converse-no-dependencies.js:26003 +#: dist/converse-no-dependencies.js:37455 +#: dist/converse-no-dependencies.js:48016 +msgid "Please enter a valid XMPP address" +msgstr "" + +#: dist/converse-no-dependencies.js:37544 msgid "Chat Contacts" msgstr "" -#: dist/converse-no-dependencies.js:26003 +#: dist/converse-no-dependencies.js:37544 msgid "Toggle chat" msgstr "" -#: dist/converse-no-dependencies.js:27529 -#: dist/converse-no-dependencies.js:27572 +#: dist/converse-no-dependencies.js:38122 +msgid "The connection has dropped, attempting to reconnect." +msgstr "" + +#: dist/converse-no-dependencies.js:38220 +msgid "An error occurred while connecting to the chat server." +msgstr "" + +#: dist/converse-no-dependencies.js:38227 +msgid "Your Jabber ID and/or password is incorrect. Please try again." +msgstr "" + +#: dist/converse-no-dependencies.js:38239 +#, javascript-format +msgid "Sorry, we could not connect to the XMPP host with domain: %1$s" +msgstr "" + +#: dist/converse-no-dependencies.js:38241 +msgid "The XMPP server did not offer a supported authentication mechanism" +msgstr "" + +#: dist/converse-no-dependencies.js:40963 +msgid "Show more" +msgstr "" + +#: dist/converse-no-dependencies.js:41006 +msgid "Typing from another device" +msgstr "" + +#: dist/converse-no-dependencies.js:41008 +msgid "is typing" +msgstr "" + +#: dist/converse-no-dependencies.js:41012 +msgid "Stopped typing on the other device" +msgstr "" + +#: dist/converse-no-dependencies.js:41014 +msgid "has stopped typing" +msgstr "" + +#: dist/converse-no-dependencies.js:41245 +#: dist/converse-no-dependencies.js:41288 msgid "Minimize this chat box" msgstr "" -#: dist/converse-no-dependencies.js:27705 +#: dist/converse-no-dependencies.js:41421 msgid "Click to restore this chat" msgstr "" -#: dist/converse-no-dependencies.js:27892 +#: dist/converse-no-dependencies.js:41608 msgid "Minimized" msgstr "" -#: dist/converse-no-dependencies.js:28650 +#: dist/converse-no-dependencies.js:41937 msgid "This room is not anonymous" msgstr "" -#: dist/converse-no-dependencies.js:28651 +#: dist/converse-no-dependencies.js:41938 msgid "This room now shows unavailable members" msgstr "" -#: dist/converse-no-dependencies.js:28652 +#: dist/converse-no-dependencies.js:41939 msgid "This room does not show unavailable members" msgstr "" -#: dist/converse-no-dependencies.js:28653 +#: dist/converse-no-dependencies.js:41940 msgid "The room configuration has changed" msgstr "" -#: dist/converse-no-dependencies.js:28654 +#: dist/converse-no-dependencies.js:41941 msgid "Room logging is now enabled" msgstr "" -#: dist/converse-no-dependencies.js:28655 +#: dist/converse-no-dependencies.js:41942 msgid "Room logging is now disabled" msgstr "" -#: dist/converse-no-dependencies.js:28656 +#: dist/converse-no-dependencies.js:41943 msgid "This room is now no longer anonymous" msgstr "" -#: dist/converse-no-dependencies.js:28657 +#: dist/converse-no-dependencies.js:41944 msgid "This room is now semi-anonymous" msgstr "" -#: dist/converse-no-dependencies.js:28658 +#: dist/converse-no-dependencies.js:41945 msgid "This room is now fully-anonymous" msgstr "" -#: dist/converse-no-dependencies.js:28659 +#: dist/converse-no-dependencies.js:41946 msgid "A new room has been created" msgstr "" -#: dist/converse-no-dependencies.js:28663 +#: dist/converse-no-dependencies.js:41949 msgid "You have been banned from this room" msgstr "" -#: dist/converse-no-dependencies.js:28664 +#: dist/converse-no-dependencies.js:41950 msgid "You have been kicked from this room" msgstr "" -#: dist/converse-no-dependencies.js:28665 +#: dist/converse-no-dependencies.js:41951 msgid "You have been removed from this room because of an affiliation change" msgstr "" -#: dist/converse-no-dependencies.js:28666 +#: dist/converse-no-dependencies.js:41952 msgid "" "You have been removed from this room because the room has changed to members-" "only and you're not a member" msgstr "" -#: dist/converse-no-dependencies.js:28667 +#: dist/converse-no-dependencies.js:41953 msgid "" "You have been removed from this room because the MUC (Multi-user chat) " "service is being shut down" @@ -714,798 +428,949 @@ msgstr "" #. * can then at least tell gettext to scan for it so that these #. * strings are picked up by the translation machinery. #. -#: dist/converse-no-dependencies.js:28681 +#: dist/converse-no-dependencies.js:41966 #, javascript-format msgid "%1$s has been banned" msgstr "" -#: dist/converse-no-dependencies.js:28682 +#: dist/converse-no-dependencies.js:41967 #, javascript-format msgid "%1$s's nickname has changed" msgstr "" -#: dist/converse-no-dependencies.js:28683 +#: dist/converse-no-dependencies.js:41968 #, javascript-format msgid "%1$s has been kicked out" msgstr "" -#: dist/converse-no-dependencies.js:28684 +#: dist/converse-no-dependencies.js:41969 #, javascript-format msgid "%1$s has been removed because of an affiliation change" msgstr "" -#: dist/converse-no-dependencies.js:28685 +#: dist/converse-no-dependencies.js:41970 #, javascript-format msgid "%1$s has been removed for not being a member" msgstr "" -#: dist/converse-no-dependencies.js:28689 +#: dist/converse-no-dependencies.js:41973 #, javascript-format msgid "Your nickname has been automatically set to %1$s" msgstr "" -#: dist/converse-no-dependencies.js:28690 +#: dist/converse-no-dependencies.js:41974 #, javascript-format msgid "Your nickname has been changed to %1$s" msgstr "" -#: dist/converse-no-dependencies.js:28724 -msgid "Description:" -msgstr "" - -#: dist/converse-no-dependencies.js:28725 -msgid "Room Address (JID):" -msgstr "" - -#: dist/converse-no-dependencies.js:28726 -msgid "Occupants:" -msgstr "" - -#: dist/converse-no-dependencies.js:28727 -msgid "Features:" -msgstr "" - -#: dist/converse-no-dependencies.js:28728 -msgid "Requires authentication" -msgstr "" - -#: dist/converse-no-dependencies.js:28729 -#: dist/converse-no-dependencies.js:30122 -msgid "Hidden" -msgstr "" - -#: dist/converse-no-dependencies.js:28730 -msgid "Requires an invitation" -msgstr "" - -#: dist/converse-no-dependencies.js:28731 -#: dist/converse-no-dependencies.js:30125 -msgid "Moderated" -msgstr "" - -#: dist/converse-no-dependencies.js:28732 -#: dist/converse-no-dependencies.js:30126 -msgid "Non-anonymous" -msgstr "" - -#: dist/converse-no-dependencies.js:28733 -msgid "Open room" -msgstr "" - -#: dist/converse-no-dependencies.js:28734 -msgid "Permanent room" -msgstr "" - -#: dist/converse-no-dependencies.js:28735 -#: dist/converse-no-dependencies.js:30130 -msgid "Public" -msgstr "" - -#: dist/converse-no-dependencies.js:28736 -#: dist/converse-no-dependencies.js:30131 -msgid "Semi-anonymous" -msgstr "" - -#: dist/converse-no-dependencies.js:28737 -msgid "Temporary room" -msgstr "" - -#: dist/converse-no-dependencies.js:28738 -#: dist/converse-no-dependencies.js:30133 -msgid "Unmoderated" -msgstr "" - -#: dist/converse-no-dependencies.js:28777 +#: dist/converse-no-dependencies.js:41992 msgid "Query for Chatrooms" msgstr "" -#: dist/converse-no-dependencies.js:28778 +#: dist/converse-no-dependencies.js:41993 msgid "Server address" msgstr "" -#: dist/converse-no-dependencies.js:28779 +#: dist/converse-no-dependencies.js:41994 msgid "Show rooms" msgstr "" -#: dist/converse-no-dependencies.js:28780 +#: dist/converse-no-dependencies.js:41995 msgid "conference.example.org" msgstr "" -#: dist/converse-no-dependencies.js:28833 +#: dist/converse-no-dependencies.js:42053 msgid "No rooms found" msgstr "" -#: dist/converse-no-dependencies.js:28850 +#: dist/converse-no-dependencies.js:42070 msgid "Rooms found:" msgstr "" -#: dist/converse-no-dependencies.js:28903 +#: dist/converse-no-dependencies.js:42122 msgid "Enter a new Chatroom" msgstr "" -#: dist/converse-no-dependencies.js:28904 +#: dist/converse-no-dependencies.js:42123 msgid "Room address" msgstr "" -#: dist/converse-no-dependencies.js:28906 +#: dist/converse-no-dependencies.js:42124 +#: dist/converse-no-dependencies.js:47938 +msgid "Optional nickname" +msgstr "" + +#: dist/converse-no-dependencies.js:42125 msgid "name@conference.example.org" msgstr "" -#: dist/converse-no-dependencies.js:28907 +#: dist/converse-no-dependencies.js:42126 msgid "Join" msgstr "" -#: dist/converse-no-dependencies.js:29025 +#: dist/converse-no-dependencies.js:42169 +msgid "Description:" +msgstr "" + +#: dist/converse-no-dependencies.js:42170 +msgid "Features:" +msgstr "" + +#: dist/converse-no-dependencies.js:42171 +#: dist/converse-no-dependencies.js:43424 +msgid "Hidden" +msgstr "" + +#: dist/converse-no-dependencies.js:42172 +#: dist/converse-no-dependencies.js:43427 +msgid "Moderated" +msgstr "" + +#: dist/converse-no-dependencies.js:42173 +#: dist/converse-no-dependencies.js:43428 +msgid "Non-anonymous" +msgstr "" + +#: dist/converse-no-dependencies.js:42174 +msgid "Online users:" +msgstr "" + +#: dist/converse-no-dependencies.js:42175 +msgid "Open room" +msgstr "" + +#: dist/converse-no-dependencies.js:42176 +msgid "Permanent room" +msgstr "" + +#: dist/converse-no-dependencies.js:42177 +#: dist/converse-no-dependencies.js:43432 +msgid "Public" +msgstr "" + +#: dist/converse-no-dependencies.js:42178 +msgid "Requires authentication" +msgstr "" + +#: dist/converse-no-dependencies.js:42179 +msgid "Requires an invitation" +msgstr "" + +#: dist/converse-no-dependencies.js:42180 +#: dist/converse-no-dependencies.js:43433 +msgid "Semi-anonymous" +msgstr "" + +#: dist/converse-no-dependencies.js:42181 +msgid "Temporary room" +msgstr "" + +#: dist/converse-no-dependencies.js:42182 +#: dist/converse-no-dependencies.js:43435 +msgid "Unmoderated" +msgstr "" + +#: dist/converse-no-dependencies.js:42287 msgid "Message" msgstr "" -#: dist/converse-no-dependencies.js:29058 +#: dist/converse-no-dependencies.js:42322 #, javascript-format msgid "%1$s is no longer a moderator" msgstr "" -#: dist/converse-no-dependencies.js:29061 +#: dist/converse-no-dependencies.js:42326 #, javascript-format msgid "%1$s has been given a voice again" msgstr "" -#: dist/converse-no-dependencies.js:29064 +#: dist/converse-no-dependencies.js:42330 #, javascript-format msgid "%1$s has been muted" msgstr "" -#: dist/converse-no-dependencies.js:29067 +#: dist/converse-no-dependencies.js:42334 #, javascript-format msgid "%1$s is now a moderator" msgstr "" -#: dist/converse-no-dependencies.js:29077 +#: dist/converse-no-dependencies.js:42342 msgid "Close and leave this room" msgstr "" -#: dist/converse-no-dependencies.js:29078 +#: dist/converse-no-dependencies.js:42343 msgid "Configure this room" msgstr "" -#: dist/converse-no-dependencies.js:29122 +#: dist/converse-no-dependencies.js:42383 msgid "Hide the list of occupants" msgstr "" -#: dist/converse-no-dependencies.js:29206 +#: dist/converse-no-dependencies.js:42499 #, javascript-format msgid "" "Error: the \"%1$s\" command takes two arguments, the user's nickname and " "optionally a reason." msgstr "" -#: dist/converse-no-dependencies.js:29218 +#: dist/converse-no-dependencies.js:42508 msgid "" "Sorry, an error happened while running the command. Check your browser's " "developer console for details." msgstr "" -#: dist/converse-no-dependencies.js:29263 +#: dist/converse-no-dependencies.js:42567 msgid "Change user's affiliation to admin" msgstr "" -#: dist/converse-no-dependencies.js:29264 +#: dist/converse-no-dependencies.js:42567 msgid "Ban user from room" msgstr "" -#: dist/converse-no-dependencies.js:29266 +#: dist/converse-no-dependencies.js:42567 msgid "Change user role to participant" msgstr "" -#: dist/converse-no-dependencies.js:29268 +#: dist/converse-no-dependencies.js:42567 msgid "Kick user from room" msgstr "" -#: dist/converse-no-dependencies.js:29269 +#: dist/converse-no-dependencies.js:42567 msgid "Write in 3rd person" msgstr "" -#: dist/converse-no-dependencies.js:29270 +#: dist/converse-no-dependencies.js:42567 msgid "Grant membership to a user" msgstr "" -#: dist/converse-no-dependencies.js:29271 +#: dist/converse-no-dependencies.js:42567 msgid "Remove user's ability to post messages" msgstr "" -#: dist/converse-no-dependencies.js:29272 +#: dist/converse-no-dependencies.js:42567 msgid "Change your nickname" msgstr "" -#: dist/converse-no-dependencies.js:29273 +#: dist/converse-no-dependencies.js:42567 msgid "Grant moderator role to user" msgstr "" -#: dist/converse-no-dependencies.js:29274 +#: dist/converse-no-dependencies.js:42567 msgid "Grant ownership of this room" msgstr "" -#: dist/converse-no-dependencies.js:29275 +#: dist/converse-no-dependencies.js:42567 msgid "Revoke user's membership" msgstr "" -#: dist/converse-no-dependencies.js:29276 +#: dist/converse-no-dependencies.js:42567 msgid "Set room subject" msgstr "" -#: dist/converse-no-dependencies.js:29277 +#: dist/converse-no-dependencies.js:42567 msgid "Set room subject (alias for /subject)" msgstr "" -#: dist/converse-no-dependencies.js:29278 +#: dist/converse-no-dependencies.js:42567 msgid "Allow muted user to post messages" msgstr "" -#: dist/converse-no-dependencies.js:29590 +#: dist/converse-no-dependencies.js:42897 msgid "" "The nickname you chose is reserved or currently in use, please choose a " "different one." msgstr "" -#: dist/converse-no-dependencies.js:29616 +#: dist/converse-no-dependencies.js:42923 msgid "Please choose your nickname" msgstr "" -#: dist/converse-no-dependencies.js:29618 +#: dist/converse-no-dependencies.js:42925 msgid "Enter room" msgstr "" -#: dist/converse-no-dependencies.js:29641 +#: dist/converse-no-dependencies.js:42946 msgid "This chatroom requires a password" msgstr "" -#: dist/converse-no-dependencies.js:29642 +#: dist/converse-no-dependencies.js:42947 msgid "Password: " msgstr "" -#: dist/converse-no-dependencies.js:29740 +#: dist/converse-no-dependencies.js:42948 +msgid "Submit" +msgstr "" + +#: dist/converse-no-dependencies.js:43062 #, javascript-format msgid "This action was done by %1$s." msgstr "" -#: dist/converse-no-dependencies.js:29743 -#: dist/converse-no-dependencies.js:29759 +#: dist/converse-no-dependencies.js:43066 +#: dist/converse-no-dependencies.js:43083 #, javascript-format msgid "The reason given is: \"%1$s\"." msgstr "" -#: dist/converse-no-dependencies.js:29781 +#: dist/converse-no-dependencies.js:43104 #, javascript-format msgid "%1$s has left and re-entered the room" msgstr "" -#: dist/converse-no-dependencies.js:29786 +#: dist/converse-no-dependencies.js:43110 #, javascript-format msgid "%1$s has entered the room" msgstr "" -#: dist/converse-no-dependencies.js:29788 +#: dist/converse-no-dependencies.js:43112 #, javascript-format msgid "%1$s has entered the room. \"%2$s\"" msgstr "" -#: dist/converse-no-dependencies.js:29818 +#: dist/converse-no-dependencies.js:43143 #, javascript-format msgid "%1$s has entered and left the room" msgstr "" -#: dist/converse-no-dependencies.js:29820 +#: dist/converse-no-dependencies.js:43145 #, javascript-format msgid "%1$s has entered and left the room. \"%2$s\"" msgstr "" -#: dist/converse-no-dependencies.js:29832 +#: dist/converse-no-dependencies.js:43158 #, javascript-format msgid "%1$s has left the room" msgstr "" -#: dist/converse-no-dependencies.js:29834 +#: dist/converse-no-dependencies.js:43160 #, javascript-format msgid "%1$s has left the room. \"%2$s\"" msgstr "" -#: dist/converse-no-dependencies.js:29877 +#: dist/converse-no-dependencies.js:43206 msgid "You are not on the member list of this room." msgstr "" -#: dist/converse-no-dependencies.js:29879 +#: dist/converse-no-dependencies.js:43208 msgid "You have been banned from this room." msgstr "" -#: dist/converse-no-dependencies.js:29883 +#: dist/converse-no-dependencies.js:43212 msgid "No nickname was specified." msgstr "" -#: dist/converse-no-dependencies.js:29887 +#: dist/converse-no-dependencies.js:43216 msgid "You are not allowed to create new rooms." msgstr "" -#: dist/converse-no-dependencies.js:29889 +#: dist/converse-no-dependencies.js:43218 msgid "Your nickname doesn't conform to this room's policies." msgstr "" -#: dist/converse-no-dependencies.js:29893 +#: dist/converse-no-dependencies.js:43222 msgid "This room does not (yet) exist." msgstr "" -#: dist/converse-no-dependencies.js:29895 +#: dist/converse-no-dependencies.js:43224 msgid "This room has reached its maximum number of occupants." msgstr "" -#: dist/converse-no-dependencies.js:29950 +#: dist/converse-no-dependencies.js:43274 #, javascript-format msgid "Topic set by %1$s" msgstr "" -#: dist/converse-no-dependencies.js:29981 +#: dist/converse-no-dependencies.js:43297 msgid "Chatrooms" msgstr "" -#: dist/converse-no-dependencies.js:29982 +#: dist/converse-no-dependencies.js:43298 msgid "Add a new room" msgstr "" -#: dist/converse-no-dependencies.js:29983 +#: dist/converse-no-dependencies.js:43299 msgid "Query for rooms" msgstr "" -#: dist/converse-no-dependencies.js:30022 +#: dist/converse-no-dependencies.js:43337 #, javascript-format msgid "Click to mention %1$s in your message." msgstr "" -#: dist/converse-no-dependencies.js:30023 +#: dist/converse-no-dependencies.js:43338 msgid "This user is a moderator." msgstr "" -#: dist/converse-no-dependencies.js:30024 +#: dist/converse-no-dependencies.js:43339 msgid "This user can send messages in this room." msgstr "" -#: dist/converse-no-dependencies.js:30025 +#: dist/converse-no-dependencies.js:43340 msgid "This user can NOT send messages in this room." msgstr "" -#: dist/converse-no-dependencies.js:30026 +#: dist/converse-no-dependencies.js:43341 msgid "Moderator" msgstr "" -#: dist/converse-no-dependencies.js:30027 +#: dist/converse-no-dependencies.js:43342 msgid "Visitor" msgstr "" -#: dist/converse-no-dependencies.js:30028 +#: dist/converse-no-dependencies.js:43343 msgid "Owner" msgstr "" -#: dist/converse-no-dependencies.js:30029 +#: dist/converse-no-dependencies.js:43344 msgid "Member" msgstr "" -#: dist/converse-no-dependencies.js:30030 +#: dist/converse-no-dependencies.js:43345 msgid "Admin" msgstr "" -#: dist/converse-no-dependencies.js:30082 +#: dist/converse-no-dependencies.js:43387 msgid "Occupants" msgstr "" -#: dist/converse-no-dependencies.js:30102 -#: dist/converse-no-dependencies.js:30209 +#: dist/converse-no-dependencies.js:43404 +#: dist/converse-no-dependencies.js:43511 msgid "Invite" msgstr "" -#: dist/converse-no-dependencies.js:30121 +#: dist/converse-no-dependencies.js:43423 msgid "Features" msgstr "" -#: dist/converse-no-dependencies.js:30123 +#: dist/converse-no-dependencies.js:43425 msgid "Message archiving" msgstr "" -#: dist/converse-no-dependencies.js:30124 +#: dist/converse-no-dependencies.js:43426 msgid "Members only" msgstr "" -#: dist/converse-no-dependencies.js:30127 +#: dist/converse-no-dependencies.js:43429 msgid "Open" msgstr "" -#: dist/converse-no-dependencies.js:30128 +#: dist/converse-no-dependencies.js:43430 msgid "Password protected" msgstr "" -#: dist/converse-no-dependencies.js:30129 +#: dist/converse-no-dependencies.js:43431 msgid "Persistent" msgstr "" -#: dist/converse-no-dependencies.js:30132 +#: dist/converse-no-dependencies.js:43434 msgid "Temporary" msgstr "" -#: dist/converse-no-dependencies.js:30134 +#: dist/converse-no-dependencies.js:43436 msgid "No password" msgstr "" -#: dist/converse-no-dependencies.js:30135 +#: dist/converse-no-dependencies.js:43437 msgid "This room is not publicly searchable" msgstr "" -#: dist/converse-no-dependencies.js:30136 +#: dist/converse-no-dependencies.js:43438 msgid "Messages are archived on the server" msgstr "" -#: dist/converse-no-dependencies.js:30137 +#: dist/converse-no-dependencies.js:43439 msgid "This room is restricted to members only" msgstr "" -#: dist/converse-no-dependencies.js:30138 +#: dist/converse-no-dependencies.js:43440 msgid "This room is being moderated" msgstr "" -#: dist/converse-no-dependencies.js:30139 +#: dist/converse-no-dependencies.js:43441 msgid "All other room occupants can see your XMPP username" msgstr "" -#: dist/converse-no-dependencies.js:30140 +#: dist/converse-no-dependencies.js:43442 msgid "Anyone can join this room" msgstr "" -#: dist/converse-no-dependencies.js:30141 +#: dist/converse-no-dependencies.js:43443 msgid "This room requires a password before entry" msgstr "" -#: dist/converse-no-dependencies.js:30142 +#: dist/converse-no-dependencies.js:43444 msgid "This room persists even if it's unoccupied" msgstr "" -#: dist/converse-no-dependencies.js:30143 +#: dist/converse-no-dependencies.js:43445 msgid "This room is publicly searchable" msgstr "" -#: dist/converse-no-dependencies.js:30144 +#: dist/converse-no-dependencies.js:43446 msgid "Only moderators can see your XMPP username" msgstr "" -#: dist/converse-no-dependencies.js:30145 +#: dist/converse-no-dependencies.js:43447 msgid "This room will disappear once the last person leaves" msgstr "" -#: dist/converse-no-dependencies.js:30146 +#: dist/converse-no-dependencies.js:43448 msgid "This room is not being moderated" msgstr "" -#: dist/converse-no-dependencies.js:30147 +#: dist/converse-no-dependencies.js:43449 msgid "This room does not require a password upon entry" msgstr "" -#: dist/converse-no-dependencies.js:30187 +#: dist/converse-no-dependencies.js:43488 #, javascript-format msgid "" "You are about to invite %1$s to the chat room \"%2$s\". You may optionally " "include a message, explaining the reason for the invitation." msgstr "" -#: dist/converse-no-dependencies.js:30208 +#: dist/converse-no-dependencies.js:43510 msgid "Please enter a valid XMPP username" msgstr "" +#: dist/converse-no-dependencies.js:44865 +#, javascript-format +msgid "%1$s has invited you to join a chat room: %2$s" +msgstr "" + +#: dist/converse-no-dependencies.js:44867 +#, javascript-format +msgid "" +"%1$s has invited you to join a chat room: %2$s, and left the following " +"reason: \"%3$s\"" +msgstr "" + #. workaround for Prosody which doesn't give type "headline" -#: dist/converse-no-dependencies.js:30469 -#: dist/converse-no-dependencies.js:30475 +#: dist/converse-no-dependencies.js:45235 +#: dist/converse-no-dependencies.js:45241 #, javascript-format msgid "Notification from %1$s" msgstr "" -#: dist/converse-no-dependencies.js:30477 -#: dist/converse-no-dependencies.js:30488 -#: dist/converse-no-dependencies.js:30491 +#: dist/converse-no-dependencies.js:45243 +#: dist/converse-no-dependencies.js:45254 +#: dist/converse-no-dependencies.js:45257 #, javascript-format msgid "%1$s says" msgstr "" -#: dist/converse-no-dependencies.js:30525 +#: dist/converse-no-dependencies.js:45291 msgid "has come online" msgstr "" -#: dist/converse-no-dependencies.js:30542 +#: dist/converse-no-dependencies.js:45308 msgid "wants to be your contact" msgstr "" -#: dist/converse-no-dependencies.js:30824 -msgid "Re-establishing encrypted session" +#: dist/converse-no-dependencies.js:45584 +msgid "Your Profile" msgstr "" -#. We need to generate a new key and instance tag -#: dist/converse-no-dependencies.js:30835 -msgid "Generating private key." +#: dist/converse-no-dependencies.js:45589 +msgid "XMPP Address (JID)" msgstr "" -#: dist/converse-no-dependencies.js:30835 -msgid "Your browser might become unresponsive." +#: dist/converse-no-dependencies.js:45591 +msgid "" +"Use commas to separate multiple roles. Your roles are shown next to your " +"name on your chat messages." msgstr "" -#: dist/converse-no-dependencies.js:30878 +#: dist/converse-no-dependencies.js:45594 +msgid "Your avatar image" +msgstr "" + +#: dist/converse-no-dependencies.js:45621 +msgid "Sorry, an error happened while trying to save your profile data." +msgstr "" + +#: dist/converse-no-dependencies.js:45621 +msgid "You can check your browser's developer console for any error output." +msgstr "" + +#: dist/converse-no-dependencies.js:45670 +#: dist/converse-no-dependencies.js:48062 +msgid "Away" +msgstr "" + +#: dist/converse-no-dependencies.js:45672 +#: dist/converse-no-dependencies.js:48061 +msgid "Busy" +msgstr "" + +#: dist/converse-no-dependencies.js:45674 +msgid "Custom status" +msgstr "" + +#: dist/converse-no-dependencies.js:45675 +#: dist/converse-no-dependencies.js:48064 +msgid "Offline" +msgstr "" + +#: dist/converse-no-dependencies.js:45676 +#: dist/converse-no-dependencies.js:48059 +msgid "Online" +msgstr "" + +#: dist/converse-no-dependencies.js:45678 +msgid "Away for long" +msgstr "" + +#: dist/converse-no-dependencies.js:45679 +msgid "Change chat status" +msgstr "" + +#: dist/converse-no-dependencies.js:45680 +msgid "Personal status message" +msgstr "" + +#: dist/converse-no-dependencies.js:45724 #, javascript-format -msgid "" -"Authentication request from %1$s\n" -"\n" -"Your chat contact is attempting to verify your identity, by asking you the " -"question below.\n" -"\n" -"%2$s" +msgid "I am %1$s" msgstr "" -#: dist/converse-no-dependencies.js:30887 -msgid "Could not verify this user's identify." +#: dist/converse-no-dependencies.js:45727 +msgid "Change settings" msgstr "" -#: dist/converse-no-dependencies.js:30941 -msgid "Exchanging private key with contact." +#: dist/converse-no-dependencies.js:45728 +msgid "Click to change your chat status" msgstr "" -#: dist/converse-no-dependencies.js:31038 -msgid "Your messages are not encrypted anymore" +#: dist/converse-no-dependencies.js:45729 +msgid "Log out" msgstr "" -#: dist/converse-no-dependencies.js:31040 -msgid "" -"Your messages are now encrypted but your contact's identity has not been " -"verified." +#: dist/converse-no-dependencies.js:45730 +msgid "Your profile" msgstr "" -#: dist/converse-no-dependencies.js:31042 -msgid "Your contact's identify has been verified." +#: dist/converse-no-dependencies.js:45753 +msgid "Are you sure you want to log out?" msgstr "" -#: dist/converse-no-dependencies.js:31044 -msgid "Your contact has ended encryption on their end, you should do the same." +#: dist/converse-no-dependencies.js:45761 +#: dist/converse-no-dependencies.js:45771 +msgid "online" msgstr "" -#: dist/converse-no-dependencies.js:31054 -msgid "Your message could not be sent" +#: dist/converse-no-dependencies.js:45763 +msgid "busy" msgstr "" -#: dist/converse-no-dependencies.js:31056 -msgid "We received an unencrypted message" +#: dist/converse-no-dependencies.js:45765 +msgid "away for long" msgstr "" -#: dist/converse-no-dependencies.js:31058 -msgid "We received an unreadable encrypted message" +#: dist/converse-no-dependencies.js:45767 +msgid "away" msgstr "" -#: dist/converse-no-dependencies.js:31084 -#, javascript-format -msgid "" -"Here are the fingerprints, please confirm them with %1$s, outside of this " -"chat.\n" -"\n" -"Fingerprint for you, %2$s: %3$s\n" -"\n" -"Fingerprint for %1$s: %4$s\n" -"\n" -"If you have confirmed that the fingerprints match, click OK, otherwise click " -"Cancel." +#: dist/converse-no-dependencies.js:45769 +msgid "offline" msgstr "" -#: dist/converse-no-dependencies.js:31096 -msgid "" -"You will be prompted to provide a security question and then an answer to " -"that question.\n" -"\n" -"Your contact will then be prompted the same question and if they type the " -"exact same answer (case sensitive), their identity will be verified." -msgstr "" - -#: dist/converse-no-dependencies.js:31097 -msgid "What is your security question?" -msgstr "" - -#: dist/converse-no-dependencies.js:31100 -msgid "What is the answer to the security question?" -msgstr "" - -#: dist/converse-no-dependencies.js:31104 -msgid "Invalid authentication scheme provided" -msgstr "" - -#: dist/converse-no-dependencies.js:31121 -msgid "Your messages are not encrypted. Click here to enable OTR encryption." -msgstr "" - -#: dist/converse-no-dependencies.js:31123 -msgid "Your messages are encrypted, but your contact has not been verified." -msgstr "" - -#: dist/converse-no-dependencies.js:31125 -msgid "Your messages are encrypted and your contact verified." -msgstr "" - -#: dist/converse-no-dependencies.js:31127 -msgid "" -"Your contact has closed their end of the private session, you should do the " -"same" -msgstr "" - -#: dist/converse-no-dependencies.js:31141 -msgid "End encrypted conversation" -msgstr "" - -#: dist/converse-no-dependencies.js:31142 -msgid "Refresh encrypted conversation" -msgstr "" - -#: dist/converse-no-dependencies.js:31143 -msgid "Start encrypted conversation" -msgstr "" - -#: dist/converse-no-dependencies.js:31144 -msgid "Verify with fingerprints" -msgstr "" - -#: dist/converse-no-dependencies.js:31145 -msgid "Verify with SMP" -msgstr "" - -#: dist/converse-no-dependencies.js:31146 -msgid "What's this?" -msgstr "" - -#. Translation aware constants -#. --------------------------- -#. We can only call the __ translation method *after* converse.js -#. has been initialized and with it the i18n machinery. That's why -#. we do it here in the "initialize" method and not at the top of -#. the module. -#: dist/converse-no-dependencies.js:31189 -msgid "unencrypted" -msgstr "" - -#: dist/converse-no-dependencies.js:31190 -msgid "unverified" -msgstr "" - -#: dist/converse-no-dependencies.js:31191 -msgid "verified" -msgstr "" - -#: dist/converse-no-dependencies.js:31192 -msgid "finished" -msgstr "" - -#: dist/converse-no-dependencies.js:31788 -#, javascript-format -msgid "Sorry, there was an error while trying to add %1$s as a contact." -msgstr "" - -#: dist/converse-no-dependencies.js:31936 -msgid "This client does not allow presence subscriptions" -msgstr "" - -#: dist/converse-no-dependencies.js:32028 -msgid "Click to hide these contacts" -msgstr "" - -#: dist/converse-no-dependencies.js:32112 -msgid "Don't have a chat account?" -msgstr "" - -#: dist/converse-no-dependencies.js:32114 -msgid "Create an account" -msgstr "" - -#: dist/converse-no-dependencies.js:32126 -msgid "Create your account" -msgstr "" - -#: dist/converse-no-dependencies.js:32128 -msgid "Please enter the XMPP provider to register with:" -msgstr "" - -#: dist/converse-no-dependencies.js:32148 -msgid "Already have a chat account?" -msgstr "" - -#: dist/converse-no-dependencies.js:32150 -msgid "Log in here" -msgstr "" - -#: dist/converse-no-dependencies.js:32162 -msgid "Account Registration:" -msgstr "" - -#: dist/converse-no-dependencies.js:32170 -msgid "Register" -msgstr "" - -#: dist/converse-no-dependencies.js:32174 -msgid "Choose a different provider" -msgstr "" - -#: dist/converse-no-dependencies.js:32186 -msgid "Hold tight, we're fetching the registration form…" -msgstr "" - -#: dist/converse-no-dependencies.js:32321 +#: dist/converse-no-dependencies.js:45923 msgid " e.g. conversejs.org" msgstr "" -#: dist/converse-no-dependencies.js:32367 +#: dist/converse-no-dependencies.js:45970 msgid "Fetch registration form" msgstr "" -#: dist/converse-no-dependencies.js:32368 +#: dist/converse-no-dependencies.js:45971 msgid "Tip: A list of public XMPP providers is available" msgstr "" -#: dist/converse-no-dependencies.js:32369 +#: dist/converse-no-dependencies.js:45972 msgid "here" msgstr "" -#: dist/converse-no-dependencies.js:32417 +#: dist/converse-no-dependencies.js:46020 msgid "Sorry, we're unable to connect to your chosen provider." msgstr "" -#: dist/converse-no-dependencies.js:32433 +#: dist/converse-no-dependencies.js:46036 msgid "" "Sorry, the given provider does not support in band account registration. " "Please try with a different provider." msgstr "" -#: dist/converse-no-dependencies.js:32457 +#: dist/converse-no-dependencies.js:46060 #, javascript-format msgid "" "Something went wrong while establishing a connection with \"%1$s\". Are you " "sure it exists?" msgstr "" -#: dist/converse-no-dependencies.js:32620 +#: dist/converse-no-dependencies.js:46223 msgid "Now logging you in" msgstr "" -#: dist/converse-no-dependencies.js:32624 +#: dist/converse-no-dependencies.js:46227 msgid "Registered successfully" msgstr "" -#: dist/converse-no-dependencies.js:32733 +#: dist/converse-no-dependencies.js:46336 msgid "" "The provider rejected your registration attempt. Please check the values you " "entered for correctness." msgstr "" -#: dist/converse-no-dependencies.js:33149 +#: dist/converse-no-dependencies.js:46705 msgid "Click to toggle the rooms list" msgstr "" -#: dist/converse-no-dependencies.js:33150 +#: dist/converse-no-dependencies.js:46706 msgid "Open Rooms" msgstr "" -#: dist/converse-no-dependencies.js:33194 +#: dist/converse-no-dependencies.js:46750 #, javascript-format msgid "Are you sure you want to leave the room %1$s?" msgstr "" + +#: dist/converse-no-dependencies.js:47359 +#, javascript-format +msgid "Sorry, there was an error while trying to add %1$s as a contact." +msgstr "" + +#: dist/converse-no-dependencies.js:47570 +msgid "This client does not allow presence subscriptions" +msgstr "" + +#: dist/converse-no-dependencies.js:47678 +msgid "Click to hide these contacts" +msgstr "" + +#: dist/converse-no-dependencies.js:47877 +msgid "This contact is busy" +msgstr "" + +#: dist/converse-no-dependencies.js:47878 +msgid "This contact is online" +msgstr "" + +#: dist/converse-no-dependencies.js:47879 +msgid "This contact is offline" +msgstr "" + +#: dist/converse-no-dependencies.js:47880 +msgid "This contact is unavailable" +msgstr "" + +#: dist/converse-no-dependencies.js:47881 +msgid "This contact is away for an extended period" +msgstr "" + +#: dist/converse-no-dependencies.js:47882 +msgid "This contact is away" +msgstr "" + +#: dist/converse-no-dependencies.js:47887 +msgid "Groups" +msgstr "" + +#: dist/converse-no-dependencies.js:47889 +msgid "My contacts" +msgstr "" + +#: dist/converse-no-dependencies.js:47891 +msgid "Pending contacts" +msgstr "" + +#: dist/converse-no-dependencies.js:47893 +msgid "Contact requests" +msgstr "" + +#: dist/converse-no-dependencies.js:47895 +msgid "Ungrouped" +msgstr "" + +#: dist/converse-no-dependencies.js:47938 +msgid "Contact name" +msgstr "" + +#: dist/converse-no-dependencies.js:47941 +msgid "Add a Contact" +msgstr "" + +#: dist/converse-no-dependencies.js:47942 +msgid "XMPP Address" +msgstr "" + +#: dist/converse-no-dependencies.js:47944 +msgid "name@example.org" +msgstr "" + +#: dist/converse-no-dependencies.js:47945 +msgid "Add" +msgstr "" + +#: dist/converse-no-dependencies.js:48053 +msgid "Filter" +msgstr "" + +#: dist/converse-no-dependencies.js:48054 +msgid "Filter by contact name" +msgstr "" + +#: dist/converse-no-dependencies.js:48055 +msgid "Filter by group name" +msgstr "" + +#: dist/converse-no-dependencies.js:48056 +msgid "Filter by status" +msgstr "" + +#: dist/converse-no-dependencies.js:48057 +msgid "Any" +msgstr "" + +#: dist/converse-no-dependencies.js:48058 +msgid "Unread" +msgstr "" + +#: dist/converse-no-dependencies.js:48060 +msgid "Chatty" +msgstr "" + +#: dist/converse-no-dependencies.js:48063 +msgid "Extended Away" +msgstr "" + +#: dist/converse-no-dependencies.js:48219 +#: dist/converse-no-dependencies.js:48261 +#, javascript-format +msgid "Click to remove %1$s as a contact" +msgstr "" + +#: dist/converse-no-dependencies.js:48228 +#, javascript-format +msgid "Click to accept the contact request from %1$s" +msgstr "" + +#: dist/converse-no-dependencies.js:48229 +#, javascript-format +msgid "Click to decline the contact request from %1$s" +msgstr "" + +#: dist/converse-no-dependencies.js:48260 +#, javascript-format +msgid "Click to chat with %1$s (JID: %2$s)" +msgstr "" + +#: dist/converse-no-dependencies.js:48337 +msgid "Are you sure you want to decline this contact request?" +msgstr "" + +#: dist/converse-no-dependencies.js:48607 +msgid "Add a contact" +msgstr "" + +#: dist/converse-no-dependencies.js:50080 +msgid "Room Address (JID)" +msgstr "" + +#: dist/converse-no-dependencies.js:50084 +msgid "Title" +msgstr "" + +#: dist/converse-no-dependencies.js:50088 +msgid "Description" +msgstr "" + +#: dist/converse-no-dependencies.js:51158 +msgid "XMPP Username:" +msgstr "" + +#: dist/converse-no-dependencies.js:51164 +msgid "Password:" +msgstr "" + +#: dist/converse-no-dependencies.js:51166 +msgid "password" +msgstr "" + +#: dist/converse-no-dependencies.js:51174 +msgid "This is a trusted device" +msgstr "" + +#: dist/converse-no-dependencies.js:51176 +msgid "" +"To improve performance, we cache your data in this browser. Uncheck this box " +"if this is a public computer or if you want your data to be deleted when you " +"log out. It's important that you explicitly log out, otherwise not all " +"cached data might be deleted." +msgstr "" + +#: dist/converse-no-dependencies.js:51178 +msgid "Log in" +msgstr "" + +#: dist/converse-no-dependencies.js:51184 +msgid "Click here to log in anonymously" +msgstr "" + +#: dist/converse-no-dependencies.js:51526 +msgid "Don't have a chat account?" +msgstr "" + +#: dist/converse-no-dependencies.js:51528 +msgid "Create an account" +msgstr "" + +#: dist/converse-no-dependencies.js:51549 +msgid "Create your account" +msgstr "" + +#: dist/converse-no-dependencies.js:51551 +msgid "Please enter the XMPP provider to register with:" +msgstr "" + +#: dist/converse-no-dependencies.js:51571 +msgid "Already have a chat account?" +msgstr "" + +#: dist/converse-no-dependencies.js:51573 +msgid "Log in here" +msgstr "" + +#: dist/converse-no-dependencies.js:51594 +msgid "Account Registration:" +msgstr "" + +#: dist/converse-no-dependencies.js:51602 +msgid "Register" +msgstr "" + +#: dist/converse-no-dependencies.js:51606 +msgid "Choose a different provider" +msgstr "" + +#: dist/converse-no-dependencies.js:51627 +msgid "Hold tight, we're fetching the registration form…" +msgstr "" + +#: dist/converse-no-dependencies.js:52762 +#: dist/converse-no-dependencies.js:52791 +msgid "Download" +msgstr "" + +#: dist/converse-no-dependencies.js:52781 +#, javascript-format +msgid "Download: \"%1$s" +msgstr "" + +#: dist/converse-no-dependencies.js:52804 +msgid "Download video file" +msgstr "" + +#: dist/converse-no-dependencies.js:52817 +msgid "Download audio file" +msgstr "" diff --git a/sass/_chatrooms.scss b/sass/_chatrooms.scss index 21148aad9..d8d9f9eb2 100644 --- a/sass/_chatrooms.scss +++ b/sass/_chatrooms.scss @@ -7,6 +7,31 @@ } } + #room-details-modal { + .features-list { + margin-left: 1em; + } + } + + .chatroom-features { + width: 100%; + .features-list { + padding-top: 0; + .feature { + width: 100%; + margin-right: 0.5em; + padding-right: 0; + font-size: 1em; + cursor: help; + .fa { + margin-right: 0.5em; + color: $text-color; + } + } + } + } + + .chat-head-chatroom { background-color: $chatroom-head-color; @@ -133,16 +158,6 @@ } } - .chatroom-features { - width: 100%; - .feature { - float: left; - margin-right: 0.5em; - padding-right: 0; - font-size: 1em; - cursor: help; - } - } .awesomplete { ul { padding: 0; @@ -164,15 +179,6 @@ flex-grow: 1; border-bottom: 1px solid lightgrey; } - &.features-list { - padding-top: 0; - .feature { - width: 100%; - .fa { - color: $text-color; - } - } - } li { cursor: default; display: block; diff --git a/sass/_core.scss b/sass/_core.scss index 6426f77d2..c5781993c 100644 --- a/sass/_core.scss +++ b/sass/_core.scss @@ -159,6 +159,10 @@ body.reset { font-weight: 700; } + em { + font-style: italic; + } + ol, ul { list-style: none; } diff --git a/spec/chatroom.js b/spec/chatroom.js index f3401f524..f6150bea0 100644 --- a/spec/chatroom.js +++ b/spec/chatroom.js @@ -814,9 +814,8 @@ .c('field', {'type':'text-single', 'var':'muc#roominfo_occupants', 'label':'Number of occupants'}) .c('value').t(0); _converse.connection._dataRecv(test_utils.createRequest(features_stanza)); - test_utils.waitUntil(function () { - return _.get(view.el.querySelector('.chatroom-description'), 'textContent'); - }).then(function () { + test_utils.waitUntil(() => _.get(view.el.querySelector('.chatroom-description'), 'textContent')) + .then(function () { expect($(view.el.querySelector('.chatroom-description')).text()).toBe('This is the description'); done(); }); @@ -1842,7 +1841,7 @@ _converse.connection._dataRecv(test_utils.createRequest(features_stanza)); var view = _converse.chatboxviews.get('coven@chat.shakespeare.lit'); - expect(view.model.get('features_fetched')).toBe(true); + expect(view.model.get('features_fetched')).toBeTruthy(); expect(view.model.get('passwordprotected')).toBe(true); expect(view.model.get('hidden')).toBe(true); expect(view.model.get('temporary')).toBe(true); diff --git a/spec/roomslist.js b/spec/roomslist.js index 1973f10ea..c8f5cbe3a 100644 --- a/spec/roomslist.js +++ b/spec/roomslist.js @@ -3,11 +3,15 @@ } (this, function (jasmine, mock, test_utils) { var _ = converse.env._; var $msg = converse.env.$msg; + var $iq = converse.env.$iq; + var $pres = converse.env.$pres; var Promise = converse.env.Promise; + var Strophe = converse.env.Strophe; + var u = converse.env.utils; - describe("The converse-roomslist plugin", function () { + describe("A list of open rooms", function () { - it("is shown under a list of open rooms in the \"Rooms\" panel", mock.initConverseWithPromises( + it("is shown in the \"Rooms\" panel", mock.initConverseWithPromises( null, ['rosterGroupsFetched'], { allow_bookmarks: false // Makes testing easier, otherwise we // have to mock stanza traffic. @@ -50,7 +54,104 @@ )); }); - describe("An room shown in the rooms list", function () { + describe("A room shown in the rooms list", function () { + + it("has an info icon which opens a details modal when clicked", mock.initConverseWithPromises( + null, ['rosterGroupsFetched'], + { whitelisted_plugins: ['converse-roomslist'], + allow_bookmarks: false // Makes testing easier, otherwise we + // have to mock stanza traffic. + }, function (done, _converse) { + + test_utils.openControlBox(); + _converse.api.rooms.open('coven@chat.shakespeare.lit', {'nick': 'some1'}); + const view = _converse.chatboxviews.get('coven@chat.shakespeare.lit'); + const last_stanza = _.last(_converse.connection.IQ_stanzas).nodeTree; + const IQ_id = last_stanza.getAttribute('id'); + const features_stanza = $iq({ + 'from': 'coven@chat.shakespeare.lit', + 'id': IQ_id, + 'to': 'dummy@localhost/desktop', + 'type': 'result' + }) + .c('query', { 'xmlns': 'http://jabber.org/protocol/disco#info'}) + .c('identity', { + 'category': 'conference', + 'name': 'A Dark Cave', + 'type': 'text' + }).up() + .c('feature', {'var': 'http://jabber.org/protocol/muc'}).up() + .c('feature', {'var': 'muc_passwordprotected'}).up() + .c('feature', {'var': 'muc_hidden'}).up() + .c('feature', {'var': 'muc_temporary'}).up() + .c('feature', {'var': 'muc_open'}).up() + .c('feature', {'var': 'muc_unmoderated'}).up() + .c('feature', {'var': 'muc_nonanonymous'}).up() + .c('feature', {'var': 'urn:xmpp:mam:0'}).up() + .c('x', { 'xmlns':'jabber:x:data', 'type':'result'}) + .c('field', {'var':'FORM_TYPE', 'type':'hidden'}) + .c('value').t('http://jabber.org/protocol/muc#roominfo').up().up() + .c('field', {'type':'text-single', 'var':'muc#roominfo_description', 'label':'Description'}) + .c('value').t('This is the description').up().up() + .c('field', {'type':'text-single', 'var':'muc#roominfo_occupants', 'label':'Number of occupants'}) + .c('value').t(0); + _converse.connection._dataRecv(test_utils.createRequest(features_stanza)); + + test_utils.waitUntil(() => view.model.get('connection_status') === converse.ROOMSTATUS.CONNECTING) + .then(function () { + var presence = $pres({ + to: _converse.connection.jid, + from: 'coven@chat.shakespeare.lit/some1', + id: 'DC352437-C019-40EC-B590-AF29E879AF97' + }).c('x').attrs({xmlns:'http://jabber.org/protocol/muc#user'}) + .c('item').attrs({ + affiliation: 'member', + jid: _converse.bare_jid, + role: 'participant' + }).up() + .c('status').attrs({code:'110'}); + _converse.connection._dataRecv(test_utils.createRequest(presence)); + + const room_els = _converse.rooms_list_view.el.querySelectorAll(".open-room"); + expect(room_els.length).toBe(1); + var info_el = _converse.rooms_list_view.el.querySelector(".room-info"); + info_el.click(); + + const modal = view.model.room_details_modal; + return test_utils.waitUntil(() => u.isVisible(modal.el), 2000); + }).then(() => { + const modal = view.model.room_details_modal; + let els = modal.el.querySelectorAll('p.room-info'); + expect(els[0].textContent).toBe("Room address (JID): coven@chat.shakespeare.lit") + expect(els[1].textContent).toBe("Name: A Dark Cave") + expect(els[2].textContent).toBe("Description: This is the description") + expect(els[3].textContent).toBe("Online users: 1") + const features_list = modal.el.querySelector('.features-list'); + expect(features_list.textContent.replace(/(\n|\s{2,})/g, '')).toBe( + 'Password protected - This room requires a password before entry'+ + 'Hidden - This room is not publicly searchable'+ + 'Open - Anyone can join this room'+ + 'Temporary - This room will disappear once the last person leaves'+ + 'Not anonymous - All other room occupants can see your XMPP username'+ + 'Not moderated - This room is not being moderated' + ); + const presence = $pres({ + to: 'dummy@localhost/_converse.js-29092160', + from: 'coven@chat.shakespeare.lit/newguy' + }) + .c('x', {xmlns: Strophe.NS.MUC_USER}) + .c('item', { + 'affiliation': 'none', + 'jid': 'newguy@localhost/_converse.js-290929789', + 'role': 'participant' + }); + _converse.connection._dataRecv(test_utils.createRequest(presence)); + + els = modal.el.querySelectorAll('p.room-info'); + expect(els[3].textContent).toBe("Online users: 2") + done(); + }); + })); it("can be closed", mock.initConverseWithPromises( null, ['rosterGroupsFetched'], diff --git a/spec/spoilers.js b/spec/spoilers.js index ffddf81e5..79c969548 100644 --- a/spec/spoilers.js +++ b/spec/spoilers.js @@ -1,7 +1,6 @@ (function (root, factory) { define(["jasmine", "mock", "test-utils"], factory); } (this, function (jasmine, mock, test_utils) { - var _ = converse.env._; var Strophe = converse.env.Strophe; var $msg = converse.env.$msg; diff --git a/src/converse-chatview.js b/src/converse-chatview.js index 5017d8cd3..cc50e8678 100644 --- a/src/converse-chatview.js +++ b/src/converse-chatview.js @@ -422,6 +422,7 @@ }, showUserDetailsModal (ev) { + ev.preventDefault(); if (_.isUndefined(this.user_details_modal)) { this.user_details_modal = new _converse.UserDetailsModal({model: this.model}); } diff --git a/src/converse-muc-views.js b/src/converse-muc-views.js index 86f7aa33a..7615a7374 100644 --- a/src/converse-muc-views.js +++ b/src/converse-muc-views.js @@ -11,6 +11,7 @@ "templates/add_chatroom_modal.html", "templates/chatarea.html", "templates/chatroom.html", + "templates/chatroom_details_modal.html", "templates/chatroom_disconnect.html", "templates/chatroom_features.html", "templates/chatroom_form.html", @@ -37,6 +38,7 @@ tpl_add_chatroom_modal, tpl_chatarea, tpl_chatroom, + tpl_chatroom_details_modal, tpl_chatroom_disconnect, tpl_chatroom_features, tpl_chatroom_form, @@ -482,6 +484,26 @@ }); + _converse.RoomDetailsModal = _converse.BootstrapModal.extend({ + + initialize () { + _converse.BootstrapModal.prototype.initialize.apply(this, arguments); + this.model.on('change', this.render, this); + this.model.occupants.on('change', this.render, this); + }, + + toHTML () { + return tpl_chatroom_details_modal(_.extend( + this.model.toJSON(), { + '__': __, + 'display_name': this.model.getDisplayName(), + 'num_occupants': this.model.occupants.length + }) + ); + } + }); + + _converse.ChatRoomView = _converse.ChatBoxView.extend({ /* Backbone.NativeView which renders a chat room, based upon the view * for normal one-on-one chat boxes. @@ -495,6 +517,7 @@ 'click .chatbox-navback': 'showControlBox', 'click .close-chatbox-button': 'close', 'click .configure-chatroom-button': 'getAndRenderConfigurationForm', + 'click .show-room-details-modal': 'showRoomDetailsModal', 'click .hide-occupants': 'hideOccupants', 'click .new-msgs-indicator': 'viewUnreadMessages', 'click .occupant-nick': 'onOccupantClicked', @@ -595,6 +618,14 @@ return this; }, + showRoomDetailsModal (ev) { + ev.preventDefault(); + if (_.isUndefined(this.model.room_details_modal)) { + this.model.room_details_modal = new _converse.RoomDetailsModal({'model': this.model}); + } + this.model.room_details_modal.show(ev); + }, + showChatStateNotification (message) { if (message.get('sender') === 'me') { return; @@ -632,10 +663,11 @@ */ return tpl_chatroom_head( _.extend(this.model.toJSON(), { - Strophe: Strophe, - info_close: __('Close and leave this room'), - info_configure: __('Configure this room'), - description: this.model.get('description') || '' + 'Strophe': Strophe, + 'info_close': __('Close and leave this room'), + 'info_configure': __('Configure this room'), + 'info_details': __('Show more details about this room'), + 'description': this.model.get('description') || '' })); }, @@ -1035,7 +1067,8 @@ this.closeForm(); }); - form_el.addEventListener('submit', (ev) => { + form_el.addEventListener('submit', + (ev) => { ev.preventDefault(); this.model.saveConfiguration(ev.target).then( this.model.getRoomFeatures.bind(this.model) @@ -1547,16 +1580,13 @@ _converse.RoomsPanel = Backbone.NativeView.extend({ /* Backbone.NativeView which renders MUC section of the control box. - * - * Chat rooms can be listed, joined and new rooms can be created. */ tagName: 'div', className: 'controlbox-section', id: 'chatrooms', events: { 'click a.chatbox-btn.show-add-muc-modal': 'showAddRoomModal', - 'click a.chatbox-btn.show-list-muc-modal': 'showListRoomsModal', - 'click a.room-info': 'toggleRoomInfo' + 'click a.chatbox-btn.show-list-muc-modal': 'showListRoomsModal' }, render () { @@ -1568,11 +1598,6 @@ return this; }, - toggleRoomInfo (ev) { - ev.preventDefault(); - toggleRoomInfo(ev); - }, - showAddRoomModal (ev) { if (_.isUndefined(this.add_room_modal)) { this.add_room_modal = new _converse.AddChatRoomModal({'model': this.model}); @@ -1703,34 +1728,8 @@ el.innerHTML = tpl_chatroom_features( _.extend(this.chatroomview.model.toJSON(), { - 'has_features': _.reduce(_.values(picks), iteratee), - 'label_features': __('Features'), - 'label_hidden': __('Hidden'), - 'label_mam_enabled': __('Message archiving'), - 'label_membersonly': __('Members only'), - 'label_moderated': __('Moderated'), - 'label_nonanonymous': __('Non-anonymous'), - 'label_open': __('Open'), - 'label_passwordprotected': __('Password protected'), - 'label_persistent': __('Persistent'), - 'label_public': __('Public'), - 'label_semianonymous': __('Semi-anonymous'), - 'label_temporary': __('Temporary'), - 'label_unmoderated': __('Unmoderated'), - 'label_unsecured': __('No password'), - 'tt_hidden': __('This room is not publicly searchable'), - 'tt_mam_enabled': __('Messages are archived on the server'), - 'tt_membersonly': __('This room is restricted to members only'), - 'tt_moderated': __('This room is being moderated'), - 'tt_nonanonymous': __('All other room occupants can see your XMPP username'), - 'tt_open': __('Anyone can join this room'), - 'tt_passwordprotected': __('This room requires a password before entry'), - 'tt_persistent': __('This room persists even if it\'s unoccupied'), - 'tt_public': __('This room is publicly searchable'), - 'tt_semianonymous': __('Only moderators can see your XMPP username'), - 'tt_temporary': __('This room will disappear once the last person leaves'), - 'tt_unmoderated': __('This room is not being moderated'), - 'tt_unsecured': __('This room does not require a password upon entry') + '__': __, + 'has_features': _.reduce(_.values(picks), iteratee) })); this.setOccupantsHeight(); return this; diff --git a/src/converse-muc.js b/src/converse-muc.js index d8b6f72be..3d5486345 100644 --- a/src/converse-muc.js +++ b/src/converse-muc.js @@ -246,6 +246,10 @@ this.handlers[type][name] = callback; }, + getDisplayName () { + return this.get('name') || this.get('jid'); + }, + join (nick, password) { /* Join the chat room. * @@ -430,7 +434,7 @@ * */ const features = { - 'features_fetched': true, + 'features_fetched': moment().format(), 'name': iq.querySelector('identity').getAttribute('name') } _.each(iq.querySelectorAll('feature'), function (field) { diff --git a/src/converse-roomslist.js b/src/converse-roomslist.js index 705a0d91b..ac4d1ae52 100644 --- a/src/converse-roomslist.js +++ b/src/converse-roomslist.js @@ -45,6 +45,7 @@ _converse.OpenRooms = Backbone.Collection.extend({ + comparator (room) { if (room.get('bookmarked')) { const bookmark = _.head(_converse.bookmarksview.model.where({'jid': room.get('jid')})); @@ -97,6 +98,10 @@ }); _converse.RoomsListElementView = Backbone.VDOMView.extend({ + events: { + 'click a.room-info': 'showRoomDetailsModal' + }, + initialize () { this.model.on('destroy', this.remove, this); this.model.on('remove', this.remove, this); @@ -106,15 +111,6 @@ this.model.on('change:num_unread_general', this.render, this); }, - getRoomsListElementName () { - if (this.model.get('bookmarked') && _converse.bookmarksview) { - const bookmark = _.head(_converse.bookmarksview.model.where({'jid': this.model.get('jid')})); - return bookmark.get('name'); - } else { - return this.model.get('name'); - } - }, - toHTML () { return tpl_rooms_list_item( _.extend(this.model.toJSON(), { @@ -130,9 +126,28 @@ 'name': this.getRoomsListElementName(), 'open_title': __('Click to open this room') })); + }, + + showRoomDetailsModal (ev) { + const room = _converse.chatboxes.get(this.model.get('jid')); + ev.preventDefault(); + if (_.isUndefined(room.room_details_modal)) { + room.room_details_modal = new _converse.RoomDetailsModal({'model': room}); + } + room.room_details_modal.show(ev); + }, + + getRoomsListElementName () { + if (this.model.get('bookmarked') && _converse.bookmarksview) { + const bookmark = _.head(_converse.bookmarksview.model.where({'jid': this.model.get('jid')})); + return bookmark.get('name'); + } else { + return this.model.get('name'); + } } }); + _converse.RoomsListView = Backbone.OrderedListView.extend({ tagName: 'div', className: 'open-rooms-list list-container rooms-list-container', diff --git a/src/templates/chatroom_details_modal.html b/src/templates/chatroom_details_modal.html new file mode 100644 index 000000000..de68d3795 --- /dev/null +++ b/src/templates/chatroom_details_modal.html @@ -0,0 +1,63 @@ + diff --git a/src/templates/chatroom_features.html b/src/templates/chatroom_features.html index c689c3df0..6f7c76bdb 100644 --- a/src/templates/chatroom_features.html +++ b/src/templates/chatroom_features.html @@ -1,44 +1,44 @@ {[ if (o.has_features) { ]} -

{{{o.label_features}}}

+

{{{o.__('Features')}}}

{[ } ]}
    {[ if (o.passwordprotected) { ]} -
  • {{{ o.label_passwordprotected }}}
  • +
  • {{{ o.__('Password protected') }}}
  • {[ } ]} {[ if (o.unsecured) { ]} -
  • {{{ o.label_unsecured }}}
  • +
  • {{{ o.__('No password') }}}
  • {[ } ]} {[ if (o.hidden) { ]} -
  • {{{ o.label_hidden }}}
  • +
  • {{{ o.__('Hidden') }}}
  • {[ } ]} {[ if (o.public_room) { ]} -
  • {{{ o.label_public }}}
  • +
  • {{{ o.__('Public') }}}
  • {[ } ]} {[ if (o.membersonly) { ]} -
  • {{{ o.label_membersonly }}}
  • +
  • {{{ o.__('Members only') }}}
  • {[ } ]} {[ if (o.open) { ]} -
  • {{{ o.label_open }}}
  • +
  • {{{ o.__('Open') }}}
  • {[ } ]} {[ if (o.persistent) { ]} -
  • {{{ o.label_persistent }}}
  • +
  • {{{ o.__('Persistent') }}}
  • {[ } ]} {[ if (o.temporary) { ]} -
  • {{{ o.label_temporary }}}
  • +
  • {{{ o.__('Temporary') }}}
  • {[ } ]} {[ if (o.nonanonymous) { ]} -
  • {{{ o.label_nonanonymous }}}
  • +
  • {{{ o.__('Not anonymous') }}}
  • {[ } ]} {[ if (o.semianonymous) { ]} -
  • {{{ o.label_semianonymous }}}
  • +
  • {{{ o.__('Semi-anonymous') }}}
  • {[ } ]} {[ if (o.moderated) { ]} -
  • {{{ o.label_moderated }}}
  • +
  • {{{ o.__('Moderated') }}}
  • {[ } ]} {[ if (o.unmoderated) { ]} -
  • {{{ o.label_unmoderated }}}
  • +
  • {{{ o.__('Not moderated') }}}
  • {[ } ]} {[ if (o.mam_enabled) { ]} -
  • {{{ o.label_mam_enabled }}}
  • +
  • {{{ o.__('Message archiving') }}}
  • {[ } ]}
diff --git a/src/templates/chatroom_head.html b/src/templates/chatroom_head.html index efaf7a05e..f848e0416 100644 --- a/src/templates/chatroom_head.html +++ b/src/templates/chatroom_head.html @@ -14,4 +14,5 @@ {[ if (o.affiliation == 'owner') { ]} {[ } ]} +