UNPKG

framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

2 lines (1 loc) 4.31 kB
(function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var a=document,s=(window,t.$),o=(t.Template7,t.utils),i=(t.device,t.support,t.Class,t.Modal,t.ConstructorMethods,t.ModalMethods,{init:function(){var t,e,o,i,r,l,n,d,p,b,v,u,f,g,h,c,m,x,w,C,M,T=this;function I(a,i){e=!1,t=!0,M=!1,o="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY,r=s(a.target).closest("li").eq(0),f=r.index(),n=r.parents(".sortable");var d=r.parents(".list-group");d.length&&d.parents(n).length&&(n=d),l=n.children("ul").children("li:not(.disallow-sorting):not(.no-sorting)"),T.panel&&(T.panel.allowOpen=!1),T.swipeout&&(T.swipeout.allow=!1),i&&(r.addClass("sorting"),n.addClass("sortable-sorting"),M=!0)}var L=!!T.support.passiveListener&&{passive:!1,capture:!1};s(a).on(T.touchEvents.start,".list.sortable .sortable-handler",I,L),T.on("touchmove:active",(function(a){if(t&&r){var f="touchmove"===a.type?a.targetTouches[0].pageY:a.pageY;if(!e){g=r.parents(".page"),h=r.parents(".page-content");var M=parseInt(h.css("padding-top"),10),T=parseInt(h.css("padding-bottom"),10);C=h[0].scrollTop,m=g.offset().top+M,c=g.height()-M-T,r.addClass("sorting"),n.addClass("sortable-sorting"),x=r[0].offsetTop,p=r[0].offsetTop,b=r.parent().height()-x-r.height(),d=r[0].offsetHeight,w=r.offset().top}e=!0,a.preventDefault(),a.f7PreventSwipePanel=!0,i=f-o;var I=h[0].scrollTop-C,L=Math.min(Math.max(i+I,-p),b);r.transform("translate3d(0,"+L+"px,0)");var E,y=!0;i+I+44<-p&&(y=!1),i+I-44>b&&(y=!1),u=void 0,v=void 0,y&&(w+i+d+44>m+c&&(E=w+i+d+44-(m+c)),w+i<m+44&&(E=w+i-m-44),E&&(h[0].scrollTop+=E)),l.each((function(t,e){var a=s(e);if(a[0]!==r[0]){var o=a[0].offsetTop,i=a.height(),l=x+L;l>=o-i/2&&r.index()<a.index()?(a.transform("translate3d(0, "+-d+"px,0)"),v=a,u=void 0):l<=o+i/2&&r.index()>a.index()?(a.transform("translate3d(0, "+d+"px,0)"),v=void 0,u||(u=a)):a.transform("translate3d(0, 0%,0)")}}))}})),T.on("touchend:passive",(function(){if(!t||!e)return t&&!e&&(T.panel&&(T.panel.allowOpen=!0),T.swipeout&&(T.swipeout.allow=!0),M&&(r.removeClass("sorting"),n.removeClass("sortable-sorting"))),t=!1,void(e=!1);var a;T.panel&&(T.panel.allowOpen=!0),T.swipeout&&(T.swipeout.allow=!0),l.transform(""),r.removeClass("sorting"),n.removeClass("sortable-sorting"),v?a=v.index():u&&(a=u.index());var s=n.dataset().sortableMoveElements;if(void 0===s&&(s=T.params.sortable.moveElements),s&&(v&&r.insertAfter(v),u&&r.insertBefore(u)),(v||u)&&n.hasClass("virtual-list")){void 0===(f=r[0].f7VirtualListIndex)&&(f=r.attr("data-virtual-list-index")),u?void 0===(a=u[0].f7VirtualListIndex)&&(a=u.attr("data-virtual-list-index")):void 0===(a=v[0].f7VirtualListIndex)&&(a=v.attr("data-virtual-list-index")),a=null!==a?parseInt(a,10):void 0;var o=n[0].f7VirtualList;o&&o.moveItem(f,a)}void 0===a||Number.isNaN(a)||a===f||(r.trigger("sortable:sort",{from:f,to:a}),T.emit("sortableSort",r[0],{from:f,to:a,el:r[0]},n[0])),u=void 0,v=void 0,t=!1,e=!1})),s(a).on("taphold",".sortable-tap-hold",(function(t,e){I(e,!0)}))},enable:function(t){void 0===t&&(t=".list.sortable");var e=s(t);0!==e.length&&(e.addClass("sortable-enabled"),e.trigger("sortable:enable"),this.emit("sortableEnable",e[0]))},disable:function(t){void 0===t&&(t=".list.sortable");var e=s(t);0!==e.length&&(e.removeClass("sortable-enabled"),e.trigger("sortable:disable"),this.emit("sortableDisable",e[0]))},toggle:function(t){void 0===t&&(t=".list.sortable");var e=s(t);0!==e.length&&(e.hasClass("sortable-enabled")?this.sortable.disable(e):this.sortable.enable(e))}}),r={name:"sortable",params:{sortable:{moveElements:!0}},create:function(){o.extend(this,{sortable:{init:i.init.bind(this),enable:i.enable.bind(this),disable:i.disable.bind(this),toggle:i.toggle.bind(this)}})},on:{init:function(){this.params.sortable&&this.sortable.init()}},clicks:{".sortable-enable":function(t,e){void 0===e&&(e={});this.sortable.enable(e.sortable)},".sortable-disable":function(t,e){void 0===e&&(e={});this.sortable.disable(e.sortable)},".sortable-toggle":function(t,e){void 0===e&&(e={});this.sortable.toggle(e.sortable)}}};if(e){if(t.prototype.modules&&t.prototype.modules[r.name])return;t.use(r),t.instance&&(t.instance.useModuleParams(r,t.instance.params),t.instance.useModule(r))}return r}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))