/*
Icon spinner field
Original code:
http://davehiren.blogspot.nl/2012/04/sencha-touch-spinner-field-change.html
*/
Ext.define('Ext.ux.IconSpinner', {
extend: 'Ext.field.Spinner',
xtype: 'iconspinnerfield',
requires: [
'Ext.field.Spinner'
],
config: {
iconPlusDisabled: 'resources/images/spinner-plus.png',
iconMinusDisabled: 'resources/images/spinner-minus.png',
iconPlusEnabled: 'resources/images/spinner-plus-color.png',
iconMinusEnabled: 'resources/images/spinner-minus-color.png'
},
initialize: function()
{
this.on('disabledchange', this.onDisabledChange);
},
onDisabledChange: function( spinner, value, oldValue, eOpts )
{
var me = this;
me.spinDownButton.setHtml('
');
me.spinUpButton.setHtml('
');
},
updateComponent: function (newComponent) {
this.callParent(arguments);
var innerElement = this.innerElement,
cls = this.getCls();
if (newComponent) {
this.spinDownButton = Ext.Element.create({
cls: 'minusButton',
html: '
'
});
this.spinUpButton = Ext.Element.create({
cls:'plusButton',
html: '
'
});
this.downRepeater = this.createRepeater(this.spinDownButton, this.onSpinDown);
this.upRepeater = this.createRepeater(this.spinUpButton, this.onSpinUp);
}
},
getImageMinus: function ()
{
return this.isDisabled() ? this.getIconMinusDisabled() : this.getIconMinusEnabled();
},
getImagePlus: function () {
return this.isDisabled() ? this.getIconPlusDisabled() : this.getIconPlusEnabled();
}
});