[Commits] r1324 - in core/trunk/geoext: lib/GeoExt/data tests/lib/GeoExt/data
commits at geoext.org
commits at geoext.org
Mon Aug 10 19:21:18 CEST 2009
Author: tschaub
Date: 2009-08-10 19:21:18 +0200 (Mon, 10 Aug 2009)
New Revision: 1324
Modified:
core/trunk/geoext/lib/GeoExt/data/FeatureStore.js
core/trunk/geoext/tests/lib/GeoExt/data/FeatureStore.html
Log:
Making it so the featuremodified listener doesn't set default values for keys that don't exist in feature.attributes. r=elemoine (closes #142)
Modified: core/trunk/geoext/lib/GeoExt/data/FeatureStore.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/data/FeatureStore.js 2009-08-10 07:32:28 UTC (rev 1323)
+++ core/trunk/geoext/lib/GeoExt/data/FeatureStore.js 2009-08-10 17:21:18 UTC (rev 1324)
@@ -270,10 +270,10 @@
var fields = this.recordType.prototype.fields;
for(var i=0, len=fields.length; i<len; i++) {
var field = fields.items[i];
- var v = attributes[field.mapping || field.name] ||
- field.defaultValue;
- v = field.convert(v);
- record.set(field.name, v);
+ var key = field.mapping || field.name;
+ if(key in attributes) {
+ record.set(field.name, field.convert(attributes[key]));
+ }
}
}
// the calls to set below won't trigger "update"
Modified: core/trunk/geoext/tests/lib/GeoExt/data/FeatureStore.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/data/FeatureStore.html 2009-08-10 07:32:28 UTC (rev 1323)
+++ core/trunk/geoext/tests/lib/GeoExt/data/FeatureStore.html 2009-08-10 17:21:18 UTC (rev 1324)
@@ -220,7 +220,7 @@
}
function test_featuremodified_update(t) {
- t.plan(8);
+ t.plan(10);
/*
* Set up
@@ -303,7 +303,15 @@
t.eq(feature2.attributes.bar, "bar_f2", "previously undefined attribute set correctly");
- }
+ // update with falsey vlues
+ feature.attributes.foo = false;
+ feature.attributes.bar = 0;
+ layer.events.triggerEvent("featuremodified", {feature: feature});
+
+ t.eq(record.get("foo"), false, "false correctly set");
+ t.eq(record.get("bar"), 0, "0 correctly set");
+
+ }
</script>
<body>
More information about the Commits
mailing list