mirror of
https://github.com/langgenius/dify.git
synced 2026-04-15 09:57:03 +08:00
fix: when mouseover add btn of edges display error
This commit is contained in:
parent
1aa16821c1
commit
10193179cf
@ -55,6 +55,7 @@ const CustomEdge = ({
|
||||
curvature: 0.16,
|
||||
})
|
||||
const [open, setOpen] = useState(false)
|
||||
const [isTriggerHovered, setIsTriggerHovered] = useState(false)
|
||||
const { handleNodeAdd } = useNodesInteractions()
|
||||
const { availablePrevBlocks } = useAvailableBlocks((data as Edge['data'])!.targetType, (data as Edge['data'])?.isInIteration || (data as Edge['data'])?.isInLoop)
|
||||
const { availableNextBlocks } = useAvailableBlocks((data as Edge['data'])!.sourceType, (data as Edge['data'])?.isInIteration || (data as Edge['data'])?.isInLoop)
|
||||
@ -142,8 +143,8 @@ const CustomEdge = ({
|
||||
<EdgeLabelRenderer>
|
||||
<div
|
||||
className={cn(
|
||||
'nopan nodrag hover:scale-125',
|
||||
data?._hovering ? 'block' : 'hidden',
|
||||
'nopan nodrag',
|
||||
(data?._hovering || isTriggerHovered) ? 'block' : 'hidden',
|
||||
open && 'block!',
|
||||
data.isInIteration && `z-[${ITERATION_CHILDREN_Z_INDEX}]`,
|
||||
data.isInLoop && `z-[${LOOP_CHILDREN_Z_INDEX}]`,
|
||||
@ -154,6 +155,8 @@ const CustomEdge = ({
|
||||
pointerEvents: 'all',
|
||||
opacity: data._waitingRun ? 0.7 : 1,
|
||||
}}
|
||||
onMouseEnter={() => setIsTriggerHovered(true)}
|
||||
onMouseLeave={() => setIsTriggerHovered(false)}
|
||||
>
|
||||
<BlockSelector
|
||||
open={open}
|
||||
|
||||
@ -4,8 +4,9 @@ import type {
|
||||
} from 'reactflow'
|
||||
import { produce } from 'immer'
|
||||
import { useCallback } from 'react'
|
||||
import { useCollaborativeWorkflow } from './use-collaborative-workflow'
|
||||
import { useStoreApi } from 'reactflow'
|
||||
import { useWorkflowStore } from '../store'
|
||||
import { useCollaborativeWorkflow } from './use-collaborative-workflow'
|
||||
import {
|
||||
applyConnectedHandleNodeData,
|
||||
buildContextMenuEdges,
|
||||
@ -19,6 +20,7 @@ import { useNodesReadOnly } from './use-workflow'
|
||||
import { useWorkflowHistory, WorkflowHistoryEvent } from './use-workflow-history'
|
||||
|
||||
export const useEdgesInteractions = () => {
|
||||
const store = useStoreApi()
|
||||
const { handleSyncWorkflowDraft } = useNodesSyncDraft()
|
||||
const { getNodesReadOnly } = useNodesReadOnly()
|
||||
const { saveStateToHistory } = useWorkflowHistory()
|
||||
@ -53,17 +55,17 @@ export const useEdgesInteractions = () => {
|
||||
if (getNodesReadOnly())
|
||||
return
|
||||
|
||||
const { edges, setEdges } = collaborativeWorkflow.getState()
|
||||
const { edges, setEdges } = store.getState()
|
||||
setEdges(updateEdgeHoverState(edges, edge.id, true))
|
||||
}, [collaborativeWorkflow, getNodesReadOnly])
|
||||
}, [getNodesReadOnly, store])
|
||||
|
||||
const handleEdgeLeave = useCallback<EdgeMouseHandler>((_, edge) => {
|
||||
if (getNodesReadOnly())
|
||||
return
|
||||
|
||||
const { edges, setEdges } = collaborativeWorkflow.getState()
|
||||
const { edges, setEdges } = store.getState()
|
||||
setEdges(updateEdgeHoverState(edges, edge.id, false))
|
||||
}, [collaborativeWorkflow, getNodesReadOnly])
|
||||
}, [getNodesReadOnly, store])
|
||||
|
||||
const handleEdgeDeleteByDeleteBranch = useCallback((nodeId: string, branchId: string) => {
|
||||
if (getNodesReadOnly())
|
||||
|
||||
Loading…
Reference in New Issue
Block a user