Layer.Vector fires featuresadded event with shapes vetoed by beforefeatureadded, p=timbonicus, r=me (closes #2549)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@10362 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -539,7 +539,9 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
|
||||
features = event.features;
|
||||
}
|
||||
|
||||
|
||||
// Track successfully added features for featuresadded event, since
|
||||
// beforefeatureadded can veto single features.
|
||||
var featuresAdded = [];
|
||||
for (var i=0, len=features.length; i<len; i++) {
|
||||
if (i != (features.length - 1)) {
|
||||
this.renderer.locked = true;
|
||||
@@ -555,8 +557,6 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
|
||||
throw throwStr;
|
||||
}
|
||||
|
||||
this.features.push(feature);
|
||||
|
||||
//give feature reference to its layer
|
||||
feature.layer = this;
|
||||
|
||||
@@ -572,6 +572,8 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
|
||||
this.preFeatureInsert(feature);
|
||||
}
|
||||
|
||||
featuresAdded.push(feature);
|
||||
this.features.push(feature);
|
||||
this.drawFeature(feature);
|
||||
|
||||
if (notify) {
|
||||
@@ -583,7 +585,7 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
|
||||
}
|
||||
|
||||
if(notify) {
|
||||
this.events.triggerEvent("featuresadded", {features: features});
|
||||
this.events.triggerEvent("featuresadded", {features: featuresAdded});
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user