useDisabledBoundary.js 728 B

1234567891011121314151617181920
  1. import { useEvent } from 'rc-util';
  2. import { isSame } from "../../utils/dateUtil";
  3. /**
  4. * Merge `disabledDate` with `minDate` & `maxDate`.
  5. */
  6. export default function useDisabledBoundary(generateConfig, locale, disabledDate, minDate, maxDate) {
  7. var mergedDisabledDate = useEvent(function (date, info) {
  8. if (disabledDate && disabledDate(date, info)) {
  9. return true;
  10. }
  11. if (minDate && generateConfig.isAfter(minDate, date) && !isSame(generateConfig, locale, minDate, date, info.type)) {
  12. return true;
  13. }
  14. if (maxDate && generateConfig.isAfter(date, maxDate) && !isSame(generateConfig, locale, maxDate, date, info.type)) {
  15. return true;
  16. }
  17. return false;
  18. });
  19. return mergedDisabledDate;
  20. }