From f34c43c936ac7d0ebb129289321d8c51cd56aed1 Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Wed, 18 Jul 2018 12:59:44 +0100 Subject: rake update[v4.1.2] --- assets/javascripts/bootstrap/alert.js | 6 ++-- assets/javascripts/bootstrap/button.js | 14 ++++----- assets/javascripts/bootstrap/carousel.js | 27 ++++++++-------- assets/javascripts/bootstrap/collapse.js | 42 ++++++++++++++----------- assets/javascripts/bootstrap/dropdown.js | 24 +++++++++------ assets/javascripts/bootstrap/modal.js | 51 +++++++++++++------------------ assets/javascripts/bootstrap/popover.js | 4 +-- assets/javascripts/bootstrap/scrollspy.js | 22 +++++++------ assets/javascripts/bootstrap/tab.js | 9 +++--- assets/javascripts/bootstrap/tooltip.js | 21 +++++++------ assets/javascripts/bootstrap/util.js | 5 ++- 11 files changed, 121 insertions(+), 104 deletions(-) (limited to 'assets/javascripts/bootstrap') diff --git a/assets/javascripts/bootstrap/alert.js b/assets/javascripts/bootstrap/alert.js index eaab163..f37a91e 100644 --- a/assets/javascripts/bootstrap/alert.js +++ b/assets/javascripts/bootstrap/alert.js @@ -4,7 +4,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): alert.js + * Bootstrap (v4.1.2): alert.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -15,7 +15,7 @@ var Alert = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'alert'; - var VERSION = '4.1.1'; + var VERSION = '4.1.2'; var DATA_KEY = 'bs.alert'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; @@ -78,7 +78,7 @@ var Alert = function ($) { var parent = false; if (selector) { - parent = $(selector)[0]; + parent = document.querySelector(selector); } if (!parent) { diff --git a/assets/javascripts/bootstrap/button.js b/assets/javascripts/bootstrap/button.js index 621c5c0..a16338f 100644 --- a/assets/javascripts/bootstrap/button.js +++ b/assets/javascripts/bootstrap/button.js @@ -4,7 +4,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): button.js + * Bootstrap (v4.1.2): button.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -15,7 +15,7 @@ var Button = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'button'; - var VERSION = '4.1.1'; + var VERSION = '4.1.2'; var DATA_KEY = 'bs.button'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; @@ -60,14 +60,14 @@ var Button = function ($) { var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0]; if (rootElement) { - var input = $(this._element).find(Selector.INPUT)[0]; + var input = this._element.querySelector(Selector.INPUT); if (input) { if (input.type === 'radio') { - if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) { + if (input.checked && this._element.classList.contains(ClassName.ACTIVE)) { triggerChangeEvent = false; } else { - var activeElement = $(rootElement).find(Selector.ACTIVE)[0]; + var activeElement = rootElement.querySelector(Selector.ACTIVE); if (activeElement) { $(activeElement).removeClass(ClassName.ACTIVE); @@ -80,7 +80,7 @@ var Button = function ($) { return; } - input.checked = !$(this._element).hasClass(ClassName.ACTIVE); + input.checked = !this._element.classList.contains(ClassName.ACTIVE); $(input).trigger('change'); } @@ -90,7 +90,7 @@ var Button = function ($) { } if (addAriaPressed) { - this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE)); + this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName.ACTIVE)); } if (triggerChangeEvent) { diff --git a/assets/javascripts/bootstrap/carousel.js b/assets/javascripts/bootstrap/carousel.js index a11796e..3871a09 100644 --- a/assets/javascripts/bootstrap/carousel.js +++ b/assets/javascripts/bootstrap/carousel.js @@ -8,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): carousel.js + * Bootstrap (v4.1.2): carousel.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -19,7 +19,7 @@ var Carousel = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'carousel'; - var VERSION = '4.1.1'; + var VERSION = '4.1.2'; var DATA_KEY = 'bs.carousel'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; @@ -98,7 +98,7 @@ var Carousel = function ($) { this.touchTimeout = null; this._config = this._getConfig(config); this._element = $(element)[0]; - this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]; + this._indicatorsElement = this._element.querySelector(Selector.INDICATORS); this._addEventListeners(); } // Getters @@ -132,7 +132,7 @@ var Carousel = function ($) { this._isPaused = true; } - if ($(this._element).find(Selector.NEXT_PREV)[0]) { + if (this._element.querySelector(Selector.NEXT_PREV)) { Util.triggerTransitionEnd(this._element); this.cycle(true); } @@ -159,7 +159,7 @@ var Carousel = function ($) { _proto.to = function to(index) { var _this = this; - this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]; + this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); var activeIndex = this._getItemIndex(this._activeElement); @@ -265,7 +265,7 @@ var Carousel = function ($) { }; _proto._getItemIndex = function _getItemIndex(element) { - this._items = $.makeArray($(element).parent().find(Selector.ITEM)); + this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM)) : []; return this._items.indexOf(element); }; @@ -290,7 +290,7 @@ var Carousel = function ($) { _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { var targetIndex = this._getItemIndex(relatedTarget); - var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]); + var fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM)); var slideEvent = $.Event(Event.SLIDE, { relatedTarget: relatedTarget, @@ -304,7 +304,8 @@ var Carousel = function ($) { _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { if (this._indicatorsElement) { - $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE); + var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE)); + $(indicators).removeClass(ClassName.ACTIVE); var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; @@ -317,7 +318,7 @@ var Carousel = function ($) { _proto._slide = function _slide(direction, element) { var _this3 = this; - var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]; + var activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); var activeElementIndex = this._getItemIndex(activeElement); @@ -483,11 +484,13 @@ var Carousel = function ($) { $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); $(window).on(Event.LOAD_DATA_API, function () { - $(Selector.DATA_RIDE).each(function () { - var $carousel = $(this); + var carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE)); + + for (var i = 0, len = carousels.length; i < len; i++) { + var $carousel = $(carousels[i]); Carousel._jQueryInterface.call($carousel, $carousel.data()); - }); + } }); /** * ------------------------------------------------------------------------ diff --git a/assets/javascripts/bootstrap/collapse.js b/assets/javascripts/bootstrap/collapse.js index 9206bc4..9026fb7 100644 --- a/assets/javascripts/bootstrap/collapse.js +++ b/assets/javascripts/bootstrap/collapse.js @@ -8,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): collapse.js + * Bootstrap (v4.1.2): collapse.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -19,7 +19,7 @@ var Collapse = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'collapse'; - var VERSION = '4.1.1'; + var VERSION = '4.1.2'; var DATA_KEY = 'bs.collapse'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; @@ -67,14 +67,17 @@ var Collapse = function ($) { this._isTransitioning = false; this._element = element; this._config = this._getConfig(config); - this._triggerArray = $.makeArray($("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); - var tabToggles = $(Selector.DATA_TOGGLE); + this._triggerArray = $.makeArray(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + var toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); - for (var i = 0; i < tabToggles.length; i++) { - var elem = tabToggles[i]; + for (var i = 0, len = toggleList.length; i < len; i++) { + var elem = toggleList[i]; var selector = Util.getSelectorFromElement(elem); + var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { + return foundElem === element; + }); - if (selector !== null && $(selector).filter(element).length > 0) { + if (selector !== null && filterElement.length > 0) { this._selector = selector; this._triggerArray.push(elem); @@ -115,7 +118,9 @@ var Collapse = function ($) { var activesData; if (this._parent) { - actives = $.makeArray($(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]")); + actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)).filter(function (elem) { + return elem.getAttribute('data-parent') === _this._config.parent; + }); if (actives.length === 0) { actives = null; @@ -150,7 +155,7 @@ var Collapse = function ($) { $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); this._element.style[dimension] = 0; - if (this._triggerArray.length > 0) { + if (this._triggerArray.length) { $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); } @@ -191,14 +196,15 @@ var Collapse = function ($) { this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; Util.reflow(this._element); $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW); + var triggerArrayLength = this._triggerArray.length; - if (this._triggerArray.length > 0) { - for (var i = 0; i < this._triggerArray.length; i++) { + if (triggerArrayLength > 0) { + for (var i = 0; i < triggerArrayLength; i++) { var trigger = this._triggerArray[i]; var selector = Util.getSelectorFromElement(trigger); if (selector !== null) { - var $elem = $(selector); + var $elem = $([].slice.call(document.querySelectorAll(selector))); if (!$elem.hasClass(ClassName.SHOW)) { $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); @@ -259,11 +265,12 @@ var Collapse = function ($) { parent = this._config.parent[0]; } } else { - parent = $(this._config.parent)[0]; + parent = document.querySelector(this._config.parent); } var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; - $(parent).find(selector).each(function (i, element) { + var children = [].slice.call(parent.querySelectorAll(selector)); + $(children).each(function (i, element) { _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); }); return parent; @@ -273,7 +280,7 @@ var Collapse = function ($) { if (element) { var isOpen = $(element).hasClass(ClassName.SHOW); - if (triggerArray.length > 0) { + if (triggerArray.length) { $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); } } @@ -282,7 +289,7 @@ var Collapse = function ($) { Collapse._getTargetFromElement = function _getTargetFromElement(element) { var selector = Util.getSelectorFromElement(element); - return selector ? $(selector)[0] : null; + return selector ? document.querySelector(selector) : null; }; Collapse._jQueryInterface = function _jQueryInterface(config) { @@ -340,7 +347,8 @@ var Collapse = function ($) { var $trigger = $(this); var selector = Util.getSelectorFromElement(this); - $(selector).each(function () { + var selectors = [].slice.call(document.querySelectorAll(selector)); + $(selectors).each(function () { var $target = $(this); var data = $target.data(DATA_KEY); var config = data ? 'toggle' : $trigger.data(); diff --git a/assets/javascripts/bootstrap/dropdown.js b/assets/javascripts/bootstrap/dropdown.js index b38dc76..dea07a6 100644 --- a/assets/javascripts/bootstrap/dropdown.js +++ b/assets/javascripts/bootstrap/dropdown.js @@ -8,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): dropdown.js + * Bootstrap (v4.1.2): dropdown.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -19,7 +19,7 @@ var Dropdown = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'dropdown'; - var VERSION = '4.1.1'; + var VERSION = '4.1.2'; var DATA_KEY = 'bs.dropdown'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; @@ -228,14 +228,16 @@ var Dropdown = function ($) { if (!this._menu) { var parent = Dropdown._getParentFromElement(this._element); - this._menu = $(parent).find(Selector.MENU)[0]; + if (parent) { + this._menu = parent.querySelector(Selector.MENU); + } } return this._menu; }; _proto._getPlacement = function _getPlacement() { - var $parentDropdown = $(this._element).parent(); + var $parentDropdown = $(this._element.parentNode); var placement = AttachmentMap.BOTTOM; // Handle dropup if ($parentDropdown.hasClass(ClassName.DROPUP)) { @@ -323,9 +325,9 @@ var Dropdown = function ($) { return; } - var toggles = $.makeArray($(Selector.DATA_TOGGLE)); + var toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); - for (var i = 0; i < toggles.length; i++) { + for (var i = 0, len = toggles.length; i < len; i++) { var parent = Dropdown._getParentFromElement(toggles[i]); var context = $(toggles[i]).data(DATA_KEY); @@ -333,6 +335,10 @@ var Dropdown = function ($) { relatedTarget: toggles[i] }; + if (event && event.type === 'click') { + relatedTarget.clickEvent = event; + } + if (!context) { continue; } @@ -371,7 +377,7 @@ var Dropdown = function ($) { var selector = Util.getSelectorFromElement(element); if (selector) { - parent = $(selector)[0]; + parent = document.querySelector(selector); } return parent || element.parentNode; @@ -403,7 +409,7 @@ var Dropdown = function ($) { if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { if (event.which === ESCAPE_KEYCODE) { - var toggle = $(parent).find(Selector.DATA_TOGGLE)[0]; + var toggle = parent.querySelector(Selector.DATA_TOGGLE); $(toggle).trigger('focus'); } @@ -411,7 +417,7 @@ var Dropdown = function ($) { return; } - var items = $(parent).find(Selector.VISIBLE_ITEMS).get(); + var items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS)); if (items.length === 0) { return; diff --git a/assets/javascripts/bootstrap/modal.js b/assets/javascripts/bootstrap/modal.js index 775beee..93b6169 100644 --- a/assets/javascripts/bootstrap/modal.js +++ b/assets/javascripts/bootstrap/modal.js @@ -8,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): modal.js + * Bootstrap (v4.1.2): modal.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -19,7 +19,7 @@ var Modal = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'modal'; - var VERSION = '4.1.1'; + var VERSION = '4.1.2'; var DATA_KEY = 'bs.modal'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; @@ -63,8 +63,7 @@ var Modal = function ($) { DATA_TOGGLE: '[data-toggle="modal"]', DATA_DISMISS: '[data-dismiss="modal"]', FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', - STICKY_CONTENT: '.sticky-top', - NAVBAR_TOGGLER: '.navbar-toggler' + STICKY_CONTENT: '.sticky-top' /** * ------------------------------------------------------------------------ * Class Definition @@ -79,7 +78,7 @@ var Modal = function ($) { function Modal(element, config) { this._config = this._getConfig(config); this._element = element; - this._dialog = $(element).find(Selector.DIALOG)[0]; + this._dialog = element.querySelector(Selector.DIALOG); this._backdrop = null; this._isShown = false; this._isBodyOverflowing = false; @@ -336,7 +335,7 @@ var Modal = function ($) { this._backdrop.className = ClassName.BACKDROP; if (animate) { - $(this._backdrop).addClass(animate); + this._backdrop.classList.add(animate); } $(this._backdrop).appendTo(document.body); @@ -430,23 +429,19 @@ var Modal = function ($) { if (this._isBodyOverflowing) { // Note: DOMNode.style.paddingRight returns the actual value or '' if not set // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set - // Adjust fixed content padding - $(Selector.FIXED_CONTENT).each(function (index, element) { - var actualPadding = $(element)[0].style.paddingRight; + var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)); + var stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)); // Adjust fixed content padding + + $(fixedContent).each(function (index, element) { + var actualPadding = element.style.paddingRight; var calculatedPadding = $(element).css('padding-right'); $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"); }); // Adjust sticky content margin - $(Selector.STICKY_CONTENT).each(function (index, element) { - var actualMargin = $(element)[0].style.marginRight; + $(stickyContent).each(function (index, element) { + var actualMargin = element.style.marginRight; var calculatedMargin = $(element).css('margin-right'); $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"); - }); // Adjust navbar-toggler margin - - $(Selector.NAVBAR_TOGGLER).each(function (index, element) { - var actualMargin = $(element)[0].style.marginRight; - var calculatedMargin = $(element).css('margin-right'); - $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px"); }); // Adjust body padding var actualPadding = document.body.style.paddingRight; @@ -457,15 +452,15 @@ var Modal = function ($) { _proto._resetScrollbar = function _resetScrollbar() { // Restore fixed content padding - $(Selector.FIXED_CONTENT).each(function (index, element) { + var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)); + $(fixedContent).each(function (index, element) { var padding = $(element).data('padding-right'); + $(element).removeData('padding-right'); + element.style.paddingRight = padding ? padding : ''; + }); // Restore sticky content - if (typeof padding !== 'undefined') { - $(element).css('padding-right', padding).removeData('padding-right'); - } - }); // Restore sticky content and navbar-toggler margin - - $(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) { + var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT)); + $(elements).each(function (index, element) { var margin = $(element).data('margin-right'); if (typeof margin !== 'undefined') { @@ -474,10 +469,8 @@ var Modal = function ($) { }); // Restore body padding var padding = $(document.body).data('padding-right'); - - if (typeof padding !== 'undefined') { - $(document.body).css('padding-right', padding).removeData('padding-right'); - } + $(document.body).removeData('padding-right'); + document.body.style.paddingRight = padding ? padding : ''; }; _proto._getScrollbarWidth = function _getScrollbarWidth() { @@ -542,7 +535,7 @@ var Modal = function ($) { var selector = Util.getSelectorFromElement(this); if (selector) { - target = $(selector)[0]; + target = document.querySelector(selector); } var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data()); diff --git a/assets/javascripts/bootstrap/popover.js b/assets/javascripts/bootstrap/popover.js index 316c5f7..c6dbe2c 100644 --- a/assets/javascripts/bootstrap/popover.js +++ b/assets/javascripts/bootstrap/popover.js @@ -10,7 +10,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): popover.js + * Bootstrap (v4.1.2): popover.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -21,7 +21,7 @@ var Popover = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'popover'; - var VERSION = '4.1.1'; + var VERSION = '4.1.2'; var DATA_KEY = 'bs.popover'; var EVENT_KEY = "." + DATA_KEY; var JQUERY_NO_CONFLICT = $.fn[NAME]; diff --git a/assets/javascripts/bootstrap/scrollspy.js b/assets/javascripts/bootstrap/scrollspy.js index ff7d8e7..c6ab8c6 100644 --- a/assets/javascripts/bootstrap/scrollspy.js +++ b/assets/javascripts/bootstrap/scrollspy.js @@ -8,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): scrollspy.js + * Bootstrap (v4.1.2): scrollspy.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -19,7 +19,7 @@ var ScrollSpy = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'scrollspy'; - var VERSION = '4.1.1'; + var VERSION = '4.1.2'; var DATA_KEY = 'bs.scrollspy'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; @@ -101,13 +101,13 @@ var ScrollSpy = function ($) { this._offsets = []; this._targets = []; this._scrollHeight = this._getScrollHeight(); - var targets = $.makeArray($(this._selector)); + var targets = [].slice.call(document.querySelectorAll(this._selector)); targets.map(function (element) { var target; var targetSelector = Util.getSelectorFromElement(element); if (targetSelector) { - target = $(targetSelector)[0]; + target = document.querySelector(targetSelector); } if (target) { @@ -204,7 +204,9 @@ var ScrollSpy = function ($) { return; } - for (var i = this._offsets.length; i--;) { + var offsetLength = this._offsets.length; + + for (var i = offsetLength; i--;) { var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); if (isActiveTarget) { @@ -224,7 +226,7 @@ var ScrollSpy = function ($) { queries = queries.map(function (selector) { return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]"); }); - var $link = $(queries.join(',')); + var $link = $([].slice.call(document.querySelectorAll(queries.join(',')))); if ($link.hasClass(ClassName.DROPDOWN_ITEM)) { $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); @@ -245,7 +247,8 @@ var ScrollSpy = function ($) { }; _proto._clear = function _clear() { - $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE); + var nodes = [].slice.call(document.querySelectorAll(this._selector)); + $(nodes).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE); }; // Static @@ -292,9 +295,10 @@ var ScrollSpy = function ($) { $(window).on(Event.LOAD_DATA_API, function () { - var scrollSpys = $.makeArray($(Selector.DATA_SPY)); + var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY)); + var scrollSpysLength = scrollSpys.length; - for (var i = scrollSpys.length; i--;) { + for (var i = scrollSpysLength; i--;) { var $spy = $(scrollSpys[i]); ScrollSpy._jQueryInterface.call($spy, $spy.data()); diff --git a/assets/javascripts/bootstrap/tab.js b/assets/javascripts/bootstrap/tab.js index 98bdbaa..653643b 100644 --- a/assets/javascripts/bootstrap/tab.js +++ b/assets/javascripts/bootstrap/tab.js @@ -4,7 +4,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): tab.js + * Bootstrap (v4.1.2): tab.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -15,7 +15,7 @@ var Tab = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'tab'; - var VERSION = '4.1.1'; + var VERSION = '4.1.2'; var DATA_KEY = 'bs.tab'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; @@ -97,7 +97,7 @@ var Tab = function ($) { } if (selector) { - target = $(selector)[0]; + target = document.querySelector(selector); } this._activate(this._element, listElement); @@ -179,7 +179,8 @@ var Tab = function ($) { var dropdownElement = $(element).closest(Selector.DROPDOWN)[0]; if (dropdownElement) { - $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); + var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE)); + $(dropdownToggleList).addClass(ClassName.ACTIVE); } element.setAttribute('aria-expanded', true); diff --git a/assets/javascripts/bootstrap/tooltip.js b/assets/javascripts/bootstrap/tooltip.js index 22cd5cf..63a09c0 100644 --- a/assets/javascripts/bootstrap/tooltip.js +++ b/assets/javascripts/bootstrap/tooltip.js @@ -8,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): tooltip.js + * Bootstrap (v4.1.2): tooltip.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -19,7 +19,7 @@ var Tooltip = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'tooltip'; - var VERSION = '4.1.1'; + var VERSION = '4.1.2'; var DATA_KEY = 'bs.tooltip'; var EVENT_KEY = "." + DATA_KEY; var JQUERY_NO_CONFLICT = $.fn[NAME]; @@ -229,7 +229,7 @@ var Tooltip = function ($) { var attachment = this._getAttachment(placement); this.addAttachmentClass(attachment); - var container = this.config.container === false ? document.body : $(this.config.container); + var container = this.config.container === false ? document.body : $(document).find(this.config.container); $(tip).data(this.constructor.DATA_KEY, this); if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { @@ -368,9 +368,9 @@ var Tooltip = function ($) { }; _proto.setContent = function setContent() { - var $tip = $(this.getTipElement()); - this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle()); - $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); + var tip = this.getTipElement(); + this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle()); + $(tip).removeClass(ClassName.FADE + " " + ClassName.SHOW); }; _proto.setElementContent = function setElementContent($element, content) { @@ -563,15 +563,18 @@ var Tooltip = function ($) { var $tip = $(this.getTipElement()); var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); - if (tabClass !== null && tabClass.length > 0) { + if (tabClass !== null && tabClass.length) { $tip.removeClass(tabClass.join('')); } }; - _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) { + _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) { + var popperInstance = popperData.instance; + this.tip = popperInstance.popper; + this._cleanTipClass(); - this.addAttachmentClass(this._getAttachment(data.placement)); + this.addAttachmentClass(this._getAttachment(popperData.placement)); }; _proto._fixTransition = function _fixTransition() { diff --git a/assets/javascripts/bootstrap/util.js b/assets/javascripts/bootstrap/util.js index e3e919b..b10f9bd 100644 --- a/assets/javascripts/bootstrap/util.js +++ b/assets/javascripts/bootstrap/util.js @@ -1,6 +1,6 @@ /** * -------------------------------------------------------------------------- - * Bootstrap (v4.1.1): util.js + * Bootstrap (v4.1.2): util.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -76,8 +76,7 @@ var Util = function ($) { } try { - var $selector = $(document).find(selector); - return $selector.length > 0 ? selector : null; + return document.querySelector(selector) ? selector : null; } catch (err) { return null; } -- cgit v1.2.3