From c0a719caa776e23ce3e801cb4316fecba1d55084 Mon Sep 17 00:00:00 2001 From: Jack Westbrook Date: Tue, 27 Aug 2024 12:28:48 +0200 Subject: [PATCH] Datalinks: Fix context menu position for body scroll (#92389) * fix(datalinks): position context menu offest to vertical window scroll * feature toggle change * enhance boot data mock with empty featureToggles --------- Co-authored-by: Ashley Harrison --- .../grafana-ui/src/components/ContextMenu/WithContextMenu.tsx | 3 ++- public/test/jest-setup.ts | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/grafana-ui/src/components/ContextMenu/WithContextMenu.tsx b/packages/grafana-ui/src/components/ContextMenu/WithContextMenu.tsx index f02aba48c1f..65f33539936 100644 --- a/packages/grafana-ui/src/components/ContextMenu/WithContextMenu.tsx +++ b/packages/grafana-ui/src/components/ContextMenu/WithContextMenu.tsx @@ -15,6 +15,7 @@ export interface WithContextMenuProps { export const WithContextMenu = ({ children, renderMenuItems, focusOnOpen = true }: WithContextMenuProps) => { const [isMenuOpen, setIsMenuOpen] = useState(false); const [menuPosition, setMenuPosition] = useState({ x: 0, y: 0 }); + const isBodyScrolling = window.grafanaBootData?.settings.featureToggles.bodyScrolling; return ( <> {children({ @@ -22,7 +23,7 @@ export const WithContextMenu = ({ children, renderMenuItems, focusOnOpen = true setIsMenuOpen(true); setMenuPosition({ x: e.pageX, - y: e.pageY, + y: isBodyScrolling ? e.pageY - window.scrollY : e.pageY, }); }, })} diff --git a/public/test/jest-setup.ts b/public/test/jest-setup.ts index 640db119ccd..ceda333c3d5 100644 --- a/public/test/jest-setup.ts +++ b/public/test/jest-setup.ts @@ -27,6 +27,7 @@ global.$ = global.jQuery = $; // mock the default window.grafanaBootData settings const settings: Partial = { angularSupportEnabled: true, + featureToggles: {}, }; global.grafanaBootData = { settings,