UNPKG

infinity-forge

Version:
94 lines 4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = setBreakpoint; var utils_1 = require("../../shared/utils.js"); var isGridEnabled = function (swiper, params) { return swiper.grid && params.grid && params.grid.rows > 1; }; function setBreakpoint() { var swiper = this; var realIndex = swiper.realIndex, initialized = swiper.initialized, params = swiper.params, el = swiper.el; var breakpoints = params.breakpoints; if (!breakpoints || (breakpoints && Object.keys(breakpoints).length === 0)) return; // Get breakpoint for window width and update parameters var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el); if (!breakpoint || swiper.currentBreakpoint === breakpoint) return; var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; var breakpointParams = breakpointOnlyParams || swiper.originalParams; var wasMultiRow = isGridEnabled(swiper, params); var isMultiRow = isGridEnabled(swiper, breakpointParams); var wasGrabCursor = swiper.params.grabCursor; var isGrabCursor = breakpointParams.grabCursor; var wasEnabled = params.enabled; if (wasMultiRow && !isMultiRow) { el.classList.remove("".concat(params.containerModifierClass, "grid"), "".concat(params.containerModifierClass, "grid-column")); swiper.emitContainerClasses(); } else if (!wasMultiRow && isMultiRow) { el.classList.add("".concat(params.containerModifierClass, "grid")); if ((breakpointParams.grid.fill && breakpointParams.grid.fill === 'column') || (!breakpointParams.grid.fill && params.grid.fill === 'column')) { el.classList.add("".concat(params.containerModifierClass, "grid-column")); } swiper.emitContainerClasses(); } if (wasGrabCursor && !isGrabCursor) { swiper.unsetGrabCursor(); } else if (!wasGrabCursor && isGrabCursor) { swiper.setGrabCursor(); } // Toggle navigation, pagination, scrollbar ['navigation', 'pagination', 'scrollbar'].forEach(function (prop) { if (typeof breakpointParams[prop] === 'undefined') return; var wasModuleEnabled = params[prop] && params[prop].enabled; var isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled; if (wasModuleEnabled && !isModuleEnabled) { swiper[prop].disable(); } if (!wasModuleEnabled && isModuleEnabled) { swiper[prop].enable(); } }); var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction; var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged); var wasLoop = params.loop; if (directionChanged && initialized) { swiper.changeDirection(); } (0, utils_1.extend)(swiper.params, breakpointParams); var isEnabled = swiper.params.enabled; var hasLoop = swiper.params.loop; Object.assign(swiper, { allowTouchMove: swiper.params.allowTouchMove, allowSlideNext: swiper.params.allowSlideNext, allowSlidePrev: swiper.params.allowSlidePrev, }); if (wasEnabled && !isEnabled) { swiper.disable(); } else if (!wasEnabled && isEnabled) { swiper.enable(); } swiper.currentBreakpoint = breakpoint; swiper.emit('_beforeBreakpoint', breakpointParams); if (initialized) { if (needsReLoop) { swiper.loopDestroy(); swiper.loopCreate(realIndex); swiper.updateSlides(); } else if (!wasLoop && hasLoop) { swiper.loopCreate(realIndex); swiper.updateSlides(); } else if (wasLoop && !hasLoop) { swiper.loopDestroy(); } } swiper.emit('breakpoint', breakpointParams); } //# sourceMappingURL=setBreakpoint.js.map