diff options
| author | GeoSot <[email protected]> | 2021-05-20 16:16:55 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-05-20 16:16:55 +0300 |
| commit | 9e4f87ae8f2e32bb31795ece8f9ab3e7b823dd7d (patch) | |
| tree | a8ae05c59e1e245dc9fa52ea85863c844879b8a1 | |
| parent | de0b797ab2bb80e4576c15f1992dc5755378edcd (diff) | |
| download | bootstrap-9e4f87ae8f2e32bb31795ece8f9ab3e7b823dd7d.tar.xz bootstrap-9e4f87ae8f2e32bb31795ece8f9ab3e7b823dd7d.zip | |
Allow use of `dispose/hide` methods on Tooltip & Popover from jQueryInterface, when component does not exists. (#33371)
| -rw-r--r-- | js/src/popover.js | 4 | ||||
| -rw-r--r-- | js/src/tooltip.js | 4 | ||||
| -rw-r--r-- | js/tests/unit/popover.spec.js | 15 | ||||
| -rw-r--r-- | js/tests/unit/tooltip.spec.js | 15 |
4 files changed, 0 insertions, 38 deletions
diff --git a/js/src/popover.js b/js/src/popover.js index 6ab31d6e4..e8614156c 100644 --- a/js/src/popover.js +++ b/js/src/popover.js @@ -149,10 +149,6 @@ class Popover extends Tooltip { let data = Data.get(this, DATA_KEY) const _config = typeof config === 'object' ? config : null - if (!data && /dispose|hide/.test(config)) { - return - } - if (!data) { data = new Popover(this, _config) Data.set(this, DATA_KEY, data) diff --git a/js/src/tooltip.js b/js/src/tooltip.js index d164da2b3..84379c88f 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -725,10 +725,6 @@ class Tooltip extends BaseComponent { let data = Data.get(this, DATA_KEY) const _config = typeof config === 'object' && config - if (!data && /dispose|hide/.test(config)) { - return - } - if (!data) { data = new Tooltip(this, _config) } diff --git a/js/tests/unit/popover.spec.js b/js/tests/unit/popover.spec.js index 7c741fe47..def0f5f04 100644 --- a/js/tests/unit/popover.spec.js +++ b/js/tests/unit/popover.spec.js @@ -266,21 +266,6 @@ describe('Popover', () => { expect(popover.show).toHaveBeenCalled() }) - - it('should do nothing if dipose is called when a popover do not exist', () => { - fixtureEl.innerHTML = '<a href="#" title="Popover" data-bs-content="https://twitter.com/getbootstrap">BS twitter</a>' - - const popoverEl = fixtureEl.querySelector('a') - - jQueryMock.fn.popover = Popover.jQueryInterface - jQueryMock.elements = [popoverEl] - - spyOn(Popover.prototype, 'dispose') - - jQueryMock.fn.popover.call(jQueryMock, 'dispose') - - expect(Popover.prototype.dispose).not.toHaveBeenCalled() - }) }) describe('getInstance', () => { diff --git a/js/tests/unit/tooltip.spec.js b/js/tests/unit/tooltip.spec.js index 80fb6a8a1..27c7a350b 100644 --- a/js/tests/unit/tooltip.spec.js +++ b/js/tests/unit/tooltip.spec.js @@ -1351,21 +1351,6 @@ describe('Tooltip', () => { expect(tooltip.show).toHaveBeenCalled() }) - it('should do nothing when we call dispose or hide if there is no tooltip created', () => { - fixtureEl.innerHTML = '<div></div>' - - const div = fixtureEl.querySelector('div') - - spyOn(Tooltip.prototype, 'dispose') - - jQueryMock.fn.tooltip = Tooltip.jQueryInterface - jQueryMock.elements = [div] - - jQueryMock.fn.tooltip.call(jQueryMock, 'dispose') - - expect(Tooltip.prototype.dispose).not.toHaveBeenCalled() - }) - it('should throw error on undefined method', () => { fixtureEl.innerHTML = '<div></div>' |
