DateHeader.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
  2. import { createVNode as _createVNode } from "vue";
  3. import Header from '../Header';
  4. import { useInjectPanel } from '../../PanelContext';
  5. import { formatValue } from '../../utils/dateUtil';
  6. import useMergeProps from '../../hooks/useMergeProps';
  7. function DateHeader(_props) {
  8. var props = useMergeProps(_props);
  9. var prefixCls = props.prefixCls,
  10. generateConfig = props.generateConfig,
  11. locale = props.locale,
  12. viewDate = props.viewDate,
  13. onNextMonth = props.onNextMonth,
  14. onPrevMonth = props.onPrevMonth,
  15. onNextYear = props.onNextYear,
  16. onPrevYear = props.onPrevYear,
  17. onYearClick = props.onYearClick,
  18. onMonthClick = props.onMonthClick;
  19. var _useInjectPanel = useInjectPanel(),
  20. hideHeader = _useInjectPanel.hideHeader;
  21. if (hideHeader.value) {
  22. return null;
  23. }
  24. var headerPrefixCls = "".concat(prefixCls, "-header");
  25. var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);
  26. var month = generateConfig.getMonth(viewDate);
  27. // =================== Month & Year ===================
  28. var yearNode = _createVNode("button", {
  29. "type": "button",
  30. "key": "year",
  31. "onClick": onYearClick,
  32. "tabindex": -1,
  33. "class": "".concat(prefixCls, "-year-btn")
  34. }, [formatValue(viewDate, {
  35. locale: locale,
  36. format: locale.yearFormat,
  37. generateConfig: generateConfig
  38. })]);
  39. var monthNode = _createVNode("button", {
  40. "type": "button",
  41. "key": "month",
  42. "onClick": onMonthClick,
  43. "tabindex": -1,
  44. "class": "".concat(prefixCls, "-month-btn")
  45. }, [locale.monthFormat ? formatValue(viewDate, {
  46. locale: locale,
  47. format: locale.monthFormat,
  48. generateConfig: generateConfig
  49. }) : monthsLocale[month]]);
  50. var monthYearNodes = locale.monthBeforeYear ? [monthNode, yearNode] : [yearNode, monthNode];
  51. return _createVNode(Header, _objectSpread(_objectSpread({}, props), {}, {
  52. "prefixCls": headerPrefixCls,
  53. "onSuperPrev": onPrevYear,
  54. "onPrev": onPrevMonth,
  55. "onNext": onNextMonth,
  56. "onSuperNext": onNextYear
  57. }), {
  58. default: function _default() {
  59. return [monthYearNodes];
  60. }
  61. });
  62. }
  63. DateHeader.displayName = 'DateHeader';
  64. DateHeader.inheritAttrs = false;
  65. export default DateHeader;