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

use-nodes-sync-draft.ts 1.1KB

1 год назад
6 месяцев назад
6 месяцев назад
8 месяцев назад
8 месяцев назад
123456789101112131415161718192021222324252627282930313233343536373839
  1. import { useCallback } from 'react'
  2. import {
  3. useStore,
  4. } from '../store'
  5. import {
  6. useNodesReadOnly,
  7. } from './use-workflow'
  8. import { useHooksStore } from '@/app/components/workflow/hooks-store'
  9. export const useNodesSyncDraft = () => {
  10. const { getNodesReadOnly } = useNodesReadOnly()
  11. const debouncedSyncWorkflowDraft = useStore(s => s.debouncedSyncWorkflowDraft)
  12. const doSyncWorkflowDraft = useHooksStore(s => s.doSyncWorkflowDraft)
  13. const syncWorkflowDraftWhenPageClose = useHooksStore(s => s.syncWorkflowDraftWhenPageClose)
  14. const handleSyncWorkflowDraft = useCallback((
  15. sync?: boolean,
  16. notRefreshWhenSyncError?: boolean,
  17. callback?: {
  18. onSuccess?: () => void
  19. onError?: () => void
  20. onSettled?: () => void
  21. },
  22. ) => {
  23. if (getNodesReadOnly())
  24. return
  25. if (sync)
  26. doSyncWorkflowDraft(notRefreshWhenSyncError, callback)
  27. else
  28. debouncedSyncWorkflowDraft(doSyncWorkflowDraft)
  29. }, [debouncedSyncWorkflowDraft, doSyncWorkflowDraft, getNodesReadOnly])
  30. return {
  31. doSyncWorkflowDraft,
  32. handleSyncWorkflowDraft,
  33. syncWorkflowDraftWhenPageClose,
  34. }
  35. }