mirror of https://github.com/twbs/bootstrap.git
Merge 9fb58bb33f
into 4c98145482
This commit is contained in:
commit
8285666261
|
@ -186,14 +186,13 @@ class Tooltip extends BaseComponent {
|
||||||
throw new Error('Please use show on visible elements')
|
throw new Error('Please use show on visible elements')
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(this._isWithContent() && this._isEnabled)) {
|
if (!((this._isWithContent() || this._newContent !== null) && this._isEnabled)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))
|
const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))
|
||||||
const shadowRoot = findShadowRoot(this._element)
|
const shadowRoot = findShadowRoot(this._element)
|
||||||
const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)
|
const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)
|
||||||
|
|
||||||
if (showEvent.defaultPrevented || !isInTheDom) {
|
if (showEvent.defaultPrevented || !isInTheDom) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,6 +56,26 @@ describe('Popover', () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('show', () => {
|
describe('show', () => {
|
||||||
|
it('should show a popover with no content after setContent', () => {
|
||||||
|
return new Promise(resolve => {
|
||||||
|
fixtureEl.innerHTML = '<a href="#">BS twitter</a>'
|
||||||
|
|
||||||
|
const popoverEl = fixtureEl.querySelector('a')
|
||||||
|
const popover = Popover.getOrCreateInstance(popoverEl)
|
||||||
|
|
||||||
|
popoverEl.addEventListener('shown.bs.popover', () => {
|
||||||
|
expect(document.querySelector('.popover')).not.toBeNull()
|
||||||
|
resolve()
|
||||||
|
})
|
||||||
|
|
||||||
|
popover.setContent({
|
||||||
|
'.popover-body': 'some content'
|
||||||
|
})
|
||||||
|
|
||||||
|
popover.show()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
it('should toggle a popover after show', () => {
|
it('should toggle a popover after show', () => {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
fixtureEl.innerHTML = '<a href="#" title="Popover" data-bs-content="https://x.com/getbootstrap">BS X</a>'
|
fixtureEl.innerHTML = '<a href="#" title="Popover" data-bs-content="https://x.com/getbootstrap">BS X</a>'
|
||||||
|
|
Loading…
Reference in New Issue