balibabu
feat: add llm Select to KeywordExtractForm #918 (#1492)
53bc504
raw
history blame
1.33 kB
import { useFetchFlow } from '@/hooks/flow-hooks';
import { Popover } from 'antd';
import get from 'lodash/get';
import React, { useMemo } from 'react';
import JsonView from 'react18-json-view';
import 'react18-json-view/src/style.css';
import { Operator } from '../../constant';
import { useReplaceIdWithText } from '../../hooks';
import styles from './index.less';
interface IProps extends React.PropsWithChildren {
nodeId: string;
}
const NodePopover = ({ children, nodeId }: IProps) => {
const { data } = useFetchFlow();
const component = useMemo(() => {
return get(data, ['dsl', 'components', nodeId], {});
}, [nodeId, data]);
const output = get(component, ['obj', 'params', 'output'], {});
const componentName = get(component, ['obj', 'component_name'], '');
const replacedOutput = useReplaceIdWithText(output);
const content =
componentName !== Operator.Answer ? (
<div
onClick={(e) => {
e.preventDefault();
e.stopPropagation();
}}
>
<JsonView
src={replacedOutput}
displaySize={30}
className={styles.jsonView}
/>
</div>
) : undefined;
return (
<Popover content={content} placement="right" destroyTooltipOnHide>
{children}
</Popover>
);
};
export default NodePopover;