diff --git a/public/app/core/components/grafana_app.ts b/public/app/core/components/grafana_app.ts
index 77089b14ddc..39601f903ec 100644
--- a/public/app/core/components/grafana_app.ts
+++ b/public/app/core/components/grafana_app.ts
@@ -79,21 +79,16 @@ export function grafanaAppDirective(playlistSrv, contextSrv, $timeout, $rootScop
sidemenuOpen = scope.contextSrv.sidemenu;
body.toggleClass('sidemenu-open', sidemenuOpen);
- scope.$watch('contextSrv.sidemenu', newVal => {
- if (sidemenuOpen !== scope.contextSrv.sidemenu) {
- sidemenuOpen = scope.contextSrv.sidemenu;
- body.toggleClass('sidemenu-open', scope.contextSrv.sidemenu);
- }
+ appEvents.on('toggle-sidemenu', () => {
+ body.toggleClass('sidemenu-open');
});
- let sidemenuOpenSmallBreakpoint = scope.contextSrv.sidemenuSmallBreakpoint;
- body.toggleClass('sidemenu-open--xs', sidemenuOpenSmallBreakpoint);
+ appEvents.on('toggle-sidemenu-mobile', () => {
+ body.toggleClass('sidemenu-open--xs');
+ });
- scope.$watch('contextSrv.sidemenuSmallBreakpoint', newVal => {
- if (sidemenuOpenSmallBreakpoint !== scope.contextSrv.sidemenuSmallBreakpoint) {
- sidemenuOpenSmallBreakpoint = scope.contextSrv.sidemenuSmallBreakpoint;
- body.toggleClass('sidemenu-open--xs', scope.contextSrv.sidemenuSmallBreakpoint);
- }
+ appEvents.on('toggle-sidemenu-hidden', () => {
+ body.toggleClass('sidemenu-hidden');
});
// tooltip removal fix
@@ -111,6 +106,9 @@ export function grafanaAppDirective(playlistSrv, contextSrv, $timeout, $rootScop
}
}
+ // clear body class sidemenu states
+ body.removeClass('sidemenu-open--xs');
+
$("#tooltip, .tooltip").remove();
// check for kiosk url param
diff --git a/public/app/core/components/sidemenu/sidemenu.html b/public/app/core/components/sidemenu/sidemenu.html
index b47b7fc8265..7ed2ab1f2c7 100644
--- a/public/app/core/components/sidemenu/sidemenu.html
+++ b/public/app/core/components/sidemenu/sidemenu.html
@@ -3,11 +3,10 @@
-
-
+
+
-