UNPKG

zmp-core

Version:

Full featured mobile HTML framework for building iOS & Android apps

2 lines (1 loc) 1.96 kB
(function zmpComponentLoader(n,i){void 0===i&&(i=!0);var e=n.$,t=n.utils,o=(n.getDevice,n.getSupport,n.Class,n.Modal,n.ConstructorMethods,n.ModalMethods,t.bindMethods),r={handle:function(n,i){var t,o=e(n),r=o[0].scrollTop,l=o[0].scrollHeight,c=o[0].offsetHeight,a=o[0].getAttribute("data-infinite-distance"),s=o.find(".virtual-list"),f=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),f)r<a&&(o.trigger("infinite",i),this.emit("infinite",o[0],i));else if(r+c>=l-a){if(s.length>0&&(t=s.eq(-1)[0].zmpVirtualList)&&!t.reachEnd&&!t.params.updatableScroll)return;o.trigger("infinite",i),this.emit("infinite",o[0],i)}},create:function(n){var i=e(n),t=this;function o(n){t.infiniteScroll.handle(this,n)}i.each((function(n){n.zmpInfiniteScrollHandler=o,n.addEventListener("scroll",n.zmpInfiniteScrollHandler)}))},destroy:function(n){e(n).each((function(n){n.removeEventListener("scroll",n.zmpInfiniteScrollHandler),delete n.zmpInfiniteScrollHandler}))}},l={name:"infiniteScroll",create:function(){o(this,{infiniteScroll:r})},on:{tabMounted:function(n){var i=this,t=e(n),o=t.find(".infinite-scroll-content");t.is(".infinite-scroll-content")&&o.add(t),o.each((function(n){i.infiniteScroll.create(n)}))},tabBeforeRemove:function(n){var i=e(n),t=this,o=i.find(".infinite-scroll-content");i.is(".infinite-scroll-content")&&o.add(i),o.each((function(n){t.infiniteScroll.destroy(n)}))},pageInit:function(n){var i=this;n.$el.find(".infinite-scroll-content").each((function(n){i.infiniteScroll.create(n)}))},pageBeforeRemove:function(n){var i=this;n.$el.find(".infinite-scroll-content").each((function(n){i.infiniteScroll.destroy(n)}))}}};if(i){if(n.prototype.modules&&n.prototype.modules[l.name])return;n.use(l),n.instance&&(n.instance.useModuleParams(l,n.instance.params),n.instance.useModule(l))}return l}(ZMP, typeof ZMPAutoInstallComponent === 'undefined' ? undefined : ZMPAutoInstallComponent))