Skip to content

Commit

Permalink
expose createSavedSearchesLoader from discover plugin contract
Browse files Browse the repository at this point in the history
  • Loading branch information
pgayvallet committed Apr 6, 2020
1 parent 1d810f0 commit 43a9d45
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 13 deletions.
3 changes: 3 additions & 0 deletions src/plugins/discover/public/mocks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ const createStartContract = (): Start => {
docViews: {
DocViewer: jest.fn(() => null),
},
savedSearches: {
createLoader: jest.fn(),
},
};
return startContract;
};
Expand Down
12 changes: 12 additions & 0 deletions src/plugins/discover/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,14 @@ import React from 'react';
import { i18n } from '@kbn/i18n';
import { auto } from 'angular';
import { CoreSetup, Plugin } from 'kibana/public';
import { SavedObjectLoader, SavedObjectKibanaServices } from '../../saved_objects/public';
import { DocViewInput, DocViewInputFn, DocViewRenderProps } from './doc_views/doc_views_types';
import { DocViewsRegistry } from './doc_views/doc_views_registry';
import { DocViewTable } from './components/table/table';
import { JsonCodeBlock } from './components/json_code_block/json_code_block';
import { DocViewer } from './components/doc_viewer/doc_viewer';
import { setDocViewsRegistry } from './services';
import { createSavedSearchesLoader } from './saved_searches';

import './index.scss';

Expand Down Expand Up @@ -62,6 +64,13 @@ export interface DiscoverStart {
*/
DocViewer: React.ComponentType<DocViewRenderProps>;
};
savedSearches: {
/**
* Create a {@link SavedObjectLoader | loader} to handle the saved searches type.
* @param services
*/
createLoader(services: SavedObjectKibanaServices): SavedObjectLoader;
};
}

/**
Expand Down Expand Up @@ -105,6 +114,9 @@ export class DiscoverPlugin implements Plugin<DiscoverSetup, DiscoverStart> {
docViews: {
DocViewer,
},
savedSearches: {
createLoader: createSavedSearchesLoader,
},
};
}
}
2 changes: 1 addition & 1 deletion src/plugins/saved_objects_management/kibana.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
"server": true,
"ui": true,
"requiredPlugins": ["home", "management", "data"],
"optionalPlugins": ["dashboard", "visualizations"]
"optionalPlugins": ["dashboard", "visualizations", "discover"]
}
2 changes: 2 additions & 0 deletions src/plugins/saved_objects_management/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import { CoreSetup, CoreStart, Plugin } from 'src/core/public';
import { ManagementSetup } from '../../management/public';
import { DataPublicPluginStart } from '../../data/public';
import { DashboardStart } from '../../dashboard/public';
import { DiscoverStart } from '../../discover/public';
import { HomePublicPluginSetup, FeatureCatalogueCategory } from '../../home/public';
import { VisualizationsStart } from '../../visualizations/public';
import {
Expand Down Expand Up @@ -52,6 +53,7 @@ export interface StartDependencies {
data: DataPublicPluginStart;
dashboard?: DashboardStart;
visualizations?: VisualizationsStart;
discover?: DiscoverStart;
}

export class SavedObjectsManagementPlugin
Expand Down
25 changes: 13 additions & 12 deletions src/plugins/saved_objects_management/public/register_services.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,14 @@
*/

import { StartServicesAccessor } from '../../../core/public';
import { createSavedSearchesLoader } from '../../discover/public';
import { SavedObjectsManagementPluginStart, StartDependencies } from './plugin';
import { ISavedObjectsManagementServiceRegistry } from './services';

export const registerServices = async (
registry: ISavedObjectsManagementServiceRegistry,
getStartServices: StartServicesAccessor<StartDependencies, SavedObjectsManagementPluginStart>
) => {
const [coreStart, { dashboard, data, visualizations }] = await getStartServices();
const [coreStart, { dashboard, data, visualizations, discover }] = await getStartServices();

if (dashboard) {
registry.register({
Expand All @@ -44,14 +43,16 @@ export const registerServices = async (
});
}

registry.register({
id: 'savedSearches',
title: 'searches',
service: createSavedSearchesLoader({
savedObjectsClient: coreStart.savedObjects.client,
indexPatterns: data.indexPatterns,
chrome: coreStart.chrome,
overlays: coreStart.overlays,
}),
});
if (discover) {
registry.register({
id: 'savedSearches',
title: 'searches',
service: discover.savedSearches.createLoader({
savedObjectsClient: coreStart.savedObjects.client,
indexPatterns: data.indexPatterns,
chrome: coreStart.chrome,
overlays: coreStart.overlays,
}),
});
}
};

0 comments on commit 43a9d45

Please sign in to comment.