MonthBody.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = exports.MONTH_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 MONTH_COL_COUNT = 3;
  15. exports.MONTH_COL_COUNT = MONTH_COL_COUNT;
  16. var MONTH_ROW_COUNT = 4;
  17. function MonthBody(_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. monthCellRender = props.monthCellRender;
  25. var _useInjectRange = (0, _RangeContext.useInjectRange)(),
  26. rangedValue = _useInjectRange.rangedValue,
  27. hoverRangedValue = _useInjectRange.hoverRangedValue;
  28. var cellPrefixCls = "".concat(prefixCls, "-cell");
  29. var getCellClassName = (0, _useCellClassName.default)({
  30. cellPrefixCls: cellPrefixCls,
  31. value: value,
  32. generateConfig: generateConfig,
  33. rangedValue: rangedValue.value,
  34. hoverRangedValue: hoverRangedValue.value,
  35. isSameCell: function isSameCell(current, target) {
  36. return (0, _dateUtil.isSameMonth)(generateConfig, current, target);
  37. },
  38. isInView: function isInView() {
  39. return true;
  40. },
  41. offsetCell: function offsetCell(date, offset) {
  42. return generateConfig.addMonth(date, offset);
  43. }
  44. });
  45. var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);
  46. var baseMonth = generateConfig.setMonth(viewDate, 0);
  47. var getCellNode = monthCellRender ? function (date) {
  48. return monthCellRender({
  49. current: date,
  50. locale: locale
  51. });
  52. } : undefined;
  53. return (0, _vue.createVNode)(_PanelBody.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  54. "rowNum": MONTH_ROW_COUNT,
  55. "colNum": MONTH_COL_COUNT,
  56. "baseDate": baseMonth,
  57. "getCellNode": getCellNode,
  58. "getCellText": function getCellText(date) {
  59. return locale.monthFormat ? (0, _dateUtil.formatValue)(date, {
  60. locale: locale,
  61. format: locale.monthFormat,
  62. generateConfig: generateConfig
  63. }) : monthsLocale[generateConfig.getMonth(date)];
  64. },
  65. "getCellClassName": getCellClassName,
  66. "getCellDate": generateConfig.addMonth,
  67. "titleCell": function titleCell(date) {
  68. return (0, _dateUtil.formatValue)(date, {
  69. locale: locale,
  70. format: 'YYYY-MM',
  71. generateConfig: generateConfig
  72. });
  73. }
  74. }), null);
  75. }
  76. MonthBody.displayName = 'MonthBody';
  77. MonthBody.inheritAttrs = false;
  78. var _default = MonthBody;
  79. exports.default = _default;