9 lines
23 KiB
JavaScript
9 lines
23 KiB
JavaScript
/*
|
|
* Kendo UI v2015.3.1111 (http://www.telerik.com/kendo-ui)
|
|
* Copyright 2015 Telerik AD. All rights reserved.
|
|
*
|
|
* Kendo UI commercial licenses may be obtained at
|
|
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
|
|
* If you do not own a commercial license, this file shall be governed by the trial license terms.
|
|
*/
|
|
!function(e,define){define(["./kendo.draganddrop.min"],e)}(function(){return function(e,t){function n(e,t,n){var i=n?" k-slider-horizontal":" k-slider-vertical",o=e.style?e.style:t.attr("style"),r=t.attr("class")?" "+t.attr("class"):"",a="";return"bottomRight"==e.tickPlacement?a=" k-slider-bottomright":"topLeft"==e.tickPlacement&&(a=" k-slider-topleft"),o=o?" style='"+o+"'":"","<div class='k-widget k-slider"+i+r+"'"+o+"><div class='k-slider-wrap"+(e.showButtons?" k-slider-buttons":"")+a+"'></div></div>"}function i(e,t,n){var i="";return i="increase"==t?n?"k-i-arrow-e":"k-i-arrow-n":n?"k-i-arrow-w":"k-i-arrow-s","<a class='k-button k-button-"+t+"'><span class='k-icon "+i+"' title='"+e[t+"ButtonTitle"]+"'>"+e[t+"ButtonTitle"]+"</span></a>"}function o(e,t){var n,i="<ul class='k-reset k-slider-items'>",o=k.floor(u(t/e.smallStep))+1;for(n=0;o>n;n++)i+="<li class='k-tick' role='presentation'> </li>";return i+="</ul>"}function r(e,t){var n=t.is("input")?1:2,i=2==n?e.leftDragHandleTitle:e.dragHandleTitle;return"<div class='k-slider-track'><div class='k-slider-selection'><!-- --></div><a href='#' class='k-draghandle' title='"+i+"' role='slider' aria-valuemin='"+e.min+"' aria-valuemax='"+e.max+"' aria-valuenow='"+(n>1?e.selectionStart||e.min:e.value||e.min)+"'>Drag</a>"+(n>1?"<a href='#' class='k-draghandle' title='"+e.rightDragHandleTitle+"'role='slider' aria-valuemin='"+e.min+"' aria-valuemax='"+e.max+"' aria-valuenow='"+(e.selectionEnd||e.max)+"'>Drag</a>":"")+"</div>"}function a(e){return function(t){return t+e}}function s(e){return function(){return e}}function l(e){return(e+"").replace(".",g.cultures.current.numberFormat["."])}function c(e){var t=""+e,n=0;return t=t.split("."),t[1]&&(n=t[1].length),n=n>10?10:n}function u(e){var t,n;return e=parseFloat(e,10),t=c(e),n=k.pow(10,t||0),k.round(e*n)/n}function d(e,n){var i=y(e.getAttribute(n));return null===i&&(i=t),i}function h(e){return typeof e!==Y}function f(e){return 1e4*e}var p,g=window.kendo,m=g.ui.Widget,v=g.ui.Draggable,_=e.extend,w=g.format,y=g.parseFloat,b=e.proxy,x=e.isArray,k=Math,C=g.support,S=C.pointers,T=C.msPointers,D="change",A="slide",E=".slider",M="touchstart"+E+" mousedown"+E,P=S?"pointerdown"+E:T?"MSPointerDown"+E:M,I="touchend"+E+" mouseup"+E,R=S?"pointerup":T?"MSPointerUp"+E:I,z="moveSelection",B="keydown"+E,L="click"+E,F="mouseover"+E,O="focus"+E,H="blur"+E,N=".k-draghandle",V=".k-slider-track",U=".k-tick",W="k-state-selected",j="k-state-focused",G="k-state-default",q="k-state-disabled",$="disabled",Y="undefined",Q="tabindex",K=g.getTouches,X=m.extend({init:function(e,t){var n,i=this;if(m.fn.init.call(i,e,t),t=i.options,i._distance=u(t.max-t.min),i._isHorizontal="horizontal"==t.orientation,i._isRtl=i._isHorizontal&&g.support.isRtl(e),i._position=i._isHorizontal?"left":"bottom",i._sizeFn=i._isHorizontal?"width":"height",i._outerSize=i._isHorizontal?"outerWidth":"outerHeight",t.tooltip.format=t.tooltip.enabled?t.tooltip.format||"{0}":"{0}",0>=t.smallStep)throw Error("Kendo UI Slider smallStep must be a positive number.");i._createHtml(),i.wrapper=i.element.closest(".k-slider"),i._trackDiv=i.wrapper.find(V),i._setTrackDivWidth(),i._maxSelection=i._trackDiv[i._sizeFn](),i._sliderItemsInit(),i._reset(),i._tabindex(i.wrapper.find(N)),i[t.enabled?"enable":"disable"](),n=g.support.isRtl(i.wrapper)?-1:1,i._keyMap={37:a(-1*n*t.smallStep),40:a(-t.smallStep),39:a(1*n*t.smallStep),38:a(+t.smallStep),35:s(t.max),36:s(t.min),33:a(+t.largeStep),34:a(-t.largeStep)},g.notify(i)},events:[D,A],options:{enabled:!0,min:0,max:10,smallStep:1,largeStep:5,orientation:"horizontal",tickPlacement:"both",tooltip:{enabled:!0,format:"{0}"}},_resize:function(){this._setTrackDivWidth(),this.wrapper.find(".k-slider-items").remove(),this._maxSelection=this._trackDiv[this._sizeFn](),this._sliderItemsInit(),this._refresh(),this.options.enabled&&this.enable(!0)},_sliderItemsInit:function(){var e=this,t=e.options,n=e._maxSelection/((t.max-t.min)/t.smallStep),i=e._calculateItemsWidth(k.floor(e._distance/t.smallStep));"none"!=t.tickPlacement&&n>=2&&(e._trackDiv.before(o(t,e._distance)),e._setItemsWidth(i),e._setItemsTitle()),e._calculateSteps(i),"none"!=t.tickPlacement&&n>=2&&t.largeStep>=t.smallStep&&e._setItemsLargeTick()},getSize:function(){return g.dimensions(this.wrapper)},_setTrackDivWidth:function(){var e=this,t=2*parseFloat(e._trackDiv.css(e._isRtl?"right":e._position),10);e._trackDiv[e._sizeFn](e.wrapper[e._sizeFn]()-2-t)},_setItemsWidth:function(t){var n,i=this,o=i.options,r=0,a=t.length-1,s=i.wrapper.find(U),l=0,c=2,u=s.length,d=0;for(n=0;u-2>n;n++)e(s[n+1])[i._sizeFn](t[n]);if(i._isHorizontal?(e(s[r]).addClass("k-first")[i._sizeFn](t[a-1]),e(s[a]).addClass("k-last")[i._sizeFn](t[a])):(e(s[a]).addClass("k-first")[i._sizeFn](t[a]),e(s[r]).addClass("k-last")[i._sizeFn](t[a-1])),i._distance%o.smallStep!==0&&!i._isHorizontal){for(n=0;t.length>n;n++)d+=t[n];l=i._maxSelection-d,l+=parseFloat(i._trackDiv.css(i._position),10)+c,i.wrapper.find(".k-slider-items").css("padding-top",l)}},_setItemsTitle:function(){for(var t=this,n=t.options,i=t.wrapper.find(U),o=n.min,r=i.length,a=t._isHorizontal&&!t._isRtl?0:r-1,s=t._isHorizontal&&!t._isRtl?r:-1,l=t._isHorizontal&&!t._isRtl?1:-1;a-s!==0;a+=l)e(i[a]).attr("title",w(n.tooltip.format,u(o))),o+=n.smallStep},_setItemsLargeTick:function(){var t,n,i,o=this,r=o.options,a=o.wrapper.find(U),s=0;if(f(r.largeStep)%f(r.smallStep)===0||o._distance/r.largeStep>=3)for(o._isHorizontal||o._isRtl||(a=e.makeArray(a).reverse()),s=0;a.length>s;s++)t=e(a[s]),n=o._values[s],i=u(f(n-this.options.min)),i%f(r.smallStep)===0&&i%f(r.largeStep)===0&&(t.addClass("k-tick-large").html("<span class='k-label'>"+t.attr("title")+"</span>"),0!==s&&s!==a.length-1&&t.css("line-height",t[o._sizeFn]()+"px"))},_calculateItemsWidth:function(e){var t,n,i,o=this,r=o.options,a=parseFloat(o._trackDiv.css(o._sizeFn))+1,s=a/o._distance;for(o._distance/r.smallStep-k.floor(o._distance/r.smallStep)>0&&(a-=o._distance%r.smallStep*s),t=a/e,n=[],i=0;e-1>i;i++)n[i]=t;return n[e-1]=n[e]=t/2,o._roundWidths(n)},_roundWidths:function(e){var t,n=0,i=e.length;for(t=0;i>t;t++)n+=e[t]-k.floor(e[t]),e[t]=k.floor(e[t]);return n=k.round(n),this._addAdditionalSize(n,e)},_addAdditionalSize:function(e,t){if(0===e)return t;var n,i=parseFloat(t.length-1)/parseFloat(1==e?e:e-1);for(n=0;e>n;n++)t[parseInt(k.round(i*n),10)]+=1;return t},_calculateSteps:function(e){var t,n=this,i=n.options,o=i.min,r=0,a=k.ceil(n._distance/i.smallStep),s=1;if(a+=n._distance/i.smallStep%1===0?1:0,e.splice(0,0,2*e[a-2]),e.splice(a-1,1,2*e.pop()),n._pixelSteps=[r],n._values=[o],0!==a){for(;a>s;)r+=(e[s-1]+e[s])/2,n._pixelSteps[s]=r,o+=i.smallStep,n._values[s]=u(o),s++;t=n._distance%i.smallStep===0?a-1:a,n._pixelSteps[t]=n._maxSelection,n._values[t]=i.max,n._isRtl&&(n._pixelSteps.reverse(),n._values.reverse())}},_getValueFromPosition:function(e,t){var n,i=this,o=i.options,r=k.max(o.smallStep*(i._maxSelection/i._distance),0),a=0,s=r/2;if(i._isHorizontal?(a=e-t.startPoint,i._isRtl&&(a=i._maxSelection-a)):a=t.startPoint-e,i._maxSelection-(parseInt(i._maxSelection%r,10)-3)/2<a)return o.max;for(n=0;i._pixelSteps.length>n;n++)if(k.abs(i._pixelSteps[n]-a)-1<=s)return u(i._values[n])},_getFormattedValue:function(e,t){var n,i,o,r=this,a="",s=r.options.tooltip;return x(e)?(i=e[0],o=e[1]):t&&t.type&&(i=t.selectionStart,o=t.selectionEnd),t&&(n=t.tooltipTemplate),!n&&s.template&&(n=g.template(s.template)),x(e)||t&&t.type?n?a=n({selectionStart:i,selectionEnd:o}):(i=w(s.format,i),o=w(s.format,o),a=i+" - "+o):(t&&(t.val=e),a=n?n({value:e}):w(s.format,e)),a},_getDraggableArea:function(){var e=this,t=g.getOffset(e._trackDiv);return{startPoint:e._isHorizontal?t.left:t.top+e._maxSelection,endPoint:e._isHorizontal?t.left+e._maxSelection:t.top}},_createHtml:function(){var e=this,t=e.element,o=e.options,a=t.find("input");2==a.length?(a.eq(0).prop("value",l(o.selectionStart)),a.eq(1).prop("value",l(o.selectionEnd))):t.prop("value",l(o.value)),t.wrap(n(o,t,e._isHorizontal)).hide(),o.showButtons&&t.before(i(o,"increase",e._isHorizontal)).before(i(o,"decrease",e._isHorizontal)),t.before(r(o,t))},_focus:function(t){var n=this,i=t.target,o=n.value(),r=n._drag;r||(i==n.wrapper.find(N).eq(0)[0]?(r=n._firstHandleDrag,n._activeHandle=0):(r=n._lastHandleDrag,n._activeHandle=1),o=o[n._activeHandle]),e(i).addClass(j+" "+W),r&&(n._activeHandleDrag=r,r.selectionStart=n.options.selectionStart,r.selectionEnd=n.options.selectionEnd,r._updateTooltip(o))},_focusWithMouse:function(t){t=e(t);var n=this,i=t.is(N)?t.index():0;window.setTimeout(function(){n.wrapper.find(N)[2==i?1:0].focus()},1),n._setTooltipTimeout()},_blur:function(t){var n=this,i=n._activeHandleDrag;e(t.target).removeClass(j+" "+W),i&&(i._removeTooltip(),delete n._activeHandleDrag,delete n._activeHandle)},_setTooltipTimeout:function(){var e=this;e._tooltipTimeout=window.setTimeout(function(){var t=e._drag||e._activeHandleDrag;t&&t._removeTooltip()},300)},_clearTooltipTimeout:function(){var e,t=this;window.clearTimeout(this._tooltipTimeout),e=t._drag||t._activeHandleDrag,e&&e.tooltipDiv&&e.tooltipDiv.stop(!0,!1).css("opacity",1)},_reset:function(){var t=this,n=t.element,i=n.attr("form"),o=i?e("#"+i):n.closest("form");o[0]&&(t._form=o.on("reset",b(t._formResetHandler,t)))},destroy:function(){this._form&&this._form.off("reset",this._formResetHandler),m.fn.destroy.call(this)}}),Z=X.extend({init:function(n,i){var o,r=this;n.type="text",i=_({},{value:d(n,"value"),min:d(n,"min"),max:d(n,"max"),smallStep:d(n,"step")},i),n=e(n),i&&i.enabled===t&&(i.enabled=!n.is("[disabled]")),X.fn.init.call(r,n,i),i=r.options,h(i.value)&&null!==i.value||(i.value=i.min,n.prop("value",l(i.min))),i.value=k.max(k.min(i.value,i.max),i.min),o=r.wrapper.find(N),this._selection=new Z.Selection(o,r,i),r._drag=new Z.Drag(o,"",r,i)},options:{name:"Slider",showButtons:!0,increaseButtonTitle:"Increase",decreaseButtonTitle:"Decrease",dragHandleTitle:"drag",tooltip:{format:"{0:#,#.##}"},value:null},enable:function(n){var i,o,r,a=this,s=a.options;a.disable(),n!==!1&&(a.wrapper.removeClass(q).addClass(G),a.wrapper.find("input").removeAttr($),i=function(n){var i,o,r,s=K(n)[0];if(s){if(i=a._isHorizontal?s.location.pageX:s.location.pageY,o=a._getDraggableArea(),r=e(n.target),r.hasClass("k-draghandle"))return r.addClass(j+" "+W),t;a._update(a._getValueFromPosition(i,o)),a._focusWithMouse(n.target),a._drag.dragstart(n),n.preventDefault()}},a.wrapper.find(U+", "+V).on(P,i).end().on(P,function(){e(document.documentElement).one("selectstart",g.preventDefault)}).on(R,function(){a._drag._end()}),a.wrapper.find(N).attr(Q,0).on(I,function(){a._drag.draggable.userEvents.cancel(),a._setTooltipTimeout()}).on(L,function(e){a._focusWithMouse(e.target),e.preventDefault()}).on(O,b(a._focus,a)).on(H,b(a._blur,a)),o=b(function(e){var t=a._nextValueByIndex(a._valueIndex+1*e);a._setValueInRange(t),a._drag._updateTooltip(t)},a),s.showButtons&&(r=b(function(e,t){this._clearTooltipTimeout(),(1===e.which||C.touch&&0===e.which)&&(o(t),this.timeout=setTimeout(b(function(){this.timer=setInterval(function(){o(t)},60)},this),200))},a),a.wrapper.find(".k-button").on(I,b(function(e){this._clearTimer(),a._focusWithMouse(e.target)},a)).on(F,function(t){e(t.currentTarget).addClass("k-state-hover")}).on("mouseout"+E,b(function(t){e(t.currentTarget).removeClass("k-state-hover"),this._clearTimer()},a)).eq(0).on(M,b(function(e){r(e,1)},a)).click(!1).end().eq(1).on(M,b(function(e){r(e,-1)},a)).click(g.preventDefault)),a.wrapper.find(N).off(B,!1).on(B,b(this._keydown,a)),s.enabled=!0)},disable:function(){var t=this;t.wrapper.removeClass(G).addClass(q),e(t.element).prop($,$),t.wrapper.find(".k-button").off(M).on(M,g.preventDefault).off(I).on(I,g.preventDefault).off("mouseleave"+E).on("mouseleave"+E,g.preventDefault).off(F).on(F,g.preventDefault),t.wrapper.find(U+", "+V).off(P).off(R),t.wrapper.find(N).attr(Q,-1).off(I).off(B).off(L).off(O).off(H),t.options.enabled=!1},_update:function(e){var t=this,n=t.value()!=e;t.value(e),n&&t.trigger(D,{value:t.options.value})},value:function(e){var n=this,i=n.options;return e=u(e),isNaN(e)?i.value:(e>=i.min&&i.max>=e&&i.value!=e&&(n.element.prop("value",l(e)),i.value=e,n._refreshAriaAttr(e),n._refresh()),t)},_refresh:function(){this.trigger(z,{value:this.options.value})},_refreshAriaAttr:function(e){var t,n=this,i=n._drag;t=i&&i._tooltipDiv?i._tooltipDiv.text():n._getFormattedValue(e,null),this.wrapper.find(N).attr("aria-valuenow",e).attr("aria-valuetext",t)},_clearTimer:function(){clearTimeout(this.timeout),clearInterval(this.timer)},_keydown:function(e){var t=this;e.keyCode in t._keyMap&&(t._clearTooltipTimeout(),t._setValueInRange(t._keyMap[e.keyCode](t.options.value)),t._drag._updateTooltip(t.value()),e.preventDefault())},_setValueInRange:function(e){var n=this,i=n.options;return e=u(e),isNaN(e)?(n._update(i.min),t):(e=k.max(k.min(e,i.max),i.min),n._update(e),t)},_nextValueByIndex:function(e){var t=this._values.length;return this._isRtl&&(e=t-1-e),this._values[k.max(0,k.min(e,t-1))]},_formResetHandler:function(){var e=this,t=e.options.min;setTimeout(function(){var n=e.element[0].value;e.value(""===n||isNaN(n)?t:n)})},destroy:function(){var e=this;X.fn.destroy.call(e),e.wrapper.off(E).find(".k-button").off(E).end().find(N).off(E).end().find(U+", "+V).off(E).end(),e._drag.draggable.destroy(),e._drag._removeTooltip(!0)}});Z.Selection=function(e,t,n){function i(i){var o=i-n.min,r=t._valueIndex=k.ceil(u(o/n.smallStep)),a=parseInt(t._pixelSteps[r],10),s=t._trackDiv.find(".k-slider-selection"),l=parseInt(e[t._outerSize]()/2,10),c=t._isRtl?2:0;s[t._sizeFn](t._isRtl?t._maxSelection-a:a),e.css(t._position,a-l-c)}i(n.value),t.bind([D,A,z],function(e){i(parseFloat(e.value,10))})},Z.Drag=function(e,t,n,i){var o=this;o.owner=n,o.options=i,o.element=e,o.type=t,o.draggable=new v(e,{distance:0,dragstart:b(o._dragstart,o),drag:b(o.drag,o),dragend:b(o.dragend,o),dragcancel:b(o.dragcancel,o)}),e.click(!1)},Z.Drag.prototype={dragstart:function(e){this.owner._activeDragHandle=this,this.draggable.userEvents.cancel(),this.draggable.userEvents._start(e)},_dragstart:function(n){var i=this,o=i.owner,r=i.options;return r.enabled?(this.owner._activeDragHandle=this,o.element.off(F),o.wrapper.find("."+j).removeClass(j+" "+W),i.element.addClass(j+" "+W),e(document.documentElement).css("cursor","pointer"),i.dragableArea=o._getDraggableArea(),i.step=k.max(r.smallStep*(o._maxSelection/o._distance),0),i.type?(i.selectionStart=r.selectionStart,i.selectionEnd=r.selectionEnd,o._setZIndex(i.type)):i.oldVal=i.val=r.value,i._removeTooltip(!0),i._createTooltip(),t):(n.preventDefault(),t)},_createTooltip:function(){var t,n,i=this,o=i.owner,r=i.options.tooltip,a="",s=e(window);r.enabled&&(r.template&&(t=i.tooltipTemplate=g.template(r.template)),e(".k-slider-tooltip").remove(),i.tooltipDiv=e("<div class='k-widget k-tooltip k-slider-tooltip'><!-- --></div>").appendTo(document.body),a=o._getFormattedValue(i.val||o.value(),i),i.type||(n="k-callout-"+(o._isHorizontal?"s":"e"),i.tooltipInnerDiv="<div class='k-callout "+n+"'><!-- --></div>",a+=i.tooltipInnerDiv),i.tooltipDiv.html(a),i._scrollOffset={top:s.scrollTop(),left:s.scrollLeft()},i.moveTooltip())},drag:function(e){var t,n=this,i=n.owner,o=e.x.location,r=e.y.location,a=n.dragableArea.startPoint,s=n.dragableArea.endPoint;e.preventDefault(),n.val=i._isHorizontal?i._isRtl?n.constrainValue(o,a,s,s>o):n.constrainValue(o,a,s,o>=s):n.constrainValue(r,s,a,s>=r),n.oldVal!=n.val&&(n.oldVal=n.val,n.type?("firstHandle"==n.type?n.selectionStart=n.selectionEnd>n.val?n.val:n.selectionEnd=n.val:n.val>n.selectionStart?n.selectionEnd=n.val:n.selectionStart=n.selectionEnd=n.val,t={values:[n.selectionStart,n.selectionEnd],value:[n.selectionStart,n.selectionEnd]}):t={value:n.val},i.trigger(A,t)),n._updateTooltip(n.val)},_updateTooltip:function(e){var t=this,n=t.options,i=n.tooltip,o="";t.val&&(e=t.val),i.enabled&&(t.tooltipDiv||t._createTooltip(),o=t.owner._getFormattedValue(u(e),t),t.type||(o+=t.tooltipInnerDiv),t.tooltipDiv.html(o),t.moveTooltip())},dragcancel:function(){return this.owner._refresh(),e(document.documentElement).css("cursor",""),this._end()},dragend:function(){var t=this,n=t.owner;return e(document.documentElement).css("cursor",""),t.type?n._update(t.selectionStart,t.selectionEnd):(n._update(t.val),t.draggable.userEvents._disposeAll()),t._end()},_end:function(){var e=this,t=e.owner;return t._focusWithMouse(e.element),t.element.on(F),!1},_removeTooltip:function(t){var n=this,i=n.owner;n.tooltipDiv&&i.options.tooltip.enabled&&i.options.enabled&&(t?(n.tooltipDiv.remove(),n.tooltipDiv=null):n.tooltipDiv.fadeOut("slow",function(){e(this).remove(),n.tooltipDiv=null}))},moveTooltip:function(){var t,n,i,o,r=this,a=r.owner,s=0,l=0,c=r.element,u=g.getOffset(c),d=8,h=e(window),f=r.tooltipDiv.find(".k-callout"),p=r.tooltipDiv.outerWidth(),m=r.tooltipDiv.outerHeight();r.type?(t=a.wrapper.find(N),u=g.getOffset(t.eq(0)),n=g.getOffset(t.eq(1)),a._isHorizontal?(s=n.top,l=u.left+(n.left-u.left)/2):(s=u.top+(n.top-u.top)/2,l=n.left),o=t.eq(0).outerWidth()+2*d):(s=u.top,l=u.left,o=c.outerWidth()+2*d),a._isHorizontal?(l-=parseInt((p-c[a._outerSize]())/2,10),s-=m+f.height()+d):(s-=parseInt((m-c[a._outerSize]())/2,10),l-=p+f.width()+d),a._isHorizontal?(i=r._flip(s,m,o,h.outerHeight()+r._scrollOffset.top),s+=i,l+=r._fit(l,p,h.outerWidth()+r._scrollOffset.left)):(i=r._flip(l,p,o,h.outerWidth()+r._scrollOffset.left),s+=r._fit(s,m,h.outerHeight()+r._scrollOffset.top),l+=i),i>0&&f&&(f.removeClass(),f.addClass("k-callout k-callout-"+(a._isHorizontal?"n":"w"))),r.tooltipDiv.css({top:s,left:l})},_fit:function(e,t,n){var i=0;return e+t>n&&(i=n-(e+t)),0>e&&(i=-e),i},_flip:function(e,t,n,i){var o=0;return e+t>i&&(o+=-(n+t)),0>e+o&&(o+=n+t),o},constrainValue:function(e,t,n,i){var o=this,r=0;return r=e>t&&n>e?o.owner._getValueFromPosition(e,o.dragableArea):i?o.options.max:o.options.min}},g.ui.plugin(Z),p=X.extend({init:function(n,i){var o,r=this,a=e(n).find("input"),s=a.eq(0)[0],c=a.eq(1)[0];s.type="text",c.type="text",i&&i.showButtons&&(window.console&&window.console.warn("showbuttons option is not supported for the range slider, ignoring"),i.showButtons=!1),i=_({},{selectionStart:d(s,"value"),min:d(s,"min"),max:d(s,"max"),smallStep:d(s,"step")},{selectionEnd:d(c,"value"),min:d(c,"min"),max:d(c,"max"),smallStep:d(c,"step")},i),i&&i.enabled===t&&(i.enabled=!a.is("[disabled]")),X.fn.init.call(r,n,i),i=r.options,h(i.selectionStart)&&null!==i.selectionStart||(i.selectionStart=i.min,a.eq(0).prop("value",l(i.min))),h(i.selectionEnd)&&null!==i.selectionEnd||(i.selectionEnd=i.max,a.eq(1).prop("value",l(i.max))),o=r.wrapper.find(N),this._selection=new p.Selection(o,r,i),r._firstHandleDrag=new Z.Drag(o.eq(0),"firstHandle",r,i),r._lastHandleDrag=new Z.Drag(o.eq(1),"lastHandle",r,i)},options:{name:"RangeSlider",leftDragHandleTitle:"drag",rightDragHandleTitle:"drag",tooltip:{format:"{0:#,#.##}"},selectionStart:null,selectionEnd:null},enable:function(n){var i,o=this,r=o.options;o.disable(),n!==!1&&(o.wrapper.removeClass(q).addClass(G),o.wrapper.find("input").removeAttr($),i=function(n){var i,a,s,l,c,u,d,h=K(n)[0];if(h){if(i=o._isHorizontal?h.location.pageX:h.location.pageY,a=o._getDraggableArea(),s=o._getValueFromPosition(i,a),l=e(n.target),l.hasClass("k-draghandle"))return o.wrapper.find("."+j).removeClass(j+" "+W),l.addClass(j+" "+W),t;r.selectionStart>s?(c=s,u=r.selectionEnd,d=o._firstHandleDrag):s>o.selectionEnd?(c=r.selectionStart,u=s,d=o._lastHandleDrag):r.selectionEnd-s>=s-r.selectionStart?(c=s,u=r.selectionEnd,d=o._firstHandleDrag):(c=r.selectionStart,u=s,d=o._lastHandleDrag),d.dragstart(n),o._setValueInRange(c,u),o._focusWithMouse(d.element)}},o.wrapper.find(U+", "+V).on(P,i).end().on(P,function(){e(document.documentElement).one("selectstart",g.preventDefault)}).on(R,function(){o._activeDragHandle&&o._activeDragHandle._end()}),o.wrapper.find(N).attr(Q,0).on(I,function(){o._setTooltipTimeout(),o._drag.draggable.userEvents.cancel()}).on(L,function(e){o._focusWithMouse(e.target),e.preventDefault()}).on(O,b(o._focus,o)).on(H,b(o._blur,o)),o.wrapper.find(N).off(B,g.preventDefault).eq(0).on(B,b(function(e){this._keydown(e,"firstHandle")},o)).end().eq(1).on(B,b(function(e){this._keydown(e,"lastHandle")},o)),o.options.enabled=!0)},disable:function(){var e=this;e.wrapper.removeClass(G).addClass(q),e.wrapper.find("input").prop($,$),e.wrapper.find(U+", "+V).off(P).off(R),e.wrapper.find(N).attr(Q,-1).off(I).off(B).off(L).off(O).off(H),e.options.enabled=!1},_keydown:function(e,t){var n,i,o,r=this,a=r.options.selectionStart,s=r.options.selectionEnd;e.keyCode in r._keyMap&&(r._clearTooltipTimeout(),"firstHandle"==t?(o=r._activeHandleDrag=r._firstHandleDrag,a=r._keyMap[e.keyCode](a),a>s&&(s=a)):(o=r._activeHandleDrag=r._lastHandleDrag,s=r._keyMap[e.keyCode](s),a>s&&(a=s)),r._setValueInRange(u(a),u(s)),n=Math.max(a,r.options.selectionStart),i=Math.min(s,r.options.selectionEnd),o.selectionEnd=Math.max(i,r.options.selectionStart),o.selectionStart=Math.min(n,r.options.selectionEnd),o._updateTooltip(r.value()[r._activeHandle]),e.preventDefault())},_update:function(e,t){var n=this,i=n.value(),o=i[0]!=e||i[1]!=t;n.value([e,t]),o&&n.trigger(D,{values:[e,t],value:[e,t]})},value:function(e){return e&&e.length?this._value(e[0],e[1]):this._value()},_value:function(e,n){var i=this,o=i.options,r=o.selectionStart,a=o.selectionEnd;return isNaN(e)&&isNaN(n)?[r,a]:(e=u(e),n=u(n),e>=o.min&&o.max>=e&&n>=o.min&&o.max>=n&&n>=e&&(r!=e||a!=n)&&(i.element.find("input").eq(0).prop("value",l(e)).end().eq(1).prop("value",l(n)),o.selectionStart=e,o.selectionEnd=n,i._refresh(),i._refreshAriaAttr(e,n)),t)},values:function(e,t){return x(e)?this._value(e[0],e[1]):this._value(e,t)},_refresh:function(){var e=this,t=e.options;e.trigger(z,{values:[t.selectionStart,t.selectionEnd],value:[t.selectionStart,t.selectionEnd]}),t.selectionStart==t.max&&t.selectionEnd==t.max&&e._setZIndex("firstHandle")},_refreshAriaAttr:function(e,t){var n,i=this,o=i.wrapper.find(N),r=i._activeHandleDrag;n=i._getFormattedValue([e,t],r),o.eq(0).attr("aria-valuenow",e),o.eq(1).attr("aria-valuenow",t),o.attr("aria-valuetext",n)},_setValueInRange:function(e,t){var n=this.options;e=k.max(k.min(e,n.max),n.min),t=k.max(k.min(t,n.max),n.min),e==n.max&&t==n.max&&this._setZIndex("firstHandle"),this._update(k.min(e,t),k.max(e,t))},_setZIndex:function(t){this.wrapper.find(N).each(function(n){e(this).css("z-index","firstHandle"==t?1-n:n)})},_formResetHandler:function(){var e=this,t=e.options;setTimeout(function(){var n=e.element.find("input"),i=n[0].value,o=n[1].value;e.values(""===i||isNaN(i)?t.min:i,""===o||isNaN(o)?t.max:o)})},destroy:function(){var e=this;X.fn.destroy.call(e),e.wrapper.off(E).find(U+", "+V).off(E).end().find(N).off(E),e._firstHandleDrag.draggable.destroy(),e._lastHandleDrag.draggable.destroy()}}),p.Selection=function(e,t,n){function i(i){i=i||[];var r=i[0]-n.min,a=i[1]-n.min,s=k.ceil(u(r/n.smallStep)),l=k.ceil(u(a/n.smallStep)),c=t._pixelSteps[s],d=t._pixelSteps[l],h=parseInt(e.eq(0)[t._outerSize]()/2,10),f=t._isRtl?2:0;e.eq(0).css(t._position,c-h-f).end().eq(1).css(t._position,d-h-f),o(c,d)}function o(e,n){var i,o,r=t._trackDiv.find(".k-slider-selection");i=k.abs(e-n),r[t._sizeFn](i),t._isRtl?(o=k.max(e,n),r.css("right",t._maxSelection-o-1)):(o=k.min(e,n),r.css(t._position,o-1))}i(t.value()),t.bind([D,A,z],function(e){i(e.values)})},g.ui.plugin(p)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()}); |