diff --git a/static/app/components/events/viewHierarchy/index.tsx b/static/app/components/events/viewHierarchy/index.tsx index ebd05749f33bc8..e77933fe4c48ad 100644 --- a/static/app/components/events/viewHierarchy/index.tsx +++ b/static/app/components/events/viewHierarchy/index.tsx @@ -80,6 +80,7 @@ export type ViewHierarchyWindow = { export type ViewHierarchyData = { rendering_system: string; windows: ViewHierarchyWindow[]; + positioning?: 'absolute' | 'relative'; }; export type ViewHierarchyNodeField = 'type' | 'name'; @@ -237,6 +238,7 @@ function ViewHierarchy({ selectedNode={userHasSelected ? selectedNode : undefined} onNodeSelect={onWireframeNodeSelect} platform={platform} + positioning={viewHierarchy.positioning} /> )} diff --git a/static/app/components/events/viewHierarchy/wireframe.tsx b/static/app/components/events/viewHierarchy/wireframe.tsx index 519ad720bcc303..3058e5c0264fa0 100644 --- a/static/app/components/events/viewHierarchy/wireframe.tsx +++ b/static/app/components/events/viewHierarchy/wireframe.tsx @@ -30,10 +30,17 @@ type WireframeProps = { hierarchy: ViewHierarchyWindow[]; onNodeSelect: (node?: ViewHierarchyWindow) => void; platform?: string; + positioning?: 'absolute' | 'relative'; selectedNode?: ViewHierarchyWindow; }; -function Wireframe({hierarchy, selectedNode, onNodeSelect, platform}: WireframeProps) { +function Wireframe({ + hierarchy, + selectedNode, + onNodeSelect, + positioning, + platform, +}: WireframeProps) { const theme = useTheme(); const [canvasRef, setCanvasRef] = useState(null); const [overlayRef, setOverlayRef] = useState(null); @@ -50,9 +57,10 @@ function Wireframe({hierarchy, selectedNode, onNodeSelect, platform}: WireframeP () => getHierarchyDimensions( hierarchy, - ['flutter', 'dart-flutter'].includes(platform ?? '') + positioning === 'absolute' || + (!positioning && ['flutter', 'dart-flutter'].includes(platform ?? '')) ), - [hierarchy, platform] + [hierarchy, platform, positioning] ); const nodeLookupMap = useMemo(() => { const map = new Map();