Skip to content

Commit 43a9d45

Browse files
committed
expose createSavedSearchesLoader from discover plugin contract
1 parent 1d810f0 commit 43a9d45

5 files changed

Lines changed: 31 additions & 13 deletions

File tree

src/plugins/discover/public/mocks.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ const createStartContract = (): Start => {
3737
docViews: {
3838
DocViewer: jest.fn(() => null),
3939
},
40+
savedSearches: {
41+
createLoader: jest.fn(),
42+
},
4043
};
4144
return startContract;
4245
};

src/plugins/discover/public/plugin.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@ import React from 'react';
2121
import { i18n } from '@kbn/i18n';
2222
import { auto } from 'angular';
2323
import { CoreSetup, Plugin } from 'kibana/public';
24+
import { SavedObjectLoader, SavedObjectKibanaServices } from '../../saved_objects/public';
2425
import { DocViewInput, DocViewInputFn, DocViewRenderProps } from './doc_views/doc_views_types';
2526
import { DocViewsRegistry } from './doc_views/doc_views_registry';
2627
import { DocViewTable } from './components/table/table';
2728
import { JsonCodeBlock } from './components/json_code_block/json_code_block';
2829
import { DocViewer } from './components/doc_viewer/doc_viewer';
2930
import { setDocViewsRegistry } from './services';
31+
import { createSavedSearchesLoader } from './saved_searches';
3032

3133
import './index.scss';
3234

@@ -62,6 +64,13 @@ export interface DiscoverStart {
6264
*/
6365
DocViewer: React.ComponentType<DocViewRenderProps>;
6466
};
67+
savedSearches: {
68+
/**
69+
* Create a {@link SavedObjectLoader | loader} to handle the saved searches type.
70+
* @param services
71+
*/
72+
createLoader(services: SavedObjectKibanaServices): SavedObjectLoader;
73+
};
6574
}
6675

6776
/**
@@ -105,6 +114,9 @@ export class DiscoverPlugin implements Plugin<DiscoverSetup, DiscoverStart> {
105114
docViews: {
106115
DocViewer,
107116
},
117+
savedSearches: {
118+
createLoader: createSavedSearchesLoader,
119+
},
108120
};
109121
}
110122
}

src/plugins/saved_objects_management/kibana.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
"server": true,
55
"ui": true,
66
"requiredPlugins": ["home", "management", "data"],
7-
"optionalPlugins": ["dashboard", "visualizations"]
7+
"optionalPlugins": ["dashboard", "visualizations", "discover"]
88
}

src/plugins/saved_objects_management/public/plugin.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { CoreSetup, CoreStart, Plugin } from 'src/core/public';
2222
import { ManagementSetup } from '../../management/public';
2323
import { DataPublicPluginStart } from '../../data/public';
2424
import { DashboardStart } from '../../dashboard/public';
25+
import { DiscoverStart } from '../../discover/public';
2526
import { HomePublicPluginSetup, FeatureCatalogueCategory } from '../../home/public';
2627
import { VisualizationsStart } from '../../visualizations/public';
2728
import {
@@ -52,6 +53,7 @@ export interface StartDependencies {
5253
data: DataPublicPluginStart;
5354
dashboard?: DashboardStart;
5455
visualizations?: VisualizationsStart;
56+
discover?: DiscoverStart;
5557
}
5658

5759
export class SavedObjectsManagementPlugin

src/plugins/saved_objects_management/public/register_services.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,14 @@
1818
*/
1919

2020
import { StartServicesAccessor } from '../../../core/public';
21-
import { createSavedSearchesLoader } from '../../discover/public';
2221
import { SavedObjectsManagementPluginStart, StartDependencies } from './plugin';
2322
import { ISavedObjectsManagementServiceRegistry } from './services';
2423

2524
export const registerServices = async (
2625
registry: ISavedObjectsManagementServiceRegistry,
2726
getStartServices: StartServicesAccessor<StartDependencies, SavedObjectsManagementPluginStart>
2827
) => {
29-
const [coreStart, { dashboard, data, visualizations }] = await getStartServices();
28+
const [coreStart, { dashboard, data, visualizations, discover }] = await getStartServices();
3029

3130
if (dashboard) {
3231
registry.register({
@@ -44,14 +43,16 @@ export const registerServices = async (
4443
});
4544
}
4645

47-
registry.register({
48-
id: 'savedSearches',
49-
title: 'searches',
50-
service: createSavedSearchesLoader({
51-
savedObjectsClient: coreStart.savedObjects.client,
52-
indexPatterns: data.indexPatterns,
53-
chrome: coreStart.chrome,
54-
overlays: coreStart.overlays,
55-
}),
56-
});
46+
if (discover) {
47+
registry.register({
48+
id: 'savedSearches',
49+
title: 'searches',
50+
service: discover.savedSearches.createLoader({
51+
savedObjectsClient: coreStart.savedObjects.client,
52+
indexPatterns: data.indexPatterns,
53+
chrome: coreStart.chrome,
54+
overlays: coreStart.overlays,
55+
}),
56+
});
57+
}
5758
};

0 commit comments

Comments
 (0)