[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