From 02219b24f91492fcf7bf968410aa63c27ec28d9c Mon Sep 17 00:00:00 2001 From: zhuchi Date: Wed, 16 Sep 2026 21:04:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(canvas):=20=E7=94=BB=E5=B8=83=E8=8A=82?= =?UTF-8?q?=E7=82=B9=20-=20=E5=88=9B=E5=BB=BA=E5=88=86=E9=95=9C=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E6=97=B6=E6=81=A2=E5=A4=8D=E6=B8=85=E7=A9=BA=E4=B8=8A?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=8F=90=E7=A4=BA=E8=AF=8D=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/pages/canvas/use-canvas-connection-controller.ts | 6 ++++-- web/src/pages/canvas/use-canvas-node-operations.ts | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/web/src/pages/canvas/use-canvas-connection-controller.ts b/web/src/pages/canvas/use-canvas-connection-controller.ts index 01f1d3103..d0267e9bd 100644 --- a/web/src/pages/canvas/use-canvas-connection-controller.ts +++ b/web/src/pages/canvas/use-canvas-connection-controller.ts @@ -320,7 +320,8 @@ export function useCanvasConnectionController({ setConnections(nextConnections); setSelectedNodeIds(new Set([newNode.id])); setSelectedConnectionId(null); - if (nodeType !== CanvasNodeType.Text && nodeType !== CanvasNodeType.Script && nodeType !== CanvasNodeType.BatchTable && nodeType !== CanvasNodeType.Audio && nodeType !== CanvasNodeType.MediaConversion) setDialogNodeId(newNode.id); + if (nodeType === CanvasNodeType.Script) setDialogNodeId(null); + else if (nodeType !== CanvasNodeType.Text && nodeType !== CanvasNodeType.BatchTable && nodeType !== CanvasNodeType.Audio && nodeType !== CanvasNodeType.MediaConversion) setDialogNodeId(newNode.id); const skippedCount = batchPlan.skipped.length; const duplicateCount = batchPlan.duplicates.length; const suffix = skippedCount || duplicateCount ? `,跳过 ${skippedCount + duplicateCount} 个` : ""; @@ -386,7 +387,8 @@ export function useCanvasConnectionController({ setSelectedNodeIds(new Set([newNode.id])); setSelectedConnectionId(null); if (nodeType === CanvasNodeType.Drawing) setDrawingNodeId(newNode.id); - else if (nodeType !== CanvasNodeType.Text && nodeType !== CanvasNodeType.Script && nodeType !== CanvasNodeType.BatchTable && nodeType !== CanvasNodeType.Audio && nodeType !== CanvasNodeType.MediaConversion) setDialogNodeId(newNode.id); + else if (nodeType === CanvasNodeType.Script) setDialogNodeId(null); + else if (nodeType !== CanvasNodeType.Text && nodeType !== CanvasNodeType.BatchTable && nodeType !== CanvasNodeType.Audio && nodeType !== CanvasNodeType.MediaConversion) setDialogNodeId(newNode.id); closeConnectionCreateMenu(); setConnecting(null); }, [closeConnectionCreateMenu, config, connectionsRef, defaultDrawingEngine, message, nodesRef, projectId, runtimeStatuses, setConnecting, setConnections, setDialogNodeId, setDrawingNodeId, setNodes, setSelectedConnectionId, setSelectedNodeIds, tldrawLicenseKey]); diff --git a/web/src/pages/canvas/use-canvas-node-operations.ts b/web/src/pages/canvas/use-canvas-node-operations.ts index 54953448a..0bb3c30a1 100644 --- a/web/src/pages/canvas/use-canvas-node-operations.ts +++ b/web/src/pages/canvas/use-canvas-node-operations.ts @@ -150,6 +150,7 @@ export function useCanvasNodeOperations({ if (workflowTitle) node.title = workflowTitle; commitNodes([...nodesRef.current, node]); selectNodes(new Set([node.id])); + if (type === CanvasNodeType.Script) setDialogNodeId(null); if (type !== CanvasNodeType.Text && type !== CanvasNodeType.Script && type !== CanvasNodeType.BatchTable && type !== CanvasNodeType.Audio && type !== CanvasNodeType.Frame && type !== CanvasNodeType.Drawing && type !== CanvasNodeType.MediaConversion) setDialogNodeId(node.id); }, [commitNodes, defaultDrawingEngine, effectiveConfig.runningHub.enabled, effectiveConfig.runningHub.workflows.length, getCanvasCenter, message, nodesRef, runtimeStatuses, selectNodes, setDialogNodeId, tldrawLicenseKey]);