mirror of
https://github.com/twbs/bootstrap.git
synced 2025-03-13 13:29:25 +01:00
Add a helper function to check for showing
Also, remove the `isTransitioning()` helper.
This commit is contained in:
parent
4961ad0c63
commit
5882d5dbe8
@ -113,7 +113,7 @@ class Collapse extends BaseComponent {
|
||||
// Public
|
||||
|
||||
toggle() {
|
||||
if (this._element.classList.contains(CLASS_NAME_SHOW)) {
|
||||
if (this._isShown()) {
|
||||
this.hide()
|
||||
} else {
|
||||
this.show()
|
||||
@ -121,7 +121,7 @@ class Collapse extends BaseComponent {
|
||||
}
|
||||
|
||||
show() {
|
||||
if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {
|
||||
if (this._isTransitioning || this._isShown()) {
|
||||
return
|
||||
}
|
||||
|
||||
@ -184,16 +184,16 @@ class Collapse extends BaseComponent {
|
||||
})
|
||||
}
|
||||
|
||||
this.setTransitioning(true)
|
||||
this._isTransitioning = true
|
||||
|
||||
const complete = () => {
|
||||
this._isTransitioning = false
|
||||
|
||||
this._element.classList.remove(CLASS_NAME_COLLAPSING)
|
||||
this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)
|
||||
|
||||
this._element.style[dimension] = ''
|
||||
|
||||
this.setTransitioning(false)
|
||||
|
||||
EventHandler.trigger(this._element, EVENT_SHOWN)
|
||||
}
|
||||
|
||||
@ -205,7 +205,7 @@ class Collapse extends BaseComponent {
|
||||
}
|
||||
|
||||
hide() {
|
||||
if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {
|
||||
if (this._isTransitioning || !this._isShown()) {
|
||||
return
|
||||
}
|
||||
|
||||
@ -229,17 +229,17 @@ class Collapse extends BaseComponent {
|
||||
const trigger = this._triggerArray[i]
|
||||
const elem = getElementFromSelector(trigger)
|
||||
|
||||
if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {
|
||||
if (elem && !this._isShown(elem)) {
|
||||
trigger.classList.add(CLASS_NAME_COLLAPSED)
|
||||
trigger.setAttribute('aria-expanded', false)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.setTransitioning(true)
|
||||
this._isTransitioning = true
|
||||
|
||||
const complete = () => {
|
||||
this.setTransitioning(false)
|
||||
this._isTransitioning = false
|
||||
this._element.classList.remove(CLASS_NAME_COLLAPSING)
|
||||
this._element.classList.add(CLASS_NAME_COLLAPSE)
|
||||
EventHandler.trigger(this._element, EVENT_HIDDEN)
|
||||
@ -250,8 +250,8 @@ class Collapse extends BaseComponent {
|
||||
this._queueCallback(complete, this._element, true)
|
||||
}
|
||||
|
||||
setTransitioning(isTransitioning) {
|
||||
this._isTransitioning = isTransitioning
|
||||
_isShown(element = this._element) {
|
||||
return element.classList.contains(CLASS_NAME_SHOW)
|
||||
}
|
||||
|
||||
// Private
|
||||
@ -296,7 +296,7 @@ class Collapse extends BaseComponent {
|
||||
return
|
||||
}
|
||||
|
||||
const isOpen = element.classList.contains(CLASS_NAME_SHOW)
|
||||
const isOpen = this._isShown(element)
|
||||
|
||||
triggerArray.forEach(elem => {
|
||||
if (isOpen) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user