UNPKG

framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

2 lines (1 loc) 1.99 kB
(function framework7ComponentLoader(n,e){void 0===e&&(e=!0);document,window;var i=n.$,t=(n.Template7,n.utils),o=(n.device,n.support,n.Class,n.Modal,n.ConstructorMethods,n.ModalMethods,{handleScroll:function(n,e){var t,o=i(n),r=o[0].scrollTop,l=o[0].scrollHeight,c=o[0].offsetHeight,a=o[0].getAttribute("data-infinite-distance"),f=o.find(".virtual-list"),s=o.hasClass("infinite-scroll-top");if(a||(a=50),"string"==typeof a&&a.indexOf("%")>=0&&(a=parseInt(a,10)/100*c),a>c&&(a=c),s)r<a&&(o.trigger("infinite",e),this.emit("infinite",o[0],e));else if(r+c>=l-a){if(f.length>0&&(t=f.eq(-1)[0].f7VirtualList)&&!t.reachEnd&&!t.params.updatableScroll)return;o.trigger("infinite",e),this.emit("infinite",o[0],e)}},create:function(n){var e=i(n),t=this;function o(n){t.infiniteScroll.handle(this,n)}e.each(function(n,e){e.f7InfiniteScrollHandler=o,e.addEventListener("scroll",e.f7InfiniteScrollHandler)})},destroy:function(n){i(n).each(function(n,e){e.removeEventListener("scroll",e.f7InfiniteScrollHandler),delete e.f7InfiniteScrollHandler})}}),r={name:"infiniteScroll",create:function(){t.extend(this,{infiniteScroll:{handle:o.handleScroll.bind(this),create:o.create.bind(this),destroy:o.destroy.bind(this)}})},on:{tabMounted:function(n){var e=this;i(n).find(".infinite-scroll-content").each(function(n,i){e.infiniteScroll.create(i)})},tabBeforeRemove:function(n){var e=i(n),t=this;e.find(".infinite-scroll-content").each(function(n,e){t.infiniteScroll.destroy(e)})},pageInit:function(n){var e=this;n.$el.find(".infinite-scroll-content").each(function(n,i){e.infiniteScroll.create(i)})},pageBeforeRemove:function(n){var e=this;n.$el.find(".infinite-scroll-content").each(function(n,i){e.infiniteScroll.destroy(i)})}}};if(e){if(n.prototype.modules&&n.prototype.modules[r.name])return;n.use(r),n.instance&&(n.instance.useModuleParams(r,n.instance.params),n.instance.useModule(r))}return r}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))