/* * Kendo UI Web v2012.2.710 (http://kendoui.com) * Copyright 2012 Telerik AD. All rights reserved. * * Kendo UI Web commercial licenses may be obtained at http://kendoui.com/web-license * If you do not own a commercial license, this file shall be governed by the * GNU General Public License (GPL) version 3. * For GPL requirements, please review: http://www.gnu.org/copyleft/gpl.html */ ;(function(a,b){var c=window.kendo,d=c.mobile,e=c.fx,f=d.ui,g=a.proxy,h=a.extend,i=f.Widget,j=c.Class,k=c.ui.Movable,l=c.ui.Pane,m=c.ui.PaneDimensions,n=e.Transition,o=e.Animation,p=500,q=.7,r=.93,s=.5,t="km-scroller-release",u="km-scroller-refresh",v="pull",w="change",x="resize",y="scroll",z=o.extend({init:function(a){var b=this;o.fn.init.call(b),h(b,a,{transition:new n({axis:a.axis,movable:a.movable,onEnd:function(){b._end()}})}),b.tap.bind("press",function(){b.cancel()}),b.drag.bind("end",g(b.start,b)),b.drag.bind("tap",g(b.onEnd,b))},onCancel:function(){this.transition.cancel()},freeze:function(a){var b=this;b.cancel(),b._moveTo(a)},onEnd:function(){var a=this;a._outOfBounds()?a._snapBack():a._end()},done:function(){return Math.abs(this.velocity)<1},start:function(){var a=this;!a.dimension.present()||(a._outOfBounds()?a._snapBack():(a.velocity=a.drag[a.axis].velocity*16,a.velocity&&(a.tap.captureNext(),o.fn.start.call(a))))},tick:function(){var a=this,b=a.dimension,c=a._outOfBounds()?s:r,d=a.velocity*=c,e=a.movable[a.axis]+d;!a.elastic&&b.outOfBounds(e)&&(e=Math.max(Math.min(e,b.max),b.min),a.velocity=0),a.movable.moveAxis(a.axis,e)},_end:function(){this.tap.cancelCapture(),this.end()},_outOfBounds:function(){return this.dimension.outOfBounds(this.movable[this.axis])},_snapBack:function(){var a=this,b=a.dimension,c=a.movable[a.axis]>b.max?b.max:b.min;a._moveTo(c)},_moveTo:function(a){this.transition.moveTo({location:a,duration:p,ease:n.easeOutExpo})}}),A=j.extend({init:function(b){var c=this,d=b.axis==="x",e=a('
');h(c,b,{element:e,elementSize:0,movable:new k(e),scrollMovable:b.movable,size:d?"width":"height"}),c.scrollMovable.bind(w,g(c._move,c)),c.container.append(e)},_move:function(){var a=this,b=a.axis,c=a.dimension,d=c.size,e=a.scrollMovable,f=d/c.total,g=Math.round(-e[b]*f),h=Math.round(d*f);g+h>d?h=d-g:g<0&&(h+=g,g=0),a.elementSize!=h&&(a.element.css(a.size,h+"px"),a.elementSize=h),a.movable.moveAxis(b,g)},show:function(){this.element.css({opacity:q,visibility:"visible"})},hide:function(){this.element.css({opacity:0})}}),B=i.extend({init:function(b,d){var e=this;i.fn.init.call(e,b,d),b=e.element,b.css("overflow","hidden").addClass("km-scroll-wrapper").wrapInner('').prepend('');var f=b.children().eq(1),g=new c.Tap(b),j=new k(f),n=new m({element:f,container:b,change:function(){e.trigger(x)}}),o=new c.Drag(b,{allowSelection:!0,start:function(a){n.refresh(),n.present()?o.capture():o.cancel()}}),p=new l({movable:j,dimensions:n,drag:o,elastic:e.options.elastic});j.bind(w,function(){e.scrollTop=-j.y,e.scrollLeft=-j.x,e.trigger(y,{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft})}),h(e,{movable:j,dimensions:n,drag:o,pane:p,tap:g,pulled:!1,scrollElement:f,fixedContainer:b.children().first()}),e._initAxis("x"),e._initAxis("y"),n.refresh(),e.options.pullToRefresh&&e._initPullToRefresh(),c.onResize(a.proxy(e.reset,e))},scrollHeight:function(){return this.scrollElement[0].scrollHeight},scrollWidth:function(){return this.scrollElement[0].scrollWidth},options:{name:"Scroller",pullOffset:140,elastic:!0,pullTemplate:"Pull to refresh",releaseTemplate:"Release to refresh",refreshTemplate:"Refreshing"},events:[v,y,x],setOptions:function(a){var b=this;i.fn.setOptions.call(b,a),a.pullToRefresh&&b._initPullToRefresh()},reset:function(){this.movable.moveTo({x:0,y:0})},scrollTo:function(a,b){this.movable.moveTo({x:a,y:b})},pullHandled:function(){var a=this;a.refreshHint.removeClass(u),a.hintContainer.html(a.pullTemplate({})),a.yinertia.onEnd(),a.xinertia.onEnd()},_initPullToRefresh:function(){var a=this;a.pullTemplate=c.template(a.options.pullTemplate),a.releaseTemplate=c.template(a.options.releaseTemplate),a.refreshTemplate=c.template(a.options.refreshTemplate),a.scrollElement.prepend(''+a.pullTemplate({})+""),a.refreshHint=a.scrollElement.children().first(),a.hintContainer=a.refreshHint.children(".km-template"),a.pane.y.bind("change",g(a._paneChange,a)),a.drag.bind("end",g(a._dragEnd,a))},_dragEnd:function(){var a=this;!a.pulled||(a.pulled=!1,a.refreshHint.removeClass(t).addClass(u),a.hintContainer.html(a.refreshTemplate({})),a.trigger("pull"),a.yinertia.freeze(a.options.pullOffset/2))},_paneChange:function(){var a=this;a.movable.y/s>a.options.pullOffset?a.pulled||(a.pulled=!0,a.refreshHint.removeClass(u).addClass(t),a.hintContainer.html(a.releaseTemplate({}))):a.pulled&&(a.pulled=!1,a.refreshHint.removeClass(t),a.hintContainer.html(a.pullTemplate({})))},_initAxis:function(a){var b=this,c=b.movable,d=b.dimensions[a],e=b.tap,f=new A({axis:a,movable:c,dimension:d,container:b.element}),g=new z({axis:a,movable:c,tap:e,drag:b.drag,dimension:d,elastic:b.options.elastic,end:function(){f.hide()}});b[a+"inertia"]=g,b.pane[a].bind(w,function(){f.show()})}});f.plugin(B)})(jQuery);