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

Reply via email to