]>
Commit | Line | Data |
---|---|---|
6527f429 DM |
1 | /**\r |
2 | */\r | |
3 | Ext.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 |