|  |  |  | 
|---|
|  |  |  | import * as Common from '@/utils/common'; | 
|---|
|  |  |  | import { useFormContext } from 'react-hook-form'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const TreeSelectInput = ({ resource, label, source = 'parentId', value, isTranslate = false, ...rest }) => { | 
|---|
|  |  |  | const TreeSelectInput = ({ resource, required, onChange, label, source = 'parentId', value, isTranslate = false, ...rest }) => { | 
|---|
|  |  |  | const translate = useTranslate(); | 
|---|
|  |  |  | const { setValue } = useFormContext(); | 
|---|
|  |  |  | const form = useFormContext(); | 
|---|
|  |  |  | const [filter, setFilter] = React.useState(""); | 
|---|
|  |  |  | const [treeData, setTreeData] = React.useState([]); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const [proxyVal, setProxyVal] = React.useState(''); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const record = useRecordContext() | 
|---|
|  |  |  | const val = value || record[source]; | 
|---|
|  |  |  | const val = value || record?.[source]; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | useEffect(() => { | 
|---|
|  |  |  | const http = async (resource) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | const handleChange = (event) => { | 
|---|
|  |  |  | const val = event.target.value; | 
|---|
|  |  |  | setProxyVal(val); | 
|---|
|  |  |  | setValue(source, val, { | 
|---|
|  |  |  | form?.setValue(source, val, { | 
|---|
|  |  |  | shouldValidate: true, | 
|---|
|  |  |  | shouldDirty: true, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | onChange(event) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ( | 
|---|
|  |  |  | <FormControl fullWidth> | 
|---|
|  |  |  | <FormControl fullWidth required={required}> | 
|---|
|  |  |  | <InputLabel>{translate(label)}</InputLabel> | 
|---|
|  |  |  | <Select | 
|---|
|  |  |  | value={proxyVal || ''} | 
|---|