Also trigger beforefeaturemodified event in non-standalone mode

d2a32d5 accidently changed the number of assertions in the
test_selectFeature function, so the change in behavior that no
beforefeaturemodified event is called any more in non-standalone mode got
unnoticed: Before unhacking ModifyFeature, the SelectFeature control
called the beforeSelectFeature method directly. Now, without a built-in
SelectFeature control, we need to call it from the selectFeature method in
both standalone and non-standalone mode.
This commit is contained in:
ahocevar
2013-04-09 23:16:30 +02:00
parent e1dea2d8e1
commit e5dc583d52
2 changed files with 5 additions and 5 deletions

View File

@@ -335,9 +335,9 @@ OpenLayers.Control.ModifyFeature = OpenLayers.Class(OpenLayers.Control, {
/** /**
* APIMethod: selectFeature * APIMethod: selectFeature
* Select a feature for modification in standalone mode. In non-standalone * Select a feature for modification in standalone mode. In non-standalone
* mode, this method is called when the select feature control selects a * mode, this method is called when a feature is selected by clicking.
* feature. Register a listener to the beforefeaturemodified event and * Register a listener to the beforefeaturemodified event and return false
* return false to prevent feature modification. * to prevent feature modification.
* *
* Parameters: * Parameters:
* feature - {<OpenLayers.Feature.Vector>} the selected feature. * feature - {<OpenLayers.Feature.Vector>} the selected feature.
@@ -347,7 +347,7 @@ OpenLayers.Control.ModifyFeature = OpenLayers.Class(OpenLayers.Control, {
feature.geometry.CLASS_NAME) == -1) { feature.geometry.CLASS_NAME) == -1) {
return; return;
} }
if (!this.standalone || this.beforeSelectFeature(feature) !== false) { if (this.beforeSelectFeature(feature) !== false) {
if (this.feature) { if (this.feature) {
this.unselectFeature(this.feature); this.unselectFeature(this.feature);
} }

View File

@@ -204,7 +204,7 @@
} }
function test_selectFeature(t) { function test_selectFeature(t) {
t.plan(9); t.plan(12);
var map = new OpenLayers.Map('map'); var map = new OpenLayers.Map('map');
var layer = new OpenLayers.Layer.Vector("Vectors!", {isBaseLayer: true}); var layer = new OpenLayers.Layer.Vector("Vectors!", {isBaseLayer: true});
map.addLayer(layer); map.addLayer(layer);