Kaynağa Gözat

Check existence of arrows in `update()` for direct call.

Naotoshi Fujita 2 yıl önce
ebeveyn
işleme
08920a7cc7

+ 12 - 10
dist/js/splide.js

@@ -1867,16 +1867,18 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
     }
 
     function update() {
-      var index = Splide2.index;
-      var prevIndex = Controller.getPrev();
-      var nextIndex = Controller.getNext();
-      var prevLabel = prevIndex > -1 && index < prevIndex ? i18n.last : i18n.prev;
-      var nextLabel = nextIndex > -1 && index > nextIndex ? i18n.first : i18n.next;
-      prev.disabled = prevIndex < 0;
-      next.disabled = nextIndex < 0;
-      setAttribute(prev, ARIA_LABEL, prevLabel);
-      setAttribute(next, ARIA_LABEL, nextLabel);
-      emit(EVENT_ARROWS_UPDATED, prev, next, prevIndex, nextIndex);
+      if (prev && next) {
+        var index = Splide2.index;
+        var prevIndex = Controller.getPrev();
+        var nextIndex = Controller.getNext();
+        var prevLabel = prevIndex > -1 && index < prevIndex ? i18n.last : i18n.prev;
+        var nextLabel = nextIndex > -1 && index > nextIndex ? i18n.first : i18n.next;
+        prev.disabled = prevIndex < 0;
+        next.disabled = nextIndex < 0;
+        setAttribute(prev, ARIA_LABEL, prevLabel);
+        setAttribute(next, ARIA_LABEL, nextLabel);
+        emit(EVENT_ARROWS_UPDATED, prev, next, prevIndex, nextIndex);
+      }
     }
 
     return {

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/js/splide.min.js


BIN
dist/js/splide.min.js.gz


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
dist/js/splide.min.js.map


+ 12 - 10
src/js/components/Arrows/Arrows.ts

@@ -196,19 +196,21 @@ export function Arrows( Splide: Splide, Components: Components, options: Options
    * Updates status of arrows, such as `disabled` and `aria-label`.
    */
   function update(): void {
-    const index     = Splide.index;
-    const prevIndex = Controller.getPrev();
-    const nextIndex = Controller.getNext();
-    const prevLabel = prevIndex > -1 && index < prevIndex ? i18n.last : i18n.prev;
-    const nextLabel = nextIndex > -1 && index > nextIndex ? i18n.first : i18n.next;
+    if ( prev && next ) {
+      const index     = Splide.index;
+      const prevIndex = Controller.getPrev();
+      const nextIndex = Controller.getNext();
+      const prevLabel = prevIndex > -1 && index < prevIndex ? i18n.last : i18n.prev;
+      const nextLabel = nextIndex > -1 && index > nextIndex ? i18n.first : i18n.next;
 
-    prev.disabled = prevIndex < 0;
-    next.disabled = nextIndex < 0;
+      prev.disabled = prevIndex < 0;
+      next.disabled = nextIndex < 0;
 
-    setAttribute( prev, ARIA_LABEL, prevLabel );
-    setAttribute( next, ARIA_LABEL, nextLabel );
+      setAttribute( prev, ARIA_LABEL, prevLabel );
+      setAttribute( next, ARIA_LABEL, nextLabel );
 
-    emit( EVENT_ARROWS_UPDATED, prev, next, prevIndex, nextIndex );
+      emit( EVENT_ARROWS_UPDATED, prev, next, prevIndex, nextIndex );
+    }
   }
 
   return {

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor