From 8e5a01643e264982170c06b56deb2b78ec9f9590 Mon Sep 17 00:00:00 2001 From: Diana Derevyankina Date: Tue, 24 Aug 2021 15:21:56 +0300 Subject: [PATCH 1/3] [Lens] Remove deprecated `IFieldType` --- .../lens/public/app_plugin/app.test.tsx | 20 +++++++++---------- .../workspace_panel/workspace_panel.test.tsx | 8 ++++++-- .../public/indexpattern_datasource/types.ts | 12 ++++++----- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/x-pack/plugins/lens/public/app_plugin/app.test.tsx b/x-pack/plugins/lens/public/app_plugin/app.test.tsx index a10b0f436010f..c23bd463cb64d 100644 --- a/x-pack/plugins/lens/public/app_plugin/app.test.tsx +++ b/x-pack/plugins/lens/public/app_plugin/app.test.tsx @@ -23,8 +23,8 @@ import { createMemoryHistory } from 'history'; import { esFilters, FilterManager, - IFieldType, IndexPattern, + IndexPatternField, Query, } from '../../../../../src/plugins/data/public'; import { TopNavMenuData } from '../../../../../src/plugins/navigation/public'; @@ -155,7 +155,7 @@ describe('Lens App', () => { it('updates global filters with store state', async () => { const services = makeDefaultServices(sessionIdSubject); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IFieldType; + const pinnedField = ({ name: 'pinnedField' } as unknown) as IndexPatternField; const pinnedFilter = esFilters.buildExistsFilter(pinnedField, indexPattern); services.data.query.filterManager.getFilters = jest.fn().mockImplementation(() => { return []; @@ -653,8 +653,8 @@ describe('Lens App', () => { it('saves app filters and does not save pinned filters', async () => { const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as IndexPatternField; + const pinnedField = ({ name: 'pinnedField' } as unknown) as IndexPatternField; const unpinned = esFilters.buildExistsFilter(field, indexPattern); const pinned = esFilters.buildExistsFilter(pinnedField, indexPattern); await act(async () => { @@ -835,7 +835,7 @@ describe('Lens App', () => { it('updates the filters when the user changes them', async () => { const { instance, services, lensStore } = await mountWith({}); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as IndexPatternField; expect(lensStore.getState()).toEqual({ lens: expect.objectContaining({ filters: [], @@ -890,7 +890,7 @@ describe('Lens App', () => { }), }); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as IndexPatternField; act(() => services.data.query.filterManager.setFilters([ esFilters.buildExistsFilter(field, indexPattern), @@ -1025,8 +1025,8 @@ describe('Lens App', () => { }) ); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as IndexPatternField; + const pinnedField = ({ name: 'pinnedField' } as unknown) as IndexPatternField; const unpinned = esFilters.buildExistsFilter(field, indexPattern); const pinned = esFilters.buildExistsFilter(pinnedField, indexPattern); FilterManager.setFiltersStore([pinned], esFilters.FilterStateStore.GLOBAL_STATE); @@ -1082,8 +1082,8 @@ describe('Lens App', () => { }) ); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as IndexPatternField; + const pinnedField = ({ name: 'pinnedField' } as unknown) as IndexPatternField; const unpinned = esFilters.buildExistsFilter(field, indexPattern); const pinned = esFilters.buildExistsFilter(pinnedField, indexPattern); FilterManager.setFiltersStore([pinned], esFilters.FilterStateStore.GLOBAL_STATE); diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx index e687c3ea44422..61e24e2d66347 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx @@ -28,7 +28,11 @@ import { ReactWrapper } from 'enzyme'; import { DragDrop, ChildDragDropProvider } from '../../../drag_drop'; import { fromExpression } from '@kbn/interpreter/common'; import { coreMock } from 'src/core/public/mocks'; -import { esFilters, IFieldType, IndexPattern } from '../../../../../../../src/plugins/data/public'; +import { + esFilters, + IndexPattern, + IndexPatternField, +} from '../../../../../../../src/plugins/data/public'; import { UiActionsStart } from '../../../../../../../src/plugins/ui_actions/public'; import { uiActionsPluginMock } from '../../../../../../../src/plugins/ui_actions/public/mocks'; import { TriggerContract } from '../../../../../../../src/plugins/ui_actions/public/triggers'; @@ -416,7 +420,7 @@ describe('workspace_panel', () => { expect(expressionRendererMock).toHaveBeenCalledTimes(1); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as IndexPatternField; await act(async () => { instance.setProps({ diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/types.ts b/x-pack/plugins/lens/public/indexpattern_datasource/types.ts index 1a3451bdb403b..2233c3117623a 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/types.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/types.ts @@ -5,10 +5,12 @@ * 2.0. */ -import { IFieldType } from 'src/plugins/data/common'; -import { IndexPatternColumn, IncompleteColumn } from './operations'; -import { IndexPatternAggRestrictions } from '../../../../../src/plugins/data/public'; -import { DragDropIdentifier } from '../drag_drop/providers'; +import type { IndexPatternColumn, IncompleteColumn } from './operations'; +import type { + IndexPatternField as BaseIndexPatternField, + IndexPatternAggRestrictions, +} from '../../../../../src/plugins/data/public'; +import type { DragDropIdentifier } from '../drag_drop/providers'; export { FieldBasedIndexPatternColumn, @@ -57,7 +59,7 @@ export interface IndexPattern { hasRestrictions: boolean; } -export type IndexPatternField = IFieldType & { +export type IndexPatternField = BaseIndexPatternField & { displayName: string; aggregationRestrictions?: Partial; meta?: boolean; From 4dd300fd3d61ebc20582b082990e13d37c680335 Mon Sep 17 00:00:00 2001 From: Diana Derevyankina Date: Wed, 25 Aug 2021 13:46:52 +0300 Subject: [PATCH 2/3] Fix types for terms.test --- .../definitions/terms/terms.test.tsx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms/terms.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms/terms.test.tsx index 9d5959c807490..26ae37a074288 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms/terms.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms/terms.test.tsx @@ -21,7 +21,7 @@ import { createMockedIndexPattern } from '../../../mocks'; import { ValuesInput } from './values_input'; import type { TermsIndexPatternColumn } from '.'; import { termsOperation } from '../index'; -import { IndexPattern, IndexPatternLayer } from '../../../types'; +import type { IndexPattern, IndexPatternField, IndexPatternLayer } from '../../../types'; import { FrameDatasourceAPI } from '../../../../types'; const uiSettingsMock = {} as IUiSettingsClient; @@ -177,7 +177,7 @@ describe('terms', () => { describe('getPossibleOperationForField', () => { it('should return operation with the right type', () => { expect( - termsOperation.getPossibleOperationForField({ + termsOperation.getPossibleOperationForField(({ aggregatable: true, searchable: true, name: 'test', @@ -188,7 +188,7 @@ describe('terms', () => { agg: 'terms', }, }, - }) + } as unknown) as IndexPatternField) ).toEqual({ dataType: 'string', isBucketed: true, @@ -196,7 +196,7 @@ describe('terms', () => { }); expect( - termsOperation.getPossibleOperationForField({ + termsOperation.getPossibleOperationForField(({ aggregatable: true, searchable: true, name: 'test', @@ -207,7 +207,7 @@ describe('terms', () => { agg: 'terms', }, }, - }) + } as unknown) as IndexPatternField) ).toEqual({ dataType: 'number', isBucketed: true, @@ -221,7 +221,7 @@ describe('terms', () => { name: 'test', displayName: 'test', type: 'boolean', - }) + } as IndexPatternField) ).toEqual({ dataType: 'boolean', isBucketed: true, @@ -235,7 +235,7 @@ describe('terms', () => { name: 'test', displayName: 'test', type: 'ip', - }) + } as IndexPatternField) ).toEqual({ dataType: 'ip', isBucketed: true, @@ -251,7 +251,7 @@ describe('terms', () => { name: 'test', displayName: 'test', type: 'string', - }) + } as IndexPatternField) ).toEqual(undefined); expect( @@ -262,7 +262,7 @@ describe('terms', () => { name: 'test', displayName: 'test', type: 'string', - }) + } as IndexPatternField) ).toEqual(undefined); }); }); @@ -277,7 +277,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - }, + } as IndexPatternField, layer: { columns: {}, columnOrder: [], indexPatternId: '' }, }); expect(termsColumn.dataType).toEqual('boolean'); @@ -292,7 +292,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - }, + } as IndexPatternField, layer: { columns: {}, columnOrder: [], indexPatternId: '' }, }); expect(termsColumn.params.otherBucket).toEqual(true); @@ -307,7 +307,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - }, + } as IndexPatternField, layer: { columns: {}, columnOrder: [], indexPatternId: '' }, }); expect(termsColumn.params.otherBucket).toEqual(false); @@ -335,7 +335,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - }, + } as IndexPatternField, }); expect(termsColumn.params).toEqual( expect.objectContaining({ @@ -368,7 +368,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - }, + } as IndexPatternField, }); expect(termsColumn.params).toEqual( expect.objectContaining({ orderBy: { type: 'alphabetical', fallback: true } }) @@ -385,7 +385,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - }, + } as IndexPatternField, }); expect(termsColumn.params).toEqual(expect.objectContaining({ size: 3 })); }); @@ -400,7 +400,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - }, + } as IndexPatternField, }); expect(termsColumn.params).toEqual(expect.objectContaining({ size: 5 })); }); From a38a8f8b930e9f816f5ec3ac95041cffcc0c37e9 Mon Sep 17 00:00:00 2001 From: Diana Derevyankina Date: Thu, 26 Aug 2021 12:29:04 +0300 Subject: [PATCH 3/3] Replace IndexPatternField with FieldSpec, revert terms.test and update other tests --- .../lens/public/app_plugin/app.test.tsx | 20 ++++++------ .../workspace_panel/workspace_panel.test.tsx | 9 ++---- .../datapanel.test.tsx | 9 +++++- .../definitions/percentile.test.tsx | 3 ++ .../definitions/ranges/ranges.test.tsx | 18 +++++++++-- .../definitions/terms/terms.test.tsx | 32 +++++++++---------- .../public/indexpattern_datasource/types.ts | 8 ++--- 7 files changed, 59 insertions(+), 40 deletions(-) diff --git a/x-pack/plugins/lens/public/app_plugin/app.test.tsx b/x-pack/plugins/lens/public/app_plugin/app.test.tsx index c23bd463cb64d..8420365ee0666 100644 --- a/x-pack/plugins/lens/public/app_plugin/app.test.tsx +++ b/x-pack/plugins/lens/public/app_plugin/app.test.tsx @@ -24,9 +24,9 @@ import { esFilters, FilterManager, IndexPattern, - IndexPatternField, Query, } from '../../../../../src/plugins/data/public'; +import type { FieldSpec } from '../../../../../src/plugins/data/common'; import { TopNavMenuData } from '../../../../../src/plugins/navigation/public'; import { LensByValueInput } from '../embeddable/embeddable'; import { SavedObjectReference } from '../../../../../src/core/types'; @@ -155,7 +155,7 @@ describe('Lens App', () => { it('updates global filters with store state', async () => { const services = makeDefaultServices(sessionIdSubject); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IndexPatternField; + const pinnedField = ({ name: 'pinnedField' } as unknown) as FieldSpec; const pinnedFilter = esFilters.buildExistsFilter(pinnedField, indexPattern); services.data.query.filterManager.getFilters = jest.fn().mockImplementation(() => { return []; @@ -653,8 +653,8 @@ describe('Lens App', () => { it('saves app filters and does not save pinned filters', async () => { const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IndexPatternField; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IndexPatternField; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; + const pinnedField = ({ name: 'pinnedField' } as unknown) as FieldSpec; const unpinned = esFilters.buildExistsFilter(field, indexPattern); const pinned = esFilters.buildExistsFilter(pinnedField, indexPattern); await act(async () => { @@ -835,7 +835,7 @@ describe('Lens App', () => { it('updates the filters when the user changes them', async () => { const { instance, services, lensStore } = await mountWith({}); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IndexPatternField; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; expect(lensStore.getState()).toEqual({ lens: expect.objectContaining({ filters: [], @@ -890,7 +890,7 @@ describe('Lens App', () => { }), }); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IndexPatternField; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; act(() => services.data.query.filterManager.setFilters([ esFilters.buildExistsFilter(field, indexPattern), @@ -1025,8 +1025,8 @@ describe('Lens App', () => { }) ); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IndexPatternField; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IndexPatternField; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; + const pinnedField = ({ name: 'pinnedField' } as unknown) as FieldSpec; const unpinned = esFilters.buildExistsFilter(field, indexPattern); const pinned = esFilters.buildExistsFilter(pinnedField, indexPattern); FilterManager.setFiltersStore([pinned], esFilters.FilterStateStore.GLOBAL_STATE); @@ -1082,8 +1082,8 @@ describe('Lens App', () => { }) ); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IndexPatternField; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IndexPatternField; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; + const pinnedField = ({ name: 'pinnedField' } as unknown) as FieldSpec; const unpinned = esFilters.buildExistsFilter(field, indexPattern); const pinned = esFilters.buildExistsFilter(pinnedField, indexPattern); FilterManager.setFiltersStore([pinned], esFilters.FilterStateStore.GLOBAL_STATE); diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx index 61e24e2d66347..2f1eeea0639f3 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx @@ -28,11 +28,8 @@ import { ReactWrapper } from 'enzyme'; import { DragDrop, ChildDragDropProvider } from '../../../drag_drop'; import { fromExpression } from '@kbn/interpreter/common'; import { coreMock } from 'src/core/public/mocks'; -import { - esFilters, - IndexPattern, - IndexPatternField, -} from '../../../../../../../src/plugins/data/public'; +import { esFilters, IndexPattern } from '../../../../../../../src/plugins/data/public'; +import type { FieldSpec } from '../../../../../../../src/plugins/data/common'; import { UiActionsStart } from '../../../../../../../src/plugins/ui_actions/public'; import { uiActionsPluginMock } from '../../../../../../../src/plugins/ui_actions/public/mocks'; import { TriggerContract } from '../../../../../../../src/plugins/ui_actions/public/triggers'; @@ -420,7 +417,7 @@ describe('workspace_panel', () => { expect(expressionRendererMock).toHaveBeenCalledTimes(1); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IndexPatternField; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; await act(async () => { instance.setProps({ diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx index 59aebc517bf22..a6828bf9d5873 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx @@ -664,7 +664,14 @@ describe('IndexPattern Data Panel', () => { ...props.indexPatterns['1'], fields: [ ...props.indexPatterns['1'].fields, - { name: '_id', displayName: '_id', meta: true, type: 'string' }, + { + name: '_id', + displayName: '_id', + meta: true, + type: 'string', + searchable: true, + aggregatable: true, + }, ], }, }} diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/percentile.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/percentile.test.tsx index 118405baebc8b..c4a88617c24b7 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/percentile.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/percentile.test.tsx @@ -81,6 +81,7 @@ describe('percentile', () => { displayName: 'bytes', type: 'number', esTypes: ['long'], + searchable: true, aggregatable: true, }) ).toEqual({ @@ -97,6 +98,7 @@ describe('percentile', () => { displayName: 'response_time', type: 'histogram', esTypes: ['histogram'], + searchable: true, aggregatable: true, }) ).toEqual({ @@ -113,6 +115,7 @@ describe('percentile', () => { displayName: 'origin', type: 'string', esTypes: ['keyword'], + searchable: true, aggregatable: true, }) ).toBeUndefined(); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/ranges/ranges.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/ranges/ranges.test.tsx index 92565d1590ea3..aef086a6ee288 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/ranges/ranges.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/ranges/ranges.test.tsx @@ -96,9 +96,23 @@ const defaultOptions = { id: '1', title: 'my_index_pattern', hasRestrictions: false, - fields: [{ name: sourceField, type: 'number', displayName: sourceField }], + fields: [ + { + name: sourceField, + type: 'number', + displayName: sourceField, + searchable: true, + aggregatable: true, + }, + ], getFieldByName: getFieldByNameFactory([ - { name: sourceField, type: 'number', displayName: sourceField }, + { + name: sourceField, + type: 'number', + displayName: sourceField, + searchable: true, + aggregatable: true, + }, ]), }, operationDefinitionMap: {}, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms/terms.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms/terms.test.tsx index 26ae37a074288..9d5959c807490 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms/terms.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/terms/terms.test.tsx @@ -21,7 +21,7 @@ import { createMockedIndexPattern } from '../../../mocks'; import { ValuesInput } from './values_input'; import type { TermsIndexPatternColumn } from '.'; import { termsOperation } from '../index'; -import type { IndexPattern, IndexPatternField, IndexPatternLayer } from '../../../types'; +import { IndexPattern, IndexPatternLayer } from '../../../types'; import { FrameDatasourceAPI } from '../../../../types'; const uiSettingsMock = {} as IUiSettingsClient; @@ -177,7 +177,7 @@ describe('terms', () => { describe('getPossibleOperationForField', () => { it('should return operation with the right type', () => { expect( - termsOperation.getPossibleOperationForField(({ + termsOperation.getPossibleOperationForField({ aggregatable: true, searchable: true, name: 'test', @@ -188,7 +188,7 @@ describe('terms', () => { agg: 'terms', }, }, - } as unknown) as IndexPatternField) + }) ).toEqual({ dataType: 'string', isBucketed: true, @@ -196,7 +196,7 @@ describe('terms', () => { }); expect( - termsOperation.getPossibleOperationForField(({ + termsOperation.getPossibleOperationForField({ aggregatable: true, searchable: true, name: 'test', @@ -207,7 +207,7 @@ describe('terms', () => { agg: 'terms', }, }, - } as unknown) as IndexPatternField) + }) ).toEqual({ dataType: 'number', isBucketed: true, @@ -221,7 +221,7 @@ describe('terms', () => { name: 'test', displayName: 'test', type: 'boolean', - } as IndexPatternField) + }) ).toEqual({ dataType: 'boolean', isBucketed: true, @@ -235,7 +235,7 @@ describe('terms', () => { name: 'test', displayName: 'test', type: 'ip', - } as IndexPatternField) + }) ).toEqual({ dataType: 'ip', isBucketed: true, @@ -251,7 +251,7 @@ describe('terms', () => { name: 'test', displayName: 'test', type: 'string', - } as IndexPatternField) + }) ).toEqual(undefined); expect( @@ -262,7 +262,7 @@ describe('terms', () => { name: 'test', displayName: 'test', type: 'string', - } as IndexPatternField) + }) ).toEqual(undefined); }); }); @@ -277,7 +277,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - } as IndexPatternField, + }, layer: { columns: {}, columnOrder: [], indexPatternId: '' }, }); expect(termsColumn.dataType).toEqual('boolean'); @@ -292,7 +292,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - } as IndexPatternField, + }, layer: { columns: {}, columnOrder: [], indexPatternId: '' }, }); expect(termsColumn.params.otherBucket).toEqual(true); @@ -307,7 +307,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - } as IndexPatternField, + }, layer: { columns: {}, columnOrder: [], indexPatternId: '' }, }); expect(termsColumn.params.otherBucket).toEqual(false); @@ -335,7 +335,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - } as IndexPatternField, + }, }); expect(termsColumn.params).toEqual( expect.objectContaining({ @@ -368,7 +368,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - } as IndexPatternField, + }, }); expect(termsColumn.params).toEqual( expect.objectContaining({ orderBy: { type: 'alphabetical', fallback: true } }) @@ -385,7 +385,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - } as IndexPatternField, + }, }); expect(termsColumn.params).toEqual(expect.objectContaining({ size: 3 })); }); @@ -400,7 +400,7 @@ describe('terms', () => { type: 'boolean', name: 'test', displayName: 'test', - } as IndexPatternField, + }, }); expect(termsColumn.params).toEqual(expect.objectContaining({ size: 5 })); }); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/types.ts b/x-pack/plugins/lens/public/indexpattern_datasource/types.ts index 2233c3117623a..72acc114ca4b2 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/types.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/types.ts @@ -6,10 +6,8 @@ */ import type { IndexPatternColumn, IncompleteColumn } from './operations'; -import type { - IndexPatternField as BaseIndexPatternField, - IndexPatternAggRestrictions, -} from '../../../../../src/plugins/data/public'; +import type { IndexPatternAggRestrictions } from '../../../../../src/plugins/data/public'; +import type { FieldSpec } from '../../../../../src/plugins/data/common'; import type { DragDropIdentifier } from '../drag_drop/providers'; export { @@ -59,7 +57,7 @@ export interface IndexPattern { hasRestrictions: boolean; } -export type IndexPatternField = BaseIndexPatternField & { +export type IndexPatternField = FieldSpec & { displayName: string; aggregationRestrictions?: Partial; meta?: boolean;