commit 10238486e206d8d6221a0d47b1aff5fc91f2567f
parent e4c1e58abf2678eafe92aea4169445c71740978d
Author: Sergey Orlov <wladimirych@gmail.com>
Date: Wed, 24 Jun 2020 19:09:38 +0200
delay map and panorama resizing to avoid errors "ResizeObserver loop limit exceeded"
Diffstat:
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/lib/leaflet.control.panoramas/index.js b/src/lib/leaflet.control.panoramas/index.js
@@ -101,7 +101,10 @@ L.Control.Panoramas = L.Control.extend({
L.Control.prototype.initialize.call(this, options);
this.loadSettings();
this._panoramasContainer = L.DomUtil.create('div', 'panoramas-container');
- onElementResize(this._panoramasContainer, this.onContainerResize.bind(this));
+ onElementResize(
+ this._panoramasContainer,
+ L.Util.requestAnimFrame.bind(null, this.onContainerResize.bind(this))
+ );
this.providers = this.getProviders();
for (let provider of this.providers) {
provider.selected.subscribe(this.updateCoverageVisibility, this);
diff --git a/src/lib/leaflet.map.sidebars/index.js b/src/lib/leaflet.map.sidebars/index.js
@@ -7,7 +7,7 @@ const MapWithSidebars = L.Map.extend({
this._sidebarsContainer = L.DomUtil.get(id);
this.setupSidebarsLayout(this._sidebarsContainer);
L.Map.prototype.initialize.call(this, this._mapContainer, options);
- onElementResize(this._mapContainer, this.invalidateSize.bind(this));
+ onElementResize(this._mapContainer, L.Util.requestAnimFrame.bind(null, this.invalidateSize.bind(this)));
},
setupSidebarsLayout: function(container) {