mirror of
https://github.com/grafana/grafana.git
synced 2025-02-14 01:23:32 -06:00
DataFrame: toDataFrame( ...) should support the query response payload (#40594)
This commit is contained in:
parent
f496c31018
commit
aeb868bb06
@ -174,6 +174,48 @@ describe('toDataFrame', () => {
|
||||
expect(v0.length).toEqual(1);
|
||||
expect(v0.get(0)).toEqual(input1.datapoints[0]);
|
||||
});
|
||||
|
||||
it('converts JSON response to dataframes', () => {
|
||||
const msg = {
|
||||
schema: {
|
||||
fields: [
|
||||
{
|
||||
name: 'First',
|
||||
type: 'string',
|
||||
},
|
||||
{
|
||||
name: 'Second',
|
||||
type: 'number',
|
||||
},
|
||||
],
|
||||
},
|
||||
data: {
|
||||
values: [
|
||||
['2019-02-15', '2019-03-15', '2019-04-15'],
|
||||
[3, 9, 16],
|
||||
],
|
||||
},
|
||||
};
|
||||
const dataFrame = toDataFrame(msg);
|
||||
expect(dataFrame.fields.map((f) => ({ [f.name]: f.values.toArray() }))).toMatchInlineSnapshot(`
|
||||
Array [
|
||||
Object {
|
||||
"First": Array [
|
||||
"2019-02-15",
|
||||
"2019-03-15",
|
||||
"2019-04-15",
|
||||
],
|
||||
},
|
||||
Object {
|
||||
"Second": Array [
|
||||
3,
|
||||
9,
|
||||
16,
|
||||
],
|
||||
},
|
||||
]
|
||||
`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('SeriesData backwards compatibility', () => {
|
||||
|
@ -25,6 +25,7 @@ import { ArrayDataFrame } from './ArrayDataFrame';
|
||||
import { getFieldDisplayName } from '../field/fieldState';
|
||||
import { fieldIndexComparer } from '../field/fieldComparers';
|
||||
import { vectorToArray } from '../vector/vectorToArray';
|
||||
import { dataFrameFromJSON } from './DataFrameJSON';
|
||||
|
||||
function convertTableToDataFrame(table: TableData): DataFrame {
|
||||
const fields = table.columns.map((c) => {
|
||||
@ -302,6 +303,9 @@ export function toDataFrame(data: any): DataFrame {
|
||||
}
|
||||
|
||||
if (data.hasOwnProperty('data')) {
|
||||
if (data.hasOwnProperty('schema')) {
|
||||
return dataFrameFromJSON(data);
|
||||
}
|
||||
return convertGraphSeriesToDataFrame(data);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user