diff options
Diffstat (limited to 'assets/javascripts/bootstrap/modal.js')
-rw-r--r-- | assets/javascripts/bootstrap/modal.js | 51 |
1 files changed, 22 insertions, 29 deletions
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()); |