1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import _extends from "@babel/runtime/helpers/esm/extends";
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
- import classNames from 'classnames';
- import * as React from 'react';
- import { isInRange, isSameWeek } from "../../utils/dateUtil";
- import DatePanel from "../DatePanel";
- export default function WeekPanel(props) {
- var prefixCls = props.prefixCls,
- generateConfig = props.generateConfig,
- locale = props.locale,
- value = props.value,
- hoverValue = props.hoverValue,
- hoverRangeValue = props.hoverRangeValue;
- // =============================== Row ================================
- var localeName = locale.locale;
- var rowPrefixCls = "".concat(prefixCls, "-week-panel-row");
- var rowClassName = function rowClassName(currentDate) {
- var rangeCls = {};
- if (hoverRangeValue) {
- var _hoverRangeValue = _slicedToArray(hoverRangeValue, 2),
- rangeStart = _hoverRangeValue[0],
- rangeEnd = _hoverRangeValue[1];
- var isRangeStart = isSameWeek(generateConfig, localeName, rangeStart, currentDate);
- var isRangeEnd = isSameWeek(generateConfig, localeName, rangeEnd, currentDate);
- rangeCls["".concat(rowPrefixCls, "-range-start")] = isRangeStart;
- rangeCls["".concat(rowPrefixCls, "-range-end")] = isRangeEnd;
- rangeCls["".concat(rowPrefixCls, "-range-hover")] = !isRangeStart && !isRangeEnd && isInRange(generateConfig, rangeStart, rangeEnd, currentDate);
- }
- if (hoverValue) {
- rangeCls["".concat(rowPrefixCls, "-hover")] = hoverValue.some(function (date) {
- return isSameWeek(generateConfig, localeName, currentDate, date);
- });
- }
- return classNames(rowPrefixCls, _defineProperty({}, "".concat(rowPrefixCls, "-selected"), !hoverRangeValue && isSameWeek(generateConfig, localeName, value, currentDate)),
- // Patch for hover range
- rangeCls);
- };
- // ============================== Render ==============================
- return /*#__PURE__*/React.createElement(DatePanel, _extends({}, props, {
- mode: "week",
- panelName: "week",
- rowClassName: rowClassName
- }));
- }
|