Skip to content

Commit b433a97

Browse files
committed
Merge pull request #36 from codeofsumit/develop
handle addData in geojson, fixes #33
2 parents 98d9443 + 2a70d8a commit b433a97

File tree

4 files changed

+27
-2
lines changed

4 files changed

+27
-2
lines changed

demo/demo.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ var geoJsonData = {
7171
]
7272
};
7373
var geoJsonButton = document.getElementById('test-geojson');
74-
var geoJsonLayer = L.geoJson(geoJsonData).addTo(map3);
74+
var geoJsonLayer = L.geoJson().addTo(map3);
75+
geoJsonLayer.addData(geoJsonData);
7576
geoJsonLayer.pm.toggleEdit();
7677
var bounds = geoJsonLayer.getBounds();
7778
map3.fitBounds(bounds);

dist/leaflet.pm.js

+12
Original file line numberDiff line numberDiff line change
@@ -597,9 +597,21 @@ L.PM.Edit.LayerGroup = L.Class.extend({
597597
this._layerGroup = layerGroup;
598598
this._layers = layerGroup.getLayers();
599599

600+
// listen to the edit event of the layers in this group
600601
for(var i=0; i<this._layers.length; i++) {
601602
this._layers[i].on('pm:edit', this._fireEdit, this);
602603
}
604+
605+
// if a new layer is added to the group, reinitialize
606+
this._layerGroup.on('layeradd', function(e) {
607+
self.initialize(layerGroup);
608+
609+
// if editing was already enabled for this group, enable it again
610+
// so the new layers are enabled
611+
if(e.target.pm.enabled()) {
612+
self.enable();
613+
}
614+
});
603615
},
604616
_fireEdit: function() {
605617
this._layerGroup.fireEvent('pm:edit');

dist/leaflet.pm.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/js/L.PM.LayerGroup.js

+12
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,21 @@ L.PM.Edit.LayerGroup = L.Class.extend({
55
this._layerGroup = layerGroup;
66
this._layers = layerGroup.getLayers();
77

8+
// listen to the edit event of the layers in this group
89
for(var i=0; i<this._layers.length; i++) {
910
this._layers[i].on('pm:edit', this._fireEdit, this);
1011
}
12+
13+
// if a new layer is added to the group, reinitialize
14+
this._layerGroup.on('layeradd', function(e) {
15+
self.initialize(layerGroup);
16+
17+
// if editing was already enabled for this group, enable it again
18+
// so the new layers are enabled
19+
if(e.target.pm.enabled()) {
20+
self.enable();
21+
}
22+
});
1123
},
1224
_fireEdit: function() {
1325
this._layerGroup.fireEvent('pm:edit');

0 commit comments

Comments
 (0)