UNPKG

framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

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