diff options
author | Mark Otto <markdotto@gmail.com> | 2018-03-31 23:59:37 +0300 |
---|---|---|
committer | Mark Otto <markdotto@gmail.com> | 2018-03-31 23:59:37 +0300 |
commit | b744ba2c084dd382d5bad8266827bf1a49a864de (patch) | |
tree | c3870abb57537fccf28d0f840c906411ead566bb /js/dist/modal.js | |
parent | cf7136364991378dfd7f076e28bb2b945a9b5f5f (diff) |
dist
Diffstat (limited to 'js/dist/modal.js')
-rw-r--r-- | js/dist/modal.js | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/js/dist/modal.js b/js/dist/modal.js index dd47e104a7..63a53597f8 100644 --- a/js/dist/modal.js +++ b/js/dist/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); } } @@ -22,8 +24,6 @@ var Modal = function ($) { 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 = { @@ -102,7 +102,7 @@ var Modal = function ($) { return; } - if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) { + if ($(this._element).hasClass(ClassName.FADE)) { this._isTransitioning = true; } @@ -164,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; @@ -180,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(); } @@ -207,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; }; @@ -215,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 @@ -252,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(); } @@ -330,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; @@ -356,7 +357,7 @@ var Modal = function ($) { } }); - if (doAnimate) { + if (animate) { Util.reflow(this._backdrop); } @@ -366,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); @@ -383,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(); } @@ -491,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); @@ -541,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(); |