From 96ca281c3f237fd3b4a48c211e0a435ed712b12b Mon Sep 17 00:00:00 2001 From: kuiwu Date: Wed, 5 Feb 2025 14:35:42 +0800 Subject: [PATCH 1/3] fix: display debug hover view with correct size config --- .../src/browser/editor/debug-hover.view.tsx | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/debug/src/browser/editor/debug-hover.view.tsx b/packages/debug/src/browser/editor/debug-hover.view.tsx index fb285c322d..8e7132a156 100644 --- a/packages/debug/src/browser/editor/debug-hover.view.tsx +++ b/packages/debug/src/browser/editor/debug-hover.view.tsx @@ -3,6 +3,7 @@ import React from 'react'; import { INodeRendererWrapProps, IRecycleTreeHandle, RecycleTree, TreeNodeEvent } from '@opensumi/ide-components'; import { useInjectable } from '@opensumi/ide-core-browser'; +import { LayoutViewSizeConfig } from '@opensumi/ide-core-browser/lib/layout/constants'; import { IDisposable } from '@opensumi/ide-core-common'; import { @@ -19,8 +20,11 @@ import styles from './debug-hover.module.less'; export const DebugHoverView = () => { const debugHoverTreeModelService: DebugHoverTreeModelService = useInjectable(DebugHoverTreeModelService); + const layoutViewSize = useInjectable(LayoutViewSizeConfig); const DEFAULT_LAYOUT_HEIGHT = 250; + const DEFAULT_MAX_HEIGHT = 500; + const DEFAULT_HOVER_WEIGET_MARGIN_BOTTOM = 4; const [model, setModel] = React.useState<{ treeModel?: DebugHoverModel; variable?: DebugVariable }>({}); const [treeLayoutHeight, setTreeLayoutHeight] = React.useState(DEFAULT_LAYOUT_HEIGHT); const wrapperRef = React.useRef(null); @@ -44,9 +48,17 @@ export const DebugHoverView = () => { setTreeLayoutHeight(DEFAULT_LAYOUT_HEIGHT); if (model.treeModel) { - disposable = model.treeModel.root.watcher.on(TreeNodeEvent.DidChangeExpansionState, (data) => { - const treeHeight = Math.max(DEFAULT_LAYOUT_HEIGHT, ~~model.treeModel?.root.branchSize! * 22); - setTreeLayoutHeight(Math.min(500, treeHeight)); + disposable = model.treeModel.root.watcher.on(TreeNodeEvent.DidChangeExpansionState, () => { + const treeHeight = Math.max(DEFAULT_LAYOUT_HEIGHT, (model.treeModel?.root.branchSize || 0) * 22); + const rect = wrapperRef.current?.getBoundingClientRect(); + if (rect) { + const top = rect.top; + const maxHeight = + window.innerHeight - top - layoutViewSize.statusBarHeight - DEFAULT_HOVER_WEIGET_MARGIN_BOTTOM; + setTreeLayoutHeight(Math.min(maxHeight, treeHeight)); + } else { + setTreeLayoutHeight(Math.min(DEFAULT_MAX_HEIGHT, treeHeight)); + } }); } return () => { From fb1339e243a59db9425703f147edd40c95a2510f Mon Sep 17 00:00:00 2001 From: kuiwu Date: Wed, 5 Feb 2025 14:45:09 +0800 Subject: [PATCH 2/3] chore: update upload-artifact action version --- .github/workflows/e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index c3ec1f02f4..1afb17add7 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -59,7 +59,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: playwright-report path: tools/playwright/test-results From ade6714829cbe5141302b9e30ea56c2ffb189219 Mon Sep 17 00:00:00 2001 From: kuiwu Date: Wed, 5 Feb 2025 15:43:55 +0800 Subject: [PATCH 3/3] fix: adjust default max height for debug hover view --- packages/debug/src/browser/editor/debug-hover.view.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/debug/src/browser/editor/debug-hover.view.tsx b/packages/debug/src/browser/editor/debug-hover.view.tsx index 8e7132a156..4ab605ed92 100644 --- a/packages/debug/src/browser/editor/debug-hover.view.tsx +++ b/packages/debug/src/browser/editor/debug-hover.view.tsx @@ -23,7 +23,7 @@ export const DebugHoverView = () => { const layoutViewSize = useInjectable(LayoutViewSizeConfig); const DEFAULT_LAYOUT_HEIGHT = 250; - const DEFAULT_MAX_HEIGHT = 500; + const DEFAULT_MAX_HEIGHT = 420; const DEFAULT_HOVER_WEIGET_MARGIN_BOTTOM = 4; const [model, setModel] = React.useState<{ treeModel?: DebugHoverModel; variable?: DebugVariable }>({}); const [treeLayoutHeight, setTreeLayoutHeight] = React.useState(DEFAULT_LAYOUT_HEIGHT); @@ -55,7 +55,7 @@ export const DebugHoverView = () => { const top = rect.top; const maxHeight = window.innerHeight - top - layoutViewSize.statusBarHeight - DEFAULT_HOVER_WEIGET_MARGIN_BOTTOM; - setTreeLayoutHeight(Math.min(maxHeight, treeHeight)); + setTreeLayoutHeight(Math.min(maxHeight, treeHeight, DEFAULT_MAX_HEIGHT)); } else { setTreeLayoutHeight(Math.min(DEFAULT_MAX_HEIGHT, treeHeight)); }