QuarterBody.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = exports.QUARTER_COL_COUNT = void 0;
  7. var _vue = require("vue");
  8. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _dateUtil = require("../../utils/dateUtil");
  10. var _RangeContext = require("../../RangeContext");
  11. var _useCellClassName = _interopRequireDefault(require("../../hooks/useCellClassName"));
  12. var _PanelBody = _interopRequireDefault(require("../PanelBody"));
  13. var _useMergeProps = _interopRequireDefault(require("../../hooks/useMergeProps"));
  14. var QUARTER_COL_COUNT = 4;
  15. exports.QUARTER_COL_COUNT = QUARTER_COL_COUNT;
  16. var QUARTER_ROW_COUNT = 1;
  17. function QuarterBody(_props) {
  18. var props = (0, _useMergeProps.default)(_props);
  19. var prefixCls = props.prefixCls,
  20. locale = props.locale,
  21. value = props.value,
  22. viewDate = props.viewDate,
  23. generateConfig = props.generateConfig;
  24. var _useInjectRange = (0, _RangeContext.useInjectRange)(),
  25. rangedValue = _useInjectRange.rangedValue,
  26. hoverRangedValue = _useInjectRange.hoverRangedValue;
  27. var cellPrefixCls = "".concat(prefixCls, "-cell");
  28. var getCellClassName = (0, _useCellClassName.default)({
  29. cellPrefixCls: cellPrefixCls,
  30. value: value,
  31. generateConfig: generateConfig,
  32. rangedValue: rangedValue.value,
  33. hoverRangedValue: hoverRangedValue.value,
  34. isSameCell: function isSameCell(current, target) {
  35. return (0, _dateUtil.isSameQuarter)(generateConfig, current, target);
  36. },
  37. isInView: function isInView() {
  38. return true;
  39. },
  40. offsetCell: function offsetCell(date, offset) {
  41. return generateConfig.addMonth(date, offset * 3);
  42. }
  43. });
  44. var baseQuarter = generateConfig.setDate(generateConfig.setMonth(viewDate, 0), 1);
  45. return (0, _vue.createVNode)(_PanelBody.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  46. "rowNum": QUARTER_ROW_COUNT,
  47. "colNum": QUARTER_COL_COUNT,
  48. "baseDate": baseQuarter,
  49. "getCellText": function getCellText(date) {
  50. return (0, _dateUtil.formatValue)(date, {
  51. locale: locale,
  52. format: locale.quarterFormat || '[Q]Q',
  53. generateConfig: generateConfig
  54. });
  55. },
  56. "getCellClassName": getCellClassName,
  57. "getCellDate": function getCellDate(date, offset) {
  58. return generateConfig.addMonth(date, offset * 3);
  59. },
  60. "titleCell": function titleCell(date) {
  61. return (0, _dateUtil.formatValue)(date, {
  62. locale: locale,
  63. format: 'YYYY-[Q]Q',
  64. generateConfig: generateConfig
  65. });
  66. }
  67. }), null);
  68. }
  69. QuarterBody.displayName = 'QuarterBody';
  70. QuarterBody.inheritAttrs = false;
  71. var _default = QuarterBody;
  72. exports.default = _default;