Remove global event listener when appropriate.

Otherwise trimChats called in `fullscreen` tests (due to being
registered in a previous test)
This commit is contained in:
JC Brand 2018-12-15 19:38:09 +01:00
parent 9ff505fd66
commit 6ec183451d
3 changed files with 20 additions and 18 deletions

14
dist/converse.js vendored
View File

@ -53176,15 +53176,17 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_1__["default"].plugins
_converse.emit('minimizedChatsInitialized'); _converse.emit('minimizedChatsInitialized');
}).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL));
_converse.on('registeredGlobalEventHandlers', function () { const debouncedTrim = _.debounce(ev => {
window.addEventListener("resize", _.debounce(function (ev) {
if (_converse.connection.connected) { if (_converse.connection.connected) {
_converse.chatboxviews.trimChats(); _converse.chatboxviews.trimChats();
} }
}, 200)); }, 200);
});
_converse.on('controlBoxOpened', function (chatbox) { _converse.api.listen.on('registeredGlobalEventHandlers', () => window.addEventListener("resize", debouncedTrim));
_converse.api.listen.on('unregisteredGlobalEventHandlers', () => window.removeEventListener("resize", debouncedTrim));
_converse.api.listen.on('controlBoxOpened', function (chatbox) {
// Wrapped in anon method because at scan time, chatboxviews // Wrapped in anon method because at scan time, chatboxviews
// attr not set yet. // attr not set yet.
if (_converse.connection.connected) { if (_converse.connection.connected) {
@ -62951,7 +62953,7 @@ function finishInitialization() {
function unregisterGlobalEventHandlers() { function unregisterGlobalEventHandlers() {
document.removeEventListener("visibilitychange", _converse.saveWindowState); document.removeEventListener("visibilitychange", _converse.saveWindowState);
_converse.emit('registeredGlobalEventHandlers'); _converse.emit('unregisteredGlobalEventHandlers');
} }
function cleanup() { function cleanup() {

View File

@ -517,15 +517,15 @@ converse.plugins.add('converse-minimize', {
}).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL)); }).catch(_.partial(_converse.log, _, Strophe.LogLevel.FATAL));
_converse.on('registeredGlobalEventHandlers', function () { const debouncedTrim = _.debounce(ev => {
window.addEventListener("resize", _.debounce(function (ev) {
if (_converse.connection.connected) { if (_converse.connection.connected) {
_converse.chatboxviews.trimChats(); _converse.chatboxviews.trimChats();
} }
}, 200)); }, 200);
}); _converse.api.listen.on('registeredGlobalEventHandlers', () => window.addEventListener("resize", debouncedTrim));
_converse.api.listen.on('unregisteredGlobalEventHandlers', () => window.removeEventListener("resize", debouncedTrim));
_converse.on('controlBoxOpened', function (chatbox) { _converse.api.listen.on('controlBoxOpened', function (chatbox) {
// Wrapped in anon method because at scan time, chatboxviews // Wrapped in anon method because at scan time, chatboxviews
// attr not set yet. // attr not set yet.
if (_converse.connection.connected) { if (_converse.connection.connected) {

View File

@ -435,7 +435,7 @@ function finishInitialization () {
function unregisterGlobalEventHandlers () { function unregisterGlobalEventHandlers () {
document.removeEventListener("visibilitychange", _converse.saveWindowState); document.removeEventListener("visibilitychange", _converse.saveWindowState);
_converse.emit('registeredGlobalEventHandlers'); _converse.emit('unregisteredGlobalEventHandlers');
} }
function cleanup () { function cleanup () {