import CopyToClipboard from '@/components/copy-to-clipboard'; import { Sheet, SheetContent, SheetHeader } from '@/components/ui/sheet'; import { useDebugSingle, useFetchInputForm } from '@/hooks/use-agent-request'; import { IModalProps } from '@/interfaces/common'; import { cn } from '@/lib/utils'; import { isEmpty } from 'lodash'; import { X } from 'lucide-react'; import { useCallback, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import JsonView from 'react18-json-view'; import 'react18-json-view/src/style.css'; import DebugContent from '../../debug-content'; import { transferInputsArrayToObject } from '../../form/begin-form/use-watch-change'; import { buildBeginInputListFromObject } from '../../form/begin-form/utils'; interface IProps { componentId?: string; } const SingleDebugSheet = ({ componentId, visible, hideModal, }: IModalProps & IProps) => { const { t } = useTranslation(); const inputForm = useFetchInputForm(componentId); const { debugSingle, data, loading } = useDebugSingle(); const list = useMemo(() => { return buildBeginInputListFromObject(inputForm); }, [inputForm]); const onOk = useCallback( (nextValues: any[]) => { if (componentId) { debugSingle({ component_id: componentId, params: transferInputsArrayToObject(nextValues), }); } }, [componentId, debugSingle], ); const content = JSON.stringify(data, null, 2); return (
{t('flow.testRun')}
{!isEmpty(data) ? (
JSON
) : null}
); }; export default SingleDebugSheet;