loleaflet/src/control/Control.PartsPreview.js | 33 ++++++++++++-------------- 1 file changed, 16 insertions(+), 17 deletions(-)
New commits: commit 1eb1adc9dacc6e877c75f82ec1c8d1fe71a053b6 Author: Henry Castro <hcas...@collabora.com> AuthorDate: Tue Jan 8 11:23:52 2019 -0400 Commit: Henry Castro <hcas...@collabora.com> CommitDate: Tue Jan 8 16:47:24 2019 -0400 loleaflet: create only once slide sorter scrollbar affects performance recreating scrollbar each slide preview Change-Id: I2e414850b920de69da119dc57310d3960b5a343e diff --git a/loleaflet/src/control/Control.PartsPreview.js b/loleaflet/src/control/Control.PartsPreview.js index c5b24729c..f21d4811a 100644 --- a/loleaflet/src/control/Control.PartsPreview.js +++ b/loleaflet/src/control/Control.PartsPreview.js @@ -34,6 +34,7 @@ L.Control.PartsPreview = L.Control.extend({ if (!this._previewInitialized) { // make room for the preview + var control = this; var docContainer = this._map.options.documentContainer; L.DomUtil.addClass(docContainer, 'parts-preview-document'); setTimeout(L.bind(function () { @@ -43,6 +44,20 @@ L.Control.PartsPreview = L.Control.extend({ var previewContBB = this._partsPreviewCont.getBoundingClientRect(); this._previewContTop = previewContBB.top; var bottomBound = previewContBB.bottom + previewContBB.height / 2; + + $('#slide-sorter').mCustomScrollbar({ + axis: 'y', + theme: 'dark-thick', + scrollInertia: 0, + alwaysShowScrollbar: 1, + callbacks:{ + whileScrolling: function() { + control._onScroll(this); + } + } + }); + this._scrollContainer = $('#slide-sorter .mCSB_container').get(0); + for (var i = 0; i < parts; i++) { this._previewTiles.push(this._createPreview(i, e.partNames[i], bottomBound)); } @@ -65,7 +80,7 @@ L.Control.PartsPreview = L.Control.extend({ }, _createPreview: function (i, hashCode, bottomBound) { - var frame = L.DomUtil.create('div', 'preview-frame', this._partsPreviewCont); + var frame = L.DomUtil.create('div', 'preview-frame', this._scrollContainer); L.DomUtil.create('span', 'preview-helper', frame); var imgClassName = 'preview-img'; @@ -187,22 +202,6 @@ L.Control.PartsPreview = L.Control.extend({ _updatePreview: function (e) { if (this._map.getDocType() === 'presentation' || this._map.getDocType() === 'drawing') { - // the scrollbar has to be re-initialized here else it doesn't work - // probably a bug from the scrollbar - var control = this; - this._previewTiles[e.id].onload = function () { - $('#slide-sorter').mCustomScrollbar({ - axis: 'y', - theme: 'dark-thick', - scrollInertia: 0, - alwaysShowScrollbar: 1, - callbacks:{ - whileScrolling: function() { - control._onScroll(this); - } - } - }); - }; this._previewTiles[e.id].src = e.tile; } }, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits