{
link.onClick?.();
- onClose?.();
+ onClick?.();
}}
target={link.target}
url={link.url}
@@ -75,7 +75,7 @@ export function MegaMenuItem({ link, activeItem, level = 0, onClose }: Props) {
key={`${link.text}-${childLink.text}`}
link={childLink}
activeItem={activeItem}
- onClose={onClose}
+ onClick={onClick}
level={level + 1}
/>
))
@@ -121,6 +121,9 @@ const getStyles = (theme: GrafanaTheme2) => ({
alignItems: 'center',
fontWeight: theme.typography.fontWeightMedium,
}),
+ listItem: css({
+ flex: 1,
+ }),
isActive: css({
color: theme.colors.text.primary,
diff --git a/public/app/core/components/AppChrome/MegaMenu/MegaMenu.test.tsx b/public/app/core/components/AppChrome/MegaMenu/MegaMenu.test.tsx
index a411c977ff9..59551594e72 100644
--- a/public/app/core/components/AppChrome/MegaMenu/MegaMenu.test.tsx
+++ b/public/app/core/components/AppChrome/MegaMenu/MegaMenu.test.tsx
@@ -29,7 +29,7 @@ const setup = () => {
];
const grafanaContext = getGrafanaContextMock();
- grafanaContext.chrome.onToggleMegaMenu();
+ grafanaContext.chrome.setMegaMenu('open');
return render(
diff --git a/public/app/core/components/AppChrome/MegaMenu/NavBarMenu.tsx b/public/app/core/components/AppChrome/MegaMenu/NavBarMenu.tsx
index 6879e4f1cda..18e6411a900 100644
--- a/public/app/core/components/AppChrome/MegaMenu/NavBarMenu.tsx
+++ b/public/app/core/components/AppChrome/MegaMenu/NavBarMenu.tsx
@@ -46,10 +46,10 @@ export function NavBarMenu({ activeItem, navItems, searchBarHidden, onClose }: P
);
useEffect(() => {
- if (state.megaMenuOpen) {
+ if (state.megaMenu === 'open') {
setIsOpen(true);
}
- }, [state.megaMenuOpen]);
+ }, [state.megaMenu]);
return (
diff --git a/public/app/core/components/Page/Page.tsx b/public/app/core/components/Page/Page.tsx
index 595cd466199..f2490a2d91f 100644
--- a/public/app/core/components/Page/Page.tsx
+++ b/public/app/core/components/Page/Page.tsx
@@ -3,6 +3,7 @@ import { css, cx } from '@emotion/css';
import React, { useLayoutEffect } from 'react';
import { GrafanaTheme2, PageLayoutType } from '@grafana/data';
+import { config } from '@grafana/runtime';
import { CustomScrollbar, useStyles2 } from '@grafana/ui';
import { useGrafana } from 'app/core/context/GrafanaContext';
@@ -108,7 +109,7 @@ const getStyles = (theme: GrafanaTheme2) => {
margin: theme.spacing(0, 0, 0, 0),
[theme.breakpoints.up('md')]: {
- margin: theme.spacing(2, 2, 0, 1),
+ margin: theme.spacing(2, 2, 0, config.featureToggles.dockedMegaMenu ? 2 : 1),
padding: theme.spacing(3),
},
}),
diff --git a/public/locales/de-DE/grafana.json b/public/locales/de-DE/grafana.json
index 6b13a287858..d4a27b44448 100644
--- a/public/locales/de-DE/grafana.json
+++ b/public/locales/de-DE/grafana.json
@@ -722,6 +722,11 @@
"kiosk": {
"tv-alert": "Drücke ESC, um den Kiosk-Modus zu verlassen"
},
+ "megamenu": {
+ "close": "",
+ "dock": "",
+ "undock": ""
+ },
"toolbar": {
"enable-kiosk": "Kiosk-Modus aktivieren",
"toggle-menu": "Menü umschalten",
diff --git a/public/locales/en-US/grafana.json b/public/locales/en-US/grafana.json
index 9d4ae262e9d..2680839a488 100644
--- a/public/locales/en-US/grafana.json
+++ b/public/locales/en-US/grafana.json
@@ -722,6 +722,11 @@
"kiosk": {
"tv-alert": "Press ESC to exit kiosk mode"
},
+ "megamenu": {
+ "close": "Close menu",
+ "dock": "Dock menu",
+ "undock": "Undock menu"
+ },
"toolbar": {
"enable-kiosk": "Enable kiosk mode",
"toggle-menu": "Toggle menu",
diff --git a/public/locales/es-ES/grafana.json b/public/locales/es-ES/grafana.json
index 55fbec548ea..efdcacb0dad 100644
--- a/public/locales/es-ES/grafana.json
+++ b/public/locales/es-ES/grafana.json
@@ -728,6 +728,11 @@
"kiosk": {
"tv-alert": "Pulse ESC para salir del modo de quiosco"
},
+ "megamenu": {
+ "close": "",
+ "dock": "",
+ "undock": ""
+ },
"toolbar": {
"enable-kiosk": "Activar el modo de quiosco",
"toggle-menu": "Activar o desactivar menú",
diff --git a/public/locales/fr-FR/grafana.json b/public/locales/fr-FR/grafana.json
index fa76398f0ba..dcdca2e1f2d 100644
--- a/public/locales/fr-FR/grafana.json
+++ b/public/locales/fr-FR/grafana.json
@@ -728,6 +728,11 @@
"kiosk": {
"tv-alert": "Appuyez sur ESC pour quitter le mode kiosque"
},
+ "megamenu": {
+ "close": "",
+ "dock": "",
+ "undock": ""
+ },
"toolbar": {
"enable-kiosk": "Activer le mode kiosque",
"toggle-menu": "Afficher/Masquer le menu",
diff --git a/public/locales/pseudo-LOCALE/grafana.json b/public/locales/pseudo-LOCALE/grafana.json
index e54ce1ec676..d8e037af51e 100644
--- a/public/locales/pseudo-LOCALE/grafana.json
+++ b/public/locales/pseudo-LOCALE/grafana.json
@@ -722,6 +722,11 @@
"kiosk": {
"tv-alert": "Přęşş ĒŜC ŧő ęχįŧ ĸįőşĸ mőđę"
},
+ "megamenu": {
+ "close": "Cľőşę męʼnū",
+ "dock": "Đőčĸ męʼnū",
+ "undock": "Ůʼnđőčĸ męʼnū"
+ },
"toolbar": {
"enable-kiosk": "Ēʼnäþľę ĸįőşĸ mőđę",
"toggle-menu": "Ŧőģģľę męʼnū",
diff --git a/public/locales/zh-Hans/grafana.json b/public/locales/zh-Hans/grafana.json
index f7bcbfbe56f..061da99ba8b 100644
--- a/public/locales/zh-Hans/grafana.json
+++ b/public/locales/zh-Hans/grafana.json
@@ -716,6 +716,11 @@
"kiosk": {
"tv-alert": "按 ESC 退出 kiosk 模式"
},
+ "megamenu": {
+ "close": "",
+ "dock": "",
+ "undock": ""
+ },
"toolbar": {
"enable-kiosk": "启用 kiosk 模式",
"toggle-menu": "切换菜单",