diff --git a/public/app/plugins/panel/table/renderer.ts b/public/app/plugins/panel/table/renderer.ts index 6d75f5c97c9..63301a37309 100644 --- a/public/app/plugins/panel/table/renderer.ts +++ b/public/app/plugins/panel/table/renderer.ts @@ -36,7 +36,7 @@ export class TableRenderer { return v; } - createColumnFormater(style) { + createColumnFormater(style, column) { if (!style) { return this.defaultCellFormater; } @@ -53,7 +53,7 @@ export class TableRenderer { } if (style.type === 'number') { - let valueFormater = kbn.valueFormats[style.unit]; + let valueFormater = kbn.valueFormats[column.unit || style.unit]; return v => { if (v === null || v === void 0) { @@ -85,7 +85,7 @@ export class TableRenderer { let column = this.table.columns[colIndex]; var regex = kbn.stringToJsRegex(style.pattern); if (column.text.match(regex)) { - this.formaters[colIndex] = this.createColumnFormater(style); + this.formaters[colIndex] = this.createColumnFormater(style, column); return this.formaters[colIndex](value); } } diff --git a/public/app/plugins/panel/table/specs/renderer_specs.ts b/public/app/plugins/panel/table/specs/renderer_specs.ts index 75a6b03af98..edbe136b079 100644 --- a/public/app/plugins/panel/table/specs/renderer_specs.ts +++ b/public/app/plugins/panel/table/specs/renderer_specs.ts @@ -11,7 +11,8 @@ describe('when rendering table', () => { {text: 'Value'}, {text: 'Colored'}, {text: 'Undefined'}, - {text: 'String'} + {text: 'String'}, + {text: 'United', unit: 'bps'}, ]; var panel = { @@ -40,6 +41,12 @@ describe('when rendering table', () => { { pattern: 'String', type: 'string', + }, + { + pattern: 'United', + type: 'number', + unit: 'ms', + decimals: 2, } ] }; @@ -51,6 +58,11 @@ describe('when rendering table', () => { expect(html).to.be('