Upgrade to ExtJS 3.1.1 - Released 02/08/2010
[extjs.git] / examples / ux / SpinnerField.js
1 /*!
2  * Ext JS Library 3.1.1
3  * Copyright(c) 2006-2010 Ext JS, LLC
4  * licensing@extjs.com
5  * http://www.extjs.com/license
6  */
7 Ext.ns('Ext.ux.form');\r
8 \r
9 /**\r
10  * @class Ext.ux.form.SpinnerField\r
11  * @extends Ext.form.NumberField\r
12  * Creates a field utilizing Ext.ux.Spinner\r
13  * @xtype spinnerfield\r
14  */\r
15 Ext.ux.form.SpinnerField = Ext.extend(Ext.form.NumberField, {\r
16     actionMode: 'wrap',\r
17     deferHeight: true,\r
18     autoSize: Ext.emptyFn,\r
19     onBlur: Ext.emptyFn,\r
20     adjustSize: Ext.BoxComponent.prototype.adjustSize,\r
21 \r
22         constructor: function(config) {\r
23                 var spinnerConfig = Ext.copyTo({}, config, 'incrementValue,alternateIncrementValue,accelerate,defaultValue,triggerClass,splitterClass');\r
24 \r
25                 var spl = this.spinner = new Ext.ux.Spinner(spinnerConfig);\r
26 \r
27                 var plugins = config.plugins\r
28                         ? (Ext.isArray(config.plugins)\r
29                                 ? config.plugins.push(spl)\r
30                                 : [config.plugins, spl])\r
31                         : spl;\r
32 \r
33                 Ext.ux.form.SpinnerField.superclass.constructor.call(this, Ext.apply(config, {plugins: plugins}));\r
34         },\r
35 \r
36     // private\r
37     getResizeEl: function(){\r
38         return this.wrap;\r
39     },\r
40 \r
41     // private\r
42     getPositionEl: function(){\r
43         return this.wrap;\r
44     },\r
45 \r
46     // private\r
47     alignErrorIcon: function(){\r
48         if (this.wrap) {\r
49             this.errorIcon.alignTo(this.wrap, 'tl-tr', [2, 0]);\r
50         }\r
51     },\r
52 \r
53     validateBlur: function(){\r
54         return true;\r
55     }\r
56 });\r
57 \r
58 Ext.reg('spinnerfield', Ext.ux.form.SpinnerField);\r
59 \r
60 //backwards compat\r
61 Ext.form.SpinnerField = Ext.ux.form.SpinnerField;\r