EOS/Scripts/kendo/2015.3.1111/kendo.mobile.scrollview.min.js
Nidhi Bhargava f0c1ab20e1 code push
2025-09-04 16:25:07 +05:30

9 lines
12 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.fx.min","./kendo.data.min","./kendo.draganddrop.min"],e)}(function(){return function(e,t){var n,i,o,r,s,a,l,c,u=window.kendo,d=u.mobile,h=d.ui,f=e.proxy,p=u.effects.Transition,g=u.ui.Pane,m=u.ui.PaneDimensions,v=h.DataBoundWidget,_=u.data.DataSource,w=u.data.Buffer,b=u.data.BatchBuffer,y=Math,x=y.abs,k=y.ceil,C=y.round,S=y.max,T=y.min,D=y.floor,A="change",E="changing",M="refresh",P="km-current-page",I="km-virtual-page",R="function",B="itemChange",z="cleanup",L=3,F=-1,O=0,N=1,H=-1,V=0,U=1,W=u.Class.extend({init:function(t){var n=this,i=e("<ol class='km-pages'/>");t.element.append(i),this._changeProxy=f(n,"_change"),this._refreshProxy=f(n,"_refresh"),t.bind(A,this._changeProxy),t.bind(M,this._refreshProxy),e.extend(n,{element:i,scrollView:t})},items:function(){return this.element.children()},_refresh:function(e){var t,n="";for(t=0;e.pageCount>t;t++)n+="<li/>";this.element.html(n),this.items().eq(e.page).addClass(P)},_change:function(e){this.items().removeClass(P).eq(e.page).addClass(P)},destroy:function(){this.scrollView.unbind(A,this._changeProxy),this.scrollView.unbind(M,this._refreshProxy),this.element.remove()}});u.mobile.ui.ScrollViewPager=W,n="transitionEnd",i="dragStart",o="dragEnd",r=u.Observable.extend({init:function(t,r){var s,a,l,c,d,h,f=this;u.Observable.fn.init.call(this),this.element=t,this.container=t.parent(),s=new u.ui.Movable(f.element),a=new p({axis:"x",movable:s,onEnd:function(){f.trigger(n)}}),l=new u.UserEvents(t,{start:function(e){2*x(e.x.velocity)>=x(e.y.velocity)?l.capture():l.cancel(),f.trigger(i,e),a.cancel()},allowSelection:!0,end:function(e){f.trigger(o,e)}}),c=new m({element:f.element,container:f.container}),d=c.x,d.bind(A,function(){f.trigger(A)}),h=new g({dimensions:c,userEvents:l,movable:s,elastic:!0}),e.extend(f,{duration:r&&r.duration||1,movable:s,transition:a,userEvents:l,dimensions:c,dimension:d,pane:h}),this.bind([n,i,o,A],r)},size:function(){return{width:this.dimensions.x.getSize(),height:this.dimensions.y.getSize()}},total:function(){return this.dimension.getTotal()},offset:function(){return-this.movable.x},updateDimension:function(){this.dimension.update(!0)},refresh:function(){this.dimensions.refresh()},moveTo:function(e){this.movable.moveAxis("x",-e)},transitionTo:function(e,t,n){n?this.moveTo(-e):this.transition.moveTo({location:e,duration:this.duration,ease:t})}}),u.mobile.ui.ScrollViewElasticPane=r,s=u.Observable.extend({init:function(e,t,n){var i=this;u.Observable.fn.init.call(this),i.element=e,i.pane=t,i._getPages(),this.page=0,this.pageSize=n.pageSize||1,this.contentHeight=n.contentHeight,this.enablePager=n.enablePager,this.pagerOverlay=n.pagerOverlay},scrollTo:function(e,t){this.page=e,this.pane.transitionTo(-e*this.pane.size().width,p.easeOutExpo,t)},paneMoved:function(e,t,n,i){var o,r,s=this,a=s.pane,l=a.size().width*s.pageSize,c=C,u=t?p.easeOutBack:p.easeOutExpo;e===H?c=k:e===U&&(c=D),r=c(a.offset()/l),o=S(s.minSnap,T(-r*l,s.maxSnap)),r!=s.page&&n&&n({currentPage:s.page,nextPage:r})&&(o=-s.page*a.size().width),a.transitionTo(o,u,i)},updatePage:function(){var e=this.pane,t=C(e.offset()/e.size().width);return t!=this.page?(this.page=t,!0):!1},forcePageUpdate:function(){return this.updatePage()},resizeTo:function(e){var t,n,i=this.pane,o=e.width;this.pageElements.width(o),"100%"===this.contentHeight&&(t=this.element.parent().height(),this.enablePager===!0&&(n=this.element.parent().find("ol.km-pages"),!this.pagerOverlay&&n.length&&(t-=n.outerHeight(!0))),this.element.css("height",t),this.pageElements.css("height",t)),i.updateDimension(),this._paged||(this.page=D(i.offset()/o)),this.scrollTo(this.page,!0),this.pageCount=k(i.total()/o),this.minSnap=-(this.pageCount-1)*o,this.maxSnap=0},_getPages:function(){this.pageElements=this.element.find(u.roleSelector("page")),this._paged=this.pageElements.length>0}}),u.mobile.ui.ScrollViewContent=s,a=u.Observable.extend({init:function(e,t,n){var i=this;u.Observable.fn.init.call(this),i.element=e,i.pane=t,i.options=n,i._templates(),i.page=n.page||0,i.pages=[],i._initPages(),i.resizeTo(i.pane.size()),i.pane.dimension.forceEnabled()},setDataSource:function(e){this.dataSource=_.create(e),this._buffer(),this._pendingPageRefresh=!1,this._pendingWidgetRefresh=!1},_viewShow:function(){var e=this;e._pendingWidgetRefresh&&(setTimeout(function(){e._resetPages()},0),e._pendingWidgetRefresh=!1)},_buffer:function(){var e=this.options.itemsPerPage;this.buffer&&this.buffer.destroy(),this.buffer=e>1?new b(this.dataSource,e):new w(this.dataSource,3*e),this._resizeProxy=f(this,"_onResize"),this._resetProxy=f(this,"_onReset"),this._endReachedProxy=f(this,"_onEndReached"),this.buffer.bind({resize:this._resizeProxy,reset:this._resetProxy,endreached:this._endReachedProxy})},_templates:function(){var e=this.options.template,t=this.options.emptyTemplate,n={},i={};typeof e===R&&(n.template=e,e="#=this.template(data)#"),this.template=f(u.template(e),n),typeof t===R&&(i.emptyTemplate=t,t="#=this.emptyTemplate(data)#"),this.emptyTemplate=f(u.template(t),i)},_initPages:function(){var e,t,n=this.pages,i=this.element;for(t=0;L>t;t++)e=new l(i),n.push(e);this.pane.updateDimension()},resizeTo:function(e){var t,n,i,o=this.pages,r=this.pane;for(t=0;o.length>t;t++)o[t].setWidth(e.width);"auto"===this.options.contentHeight?this.element.css("height",this.pages[1].element.height()):"100%"===this.options.contentHeight&&(n=this.element.parent().height(),this.options.enablePager===!0&&(i=this.element.parent().find("ol.km-pages"),!this.options.pagerOverlay&&i.length&&(n-=i.outerHeight(!0))),this.element.css("height",n),o[0].element.css("height",n),o[1].element.css("height",n),o[2].element.css("height",n)),r.updateDimension(),this._repositionPages(),this.width=e.width},scrollTo:function(e){var t,n=this.buffer;n.syncDataSource(),t=n.at(e),t&&(this._updatePagesContent(e),this.page=e)},paneMoved:function(e,t,n,i){var o,r=this,s=r.pane,a=s.size().width,l=s.offset(),c=Math.abs(l)>=a/3,d=t?u.effects.Transition.easeOutBack:u.effects.Transition.easeOutExpo,h=r.page+2>r.buffer.total(),f=0;e===U?0!==r.page&&(f=-1):e!==H||h?l>0&&c&&!h?f=1:0>l&&c&&0!==r.page&&(f=-1):f=1,o=r.page,f&&(o=f>0?o+1:o-1),n&&n({currentPage:r.page,nextPage:o})&&(f=0),0===f?r._cancelMove(d,i):-1===f?r._moveBackward(i):1===f&&r._moveForward(i)},updatePage:function(){var e=this.pages;return 0===this.pane.offset()?!1:(this.pane.offset()>0?(e.push(this.pages.shift()),this.page++,this.setPageContent(e[2],this.page+1)):(e.unshift(this.pages.pop()),this.page--,this.setPageContent(e[0],this.page-1)),this._repositionPages(),this._resetMovable(),!0)},forcePageUpdate:function(){var e=this.pane.offset(),t=3*this.pane.size().width/4;return x(e)>t?this.updatePage():!1},_resetMovable:function(){this.pane.moveTo(0)},_moveForward:function(e){this.pane.transitionTo(-this.width,u.effects.Transition.easeOutExpo,e)},_moveBackward:function(e){this.pane.transitionTo(this.width,u.effects.Transition.easeOutExpo,e)},_cancelMove:function(e,t){this.pane.transitionTo(0,e,t)},_resetPages:function(){this.page=this.options.page||0,this._updatePagesContent(this.page),this._repositionPages(),this.trigger("reset")},_onResize:function(){this.pageCount=k(this.dataSource.total()/this.options.itemsPerPage),this._pendingPageRefresh&&(this._updatePagesContent(this.page),this._pendingPageRefresh=!1),this.trigger("resize")},_onReset:function(){this.pageCount=k(this.dataSource.total()/this.options.itemsPerPage),this._resetPages()},_onEndReached:function(){this._pendingPageRefresh=!0},_repositionPages:function(){var e=this.pages;e[0].position(F),e[1].position(O),e[2].position(N)},_updatePagesContent:function(e){var t=this.pages,n=e||0;this.setPageContent(t[0],n-1),this.setPageContent(t[1],n),this.setPageContent(t[2],n+1)},setPageContent:function(t,n){var i=this.buffer,o=this.template,r=this.emptyTemplate,s=null;n>=0&&(s=i.at(n),e.isArray(s)&&!s.length&&(s=null)),this.trigger(z,{item:t.element}),t.content(null!==s?o(s):r({})),u.mobile.init(t.element),this.trigger(B,{item:t.element,data:s,ns:u.mobile.ui})}}),u.mobile.ui.VirtualScrollViewContent=a,l=u.Class.extend({init:function(t){this.element=e("<div class='"+I+"'></div>"),this.width=t.width(),this.element.width(this.width),t.append(this.element)},content:function(e){this.element.html(e)},position:function(e){this.element.css("transform","translate3d("+this.width*e+"px, 0, 0)")},setWidth:function(e){this.width=e,this.element.width(e)}}),u.mobile.ui.VirtualPage=l,c=v.extend({init:function(e,t){var n,i,o,l=this;v.fn.init.call(l,e,t),t=l.options,e=l.element,u.stripWhitespace(e[0]),e.wrapInner("<div/>").addClass("km-scrollview"),this.options.enablePager&&(this.pager=new W(this),this.options.pagerOverlay&&e.addClass("km-scrollview-overlay")),l.inner=e.children().first(),l.page=0,l.inner.css("height",t.contentHeight),l.pane=new r(l.inner,{duration:this.options.duration,transitionEnd:f(this,"_transitionEnd"),dragStart:f(this,"_dragStart"),dragEnd:f(this,"_dragEnd"),change:f(this,M)}),l.bind("resize",function(){l.pane.refresh()}),l.page=t.page,n=0===this.inner.children().length,i=n?new a(l.inner,l.pane,t):new s(l.inner,l.pane,t),i.page=l.page,i.bind("reset",function(){this._pendingPageRefresh=!1,l._syncWithContent(),l.trigger(M,{pageCount:i.pageCount,page:i.page})}),i.bind("resize",function(){l.trigger(M,{pageCount:i.pageCount,page:i.page})}),i.bind(B,function(e){l.trigger(B,e),l.angular("compile",function(){return{elements:e.item,data:[{dataItem:e.data}]}})}),i.bind(z,function(e){l.angular("cleanup",function(){return{elements:e.item}})}),l._content=i,l.setDataSource(t.dataSource),o=l.container(),o.nullObject?(l.viewInit(),l.viewShow()):o.bind("show",f(this,"viewShow")).bind("init",f(this,"viewInit"))},options:{name:"ScrollView",page:0,duration:400,velocityThreshold:.8,contentHeight:"auto",pageSize:1,itemsPerPage:1,bounceVelocityThreshold:1.6,enablePager:!0,pagerOverlay:!1,autoBind:!0,template:"",emptyTemplate:""},events:[E,A,M],destroy:function(){v.fn.destroy.call(this),u.destroy(this.element)},viewInit:function(){this.options.autoBind&&this._content.scrollTo(this._content.page,!0)},viewShow:function(){this.pane.refresh()},refresh:function(){var e=this._content;e.resizeTo(this.pane.size()),this.page=e.page,this.trigger(M,{pageCount:e.pageCount,page:e.page})},content:function(e){this.element.children().first().html(e),this._content._getPages(),this.pane.refresh()},value:function(e){var n=this.dataSource;return e?(this.scrollTo(n.indexOf(e),!0),t):n.at(this.page)},scrollTo:function(e,t){this._content.scrollTo(e,t),this._syncWithContent()},prev:function(){var e=this,n=e.page-1;e._content instanceof a?e._content.paneMoved(U,t,function(t){return e.trigger(E,t)}):n>-1&&e.scrollTo(n)},next:function(){var e=this,n=e.page+1;e._content instanceof a?e._content.paneMoved(H,t,function(t){return e.trigger(E,t)}):e._content.pageCount>n&&e.scrollTo(n)},setDataSource:function(e){if(this._content instanceof a){var t=!e;this.dataSource=_.create(e),this._content.setDataSource(this.dataSource),this.options.autoBind&&!t&&this.dataSource.fetch()}},items:function(){return this.element.find("."+I)},_syncWithContent:function(){var e,n,i=this._content.pages,o=this._content.buffer;this.page=this._content.page,e=o?o.at(this.page):t,e instanceof Array||(e=[e]),n=i?i[1].element:t,this.trigger(A,{page:this.page,element:n,data:e})},_dragStart:function(){this._content.forcePageUpdate()&&this._syncWithContent()},_dragEnd:function(e){var t=this,n=e.x.velocity,i=this.options.velocityThreshold,o=V,r=x(n)>this.options.bounceVelocityThreshold;n>i?o=U:-i>n&&(o=H),this._content.paneMoved(o,r,function(e){return t.trigger(E,e)})},_transitionEnd:function(){this._content.updatePage()&&this._syncWithContent()}}),h.plugin(c)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()});