X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/378d08f2c92adf0c1d14bbe09fcebe9f5e786409..77b4ff6ceb81a326b7ed3c80cf5d65ec2a2b18d5:/vendor/assets/leaflet/leaflet.locationfilter.js diff --git a/vendor/assets/leaflet/leaflet.locationfilter.js b/vendor/assets/leaflet/leaflet.locationfilter.js index a0019678c..9a0af4db4 100644 --- a/vendor/assets/leaflet/leaflet.locationfilter.js +++ b/vendor/assets/leaflet/leaflet.locationfilter.js @@ -114,8 +114,10 @@ L.LocationFilter = L.Class.extend({ onAdd: function(map) { this._map = map; - this._layer = new L.LayerGroup(); - this._initializeButtonContainer(); + + if (this.options.enableButton || this.options.adjustButton) { + this._initializeButtonContainer(); + } if (this.options.enable) { this.enable(); @@ -124,7 +126,9 @@ L.LocationFilter = L.Class.extend({ onRemove: function(map) { this.disable(); - this._buttonContainer.removeFrom(map); + if (this._buttonContainer) { + this._buttonContainer.removeFrom(map); + } }, /* Get the current filter bounds */ @@ -137,8 +141,10 @@ L.LocationFilter = L.Class.extend({ this._ne = bounds.getNorthEast(); this._sw = bounds.getSouthWest(); this._se = bounds.getSouthEast(); - this._draw(); - this.fire("change", {bounds: bounds}); + if (this.isEnabled()) { + this._draw(); + this.fire("change", {bounds: bounds}); + } }, isEnabled: function() { @@ -278,6 +284,8 @@ L.LocationFilter = L.Class.extend({ return; } + this._layer = new L.LayerGroup(); + // Calculate filter bounds this._calculateBounds(); @@ -287,7 +295,7 @@ L.LocationFilter = L.Class.extend({ this._eastRect = this._drawRectangle(this._eastBounds); this._southRect = this._drawRectangle(this._southBounds); this._innerRect = this._drawRectangle(this.getBounds(), { - fillColor: "transparent", + fillOpacity: 0, stroke: true, color: "white", weight: 1, @@ -371,7 +379,9 @@ L.LocationFilter = L.Class.extend({ // Update buttons - this._buttonContainer.addClass("enabled"); + if (this._buttonContainer) { + this._buttonContainer.addClass("enabled"); + } if (this._enableButton) { this._enableButton.setText(this.options.enableButton.disableText); @@ -415,7 +425,9 @@ L.LocationFilter = L.Class.extend({ } // Update buttons - this._buttonContainer.removeClass("enabled"); + if (this._buttonContainer) { + this._buttonContainer.removeClass("enabled"); + } if (this._enableButton) { this._enableButton.setText(this.options.enableButton.enableText); @@ -477,8 +489,6 @@ L.LocationFilter = L.Class.extend({ }).addTo(this._buttonContainer); } - if (this.options.enableButton || this.options.adjustButton) { - this._buttonContainer.addTo(this._map); - } + this._buttonContainer.addTo(this._map); } });