grafana/public/app/directives/bodyClass.js
2015-05-06 10:57:32 +02:00

51 lines
1.2 KiB
JavaScript

define([
'angular',
'lodash',
'jquery'
],
function (angular, _, $) {
'use strict';
angular
.module('grafana.directives')
.directive('bodyClass', function() {
return {
link: function($scope, elem) {
var lastHideControlsVal;
// tooltip removal fix
$scope.$on("$routeChangeSuccess", function() {
$("#tooltip, .tooltip").remove();
});
$scope.$watch('submenuEnabled', function() {
if (!$scope.dashboard) {
return;
}
elem.toggleClass('submenu-controls-visible', $scope.submenuEnabled);
});
$scope.$watch('dashboard.hideControls', function() {
if (!$scope.dashboard) {
return;
}
var hideControls = $scope.dashboard.hideControls || $scope.playlist_active;
if (lastHideControlsVal !== hideControls) {
elem.toggleClass('hide-controls', hideControls);
lastHideControlsVal = hideControls;
}
});
$scope.$watch('playlistSrv', function(newValue) {
elem.toggleClass('playlist-active', _.isObject(newValue));
});
}
};
});
});