diff options
Diffstat (limited to 'assets/javascripts/bootstrap/modal.js')
-rw-r--r-- | assets/javascripts/bootstrap/modal.js | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/assets/javascripts/bootstrap/modal.js b/assets/javascripts/bootstrap/modal.js index 8e3c886..6e94b87 100644 --- a/assets/javascripts/bootstrap/modal.js +++ b/assets/javascripts/bootstrap/modal.js @@ -1,4 +1,6 @@ -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } @@ -6,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d /** * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0): modal.js + * Bootstrap (v4.1.0): modal.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -17,13 +19,11 @@ var Modal = function ($) { * ------------------------------------------------------------------------ */ var NAME = 'modal'; - var VERSION = '4.0.0'; + var VERSION = '4.1.0'; var DATA_KEY = 'bs.modal'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $.fn[NAME]; - var TRANSITION_DURATION = 300; - var BACKDROP_TRANSITION_DURATION = 150; var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key var Default = { @@ -84,7 +84,6 @@ var Modal = function ($) { this._isShown = false; this._isBodyOverflowing = false; this._ignoreBackdropClick = false; - this._originalBodyPadding = 0; this._scrollbarWidth = 0; } // Getters @@ -103,7 +102,7 @@ var Modal = function ($) { return; } - if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) { + if ($(this._element).hasClass(ClassName.FADE)) { this._isTransitioning = true; } @@ -165,7 +164,7 @@ var Modal = function ($) { } this._isShown = false; - var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE); + var transition = $(this._element).hasClass(ClassName.FADE); if (transition) { this._isTransitioning = true; @@ -181,9 +180,10 @@ var Modal = function ($) { $(this._dialog).off(Event.MOUSEDOWN_DISMISS); if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); $(this._element).one(Util.TRANSITION_END, function (event) { return _this2._hideModal(event); - }).emulateTransitionEnd(TRANSITION_DURATION); + }).emulateTransitionEnd(transitionDuration); } else { this._hideModal(); } @@ -208,7 +208,7 @@ var Modal = function ($) { _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default, config); + config = _objectSpread({}, Default, config); Util.typeCheckConfig(NAME, config, DefaultType); return config; }; @@ -216,7 +216,7 @@ var Modal = function ($) { _proto._showElement = function _showElement(relatedTarget) { var _this3 = this; - var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE); + var transition = $(this._element).hasClass(ClassName.FADE); if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { // Don't move modal's DOM position @@ -253,7 +253,8 @@ var Modal = function ($) { }; if (transition) { - $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION); + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); } else { transitionComplete(); } @@ -331,7 +332,6 @@ var Modal = function ($) { var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; if (this._isShown && this._config.backdrop) { - var doAnimate = Util.supportsTransitionEnd() && animate; this._backdrop = document.createElement('div'); this._backdrop.className = ClassName.BACKDROP; @@ -357,7 +357,7 @@ var Modal = function ($) { } }); - if (doAnimate) { + if (animate) { Util.reflow(this._backdrop); } @@ -367,12 +367,13 @@ var Modal = function ($) { return; } - if (!doAnimate) { + if (!animate) { callback(); return; } - $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); + var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); } else if (!this._isShown && this._backdrop) { $(this._backdrop).removeClass(ClassName.SHOW); @@ -384,8 +385,10 @@ var Modal = function ($) { } }; - if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) { - $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); + if ($(this._element).hasClass(ClassName.FADE)) { + var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + + $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); } else { callbackRemove(); } @@ -447,8 +450,8 @@ var Modal = function ($) { }); // Adjust body padding var actualPadding = document.body.style.paddingRight; - var calculatedPadding = $('body').css('padding-right'); - $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + var calculatedPadding = $(document.body).css('padding-right'); + $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); } }; @@ -470,10 +473,10 @@ var Modal = function ($) { } }); // Restore body padding - var padding = $('body').data('padding-right'); + var padding = $(document.body).data('padding-right'); if (typeof padding !== 'undefined') { - $('body').css('padding-right', padding).removeData('padding-right'); + $(document.body).css('padding-right', padding).removeData('padding-right'); } }; @@ -492,7 +495,7 @@ var Modal = function ($) { return this.each(function () { var data = $(this).data(DATA_KEY); - var _config = _extends({}, Modal.Default, $(this).data(), typeof config === 'object' && config); + var _config = _objectSpread({}, Modal.Default, $(this).data(), typeof config === 'object' && config); if (!data) { data = new Modal(this, _config); @@ -542,7 +545,7 @@ var Modal = function ($) { target = $(selector)[0]; } - var config = $(target).data(DATA_KEY) ? 'toggle' : _extends({}, $(target).data(), $(this).data()); + var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data()); if (this.tagName === 'A' || this.tagName === 'AREA') { event.preventDefault(); |