index.js 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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 = void 0;
  8. var _vue = require("vue");
  9. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  10. var _MonthHeader = _interopRequireDefault(require("./MonthHeader"));
  11. var _MonthBody = _interopRequireWildcard(require("./MonthBody"));
  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. function MonthPanel(_props) {
  17. var props = (0, _useMergeProps.default)(_props);
  18. var prefixCls = props.prefixCls,
  19. operationRef = props.operationRef,
  20. onViewDateChange = props.onViewDateChange,
  21. generateConfig = props.generateConfig,
  22. value = props.value,
  23. viewDate = props.viewDate,
  24. onPanelChange = props.onPanelChange,
  25. _onSelect = props.onSelect;
  26. var panelPrefixCls = "".concat(prefixCls, "-month-panel");
  27. // ======================= Keyboard =======================
  28. operationRef.value = {
  29. onKeydown: function onKeydown(event) {
  30. return (0, _uiUtil.createKeydownHandler)(event, {
  31. onLeftRight: function onLeftRight(diff) {
  32. _onSelect(generateConfig.addMonth(value || viewDate, diff), 'key');
  33. },
  34. onCtrlLeftRight: function onCtrlLeftRight(diff) {
  35. _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');
  36. },
  37. onUpDown: function onUpDown(diff) {
  38. _onSelect(generateConfig.addMonth(value || viewDate, diff * _MonthBody.MONTH_COL_COUNT), 'key');
  39. },
  40. onEnter: function onEnter() {
  41. onPanelChange('date', value || viewDate);
  42. }
  43. });
  44. }
  45. };
  46. // ==================== View Operation ====================
  47. var onYearChange = function onYearChange(diff) {
  48. var newDate = generateConfig.addYear(viewDate, diff);
  49. onViewDateChange(newDate);
  50. onPanelChange(null, newDate);
  51. };
  52. return (0, _vue.createVNode)("div", {
  53. "class": panelPrefixCls
  54. }, [(0, _vue.createVNode)(_MonthHeader.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  55. "prefixCls": prefixCls,
  56. "onPrevYear": function onPrevYear() {
  57. onYearChange(-1);
  58. },
  59. "onNextYear": function onNextYear() {
  60. onYearChange(1);
  61. },
  62. "onYearClick": function onYearClick() {
  63. onPanelChange('year', viewDate);
  64. }
  65. }), null), (0, _vue.createVNode)(_MonthBody.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  66. "prefixCls": prefixCls,
  67. "onSelect": function onSelect(date) {
  68. _onSelect(date, 'mouse');
  69. onPanelChange('date', date);
  70. }
  71. }), null)]);
  72. }
  73. MonthPanel.displayName = 'MonthPanel';
  74. MonthPanel.inheritAttrs = false;
  75. var _default = MonthPanel;
  76. exports.default = _default;