Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap-rubygem.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'assets/javascripts/bootstrap/tab.js')
-rw-r--r--assets/javascripts/bootstrap/tab.js33
1 files changed, 19 insertions, 14 deletions
diff --git a/assets/javascripts/bootstrap/tab.js b/assets/javascripts/bootstrap/tab.js
index a38f48b..ba1b9c1 100644
--- a/assets/javascripts/bootstrap/tab.js
+++ b/assets/javascripts/bootstrap/tab.js
@@ -4,7 +4,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): tab.js
+ * Bootstrap (v4.0.0-alpha.6): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -18,7 +18,7 @@ var Tab = function ($) {
*/
var NAME = 'tab';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -36,15 +36,16 @@ var Tab = function ($) {
var ClassName = {
DROPDOWN_MENU: 'dropdown-menu',
ACTIVE: 'active',
+ DISABLED: 'disabled',
FADE: 'fade',
- IN: 'in'
+ SHOW: 'show'
};
var Selector = {
A: 'a',
LI: 'li',
DROPDOWN: '.dropdown',
- UL: 'ul:not(.dropdown-menu)',
+ LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu)',
FADE_CHILD: '> .nav-item .fade, > .fade',
ACTIVE: '.active',
ACTIVE_CHILD: '> .nav-item > .active, > .active',
@@ -73,17 +74,17 @@ var Tab = function ($) {
Tab.prototype.show = function show() {
var _this = this;
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE)) {
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
return;
}
var target = void 0;
var previous = void 0;
- var ulElement = $(this._element).closest(Selector.UL)[0];
+ var listElement = $(this._element).closest(Selector.LIST)[0];
var selector = Util.getSelectorFromElement(this._element);
- if (ulElement) {
- previous = $.makeArray($(ulElement).find(Selector.ACTIVE));
+ if (listElement) {
+ previous = $.makeArray($(listElement).find(Selector.ACTIVE));
previous = previous[previous.length - 1];
}
@@ -109,7 +110,7 @@ var Tab = function ($) {
target = $(selector)[0];
}
- this._activate(this._element, ulElement);
+ this._activate(this._element, listElement);
var complete = function complete() {
var hiddenEvent = $.Event(Event.HIDDEN, {
@@ -139,10 +140,14 @@ var Tab = function ($) {
// private
Tab.prototype._activate = function _activate(element, container, callback) {
+ var _this2 = this;
+
var active = $(container).find(Selector.ACTIVE_CHILD)[0];
var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
- var complete = $.proxy(this._transitionComplete, this, element, active, isTransitioning, callback);
+ var complete = function complete() {
+ return _this2._transitionComplete(element, active, isTransitioning, callback);
+ };
if (active && isTransitioning) {
$(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
@@ -151,7 +156,7 @@ var Tab = function ($) {
}
if (active) {
- $(active).removeClass(ClassName.IN);
+ $(active).removeClass(ClassName.SHOW);
}
};
@@ -159,7 +164,7 @@ var Tab = function ($) {
if (active) {
$(active).removeClass(ClassName.ACTIVE);
- var dropdownChild = $(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+ var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
if (dropdownChild) {
$(dropdownChild).removeClass(ClassName.ACTIVE);
@@ -173,7 +178,7 @@ var Tab = function ($) {
if (isTransitioning) {
Util.reflow(element);
- $(element).addClass(ClassName.IN);
+ $(element).addClass(ClassName.SHOW);
} else {
$(element).removeClass(ClassName.FADE);
}
@@ -201,7 +206,7 @@ var Tab = function ($) {
var data = $this.data(DATA_KEY);
if (!data) {
- data = data = new Tab(this);
+ data = new Tab(this);
$this.data(DATA_KEY, data);
}