mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
Lens IndexPattern getFormatterForField (#203964)
This commit is contained in:
parent
4e9ef877cc
commit
ddb34ae6a8
18 changed files with 45 additions and 0 deletions
|
@ -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),
|
||||
|
|
|
@ -48,6 +48,7 @@ const indexPattern1 = {
|
|||
hasRestrictions: false,
|
||||
isPersisted: () => true,
|
||||
toSpec: () => ({}),
|
||||
getFormatterForField: () => ({ convert: (v: unknown) => v }),
|
||||
fields: [
|
||||
{
|
||||
name: 'timestamp',
|
||||
|
|
|
@ -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: {},
|
||||
},
|
||||
|
|
|
@ -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: {},
|
||||
},
|
||||
|
|
|
@ -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: {},
|
||||
},
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
|
|
@ -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: {},
|
||||
},
|
||||
|
|
|
@ -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: {},
|
||||
},
|
||||
|
|
|
@ -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 }),
|
||||
};
|
||||
};
|
||||
|
|
|
@ -76,6 +76,7 @@ const indexPattern = {
|
|||
hasRestrictions: false,
|
||||
fields: indexPatternFields,
|
||||
getFieldByName: getFieldByNameFactory([...indexPatternFields]),
|
||||
getFormatterForField: () => ({ convert: (v: unknown) => v }),
|
||||
isPersisted: true,
|
||||
spec: {},
|
||||
};
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -116,6 +116,7 @@ const defaultOptions = {
|
|||
aggregatable: true,
|
||||
},
|
||||
]),
|
||||
getFormatterForField: () => ({ convert: (v: unknown) => v }),
|
||||
isPersisted: true,
|
||||
spec: {},
|
||||
},
|
||||
|
|
|
@ -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: {},
|
||||
|
|
|
@ -42,6 +42,7 @@ const expectedIndexPatterns = {
|
|||
hasRestrictions: false,
|
||||
fields,
|
||||
getFieldByName: getFieldByNameFactory(fields),
|
||||
getFormatterForField: () => ({ convert: (v: unknown) => v }),
|
||||
isPersisted: true,
|
||||
spec: {},
|
||||
},
|
||||
|
|
|
@ -144,6 +144,7 @@ describe('TextBased Query Languages Data Panel', () => {
|
|||
hasRestrictions: false,
|
||||
fields: fieldsOne,
|
||||
getFieldByName: jest.fn(),
|
||||
getFormatterForField: jest.fn(),
|
||||
isPersisted: true,
|
||||
spec: {},
|
||||
},
|
||||
|
|
|
@ -69,6 +69,7 @@ const expectedIndexPatterns = {
|
|||
hasRestrictions: false,
|
||||
fields: fieldsOne,
|
||||
getFieldByName: jest.fn(),
|
||||
getFormatterForField: jest.fn(),
|
||||
spec: {},
|
||||
isPersisted: true,
|
||||
},
|
||||
|
|
|
@ -109,6 +109,7 @@ describe('Dashboard actions', () => {
|
|||
},
|
||||
],
|
||||
getFieldByName: jest.fn(),
|
||||
getFormatterForField: jest.fn(),
|
||||
isPersisted: true,
|
||||
spec: {},
|
||||
},
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue