[Libreoffice-commits] online.git: 2 commits - loleaflet/src
Michael Meeks (via logerrit)
logerrit at kemper.freedesktop.org
Fri Oct 4 16:12:54 UTC 2019
loleaflet/src/layer/marker/ProgressOverlay.js | 54 +++++++++++++++++++++++++-
loleaflet/src/layer/tile/TileLayer.js | 6 --
loleaflet/src/map/Map.js | 14 ------
3 files changed, 55 insertions(+), 19 deletions(-)
New commits:
commit 0cf416e736abfaa1d4d26674514040f2f43fc0a6
Author: Michael Meeks <michael.meeks at collabora.com>
AuthorDate: Fri Oct 4 17:11:46 2019 +0100
Commit: Michael Meeks <michael.meeks at collabora.com>
CommitDate: Fri Oct 4 17:12:32 2019 +0100
Spinner: accelerate the spin, and hold off showing the progress bar.
Ironically the progress bar makes people think something is slow.
Change-Id: I3fb85ba1a44cdb436159abe5448d71b666020c5c
diff --git a/loleaflet/src/layer/marker/ProgressOverlay.js b/loleaflet/src/layer/marker/ProgressOverlay.js
index 93835c583..7100243d8 100644
--- a/loleaflet/src/layer/marker/ProgressOverlay.js
+++ b/loleaflet/src/layer/marker/ProgressOverlay.js
@@ -6,13 +6,15 @@
L.ProgressOverlay = L.Layer.extend({
options: {
- spinnerSpeed: 15
+ spinnerSpeed: 30
},
initialize: function (latlng, size) {
this._latlng = L.latLng(latlng);
this._size = size;
+ this._percent = 0;
this._initLayout();
+ this.intervalTimer = undefined;
},
onAdd: function () {
@@ -67,6 +69,55 @@ L.ProgressOverlay = L.Layer.extend({
L.DomUtil.setPosition(this._container, pos);
},
+ shutdownTimer: function() {
+ if (this.intervalTimer)
+ clearInterval(this.intervalTimer);
+ this.intervalTimer = undefined;
+ },
+
+ // Show the progress bar, but only if things seem slow
+ delayedStart: function(map, label, bar) {
+ this.setLabel(label);
+ this.setBar(false);
+ this.setValue(0);
+
+ this.shutdownTimer();
+
+ var self = this;
+ self.state = 0;
+ this.intervalTimer = setInterval(
+ function() {
+ self.state = self.state + 1;
+ switch (self.state) {
+ // 0.5s -> start the spinner
+ case 1:
+ if (!map.hasLayer(self))
+ map.addLayer(self);
+ break;
+ // 2s -> enable the progress bar if we have one & it's low
+ case 4:
+ if (self._percent < 80)
+ self.setBar(bar);
+ break;
+ // 3s -> show the bar if it's not up.
+ case 6:
+ self.setBar(bar);
+ break;
+ }
+ if (!map.hasLayer(self)) {
+ map.addLayer(self);
+ }
+ }, 500 /* ms */);
+ },
+
+ // Hide ourselves if there is anything to hide
+ end: function(map) {
+ this.shutdownTimer();
+ if (map.hasLayer(this)) {
+ map.removeLayer(this);
+ }
+ },
+
setLabel: function (label) {
if (this._label.innerHTML !== label) {
this._label.innerHTML = label;
@@ -83,6 +134,7 @@ L.ProgressOverlay = L.Layer.extend({
},
setValue: function (value) {
+ this._percent = value;
this._bar.style.width = value + '%';
this._value.innerHTML = value + '%';
}
diff --git a/loleaflet/src/map/Map.js b/loleaflet/src/map/Map.js
index 1b5b78b68..f201ed847 100644
--- a/loleaflet/src/map/Map.js
+++ b/loleaflet/src/map/Map.js
@@ -425,22 +425,12 @@ L.Map = L.Evented.extend({
this.fire('showbusy', {label: label});
return;
}
-
- this._progressBar.setLabel(label);
- this._progressBar.setBar(bar);
- this._progressBar.setValue(0);
-
- if (!this.hasLayer(this._progressBar)) {
- this.addLayer(this._progressBar);
- }
+ this._progressBar.delayedStart(this, label, bar);
},
hideBusy: function () {
this.fire('hidebusy');
-
- if (this.hasLayer(this._progressBar)) {
- this.removeLayer(this._progressBar);
- }
+ this._progressBar.end(this);
},
setZoom: function (zoom, options) {
commit b8326b9caa2f85c957eb95a310a25ba34dab9001
Author: Michael Meeks <michael.meeks at collabora.com>
AuthorDate: Fri Oct 4 16:33:07 2019 +0100
Commit: Michael Meeks <michael.meeks at collabora.com>
CommitDate: Fri Oct 4 17:12:32 2019 +0100
Remove unused method.
Change-Id: Ibf50ddb79058e9793b0437bc265e3d8a1c25fc7c
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index db2da511d..1609b9ed0 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -1449,12 +1449,6 @@ L.TileLayer = L.GridLayer.extend({
this._updateReferenceMarks();
},
- _onTextSelectionContentMsg: function (textMsg) {
- this._selectionTextContent = textMsg.substr(22);
- this._map._clipboardContainer.setValue(this._selectionTextContent);
- this._map._clipboardContainer.select();
- },
-
_updateScrollOnCellSelection: function (oldSelection, newSelection) {
if (this._map._docLayer._docType === 'spreadsheet' && oldSelection) {
var mapBounds = this._map.getBounds();
More information about the Libreoffice-commits
mailing list