DecadeBody.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
  2. import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
  3. import { createVNode as _createVNode } from "vue";
  4. import { DECADE_DISTANCE_COUNT, DECADE_UNIT_DIFF } from '.';
  5. import PanelBody from '../PanelBody';
  6. import useMergeProps from '../../hooks/useMergeProps';
  7. export var DECADE_COL_COUNT = 3;
  8. var DECADE_ROW_COUNT = 4;
  9. function DecadeBody(_props) {
  10. var props = useMergeProps(_props);
  11. var DECADE_UNIT_DIFF_DES = DECADE_UNIT_DIFF - 1;
  12. var prefixCls = props.prefixCls,
  13. viewDate = props.viewDate,
  14. generateConfig = props.generateConfig;
  15. var cellPrefixCls = "".concat(prefixCls, "-cell");
  16. var yearNumber = generateConfig.getYear(viewDate);
  17. var decadeYearNumber = Math.floor(yearNumber / DECADE_UNIT_DIFF) * DECADE_UNIT_DIFF;
  18. var startDecadeYear = Math.floor(yearNumber / DECADE_DISTANCE_COUNT) * DECADE_DISTANCE_COUNT;
  19. var endDecadeYear = startDecadeYear + DECADE_DISTANCE_COUNT - 1;
  20. var baseDecadeYear = generateConfig.setYear(viewDate, startDecadeYear - Math.ceil((DECADE_COL_COUNT * DECADE_ROW_COUNT * DECADE_UNIT_DIFF - DECADE_DISTANCE_COUNT) / 2));
  21. var getCellClassName = function getCellClassName(date) {
  22. var _ref;
  23. var startDecadeNumber = generateConfig.getYear(date);
  24. var endDecadeNumber = startDecadeNumber + DECADE_UNIT_DIFF_DES;
  25. return _ref = {}, _defineProperty(_ref, "".concat(cellPrefixCls, "-in-view"), startDecadeYear <= startDecadeNumber && endDecadeNumber <= endDecadeYear), _defineProperty(_ref, "".concat(cellPrefixCls, "-selected"), startDecadeNumber === decadeYearNumber), _ref;
  26. };
  27. return _createVNode(PanelBody, _objectSpread(_objectSpread({}, props), {}, {
  28. "rowNum": DECADE_ROW_COUNT,
  29. "colNum": DECADE_COL_COUNT,
  30. "baseDate": baseDecadeYear,
  31. "getCellText": function getCellText(date) {
  32. var startDecadeNumber = generateConfig.getYear(date);
  33. return "".concat(startDecadeNumber, "-").concat(startDecadeNumber + DECADE_UNIT_DIFF_DES);
  34. },
  35. "getCellClassName": getCellClassName,
  36. "getCellDate": function getCellDate(date, offset) {
  37. return generateConfig.addYear(date, offset * DECADE_UNIT_DIFF);
  38. }
  39. }), null);
  40. }
  41. DecadeBody.displayName = 'DecadeBody';
  42. DecadeBody.inheritAttrs = false;
  43. export default DecadeBody;