|
import { IModalProps } from '@/interfaces/common'; |
|
import { Drawer } from 'antd'; |
|
import { useCallback } from 'react'; |
|
import { useTranslation } from 'react-i18next'; |
|
import { BeginId } from '../constant'; |
|
import DebugContent from '../debug-content'; |
|
import { useGetBeginNodeDataQuery } from '../hooks/use-get-begin-query'; |
|
import { useSaveGraphBeforeOpeningDebugDrawer } from '../hooks/use-save-graph'; |
|
import { BeginQuery } from '../interface'; |
|
import useGraphStore from '../store'; |
|
import { getDrawerWidth } from '../utils'; |
|
|
|
const RunDrawer = ({ |
|
hideModal, |
|
showModal: showChatModal, |
|
}: IModalProps<any>) => { |
|
const { t } = useTranslation(); |
|
const updateNodeForm = useGraphStore((state) => state.updateNodeForm); |
|
|
|
const getBeginNodeDataQuery = useGetBeginNodeDataQuery(); |
|
const query: BeginQuery[] = getBeginNodeDataQuery(); |
|
|
|
const { handleRun, loading } = useSaveGraphBeforeOpeningDebugDrawer( |
|
showChatModal!, |
|
); |
|
|
|
const handleRunAgent = useCallback( |
|
(nextValues: Record<string, any>) => { |
|
const currentNodes = updateNodeForm(BeginId, nextValues, ['query']); |
|
handleRun(currentNodes); |
|
hideModal?.(); |
|
}, |
|
[handleRun, hideModal, updateNodeForm], |
|
); |
|
|
|
const onOk = useCallback( |
|
async (nextValues: any[]) => { |
|
handleRunAgent(nextValues); |
|
}, |
|
[handleRunAgent], |
|
); |
|
|
|
return ( |
|
<Drawer |
|
title={t('flow.testRun')} |
|
placement="right" |
|
onClose={hideModal} |
|
open |
|
getContainer={false} |
|
width={getDrawerWidth()} |
|
mask={false} |
|
> |
|
<DebugContent |
|
ok={onOk} |
|
parameters={query} |
|
loading={loading} |
|
></DebugContent> |
|
</Drawer> |
|
); |
|
}; |
|
|
|
export default RunDrawer; |
|
|