|
1 | 1 | <template>
|
2 |
| - <div class="agile" :class="{'agile--auto-play': settings.autoplay, 'agile--disabled': settings.unagile, 'agile--fade': settings.fade && !settings.unagile, 'agile--rtl': settings.rtl}"> |
3 |
| - <div ref="list" class="agile__list"> |
4 |
| - <div ref="track" class="agile__track" :style="{transform: `translate(${translateX + marginX}px)`, transition: `transform ${settings.timing} ${transitionDelay}ms`}" @mouseover="handleMouseOver('track')" @mouseout="handleMouseOut('track')"> |
5 |
| - <div class="agile__slides agile__slides--cloned" ref="slidesClonedBefore" v-if="clonedSlides"> |
6 |
| - <slot></slot> |
7 |
| - </div> |
8 |
| - |
9 |
| - <div class="agile__slides agile__slides--regular" ref="slides"> |
10 |
| - <slot></slot> |
11 |
| - </div> |
12 |
| - |
13 |
| - <div class="agile__slides agile__slides--cloned" ref="slidesClonedAfter" v-if="clonedSlides"> |
14 |
| - <slot></slot> |
15 |
| - </div> |
16 |
| - </div> |
17 |
| - </div> |
18 |
| - |
19 |
| - <div class="agile__actions" v-if="!settings.unagile && (settings.navButtons || settings.dots)"> |
20 |
| - <button v-if="settings.navButtons && !settings.unagile" class="agile__nav-button agile__nav-button--prev" :disabled="!canGoToPrev" @click="goToPrev(), restartAutoPlay()" type="button" ref="prevButton"> |
21 |
| - <slot name="prevButton">←</slot> |
22 |
| - </button> |
23 |
| - |
24 |
| - <ul ref="dots" v-if="settings.dots && !settings.unagile" class="agile__dots"> |
25 |
| - <li v-for="n in slidesCount" :key="n" class="agile__dot" :class="{'agile__dot--current': n - 1 === currentSlide}" @mouseover="handleMouseOver('dot')" @mouseout="handleMouseOut('dot')"> |
26 |
| - <button @click="goTo(n - 1), restartAutoPlay()" type="button">{{n}}</button> |
27 |
| - </li> |
28 |
| - </ul> |
29 |
| - |
30 |
| - <button v-if="settings.navButtons && !settings.unagile" class="agile__nav-button agile__nav-button--next" :disabled="!canGoToNext" @click="goToNext(), restartAutoPlay()" type="button" ref="nextButton"> |
31 |
| - <slot name="nextButton">→</slot> |
32 |
| - </button> |
33 |
| - </div> |
34 |
| - </div> |
| 2 | + <div class="agile" :class="{'agile--auto-play': settings.autoplay, 'agile--disabled': settings.unagile, 'agile--fade': settings.fade && !settings.unagile, 'agile--rtl': settings.rtl}"> |
| 3 | + <div ref="list" class="agile__list"> |
| 4 | + <div ref="track" class="agile__track" :style="{transform: `translate(${translateX + marginX}px)`, transition: `transform ${settings.timing} ${transitionDelay}ms`}" @mouseover="handleMouseOver('track')" @mouseout="handleMouseOut('track')"> |
| 5 | + <div class="agile__slides agile__slides--cloned" ref="slidesClonedBefore" v-if="clonedSlides"> |
| 6 | + <slot></slot> |
| 7 | + </div> |
| 8 | + |
| 9 | + <div class="agile__slides agile__slides--regular" ref="slides"> |
| 10 | + <slot></slot> |
| 11 | + </div> |
| 12 | + |
| 13 | + <div class="agile__slides agile__slides--cloned" ref="slidesClonedAfter" v-if="clonedSlides"> |
| 14 | + <slot></slot> |
| 15 | + </div> |
| 16 | + </div> |
| 17 | + </div> |
| 18 | + |
| 19 | + <div class="agile__actions" v-if="!settings.unagile && (settings.navButtons || settings.dots)"> |
| 20 | + <button v-if="settings.navButtons && !settings.unagile" class="agile__nav-button agile__nav-button--prev" :disabled="!canGoToPrev" @click="goToPrev(), restartAutoPlay()" type="button" ref="prevButton"> |
| 21 | + <slot name="prevButton">←</slot> |
| 22 | + </button> |
| 23 | + |
| 24 | + <ul ref="dots" v-if="settings.dots && !settings.unagile" class="agile__dots"> |
| 25 | + <li v-for="n in slidesCount" :key="n" class="agile__dot" :class="{'agile__dot--current': n - 1 === currentSlide}" @mouseover="handleMouseOver('dot')" @mouseout="handleMouseOut('dot')"> |
| 26 | + <button @click="goTo(n - 1), restartAutoPlay()" type="button">{{n}}</button> |
| 27 | + </li> |
| 28 | + </ul> |
| 29 | + |
| 30 | + <button v-if="settings.navButtons && !settings.unagile" class="agile__nav-button agile__nav-button--next" :disabled="!canGoToNext" @click="goToNext(), restartAutoPlay()" type="button" ref="nextButton"> |
| 31 | + <slot name="nextButton">→</slot> |
| 32 | + </button> |
| 33 | + </div> |
| 34 | + </div> |
35 | 35 | </template>
|
36 | 36 |
|
37 | 37 | <script>
|
|
262 | 262 |
|
263 | 263 | watch: {
|
264 | 264 | // Watch window width change
|
265 |
| - widthWindow () { |
266 |
| - this.prepareCarousel() |
| 265 | + widthWindow (newValue, oldValue) { |
| 266 | + if (oldValue) { |
| 267 | + this.prepareCarousel() |
| 268 | + this.toggleFade() |
| 269 | + } |
267 | 270 | },
|
268 | 271 |
|
269 | 272 | // Watch current slide change
|
|
659 | 662 |
|
660 | 663 | &--rtl
|
661 | 664 | .agile__track,
|
662 |
| - .agile__slides, |
663 |
| - .agile__dots |
664 |
| - flex-direction: row-reverse |
| 665 | + .agile__slides, |
| 666 | + .agile__dots |
| 667 | + flex-direction: row-reverse |
665 | 668 |
|
666 | 669 | &, *
|
667 | 670 | &:focus,
|
|
0 commit comments