mirror of https://github.com/twbs/bootstrap.git
Fix popover remaining open when toggled after being shown (#40803)
Co-authored-by: Dmitry Sergienko <dmitry.sergienko@codefirst.net> Co-authored-by: Julien Déramond <juderamond@gmail.com>
This commit is contained in:
parent
dcec1df61f
commit
fecd219983
|
@ -160,7 +160,6 @@ class Tooltip extends BaseComponent {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
this._activeTrigger.click = !this._activeTrigger.click
|
|
||||||
if (this._isShown()) {
|
if (this._isShown()) {
|
||||||
this._leave()
|
this._leave()
|
||||||
return
|
return
|
||||||
|
|
|
@ -56,6 +56,26 @@ describe('Popover', () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('show', () => {
|
describe('show', () => {
|
||||||
|
it('should toggle a popover after show', () => {
|
||||||
|
return new Promise(resolve => {
|
||||||
|
fixtureEl.innerHTML = '<a href="#" title="Popover" data-bs-content="https://twitter.com/getbootstrap">BS twitter</a>'
|
||||||
|
|
||||||
|
const popoverEl = fixtureEl.querySelector('a')
|
||||||
|
const popover = new Popover(popoverEl)
|
||||||
|
|
||||||
|
popoverEl.addEventListener('shown.bs.popover', () => {
|
||||||
|
expect(document.querySelector('.popover')).not.toBeNull()
|
||||||
|
popover.toggle()
|
||||||
|
})
|
||||||
|
popoverEl.addEventListener('hidden.bs.popover', () => {
|
||||||
|
expect(document.querySelector('.popover')).toBeNull()
|
||||||
|
resolve()
|
||||||
|
})
|
||||||
|
|
||||||
|
popover.show()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
it('should show a popover', () => {
|
it('should show a popover', () => {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
fixtureEl.innerHTML = '<a href="#" title="Popover" data-bs-content="https://twitter.com/getbootstrap">BS twitter</a>'
|
fixtureEl.innerHTML = '<a href="#" title="Popover" data-bs-content="https://twitter.com/getbootstrap">BS twitter</a>'
|
||||||
|
|
Loading…
Reference in New Issue