infinity-forge
Version:
77 lines • 3.63 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var onTouchStart_1 = __importDefault(require("./onTouchStart.js"));
var onTouchMove_1 = __importDefault(require("./onTouchMove.js"));
var onTouchEnd_1 = __importDefault(require("./onTouchEnd.js"));
var onResize_1 = __importDefault(require("./onResize.js"));
var onClick_1 = __importDefault(require("./onClick.js"));
var onScroll_1 = __importDefault(require("./onScroll.js"));
var onLoad_1 = __importDefault(require("./onLoad.js"));
var onDocumentTouchStart_1 = __importDefault(require("./onDocumentTouchStart.js"));
var document_1 = require("../../ssr-window/document.js");
var events = function (swiper, method) {
var document = (0, document_1.getDocument)();
var params = swiper.params, el = swiper.el, wrapperEl = swiper.wrapperEl, device = swiper.device;
var capture = !!params.nested;
var domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
var swiperMethod = method;
if (!el || typeof el === 'string')
return;
// Touch Events
document[domMethod]('touchstart', swiper.onDocumentTouchStart, { passive: false, capture: capture });
el[domMethod]('touchstart', swiper.onTouchStart, { passive: false });
el[domMethod]('pointerdown', swiper.onTouchStart, { passive: false });
document[domMethod]('touchmove', swiper.onTouchMove, { passive: false, capture: capture });
document[domMethod]('pointermove', swiper.onTouchMove, { passive: false, capture: capture });
document[domMethod]('touchend', swiper.onTouchEnd, { passive: true });
document[domMethod]('pointerup', swiper.onTouchEnd, { passive: true });
document[domMethod]('pointercancel', swiper.onTouchEnd, { passive: true });
document[domMethod]('touchcancel', swiper.onTouchEnd, { passive: true });
document[domMethod]('pointerout', swiper.onTouchEnd, { passive: true });
document[domMethod]('pointerleave', swiper.onTouchEnd, { passive: true });
document[domMethod]('contextmenu', swiper.onTouchEnd, { passive: true });
// Prevent Links Clicks
if (params.preventClicks || params.preventClicksPropagation) {
el[domMethod]('click', swiper.onClick, true);
}
if (params.cssMode) {
wrapperEl[domMethod]('scroll', swiper.onScroll);
}
// Resize handler
if (params.updateOnWindowResize) {
swiper[swiperMethod](device.ios || device.android
? 'resize orientationchange observerUpdate'
: 'resize observerUpdate', onResize_1.default, true);
}
else {
swiper[swiperMethod]('observerUpdate', onResize_1.default, true);
}
// Images loader
el[domMethod]('load', swiper.onLoad, { capture: true });
};
function attachEvents() {
var swiper = this;
var params = swiper.params;
swiper.onTouchStart = onTouchStart_1.default.bind(swiper);
swiper.onTouchMove = onTouchMove_1.default.bind(swiper);
swiper.onTouchEnd = onTouchEnd_1.default.bind(swiper);
swiper.onDocumentTouchStart = onDocumentTouchStart_1.default.bind(swiper);
if (params.cssMode) {
swiper.onScroll = onScroll_1.default.bind(swiper);
}
swiper.onClick = onClick_1.default.bind(swiper);
swiper.onLoad = onLoad_1.default.bind(swiper);
events(swiper, 'on');
}
function detachEvents() {
var swiper = this;
events(swiper, 'off');
}
exports.default = {
attachEvents: attachEvents,
detachEvents: detachEvents,
};
//# sourceMappingURL=index.js.map