From 22b25a6d0787208c3d82864154c24737ab376885 Mon Sep 17 00:00:00 2001 From: Siarhei Bautrukevich Date: Tue, 24 Dec 2019 15:16:51 +0300 Subject: [PATCH 1/3] Remove $ from utils/pusher.js --- src/utils/pusher.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/utils/pusher.js b/src/utils/pusher.js index 2e31ca230..5ae24d449 100644 --- a/src/utils/pusher.js +++ b/src/utils/pusher.js @@ -1,5 +1,3 @@ -import $ from 'jquery' - import { Pusher } from '../vendor/pusher' // utils.pusher @@ -24,7 +22,7 @@ class ManagedPusher extends Pusher { unsubscribe(name) { super.unsubscribe(...arguments) // Schedule disconnect if no channels left. - if ($.isEmptyObject(this.channels.channels)) { + if (this.channels.channels && Object.keys(this.channels.channels).length === 0) { this.disconnectTimeout = setTimeout(() => { this.disconnectTimeout = null return this.disconnect() From 8bd75ffd70a215d3159356a3e6e4955d9525ab08 Mon Sep 17 00:00:00 2001 From: Siarhei Bautrukevich Date: Wed, 25 Dec 2019 10:51:10 +0300 Subject: [PATCH 2/3] Remove $ from messages.js --- src/utils.js | 22 +++++++++++++++++++++- src/utils/messages.js | 6 +++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/utils.js b/src/utils.js index 656f04a8d..a36747fc9 100644 --- a/src/utils.js +++ b/src/utils.js @@ -800,6 +800,25 @@ const extend = function() { return target } +const grep = (elems, callback, invert) => { + var callbackInverse + var matches = [] + var i = 0 + var length = elems.length + var callbackExpect = !invert + + // Go through the array, only saving the items + // that pass the validator function + for (; i < length; i++) { + callbackInverse = !callback(elems[i], i) + if (callbackInverse !== callbackExpect) { + matches.push(elems[i]) + } + } + + return matches +} + export { unique, defer, @@ -835,5 +854,6 @@ export { isFunction, callbacks, inArray, - extend + extend, + grep, } diff --git a/src/utils/messages.js b/src/utils/messages.js index f903b19ab..652364ff3 100644 --- a/src/utils/messages.js +++ b/src/utils/messages.js @@ -1,12 +1,12 @@ -import $ from 'jquery' import { isWindowDefined } from './is-window-defined' +import { grep } from '../utils' // utils var callbacks = {} isWindowDefined() && - $(window).on('message', ({ originalEvent: e }) => { + window.addEventListener('message', ({ originalEvent: e }) => { var i, item, len, message, ref, results try { message = JSON.parse(e.data) @@ -41,7 +41,7 @@ const registerMessage = function(type, sender, callback) { const unregisterMessage = function(type, sender) { if (type in callbacks) { - callbacks[type] = $.grep(callbacks[type], function(item) { + callbacks[type] = grep(callbacks[type], function(item) { return item[0] !== sender }) From 32608d5385f5fadc2cfe4582fd2eb0279db01fcc Mon Sep 17 00:00:00 2001 From: Siarhei Bautrukevich Date: Wed, 25 Dec 2019 11:30:26 +0300 Subject: [PATCH 3/3] Remove $ from image-loader.js --- src/utils/image-loader.js | 42 +++++++++++++++++++++------------- src/widget/tabs/preview-tab.js | 4 ++-- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/utils/image-loader.js b/src/utils/image-loader.js index b0ce04fec..3a56890f5 100644 --- a/src/utils/image-loader.js +++ b/src/utils/image-loader.js @@ -2,30 +2,34 @@ import $ from 'jquery' // utils const trackLoading = function(image, src) { - var def - def = $.Deferred() + let promiseResolve + let promiseReject + const promise = new Promise((resolve, reject) => { + resolve = promiseResolve + reject = promiseReject + }) if (src) { image.src = src } if (image.complete) { - def.resolve(image) + promiseResolve(image) } else { $(image).one('load', () => { - return def.resolve(image) + return promiseResolve(image) }) $(image).one('error', () => { - return def.reject(image) + return promiseReject(image) }) } - return def.promise() + return promise } const imageLoader = function(image) { // if argument is an array, treat as // load(['1.jpg', '2.jpg']) - if ($.isArray(image)) { - return $.when.apply(null, $.map(image, imageLoader)) + if (Array.isArray(image)) { + return $.when.apply(null, image.map(imageLoader)) } if (image.src) { return trackLoading(image) @@ -35,16 +39,22 @@ const imageLoader = function(image) { } const videoLoader = function(src) { - var def = $.Deferred() + let promiseResolve + let promiseReject + const promise = new Promise((resolve, reject) => { + resolve = promiseResolve + reject = promiseReject + }) + const video = document.createElement('video') - $('