diff --git a/lib/OpenLayers/Feature/Vector.js b/lib/OpenLayers/Feature/Vector.js index d8064bdc30..a4cc11dd44 100644 --- a/lib/OpenLayers/Feature/Vector.js +++ b/lib/OpenLayers/Feature/Vector.js @@ -67,6 +67,13 @@ OpenLayers.Feature.Vector = OpenLayers.Class(OpenLayers.Feature, { * {Object} */ style: null, + + /** + * APIProperty: url + * {String} If this property is set it will be taken into account by + * {} when upadting or deleting the feature. + */ + url: null, /** * Property: renderIntent diff --git a/lib/OpenLayers/Strategy/Save.js b/lib/OpenLayers/Strategy/Save.js index 640f76026c..2fb7e397d9 100644 --- a/lib/OpenLayers/Strategy/Save.js +++ b/lib/OpenLayers/Strategy/Save.js @@ -166,6 +166,9 @@ OpenLayers.Strategy.Save = OpenLayers.Class(OpenLayers.Strategy, { clone = orig.clone(); clone.fid = orig.fid; clone.state = orig.state; + if(orig.url) { + clone.url = orig.url; + } clone._original = orig; clone.geometry.transform(local, remote); clones[i] = clone; diff --git a/tests/Strategy/Save.html b/tests/Strategy/Save.html index 655fce8cba..bbab07f59e 100644 --- a/tests/Strategy/Save.html +++ b/tests/Strategy/Save.html @@ -43,7 +43,7 @@ } function test_save(t) { - t.plan(5); + t.plan(9); var strategy = new OpenLayers.Strategy.Save(); @@ -54,6 +54,9 @@ response.reqFeatures = features; response.insertIds = []; for(var i=0; i