Upgrade to ExtJS 4.0.7 - Released 10/19/2011
[extjs.git] / src / data / Types.js
index 9fcd2d0..c9a6889 100644 (file)
@@ -14,7 +14,7 @@ If you are unsure which license is appropriate for your use, please contact the
 */
 /**
  * @class Ext.data.Types
- * <p>This is s static class containing the system-supplied data types which may be given to a {@link Ext.data.Field Field}.<p/>
+ * <p>This is a static class containing the system-supplied data types which may be given to a {@link Ext.data.Field Field}.<p/>
  * <p>The properties in this class are used as type indicators in the {@link Ext.data.Field Field} class, so to
  * test whether a Field is of a certain type, compare the {@link Ext.data.Field#type type} property against properties
  * of this class.</p>
@@ -47,15 +47,15 @@ Ext.data.Types.VELATLONG = {
     type: 'VELatLong'
 };
 </code></pre>
- * <p>Then, when declaring a Model, use <pre><code>
+ * <p>Then, when declaring a Model, use: <pre><code>
 var types = Ext.data.Types; // allow shorthand type access
 Ext.define('Unit',
-    extend: 'Ext.data.Model', 
+    extend: 'Ext.data.Model',
     fields: [
         { name: 'unitName', mapping: 'UnitName' },
         { name: 'curSpeed', mapping: 'CurSpeed', type: types.INT },
         { name: 'latitude', mapping: 'lat', type: types.FLOAT },
-        { name: 'latitude', mapping: 'lat', type: types.FLOAT },
+        { name: 'longitude', mapping: 'long', type: types.FLOAT },
         { name: 'position', type: types.VELATLONG }
     ]
 });
@@ -67,19 +67,17 @@ Ext.define('Ext.data.Types', {
     requires: ['Ext.data.SortTypes']
 }, function() {
     var st = Ext.data.SortTypes;
-    
+
     Ext.apply(Ext.data.Types, {
         /**
-         * @type Regexp
-         * @property stripRe
+         * @property {RegExp} stripRe
          * A regular expression for stripping non-numeric characters from a numeric value. Defaults to <tt>/[\$,%]/g</tt>.
          * This should be overridden for localization.
          */
         stripRe: /[\$,%]/g,
-        
+
         /**
-         * @type Object.
-         * @property AUTO
+         * @property {Object} AUTO
          * This data type means that no conversion is applied to the raw data before it is placed into a Record.
          */
         AUTO: {
@@ -91,8 +89,7 @@ Ext.define('Ext.data.Types', {
         },
 
         /**
-         * @type Object.
-         * @property STRING
+         * @property {Object} STRING
          * This data type means that the raw data is converted into a String before it is placed into a Record.
          */
         STRING: {
@@ -105,8 +102,7 @@ Ext.define('Ext.data.Types', {
         },
 
         /**
-         * @type Object.
-         * @property INT
+         * @property {Object} INT
          * This data type means that the raw data is converted into an integer before it is placed into a Record.
          * <p>The synonym <code>INTEGER</code> is equivalent.</p>
          */
@@ -118,10 +114,9 @@ Ext.define('Ext.data.Types', {
             sortType: st.none,
             type: 'int'
         },
-        
+
         /**
-         * @type Object.
-         * @property FLOAT
+         * @property {Object} FLOAT
          * This data type means that the raw data is converted into a number before it is placed into a Record.
          * <p>The synonym <code>NUMBER</code> is equivalent.</p>
          */
@@ -133,17 +128,16 @@ Ext.define('Ext.data.Types', {
             sortType: st.none,
             type: 'float'
         },
-        
+
         /**
-         * @type Object.
-         * @property BOOL
+         * @property {Object} BOOL
          * <p>This data type means that the raw data is converted into a boolean before it is placed into
          * a Record. The string "true" and the number 1 are converted to boolean <code>true</code>.</p>
          * <p>The synonym <code>BOOLEAN</code> is equivalent.</p>
          */
         BOOL: {
             convert: function(v) {
-                if (this.useNull && v === undefined || v === null || v === '') {
+                if (this.useNull && (v === undefined || v === null || v === '')) {
                     return null;
                 }
                 return v === true || v === 'true' || v == 1;
@@ -151,17 +145,18 @@ Ext.define('Ext.data.Types', {
             sortType: st.none,
             type: 'bool'
         },
-        
+
         /**
-         * @type Object.
-         * @property DATE
+         * @property {Object} DATE
          * This data type means that the raw data is converted into a Date before it is placed into a Record.
          * The date format is specified in the constructor of the {@link Ext.data.Field} to which this type is
          * being applied.
          */
         DATE: {
             convert: function(v) {
-                var df = this.dateFormat;
+                var df = this.dateFormat,
+                    parsed;
+
                 if (!v) {
                     return null;
                 }
@@ -177,40 +172,37 @@ Ext.define('Ext.data.Types', {
                     }
                     return Ext.Date.parse(v, df);
                 }
-                
-                var parsed = Date.parse(v);
+
+                parsed = Date.parse(v);
                 return parsed ? new Date(parsed) : null;
             },
             sortType: st.asDate,
             type: 'date'
         }
     });
-    
+
     Ext.apply(Ext.data.Types, {
         /**
-         * @type Object.
-         * @property BOOLEAN
+         * @property {Object} BOOLEAN
          * <p>This data type means that the raw data is converted into a boolean before it is placed into
          * a Record. The string "true" and the number 1 are converted to boolean <code>true</code>.</p>
          * <p>The synonym <code>BOOL</code> is equivalent.</p>
          */
         BOOLEAN: this.BOOL,
-        
+
         /**
-         * @type Object.
-         * @property INTEGER
+         * @property {Object} INTEGER
          * This data type means that the raw data is converted into an integer before it is placed into a Record.
          * <p>The synonym <code>INT</code> is equivalent.</p>
          */
         INTEGER: this.INT,
-        
+
         /**
-         * @type Object.
-         * @property NUMBER
+         * @property {Object} NUMBER
          * This data type means that the raw data is converted into a number before it is placed into a Record.
          * <p>The synonym <code>FLOAT</code> is equivalent.</p>
          */
-        NUMBER: this.FLOAT    
+        NUMBER: this.FLOAT
     });
 });