From 49bf43a6fe8bf71a530b22c63f626f03f8c1fc97 Mon Sep 17 00:00:00 2001 From: Matthias Wilhelm Date: Mon, 13 Jul 2020 15:22:21 +0200 Subject: [PATCH] [Discover] Migrate async import of embeddable factory to actual embeddable (#70920) # Conflicts: # src/plugins/discover/public/application/embeddable/index.ts # src/plugins/discover/public/application/embeddable/search_embeddable.ts # src/plugins/discover/public/application/embeddable/search_embeddable_factory.ts # src/plugins/discover/public/application/embeddable/types.ts # src/plugins/discover/public/plugin.ts --- .../public/discover/np_ready/embeddable/index.ts | 1 - .../np_ready/embeddable/search_embeddable_factory.ts | 6 +++--- .../public/discover/np_ready/embeddable/types.ts | 11 ++++++++++- .../core_plugins/kibana/public/discover/plugin.ts | 3 +-- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/index.ts b/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/index.ts index 3138008f3e3a00..d3133739ebcd86 100644 --- a/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/index.ts +++ b/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/index.ts @@ -19,4 +19,3 @@ export * from './types'; export * from './search_embeddable_factory'; -export * from './search_embeddable'; diff --git a/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/search_embeddable_factory.ts b/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/search_embeddable_factory.ts index ad61984a525365..37e1ac8dc525cf 100644 --- a/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/search_embeddable_factory.ts +++ b/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/search_embeddable_factory.ts @@ -28,8 +28,7 @@ import { } from '../../../../../../../plugins/embeddable/public'; import { TimeRange } from '../../../../../../../plugins/data/public'; -import { SearchEmbeddable } from './search_embeddable'; -import { SearchInput, SearchOutput } from './types'; +import { SearchInput, SearchOutput, SearchEmbeddable } from './types'; import { SEARCH_EMBEDDABLE_TYPE } from './constants'; interface StartServices { @@ -92,7 +91,8 @@ export class SearchEmbeddableFactory const savedObject = await getServices().getSavedSearchById(savedObjectId); const indexPattern = savedObject.searchSource.getField('index'); const { executeTriggerActions } = await this.getStartServices(); - return new SearchEmbeddable( + const { SearchEmbeddable: SearchEmbeddableClass } = await import('./search_embeddable'); + return new SearchEmbeddableClass( { savedSearch: savedObject, $rootScope, diff --git a/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/types.ts b/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/types.ts index b20e9b2faf7c49..85413f2ba685f2 100644 --- a/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/types.ts +++ b/src/legacy/core_plugins/kibana/public/discover/np_ready/embeddable/types.ts @@ -17,7 +17,12 @@ * under the License. */ -import { EmbeddableInput, EmbeddableOutput, IEmbeddable } from 'src/plugins/embeddable/public'; +import { + EmbeddableInput, + EmbeddableOutput, + IEmbeddable, + Embeddable, +} from 'src/plugins/embeddable/public'; import { SortOrder } from '../angular/doc_table/components/table_header/helpers'; import { Filter, IIndexPattern, TimeRange, Query } from '../../../../../../../plugins/data/public'; import { SavedSearch } from '../../../../../../../plugins/discover/public'; @@ -40,3 +45,7 @@ export interface SearchOutput extends EmbeddableOutput { export interface ISearchEmbeddable extends IEmbeddable { getSavedSearch(): SavedSearch; } + +export interface SearchEmbeddable extends Embeddable { + type: string; +} diff --git a/src/legacy/core_plugins/kibana/public/discover/plugin.ts b/src/legacy/core_plugins/kibana/public/discover/plugin.ts index 702331529b8794..10cd1612b90a15 100644 --- a/src/legacy/core_plugins/kibana/public/discover/plugin.ts +++ b/src/legacy/core_plugins/kibana/public/discover/plugin.ts @@ -47,6 +47,7 @@ import { VisualizationsSetup, } from '../../../../../plugins/visualizations/public'; import { createKbnUrlTracker } from '../../../../../plugins/kibana_utils/public'; +import { SearchEmbeddableFactory } from './np_ready/embeddable'; export interface DiscoverSetupPlugins { uiActions: UiActionsSetup; @@ -202,8 +203,6 @@ export class DiscoverPlugin implements Plugin { core: CoreSetup, plugins: DiscoverSetupPlugins ) { - const { SearchEmbeddableFactory } = await import('./np_ready/embeddable'); - if (!this.getEmbeddableInjector) { throw Error('Discover plugin method getEmbeddableInjector is undefined'); }