MonthHeader.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 MonthHeader(_props) {
  8. var props = useMergeProps(_props);
  9. var prefixCls = props.prefixCls,
  10. generateConfig = props.generateConfig,
  11. locale = props.locale,
  12. viewDate = props.viewDate,
  13. onNextYear = props.onNextYear,
  14. onPrevYear = props.onPrevYear,
  15. onYearClick = props.onYearClick;
  16. var _useInjectPanel = useInjectPanel(),
  17. hideHeader = _useInjectPanel.hideHeader;
  18. if (hideHeader.value) {
  19. return null;
  20. }
  21. var headerPrefixCls = "".concat(prefixCls, "-header");
  22. return _createVNode(Header, _objectSpread(_objectSpread({}, props), {}, {
  23. "prefixCls": headerPrefixCls,
  24. "onSuperPrev": onPrevYear,
  25. "onSuperNext": onNextYear
  26. }), {
  27. default: function _default() {
  28. return [_createVNode("button", {
  29. "type": "button",
  30. "onClick": onYearClick,
  31. "class": "".concat(prefixCls, "-year-btn")
  32. }, [formatValue(viewDate, {
  33. locale: locale,
  34. format: locale.yearFormat,
  35. generateConfig: generateConfig
  36. })])];
  37. }
  38. });
  39. }
  40. MonthHeader.displayName = 'MonthHeader';
  41. MonthHeader.inheritAttrs = false;
  42. export default MonthHeader;