infinity-forge
Version:
58 lines • 2.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = effectInit;
function effectInit(params) {
var effect = params.effect, swiper = params.swiper, on = params.on, setTranslate = params.setTranslate, setTransition = params.setTransition, overwriteParams = params.overwriteParams, perspective = params.perspective, recreateShadows = params.recreateShadows, getEffectParams = params.getEffectParams;
on('beforeInit', function () {
if (swiper.params.effect !== effect)
return;
swiper.classNames.push("".concat(swiper.params.containerModifierClass).concat(effect));
if (perspective && perspective()) {
swiper.classNames.push("".concat(swiper.params.containerModifierClass, "3d"));
}
var overwriteParamsResult = overwriteParams ? overwriteParams() : {};
Object.assign(swiper.params, overwriteParamsResult);
Object.assign(swiper.originalParams, overwriteParamsResult);
});
on('setTranslate', function () {
if (swiper.params.effect !== effect)
return;
setTranslate();
});
on('setTransition', function (_s, duration) {
if (swiper.params.effect !== effect)
return;
setTransition(duration);
});
on('transitionEnd', function () {
if (swiper.params.effect !== effect)
return;
if (recreateShadows) {
if (!getEffectParams || !getEffectParams().slideShadows)
return;
// remove shadows
swiper.slides.forEach(function (slideEl) {
slideEl
.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')
.forEach(function (shadowEl) { return shadowEl.remove(); });
});
// create new one
recreateShadows();
}
});
var requireUpdateOnVirtual;
on('virtualUpdate', function () {
if (swiper.params.effect !== effect)
return;
if (!swiper.slides.length) {
requireUpdateOnVirtual = true;
}
requestAnimationFrame(function () {
if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {
setTranslate();
requireUpdateOnVirtual = false;
}
});
});
}
//# sourceMappingURL=effect-init.js.map