From 806daebd3ff6fac067950cef171a4f5c2f7ef58a Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Wed, 29 Nov 2023 19:51:03 -0800 Subject: [PATCH] IO-2485 Correct onlyFuture on typed values --- .../form-date-picker.component.jsx | 13 +++++++++-- .../form-date-time-picker.component.jsx | 23 ++++++++++--------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/client/src/components/form-date-picker/form-date-picker.component.jsx b/client/src/components/form-date-picker/form-date-picker.component.jsx index e9ace8082..05a894e8b 100644 --- a/client/src/components/form-date-picker/form-date-picker.component.jsx +++ b/client/src/components/form-date-picker/form-date-picker.component.jsx @@ -65,8 +65,17 @@ export function FormDatePicker({ }); } - if (_a.isValid() && onChange) - onChange(isDateOnly ? _a.format("YYYY-MM-DD") : _a); + if (_a.isValid() && onChange) { + if (onlyFuture) { + if (moment().subtract(1, "day").isBefore(_a)) { + onChange(isDateOnly ? _a.format("YYYY-MM-DD") : _a); + } else { + onChange(isDateOnly ? moment().format("YYYY-MM-DD") : moment()); + } + } else { + onChange(isDateOnly ? _a.format("YYYY-MM-DD") : _a); + } + } }; return ( diff --git a/client/src/components/form-date-time-picker/form-date-time-picker.component.jsx b/client/src/components/form-date-time-picker/form-date-time-picker.component.jsx index 79b01c529..a086c253e 100644 --- a/client/src/components/form-date-time-picker/form-date-time-picker.component.jsx +++ b/client/src/components/form-date-time-picker/form-date-time-picker.component.jsx @@ -1,9 +1,9 @@ import React, { forwardRef } from "react"; //import DatePicker from "react-datepicker"; //import "react-datepicker/src/stylesheets/datepicker.scss"; -import FormDatePicker from "../form-date-picker/form-date-picker.component"; import { TimePicker } from "antd"; import moment from "moment"; +import FormDatePicker from "../form-date-picker/form-date-picker.component"; //To be used as a form element only. const DateTimePicker = ( @@ -26,20 +26,21 @@ const DateTimePicker = ( value={value} onBlur={onBlur} onChange={onChange} + onlyFuture={onlyFuture} isDateOnly={false} /> moment().isAfter(d), - })} - onChange={onChange} - showSecond={false} - minuteStep={15} - onBlur={onBlur} - format="hh:mm a" - {...restProps} + value={value ? moment(value) : null} + {...(onlyFuture && { + disabledDate: (d) => moment().isAfter(d), + })} + onChange={onChange} + showSecond={false} + minuteStep={15} + onBlur={onBlur} + format="hh:mm a" + {...restProps} /> );