@@ -14,15 +14,27 @@ import {
14
14
BooleanField , DateField , NumberField , ReferenceField , ReferenceManyField ,
15
15
ReferenceOneField , SelectField , TextField ,
16
16
// Inputs
17
- BooleanInput , DateInput , DateTimeInput , NumberInput , SelectInput , TextInput , TimeInput ,
18
- ReferenceInput as _ReferenceInput ,
17
+ BooleanInput , DateInput , DateTimeInput , NumberInput , SelectInput , TextInput ,
18
+ TimeInput as _TimeInput , ReferenceInput as _ReferenceInput ,
19
19
// Filters
20
20
email , maxLength , maxValue , minLength , minValue , regex , required ,
21
21
// Misc
22
22
AutocompleteInput , EditButton , HttpError , WithRecord
23
23
} from "react-admin" ;
24
24
import VisibilityOffIcon from "@mui/icons-material/VisibilityOff" ;
25
25
26
+ // Hacked TimeField/TimeInput to actually work with times.
27
+ // TODO: Replace once new components are introduced using Temporal API.
28
+
29
+ const TimeField = ( props ) => (
30
+ < WithRecord { ...props } render = {
31
+ ( record ) => < DateField { ...props } showDate = { false } showTime = { true }
32
+ record = { { ...record , [ props [ "source" ] ] : record [ props [ "source" ] ] === null ? null : "2020-01-01T" + record [ props [ "source" ] ] } } />
33
+ } />
34
+ ) ;
35
+
36
+ const TimeInput = ( props ) => ( < _TimeInput format = { ( v ) => v } parse = { ( v ) => v } { ...props } /> ) ;
37
+
26
38
/** Reconfigure ReferenceInput to filter by the displayed repr field. */
27
39
const ReferenceInput = ( props ) => {
28
40
const ref = props [ "reference" ] ;
@@ -48,7 +60,7 @@ const COMPONENTS = {
48
60
Datagrid, DatagridSingle,
49
61
50
62
BooleanField, DateField, NumberField, ReferenceField, ReferenceManyField,
51
- ReferenceOneField, SelectField, TextField,
63
+ ReferenceOneField, SelectField, TextField, TimeField ,
52
64
53
65
BooleanInput, DateInput, DateTimeInput, NumberInput, ReferenceInput, SelectInput,
54
66
TextInput, TimeInput
0 commit comments