1 /*! jQuery UI - v1.11.4 - 2015-03-13
3 * Copyright jQuery Foundation and other contributors; Licensed MIT */
4 (function(t
){"function"==typeof define
&&define
.amd
?define(["jquery","./core","./widget","./button"],t
):t(jQuery
)})(function(t
){function e(t
){return function(){var e
=this.element
.val();t
.apply(this,arguments
),this._refresh(),e
!==this.element
.val()&&this._trigger("change")}}return t
.widget("ui.spinner",{version
:"1.11.4",defaultElement
:"<input>",widgetEventPrefix
:"spin",options
:{culture
:null,icons
:{down
:"ui-icon-triangle-1-s",up
:"ui-icon-triangle-1-n"},incremental
:!0,max
:null,min
:null,numberFormat
:null,page
:10,step
:1,change
:null,spin
:null,start
:null,stop
:null},_create:function(){this._setOption("max",this.options
.max
),this._setOption("min",this.options
.min
),this._setOption("step",this.options
.step
),""!==this.value()&&this._value(this.element
.val(),!0),this._draw(),this._on(this._events
),this._refresh(),this._on(this.window
,{beforeunload:function(){this.element
.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e
={},i
=this.element
;return t
.each(["min","max","step"],function(t
,s
){var n
=i
.attr(s
);void 0!==n
&&n
.length
&&(e
[s
]=n
)}),e
},_events
:{keydown:function(t
){this._start(t
)&&this._keydown(t
)&&t
.preventDefault()},keyup
:"_stop",focus:function(){this.previous
=this.element
.val()},blur:function(t
){return this.cancelBlur
?(delete this.cancelBlur
,void 0):(this._stop(),this._refresh(),this.previous
!==this.element
.val()&&this._trigger("change",t
),void 0)},mousewheel:function(t
,e
){if(e
){if(!this.spinning
&&!this._start(t
))return!1;this._spin((e
>0?1:-1)*this.options
.step
,t
),clearTimeout(this.mousewheelTimer
),this.mousewheelTimer
=this._delay(function(){this.spinning
&&this._stop(t
)},100),t
.preventDefault()}},"mousedown .ui-spinner-button":function(e
){function i(){var t
=this.element
[0]===this.document
[0].activeElement
;t
||(this.element
.focus(),this.previous
=s
,this._delay(function(){this.previous
=s
}))}var s
;s
=this.element
[0]===this.document
[0].activeElement
?this.previous
:this.element
.val(),e
.preventDefault(),i
.call(this),this.cancelBlur
=!0,this._delay(function(){delete this.cancelBlur
,i
.call(this)}),this._start(e
)!==!1&&this._repeat(null,t(e
.currentTarget
).hasClass("ui-spinner-up")?1:-1,e
)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e
){return t(e
.currentTarget
).hasClass("ui-state-active")?this._start(e
)===!1?!1:(this._repeat(null,t(e
.currentTarget
).hasClass("ui-spinner-up")?1:-1,e
),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var t
=this.uiSpinner
=this.element
.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element
.attr("role","spinbutton"),this.buttons
=t
.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons
.height()>Math
.ceil(.5*t
.height())&&t
.height()>0&&t
.height(t
.height()),this.options
.disabled
&&this.disable()},_keydown:function(e
){var i
=this.options
,s
=t
.ui
.keyCode
;switch(e
.keyCode
){case s
.UP
:return this._repeat(null,1,e
),!0;case s
.DOWN
:return this._repeat(null,-1,e
),!0;case s
.PAGE_UP
:return this._repeat(null,i
.page
,e
),!0;case s
.PAGE_DOWN
:return this._repeat(null,-i
.page
,e
),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options
.icons
.up
+"'>▲</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options
.icons
.down
+"'>▼</span>"+"</a>"},_start:function(t
){return this.spinning
||this._trigger("start",t
)!==!1?(this.counter
||(this.counter
=1),this.spinning
=!0,!0):!1},_repeat:function(t
,e
,i
){t
=t
||500,clearTimeout(this.timer
),this.timer
=this._delay(function(){this._repeat(40,e
,i
)},t
),this._spin(e
*this.options
.step
,i
)},_spin:function(t
,e
){var i
=this.value()||0;this.counter
||(this.counter
=1),i
=this._adjustValue(i
+t
*this._increment(this.counter
)),this.spinning
&&this._trigger("spin",e
,{value
:i
})===!1||(this._value(i
),this.counter
++)},_increment:function(e
){var i
=this.options
.incremental
;return i
?t
.isFunction(i
)?i(e
):Math
.floor(e
*e
*e
/5e4-e*e/500+17*e
/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step
)*s
.step
,t
=e
+i
,t
=parseFloat(t
.toFixed(this._precision())),null!==s
.max
&&t
>s
.max
?s
.max
:null!==s
.min
&&s
.min
>t
?s
.min
:t
},_stop:function(t
){this.spinning
&&(clearTimeout(this.timer
),clearTimeout(this.mousewheelTimer
),this.counter
=0,this.spinning
=!1,this._trigger("stop",t
))},_setOption:function(t
,e
){if("culture"===t
||"numberFormat"===t
){var i
=this._parse(this.element
.val());return this.options
[t
]=e
,this.element
.val(this._format(i
)),void 0}("max"===t
||"min"===t
||"step"===t
)&&"string"==typeof e
&&(e
=this._parse(e
)),"icons"===t
&&(this.buttons
.first().find(".ui-icon").removeClass(this.options
.icons
.up
).addClass(e
.up
),this.buttons
.last().find(".ui-icon").removeClass(this.options
.icons
.down
).addClass(e
.down
)),this._super(t
,e
),"disabled"===t
&&(this.widget().toggleClass("ui-state-disabled",!!e
),this.element
.prop("disabled",!!e
),this.buttons
.button(e
?"disable":"enable"))},_setOptions
:e(function(t
){this._super(t
)}),_parse:function(t
){return"string"==typeof t
&&""!==t
&&(t
=window
.Globalize
&&this.options
.numberFormat
?Globalize
.parseFloat(t
,10,this.options
.culture
):+t
),""===t
||isNaN(t
)?null:t
},_format:function(t
){return""===t
?"":window
.Globalize
&&this.options
.numberFormat
?Globalize
.format(t
,this.options
.numberFormat
,this.options
.culture
):t
},_refresh:function(){this.element
.attr({"aria-valuemin":this.options
.min
,"aria-valuemax":this.options
.max
,"aria-valuenow":this._parse(this.element
.val())})},isValid:function(){var t
=this.value();return null===t
?!1:t
===this._adjustValue(t
)},_value:function(t
,e
){var i
;""!==t
&&(i
=this._parse(t
),null!==i
&&(e
||(i
=this._adjustValue(i
)),t
=this._format(i
))),this.element
.val(t
),this._refresh()},_destroy:function(){this.element
.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner
.replaceWith(this.element
)},stepUp
:e(function(t
){this._stepUp(t
)}),_stepUp:function(t
){this._start()&&(this._spin((t
||1)*this.options
.step
),this._stop())},stepDown
:e(function(t
){this._stepDown(t
)}),_stepDown:function(t
){this._start()&&(this._spin((t
||1)*-this.options
.step
),this._stop())},pageUp
:e(function(t
){this._stepUp((t
||1)*this.options
.page
)}),pageDown
:e(function(t
){this._stepDown((t
||1)*this.options
.page
)}),value:function(t
){return arguments
.length
?(e(this._value
).call(this,t
),void 0):this._parse(this.element
.val())},widget:function(){return this.uiSpinner
}})});