Apply Erik's patch from #680 to fix "removeFeatures() in Layer.Vector does
not remove features from the selectedFeatures array when deleting features" git-svn-id: http://svn.openlayers.org/trunk/openlayers@3104 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -248,6 +248,12 @@ OpenLayers.Layer.Vector.prototype =
|
||||
this.features = OpenLayers.Util.removeItem(this.features, feature);
|
||||
|
||||
this.renderer.eraseGeometry(feature.geometry);
|
||||
|
||||
//in the case that this feature is one of the selected features,
|
||||
// remove it from that array as well.
|
||||
if (OpenLayers.Util.indexOf(this.selectedFeatures, feature) != -1){
|
||||
OpenLayers.Util.removeItem(this.selectedFeatures, feature);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
}
|
||||
|
||||
function test_03_Layer_Vector_removeFeatures(t) {
|
||||
t.plan(2);
|
||||
t.plan(3);
|
||||
|
||||
var layer = new OpenLayers.Layer.Vector(name);
|
||||
|
||||
@@ -43,6 +43,9 @@
|
||||
|
||||
t.ok(layer.features.length == 1, "OpenLayers.Layer.Vector.removeFeatures removes a feature from the features array");
|
||||
layer.addFeatures([pointFeature1.clone(), pointFeature2.clone()]);
|
||||
layer.selectedFeatures.push(layer.features[0]);
|
||||
layer.removeFeatures(layer.features[0]);
|
||||
t.eq(layer.selectedFeatures, [], "Remove features removes selected features");
|
||||
var features = layer.removeFeatures(layer.features);
|
||||
|
||||
t.ok(layer.features.length == 0,
|
||||
|
||||
Reference in New Issue
Block a user