UNPKG

framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

2 lines (1 loc) 9.52 kB
(function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var o=e.$,s=e.utils,i=(e.getDevice,e.getSupport),n=(e.Class,e.Modal,e.ConstructorMethods,e.ModalMethods,s.bindMethods),a=s.nextFrame,r={init:function(){var e,t,s,n,a,p,l,u,f,w,d,c,h,v,g,m,C,x,O,M,E,T=this,L={};var S=!!i().passiveListener&&{passive:!0};T.on("touchstart",(function(e){if(r.el){var t=o(e.target);o(r.el).is(t[0])||t.parents(".swipeout").is(r.el)||t.hasClass("modal-in")||(t.attr("class")||"").indexOf("-backdrop")>0||t.hasClass("actions-modal")||t.parents(".actions-modal.modal-in, .dialog.modal-in").length>0||T.swipeout.close(r.el)}})),o(document).on(T.touchEvents.start,"li.swipeout",(function(i){T.swipeout.allow&&(t=!1,e=!0,s=void 0,L.x="touchstart"===i.type?i.targetTouches[0].pageX:i.pageX,L.y="touchstart"===i.type?i.targetTouches[0].pageY:i.pageY,n=(new Date).getTime(),p=o(this))}),S),T.on("touchmove:active",(function(i){if(e){var n="touchmove"===i.type?i.targetTouches[0].pageX:i.pageX,r="touchmove"===i.type?i.targetTouches[0].pageY:i.pageY;if(void 0===s&&(s=!!(s||Math.abs(r-L.y)>Math.abs(n-L.x))),s)e=!1;else{if(!t){if(o(".list.sortable-opened").length>0)return;l=p.find(".swipeout-content"),u=p.find(".swipeout-actions-right"),f=p.find(".swipeout-actions-left"),w=null,d=null,g=null,m=null,O=null,x=null,f.length>0&&(w=f.outerWidth(),g=f.children("a"),x=f.find(".swipeout-overswipe")),u.length>0&&(d=u.outerWidth(),m=u.children("a"),O=u.find(".swipeout-overswipe")),(h=p.hasClass("swipeout-opened"))&&(v=p.find(".swipeout-actions-left.swipeout-actions-opened").length>0?"left":"right"),p.removeClass("swipeout-transitioning"),T.params.swipeout.noFollow||(p.find(".swipeout-actions-opened").removeClass("swipeout-actions-opened"),p.removeClass("swipeout-opened"))}if(t=!0,i.cancelable&&i.preventDefault(),a=n-L.x,c=a,h&&("right"===v?c-=d:c+=w),c>0&&0===f.length||c<0&&0===u.length){if(!h)return e=!1,t=!1,l.transform(""),m&&m.length>0&&m.transform(""),void(g&&g.length>0&&g.transform(""));c=0}var S,y;if(c<0?C="to-left":c>0?C="to-right":C||(C="to-left"),i.f7PreventSwipePanel=!0,T.params.swipeout.noFollow)return h?("right"===v&&a>0&&T.swipeout.close(p),"left"===v&&a<0&&T.swipeout.close(p)):(a<0&&u.length>0&&T.swipeout.open(p,"right"),a>0&&f.length>0&&T.swipeout.open(p,"left")),e=!1,void(t=!1);if(M=!1,E=!1,u.length>0){var B=c;if(y=B/d,B<-d){var W=B/-d;B=-d-Math.pow(-B-d,.8),c=B,O.length>0&&W>T.params.swipeout.overswipeRatio&&(E=!0)}"to-left"!==C&&(y=0,B=0),m.each((function(e){var t=o(e);void 0===e.f7SwipeoutButtonOffset&&(t[0].f7SwipeoutButtonOffset=e.offsetLeft),S=e.f7SwipeoutButtonOffset,O.length>0&&t.hasClass("swipeout-overswipe")&&"to-left"===C&&(t.css({left:(E?-S:0)+"px"}),E?(t.hasClass("swipeout-overswipe-active")||(p.trigger("swipeout:overswipeenter"),T.emit("swipeoutOverswipeEnter",p[0])),t.addClass("swipeout-overswipe-active")):(t.hasClass("swipeout-overswipe-active")&&(p.trigger("swipeout:overswipeexit"),T.emit("swipeoutOverswipeExit",p[0])),t.removeClass("swipeout-overswipe-active"))),t.transform("translate3d("+(B-S*(1+Math.max(y,-1)))+"px,0,0)")}))}if(f.length>0){var b=c;if(y=b/w,b>w){var D=b/d;b=w+Math.pow(b-w,.8),c=b,x.length>0&&D>T.params.swipeout.overswipeRatio&&(M=!0)}"to-right"!==C&&(b=0,y=0),g.each((function(e,t){var s=o(e);void 0===e.f7SwipeoutButtonOffset&&(s[0].f7SwipeoutButtonOffset=w-e.offsetLeft-e.offsetWidth),S=e.f7SwipeoutButtonOffset,x.length>0&&s.hasClass("swipeout-overswipe")&&"to-right"===C&&(s.css({left:(M?S:0)+"px"}),M?(s.hasClass("swipeout-overswipe-active")||(p.trigger("swipeout:overswipeenter"),T.emit("swipeoutOverswipeEnter",p[0])),s.addClass("swipeout-overswipe-active")):(s.hasClass("swipeout-overswipe-active")&&(p.trigger("swipeout:overswipeexit"),T.emit("swipeoutOverswipeExit",p[0])),s.removeClass("swipeout-overswipe-active"))),g.length>1&&s.css("z-index",g.length-t),s.transform("translate3d("+(b+S*(1-Math.min(y,1)))+"px,0,0)")}))}p.trigger("swipeout",y),T.emit("swipeout",p[0],y),l.transform("translate3d("+c+"px,0,0)")}}})),T.on("touchend:passive",(function(){if(!e||!t)return e=!1,void(t=!1);e=!1,t=!1;var s,i,v,x,O=(new Date).getTime()-n,L="to-left"===C?u:f,S="to-left"===C?d:w;if(s=O<300&&(a<-10&&"to-left"===C||a>10&&"to-right"===C)||O>=300&&Math.abs(c)>S/2?"open":"close",O<300&&(0===Math.abs(c)&&(s="close"),Math.abs(c)===S&&(s="open")),"open"===s){r.el=p[0],p.trigger("swipeout:open"),T.emit("swipeoutOpen",p[0]),p.addClass("swipeout-opened swipeout-transitioning");var y="to-left"===C?-S:S;if(l.transform("translate3d("+y+"px,0,0)"),L.addClass("swipeout-actions-opened"),i="to-left"===C?m:g)for(v=0;v<i.length;v+=1)o(i[v]).transform("translate3d("+y+"px,0,0)");E&&u.find(".swipeout-overswipe").trigger("click","f7Overswipe"),M&&f.find(".swipeout-overswipe").trigger("click","f7Overswipe")}else p.trigger("swipeout:close"),T.emit("swipeoutClose",p[0]),r.el=void 0,p.addClass("swipeout-transitioning").removeClass("swipeout-opened"),l.transform(""),L.removeClass("swipeout-actions-opened");g&&g.length>0&&g!==i&&g.each((function(e){var t=o(e);void 0===(x=e.f7SwipeoutButtonOffset)&&(t[0].f7SwipeoutButtonOffset=w-e.offsetLeft-e.offsetWidth),t.transform("translate3d("+x+"px,0,0)")})),m&&m.length>0&&m!==i&&m.each((function(e){var t=o(e);void 0===(x=e.f7SwipeoutButtonOffset)&&(t[0].f7SwipeoutButtonOffset=e.offsetLeft),t.transform("translate3d("+-x+"px,0,0)")})),l.transitionEnd((function(){h&&"open"===s||!h&&"close"===s||(p.trigger("open"===s?"swipeout:opened":"swipeout:closed"),T.emit("open"===s?"swipeoutOpened":"swipeoutClosed",p[0]),p.removeClass("swipeout-transitioning"),h&&"close"===s&&(u.length>0&&m.transform(""),f.length>0&&g.transform("")))}))}))},allow:!0,el:void 0,open:function(){for(var e=this,t=arguments.length,s=new Array(t),i=0;i<t;i++)s[i]=arguments[i];var n=s[0],p=s[1],l=s[2];"function"==typeof s[1]&&(n=s[0],l=s[1],p=s[2]);var u=o(n).eq(0);if(0!==u.length&&u.hasClass("swipeout")&&!u.hasClass("swipeout-opened")){p||(p=u.find(".swipeout-actions-right").length>0?"right":"left");var f=u.find(".swipeout-actions-"+p),w=u.find(".swipeout-content");if(0!==f.length){u.trigger("swipeout:open").addClass("swipeout-opened").removeClass("swipeout-transitioning"),e.emit("swipeoutOpen",u[0]),f.addClass("swipeout-actions-opened");var d=f.children("a"),c=f.outerWidth(),h="right"===p?-c:c;d.length>1&&d.each((function(e,t){var s=o(e);"right"===p?s.transform("translate3d("+-e.offsetLeft+"px,0,0)"):s.css("z-index",d.length-t).transform("translate3d("+(c-e.offsetWidth-e.offsetLeft)+"px,0,0)")})),u.addClass("swipeout-transitioning"),w.transitionEnd((function(){u.trigger("swipeout:opened"),e.emit("swipeoutOpened",u[0]),l&&l.call(u[0])})),a((function(){d.transform("translate3d("+h+"px,0,0)"),w.transform("translate3d("+h+"px,0,0)")})),r.el=u[0]}}},close:function(e,t){var s=this,i=o(e).eq(0);if(0!==i.length&&i.hasClass("swipeout-opened")){var n,a=i.find(".swipeout-actions-opened").hasClass("swipeout-actions-right")?"right":"left",p=i.find(".swipeout-actions-opened").removeClass("swipeout-actions-opened"),l=p.children("a"),u=p.outerWidth();s.swipeout.allow=!1,i.trigger("swipeout:close"),s.emit("swipeoutClose",i[0]),i.removeClass("swipeout-opened").addClass("swipeout-transitioning"),i.find(".swipeout-content").transform("").transitionEnd(f),n=setTimeout(f,500),l.each((function(e){var t=o(e);"right"===a?t.transform("translate3d("+-e.offsetLeft+"px,0,0)"):t.transform("translate3d("+(u-e.offsetWidth-e.offsetLeft)+"px,0,0)"),t.css({left:"0px"}).removeClass("swipeout-overswipe-active")})),r.el&&r.el===i[0]&&(r.el=void 0)}function f(){s.swipeout.allow=!0,i.hasClass("swipeout-opened")||(i.removeClass("swipeout-transitioning"),l.transform(""),i.trigger("swipeout:closed"),s.emit("swipeoutClosed",i[0]),t&&t.call(i[0]),n&&clearTimeout(n))}},delete:function(e,t){var s=this,i=o(e).eq(0);0!==i.length&&(r.el=void 0,i.trigger("swipeout:delete"),s.emit("swipeoutDelete",i[0]),i.css({height:i.outerHeight()+"px"}),i.transitionEnd((function(){if(i.trigger("swipeout:deleted"),s.emit("swipeoutDeleted",i[0]),t&&t.call(i[0]),i.parents(".virtual-list").length>0){var e=i.parents(".virtual-list")[0].f7VirtualList,o=i[0].f7VirtualListIndex;e&&void 0!==o&&e.deleteItem(o)}else s.params.swipeout.removeElements?s.params.swipeout.removeElementsWithTimeout?setTimeout((function(){i.remove()}),s.params.swipeout.removeElementsTimeout):i.remove():i.removeClass("swipeout-deleting swipeout-transitioning")})),a((function(){i.addClass("swipeout-deleting swipeout-transitioning").css({height:"0px"}).find(".swipeout-content").transform("translate3d(-100%,0,0)")})))}},p={name:"swipeout",params:{swipeout:{actionsNoFold:!1,noFollow:!1,removeElements:!0,removeElementsWithTimeout:!1,removeElementsTimeout:0,overswipeRatio:1.2}},create:function(){n(this,{swipeout:r})},clicks:{".swipeout-open":function(e,t){void 0===t&&(t={});this.swipeout.open(t.swipeout,t.side)},".swipeout-close":function(e){var t=e.closest(".swipeout");0!==t.length&&this.swipeout.close(t)},".swipeout-delete":function(e,t){void 0===t&&(t={});var o=this,s=e.closest(".swipeout");if(0!==s.length){var i=t,n=i.confirm,a=i.confirmTitle;t.confirm?o.dialog.confirm(n,a,(function(){o.swipeout.delete(s)})):o.swipeout.delete(s)}}},on:{init:function(){this.params.swipeout&&this.swipeout.init()}}};if(t){if(e.prototype.modules&&e.prototype.modules[p.name])return;e.use(p),e.instance&&(e.instance.useModuleParams(p,e.instance.params),e.instance.useModule(p))}return p}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))