123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = useInvalidate;
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
- var _rcUtil = require("rc-util");
- /**
- * Check if provided date is valid for the `disabledDate` & `showTime.disabledTime`.
- */
- function useInvalidate(generateConfig, picker, disabledDate, showTime) {
- // Check disabled date
- var isInvalidate = (0, _rcUtil.useEvent)(function (date, info) {
- var outsideInfo = (0, _objectSpread2.default)({
- type: picker
- }, info);
- delete outsideInfo.activeIndex;
- if (
- // Date object is invalid
- !generateConfig.isValidate(date) ||
- // Date is disabled by `disabledDate`
- disabledDate && disabledDate(date, outsideInfo)) {
- return true;
- }
- if ((picker === 'date' || picker === 'time') && showTime) {
- var _showTime$disabledTim;
- var range = info && info.activeIndex === 1 ? 'end' : 'start';
- var _ref = ((_showTime$disabledTim = showTime.disabledTime) === null || _showTime$disabledTim === void 0 ? void 0 : _showTime$disabledTim.call(showTime, date, range, {
- from: outsideInfo.from
- })) || {},
- disabledHours = _ref.disabledHours,
- disabledMinutes = _ref.disabledMinutes,
- disabledSeconds = _ref.disabledSeconds,
- disabledMilliseconds = _ref.disabledMilliseconds;
- var legacyDisabledHours = showTime.disabledHours,
- legacyDisabledMinutes = showTime.disabledMinutes,
- legacyDisabledSeconds = showTime.disabledSeconds;
- var mergedDisabledHours = disabledHours || legacyDisabledHours;
- var mergedDisabledMinutes = disabledMinutes || legacyDisabledMinutes;
- var mergedDisabledSeconds = disabledSeconds || legacyDisabledSeconds;
- var hour = generateConfig.getHour(date);
- var minute = generateConfig.getMinute(date);
- var second = generateConfig.getSecond(date);
- var millisecond = generateConfig.getMillisecond(date);
- if (mergedDisabledHours && mergedDisabledHours().includes(hour)) {
- return true;
- }
- if (mergedDisabledMinutes && mergedDisabledMinutes(hour).includes(minute)) {
- return true;
- }
- if (mergedDisabledSeconds && mergedDisabledSeconds(hour, minute).includes(second)) {
- return true;
- }
- if (disabledMilliseconds && disabledMilliseconds(hour, minute, second).includes(millisecond)) {
- return true;
- }
- }
- return false;
- });
- return isInvalidate;
- }
|