162 lines
4.0 KiB
Java
162 lines
4.0 KiB
Java
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.NextArrow = exports.PrevArrow = undefined;
|
|
|
|
var _babelHelperVueJsxMergeProps = require('babel-helper-vue-jsx-merge-props');
|
|
|
|
var _babelHelperVueJsxMergeProps2 = _interopRequireDefault(_babelHelperVueJsxMergeProps);
|
|
|
|
var _extends2 = require('babel-runtime/helpers/extends');
|
|
|
|
var _extends3 = _interopRequireDefault(_extends2);
|
|
|
|
var _vnode = require('../../_util/vnode');
|
|
|
|
var _innerSliderUtils = require('./utils/innerSliderUtils');
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|
|
|
function noop() {}
|
|
|
|
var PrevArrow = exports.PrevArrow = {
|
|
functional: true,
|
|
clickHandler: function clickHandler(options, handle, e) {
|
|
if (e) {
|
|
e.preventDefault();
|
|
}
|
|
handle(options, e);
|
|
},
|
|
render: function render(createElement, context) {
|
|
var h = arguments[0];
|
|
var props = context.props;
|
|
var clickHandler = props.clickHandler,
|
|
infinite = props.infinite,
|
|
currentSlide = props.currentSlide,
|
|
slideCount = props.slideCount,
|
|
slidesToShow = props.slidesToShow;
|
|
|
|
var prevClasses = { 'slick-arrow': true, 'slick-prev': true };
|
|
var prevHandler = function prevHandler(e) {
|
|
if (e) {
|
|
e.preventDefault();
|
|
}
|
|
clickHandler({ message: 'previous' });
|
|
};
|
|
|
|
if (!infinite && (currentSlide === 0 || slideCount <= slidesToShow)) {
|
|
prevClasses['slick-disabled'] = true;
|
|
prevHandler = noop;
|
|
}
|
|
|
|
var prevArrowProps = {
|
|
key: '0',
|
|
domProps: {
|
|
'data-role': 'none'
|
|
},
|
|
'class': prevClasses,
|
|
style: { display: 'block' },
|
|
on: {
|
|
click: prevHandler
|
|
}
|
|
};
|
|
var customProps = {
|
|
currentSlide: currentSlide,
|
|
slideCount: slideCount
|
|
};
|
|
var prevArrow = void 0;
|
|
|
|
if (props.prevArrow) {
|
|
prevArrow = (0, _vnode.cloneElement)(props.prevArrow((0, _extends3['default'])({}, prevArrowProps, {
|
|
props: customProps
|
|
})), {
|
|
key: '0',
|
|
'class': prevClasses,
|
|
style: { display: 'block' },
|
|
on: {
|
|
click: prevHandler
|
|
}
|
|
});
|
|
} else {
|
|
prevArrow = h(
|
|
'button',
|
|
(0, _babelHelperVueJsxMergeProps2['default'])([{ key: '0', attrs: { type: 'button' }
|
|
}, prevArrowProps]),
|
|
[' ', 'Previous']
|
|
);
|
|
}
|
|
|
|
return prevArrow;
|
|
}
|
|
};
|
|
|
|
var NextArrow = exports.NextArrow = {
|
|
functional: true,
|
|
clickHandler: function clickHandler(options, handle, e) {
|
|
if (e) {
|
|
e.preventDefault();
|
|
}
|
|
handle(options, e);
|
|
},
|
|
render: function render(createElement, context) {
|
|
var h = arguments[0];
|
|
var props = context.props;
|
|
var clickHandler = props.clickHandler,
|
|
currentSlide = props.currentSlide,
|
|
slideCount = props.slideCount;
|
|
|
|
|
|
var nextClasses = { 'slick-arrow': true, 'slick-next': true };
|
|
var nextHandler = function nextHandler(e) {
|
|
if (e) {
|
|
e.preventDefault();
|
|
}
|
|
clickHandler({ message: 'next' });
|
|
};
|
|
if (!(0, _innerSliderUtils.canGoNext)(props)) {
|
|
nextClasses['slick-disabled'] = true;
|
|
nextHandler = noop;
|
|
}
|
|
|
|
var nextArrowProps = {
|
|
key: '1',
|
|
domProps: {
|
|
'data-role': 'none'
|
|
},
|
|
'class': nextClasses,
|
|
style: { display: 'block' },
|
|
on: {
|
|
click: nextHandler
|
|
}
|
|
};
|
|
var customProps = {
|
|
currentSlide: currentSlide,
|
|
slideCount: slideCount
|
|
};
|
|
var nextArrow = void 0;
|
|
|
|
if (props.nextArrow) {
|
|
nextArrow = (0, _vnode.cloneElement)(props.nextArrow((0, _extends3['default'])({}, nextArrowProps, {
|
|
props: customProps
|
|
})), {
|
|
key: '1',
|
|
'class': nextClasses,
|
|
style: { display: 'block' },
|
|
on: {
|
|
click: nextHandler
|
|
}
|
|
});
|
|
} else {
|
|
nextArrow = h(
|
|
'button',
|
|
(0, _babelHelperVueJsxMergeProps2['default'])([{ key: '1', attrs: { type: 'button' }
|
|
}, nextArrowProps]),
|
|
[' ', 'Next']
|
|
);
|
|
}
|
|
|
|
return nextArrow;
|
|
}
|
|
}; |