SpinnerField.js 1.4 KB

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