import React, { useState } from 'react'; import { useFormikContext } from 'formik'; import SearchableSelect, { Option } from '@/components/elements/SearchableSelect'; import { Node, searchNodes } from '@/api/admin/node'; export default ({ selected }: { selected?: Node }) => { const context = useFormikContext(); const [ node, setNode ] = useState(selected || null); const [ nodes, setNodes ] = useState(null); const onSearch = async (query: string) => { setNodes( await searchNodes({ filters: { name: query } }), ); }; const onSelect = (node: Node | null) => { setNode(node); context.setFieldValue('ownerId', node?.id || null); }; const getSelectedText = (node: Node | null): string => node?.name || ''; return ( {nodes?.map(d => ( ))} ); };