index.js 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.default = WeekPanel;
  8. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  9. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  10. var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
  11. var _classnames = _interopRequireDefault(require("classnames"));
  12. var React = _interopRequireWildcard(require("react"));
  13. var _dateUtil = require("../../utils/dateUtil");
  14. var _DatePanel = _interopRequireDefault(require("../DatePanel"));
  15. function WeekPanel(props) {
  16. var prefixCls = props.prefixCls,
  17. generateConfig = props.generateConfig,
  18. locale = props.locale,
  19. value = props.value,
  20. hoverValue = props.hoverValue,
  21. hoverRangeValue = props.hoverRangeValue;
  22. // =============================== Row ================================
  23. var localeName = locale.locale;
  24. var rowPrefixCls = "".concat(prefixCls, "-week-panel-row");
  25. var rowClassName = function rowClassName(currentDate) {
  26. var rangeCls = {};
  27. if (hoverRangeValue) {
  28. var _hoverRangeValue = (0, _slicedToArray2.default)(hoverRangeValue, 2),
  29. rangeStart = _hoverRangeValue[0],
  30. rangeEnd = _hoverRangeValue[1];
  31. var isRangeStart = (0, _dateUtil.isSameWeek)(generateConfig, localeName, rangeStart, currentDate);
  32. var isRangeEnd = (0, _dateUtil.isSameWeek)(generateConfig, localeName, rangeEnd, currentDate);
  33. rangeCls["".concat(rowPrefixCls, "-range-start")] = isRangeStart;
  34. rangeCls["".concat(rowPrefixCls, "-range-end")] = isRangeEnd;
  35. rangeCls["".concat(rowPrefixCls, "-range-hover")] = !isRangeStart && !isRangeEnd && (0, _dateUtil.isInRange)(generateConfig, rangeStart, rangeEnd, currentDate);
  36. }
  37. if (hoverValue) {
  38. rangeCls["".concat(rowPrefixCls, "-hover")] = hoverValue.some(function (date) {
  39. return (0, _dateUtil.isSameWeek)(generateConfig, localeName, currentDate, date);
  40. });
  41. }
  42. return (0, _classnames.default)(rowPrefixCls, (0, _defineProperty2.default)({}, "".concat(rowPrefixCls, "-selected"), !hoverRangeValue && (0, _dateUtil.isSameWeek)(generateConfig, localeName, value, currentDate)),
  43. // Patch for hover range
  44. rangeCls);
  45. };
  46. // ============================== Render ==============================
  47. return /*#__PURE__*/React.createElement(_DatePanel.default, (0, _extends2.default)({}, props, {
  48. mode: "week",
  49. panelName: "week",
  50. rowClassName: rowClassName
  51. }));
  52. }