diff --git a/js/src/tooltip.js b/js/src/tooltip.js index 645a6b7e28..35abd29442 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -526,16 +526,9 @@ class Tooltip extends BaseComponent { return } - clearTimeout(this._timeout) - this._hoverState = HOVER_STATE_SHOW - if (!this._config.delay.show) { - this.show() - return - } - - this._timeout = setTimeout(() => { + this._setTimeout(() => { if (this._hoverState === HOVER_STATE_SHOW) { this.show() } @@ -547,22 +540,20 @@ class Tooltip extends BaseComponent { return } - clearTimeout(this._timeout) - this._hoverState = HOVER_STATE_OUT - if (!this._config.delay.hide) { - this.hide() - return - } - - this._timeout = setTimeout(() => { + this._setTimeout(() => { if (this._hoverState === HOVER_STATE_OUT) { this.hide() } }, this._config.delay.hide) } + _setTimeout(handler, timeout) { + clearTimeout(this._timeout) + this._timeout = setTimeout(handler, timeout) + } + _isWithActiveTrigger() { return Object.values(this._activeTrigger).includes(true) }