index.js 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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.YEAR_DECADE_COUNT = void 0;
  8. var _vue = require("vue");
  9. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  10. var _YearHeader = _interopRequireDefault(require("./YearHeader"));
  11. var _YearBody = _interopRequireWildcard(require("./YearBody"));
  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 YEAR_DECADE_COUNT = 10;
  17. exports.YEAR_DECADE_COUNT = YEAR_DECADE_COUNT;
  18. function YearPanel(_props) {
  19. var props = (0, _useMergeProps.default)(_props);
  20. var prefixCls = props.prefixCls,
  21. operationRef = props.operationRef,
  22. onViewDateChange = props.onViewDateChange,
  23. generateConfig = props.generateConfig,
  24. value = props.value,
  25. viewDate = props.viewDate,
  26. sourceMode = props.sourceMode,
  27. _onSelect = props.onSelect,
  28. onPanelChange = props.onPanelChange;
  29. var panelPrefixCls = "".concat(prefixCls, "-year-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(value || viewDate, diff), 'key');
  36. },
  37. onCtrlLeftRight: function onCtrlLeftRight(diff) {
  38. _onSelect(generateConfig.addYear(value || viewDate, diff * YEAR_DECADE_COUNT), 'key');
  39. },
  40. onUpDown: function onUpDown(diff) {
  41. _onSelect(generateConfig.addYear(value || viewDate, diff * _YearBody.YEAR_COL_COUNT), 'key');
  42. },
  43. onEnter: function onEnter() {
  44. onPanelChange(sourceMode === 'date' ? 'date' : 'month', value || viewDate);
  45. }
  46. });
  47. }
  48. };
  49. // ==================== View Operation ====================
  50. var onDecadeChange = function onDecadeChange(diff) {
  51. var newDate = generateConfig.addYear(viewDate, diff * 10);
  52. onViewDateChange(newDate);
  53. onPanelChange(null, newDate);
  54. };
  55. return (0, _vue.createVNode)("div", {
  56. "class": panelPrefixCls
  57. }, [(0, _vue.createVNode)(_YearHeader.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  58. "prefixCls": prefixCls,
  59. "onPrevDecade": function onPrevDecade() {
  60. onDecadeChange(-1);
  61. },
  62. "onNextDecade": function onNextDecade() {
  63. onDecadeChange(1);
  64. },
  65. "onDecadeClick": function onDecadeClick() {
  66. onPanelChange('decade', viewDate);
  67. }
  68. }), null), (0, _vue.createVNode)(_YearBody.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  69. "prefixCls": prefixCls,
  70. "onSelect": function onSelect(date) {
  71. onPanelChange(sourceMode === 'date' ? 'date' : 'month', date);
  72. _onSelect(date, 'mouse');
  73. }
  74. }), null)]);
  75. }
  76. YearPanel.displayName = 'YearPanel';
  77. YearPanel.inheritAttrs = false;
  78. var _default = YearPanel;
  79. exports.default = _default;