UNPKG

infinity-forge

Version:
81 lines 3.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = translateTo; var utils_1 = require("../../shared/utils.js"); function translateTo(translate, speed, runCallbacks, translateBounds, internal) { var _a; if (translate === void 0) { translate = 0; } if (speed === void 0) { speed = this.params.speed; } if (runCallbacks === void 0) { runCallbacks = true; } if (translateBounds === void 0) { translateBounds = true; } var swiper = this; var params = swiper.params, wrapperEl = swiper.wrapperEl; if (swiper.animating && params.preventInteractionOnTransition) { return false; } var minTranslate = swiper.minTranslate(); var maxTranslate = swiper.maxTranslate(); var newTranslate; if (translateBounds && translate > minTranslate) newTranslate = minTranslate; else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate; else newTranslate = translate; // Update progress swiper.updateProgress(newTranslate); if (params.cssMode) { var isH = swiper.isHorizontal(); if (speed === 0) { wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate; } else { if (!swiper.support.smoothScroll) { (0, utils_1.animateCSSModeScroll)({ swiper: swiper, targetPosition: -newTranslate, side: isH ? 'left' : 'top' }); return true; } wrapperEl.scrollTo((_a = {}, _a[isH ? 'left' : 'top'] = -newTranslate, _a.behavior = 'smooth', _a)); } return true; } if (speed === 0) { swiper.setTransition(0); swiper.setTranslate(newTranslate); if (runCallbacks) { swiper.emit('beforeTransitionStart', speed, internal); swiper.emit('transitionEnd'); } } else { swiper.setTransition(speed); swiper.setTranslate(newTranslate); if (runCallbacks) { swiper.emit('beforeTransitionStart', speed, internal); swiper.emit('transitionStart'); } if (!swiper.animating) { swiper.animating = true; if (!swiper.onTranslateToWrapperTransitionEnd) { swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) { if (!swiper || swiper.destroyed) return; if (e.target !== this) return; swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); swiper.onTranslateToWrapperTransitionEnd = null; delete swiper.onTranslateToWrapperTransitionEnd; swiper.animating = false; if (runCallbacks) { swiper.emit('transitionEnd'); } }; } swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); } } return true; } //# sourceMappingURL=translateTo.js.map