loleaflet/src/control/Control.PartsPreview.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)
New commits: commit 1990c9d15a19f29466294c17c98dba00a89118dc Author: Marco Cecchetti <[email protected]> Date: Sun Jun 24 22:05:29 2018 +0200 On-demand loading of previews in the Online Draw/Impress - follow up setting extra bounds for fetching some further previews even if not visible. Change-Id: I83b403cbb131e898a5064e017502edd7251bd242 Reviewed-on: https://gerrit.libreoffice.org/56407 Reviewed-by: Jan Holesovsky <[email protected]> Tested-by: Jan Holesovsky <[email protected]> diff --git a/loleaflet/src/control/Control.PartsPreview.js b/loleaflet/src/control/Control.PartsPreview.js index 2b0a70f1b..cd549b32c 100644 --- a/loleaflet/src/control/Control.PartsPreview.js +++ b/loleaflet/src/control/Control.PartsPreview.js @@ -89,6 +89,7 @@ L.Control.PartsPreview = L.Control.extend({ previewFrameTop = this._previewContTop + this._previewFrameMargin + i * (this._previewFrameHeight + this._previewFrameMargin); previewFrameTop -= this._scrollY; previewFrameBottom = previewFrameTop + this._previewFrameHeight; + L.DomUtil.setStyle(img, 'height', this._previewImgHeight + 'px'); } var imgSize; @@ -96,6 +97,7 @@ L.Control.PartsPreview = L.Control.extend({ || (previewFrameBottom >= topBound && previewFrameBottom <= bottomBound)) { imgSize = this._map.getPreview(i, i, 180, 180, {autoUpdate: this.options.autoUpdate}); img.fetched = true; + L.DomUtil.setStyle(img, 'height', ''); } if (i === 0) { @@ -106,6 +108,7 @@ L.Control.PartsPreview = L.Control.extend({ imgHeight = Math.round(imgHeight * previewImgMinWidth / imgSize.width); var previewFrameBB = frame.getBoundingClientRect(); this._previewFrameMargin = previewFrameBB.top - this._previewContTop; + this._previewImgHeight = imgHeight; this._previewFrameHeight = imgHeight + 2 * previewImgBorder; } @@ -235,11 +238,17 @@ L.Control.PartsPreview = L.Control.extend({ }, _onScroll: function (e) { - this._scrollY = -e.mcs.top; + var scrollOffset = 0; + if (e) { + var prevScrollY = this._scrollY; + this._scrollY = -e.mcs.top; + scrollOffset = this._scrollY - prevScrollY; + } var previewContBB = this._partsPreviewCont.getBoundingClientRect(); - var topBound = this._previewContTop - previewContBB.height / 2; - var bottomBound = topBound + previewContBB.height + previewContBB.height / 2; + var extra = previewContBB.height; + var topBound = this._previewContTop - (scrollOffset < 0 ? extra : previewContBB.height / 2); + var bottomBound = this._previewContTop + previewContBB.height + (scrollOffset > 0 ? extra : previewContBB.height / 2); for (var i = 0; i < this._previewTiles.length; ++i) { var img = this._previewTiles[i]; if (img && img.parentNode && !img.fetched) { _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
