Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Otto <markdotto@gmail.com>2016-12-02 21:13:36 +0300
committerMark Otto <markdotto@gmail.com>2016-12-02 21:13:36 +0300
commit3ec37d4a4d043ded903c807818e7894de084409f (patch)
treeaaf483f062a7f721093632df5d0d198e9830dacc /js/dist/tooltip.js
parente3a569f4f6ab326d78300c6a8ab3e3766075cfd0 (diff)
grunt
Diffstat (limited to 'js/dist/tooltip.js')
-rw-r--r--js/dist/tooltip.js14
1 files changed, 12 insertions, 2 deletions
diff --git a/js/dist/tooltip.js b/js/dist/tooltip.js
index 0ba14d6c76..c63e2d9e4f 100644
--- a/js/dist/tooltip.js
+++ b/js/dist/tooltip.js
@@ -125,6 +125,7 @@ var Tooltip = function ($) {
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
+ this._isTransitioning = false;
this._tether = null;
// protected
@@ -210,9 +211,12 @@ var Tooltip = function ($) {
if ($(this.element).css('display') === 'none') {
throw new Error('Please use show on visible elements');
}
- var showEvent = $.Event(this.constructor.Event.SHOW);
+ var showEvent = $.Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
+ if (this._isTransitioning) {
+ throw new Error('Tooltip is transitioning');
+ }
$(this.element).trigger(showEvent);
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
@@ -262,6 +266,7 @@ var Tooltip = function ($) {
var complete = function complete() {
var prevHoverState = _this._hoverState;
_this._hoverState = null;
+ _this._isTransitioning = false;
$(_this.element).trigger(_this.constructor.Event.SHOWN);
@@ -271,6 +276,7 @@ var Tooltip = function ($) {
};
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
return;
}
@@ -284,6 +290,9 @@ var Tooltip = function ($) {
var tip = this.getTipElement();
var hideEvent = $.Event(this.constructor.Event.HIDE);
+ if (this._isTransitioning) {
+ throw new Error('Tooltip is transitioning');
+ }
var complete = function complete() {
if (_this2._hoverState !== HoverState.ACTIVE && tip.parentNode) {
tip.parentNode.removeChild(tip);
@@ -291,6 +300,7 @@ var Tooltip = function ($) {
_this2.element.removeAttribute('aria-describedby');
$(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+ _this2._isTransitioning = false;
_this2.cleanupTether();
if (callback) {
@@ -307,7 +317,7 @@ var Tooltip = function ($) {
$(tip).removeClass(ClassName.ACTIVE);
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
-
+ this._isTransitioning = true;
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();