UNPKG

1.15 kBJavaScriptView Raw
1import { h } from 'vue';
2
3function updateOnVirtualData(swiper) {
4 if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return;
5 swiper.updateSlides();
6 swiper.updateProgress();
7 swiper.updateSlidesClasses();
8
9 if (swiper.lazy && swiper.params.lazy.enabled) {
10 swiper.lazy.load();
11 }
12
13 if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) {
14 swiper.parallax.setTranslate();
15 }
16}
17
18function renderVirtual(swiperRef, slides, virtualData) {
19 if (!virtualData) return null;
20 const style = swiperRef.value.isHorizontal() ? {
21 [swiperRef.value.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px`
22 } : {
23 top: `${virtualData.offset}px`
24 };
25 return slides.filter((slide, index) => index >= virtualData.from && index <= virtualData.to).map(slide => {
26 if (!slide.props) slide.props = {};
27 if (!slide.props.style) slide.props.style = {};
28 slide.props.swiperRef = swiperRef;
29 slide.props.style = style;
30 return h(slide.type, { ...slide.props
31 }, slide.children);
32 });
33}
34
35export { renderVirtual, updateOnVirtualData };
\No newline at end of file