import React, { useRef, useCallback, useMemo } from 'react'; import classNames from 'classnames'; import { useCellAutoFocus } from 'hooks'; import intl from 'react-intl-universal'; import AccountsSuggestField from 'components/AccountsSuggestField'; // import AccountsSelectList from 'components/AccountsSelectList'; import { FormGroup, Classes, Intent } from '@blueprintjs/core'; /** * Account cell renderer. */ export default function AccountCellRenderer({ column: { id, accountsDataProp, filterAccountsByRootTypes, filterAccountsByTypes, fieldProps, formGroupProps, }, row: { index, original }, cell: { value: initialValue }, payload: { accounts: defaultAccounts, updateData, errors, autoFocus, ...restPayloadProps }, }) { const accountRef = useRef(); useCellAutoFocus(accountRef, autoFocus, id, index); const handleAccountSelected = useCallback( (account) => { updateData(index, id, account.id); }, [updateData, index, id], ); const error = errors?.[index]?.[id]; const accounts = useMemo( () => restPayloadProps[accountsDataProp] || defaultAccounts, [restPayloadProps, defaultAccounts, accountsDataProp], ); return ( (accountRef.current = ref), placeholder: intl.get('search'), }} openOnKeyDown={true} blurOnSelectClose={false} {...fieldProps} /> ); }