Skip to content

Commit

Permalink
Decouples saved objects management from legacy saved objects loaders
Browse files Browse the repository at this point in the history
  • Loading branch information
TinaHeiligers committed Sep 23, 2021
1 parent d75df38 commit c42616a
Show file tree
Hide file tree
Showing 14 changed files with 4 additions and 178 deletions.
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 @@ -8,7 +8,7 @@
"server": true,
"ui": true,
"requiredPlugins": ["management", "data"],
"optionalPlugins": ["dashboard", "visualizations", "discover", "home", "savedObjectsTaggingOss", "spaces"],
"optionalPlugins": ["home", "savedObjectsTaggingOss", "spaces"],
"extraPublicDirs": ["public/lib"],
"requiredBundles": ["kibanaReact", "home"]
}
2 changes: 0 additions & 2 deletions src/plugins/saved_objects_management/public/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ export {
SavedObjectsManagementColumnServiceStart,
SavedObjectsManagementColumn,
SavedObjectsManagementRecord,
ISavedObjectsManagementServiceRegistry,
SavedObjectsManagementServiceRegistryEntry,
} from './services';
export { ProcessedImportResponse, processImportResponse, FailedImport } from './lib';
export { SavedObjectRelation, SavedObjectWithMetadata, SavedObjectMetadata } from './types';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,10 @@ import { EuiLoadingSpinner } from '@elastic/eui';
import { CoreSetup } from 'src/core/public';
import { ManagementAppMountParams } from '../../../management/public';
import { StartDependencies, SavedObjectsManagementPluginStart } from '../plugin';
import { ISavedObjectsManagementServiceRegistry } from '../services';
import { getAllowedTypes } from './../lib';

interface MountParams {
core: CoreSetup<StartDependencies, SavedObjectsManagementPluginStart>;
serviceRegistry: ISavedObjectsManagementServiceRegistry;
mountParams: ManagementAppMountParams;
}

