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