index.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _vue = require("vue");
  8. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  9. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  10. var _DateBody = _interopRequireDefault(require("./DateBody"));
  11. var _DateHeader = _interopRequireDefault(require("./DateHeader"));
  12. var _dateUtil = require("../../utils/dateUtil");
  13. var _uiUtil = require("../../utils/uiUtil");
  14. var _classNames2 = _interopRequireDefault(require("../../../_util/classNames"));
  15. var _useMergeProps = _interopRequireDefault(require("../../hooks/useMergeProps"));
  16. var DATE_ROW_COUNT = 6;
  17. function DatePanel(_props) {
  18. var props = (0, _useMergeProps.default)(_props);
  19. var prefixCls = props.prefixCls,
  20. _props$panelName = props.panelName,
  21. panelName = _props$panelName === void 0 ? 'date' : _props$panelName,
  22. keyboardConfig = props.keyboardConfig,
  23. active = props.active,
  24. operationRef = props.operationRef,
  25. generateConfig = props.generateConfig,
  26. value = props.value,
  27. viewDate = props.viewDate,
  28. onViewDateChange = props.onViewDateChange,
  29. onPanelChange = props.onPanelChange,
  30. _onSelect = props.onSelect;
  31. var panelPrefixCls = "".concat(prefixCls, "-").concat(panelName, "-panel");
  32. // ======================= Keyboard =======================
  33. operationRef.value = {
  34. onKeydown: function onKeydown(event) {
  35. return (0, _uiUtil.createKeydownHandler)(event, (0, _objectSpread2.default)({
  36. onLeftRight: function onLeftRight(diff) {
  37. _onSelect(generateConfig.addDate(value || viewDate, diff), 'key');
  38. },
  39. onCtrlLeftRight: function onCtrlLeftRight(diff) {
  40. _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');
  41. },
  42. onUpDown: function onUpDown(diff) {
  43. _onSelect(generateConfig.addDate(value || viewDate, diff * _dateUtil.WEEK_DAY_COUNT), 'key');
  44. },
  45. onPageUpDown: function onPageUpDown(diff) {
  46. _onSelect(generateConfig.addMonth(value || viewDate, diff), 'key');
  47. }
  48. }, keyboardConfig));
  49. }
  50. };
  51. // ==================== View Operation ====================
  52. var onYearChange = function onYearChange(diff) {
  53. var newDate = generateConfig.addYear(viewDate, diff);
  54. onViewDateChange(newDate);
  55. onPanelChange(null, newDate);
  56. };
  57. var onMonthChange = function onMonthChange(diff) {
  58. var newDate = generateConfig.addMonth(viewDate, diff);
  59. onViewDateChange(newDate);
  60. onPanelChange(null, newDate);
  61. };
  62. return (0, _vue.createVNode)("div", {
  63. "class": (0, _classNames2.default)(panelPrefixCls, (0, _defineProperty2.default)({}, "".concat(panelPrefixCls, "-active"), active))
  64. }, [(0, _vue.createVNode)(_DateHeader.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  65. "prefixCls": prefixCls,
  66. "value": value,
  67. "viewDate": viewDate,
  68. "onPrevYear": function onPrevYear() {
  69. onYearChange(-1);
  70. },
  71. "onNextYear": function onNextYear() {
  72. onYearChange(1);
  73. },
  74. "onPrevMonth": function onPrevMonth() {
  75. onMonthChange(-1);
  76. },
  77. "onNextMonth": function onNextMonth() {
  78. onMonthChange(1);
  79. },
  80. "onMonthClick": function onMonthClick() {
  81. onPanelChange('month', viewDate);
  82. },
  83. "onYearClick": function onYearClick() {
  84. onPanelChange('year', viewDate);
  85. }
  86. }), null), (0, _vue.createVNode)(_DateBody.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  87. "onSelect": function onSelect(date) {
  88. return _onSelect(date, 'mouse');
  89. },
  90. "prefixCls": prefixCls,
  91. "value": value,
  92. "viewDate": viewDate,
  93. "rowCount": DATE_ROW_COUNT
  94. }), null)]);
  95. }
  96. DatePanel.displayName = 'DatePanel';
  97. DatePanel.inheritAttrs = false;
  98. var _default = DatePanel;
  99. exports.default = _default;