loleaflet/src/control/Control.PartsPreview.js | 46 +++++++++++++------------- 1 file changed, 24 insertions(+), 22 deletions(-)
New commits: commit acb4f87bd48b71386afeb4b92ba5f8e827415411 Author: Henry Castro <hcas...@collabora.com> AuthorDate: Sat Nov 16 13:01:58 2019 -0400 Commit: Henry Castro <hcas...@collabora.com> CommitDate: Sat Nov 16 19:28:44 2019 +0100 loleaflet: defer request preview thumbnail task When mCustomScrollbar fires onScroll then queue the task to run as soon as the current synchronizing code. Change-Id: I761937a0ad181a42b592ad953cc7b83ea73a1b21 Reviewed-on: https://gerrit.libreoffice.org/82990 Reviewed-by: Henry Castro <hcas...@collabora.com> Tested-by: Henry Castro <hcas...@collabora.com> diff --git a/loleaflet/src/control/Control.PartsPreview.js b/loleaflet/src/control/Control.PartsPreview.js index 1dfa77f84..9a52aeb10 100644 --- a/loleaflet/src/control/Control.PartsPreview.js +++ b/loleaflet/src/control/Control.PartsPreview.js @@ -393,34 +393,36 @@ L.Control.PartsPreview = L.Control.extend({ }, _onScroll: function (e) { - var scrollOffset = 0; - if (e) { - var prevScrollY = this._scrollY; - this._scrollY = this._direction === 'x' ? -e.mcs.left : -e.mcs.top; - scrollOffset = this._scrollY - prevScrollY; - } + setTimeout(L.bind(function (e) { + var scrollOffset = 0; + if (e) { + var prevScrollY = this._scrollY; + this._scrollY = this._direction === 'x' ? -e.mcs.left : -e.mcs.top; + scrollOffset = this._scrollY - prevScrollY; + } - var previewContBB = this._partsPreviewCont.getBoundingClientRect(); - var extra = this._direction === 'x' ? previewContBB.width : previewContBB.height; - var topBound = this._previewContTop - (scrollOffset < 0 ? extra : extra / 2); - var bottomBound = this._previewContTop + extra + (scrollOffset > 0 ? extra : extra / 2); - for (var i = 0; i < this._previewTiles.length; ++i) { - var img = this._previewTiles[i]; - if (img && img.parentNode && !img.fetched) { - var previewFrameBB = img.parentNode.getBoundingClientRect(); - if (this._direction === 'x') { - if ((previewFrameBB.left >= topBound && previewFrameBB.left <= bottomBound) - || (previewFrameBB.right >= topBound && previewFrameBB.right <= bottomBound)) { + var previewContBB = this._partsPreviewCont.getBoundingClientRect(); + var extra = this._direction === 'x' ? previewContBB.width : previewContBB.height; + var topBound = this._previewContTop - (scrollOffset < 0 ? extra : extra / 2); + var bottomBound = this._previewContTop + extra + (scrollOffset > 0 ? extra : extra / 2); + for (var i = 0; i < this._previewTiles.length; ++i) { + var img = this._previewTiles[i]; + if (img && img.parentNode && !img.fetched) { + var previewFrameBB = img.parentNode.getBoundingClientRect(); + if (this._direction === 'x') { + if ((previewFrameBB.left >= topBound && previewFrameBB.left <= bottomBound) + || (previewFrameBB.right >= topBound && previewFrameBB.right <= bottomBound)) { + this._map.getPreview(i, i, this.options.maxWidth, this.options.maxHeight, {autoUpdate: this.options.autoUpdate}); + img.fetched = true; + } + } else if ((previewFrameBB.top >= topBound && previewFrameBB.top <= bottomBound) + || (previewFrameBB.bottom >= topBound && previewFrameBB.bottom <= bottomBound)) { this._map.getPreview(i, i, this.options.maxWidth, this.options.maxHeight, {autoUpdate: this.options.autoUpdate}); img.fetched = true; } - } else if ((previewFrameBB.top >= topBound && previewFrameBB.top <= bottomBound) - || (previewFrameBB.bottom >= topBound && previewFrameBB.bottom <= bottomBound)) { - this._map.getPreview(i, i, this.options.maxWidth, this.options.maxHeight, {autoUpdate: this.options.autoUpdate}); - img.fetched = true; } } - } + }, this, e), 0); }, _addDnDHandlers: function (elem) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits