UNPKG

framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

2 lines (1 loc) 3.97 kB
(function framework7ComponentLoader(a,t){void 0===t&&(t=!0);document,window;var e=a.$,n=(a.Template7,a.utils),i=(a.device,a.support,a.Class,a.Modal,a.ConstructorMethods,a.ModalMethods,{show:function(){for(var a,t,n,i=[],r=arguments.length;r--;)i[r]=arguments[r];var s,l,o,d,h=this;1===i.length&&i[0].constructor===Object?(s=i[0].tabEl,l=i[0].tabLinkEl,o=i[0].animate,d=i[0].tabRoute):(s=(a=i)[0],l=a[1],o=a[2],d=a[3],"boolean"==typeof i[1]&&(s=(t=i)[0],o=t[1],l=t[2],d=t[3],i.length>2&&l.constructor===Object&&(s=(n=i)[0],o=n[1],d=n[2],l=n[3]))),void 0===o&&(o=!0);var b,g=e(s);if(d&&g[0]&&(g[0].f7TabRoute=d),0===g.length||g.hasClass("tab-active"))return{$newTabEl:g,newTabEl:g[0]};l&&(b=e(l));var c=g.parent(".tabs");if(0===c.length)return{$newTabEl:g,newTabEl:g[0]};h.swipeout&&(h.swipeout.allowOpen=!0);var p=[];function u(a){p.push(a)}function f(){p.forEach((function(a){a()}))}var v,m=!1;if(c.parent().hasClass("tabs-animated-wrap")){c.parent()[o?"removeClass":"addClass"]("not-animated");var w=parseFloat(c.css("transition-duration").replace(",","."));o&&w&&(c.transitionEnd(f),m=!0);var C=100*(h.rtl?g.index():-g.index());c.transform("translate3d("+C+"%,0,0)")}c.parent().hasClass("tabs-swipeable-wrap")&&h.swiper&&((v=c.parent()[0].swiper)&&v.activeIndex!==g.index()?(m=!0,v.once("slideChangeTransitionEnd",(function(){f()})).slideTo(g.index(),o?void 0:0)):v&&v.animating&&(m=!0,v.once("slideChangeTransitionEnd",(function(){f()}))));var E=c.children(".tab-active");if(E.removeClass("tab-active"),(!v||v&&!v.animating||v&&d)&&(E.hasClass("view")&&E.children(".page").length&&E.children(".page").each((function(a,t){e(t).trigger("page:tabhide"),h.emit("pageTabHide",t)})),E.trigger("tab:hide"),h.emit("tabHide",E[0])),g.addClass("tab-active"),(!v||v&&!v.animating||v&&d)&&(g.hasClass("view")&&g.children(".page").length&&g.children(".page").each((function(a,t){e(t).trigger("page:tabshow"),h.emit("pageTabShow",t)})),g.trigger("tab:show"),h.emit("tabShow",g[0])),!b&&((!(b=e("string"==typeof s?'.tab-link[href="'+s+'"]':'.tab-link[href="#'+g.attr("id")+'"]'))||b&&0===b.length)&&e("[data-tab]").each((function(a,t){g.is(e(t).attr("data-tab"))&&(b=e(t))})),d&&(!b||b&&0===b.length)&&0===(b=e('[data-route-tab-id="'+d.route.tab.id+'"]')).length&&(b=e('.tab-link[href="'+d.url+'"]')),b.length>1&&g.parents(".page").length&&(b=b.filter((function(a,t){return e(t).parents(".page")[0]===g.parents(".page")[0]})),"ios"===h.theme&&0===b.length&&d))){var T=g.parents(".page"),k=e(h.navbar.getElByPage(T));0===(b=k.find('[data-route-tab-id="'+d.route.tab.id+'"]')).length&&(b=k.find('.tab-link[href="'+d.url+'"]'))}if(b.length>0){var x;if(E&&E.length>0){var M=E.attr("id");M&&(!(x=e('.tab-link[href="#'+M+'"]'))||x&&0===x.length)&&(x=e('.tab-link[data-route-tab-id="'+M+'"]')),(!x||x&&0===x.length)&&e("[data-tab]").each((function(a,t){E.is(e(t).attr("data-tab"))&&(x=e(t))})),(!x||x&&0===x.length)&&(x=b.siblings(".tab-link-active"))}else d&&(x=b.siblings(".tab-link-active"));if(x&&x.length>1&&E&&E.parents(".page").length&&(x=x.filter((function(a,t){return e(t).parents(".page")[0]===E.parents(".page")[0]}))),x&&x.length>0&&x.removeClass("tab-link-active"),b&&b.length>0&&(b.addClass("tab-link-active"),"md"===h.theme&&h.toolbar)){var y=b.parents(".tabbar, .tabbar-labels");y.length>0&&h.toolbar.setHighlight(y)}}return{$newTabEl:g,newTabEl:g[0],$oldTabEl:E,oldTabEl:E[0],onTabsChanged:u,animated:m}}}),r={name:"tabs",create:function(){n.extend(this,{tab:{show:i.show.bind(this)}})},clicks:{".tab-link":function(a,t){void 0===t&&(t={});(a.attr("href")&&0===a.attr("href").indexOf("#")||a.attr("data-tab"))&&this.tab.show({tabEl:t.tab||a.attr("href"),tabLinkEl:a,animate:t.animate})}}};if(t){if(a.prototype.modules&&a.prototype.modules[r.name])return;a.use(r),a.instance&&(a.instance.useModuleParams(r,a.instance.params),a.instance.useModule(r))}return r}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))