diff options
author | Jacob Thornton <jacobthornton@gmail.com> | 2015-08-19 08:03:34 +0300 |
---|---|---|
committer | Jacob Thornton <jacobthornton@gmail.com> | 2015-08-19 08:03:34 +0300 |
commit | 03e732708c089b0446d946bd9bcbc40fb886f45e (patch) | |
tree | 86cf13534c09e3e2d0c7a296da29ff335da07045 /js/dist/tab.js | |
parent | 4e45e2363c452e57d187cfd3c64cb0503b881a40 (diff) |
rewrite tab with new active shit
Diffstat (limited to 'js/dist/tab.js')
-rw-r--r-- | js/dist/tab.js | 38 |
1 files changed, 13 insertions, 25 deletions
diff --git a/js/dist/tab.js b/js/dist/tab.js index 33c2280583..8b175ea488 100644 --- a/js/dist/tab.js +++ b/js/dist/tab.js @@ -45,13 +45,14 @@ var Tab = (function ($) { var Selector = { A: 'a', LI: 'li', - LI_DROPDOWN: 'li.dropdown', + DROPDOWN: '.dropdown', UL: 'ul:not(.dropdown-menu)', - FADE_CHILD: '> .fade', + FADE_CHILD: '> .nav-item .fade, > .fade', ACTIVE: '.active', - ACTIVE_CHILD: '> .active', + ACTIVE_CHILD: '> .nav-item > .active, > .active', DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]', - DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu > .active' + DROPDOWN_TOGGLE: '.dropdown-toggle', + DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active' }; /** @@ -83,7 +84,7 @@ var Tab = (function ($) { value: function show() { var _this = this; - if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).parent().hasClass(ClassName.ACTIVE)) { + if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE)) { return; } @@ -95,10 +96,6 @@ var Tab = (function ($) { if (ulElement) { previous = $.makeArray($(ulElement).find(Selector.ACTIVE)); previous = previous[previous.length - 1]; - - if (previous) { - previous = $(previous).find(Selector.A)[0]; - } } var hideEvent = $.Event(Event.HIDE, { @@ -123,7 +120,7 @@ var Tab = (function ($) { target = $(selector)[0]; } - this._activate($(this._element).closest(Selector.LI)[0], ulElement); + this._activate(this._element, ulElement); var complete = function complete() { var hiddenEvent = $.Event(Event.HIDDEN, { @@ -178,22 +175,16 @@ var Tab = (function ($) { $(active).removeClass(ClassName.ACTIVE); var dropdownChild = $(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0]; + if (dropdownChild) { $(dropdownChild).removeClass(ClassName.ACTIVE); } - var activeToggle = $(active).find(Selector.DATA_TOGGLE)[0]; - if (activeToggle) { - activeToggle.setAttribute('aria-expanded', false); - } + active.setAttribute('aria-expanded', false); } $(element).addClass(ClassName.ACTIVE); - - var elementToggle = $(element).find(Selector.DATA_TOGGLE)[0]; - if (elementToggle) { - elementToggle.setAttribute('aria-expanded', true); - } + element.setAttribute('aria-expanded', true); if (isTransitioning) { Util.reflow(element); @@ -204,15 +195,12 @@ var Tab = (function ($) { if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) { - var dropdownElement = $(element).closest(Selector.LI_DROPDOWN)[0]; + var dropdownElement = $(element).closest(Selector.DROPDOWN)[0]; if (dropdownElement) { - $(dropdownElement).addClass(ClassName.ACTIVE); + $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); } - elementToggle = $(element).find(Selector.DATA_TOGGLE)[0]; - if (elementToggle) { - elementToggle.setAttribute('aria-expanded', true); - } + element.setAttribute('aria-expanded', true); } if (callback) { |