dify/web/app/components/workflow/hooks/use-nodes-sync-draft.ts
Stephen Zhou a84c2d36a3
style: format with vp fmt (#38803)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-12 15:57:46 +00:00

31 lines
1.1 KiB
TypeScript

import type { SyncDraftCallback } from '../hooks-store'
import { useCallback } from 'react'
import { useHooksStore } from '@/app/components/workflow/hooks-store'
import { useStore } from '../store'
import { useNodesReadOnly } from './use-workflow'
export type SyncCallback = SyncDraftCallback
export const useNodesSyncDraft = () => {
const { getNodesReadOnly } = useNodesReadOnly()
const debouncedSyncWorkflowDraft = useStore((s) => s.debouncedSyncWorkflowDraft)
const doSyncWorkflowDraft = useHooksStore((s) => s.doSyncWorkflowDraft)
const syncWorkflowDraftWhenPageClose = useHooksStore((s) => s.syncWorkflowDraftWhenPageClose)
const handleSyncWorkflowDraft = useCallback(
(sync?: boolean, notRefreshWhenSyncError?: boolean, callback?: SyncDraftCallback) => {
if (getNodesReadOnly()) return
if (sync) doSyncWorkflowDraft(notRefreshWhenSyncError, callback)
else debouncedSyncWorkflowDraft(doSyncWorkflowDraft)
},
[debouncedSyncWorkflowDraft, doSyncWorkflowDraft, getNodesReadOnly],
)
return {
doSyncWorkflowDraft,
handleSyncWorkflowDraft,
syncWorkflowDraftWhenPageClose,
}
}