From b12fdcd48c26cee905c3365626247f452fb941f2 Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Sun, 3 Sep 2017 16:50:19 +0100 Subject: rake update[v4-dev] --- assets/javascripts/bootstrap/carousel.js | 3 ++- assets/javascripts/bootstrap/tab.js | 13 +++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'assets/javascripts/bootstrap') diff --git a/assets/javascripts/bootstrap/carousel.js b/assets/javascripts/bootstrap/carousel.js index 1be1f5d..c657834 100644 --- a/assets/javascripts/bootstrap/carousel.js +++ b/assets/javascripts/bootstrap/carousel.js @@ -123,7 +123,8 @@ var Carousel = function ($) { Carousel.prototype.nextWhenVisible = function nextWhenVisible() { // Don't call next when the page isn't visible - if (!document.hidden) { + // or the carousel or its parent isn't visible + if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { this.next(); } }; diff --git a/assets/javascripts/bootstrap/tab.js b/assets/javascripts/bootstrap/tab.js index 4aba86e..845ec67 100644 --- a/assets/javascripts/bootstrap/tab.js +++ b/assets/javascripts/bootstrap/tab.js @@ -45,6 +45,7 @@ var Tab = function ($) { DROPDOWN: '.dropdown', NAV_LIST_GROUP: '.nav, .list-group', ACTIVE: '.active', + ACTIVE_UL: '> li > .active', DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', DROPDOWN_TOGGLE: '.dropdown-toggle', DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active' @@ -80,7 +81,8 @@ var Tab = function ($) { var selector = Util.getSelectorFromElement(this._element); if (listElement) { - previous = $.makeArray($(listElement).find(Selector.ACTIVE)); + var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE; + previous = $.makeArray($(listElement).find(itemSelector)); previous = previous[previous.length - 1]; } @@ -138,7 +140,14 @@ var Tab = function ($) { Tab.prototype._activate = function _activate(element, container, callback) { var _this2 = this; - var active = $(container).find(Selector.ACTIVE)[0]; + var activeElements = void 0; + if (container.nodeName === 'UL') { + activeElements = $(container).find(Selector.ACTIVE_UL); + } else { + activeElements = $(container).children(Selector.ACTIVE); + } + + var active = activeElements[0]; var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE); var complete = function complete() { -- cgit v1.2.3