UNPKG

infinity-forge

Version:
57 lines 2.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = loopCreate; var utils_1 = require("../../shared/utils.js"); function loopCreate(slideRealIndex) { var swiper = this; var params = swiper.params, slidesEl = swiper.slidesEl; if (!params.loop || (swiper.virtual && swiper.params.virtual.enabled)) return; var initSlides = function () { var slides = (0, utils_1.elementChildren)(slidesEl, ".".concat(params.slideClass, ", swiper-slide")); slides.forEach(function (el, index) { el.setAttribute('data-swiper-slide-index', index); }); }; var gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; var slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1); var shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0; var shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0; var addBlankSlides = function (amountOfSlides) { for (var i = 0; i < amountOfSlides; i += 1) { var slideEl = swiper.isElement ? (0, utils_1.createElement)('swiper-slide', [params.slideBlankClass]) : (0, utils_1.createElement)('div', [params.slideClass, params.slideBlankClass]); swiper.slidesEl.append(slideEl); } }; if (shouldFillGroup) { if (params.loopAddBlankSlides) { var slidesToAdd = slidesPerGroup - (swiper.slides.length % slidesPerGroup); addBlankSlides(slidesToAdd); swiper.recalcSlides(); swiper.updateSlides(); } else { (0, utils_1.showWarning)('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)'); } initSlides(); } else if (shouldFillGrid) { if (params.loopAddBlankSlides) { var slidesToAdd = params.grid.rows - (swiper.slides.length % params.grid.rows); addBlankSlides(slidesToAdd); swiper.recalcSlides(); swiper.updateSlides(); } else { (0, utils_1.showWarning)('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)'); } initSlides(); } else { initSlides(); } swiper.loopFix({ slideRealIndex: slideRealIndex, direction: params.centeredSlides ? undefined : 'next' }); } //# sourceMappingURL=loopCreate.js.map