dify/web/app/components/workflow/hooks/use-nodes-interactions-with...

28 lines
620 B
TypeScript

import { useCallback } from 'react'
import produce from 'immer'
import { useStoreApi } from 'reactflow'
export const useNodesInteractionsWithoutSync = () => {
const store = useStoreApi()
const handleNodeCancelRunningStatus = useCallback(() => {
const {
getNodes,
setNodes,
} = store.getState()
const nodes = getNodes()
const newNodes = produce(nodes, (draft) => {
draft.forEach((node) => {
node.data._runningStatus = undefined
node.data._waitingRun = false
})
})
setNodes(newNodes)
}, [store])
return {
handleNodeCancelRunningStatus,
}
}