1! function(t) { 2 "use strict"; 3 var a = function(a, i) { 4 this.options = i, this.$tabs = t(a), this._accordionVisible = !1, this._initAccordion(), this._checkStateOnResize(); 5 var e = this; 6 setTimeout(function() { 7 e.checkState() 8 }, 0) 9 }; 10 a.DEFAULTS = { 11 accordionClass: "visible-xs", 12 tabsClass: "hidden-xs", 13 accordionTemplate: function(t, a, i, e) { 14 return '<div class="panel panel-default"> <div class="panel-heading"> <h4 class="panel-title"> </h4> </div> <div id="' + a + '" class="panel-collapse collapse ' + (e ? "in" : "") + '"> <div class="panel-body js-tabcollapse-panel-body"> </div> </div></div>' 15 } 16 }, a.prototype.checkState = function() { 17 this.$tabs.is(":visible") && this._accordionVisible ? (this.showTabs(), this._accordionVisible = !1) : this.$accordion.is(":visible") && !this._accordionVisible && (this.showAccordion(), this._accordionVisible = !0) 18 }, a.prototype.showTabs = function() { 19 var a = this; 20 this.$tabs.trigger(t.Event("show-tabs.bs.tabcollapse")); 21 var i = this.$accordion.find(".js-tabcollapse-panel-heading").detach(); 22 i.each(function() { 23 var i = t(this), 24 e = i.data("bs.tabcollapse.parentLi"); 25 a._panelHeadingToTabHeading(i), e.append(i) 26 }); 27 var e = this.$accordion.find(".js-tabcollapse-panel-body"); 28 e.each(function() { 29 var a = t(this), 30 i = a.data("bs.tabcollapse.tabpane"); 31 i.append(a.children("*").detach()) 32 }), this.$accordion.html(""), this.$tabs.trigger(t.Event("shown-tabs.bs.tabcollapse")) 33 }, a.prototype.showAccordion = function() { 34 this.$tabs.trigger(t.Event("show-accordion.bs.tabcollapse")); 35 var a = this.$tabs.find('li:not(.dropdown) [data-toggle="tab"], li:not(.dropdown) [data-toggle="pill"]'), 36 i = this; 37 a.each(function() { 38 var a = t(this), 39 e = a.parent(); 40 a.data("bs.tabcollapse.parentLi", e), i.$accordion.append(i._createAccordionGroup(i.$accordion.attr("id"), a.detach())) 41 }), this.$tabs.trigger(t.Event("shown-accordion.bs.tabcollapse")) 42 }, a.prototype._panelHeadingToTabHeading = function(t) { 43 var a = t.attr("href").replace(/-collapse$/g, ""); 44 return t.attr({ 45 "data-toggle": "tab", 46 href: a, 47 "data-parent": "" 48 }), t 49 }, a.prototype._tabHeadingToPanelHeading = function(t, a, i, e) { 50 return t.addClass("js-tabcollapse-panel-heading " + (e ? "" : "collapsed")), t.attr({ 51 "data-toggle": "collapse", 52 "data-parent": "#" + i, 53 href: "#" + a 54 }), t 55 }, a.prototype._checkStateOnResize = function() { 56 var a = this; 57 t(window).resize(function() { 58 clearTimeout(a._resizeTimeout), a._resizeTimeout = setTimeout(function() { 59 a.checkState() 60 }, 100) 61 }) 62 }, a.prototype._initAccordion = function() { 63 this.$accordion = t('<div class="panel-group ' + this.options.accordionClass + '" id="' + this.$tabs.attr("id") + '-accordion"></div>'), this.$tabs.after(this.$accordion), this.$tabs.addClass(this.options.tabsClass), this.$tabs.siblings(".tab-content").addClass(this.options.tabsClass) 64 }, a.prototype._createAccordionGroup = function(a, i) { 65 var e = i.attr("data-target"), 66 s = i.data("bs.tabcollapse.parentLi").is(".active"); 67 e || (e = i.attr("href"), e = e && e.replace(/.*(?=#[^\s]*$)/, "")); 68 var o = t(e), 69 n = o.attr("id") + "-collapse", 70 c = t(this.options.accordionTemplate(i, n, a, s)); 71 return c.find(".panel-heading > .panel-title").append(this._tabHeadingToPanelHeading(i, n, a, s)), c.find(".panel-body").append(o.children("*").detach()).data("bs.tabcollapse.tabpane", o), c 72 }, t.fn.tabCollapse = function(i) { 73 return this.each(function() { 74 var e = t(this), 75 s = e.data("bs.tabcollapse"), 76 o = t.extend({}, a.DEFAULTS, e.data(), "object" == typeof i && i); 77 s || e.data("bs.tabcollapse", new a(this, o)) 78 }) 79 }, t.fn.tabCollapse.Constructor = a 80}(window.jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.