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","./mouse","./widget"],t
):t(jQuery
)})(function(t
){return t
.widget("ui.slider",t
.ui
.mouse
,{version
:"1.11.4",widgetEventPrefix
:"slide",options
:{animate
:!1,distance
:0,max
:100,min
:0,orientation
:"horizontal",range
:!1,step
:1,value
:0,values
:null,change
:null,slide
:null,start
:null,stop
:null},numPages
:5,_create:function(){this._keySliding
=!1,this._mouseSliding
=!1,this._animateOff
=!0,this._handleIndex
=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element
.addClass("ui-slider ui-slider-"+this.orientation
+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options
.disabled
),this._animateOff
=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e
,i
,s
=this.options
,n
=this.element
.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),o
="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",a
=[];for(i
=s
.values
&&s
.values
.length
||1,n
.length
>i
&&(n
.slice(i
).remove(),n
=n
.slice(0,i
)),e
=n
.length
;i
>e
;e
++)a
.push(o
);this.handles
=n
.add(t(a
.join("")).appendTo(this.element
)),this.handle
=this.handles
.eq(0),this.handles
.each(function(e
){t(this).data("ui-slider-handle-index",e
)})},_createRange:function(){var e
=this.options
,i
="";e
.range
?(e
.range
===!0&&(e
.values
?e
.values
.length
&&2!==e
.values
.length
?e
.values
=[e
.values
[0],e
.values
[0]]:t
.isArray(e
.values
)&&(e
.values
=e
.values
.slice(0)):e
.values
=[this._valueMin(),this._valueMin()]),this.range
&&this.range
.length
?this.range
.removeClass("ui-slider-range-min ui-slider-range-max").css({left
:"",bottom
:""}):(this.range
=t("<div></div>").appendTo(this.element
),i
="ui-slider-range ui-widget-header ui-corner-all"),this.range
.addClass(i
+("min"===e
.range
||"max"===e
.range
?" ui-slider-range-"+e
.range
:""))):(this.range
&&this.range
.remove(),this.range
=null)},_setupEvents:function(){this._off(this.handles
),this._on(this.handles
,this._handleEvents
),this._hoverable(this.handles
),this._focusable(this.handles
)},_destroy:function(){this.handles
.remove(),this.range
&&this.range
.remove(),this.element
.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e
){var i
,s
,n
,o
,a
,r
,h
,l
,u
=this,c
=this.options
;return c
.disabled
?!1:(this.elementSize
={width
:this.element
.outerWidth(),height
:this.element
.outerHeight()},this.elementOffset
=this.element
.offset(),i
={x
:e
.pageX
,y
:e
.pageY
},s
=this._normValueFromMouse(i
),n
=this._valueMax()-this._valueMin()+1,this.handles
.each(function(e
){var i
=Math
.abs(s
-u
.values(e
));(n
>i
||n
===i
&&(e
===u
._lastChangedValue
||u
.values(e
)===c
.min
))&&(n
=i
,o
=t(this),a
=e
)}),r
=this._start(e
,a
),r
===!1?!1:(this._mouseSliding
=!0,this._handleIndex
=a
,o
.addClass("ui-state-active").focus(),h
=o
.offset(),l
=!t(e
.target
).parents().addBack().is(".ui-slider-handle"),this._clickOffset
=l
?{left
:0,top
:0}:{left
:e
.pageX
-h
.left
-o
.width()/2,top
:e
.pageY
-h
.top
-o
.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e
,s
>1&&(s
=1),0>s
&&(s
=0),"vertical"===this.orientation
&&(s
=1-s
),n
=this._valueMax()-this._valueMin(),o
=this._valueMin()+s
*n
,this._trimAlignValue(o
)},_start:function(t
,e
){var i
={handle
:this.handles
[e
],value
:this.value()};return this.options
.values
&&this.options
.values
.length
&&(i
.value
=this.values(e
),i
.values
=this.values()),this._trigger("start",t
,i
)},_slide:function(t
,e
,i
){var s
,n
,o
;this.options
.values
&&this.options
.values
.length
?(s
=this.values(e
?0:1),2===this.options
.values
.length
&&this.options
.range
===!0&&(0===e
&&i
>s
||1===e
&&s
>i
)&&(i
=s
),i
!==this.values(e
)&&(n
=this.values(),n
[e
]=i
,o
=this._trigger("slide",t
,{handle
:this.handles
[e
],value
:i
,values
:n
}),s
=this.values(e
?0:1),o
!==!1&&this.values(e
,i
))):i
!==this.value()&&(o
=this._trigger("slide",t
,{handle
:this.handles
[e
],value
:i
}),o
!==!1&&this.value(i
))},_stop:function(t
,e
){var i
={handle
:this.handles
[e
],value
:this.value()};this.options
.values
&&this.options
.values
.length
&&(i
.value
=this.values(e
),i
.values
=this.values()),this._trigger("stop",t
,i
)},_change:function(t
,e
){if(!this._keySliding
&&!this._mouseSliding
){var i
={handle
:this.handles
[e
],value
:this.value()};this.options
.values
&&this.options
.values
.length
&&(i
.value
=this.values(e
),i
.values
=this.values()),this._lastChangedValue
=e
,this._trigger("change",t
,i
)}},value:function(t
){return arguments
.length
?(this.options
.value
=this._trimAlignValue(t
),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(e
,i
){var s
,n
,o
;if(arguments
.length
>1)return this.options
.values
[e
]=this._trimAlignValue(i
),this._refreshValue(),this._change(null,e
),void 0;if(!arguments
.length
)return this._values();if(!t
.isArray(arguments
[0]))return this.options
.values
&&this.options
.values
.length
?this._values(e
):this.value();for(s
=this.options
.values
,n
=arguments
[0],o
=0;s
.length
>o
;o
+=1)s
[o
]=this._trimAlignValue(n
[o
]),this._change(null,o
);this._refreshValue()},_setOption:function(e
,i
){var s
,n
=0;switch("range"===e
&&this.options
.range
===!0&&("min"===i
?(this.options
.value
=this._values(0),this.options
.values
=null):"max"===i
&&(this.options
.value
=this._values(this.options
.values
.length
-1),this.options
.values
=null)),t
.isArray(this.options
.values
)&&(n
=this.options
.values
.length
),"disabled"===e
&&this.element
.toggleClass("ui-state-disabled",!!i
),this._super(e
,i
),e
){case"orientation":this._detectOrientation(),this.element
.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation
),this._refreshValue(),this.handles
.css("horizontal"===i
?"bottom":"left","");break;case"value":this._animateOff
=!0,this._refreshValue(),this._change(null,0),this._animateOff
=!1;break;case"values":for(this._animateOff
=!0,this._refreshValue(),s
=0;n
>s
;s
+=1)this._change(null,s
);this._animateOff
=!1;break;case"step":case"min":case"max":this._animateOff
=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff
=!1;break;case"range":this._animateOff
=!0,this._refresh(),this._animateOff
=!1}},_value:function(){var t
=this.options
.value
;return t
=this._trimAlignValue(t
)},_values:function(t
){var e
,i
,s
;if(arguments
.length
)return e
=this.options
.values
[t
],e
=this._trimAlignValue(e
);if(this.options
.values
&&this.options
.values
.length
){for(i
=this.options
.values
.slice(),s
=0;i
.length
>s
;s
+=1)i
[s
]=this._trimAlignValue(i
[s
]);return i
}return[]},_trimAlignValue:function(t
){if(this._valueMin()>=t
)return this._valueMin();if(t
>=this._valueMax())return this._valueMax();var e
=this.options
.step
>0?this.options
.step
:1,i
=(t
-this._valueMin())%e
,s
=t
-i
;return 2*Math
.abs(i
)>=e
&&(s
+=i
>0?e
:-e
),parseFloat(s
.toFixed(5))},_calculateNewMax:function(){var t
=this.options
.max
,e
=this._valueMin(),i
=this.options
.step
,s
=Math
.floor(+(t
-e
).toFixed(this._precision())/i)*i;t=s+e,this.max=parseFloat(t.toFixed(this._precision()))},_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},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h
._valueMax()-h
._valueMin())),u
["horizontal"===h
.orientation
?"left":"bottom"]=i
+"%",t(this).stop(1,1)[l
?"animate":"css"](u
,r
.animate
),h
.options
.range
===!0&&("horizontal"===h
.orientation
?(0===s
&&h
.range
.stop(1,1)[l
?"animate":"css"]({left
:i
+"%"},r
.animate
),1===s
&&h
.range
[l
?"animate":"css"]({width
:i
-e
+"%"},{queue
:!1,duration
:r
.animate
})):(0===s
&&h
.range
.stop(1,1)[l
?"animate":"css"]({bottom
:i
+"%"},r
.animate
),1===s
&&h
.range
[l
?"animate":"css"]({height
:i
-e
+"%"},{queue
:!1,duration
:r
.animate
}))),e
=i
}):(s
=this.value(),n
=this._valueMin(),o
=this._valueMax(),i
=o
!==n
?100*((s
-n
)/(o-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(e.target).addClass("ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this.options.values&&this.options.values.length?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages
);break;case t
.ui
.keyCode
.PAGE_DOWN
:n
=this._trimAlignValue(s
-(this._valueMax()-this._valueMin())/this.numPages
);break;case t
.ui
.keyCode
.UP
:case t
.ui
.keyCode
.RIGHT
:if(s
===this._valueMax())return;n
=this._trimAlignValue(s
+o
);break;case t
.ui
.keyCode
.DOWN
:case t
.ui
.keyCode
.LEFT
:if(s
===this._valueMin())return;n
=this._trimAlignValue(s
-o
)}this._slide(e
,a
,n
)},keyup:function(e
){var i
=t(e
.target
).data("ui-slider-handle-index");this._keySliding
&&(this._keySliding
=!1,this._stop(e
,i
),this._change(e
,i
),t(e
.target
).removeClass("ui-state-active"))}}})});