]> git.proxmox.com Git - extjs.git/blame - extjs/packages/core/src/data/field/Integer.js
add extjs 6.0.1 sources
[extjs.git] / extjs / packages / core / src / data / field / Integer.js
CommitLineData
6527f429
DM
1/**\r
2 */\r
3Ext.define('Ext.data.field.Integer', {\r
4 extend: 'Ext.data.field.Field',\r
5\r
6 alias: [\r
7 'data.field.int',\r
8 'data.field.integer'\r
9 ],\r
10\r
11 isNumeric: true,\r
12 isIntegerField: true,\r
13 numericType: 'int',\r
14\r
15 convert: function(v) {\r
16 // Handle values which are already numbers.\r
17 // Value truncation behaviour of parseInt is historic and must be maintained.\r
18 // parseInt(35.9) and parseInt("35.9") returns 35\r
19 if (typeof v === 'number') {\r
20 return this.getNumber(v);\r
21 }\r
22\r
23 var empty = v === undefined || v === null || v === '',\r
24 allowNull = this.allowNull,\r
25 out;\r
26\r
27 if (empty) {\r
28 out = allowNull ? null : 0;\r
29 } else {\r
30 out = this.parse(v);\r
31 if (allowNull && isNaN(out)) {\r
32 out = null;\r
33 }\r
34 }\r
35 return out;\r
36 },\r
37\r
38 getNumber: function (v) {\r
39 return parseInt(v, 10);\r
40 },\r
41\r
42 getType: function() {\r
43 return this.numericType;\r
44 },\r
45\r
46 parse: function(v) {\r
47 return parseInt(String(v).replace(this.stripRe, ''), 10);\r
48 },\r
49\r
50 sortType: function (s) {\r
51 // If allowNull, null values needed to be sorted last.\r
52 if (s == null) {\r
53 s = Infinity;\r
54 }\r
55\r
56 return s;\r
57 }\r
58});\r