import moment from 'moment';
// import { useEffect } from 'react';

export default function useDateRange(
  formRef: any,
  startColumn: any,
  endColumn: any,
  startFieldName: string | any[],
  endFieldName: string | any[],
) {
  // FIXME: 使用useEffect可能导致时间限制不生效，暂时屏蔽
  // useEffect(() => {
  Object.assign(startColumn, {
    fieldProps: {
      ...startColumn.fieldProps,
      disabledDate(current: any) {
        const endTime = formRef.current?.getFieldValue(endFieldName);
        if (endTime && current && current.valueOf() > moment(endTime).valueOf()) {
          return true;
        }
        return false;
      },
    },
  });
  Object.assign(endColumn, {
    fieldProps: {
      ...endColumn.fieldProps,
      disabledDate(current: any) {
        const startTime = formRef.current?.getFieldValue(startFieldName);
        if (startTime && current && current.valueOf() < moment(startTime).valueOf()) {
          return true;
        }
        return false;
      },
    },
  });
  // eslint-disable-next-line react-hooks/exhaustive-deps
  // }, [formRef]);
}
