mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -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.length).toEqual(1);
|
||||||
expect(v0.get(0)).toEqual(input1.datapoints[0]);
|
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', () => {
|
describe('SeriesData backwards compatibility', () => {
|
||||||
|
@ -25,6 +25,7 @@ import { ArrayDataFrame } from './ArrayDataFrame';
|
|||||||
import { getFieldDisplayName } from '../field/fieldState';
|
import { getFieldDisplayName } from '../field/fieldState';
|
||||||
import { fieldIndexComparer } from '../field/fieldComparers';
|
import { fieldIndexComparer } from '../field/fieldComparers';
|
||||||
import { vectorToArray } from '../vector/vectorToArray';
|
import { vectorToArray } from '../vector/vectorToArray';
|
||||||
|
import { dataFrameFromJSON } from './DataFrameJSON';
|
||||||
|
|
||||||
function convertTableToDataFrame(table: TableData): DataFrame {
|
function convertTableToDataFrame(table: TableData): DataFrame {
|
||||||
const fields = table.columns.map((c) => {
|
const fields = table.columns.map((c) => {
|
||||||
@ -302,6 +303,9 @@ export function toDataFrame(data: any): DataFrame {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (data.hasOwnProperty('data')) {
|
if (data.hasOwnProperty('data')) {
|
||||||
|
if (data.hasOwnProperty('schema')) {
|
||||||
|
return dataFrameFromJSON(data);
|
||||||
|
}
|
||||||
return convertGraphSeriesToDataFrame(data);
|
return convertGraphSeriesToDataFrame(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user