mirror of
https://github.com/twbs/bootstrap.git
synced 2025-03-15 15:29:22 +01:00
Tooltip refactoring (#32523)
* tooltip: move common code to a reusable function * tooltip: return early in `show()` Co-authored-by: Rohit Sharma <rohit2sharma95@gmail.com> Co-authored-by: XhmikosR <xhmikosr@gmail.com>
This commit is contained in:
parent
3aa3fda730
commit
5d7b51e1d0
@ -191,13 +191,7 @@ class Tooltip extends BaseComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (event) {
|
if (event) {
|
||||||
const dataKey = this.constructor.DATA_KEY
|
const context = this._initializeOnDelegatedTarget(event)
|
||||||
let context = Data.getData(event.delegateTarget, dataKey)
|
|
||||||
|
|
||||||
if (!context) {
|
|
||||||
context = new this.constructor(event.delegateTarget, this._getDelegateConfig())
|
|
||||||
Data.setData(event.delegateTarget, dataKey, context)
|
|
||||||
}
|
|
||||||
|
|
||||||
context._activeTrigger.click = !context._activeTrigger.click
|
context._activeTrigger.click = !context._activeTrigger.click
|
||||||
|
|
||||||
@ -245,7 +239,10 @@ 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._isEnabled)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW)
|
const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW)
|
||||||
const shadowRoot = findShadowRoot(this._element)
|
const shadowRoot = findShadowRoot(this._element)
|
||||||
const isInTheDom = shadowRoot === null ?
|
const isInTheDom = shadowRoot === null ?
|
||||||
@ -322,7 +319,6 @@ class Tooltip extends BaseComponent {
|
|||||||
complete()
|
complete()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
hide() {
|
hide() {
|
||||||
if (!this._popper) {
|
if (!this._popper) {
|
||||||
@ -465,6 +461,18 @@ class Tooltip extends BaseComponent {
|
|||||||
|
|
||||||
// Private
|
// Private
|
||||||
|
|
||||||
|
_initializeOnDelegatedTarget(event, context) {
|
||||||
|
const dataKey = this.constructor.DATA_KEY
|
||||||
|
context = context || Data.getData(event.delegateTarget, dataKey)
|
||||||
|
|
||||||
|
if (!context) {
|
||||||
|
context = new this.constructor(event.delegateTarget, this._getDelegateConfig())
|
||||||
|
Data.setData(event.delegateTarget, dataKey, context)
|
||||||
|
}
|
||||||
|
|
||||||
|
return context
|
||||||
|
}
|
||||||
|
|
||||||
_getPopperConfig(attachment) {
|
_getPopperConfig(attachment) {
|
||||||
const defaultBsConfig = {
|
const defaultBsConfig = {
|
||||||
placement: attachment,
|
placement: attachment,
|
||||||
@ -582,16 +590,7 @@ class Tooltip extends BaseComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_enter(event, context) {
|
_enter(event, context) {
|
||||||
const dataKey = this.constructor.DATA_KEY
|
context = this._initializeOnDelegatedTarget(event, context)
|
||||||
context = context || Data.getData(event.delegateTarget, dataKey)
|
|
||||||
|
|
||||||
if (!context) {
|
|
||||||
context = new this.constructor(
|
|
||||||
event.delegateTarget,
|
|
||||||
this._getDelegateConfig()
|
|
||||||
)
|
|
||||||
Data.setData(event.delegateTarget, dataKey, context)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event) {
|
if (event) {
|
||||||
context._activeTrigger[
|
context._activeTrigger[
|
||||||
@ -621,16 +620,7 @@ class Tooltip extends BaseComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_leave(event, context) {
|
_leave(event, context) {
|
||||||
const dataKey = this.constructor.DATA_KEY
|
context = this._initializeOnDelegatedTarget(event, context)
|
||||||
context = context || Data.getData(event.delegateTarget, dataKey)
|
|
||||||
|
|
||||||
if (!context) {
|
|
||||||
context = new this.constructor(
|
|
||||||
event.delegateTarget,
|
|
||||||
this._getDelegateConfig()
|
|
||||||
)
|
|
||||||
Data.setData(event.delegateTarget, dataKey, context)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event) {
|
if (event) {
|
||||||
context._activeTrigger[
|
context._activeTrigger[
|
||||||
|
Loading…
x
Reference in New Issue
Block a user