Datasource/Elasticsearch: Fix logs which were displayed with incorrect timestamp in Explore logs tab (#20009)

This commit is contained in:
lzd 2019-11-06 15:42:36 +08:00 committed by David
parent 92ab4d80f0
commit 31e7e35bff
2 changed files with 15 additions and 0 deletions

View File

@ -57,6 +57,16 @@ describe('Apending DataFrame', () => {
{ time: null, name: null, value: null, value2: 'XXX' }, // 4
]);
// Add a time value that has an array type
frame.add({ time: [300] });
expect(frame.toArray()).toEqual([
{ time: 100, name: 'a', value: 1, value2: null }, // 1
{ time: 200, name: 'BB', value: 20, value2: null }, // 2
{ time: null, name: null, value: 3, value2: null }, // 3
{ time: null, name: null, value: null, value2: 'XXX' }, // 4
{ time: 300, name: null, value: null, value2: null }, // 5
]);
// Make sure length survives a spread operator
const keys = Object.keys(frame);
const copy = { ...frame } as any;

View File

@ -234,6 +234,11 @@ export class MutableDataFrame<T = any> implements DataFrame, MutableVector<T> {
field.parse = makeFieldParser(val, field);
}
val = field.parse(val);
} else if (field.type === FieldType.time && isArray(val)) {
if (!field.parse) {
field.parse = (val: any[]) => val[0] || undefined;
}
val = field.parse(val);
}
if (val === undefined) {