adding a feature.modified property, making the ModifyFeature control set it and the WFST format check for it so only modified attributes and a modified geometry need to be included in an Update transaction. r=bartvde (closes #3400)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@12149 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -736,8 +736,30 @@
|
||||
map.destroy();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function test_setFeatureState(t) {
|
||||
t.plan(4);
|
||||
var map = new OpenLayers.Map("map");
|
||||
var layer = new OpenLayers.Layer.Vector("vector", {isBaseLayer: true});
|
||||
map.addLayer(layer);
|
||||
var feature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(1,2));
|
||||
layer.addFeatures([feature]);
|
||||
var control = new OpenLayers.Control.ModifyFeature(layer, {standalone: true});
|
||||
map.addControl(control);
|
||||
|
||||
control.selectFeature(feature);
|
||||
var originalGeometry = feature.geometry;
|
||||
|
||||
t.ok(control._originalGeometry, "original geometry stored for later use in setFeatureState");
|
||||
|
||||
feature.geometry = new OpenLayers.Geometry.Point(2,3);
|
||||
control.modified = true;
|
||||
control.setFeatureState();
|
||||
|
||||
t.eq(feature.state, OpenLayers.State.UPDATE, "feature state set to UPDATE");
|
||||
t.geom_eq(feature.modified.geometry, originalGeometry, "original geometry stored on the modified property");
|
||||
t.eq(control._originalGeometry, undefined, "original geometry deleted once it is set on the modified property");
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
Reference in New Issue
Block a user