Open
Description
openedon Jan 30, 2024
What you were expecting:
These inputs should receive Date or string and publish Date.
What happened instead:
They are inconsistent:
DateInput
receivesstring
and returnsstring
,TimeInput
receivesstring | Date
and returnsDate
DateTimeInput
receivesstring | Date
and returnsDate
Steps to reproduce:
Make a form with a DateTimeInput, change your mind after talking with the UX team and then switch to DateInput. Now the published value switched from a Date object to a string and validation and transformation functions may unexpectedly break.
Other information:
The DateInput does actually receive a Date or a string, but the documentation says it receives a string.
The parse field for DateTimeInput and TimeInput defaults to a date parser that produces a date object. For the DateInput, the parse field is empty by default.
- https://github.com/marmelab/react-admin/blob/master/packages/ra-ui-materialui/src/input/TimeInput.tsx#L58C1-L58C23
- https://github.com/marmelab/react-admin/blob/master/packages/ra-ui-materialui/src/input/DateTimeInput.tsx#L35
- https://github.com/marmelab/react-admin/blob/master/packages/ra-ui-materialui/src/input/DateInput.tsx#L45
Environment
- React-admin version: 4.16.7
- Last version that did not exhibit the issue (if applicable): n/a
- React version: n/a
- Browser: n/Z
- Stack trace (in case of a JS error): n/a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment