app/FieldControls/TimestampField.tsx (47 lines of code) (raw):
import React from "react";
import { FieldControlProps } from "./FieldControlsCommon";
import { FormControl, FormLabel } from "@material-ui/core";
import {
KeyboardDatePicker,
KeyboardTimePicker,
MuiPickersUtilsProvider,
} from "@material-ui/pickers";
import DateFnsUtils from "@date-io/date-fns";
const TimestampField: React.FC<FieldControlProps> = (props) => {
const currentValue: string | undefined = props.maybeValues
? props.maybeValues.length > 0
? props.maybeValues[0]
: undefined
: undefined;
return (
<FormControl>
<FormLabel htmlFor={props.controlId}>{props.viewHints.name}</FormLabel>
<MuiPickersUtilsProvider utils={DateFnsUtils}>
<KeyboardDatePicker
variant="inline"
format="yyyy-MM-dd"
margin="normal"
readOnly={
props.ignoreHintsReadonly
? false
: props.viewHints.readonly || props.parentReadonly
}
id={props.controlId}
value={currentValue ?? ""}
onChange={(evt) => console.log(evt)}
/>
<KeyboardTimePicker
variant="inline"
format="HH:mm:ss"
margin="normal"
id={`${props.controlId}-time`}
readOnly={
props.ignoreHintsReadonly
? false
: props.viewHints.readonly || props.parentReadonly
}
value={currentValue ?? ""}
onChange={(evt) => console.log(evt)}
/>
</MuiPickersUtilsProvider>
</FormControl>
);
};
export default TimestampField;