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,