YearHeader.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
  2. import { createVNode as _createVNode, createTextVNode as _createTextVNode } from "vue";
  3. import Header from '../Header';
  4. import { YEAR_DECADE_COUNT } from '.';
  5. import { useInjectPanel } from '../../PanelContext';
  6. import useMergeProps from '../../hooks/useMergeProps';
  7. function YearHeader(_props) {
  8. var props = useMergeProps(_props);
  9. var prefixCls = props.prefixCls,
  10. generateConfig = props.generateConfig,
  11. viewDate = props.viewDate,
  12. onPrevDecade = props.onPrevDecade,
  13. onNextDecade = props.onNextDecade,
  14. onDecadeClick = props.onDecadeClick;
  15. var _useInjectPanel = useInjectPanel(),
  16. hideHeader = _useInjectPanel.hideHeader;
  17. if (hideHeader.value) {
  18. return null;
  19. }
  20. var headerPrefixCls = "".concat(prefixCls, "-header");
  21. var yearNumber = generateConfig.getYear(viewDate);
  22. var startYear = Math.floor(yearNumber / YEAR_DECADE_COUNT) * YEAR_DECADE_COUNT;
  23. var endYear = startYear + YEAR_DECADE_COUNT - 1;
  24. return _createVNode(Header, _objectSpread(_objectSpread({}, props), {}, {
  25. "prefixCls": headerPrefixCls,
  26. "onSuperPrev": onPrevDecade,
  27. "onSuperNext": onNextDecade
  28. }), {
  29. default: function _default() {
  30. return [_createVNode("button", {
  31. "type": "button",
  32. "onClick": onDecadeClick,
  33. "class": "".concat(prefixCls, "-decade-btn")
  34. }, [startYear, _createTextVNode("-"), endYear])];
  35. }
  36. });
  37. }
  38. YearHeader.displayName = 'YearHeader';
  39. YearHeader.inheritAttrs = false;
  40. export default YearHeader;