aboutsummaryrefslogtreecommitdiff
path: root/js/src
diff options
context:
space:
mode:
authorGeoSot <[email protected]>2022-10-06 11:31:38 +0300
committerXhmikosR <[email protected]>2022-11-21 20:12:43 +0200
commit7e3074c16540eacea303266fdf235aecdd9cf5c3 (patch)
tree84c3811148db12648005bec1e01998b11a1149a9 /js/src
parent127a816f7768f8f5436709fb4d05580cd6e251e4 (diff)
downloadbootstrap-7e3074c16540eacea303266fdf235aecdd9cf5c3.tar.xz
bootstrap-7e3074c16540eacea303266fdf235aecdd9cf5c3.zip
fix tooltip/popper disposal inconsistencies (#37235)
Diffstat (limited to 'js/src')
-rw-r--r--js/src/tooltip.js24
1 files changed, 8 insertions, 16 deletions
diff --git a/js/src/tooltip.js b/js/src/tooltip.js
index e01f0a4ae..70198c81b 100644
--- a/js/src/tooltip.js
+++ b/js/src/tooltip.js
@@ -172,10 +172,6 @@ class Tooltip extends BaseComponent {
EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)
- if (this.tip) {
- this.tip.remove()
- }
-
if (this._element.getAttribute('data-bs-original-title')) {
this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))
}
@@ -202,10 +198,7 @@ class Tooltip extends BaseComponent {
}
// todo v6 remove this OR make it optional
- if (this.tip) {
- this.tip.remove()
- this.tip = null
- }
+ this._disposePopper()
const tip = this._getTipElement()
@@ -218,11 +211,7 @@ class Tooltip extends BaseComponent {
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))
}
- if (this._popper) {
- this._popper.update()
- } else {
- this._popper = this._createPopper(tip)
- }
+ this._popper = this._createPopper(tip)
tip.classList.add(CLASS_NAME_SHOW)
@@ -281,13 +270,11 @@ class Tooltip extends BaseComponent {
}
if (!this._isHovered) {
- tip.remove()
+ this._disposePopper()
}
this._element.removeAttribute('aria-describedby')
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))
-
- this._disposePopper()
}
this._queueCallback(complete, this.tip, this._isAnimated())
@@ -612,6 +599,11 @@ class Tooltip extends BaseComponent {
this._popper.destroy()
this._popper = null
}
+
+ if (this.tip) {
+ this.tip.remove()
+ this.tip = null
+ }
}
// Static