Panel: more work on panel links, #1041

This commit is contained in:
Torkel Ödegaard 2014-11-11 12:51:57 +01:00
parent 5da3da5962
commit a49a9b3b64
3 changed files with 30 additions and 11 deletions

View File

@ -13,14 +13,14 @@ function (angular, kbn) {
var info = {};
if (link.type === 'absolute') {
info.target = '_blank';
info.href = templateSrv.replace(link.url);
info.title = templateSrv.replace(link.title);
info.href = templateSrv.replace(link.url || '');
info.title = templateSrv.replace(link.title || '');
info.href += '?';
}
else {
info.title = templateSrv.replace(link.title);
var slug = kbn.slugifyForUrl(link.dashboard);
info.title = templateSrv.replace(link.title || '');
var slug = kbn.slugifyForUrl(link.dashboard || '');
info.href = '#dashboard/db/' + slug + '?';
}

View File

@ -9,7 +9,11 @@ function (angular, $, _) {
angular
.module('grafana.directives')
.directive('panelMenu', function($compile, linkSrv) {
var linkTemplate = '<span class="panel-title drag-handle pointer">{{panel.title | interpolateTemplateVars}}</span>';
var linkTemplate =
'<span class="panel-title drag-handle pointer">' +
'<span class="panel-title-text">{{panel.title | interpolateTemplateVars}}</span>' +
'<span class="panel-links-icon"></span>' +
'</span>';
function createMenuTemplate($scope) {
var template = '<div class="panel-menu small">';
@ -39,13 +43,15 @@ function (angular, $, _) {
}
function getExtendedMenu($scope) {
var menu =angular.copy($scope.panelMeta.extendedMenu);
if (!$scope.panel.links) { return; }
var menu = angular.copy($scope.panelMeta.extendedMenu);
if ($scope.panel.links) {
_.each($scope.panel.links, function(link) {
var info = linkSrv.getPanelLinkAnchorInfo(link);
menu.push({text: info.title, href: info.href, target: info.target });
});
}
return menu;
}
@ -61,6 +67,10 @@ function (angular, $, _) {
elem.append($link);
$scope.$watchCollection('panel.links', function(newValue) {
$link.toggleClass('has-panel-links', newValue ? newValue.length > 0 : false);
});
function dismiss(time) {
clearTimeout(timeout);
timeout = null;

View File

@ -27,6 +27,15 @@
font-weight: bold;
position: relative;
cursor: context-menu;
&.has-panel-links {
.panel-title-text:after {
content: "\f0c1";
font-family:'FontAwesome';
font-size: 80%;
padding-left: 10px;
}
}
}
.panel-loading {