UNPKG

es6-simple-carousel

Version:

A light and simple pure javascript carousel.It is usable in the javascript base projects (like reactjs,vuejs,angular)

129 lines (111 loc) 4.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _utils = require("../utils"); var _partial = require("./partial"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var SliderArrows = /*#__PURE__*/function () { function SliderArrows(params) { _classCallCheck(this, SliderArrows); var core = params.core; this.setCore(core); this.initialize(); } _createClass(SliderArrows, [{ key: "setCore", value: function setCore(core) { this.core = core; } }, { key: "getCore", value: function getCore() { return this.core; } }, { key: "initialize", value: function initialize() { var _this = this; var _this$core = this.core, slider = _this$core.config.slider, getSliderItems = _this$core.getSliderItems, setAllowShift = _this$core.setAllowShift; var prevSelector = (0, _utils.childFider)({ wrapper: slider, className: '.prev' }); var nextSelector = (0, _utils.childFider)({ wrapper: slider, className: '.next' }); // Click events prevSelector.addEventListener('click', function () { return _this.shiftSlide(-1); }); nextSelector.addEventListener('click', function () { return _this.shiftSlide(1); }); // remove shifting class and allowSHift permission var itemClassParams = { item: getSliderItems(), className: 'shifting' }; (0, _utils.removeClassFromElement)(itemClassParams); setAllowShift(true); } }, { key: "shiftSlide", value: function shiftSlide(dir, action) { var _this$core2 = this.core, _this$core2$config = _this$core2.config, responsive = _this$core2$config.responsive, rtl = _this$core2$config.rtl, autoWidth = _this$core2$config.autoWidth, getInfinite = _this$core2.getInfinite, getSliderItems = _this$core2.getSliderItems, setPosInitial = _this$core2.setPosInitial, getSlideSize = _this$core2.getSlideSize, setIndex = _this$core2.setIndex, getIndex = _this$core2.getIndex, getSlidesLength = _this$core2.getSlidesLength, getSliderMainWidth = _this$core2.getSliderMainWidth, getSlider = _this$core2.getSlider, getAllowShift = _this$core2.getAllowShift, setAllowShift = _this$core2.setAllowShift; var perSlide = (0, _utils.truncResponsiveItemCount)(responsive); if (getAllowShift()) { if (!action) { setPosInitial((0, _utils.getTranslate3d)(getSliderItems())); } var shiftSlideParams = { sliderItems: getSliderItems(), slideSize: getSlideSize(), slidesLength: getSlidesLength(), slider: getSlider(), sliderMainWidth: getSliderMainWidth(), index: getIndex(), responsiveItem: (0, _utils.responsiveItemCount)(responsive), perSlide: perSlide, dir: dir, infinite: getInfinite(), rtl: rtl, autoWidth: autoWidth }; if (dir === 1) { setIndex((0, _partial.shiftSlideIsDir)(shiftSlideParams)); } else if (dir === -1) { setIndex((0, _partial.shiftSlideNonDir)(shiftSlideParams)); } } var itemClassParams = { item: getSliderItems(), className: 'shifting' }; (0, _utils.addClassToElement)(itemClassParams); setAllowShift(false); } }]); return SliderArrows; }(); exports["default"] = SliderArrows;