feat(workflow): add edge context menu with delete support (#33391)

This commit is contained in:
yyh
2026-03-13 15:11:24 +08:00
committed by GitHub
parent 1104d35bbb
commit fe561ef3d0
15 changed files with 1051 additions and 54 deletions

View File

@ -55,6 +55,7 @@ import {
import CustomConnectionLine from './custom-connection-line'
import CustomEdge from './custom-edge'
import DatasetsDetailProvider from './datasets-detail-store/provider'
import EdgeContextmenu from './edge-contextmenu'
import HelpLine from './help-line'
import {
useEdgesInteractions,
@ -203,6 +204,7 @@ export const Workflow: FC<WorkflowProps> = memo(({
setNodes(v.payload.nodes)
store.getState().setNodes(v.payload.nodes)
setEdges(v.payload.edges)
workflowStore.setState({ edgeMenu: undefined })
if (v.payload.viewport)
reactflow.setViewport(v.payload.viewport)
@ -306,6 +308,7 @@ export const Workflow: FC<WorkflowProps> = memo(({
handleEdgeEnter,
handleEdgeLeave,
handleEdgesChange,
handleEdgeContextMenu,
} = useEdgesInteractions()
const {
handleSelectionStart,
@ -401,6 +404,7 @@ export const Workflow: FC<WorkflowProps> = memo(({
<Operator handleRedo={handleHistoryForward} handleUndo={handleHistoryBack} />
<PanelContextmenu />
<NodeContextmenu />
<EdgeContextmenu />
<SelectionContextmenu />
<HelpLine />
{
@ -433,6 +437,7 @@ export const Workflow: FC<WorkflowProps> = memo(({
onEdgeMouseEnter={handleEdgeEnter}
onEdgeMouseLeave={handleEdgeLeave}
onEdgesChange={handleEdgesChange}
onEdgeContextMenu={handleEdgeContextMenu}
onSelectionStart={handleSelectionStart}
onSelectionChange={handleSelectionChange}
onSelectionDrag={handleSelectionDrag}