Lens IndexPattern getFormatterForField (#203964)

This commit is contained in:
Peter Pisljar 2024-12-19 18:49:36 +01:00 committed by GitHub
parent 4e9ef877cc
commit ddb34ae6a8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 45 additions and 0 deletions

View file

@ -72,6 +72,12 @@ export function convertDataViewIntoLensIndexPattern(
])
),
fields: newFields,
getFormatterForField(sourceField: string): unknown {
const dvField = dataView.getFieldByName(sourceField);
if (dvField) {
return dataView.getFormatterForField(dvField);
}
},
getFieldByName: getFieldByNameFactory(newFields),
hasRestrictions: !!typeMeta?.aggs,
spec: dataView.toSpec(false),

View file

@ -48,6 +48,7 @@ const indexPattern1 = {
hasRestrictions: false,
isPersisted: () => true,
toSpec: () => ({}),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
fields: [
{
name: 'timestamp',

View file

@ -165,6 +165,7 @@ const indexPatterns = {
hasRestrictions: false,
fields: fieldsOne,
getFieldByName: getFieldByNameFactory(fieldsOne),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -175,6 +176,7 @@ const indexPatterns = {
hasRestrictions: true,
fields: fieldsTwo,
getFieldByName: getFieldByNameFactory(fieldsTwo),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},

View file

@ -150,6 +150,7 @@ const expectedIndexPatterns = {
hasRestrictions: false,
fields,
getFieldByName: getFieldByNameFactory(fields),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -2377,6 +2378,7 @@ describe('FormBasedDimensionEditor', () => {
searchable: true,
},
]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},

View file

@ -77,6 +77,7 @@ export const mockDataViews = (): IndexPatternMap => {
hasRestrictions: false,
fields,
getFieldByName: getFieldByNameFactory(fields),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -87,6 +88,7 @@ export const mockDataViews = (): IndexPatternMap => {
timeFieldName: 'timestamp',
fields: [fields[0]],
getFieldByName: getFieldByNameFactory([fields[0]]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},

View file

@ -171,6 +171,7 @@ const expectedIndexPatterns = {
hasRestrictions: false,
fields: fieldsOne,
getFieldByName: getFieldByNameFactory(fieldsOne),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
spec: {},
isPersisted: true,
},
@ -181,6 +182,7 @@ const expectedIndexPatterns = {
hasRestrictions: true,
fields: fieldsTwo,
getFieldByName: getFieldByNameFactory(fieldsTwo),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
spec: {},
isPersisted: true,
},
@ -3032,6 +3034,7 @@ describe('IndexPattern Data Source', () => {
hasRestrictions: false,
fields: fieldsOne,
getFieldByName: getFieldByNameFactory(fieldsOne),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
spec: {},
isPersisted: true,
};

View file

@ -156,6 +156,7 @@ const expectedIndexPatterns = {
hasRestrictions: false,
fields: fieldsOne,
getFieldByName: getFieldByNameFactory(fieldsOne),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -166,6 +167,7 @@ const expectedIndexPatterns = {
timeFieldName: 'timestamp',
fields: fieldsTwo,
getFieldByName: getFieldByNameFactory(fieldsTwo),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -420,6 +422,7 @@ describe('IndexPattern Data Source suggestions', () => {
searchable: true,
},
]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -664,6 +667,7 @@ describe('IndexPattern Data Source suggestions', () => {
searchable: true,
},
]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -2899,6 +2903,7 @@ describe('IndexPattern Data Source suggestions', () => {
hasRestrictions: false,
fields,
getFieldByName: getFieldByNameFactory(fields),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -2996,6 +3001,7 @@ describe('IndexPattern Data Source suggestions', () => {
searchable: true,
},
]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -3078,6 +3084,7 @@ describe('IndexPattern Data Source suggestions', () => {
searchable: true,
},
]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},

View file

@ -194,6 +194,7 @@ describe('Layer Data Panel', () => {
hasRestrictions: false,
fields: fieldsOne,
getFieldByName: getFieldByNameFactory(fieldsOne),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -204,6 +205,7 @@ describe('Layer Data Panel', () => {
timeFieldName: 'timestamp',
fields: fieldsTwo,
getFieldByName: getFieldByNameFactory(fieldsTwo),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},
@ -214,6 +216,7 @@ describe('Layer Data Panel', () => {
hasRestrictions: false,
fields: fieldsThree,
getFieldByName: getFieldByNameFactory(fieldsThree),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},

View file

@ -94,6 +94,7 @@ export const createMockedIndexPattern = (
hasRestrictions: false,
fields,
getFieldByName: getFieldByNameFactory(fields),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
...someProps,
@ -128,6 +129,7 @@ export const createMockedRestrictedIndexPattern = () => {
fieldFormatMap: { bytes: { id: 'bytes', params: { pattern: '0.0' } } },
fields,
getFieldByName: getFieldByNameFactory(fields),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
typeMeta: {
@ -188,6 +190,7 @@ export const createMockedIndexPatternWithoutType = (
...otherIndexPatternProps,
fields: filteredFields,
getFieldByName: getFieldByNameFactory(filteredFields),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
};
};
@ -200,5 +203,6 @@ export const createMockedIndexPatternWithAdditionalFields = (
...otherIndexPatternProps,
fields: completeFields,
getFieldByName: getFieldByNameFactory(completeFields),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
};
};

View file

@ -76,6 +76,7 @@ const indexPattern = {
hasRestrictions: false,
fields: indexPatternFields,
getFieldByName: getFieldByNameFactory([...indexPatternFields]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
};

View file

@ -60,6 +60,7 @@ const indexPattern1: IndexPattern = {
searchable: true,
},
]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
};
@ -88,6 +89,7 @@ const indexPattern2: IndexPattern = {
searchable: true,
},
]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
};
@ -248,6 +250,7 @@ describe('date_histogram', () => {
},
},
]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
},
layer,
uiSettingsMock,
@ -709,6 +712,7 @@ describe('date_histogram', () => {
},
},
]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
};
const instance = shallow(

View file

@ -116,6 +116,7 @@ const defaultOptions = {
aggregatable: true,
},
]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},

View file

@ -111,6 +111,7 @@ const indexPattern = {
hasRestrictions: false,
fields: indexPatternFields,
getFieldByName: getFieldByNameFactory([...indexPatternFields, documentField]),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
};
@ -2902,6 +2903,7 @@ describe('state_helpers', () => {
title: '',
hasRestrictions: true,
getFieldByName: getFieldByNameFactory(fields),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
fields,
isPersisted: true,
spec: {},

View file

@ -42,6 +42,7 @@ const expectedIndexPatterns = {
hasRestrictions: false,
fields,
getFieldByName: getFieldByNameFactory(fields),
getFormatterForField: () => ({ convert: (v: unknown) => v }),
isPersisted: true,
spec: {},
},

View file

@ -144,6 +144,7 @@ describe('TextBased Query Languages Data Panel', () => {
hasRestrictions: false,
fields: fieldsOne,
getFieldByName: jest.fn(),
getFormatterForField: jest.fn(),
isPersisted: true,
spec: {},
},

View file

@ -69,6 +69,7 @@ const expectedIndexPatterns = {
hasRestrictions: false,
fields: fieldsOne,
getFieldByName: jest.fn(),
getFormatterForField: jest.fn(),
spec: {},
isPersisted: true,
},

View file

@ -109,6 +109,7 @@ describe('Dashboard actions', () => {
},
],
getFieldByName: jest.fn(),
getFormatterForField: jest.fn(),
isPersisted: true,
spec: {},
},

View file

@ -83,6 +83,9 @@ export interface IndexPatternRef {
}
export interface IndexPattern {
getFormatterForField( // used extensively in lens
sourceField: string
): unknown;
id: string;
fields: IndexPatternField[];
getFieldByName(name: string): IndexPatternField | undefined;