add an override to setValue within the ext spinner extension so setValue amounts are run through the strategy

This commit is contained in:
Damien Churchill 2009-08-03 22:26:18 +00:00
parent f216ffe54e
commit fa2dedda73

View File

@ -30,6 +30,7 @@ Ext.ux.form.Spinner = function(config){
'spinup' : true, 'spinup' : true,
'spindown' : true 'spindown' : true
}); });
this.initStrategy();
} }
Ext.extend(Ext.ux.form.Spinner, Ext.form.TriggerField, { Ext.extend(Ext.ux.form.Spinner, Ext.form.TriggerField, {
@ -103,30 +104,32 @@ Ext.extend(Ext.ux.form.Spinner, Ext.form.TriggerField, {
this.dd.endDrag = this.endDrag.createDelegate(this); this.dd.endDrag = this.endDrag.createDelegate(this);
this.dd.startDrag = this.startDrag.createDelegate(this); this.dd.startDrag = this.startDrag.createDelegate(this);
this.dd.onDrag = this.onDrag.createDelegate(this); this.dd.onDrag = this.onDrag.createDelegate(this);
},
/*
jsakalos suggestion initStrategy: function() {
http://extjs.com/forum/showthread.php?p=121850#post121850 */ /*
if('object' == typeof this.strategy && this.strategy.xtype) { jsakalos suggestion
switch(this.strategy.xtype) { http://extjs.com/forum/showthread.php?p=121850#post121850 */
case 'number': if('object' == typeof this.strategy && this.strategy.xtype) {
this.strategy = new Ext.ux.form.Spinner.NumberStrategy(this.strategy); switch(this.strategy.xtype) {
break; case 'number':
this.strategy = new Ext.ux.form.Spinner.NumberStrategy(this.strategy);
case 'date': break;
this.strategy = new Ext.ux.form.Spinner.DateStrategy(this.strategy);
break; case 'date':
this.strategy = new Ext.ux.form.Spinner.DateStrategy(this.strategy);
case 'time': break;
this.strategy = new Ext.ux.form.Spinner.TimeStrategy(this.strategy);
break; case 'time':
this.strategy = new Ext.ux.form.Spinner.TimeStrategy(this.strategy);
default: break;
delete(this.strategy);
break; default:
} delete(this.strategy);
delete(this.strategy.xtype); break;
} }
delete(this.strategy.xtype);
}
if(this.strategy == undefined){ if(this.strategy == undefined){
this.strategy = new Ext.ux.form.Spinner.NumberStrategy(); this.strategy = new Ext.ux.form.Spinner.NumberStrategy();
@ -299,6 +302,11 @@ Ext.extend(Ext.ux.form.Spinner, Ext.form.TriggerField, {
this.fireEvent("spin", this); this.fireEvent("spin", this);
this.fireEvent("spindown", this); this.fireEvent("spindown", this);
this.fireEvent("change", this); this.fireEvent("change", this);
},
setValue: function(value) {
value = this.strategy.fixBoundries(value);
this.setRawValue(value);
} }
}); });