Skip to content

Commit

Permalink
Make sure DataLayer._dataloaded is set only once all data is imported
Browse files Browse the repository at this point in the history
When DataLayer._dataloaded is set, DataLayer.addLayer will send 'datachanged'
event (for once for each feature). When the data browser panel is open, the
browser is listening to 'datachanged' to rebuild itself.

Not sure this is the real final fix, but that may need more refactoring, so
I think this approach is already a better situation than the current.

fix #1457
  • Loading branch information
yohanboniface committed Dec 11, 2023
1 parent 43a0480 commit f54992c
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions umap/static/umap/js/umap.layer.js
Original file line number Diff line number Diff line change
Expand Up @@ -665,7 +665,6 @@ L.U.DataLayer = L.Evented.extend({
this.backupOptions()
this.fire('loaded')
this._loading = false
this._dataloaded = true
},
context: this,
})
Expand All @@ -674,6 +673,7 @@ L.U.DataLayer = L.Evented.extend({
fromGeoJSON: function (geojson) {
this.addData(geojson)
this._geojson = geojson
this._dataloaded = true
this.fire('dataloaded')
this.fire('datachanged')
},
Expand Down Expand Up @@ -730,7 +730,6 @@ L.U.DataLayer = L.Evented.extend({
verb: 'GET',
callback: (raw) => {
this.clear()
this._dataloaded = true
this.rawToGeoJSON(raw, this.options.remoteData.format, (geojson) =>
this.fromGeoJSON(geojson)
)
Expand Down

0 comments on commit f54992c

Please sign in to comment.