]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Carousel: add a helper to get the active element
authorGeoSot <geo.sotis@gmail.com>
Wed, 7 Jul 2021 22:29:25 +0000 (01:29 +0300)
committerXhmikosR <xhmikosr@gmail.com>
Tue, 21 Dec 2021 15:37:24 +0000 (17:37 +0200)
js/src/carousel.js

index e50894aa8103f568885e7d4993c4a5ce0d450875..14a0bd40b2f1ae14636c274da4a3ae251d912b98 100644 (file)
@@ -173,7 +173,7 @@ class Carousel extends BaseComponent {
   }
 
   to(index) {
-    this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)
+    this._activeElement = this._getActive()
     const activeIndex = this._getItemIndex(this._activeElement)
 
     if (index > this._items.length - 1 || index < 0) {
@@ -282,7 +282,7 @@ class Carousel extends BaseComponent {
 
   _triggerSlideEvent(relatedTarget, eventDirectionName) {
     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, {
       relatedTarget,
@@ -312,7 +312,7 @@ class Carousel extends BaseComponent {
   }
 
   _updateInterval() {
-    const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)
+    const element = this._activeElement || this._getActive()
 
     if (!element) {
       return
@@ -330,7 +330,7 @@ class Carousel extends BaseComponent {
 
   _slide(directionOrOrder, element) {
     const order = this._directionToOrder(directionOrOrder)
-    const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)
+    const activeElement = this._getActive()
     const activeElementIndex = this._getItemIndex(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) {
     if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {
       return direction