index.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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 DatePanel from '../DatePanel';
  5. import { isSameWeek } from '../../utils/dateUtil';
  6. import classNames from '../../../_util/classNames';
  7. import useMergeProps from '../../hooks/useMergeProps';
  8. function WeekPanel(_props) {
  9. var props = useMergeProps(_props);
  10. var prefixCls = props.prefixCls,
  11. generateConfig = props.generateConfig,
  12. locale = props.locale,
  13. value = props.value;
  14. // Render additional column
  15. var cellPrefixCls = "".concat(prefixCls, "-cell");
  16. var prefixColumn = function prefixColumn(date) {
  17. return _createVNode("td", {
  18. "key": "week",
  19. "class": classNames(cellPrefixCls, "".concat(cellPrefixCls, "-week"))
  20. }, [generateConfig.locale.getWeek(locale.locale, date)]);
  21. };
  22. // Add row className
  23. var rowPrefixCls = "".concat(prefixCls, "-week-panel-row");
  24. var rowClassName = function rowClassName(date) {
  25. return classNames(rowPrefixCls, _defineProperty({}, "".concat(rowPrefixCls, "-selected"), isSameWeek(generateConfig, locale.locale, value, date)));
  26. };
  27. return _createVNode(DatePanel, _objectSpread(_objectSpread({}, props), {}, {
  28. "panelName": "week",
  29. "prefixColumn": prefixColumn,
  30. "rowClassName": rowClassName,
  31. "keyboardConfig": {
  32. onLeftRight: null
  33. }
  34. }), null);
  35. }
  36. WeekPanel.displayName = 'WeekPanel';
  37. WeekPanel.inheritAttrs = false;
  38. export default WeekPanel;