From 5bc748cb56bc1a6f3eb3e6d9f0590c741155fce6 Mon Sep 17 00:00:00 2001 From: Gabriel Kent Date: Mon, 18 Nov 2019 19:45:12 -0800 Subject: [PATCH] Dashboard Migrator: persist thresholds param if already set (#20458) (cherry picked from commit 836cf8e63914a04d0317f63d2e125dab611da10b) --- .../dashboard/state/DashboardMigrator.test.ts | 21 +++++++++++++++++++ .../dashboard/state/DashboardMigrator.ts | 4 +++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/public/app/features/dashboard/state/DashboardMigrator.test.ts b/public/app/features/dashboard/state/DashboardMigrator.test.ts index c0da0d99016..ecae1062404 100644 --- a/public/app/features/dashboard/state/DashboardMigrator.test.ts +++ b/public/app/features/dashboard/state/DashboardMigrator.test.ts @@ -139,6 +139,27 @@ describe('DashboardModel', () => { expect(graph.thresholds[1].value).toBe(400); expect(graph.thresholds[1].fillColor).toBe('red'); }); + + it('graph thresholds should be migrated onto specified thresholds', () => { + model = new DashboardModel({ + panels: [ + { + type: 'graph', + y_formats: ['kbyte', 'ms'], + grid: { + threshold1: 200, + threshold2: 400, + }, + thresholds: [{ value: 100 }], + }, + ], + }); + graph = model.panels[0]; + expect(graph.thresholds.length).toBe(3); + expect(graph.thresholds[0].value).toBe(100); + expect(graph.thresholds[1].value).toBe(200); + expect(graph.thresholds[2].value).toBe(400); + }); }); describe('when migrating to the grid layout', () => { diff --git a/public/app/features/dashboard/state/DashboardMigrator.ts b/public/app/features/dashboard/state/DashboardMigrator.ts index 9445e314582..ca8100902d2 100644 --- a/public/app/features/dashboard/state/DashboardMigrator.ts +++ b/public/app/features/dashboard/state/DashboardMigrator.ts @@ -316,7 +316,9 @@ export class DashboardMigrator { return; } - panel.thresholds = []; + if (!panel.thresholds) { + panel.thresholds = []; + } const t1: any = {}, t2: any = {};