QuarterHeader.js 1.2 KB

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