mirror of
https://github.com/grafana/grafana.git
synced 2025-02-11 08:05:43 -06:00
dashboard: fixes for panels without rows
This commit is contained in:
parent
5e8f253ff8
commit
0f6270098b
@ -235,42 +235,54 @@ export class BackendSrv {
|
||||
|
||||
createDashboardFolder(name) {
|
||||
const dash = {
|
||||
schemaVersion: 16,
|
||||
title: name,
|
||||
editable: true,
|
||||
hideControls: true,
|
||||
rows: [
|
||||
panels: [
|
||||
{
|
||||
panels: [
|
||||
{
|
||||
folderId: 0,
|
||||
headings: false,
|
||||
limit: 1000,
|
||||
links: [],
|
||||
query: '',
|
||||
recent: false,
|
||||
search: true,
|
||||
span: 4,
|
||||
starred: false,
|
||||
tags: [],
|
||||
title: 'Dashboards in this folder',
|
||||
type: 'dashlist'
|
||||
},
|
||||
{
|
||||
onlyAlertsOnDashboard: true,
|
||||
span: 4,
|
||||
title: 'Alerts in this folder',
|
||||
type: 'alertlist'
|
||||
},
|
||||
{
|
||||
span: 4,
|
||||
title: 'Permissions for this folder',
|
||||
type: 'permissionlist',
|
||||
folderId: 0
|
||||
}
|
||||
],
|
||||
showTitle: true,
|
||||
title: name,
|
||||
titleSize: 'h1'
|
||||
id: 1,
|
||||
folderId: 0,
|
||||
headings: false,
|
||||
limit: 1000,
|
||||
links: [],
|
||||
query: '',
|
||||
recent: false,
|
||||
search: true,
|
||||
starred: false,
|
||||
tags: [],
|
||||
title: 'Dashboards in this folder',
|
||||
type: 'dashlist',
|
||||
gridPos: {
|
||||
x: 0,
|
||||
y: 0,
|
||||
w: 4,
|
||||
h: 10
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
onlyAlertsOnDashboard: true,
|
||||
title: 'Alerts in this folder',
|
||||
type: 'alertlist',
|
||||
gridPos: {
|
||||
x: 4,
|
||||
y: 0,
|
||||
w: 4,
|
||||
h: 10
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: 'Permissions for this folder',
|
||||
type: 'permissionlist',
|
||||
folderId: 0,
|
||||
gridPos: {
|
||||
x: 8,
|
||||
y: 0,
|
||||
w: 4,
|
||||
h: 10
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
@ -280,8 +292,8 @@ export class BackendSrv {
|
||||
return this.getDashboard('db', res.slug);
|
||||
})
|
||||
.then(res => {
|
||||
res.dashboard.rows[0].panels[0].folderId = res.dashboard.id;
|
||||
res.dashboard.rows[0].panels[2].folderId = res.dashboard.id;
|
||||
res.dashboard.panels[0].folderId = res.dashboard.id;
|
||||
res.dashboard.panels[2].folderId = res.dashboard.id;
|
||||
return this.saveDashboard(res.dashboard, {overwrite: false});
|
||||
});
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ export class PanelModel {
|
||||
gridPos: GridPos;
|
||||
type: string;
|
||||
title: string;
|
||||
alert?: any;
|
||||
|
||||
// non persisted
|
||||
fullscreen: boolean;
|
||||
|
@ -92,16 +92,16 @@ export class DashNavCtrl {
|
||||
}
|
||||
|
||||
deleteDashboard() {
|
||||
var confirmText = "";
|
||||
var confirmText = '';
|
||||
var text2 = this.dashboard.title;
|
||||
var alerts = this.dashboard.rows.reduce((memo, row) => {
|
||||
memo += row.panels.filter(panel => panel.alert).length;
|
||||
return memo;
|
||||
}, 0);
|
||||
|
||||
const alerts = _.sumBy(this.dashboard.panels, panel => {
|
||||
return panel.alert ? 1 : 0;
|
||||
});
|
||||
|
||||
if (alerts > 0) {
|
||||
confirmText = 'DELETE';
|
||||
text2 = `This dashboard contains ${alerts} alerts. Deleting this dashboad will also delete those alerts`;
|
||||
text2 = `This dashboard contains ${alerts} alerts. Deleting this dashboard will also delete those alerts`;
|
||||
}
|
||||
|
||||
appEvents.emit('confirm-modal', {
|
||||
|
Loading…
Reference in New Issue
Block a user