1 | import { h } from 'vue';
|
2 |
|
3 | function 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 |
|
18 | function 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 |
|
35 | export { renderVirtual, updateOnVirtualData }; |
\ | No newline at end of file |