diff options
author | Hiws <hiws@live.dk> | 2020-09-24 14:55:38 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-24 14:55:38 +0300 |
commit | 43b4252a3487e419455f794e16d402a32d1ebe22 (patch) | |
tree | 324c4021ecab4298538c721d79a95776108ec8c3 /js | |
parent | a690a67c7c57061ae74ad2d0d7714710ef216605 (diff) |
fix tooltip hide method when already hidden (#31115)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Diffstat (limited to 'js')
-rw-r--r-- | js/src/tooltip.js | 4 | ||||
-rw-r--r-- | js/tests/unit/tooltip.spec.js | 14 |
2 files changed, 18 insertions, 0 deletions
diff --git a/js/src/tooltip.js b/js/src/tooltip.js index 9ad73328be..1bda97e388 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -331,6 +331,10 @@ class Tooltip { } hide() { + if (!this._popper) { + return + } + const tip = this.getTipElement() const complete = () => { if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) { diff --git a/js/tests/unit/tooltip.spec.js b/js/tests/unit/tooltip.spec.js index 0a98096a40..3e5c917940 100644 --- a/js/tests/unit/tooltip.spec.js +++ b/js/tests/unit/tooltip.spec.js @@ -717,6 +717,20 @@ describe('Tooltip', () => { tooltip.show() }) + + it('should not throw error running hide if popper hasn\'t been shown', () => { + fixtureEl.innerHTML = '<div></div>' + + const div = fixtureEl.querySelector('div') + const tooltip = new Tooltip(div) + + try { + tooltip.hide() + expect().nothing() + } catch { + throw new Error('should not throw error') + } + }) }) describe('update', () => { |