mirror of https://github.com/langgenius/dify.git
28 lines
620 B
TypeScript
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,
|
|
}
|
|
}
|