From 2bdb2f79ec5b53ef155043b7137c44289ce4ef0c Mon Sep 17 00:00:00 2001 From: Carl Bergquist Date: Mon, 28 Nov 2016 20:42:43 +0100 Subject: [PATCH] fix(table): renderes empty date column as '-' (#6736) * fix(table): renderes empty date column as '-' closes #6728 * docs(changelog): add note about closing 6728 --- CHANGELOG.md | 1 + public/app/plugins/panel/table/renderer.ts | 4 ++++ public/app/plugins/panel/table/specs/renderer_specs.ts | 10 ++++++++++ 3 files changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bbc3c68cb12..6f437fbab99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ * **Alerts out of sync**: Saving dashboards with broken alerts causes sync problem[#6576](https://github.com/grafana/grafana/issues/6576) * **Alerting**: Saving an alert with condition "HAS NO DATA" throws an error[#6701](https://github.com/grafana/grafana/issues/6701) * **Config**: Improve error message when parsing broken config file [#6731](https://github.com/grafana/grafana/issues/6731) +* **Table**: Render empty dates as - instead of current date [#6728](https://github.com/grafana/grafana/issues/6728) # 4.0-beta2 (2016-11-21) diff --git a/public/app/plugins/panel/table/renderer.ts b/public/app/plugins/panel/table/renderer.ts index 819471c9470..a18f4422351 100644 --- a/public/app/plugins/panel/table/renderer.ts +++ b/public/app/plugins/panel/table/renderer.ts @@ -47,6 +47,10 @@ export class TableRenderer { if (style.type === 'date') { return v => { + if (v === undefined || v === null) { + return '-'; + } + if (_.isArray(v)) { v = v[0]; } var date = moment(v); if (this.isUtc) { diff --git a/public/app/plugins/panel/table/specs/renderer_specs.ts b/public/app/plugins/panel/table/specs/renderer_specs.ts index 9cf2ba1046b..46789f295d1 100644 --- a/public/app/plugins/panel/table/specs/renderer_specs.ts +++ b/public/app/plugins/panel/table/specs/renderer_specs.ts @@ -68,6 +68,16 @@ describe('when rendering table', () => { expect(html).to.be('2014-01-01T06:06:06Z'); }); + it('undefined time column should be rendered as -', () => { + var html = renderer.renderCell(0, undefined); + expect(html).to.be('-'); + }); + + it('null time column should be rendered as -', () => { + var html = renderer.renderCell(0, null); + expect(html).to.be('-'); + }); + it('number column with unit specified should ignore style unit', () => { var html = renderer.renderCell(5, 1230); expect(html).to.be('1.23 kbps');