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:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user