Browse Source

cleanup after review

ryan 7 years ago
parent
commit
455a33bd8e
2 changed files with 23 additions and 17 deletions
  1. 17 14
      packages/grafana-ui/src/utils/processTimeSeries.ts
  2. 6 3
      public/app/core/table_model.ts

+ 17 - 14
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);

+ 6 - 3
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;