DateHeader.js 2.7 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 = void 0;
  7. var _vue = require("vue");
  8. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _Header = _interopRequireDefault(require("../Header"));
  10. var _PanelContext = require("../../PanelContext");
  11. var _dateUtil = require("../../utils/dateUtil");
  12. var _useMergeProps = _interopRequireDefault(require("../../hooks/useMergeProps"));
  13. function DateHeader(_props) {
  14. var props = (0, _useMergeProps.default)(_props);
  15. var prefixCls = props.prefixCls,
  16. generateConfig = props.generateConfig,
  17. locale = props.locale,
  18. viewDate = props.viewDate,
  19. onNextMonth = props.onNextMonth,
  20. onPrevMonth = props.onPrevMonth,
  21. onNextYear = props.onNextYear,
  22. onPrevYear = props.onPrevYear,
  23. onYearClick = props.onYearClick,
  24. onMonthClick = props.onMonthClick;
  25. var _useInjectPanel = (0, _PanelContext.useInjectPanel)(),
  26. hideHeader = _useInjectPanel.hideHeader;
  27. if (hideHeader.value) {
  28. return null;
  29. }
  30. var headerPrefixCls = "".concat(prefixCls, "-header");
  31. var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);
  32. var month = generateConfig.getMonth(viewDate);
  33. // =================== Month & Year ===================
  34. var yearNode = (0, _vue.createVNode)("button", {
  35. "type": "button",
  36. "key": "year",
  37. "onClick": onYearClick,
  38. "tabindex": -1,
  39. "class": "".concat(prefixCls, "-year-btn")
  40. }, [(0, _dateUtil.formatValue)(viewDate, {
  41. locale: locale,
  42. format: locale.yearFormat,
  43. generateConfig: generateConfig
  44. })]);
  45. var monthNode = (0, _vue.createVNode)("button", {
  46. "type": "button",
  47. "key": "month",
  48. "onClick": onMonthClick,
  49. "tabindex": -1,
  50. "class": "".concat(prefixCls, "-month-btn")
  51. }, [locale.monthFormat ? (0, _dateUtil.formatValue)(viewDate, {
  52. locale: locale,
  53. format: locale.monthFormat,
  54. generateConfig: generateConfig
  55. }) : monthsLocale[month]]);
  56. var monthYearNodes = locale.monthBeforeYear ? [monthNode, yearNode] : [yearNode, monthNode];
  57. return (0, _vue.createVNode)(_Header.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  58. "prefixCls": headerPrefixCls,
  59. "onSuperPrev": onPrevYear,
  60. "onPrev": onPrevMonth,
  61. "onNext": onNextMonth,
  62. "onSuperNext": onNextYear
  63. }), {
  64. default: function _default() {
  65. return [monthYearNodes];
  66. }
  67. });
  68. }
  69. DateHeader.displayName = 'DateHeader';
  70. DateHeader.inheritAttrs = false;
  71. var _default2 = DateHeader;
  72. exports.default = _default2;