/* * Kendo UI Beta v2013.2.716 (http://kendoui.com) * Copyright 2013 Telerik AD. All rights reserved. * * Kendo UI Beta license terms available at * http://www.kendoui.com/purchase/license-agreement/kendo-ui-beta.aspx */ ("function"==typeof define&&define.amd?define:function(e,n){return n()})(["./kendo.core.min","./kendo.fx.min","./kendo.draganddrop.min"],function(){!function(e){var n=window.kendo,i=n.mobile,t=n.effects,s=i.ui,l=e.proxy,o=e.extend,a=s.Widget,r=n.Class,c=n.ui.Movable,d=n.ui.Pane,u=n.ui.PaneDimensions,m=t.Transition,p=t.Animation,h=Math.abs,f=500,v=.7,b=.96,x=10,T=55,g=.5,y="km-scroller-release",E="km-scroller-refresh",_="pull",C="change",k="resize",w="scroll",z=p.extend({init:function(e){var n=this;p.fn.init.call(n),o(n,e),n.userEvents.bind("gestureend",l(n.start,n)),n.tapCapture.bind("press",l(n.cancel,n))},done:function(){return this.dimensions.minScale-this.movable.scale<.01},tick:function(){var e=this.movable;e.scaleWith(1.1),this.dimensions.rescale(e.scale)},onEnd:function(){var e=this.movable;e.scaleTo(this.dimensions.minScale),this.dimensions.rescale(e.scale)}}),S=p.extend({init:function(e){var n=this;p.fn.init.call(n),o(n,e,{transition:new m({axis:e.axis,movable:e.movable,onEnd:function(){n._end()}})}),n.tapCapture.bind("press",function(){n.cancel()}),n.userEvents.bind("end",l(n.start,n)),n.userEvents.bind("gestureend",l(n.start,n)),n.userEvents.bind("tap",l(n.onEnd,n))},onCancel:function(){this.transition.cancel()},freeze:function(e){var n=this;n.cancel(),n._moveTo(e)},onEnd:function(){var e=this;e._outOfBounds()?e._snapBack():e._end()},done:function(){return h(this.velocity)<1},start:function(e){var n=this;n.dimension.enabled&&(n._outOfBounds()?n._snapBack():(n.velocity=Math.max(Math.min(e.touch[n.axis].velocity*x,T),-T),n.velocity&&(n.tapCapture.captureNext(),p.fn.start.call(n))))},tick:function(){var e=this,n=e.dimension,i=e._outOfBounds()?g:b,t=e.velocity*=i,s=e.movable[e.axis]+t;!e.elastic&&n.outOfBounds(s)&&(s=Math.max(Math.min(s,n.max),n.min),e.velocity=0),e.movable.moveAxis(e.axis,s)},_end:function(){this.tapCapture.cancelCapture(),this.end()},_outOfBounds:function(){return this.dimension.outOfBounds(this.movable[this.axis])},_snapBack:function(){var e=this,n=e.dimension,i=e.movable[e.axis]>n.max?n.max:n.min;e._moveTo(i)},_moveTo:function(e){this.transition.moveTo({location:e,duration:f,ease:m.easeOutExpo})}}),O=r.extend({init:function(n){var i=this,t="x"===n.axis,s=e('
');o(i,n,{element:s,elementSize:0,movable:new c(s),scrollMovable:n.movable,size:t?"width":"height"}),i.scrollMovable.bind(C,l(i._move,i)),i.container.append(s)},_move:function(){var e=this,n=e.axis,i=e.dimension,t=i.size,s=e.scrollMovable,l=t/i.total,o=Math.round(-s[n]*l),a=Math.round(t*l);o+a>t?a=t-o:0>o&&(a+=o,o=0),e.elementSize!=a&&(e.element.css(e.size,a+"px"),e.elementSize=a),e.movable.moveAxis(n,o)},show:function(){this.element.css({opacity:v,visibility:"visible"})},hide:function(){this.element.css({opacity:0})}}),M=a.extend({init:function(i,t){var s,l,r,m,p,f,v,b,x=this;return a.fn.init.call(x,i,t),i=x.element,x._native=x.options.useNative&&n.support.hasNativeScrolling,x._native?(i.addClass("km-native-scroller").prepend(''),o(x,{scrollElement:i,fixedContainer:i.children().first()}),undefined):(i.css("overflow","hidden").addClass("km-scroll-wrapper").wrapInner('').prepend(''),s=i.children().eq(1),l=new n.TapCapture(i),r=new c(s),m=new u({element:s,container:i,forcedEnabled:x.options.zoom,change:function(){x.trigger(k)}}),p=this.options.avoidScrolling,f=new n.UserEvents(i,{allowSelection:!0,preventDragEvent:!0,captureUpIfMoved:!0,multiTouch:x.options.zoom,start:function(e){m.refresh();var n=h(e.x.velocity),i=h(e.y.velocity),t=2*n>=i,s=2*i>=n;!p(e)&&x.enabled&&(m.x.enabled&&t||m.y.enabled&&s)?f.capture():f.cancel()}}),v=new d({movable:r,dimensions:m,userEvents:f,elastic:x.options.elastic}),b=new z({movable:r,dimensions:m,userEvents:f,tapCapture:l}),r.bind(C,function(){x.scrollTop=-r.y,x.scrollLeft=-r.x,x.trigger(w,{scrollTop:x.scrollTop,scrollLeft:x.scrollLeft})}),o(x,{movable:r,dimensions:m,zoomSnapBack:b,userEvents:f,pane:v,tapCapture:l,pulled:!1,enabled:!0,scrollElement:s,scrollTop:0,scrollLeft:0,fixedContainer:i.children().first()}),x._initAxis("x"),x._initAxis("y"),m.refresh(),x.options.pullToRefresh&&x._initPullToRefresh(),n.onResize(e.proxy(x.reset,x)),undefined)},makeVirtual:function(){this.dimensions.y.makeVirtual()},virtualSize:function(e,n){this.dimensions.y.virtualSize(e,n)},height:function(){return this.dimensions.y.size},scrollHeight:function(){return this.scrollElement[0].scrollHeight},scrollWidth:function(){return this.scrollElement[0].scrollWidth},options:{name:"Scroller",zoom:!1,pullOffset:140,elastic:!0,useNative:!1,avoidScrolling:function(){return!1},pullTemplate:"Pull to refresh",releaseTemplate:"Release to refresh",refreshTemplate:"Refreshing"},events:[_,w,k],setOptions:function(e){var n=this;a.fn.setOptions.call(n,e),e.pullToRefresh&&n._initPullToRefresh()},reset:function(){this._native?this.scrollElement.scrollTop(0):(this.movable.moveTo({x:0,y:0}),this._scale(1))},zoomOut:function(){var e=this.dimensions;e.refresh(),this._scale(e.fitScale),this.movable.moveTo(e.centerCoordinates())},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},scrollTo:function(e,n){this.dimensions.refresh(),this.movable.moveTo({x:e,y:n})},pullHandled:function(){var e=this;e.refreshHint.removeClass(E),e.hintContainer.html(e.pullTemplate({})),e.yinertia.onEnd(),e.xinertia.onEnd()},destroy:function(){a.fn.destroy.call(this),this.userEvents.destroy()},_scale:function(e){this.dimensions.rescale(e),this.movable.scaleTo(e)},_initPullToRefresh:function(){var e=this;e.dimensions.y.forceEnabled(),e.pullTemplate=n.template(e.options.pullTemplate),e.releaseTemplate=n.template(e.options.releaseTemplate),e.refreshTemplate=n.template(e.options.refreshTemplate),e.scrollElement.prepend(''+e.pullTemplate({})+""),e.refreshHint=e.scrollElement.children().first(),e.hintContainer=e.refreshHint.children(".km-template"),e.pane.y.bind("change",l(e._paneChange,e)),e.userEvents.bind("end",l(e._dragEnd,e))},_dragEnd:function(){var e=this;e.pulled&&(e.pulled=!1,e.refreshHint.removeClass(y).addClass(E),e.hintContainer.html(e.refreshTemplate({})),e.yinertia.freeze(e.options.pullOffset/2),e.trigger("pull"))},_paneChange:function(){var e=this;e.movable.y/g>e.options.pullOffset?e.pulled||(e.pulled=!0,e.refreshHint.removeClass(E).addClass(y),e.hintContainer.html(e.releaseTemplate({}))):e.pulled&&(e.pulled=!1,e.refreshHint.removeClass(y),e.hintContainer.html(e.pullTemplate({})))},_initAxis:function(e){var n=this,i=n.movable,t=n.dimensions[e],s=n.tapCapture,l=new O({axis:e,movable:i,dimension:t,container:n.element});n.pane[e].bind(C,function(){l.show()}),n[e+"inertia"]=new S({axis:e,movable:i,tapCapture:s,userEvents:n.userEvents,dimension:t,elastic:n.options.elastic,end:function(){l.hide(),n.trigger("scrollEnd",{axis:e,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft})}})}});s.plugin(M)}(window.kendo.jQuery)});