From 96122692cba202fab96d14e72cb4810593dc6669 Mon Sep 17 00:00:00 2001 From: yyh <92089059+lyzno1@users.noreply.github.com> Date: Fri, 17 Apr 2026 17:10:10 +0800 Subject: [PATCH] fix(web): keep workflow panel operator anchor mounted during menu close animation (#35363) --- .../nodes/_base/components/node-control.tsx | 24 +++++++------------ .../_base/components/panel-operator/index.tsx | 14 +++++------ 2 files changed, 14 insertions(+), 24 deletions(-) diff --git a/web/app/components/workflow/nodes/_base/components/node-control.tsx b/web/app/components/workflow/nodes/_base/components/node-control.tsx index 4f2980186d..439e097bc9 100644 --- a/web/app/components/workflow/nodes/_base/components/node-control.tsx +++ b/web/app/components/workflow/nodes/_base/components/node-control.tsx @@ -1,15 +1,12 @@ import type { FC } from 'react' import type { Node } from '../../../types' +import { cn } from '@langgenius/dify-ui/cn' import { Tooltip, TooltipContent, TooltipTrigger, } from '@langgenius/dify-ui/tooltip' -import { - memo, - useCallback, - useState, -} from 'react' +import { memo } from 'react' import { useTranslation } from 'react-i18next' import { Stop, @@ -31,23 +28,19 @@ const NodeControl: FC = ({ pluginInstallLocked, }) => { const { t } = useTranslation() - const [open, setOpen] = useState(false) const { handleNodeSelect } = useNodesInteractions() const workflowStore = useWorkflowStore() const isSingleRunning = data._singleRunningStatus === NodeRunningStatus.Running - const handleOpenChange = useCallback((newOpen: boolean) => { - setOpen(newOpen) - }, []) const isChildNode = !!(data.isInIteration || data.isInLoop) return (