Expand All @@ -32,11 +30,7 @@ const title = i18n.translate('savedObjectsManagement.objects.savedObjectsTitle',

const SavedObjectsEditionPage = lazy(() => import('./saved_objects_edition_page'));
const SavedObjectsTablePage = lazy(() => import('./saved_objects_table_page'));
export const mountManagementSection = async ({
core,
mountParams,
serviceRegistry,
}: MountParams) => {
export const mountManagementSection = async ({ core, mountParams }: MountParams) => {
const [coreStart, { data, savedObjectsTaggingOss, spaces: spacesApi }, pluginStart] =
await core.getStartServices();
const { element, history, setBreadcrumbs } = mountParams;
Expand Down Expand Up @@ -81,7 +75,6 @@ export const mountManagementSection = async ({
taggingApi={savedObjectsTaggingOss?.getTaggingApi()}
spacesApi={spacesApi}
dataStart={data}
serviceRegistry={serviceRegistry}
actionRegistry={pluginStart.actions}
columnRegistry={pluginStart.columns}
allowedTypes={allowedObjectTypes}
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ describe('Relationships', () => {
id: '1',
relationship: 'parent',
meta: {
editUrl: '/management/kibana/objects/savedSearches/1',
icon: 'search',
inAppUrl: {
path: '/app/discover#//1',
Expand All @@ -46,7 +45,6 @@ describe('Relationships', () => {
id: '2',
relationship: 'parent',
meta: {
editUrl: '/management/kibana/objects/savedVisualizations/2',
icon: 'visualizeApp',
inAppUrl: {
path: '/app/visualize#/edit/2',
Expand Down Expand Up @@ -116,7 +114,6 @@ describe('Relationships', () => {
id: '2',
relationship: 'parent',
meta: {
editUrl: '/management/kibana/objects/savedVisualizations/2',
icon: 'visualizeApp',
inAppUrl: {
path: '/app/visualize#/edit/2',
Expand All @@ -136,7 +133,6 @@ describe('Relationships', () => {
meta: {
title: 'MySearch',
icon: 'search',
editUrl: '/management/kibana/objects/savedSearches/1',
inAppUrl: {
path: '/discover/1',
uiCapabilitiesPath: 'discover.show',
Expand Down Expand Up @@ -172,7 +168,6 @@ describe('Relationships', () => {
id: '1',
relationship: 'parent',
meta: {
editUrl: '/management/kibana/objects/savedDashboards/1',
icon: 'dashboardApp',
inAppUrl: {
path: '/app/kibana#/dashboard/1',
Expand All @@ -186,7 +181,6 @@ describe('Relationships', () => {
id: '2',
relationship: 'parent',
meta: {
editUrl: '/management/kibana/objects/savedDashboards/2',
icon: 'dashboardApp',
inAppUrl: {
path: '/app/kibana#/dashboard/2',
Expand All @@ -206,7 +200,6 @@ describe('Relationships', () => {
meta: {
title: 'MyViz',
icon: 'visualizeApp',
editUrl: '/management/kibana/objects/savedVisualizations/1',
inAppUrl: {
path: '/edit/1',
uiCapabilitiesPath: 'visualize.show',
Expand Down Expand Up @@ -242,7 +235,6 @@ describe('Relationships', () => {
id: '1',
relationship: 'child',
meta: {
editUrl: '/management/kibana/objects/savedVisualizations/1',
icon: 'visualizeApp',
inAppUrl: {
path: '/app/visualize#/edit/1',
Expand All @@ -256,7 +248,6 @@ describe('Relationships', () => {
id: '2',
relationship: 'child',
meta: {
editUrl: '/management/kibana/objects/savedVisualizations/2',
icon: 'visualizeApp',
inAppUrl: {
path: '/app/visualize#/edit/2',
Expand All @@ -276,7 +267,6 @@ describe('Relationships', () => {
meta: {
title: 'MyDashboard',
icon: 'dashboardApp',
editUrl: '/management/kibana/objects/savedDashboards/1',
inAppUrl: {
path: '/dashboard/1',
uiCapabilitiesPath: 'dashboard.show',
Expand Down Expand Up @@ -316,7 +306,6 @@ describe('Relationships', () => {
meta: {
title: 'MyDashboard',
icon: 'dashboardApp',
editUrl: '/management/kibana/objects/savedDashboards/1',
inAppUrl: {
path: '/dashboard/1',
uiCapabilitiesPath: 'dashboard.show',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import type { SpacesApi, SpacesContextProps } from '../../../../../x-pack/plugin
import { DataPublicPluginStart } from '../../../data/public';
import { SavedObjectsTaggingApi } from '../../../saved_objects_tagging_oss/public';
import {
ISavedObjectsManagementServiceRegistry,
SavedObjectsManagementActionServiceStart,
SavedObjectsManagementColumnServiceStart,
} from '../services';
Expand All @@ -31,7 +30,6 @@ const SavedObjectsTablePage = ({
taggingApi,
spacesApi,
allowedTypes,
serviceRegistry,
actionRegistry,
columnRegistry,
setBreadcrumbs,
Expand All @@ -41,7 +39,6 @@ const SavedObjectsTablePage = ({
taggingApi?: SavedObjectsTaggingApi;
spacesApi?: SpacesApi;
allowedTypes: string[];
serviceRegistry: ISavedObjectsManagementServiceRegistry;
actionRegistry: SavedObjectsManagementActionServiceStart;
columnRegistry: SavedObjectsManagementColumnServiceStart;
setBreadcrumbs: (crumbs: ChromeBreadcrumb[]) => void;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,10 @@
* Side Public License, v 1.
*/

import { SavedObjectReference } from '../../../../core/types';

export interface ObjectField {
type: FieldType;
name: string;
value: any;
}

export type FieldType = 'text' | 'number' | 'boolean' | 'array' | 'json';

export interface FieldState {
value?: any;
invalid?: boolean;
}

export interface SubmittedFormData {
attributes: any;
references: SavedObjectReference[];
}
3 changes: 0 additions & 3 deletions src/plugins/saved_objects_management/public/mocks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,12 @@

import { actionServiceMock } from './services/action_service.mock';
import { columnServiceMock } from './services/column_service.mock';
import { serviceRegistryMock } from './services/service_registry.mock';
import { SavedObjectsManagementPluginSetup, SavedObjectsManagementPluginStart } from './plugin';

const createSetupContractMock = (): jest.Mocked<SavedObjectsManagementPluginSetup> => {
const mock = {
actions: actionServiceMock.createSetup(),
columns: columnServiceMock.createSetup(),
serviceRegistry: serviceRegistryMock.create(),
};
return mock;
};
Expand All @@ -29,7 +27,6 @@ const createStartContractMock = (): jest.Mocked<SavedObjectsManagementPluginStar
};

export const savedObjectsManagementPluginMock = {
createServiceRegistry: serviceRegistryMock.create,
createSetupContract: createSetupContractMock,
createStartContract: createStartContractMock,
};
19 changes: 1 addition & 18 deletions src/plugins/saved_objects_management/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,7 @@ import { CoreSetup, CoreStart, Plugin } from 'src/core/public';
import type { SpacesPluginStart } from '../../../../x-pack/plugins/spaces/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 { SavedObjectTaggingOssPluginStart } from '../../saved_objects_tagging_oss/public';
import {
SavedObjectsManagementActionService,
Expand All @@ -23,15 +20,11 @@ import {
SavedObjectsManagementColumnService,
SavedObjectsManagementColumnServiceSetup,
SavedObjectsManagementColumnServiceStart,
SavedObjectsManagementServiceRegistry,
ISavedObjectsManagementServiceRegistry,
} from './services';
import { registerServices } from './register_services';

export interface SavedObjectsManagementPluginSetup {
actions: SavedObjectsManagementActionServiceSetup;
columns: SavedObjectsManagementColumnServiceSetup;
serviceRegistry: ISavedObjectsManagementServiceRegistry;
}

export interface SavedObjectsManagementPluginStart {
Expand All @@ -46,9 +39,6 @@ export interface SetupDependencies {

export interface StartDependencies {
data: DataPublicPluginStart;
dashboard?: DashboardStart;
visualizations?: VisualizationsStart;
discover?: DiscoverStart;
savedObjectsTaggingOss?: SavedObjectTaggingOssPluginStart;
spaces?: SpacesPluginStart;
}
Expand All @@ -64,7 +54,6 @@ export class SavedObjectsManagementPlugin
{
private actionService = new SavedObjectsManagementActionService();
private columnService = new SavedObjectsManagementColumnService();
private serviceRegistry = new SavedObjectsManagementServiceRegistry();

public setup(
core: CoreSetup<StartDependencies, SavedObjectsManagementPluginStart>,
Expand All @@ -80,8 +69,7 @@ export class SavedObjectsManagementPlugin
defaultMessage: 'Saved Objects',
}),
description: i18n.translate('savedObjectsManagement.objects.savedObjectsDescription', {
defaultMessage:
'Import, export, and manage your saved searches, visualizations, and dashboards.',
defaultMessage: 'Import, export, and manage your saved objects.',
}),
icon: 'savedObjectsApp',
path: '/app/management/kibana/objects',
Expand All @@ -101,19 +89,14 @@ export class SavedObjectsManagementPlugin
const { mountManagementSection } = await import('./management_section');
return mountManagementSection({
core,
serviceRegistry: this.serviceRegistry,
mountParams,
});
},
});

// depends on `getStartServices`, should not be awaited
registerServices(this.serviceRegistry, core.getStartServices);

return {
actions: actionSetup,
columns: columnSetup,
serviceRegistry: this.serviceRegistry,
};
}

Expand Down
42 changes: 0 additions & 42 deletions src/plugins/saved_objects_management/public/register_services.ts

This file was deleted.

5 changes: 0 additions & 5 deletions src/plugins/saved_objects_management/public/services/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,6 @@ export {
SavedObjectsManagementColumnServiceStart,
SavedObjectsManagementColumnServiceSetup,
} from './column_service';
export {
SavedObjectsManagementServiceRegistry,
ISavedObjectsManagementServiceRegistry,
SavedObjectsManagementServiceRegistryEntry,
} from './service_registry';
export {
SavedObjectsManagementAction,
SavedObjectsManagementColumn,
Expand Down
Loading

0 comments on commit c42616a

Please sign in to comment.