]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Fix tooltip manual toggling (#37086)
authorGeoSot <geo.sotis@gmail.com>
Wed, 7 Sep 2022 08:47:06 +0000 (11:47 +0300)
committerGitHub <noreply@github.com>
Wed, 7 Sep 2022 08:47:06 +0000 (11:47 +0300)
partial regression of SHA: 9b9372e8ddd60413f3d9a582bd5481586d119d8d

js/src/tooltip.js

index 2c5f03a29340d066267105899e9e4cd647717e1b..cb805dad845fea3f387ef781325a55e2b684aa47 100644 (file)
@@ -111,7 +111,7 @@ class Tooltip extends BaseComponent {
     // Private
     this._isEnabled = true
     this._timeout = 0
-    this._isHovered = false
+    this._isHovered = null
     this._activeTrigger = {}
     this._popper = null
     this._templateFactory = null
@@ -246,14 +246,13 @@ class Tooltip extends BaseComponent {
     }
 
     const complete = () => {
-      const previousHoverState = this._isHovered
-
-      this._isHovered = false
       EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))
 
-      if (previousHoverState) {
+      if (this._isHovered === false) {
         this._leave()
       }
+
+      this._isHovered = false
     }
 
     this._queueCallback(complete, this.tip, this._isAnimated())
@@ -283,7 +282,7 @@ class Tooltip extends BaseComponent {
     this._activeTrigger[TRIGGER_CLICK] = false
     this._activeTrigger[TRIGGER_FOCUS] = false
     this._activeTrigger[TRIGGER_HOVER] = false
-    this._isHovered = false
+    this._isHovered = null // it is a trick to support manual triggering
 
     const complete = () => {
       if (this._isWithActiveTrigger()) {