Commit 0f627009 by Daniel Lee

dashboard: fixes for panels without rows

parent 5e8f253f
......@@ -235,13 +235,13 @@ export class BackendSrv {
createDashboardFolder(name) {
const dash = {
schemaVersion: 16,
title: name,
editable: true,
hideControls: true,
rows: [
{
panels: [
{
id: 1,
folderId: 0,
headings: false,
limit: 1000,
......@@ -249,28 +249,40 @@ export class BackendSrv {
query: '',
recent: false,
search: true,
span: 4,
starred: false,
tags: [],
title: 'Dashboards in this folder',
type: 'dashlist'
type: 'dashlist',
gridPos: {
x: 0,
y: 0,
w: 4,
h: 10
}
},
{
id: 2,
onlyAlertsOnDashboard: true,
span: 4,
title: 'Alerts in this folder',
type: 'alertlist'
type: 'alertlist',
gridPos: {
x: 4,
y: 0,
w: 4,
h: 10
}
},
{
span: 4,
id: 3,
title: 'Permissions for this folder',
type: 'permissionlist',
folderId: 0
folderId: 0,
gridPos: {
x: 8,
y: 0,
w: 4,
h: 10
}
],
showTitle: true,
title: name,
titleSize: 'h1'
}
]
};
......@@ -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', {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment