import { Autocomplete, Box, TextField } from "@mui/material"; import { Edit, useAutocomplete } from "@refinedev/mui"; import { useForm } from "@refinedev/react-hook-form"; import { Controller } from "react-hook-form"; import { VEHICLE_TYPES } from "../../lib/constants"; import { observer } from "mobx-react-lite"; import { languageStore, META_LANGUAGE } from "@stores"; type VehicleFormValues = { tail_number: number; type: number; city_id: number; }; export const VehicleEdit = observer(() => { const { language } = languageStore; const { saveButtonProps, register, control, formState: { errors }, } = useForm({ refineCoreProps: META_LANGUAGE(language) }); const { autocompleteProps: carrierAutocompleteProps } = useAutocomplete({ resource: "carrier", onSearch: (value) => [ { field: "short_name", operator: "contains", value, }, ], }); return ( ( option.value === field.value) || null } onChange={(_, value) => { field.onChange(value?.value || null); }} getOptionLabel={(item) => { return item ? item.label : ""; }} isOptionEqualToValue={(option, value) => { return option.value === value?.value; }} renderInput={(params) => ( )} /> )} /> ( option.id === field.value ) || null } onChange={(_, value) => { field.onChange(value?.id || ""); }} getOptionLabel={(item) => { return item ? item.short_name : ""; }} isOptionEqualToValue={(option, value) => { return option.id === value?.id; }} filterOptions={(options, { inputValue }) => { return options.filter((option) => option.short_name .toLowerCase() .includes(inputValue.toLowerCase()) ); }} renderInput={(params) => ( )} /> )} /> ); });