feat(sidemenu): pinned work started

This commit is contained in:
Torkel Ödegaard
2016-01-29 15:12:56 -05:00
parent 64fa9a6394
commit b5ef793ae4
8 changed files with 56 additions and 8 deletions

View File

@@ -150,6 +150,9 @@ export function grafanaAppDirective(playlistSrv) {
scope.$watch('contextSrv.sidemenu', newVal => {
if (newVal !== undefined) {
elem.toggleClass('sidemenu-open', scope.contextSrv.sidemenu);
if (!newVal) {
scope.contextSrv.setPinnedState(false);
}
}
if (scope.contextSrv.sidemenu) {
ignoreSideMenuHide = true;
@@ -159,6 +162,12 @@ export function grafanaAppDirective(playlistSrv) {
}
});
scope.$watch('contextSrv.pinned', newVal => {
if (newVal !== undefined) {
elem.toggleClass('sidemenu-pinned', newVal);
}
});
// tooltip removal fix
scope.$on("$routeChangeSuccess", function() {
$("#tooltip, .tooltip").remove();
@@ -182,7 +191,7 @@ export function grafanaAppDirective(playlistSrv) {
}
}
// hide sidemenu
if (!ignoreSideMenuHide && elem.find('.sidemenu').length > 0) {
if (!ignoreSideMenuHide && !scope.contextSrv.pinned && elem.find('.sidemenu').length > 0) {
if (target.parents('.sidemenu').length === 0) {
scope.$apply(() => scope.contextSrv.toggleSideMenu());
}

View File

@@ -1,4 +1,4 @@
<div class="navbar navbar-static-top">
<div class="navbar">
<div class="navbar-inner"><div class="container-fluid">
<div class="top-nav-btn top-nav-menu-btn">
<a class="pointer" ng-click="ctrl.contextSrv.toggleSideMenu()">

View File

@@ -62,5 +62,11 @@
</a>
</li>
<li>
<a class="sidemenu-item" target="_self" ng-click="ctrl.contextSrv.setPinnedState(true)">
<span class="icon-circle sidemenu-icon"><i class="fa fa-fw fa-flag-o"></i></span>
<span class="sidemenu-item-text">Pin</span>
</a>
</li>
</ul>

View File

@@ -22,8 +22,11 @@ export class SideMenuCtrl {
this.appSubUrl = config.appSubUrl;
this.showSignout = this.contextSrv.isSignedIn && !config['authProxyEnabled'];
this.updateMenu();
this.$scope.$on('$routeChangeSuccess', () => {
this.contextSrv.sidemenu = false;
if (!this.contextSrv.pinned) {
this.contextSrv.sidemenu = false;
}
});
}