Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / examples / ux / SpinnerField.js
1 /*!
2  * Ext JS Library 3.0.0
3  * Copyright(c) 2006-2009 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     deferHeight: true,\r
17     autoSize: Ext.emptyFn,\r
18     onBlur: Ext.emptyFn,\r
19     adjustSize: Ext.BoxComponent.prototype.adjustSize,\r
20 \r
21         constructor: function(config) {\r
22                 var spinnerConfig = Ext.copyTo({}, config, 'incrementValue,alternateIncrementValue,accelerate,defaultValue,triggerClass,splitterClass');\r
23 \r
24                 var spl = this.spinner = new Ext.ux.Spinner(spinnerConfig);\r
25 \r
26                 var plugins = config.plugins\r
27                         ? (Ext.isArray(config.plugins)\r
28                                 ? config.plugins.push(spl)\r
29                                 : [config.plugins, spl])\r
30                         : spl;\r
31 \r
32                 Ext.ux.form.SpinnerField.superclass.constructor.call(this, Ext.apply(config, {plugins: plugins}));\r
33         },\r
34 \r
35     onShow: function(){\r
36         if (this.wrap) {\r
37             this.wrap.dom.style.display = '';\r
38             this.wrap.dom.style.visibility = 'visible';\r
39         }\r
40     },\r
41 \r
42     onHide: function(){\r
43         this.wrap.dom.style.display = 'none';\r
44     },\r
45 \r
46     // private\r
47     getResizeEl: function(){\r
48         return this.wrap;\r
49     },\r
50 \r
51     // private\r
52     getPositionEl: function(){\r
53         return this.wrap;\r
54     },\r
55 \r
56     // private\r
57     alignErrorIcon: function(){\r
58         if (this.wrap) {\r
59             this.errorIcon.alignTo(this.wrap, 'tl-tr', [2, 0]);\r
60         }\r
61     },\r
62 \r
63     validateBlur: function(){\r
64         return true;\r
65     }\r
66 });\r
67 \r
68 Ext.reg('spinnerfield', Ext.ux.form.SpinnerField);\r
69 \r
70 //backwards compat\r
71 Ext.form.SpinnerField = Ext.ux.form.SpinnerField;\r