From 35a008af18c80ecc55193730634f823d3157cc33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=9E=E6=B3=95=E6=93=8D=E4=BD=9C?= Date: Tue, 22 Apr 2025 16:07:51 +0800 Subject: [PATCH] fix can't resize workflow run panel (#18538) --- .../workflow/panel/workflow-preview.tsx | 40 ++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/web/app/components/workflow/panel/workflow-preview.tsx b/web/app/components/workflow/panel/workflow-preview.tsx index 228a376535..34b0ec6395 100644 --- a/web/app/components/workflow/panel/workflow-preview.tsx +++ b/web/app/components/workflow/panel/workflow-preview.tsx @@ -1,5 +1,6 @@ import { memo, + useCallback, useEffect, useState, } from 'react' @@ -47,10 +48,45 @@ const WorkflowPreview = () => { switchTab('DETAIL') }, [workflowRunningData]) + const [panelWidth, setPanelWidth] = useState(420) + const [isResizing, setIsResizing] = useState(false) + + const startResizing = useCallback((e: React.MouseEvent) => { + e.preventDefault() + setIsResizing(true) + }, []) + + const stopResizing = useCallback(() => { + setIsResizing(false) + }, []) + + const resize = useCallback((e: MouseEvent) => { + if (isResizing) { + const newWidth = window.innerWidth - e.clientX + if (newWidth > 420 && newWidth < 1024) + setPanelWidth(newWidth) + } + }, [isResizing]) + + useEffect(() => { + window.addEventListener('mousemove', resize) + window.addEventListener('mouseup', stopResizing) + return () => { + window.removeEventListener('mousemove', resize) + window.removeEventListener('mouseup', stopResizing) + } + }, [resize, stopResizing]) + return (
+ relative flex h-full flex-col rounded-l-2xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-xl + `} + style={{ width: `${panelWidth}px` }} + > +
{`Test Run${!workflowRunningData?.result.sequence_number ? '' : `#${workflowRunningData?.result.sequence_number}`}`}
handleCancelDebugAndPreviewPanel()}>