import { useNextFetchKnowledgeList } from '@/hooks/knowledge-hooks'; import { UserOutlined } from '@ant-design/icons'; import { Avatar, Flex } from 'antd'; import classNames from 'classnames'; import { get } from 'lodash'; import { useMemo } from 'react'; import { Handle, NodeProps, Position } from 'reactflow'; import { NodeData } from '../../interface'; import { LeftHandleStyle, RightHandleStyle } from './handle-icon'; import styles from './index.less'; import NodeHeader from './node-header'; export function RetrievalNode({ id, data, isConnectable = true, selected, }: NodeProps) { const knowledgeBaseIds: string[] = get(data, 'form.kb_ids', []); const { list: knowledgeList } = useNextFetchKnowledgeList(true); const knowledgeBases = useMemo(() => { return knowledgeBaseIds.map((x) => { const item = knowledgeList.find((y) => x === y.id); return { name: item?.name, avatar: item?.avatar, id: x, }; }); }, [knowledgeList, knowledgeBaseIds]); return (
0, })} > {knowledgeBases.map((knowledge) => { return (
} src={knowledge.avatar} /> {knowledge.name}
); })}
); }