orcaslicer/resources/web/include/swiper/vue/virtual.js
zorro.zhang b4ffa91cb4 ENH: model info display UI
Change-Id: I066c0e7f8ce87ec00b1141a1b44430444a819b42
(cherry picked from commit 05907a1a42da82737090d55046974d401f8af057)
2023-04-17 15:39:02 +08:00

35 lines
No EOL
1.1 KiB
JavaScript

import { h } from 'vue';
function updateOnVirtualData(swiper) {
if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return;
swiper.updateSlides();
swiper.updateProgress();
swiper.updateSlidesClasses();
if (swiper.lazy && swiper.params.lazy.enabled) {
swiper.lazy.load();
}
if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) {
swiper.parallax.setTranslate();
}
}
function renderVirtual(swiperRef, slides, virtualData) {
if (!virtualData) return null;
const style = swiperRef.value.isHorizontal() ? {
[swiperRef.value.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px`
} : {
top: `${virtualData.offset}px`
};
return slides.filter((slide, index) => index >= virtualData.from && index <= virtualData.to).map(slide => {
if (!slide.props) slide.props = {};
if (!slide.props.style) slide.props.style = {};
slide.props.swiperRef = swiperRef;
slide.props.style = style;
return h(slide.type, { ...slide.props
}, slide.children);
});
}
export { renderVirtual, updateOnVirtualData };