index.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _QuarterHeader = _interopRequireDefault(require("./QuarterHeader"));
  10. var _QuarterBody = _interopRequireDefault(require("./QuarterBody"));
  11. var _uiUtil = require("../../utils/uiUtil");
  12. var _useMergeProps = _interopRequireDefault(require("../../hooks/useMergeProps"));
  13. function QuarterPanel(_props) {
  14. const props = (0, _useMergeProps.default)(_props);
  15. const {
  16. prefixCls,
  17. operationRef,
  18. onViewDateChange,
  19. generateConfig,
  20. value,
  21. viewDate,
  22. onPanelChange,
  23. onSelect
  24. } = props;
  25. const panelPrefixCls = `${prefixCls}-quarter-panel`;
  26. // ======================= Keyboard =======================
  27. operationRef.value = {
  28. onKeydown: event => (0, _uiUtil.createKeydownHandler)(event, {
  29. onLeftRight: diff => {
  30. onSelect(generateConfig.addMonth(value || viewDate, diff * 3), 'key');
  31. },
  32. onCtrlLeftRight: diff => {
  33. onSelect(generateConfig.addYear(value || viewDate, diff), 'key');
  34. },
  35. onUpDown: diff => {
  36. onSelect(generateConfig.addYear(value || viewDate, diff), 'key');
  37. }
  38. })
  39. };
  40. // ==================== View Operation ====================
  41. const onYearChange = diff => {
  42. const newDate = generateConfig.addYear(viewDate, diff);
  43. onViewDateChange(newDate);
  44. onPanelChange(null, newDate);
  45. };
  46. return (0, _vue.createVNode)("div", {
  47. "class": panelPrefixCls
  48. }, [(0, _vue.createVNode)(_QuarterHeader.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  49. "prefixCls": prefixCls,
  50. "onPrevYear": () => {
  51. onYearChange(-1);
  52. },
  53. "onNextYear": () => {
  54. onYearChange(1);
  55. },
  56. "onYearClick": () => {
  57. onPanelChange('year', viewDate);
  58. }
  59. }), null), (0, _vue.createVNode)(_QuarterBody.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  60. "prefixCls": prefixCls,
  61. "onSelect": date => {
  62. onSelect(date, 'mouse');
  63. }
  64. }), null)]);
  65. }
  66. QuarterPanel.displayName = 'QuarterPanel';
  67. QuarterPanel.inheritAttrs = false;
  68. var _default = exports.default = QuarterPanel;