[Libreoffice-commits] online.git: loleaflet/src

Szymon KÅ‚os (via logerrit) logerrit at kemper.freedesktop.org
Fri Jul 31 07:08:01 UTC 2020


 loleaflet/src/layer/marker/ProgressOverlay.js |   22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

New commits:
commit 40e39b00abc24a7fb642b5b496120910fbb356a8
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Jul 29 20:57:18 2020 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Fri Jul 31 09:07:42 2020 +0200

    Add progressbar on demand
    
    This fixes bug in Android app where progressbar
    was added without any condition.
    
    Change-Id: I535001fce4ae37da4f5dc87031d9c15db043d655
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/99731
    Tested-by: Jenkins
    Tested-by: Szymon Kłos <szymon.klos at collabora.com>
    Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>

diff --git a/loleaflet/src/layer/marker/ProgressOverlay.js b/loleaflet/src/layer/marker/ProgressOverlay.js
index 222d376f7..ea8da83f7 100644
--- a/loleaflet/src/layer/marker/ProgressOverlay.js
+++ b/loleaflet/src/layer/marker/ProgressOverlay.js
@@ -3,7 +3,7 @@
  * L.ProgressOverlay is used to overlay progress images over the map.
  */
 
- /* global brandProductName */
+ /* global brandProductName $ */
 L.ProgressOverlay = L.Layer.extend({
 
 	options: {
@@ -17,8 +17,9 @@ L.ProgressOverlay = L.Layer.extend({
 		this.intervalTimer = undefined;
 	},
 
+	// create layout but don't add to the DOM yet
 	_initLayout: function () {
-		this._container = L.DomUtil.create('div', 'leaflet-progress-layer', L.DomUtil.get('document-container'));
+		this._container = L.DomUtil.create('div', 'leaflet-progress-layer');
 		this._spinner = L.DomUtil.create('div', 'leaflet-progress-spinner', this._container);
 		this._spinnerCanvas = L.DomUtil.create('canvas', 'leaflet-progress-spinner-canvas', this._spinner);
 
@@ -51,6 +52,16 @@ L.ProgressOverlay = L.Layer.extend({
 		this._spinnerInterval = undefined;
 	},
 
+	showSpinner: function() {
+		L.DomUtil.get('document-container').appendChild(this._container);
+		this._spinnerInterval = L.LOUtil.startSpinner(this._spinnerCanvas, this.options.spinnerSpeed);
+	},
+
+	hideSpinner: function() {
+		if (this._container)
+			$(this._container).remove();
+	},
+
 	// Show the progress bar, but only if things seem slow
 	delayedStart: function(map, label, bar) {
 		this.setLabel(label);
@@ -67,7 +78,7 @@ L.ProgressOverlay = L.Layer.extend({
 				switch (self.state) {
 				// 0.5s -> start the spinner
 				case 1:
-					self._spinnerInterval = L.LOUtil.startSpinner(self._spinnerCanvas, self.options.spinnerSpeed);
+					self.showSpinner();
 					break;
 				// 2s -> enable the progress bar if we have one & it's low
 				case 4:
@@ -85,10 +96,7 @@ L.ProgressOverlay = L.Layer.extend({
 	// Hide ourselves if there is anything to hide
 	end: function() {
 		this.shutdownTimer();
-
-		if (this._container)
-			L.DomUtil.get('document-container').removeChild(this._container);
-		this._container = undefined;
+		this.hideSpinner();
 	},
 
 	setLabel: function (label) {


More information about the Libreoffice-commits mailing list