use uid when linking to dashboards internally in a dashboard

This commit is contained in:
Marcus Efraimsson
2018-08-08 16:01:01 +02:00
parent 817179c097
commit 8dfe4a97ef
3 changed files with 11 additions and 3 deletions

View File

@@ -144,8 +144,7 @@ export class DashLinksContainerCtrl {
if (dash.id !== currentDashId) {
memo.push({
title: dash.title,
url: 'dashboard/' + dash.uri,
target: link.target,
url: dash.url,
icon: 'fa fa-th-large',
keepTime: link.keepTime,
includeVars: link.includeVars,

View File

@@ -77,6 +77,10 @@ export class LinkSrv {
info.target = link.targetBlank ? '_blank' : '_self';
info.href = this.templateSrv.replace(link.url || '', scopedVars);
info.title = this.templateSrv.replace(link.title || '', scopedVars);
} else if (link.url) {
info.href = link.url;
info.title = this.templateSrv.replace(link.title || '', scopedVars);
info.target = link.targetBlank ? '_blank' : '';
} else if (link.dashUri) {
info.href = 'dashboard/' + link.dashUri + '?';
info.title = this.templateSrv.replace(link.title || '', scopedVars);

View File

@@ -39,7 +39,12 @@ export class PanelLinksEditorCtrl {
backendSrv.search({ query: link.dashboard }).then(function(hits) {
var dashboard = _.find(hits, { title: link.dashboard });
if (dashboard) {
if (dashboard.url) {
link.url = dashboard.url;
} else {
// To support legacy url's
link.dashUri = dashboard.uri;
}
link.title = dashboard.title;
}
});