X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..f562e4c6e5fac7bcb445985b99acbea4d706e6f0:/src/data/Types.js diff --git a/src/data/Types.js b/src/data/Types.js index 9fcd2d0c..c9a6889f 100644 --- a/src/data/Types.js +++ b/src/data/Types.js @@ -14,7 +14,7 @@ If you are unsure which license is appropriate for your use, please contact the */ /** * @class Ext.data.Types - *

This is s static class containing the system-supplied data types which may be given to a {@link Ext.data.Field Field}.

+ *

This is a static class containing the system-supplied data types which may be given to a {@link Ext.data.Field Field}.

*

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.

@@ -47,15 +47,15 @@ Ext.data.Types.VELATLONG = { type: 'VELatLong' }; - *

Then, when declaring a Model, use


+ * 

Then, when declaring a Model, use:


 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 /[\$,%]/g.
          * 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.
          * 

The synonym INTEGER is equivalent.

*/ @@ -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. *

The synonym NUMBER is equivalent.

*/ @@ -133,17 +128,16 @@ Ext.define('Ext.data.Types', { sortType: st.none, type: 'float' }, - + /** - * @type Object. - * @property BOOL + * @property {Object} BOOL *

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 true.

*

The synonym BOOLEAN is equivalent.

*/ 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 *

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 true.

*

The synonym BOOL is equivalent.

*/ 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. *

The synonym INT is equivalent.

*/ 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. *

The synonym FLOAT is equivalent.

*/ - NUMBER: this.FLOAT + NUMBER: this.FLOAT }); });