index.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. var _typeof = require("@babel/runtime/helpers/typeof");
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.default = exports.DECADE_UNIT_DIFF = exports.DECADE_DISTANCE_COUNT = void 0;
  8. var _vue = require("vue");
  9. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  10. var _DecadeHeader = _interopRequireDefault(require("./DecadeHeader"));
  11. var _DecadeBody = _interopRequireWildcard(require("./DecadeBody"));
  12. var _uiUtil = require("../../utils/uiUtil");
  13. var _useMergeProps = _interopRequireDefault(require("../../hooks/useMergeProps"));
  14. function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
  15. function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
  16. var DECADE_UNIT_DIFF = 10;
  17. exports.DECADE_UNIT_DIFF = DECADE_UNIT_DIFF;
  18. var DECADE_DISTANCE_COUNT = DECADE_UNIT_DIFF * 10;
  19. exports.DECADE_DISTANCE_COUNT = DECADE_DISTANCE_COUNT;
  20. function DecadePanel(_props) {
  21. var props = (0, _useMergeProps.default)(_props);
  22. var prefixCls = props.prefixCls,
  23. onViewDateChange = props.onViewDateChange,
  24. generateConfig = props.generateConfig,
  25. viewDate = props.viewDate,
  26. operationRef = props.operationRef,
  27. onSelect = props.onSelect,
  28. onPanelChange = props.onPanelChange;
  29. var panelPrefixCls = "".concat(prefixCls, "-decade-panel");
  30. // ======================= Keyboard =======================
  31. operationRef.value = {
  32. onKeydown: function onKeydown(event) {
  33. return (0, _uiUtil.createKeydownHandler)(event, {
  34. onLeftRight: function onLeftRight(diff) {
  35. onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF), 'key');
  36. },
  37. onCtrlLeftRight: function onCtrlLeftRight(diff) {
  38. onSelect(generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT), 'key');
  39. },
  40. onUpDown: function onUpDown(diff) {
  41. onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF * _DecadeBody.DECADE_COL_COUNT), 'key');
  42. },
  43. onEnter: function onEnter() {
  44. onPanelChange('year', viewDate);
  45. }
  46. });
  47. }
  48. };
  49. // ==================== View Operation ====================
  50. var onDecadesChange = function onDecadesChange(diff) {
  51. var newDate = generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT);
  52. onViewDateChange(newDate);
  53. onPanelChange(null, newDate);
  54. };
  55. var onInternalSelect = function onInternalSelect(date) {
  56. onSelect(date, 'mouse');
  57. onPanelChange('year', date);
  58. };
  59. return (0, _vue.createVNode)("div", {
  60. "class": panelPrefixCls
  61. }, [(0, _vue.createVNode)(_DecadeHeader.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  62. "prefixCls": prefixCls,
  63. "onPrevDecades": function onPrevDecades() {
  64. onDecadesChange(-1);
  65. },
  66. "onNextDecades": function onNextDecades() {
  67. onDecadesChange(1);
  68. }
  69. }), null), (0, _vue.createVNode)(_DecadeBody.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  70. "prefixCls": prefixCls,
  71. "onSelect": onInternalSelect
  72. }), null)]);
  73. }
  74. DecadePanel.displayName = 'DecadePanel';
  75. DecadePanel.inheritAttrs = false;
  76. var _default = DecadePanel;
  77. exports.default = _default;