12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
- import { isSame } from "../../utils/dateUtil";
- import { getFromDate } from "../../utils/miscUtil";
- /**
- * RangePicker need additional logic to handle the `disabled` case. e.g.
- * [disabled, enabled] should end date not before start date
- */
- export default function useRangeDisabledDate(values, disabled, activeIndexList, generateConfig, locale, disabledDate) {
- var activeIndex = activeIndexList[activeIndexList.length - 1];
- var rangeDisabledDate = function rangeDisabledDate(date, info) {
- var _values = _slicedToArray(values, 2),
- start = _values[0],
- end = _values[1];
- var mergedInfo = _objectSpread(_objectSpread({}, info), {}, {
- from: getFromDate(values, activeIndexList)
- });
- // ============================ Disabled ============================
- // Should not select days before the start date
- if (activeIndex === 1 && disabled[0] && start &&
- // Same date isOK
- !isSame(generateConfig, locale, start, date, mergedInfo.type) &&
- // Before start date
- generateConfig.isAfter(start, date)) {
- return true;
- }
- // Should not select days after the end date
- if (activeIndex === 0 && disabled[1] && end &&
- // Same date isOK
- !isSame(generateConfig, locale, end, date, mergedInfo.type) &&
- // After end date
- generateConfig.isAfter(date, end)) {
- return true;
- }
- // ============================= Origin =============================
- return disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date, mergedInfo);
- };
- return rangeDisabledDate;
- }
|