From 455a33bd8eaaf9e26192861040309e5e986f58a9 Mon Sep 17 00:00:00 2001 From: ryan Date: Mon, 11 Mar 2019 09:24:25 -0700 Subject: [PATCH] cleanup after review --- .../grafana-ui/src/utils/processTimeSeries.ts | 31 ++++++++++--------- public/app/core/table_model.ts | 9 ++++-- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/packages/grafana-ui/src/utils/processTimeSeries.ts b/packages/grafana-ui/src/utils/processTimeSeries.ts index a56fe004b05..8202d2f6187 100644 --- a/packages/grafana-ui/src/utils/processTimeSeries.ts +++ b/packages/grafana-ui/src/utils/processTimeSeries.ts @@ -193,6 +193,22 @@ export function processTimeSeries({ data, xColumn, yColumn, nullValueMode }: Opt return vmSeries; } +function convertTimeSeriesToTableData(timeSeries: TimeSeries): TableData { + return { + columns: [ + { + text: timeSeries.target || 'Value', + unit: timeSeries.unit, + }, + { + text: 'Time', + type: 'time', + }, + ], + rows: timeSeries.datapoints, + }; +} + export const isTableData = (data: any): data is TableData => data && data.hasOwnProperty('columns'); export const toTableData = (results?: any[]): TableData[] => { @@ -207,20 +223,7 @@ export const toTableData = (results?: any[]): TableData[] => { return data as TableData; } if (data.hasOwnProperty('datapoints')) { - const ts = data as TimeSeries; - return { - columns: [ - { - text: ts.target || 'Value', - unit: ts.unit, - }, - { - text: 'Time', - type: 'time', - }, - ], - rows: ts.datapoints, - } as TableData; + return convertTimeSeriesToTableData(data); } // TODO, try to convert JSON to table? console.warn('Can not convert', data); diff --git a/public/app/core/table_model.ts b/public/app/core/table_model.ts index 988c3b1992e..3e8389e4be8 100644 --- a/public/app/core/table_model.ts +++ b/public/app/core/table_model.ts @@ -1,15 +1,18 @@ import _ from 'lodash'; import { Column, TableData } from '@grafana/ui'; -// This class mutates and uses the extra column fields -interface ColumnEX extends Column { +/** + * Extends the standard Column class with variables that get + * mutated in the angular table panel. + */ +interface AngularTableColumn extends Column { title?: string; sort?: boolean; desc?: boolean; } export default class TableModel implements TableData { - columns: ColumnEX[]; + columns: AngularTableColumn[]; rows: any[]; type: string; columnMap: any;