[Commits] r2563 - in core/trunk/geoext: lib/GeoExt/data tests/lib/GeoExt/data
commits at geoext.org
commits at geoext.org
Fri Jan 14 17:09:31 CET 2011
Author: tschaub
Date: 2011-01-14 17:09:31 +0100 (Fri, 14 Jan 2011)
New Revision: 2563
Modified:
core/trunk/geoext/lib/GeoExt/data/FeatureStore.js
core/trunk/geoext/tests/lib/GeoExt/data/FeatureStore.html
Log:
Setting the feature state to update when a record is modified. r=ahocevar (closes #397)
Modified: core/trunk/geoext/lib/GeoExt/data/FeatureStore.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/data/FeatureStore.js 2011-01-13 21:06:11 UTC (rev 2562)
+++ core/trunk/geoext/lib/GeoExt/data/FeatureStore.js 2011-01-14 16:09:31 UTC (rev 2563)
@@ -379,6 +379,9 @@
*/
var defaultFields = new GeoExt.data.FeatureRecord().fields;
var feature = record.getFeature();
+ if (feature.state !== OpenLayers.State.INSERT) {
+ feature.state = OpenLayers.State.UPDATE;
+ }
if(record.fields) {
var cont = this.layer.events.triggerEvent(
"beforefeaturemodified", {feature: feature}
Modified: core/trunk/geoext/tests/lib/GeoExt/data/FeatureStore.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/data/FeatureStore.html 2011-01-13 21:06:11 UTC (rev 2562)
+++ core/trunk/geoext/tests/lib/GeoExt/data/FeatureStore.html 2011-01-14 16:09:31 UTC (rev 2563)
@@ -206,7 +206,7 @@
}
function test_featuremodified_update(t) {
- t.plan(10);
+ t.plan(14);
/*
* Set up
@@ -296,6 +296,19 @@
t.eq(record.get("foo"), false, "false correctly set");
t.eq(record.get("bar"), 0, "0 correctly set");
+
+
+ // confirm that updates work from the record
+ delete feature.state;
+ record.set("foo", "set from record");
+ t.eq(feature.attributes.foo, "set from record");
+ t.eq(feature.state, OpenLayers.State.UPDATE, "state properly set");
+
+ // confirm that newly inserted features don't get update state
+ feature.state = OpenLayers.State.INSERT;
+ record.set("foo", "still insert");
+ t.eq(feature.attributes.foo, "still insert", "attribute set");
+ t.eq(feature.state, OpenLayers.State.INSERT, "insert state remains");
}
</script>
More information about the Commits
mailing list