Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import {
  2. Sheet,
  3. SheetContent,
  4. SheetHeader,
  5. SheetTitle,
  6. } from '@/components/ui/sheet';
  7. import { IModalProps } from '@/interfaces/common';
  8. import { cn } from '@/lib/utils';
  9. import { useCallback } from 'react';
  10. import { useTranslation } from 'react-i18next';
  11. import { BeginId } from '../constant';
  12. import DebugContent from '../debug-content';
  13. import { useGetBeginNodeDataQuery } from '../hooks/use-get-begin-query';
  14. import { useSaveGraphBeforeOpeningDebugDrawer } from '../hooks/use-save-graph';
  15. import { BeginQuery } from '../interface';
  16. import useGraphStore from '../store';
  17. import { buildBeginQueryWithObject } from '../utils';
  18. const RunSheet = ({
  19. hideModal,
  20. showModal: showChatModal,
  21. }: IModalProps<any>) => {
  22. const { t } = useTranslation();
  23. const { updateNodeForm, getNode } = useGraphStore((state) => state);
  24. const getBeginNodeDataQuery = useGetBeginNodeDataQuery();
  25. const query: BeginQuery[] = getBeginNodeDataQuery();
  26. const { handleRun, loading } = useSaveGraphBeforeOpeningDebugDrawer(
  27. showChatModal!,
  28. );
  29. const handleRunAgent = useCallback(
  30. (nextValues: BeginQuery[]) => {
  31. const beginNode = getNode(BeginId);
  32. const inputs: Record<string, BeginQuery> = beginNode?.data.form.inputs;
  33. const nextInputs = buildBeginQueryWithObject(inputs, nextValues);
  34. const currentNodes = updateNodeForm(BeginId, nextInputs, ['inputs']);
  35. handleRun(currentNodes);
  36. hideModal?.();
  37. },
  38. [getNode, handleRun, hideModal, updateNodeForm],
  39. );
  40. const onOk = useCallback(
  41. async (nextValues: any[]) => {
  42. handleRunAgent(nextValues);
  43. },
  44. [handleRunAgent],
  45. );
  46. return (
  47. <Sheet onOpenChange={hideModal} open>
  48. <SheetContent className={cn('top-20 p-2')}>
  49. <SheetHeader>
  50. <SheetTitle>{t('flow.testRun')}</SheetTitle>
  51. <DebugContent
  52. ok={onOk}
  53. parameters={query}
  54. loading={loading}
  55. ></DebugContent>
  56. </SheetHeader>
  57. </SheetContent>
  58. </Sheet>
  59. );
  60. };
  61. export default RunSheet;