arrows.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.PrevArrow = exports.NextArrow = void 0;
  7. var _vue = require("vue");
  8. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _classNames = _interopRequireDefault(require("../_util/classNames"));
  10. var _vnode = require("../_util/vnode");
  11. var _innerSliderUtils = require("./utils/innerSliderUtils");
  12. function noop() {}
  13. function handler(options, handle, e) {
  14. if (e) {
  15. e.preventDefault();
  16. }
  17. handle(options, e);
  18. }
  19. var PrevArrow = function PrevArrow(_, _ref) {
  20. var attrs = _ref.attrs;
  21. var clickHandler = attrs.clickHandler,
  22. infinite = attrs.infinite,
  23. currentSlide = attrs.currentSlide,
  24. slideCount = attrs.slideCount,
  25. slidesToShow = attrs.slidesToShow;
  26. var prevClasses = {
  27. 'slick-arrow': true,
  28. 'slick-prev': true
  29. };
  30. var prevHandler = function prevHandler(e) {
  31. handler({
  32. message: 'previous'
  33. }, clickHandler, e);
  34. };
  35. if (!infinite && (currentSlide === 0 || slideCount <= slidesToShow)) {
  36. prevClasses['slick-disabled'] = true;
  37. prevHandler = noop;
  38. }
  39. var prevArrowProps = {
  40. key: '0',
  41. 'data-role': 'none',
  42. class: prevClasses,
  43. style: {
  44. display: 'block'
  45. },
  46. onClick: prevHandler
  47. };
  48. var customProps = {
  49. currentSlide: currentSlide,
  50. slideCount: slideCount
  51. };
  52. var prevArrow;
  53. if (attrs.prevArrow) {
  54. prevArrow = (0, _vnode.cloneElement)(attrs.prevArrow((0, _objectSpread2.default)((0, _objectSpread2.default)({}, prevArrowProps), customProps)), {
  55. key: '0',
  56. class: prevClasses,
  57. style: {
  58. display: 'block'
  59. },
  60. onClick: prevHandler
  61. }, false);
  62. } else {
  63. prevArrow = (0, _vue.createVNode)("button", (0, _objectSpread2.default)({
  64. "key": "0",
  65. "type": "button"
  66. }, prevArrowProps), [' ', (0, _vue.createTextVNode)("Previous")]);
  67. }
  68. return prevArrow;
  69. };
  70. exports.PrevArrow = PrevArrow;
  71. PrevArrow.inheritAttrs = false;
  72. var NextArrow = function NextArrow(_, _ref2) {
  73. var attrs = _ref2.attrs;
  74. var clickHandler = attrs.clickHandler,
  75. currentSlide = attrs.currentSlide,
  76. slideCount = attrs.slideCount;
  77. var nextClasses = {
  78. 'slick-arrow': true,
  79. 'slick-next': true
  80. };
  81. var nextHandler = function nextHandler(e) {
  82. handler({
  83. message: 'next'
  84. }, clickHandler, e);
  85. };
  86. if (!(0, _innerSliderUtils.canGoNext)(attrs)) {
  87. nextClasses['slick-disabled'] = true;
  88. nextHandler = noop;
  89. }
  90. var nextArrowProps = {
  91. key: '1',
  92. 'data-role': 'none',
  93. class: (0, _classNames.default)(nextClasses),
  94. style: {
  95. display: 'block'
  96. },
  97. onClick: nextHandler
  98. };
  99. var customProps = {
  100. currentSlide: currentSlide,
  101. slideCount: slideCount
  102. };
  103. var nextArrow;
  104. if (attrs.nextArrow) {
  105. nextArrow = (0, _vnode.cloneElement)(attrs.nextArrow((0, _objectSpread2.default)((0, _objectSpread2.default)({}, nextArrowProps), customProps)), {
  106. key: '1',
  107. class: (0, _classNames.default)(nextClasses),
  108. style: {
  109. display: 'block'
  110. },
  111. onClick: nextHandler
  112. }, false);
  113. } else {
  114. nextArrow = (0, _vue.createVNode)("button", (0, _objectSpread2.default)({
  115. "key": "1",
  116. "type": "button"
  117. }, nextArrowProps), [' ', (0, _vue.createTextVNode)("Next")]);
  118. }
  119. return nextArrow;
  120. };
  121. exports.NextArrow = NextArrow;
  122. NextArrow.inheritAttrs = false;