From c0a2aceac5d976edd2bb5be1fdc251b9a56e0fc0 Mon Sep 17 00:00:00 2001 From: kay delaney <45561153+kaydelaney@users.noreply.github.com> Date: Mon, 25 May 2020 15:54:24 +0100 Subject: [PATCH] Explore/Table: Keep existing field types if possible (#24944) * Explore/Table: Keep existing field types if possible (cherry picked from commit f5a9b23d83297f2acb4d2c6d8707a6387ed15400) --- .../grafana-data/src/dataframe/processDataFrame.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/grafana-data/src/dataframe/processDataFrame.ts b/packages/grafana-data/src/dataframe/processDataFrame.ts index 67aa314eab1..83efb7e324f 100644 --- a/packages/grafana-data/src/dataframe/processDataFrame.ts +++ b/packages/grafana-data/src/dataframe/processDataFrame.ts @@ -26,12 +26,12 @@ import { getFieldDisplayName } from '../field/fieldState'; function convertTableToDataFrame(table: TableData): DataFrame { const fields = table.columns.map(c => { - const { text, ...disp } = c; + const { text, type, ...disp } = c as any; return { name: text, // rename 'text' to the 'name' field config: (disp || {}) as FieldConfig, values: new ArrayVector(), - type: FieldType.other, + type: type && Object.values(FieldType).includes(type as FieldType) ? (type as FieldType) : FieldType.other, }; }); @@ -46,9 +46,11 @@ function convertTableToDataFrame(table: TableData): DataFrame { } for (const f of fields) { - const t = guessFieldTypeForField(f); - if (t) { - f.type = t; + if (f.type === FieldType.other) { + const t = guessFieldTypeForField(f); + if (t) { + f.type = t; + } } }