refactor: simplify workflow draft synchronization in InputFieldDialog

This commit is contained in:
twwu 2025-06-05 11:07:28 +08:00
parent 7506867fb9
commit c83370f701

View File

@ -24,7 +24,6 @@ import Divider from '@/app/components/base/divider'
import Tooltip from '@/app/components/base/tooltip' import Tooltip from '@/app/components/base/tooltip'
import cn from '@/utils/classnames' import cn from '@/utils/classnames'
import PreviewPanel from './preview' import PreviewPanel from './preview'
import { useDebounceFn, useUnmount } from 'ahooks'
type InputFieldDialogProps = { type InputFieldDialogProps = {
readonly?: boolean readonly?: boolean
@ -54,18 +53,7 @@ const InputFieldDialog = ({
} }
const inputFieldsMap = useRef(getInputFieldsMap()) const inputFieldsMap = useRef(getInputFieldsMap())
const { doSyncWorkflowDraft } = useNodesSyncDraft() const { handleSyncWorkflowDraft } = useNodesSyncDraft()
const { run: syncWorkflowDraft, cancel: cancelSyncWorkflowDraft } = useDebounceFn(async () => {
await doSyncWorkflowDraft()
}, {
wait: 500,
})
useUnmount(() => {
cancelSyncWorkflowDraft()
doSyncWorkflowDraft()
})
const datasourceNodeDataMap = useMemo(() => { const datasourceNodeDataMap = useMemo(() => {
const datasourceNodeDataMap: Record<string, DataSourceNodeType> = {} const datasourceNodeDataMap: Record<string, DataSourceNodeType> = {}
@ -90,8 +78,8 @@ const InputFieldDialog = ({
}) })
}) })
setRagPipelineVariables?.(newRagPipelineVariables) setRagPipelineVariables?.(newRagPipelineVariables)
await syncWorkflowDraft() handleSyncWorkflowDraft()
}, [setRagPipelineVariables, syncWorkflowDraft]) }, [setRagPipelineVariables, handleSyncWorkflowDraft])
const closePanel = useCallback(() => { const closePanel = useCallback(() => {
setShowInputFieldDialog?.(false) setShowInputFieldDialog?.(false)