lintel-contrib-navs
Version:
Navigation tools for lintel.
2 lines • 1.39 kB
JavaScript
!function(a){"use strict";function b(d){return this.each(function(){var e=a(this),f=a.extend({},b.defaults,e.data(),"object"==typeof d&&d),g=e.data("lt.tab");g||(g=new c(this,f),e.data("lt.tab",g)),"string"==typeof d?g[d]():f.show&&g.show()})}var c=function(b,c){this.$tab=a(b),this.$list=this.$tab.closest("ul"),this.options=c||{}};c.prototype.show=function(){if(!this.$tab.closest("li").hasClass("active")&&a(this.$tab.attr("href")).length){var b=this.$list.find(".active:last a"),c=a.Event("hide.lt.tab",{relatedTarget:this.$tab[0]});b.trigger(c);var d=a.Event("show.lt.tab",{relatedTarget:b[0]});if(this.$tab.trigger(d),!d.isDefaultPrevented()&&!c.isDefaultPrevented()){this.options.onHide.call(this,this.$tab),this.options.onShow.call(this,this.$tab);var e=a.Event("hidden.lt.tab",{relatedTarget:this.$tab[0]}),f=a.Event("shown.lt.tab",{relatedTarget:b[0]});this.activate(b,this.$tab,this.$list,function(){b.trigger(e),this.$tab.trigger(f)})}}},c.prototype.activate=function(b,c){b.attr("aria-expanded",!1).closest("li").removeClass("active"),a(b.attr("href")).hide(),c.attr("aria-expanded",!0).closest("li").addClass("active"),a(c.attr("href")).show()},b.defaults={onShow:function(){},onHide:function(){},show:!0},a.fn.tab=b,a(document).on("click.lt.tab",'[data-toggle="tab"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery);
//# sourceMappingURL=navs.min.js.map