import { generateZodSchema } from '@/app/components/base/form/form-scenarios/base/utils' import { useConfigurations } from './hooks' import Options from './options' import Actions from './actions' import { useCallback, useRef } from 'react' import Header from './header' type ProcessDocumentsProps = { dataSourceNodeId: string onProcess: (data: Record) => void onPreview: (data: Record) => void onBack: () => void } const ProcessDocuments = ({ dataSourceNodeId, onProcess, onPreview, onBack, }: ProcessDocumentsProps) => { const formRef = useRef(null) const isPreview = useRef(false) const { initialData, configurations } = useConfigurations(dataSourceNodeId) const schema = generateZodSchema(configurations) const handleProcess = useCallback(() => { isPreview.current = false formRef.current?.submit() }, []) const handlePreview = useCallback(() => { isPreview.current = true formRef.current?.submit() }, []) const handleSubmit = useCallback((data: Record) => { isPreview.current ? onPreview(data) : onProcess(data) }, [onPreview, onProcess]) const handleReset = useCallback(() => { formRef.current?.reset() }, []) return (
) } export default ProcessDocuments