if(!dojo._hasResource["dijit.form.NumberTextBox"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. dojo._hasResource["dijit.form.NumberTextBox"] = true; dojo.provide("dijit.form.NumberTextBox"); dojo.require("dijit.form.ValidationTextBox"); dojo.require("dojo.number"); /*===== dojo.declare( "dijit.form.NumberTextBox.__Constraints", [dijit.form.RangeBoundTextBox.__Constraints, dojo.number.__FormatOptions, dojo.number.__ParseOptions] ); =====*/ dojo.declare( "dijit.form.NumberTextBoxMixin", null, { // summary: // A mixin for all number textboxes regExpGen: dojo.number.regexp, /*===== // constraints: dijit.form.NumberTextBox.__Constraints constraints: {}, ======*/ // editOptions: Object // properties to mix into constraints when the value is being edited editOptions: { pattern: '#.######' }, _onFocus: function(){ this.setValue(this.getValue(), false); this.inherited(arguments); }, _formatter: dojo.number.format, format: function(/*Number*/ value, /*dojo.number.__FormatOptions*/ constraints){ // summary: formats the value as a Number, according to constraints if(typeof value == "string") { return value; } if(isNaN(value)){ return ""; } if(this.editOptions && this._focused){ constraints = dojo.mixin(dojo.mixin({}, this.editOptions), this.constraints); } return this._formatter(value, constraints); }, parse: dojo.number.parse, /*===== parse: function(value, constraints){ // summary: parses the value as a Number, according to constraints // value: String // // constraints: dojo.number.__ParseOptions }, =====*/ filter: function(/*Number*/ value){ if(typeof value == "string"){ return this.inherited('filter', arguments); } return isNaN(value) ? '' : value; }, value: NaN } ); dojo.declare( "dijit.form.NumberTextBox", [dijit.form.RangeBoundTextBox,dijit.form.NumberTextBoxMixin], { // summary: // A validating, serializable, range-bound text box. } ); }