1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-02-21 21:40:48 +00:00

Carousel: add a helper to get the active element

This commit is contained in:
GeoSot 2021-07-08 01:29:25 +03:00 committed by XhmikosR
parent 65cf77ae3e
commit d60f146507

View File

@ -173,7 +173,7 @@ class Carousel extends BaseComponent {
} }
to(index) { to(index) {
this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element) this._activeElement = this._getActive()
const activeIndex = this._getItemIndex(this._activeElement) const activeIndex = this._getItemIndex(this._activeElement)
if (index > this._items.length - 1 || index < 0) { if (index > this._items.length - 1 || index < 0) {
@ -282,7 +282,7 @@ class Carousel extends BaseComponent {
_triggerSlideEvent(relatedTarget, eventDirectionName) { _triggerSlideEvent(relatedTarget, eventDirectionName) {
const targetIndex = this._getItemIndex(relatedTarget) const targetIndex = this._getItemIndex(relatedTarget)
const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)) const fromIndex = this._getItemIndex(this._getActive())
return EventHandler.trigger(this._element, EVENT_SLIDE, { return EventHandler.trigger(this._element, EVENT_SLIDE, {
relatedTarget, relatedTarget,
@ -312,7 +312,7 @@ class Carousel extends BaseComponent {
} }
_updateInterval() { _updateInterval() {
const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element) const element = this._activeElement || this._getActive()
if (!element) { if (!element) {
return return
@ -330,7 +330,7 @@ class Carousel extends BaseComponent {
_slide(directionOrOrder, element) { _slide(directionOrOrder, element) {
const order = this._directionToOrder(directionOrOrder) const order = this._directionToOrder(directionOrOrder)
const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element) const activeElement = this._getActive()
const activeElementIndex = this._getItemIndex(activeElement) const activeElementIndex = this._getItemIndex(activeElement)
const nextElement = element || this._getItemByOrder(order, activeElement) const nextElement = element || this._getItemByOrder(order, activeElement)
@ -412,6 +412,10 @@ class Carousel extends BaseComponent {
} }
} }
_getActive() {
return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)
}
_directionToOrder(direction) { _directionToOrder(direction) {
if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) { if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {
return direction return direction