Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced settings component registry ⇒ kibana platform plugin #55940

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
be0e773
advanced settings component registry to new platform
mattkime Jan 25, 2020
9e7d525
change plugin name, fix some i18n
mattkime Jan 25, 2020
f3b467b
fix karma mocks
mattkime Jan 25, 2020
380838c
fix jest tests
mattkime Jan 25, 2020
b13abeb
fix jest tests
mattkime Jan 25, 2020
ffdf36e
Merge branch 'master' into adv_settings_componenet_reg_to_plugin
elasticmachine Jan 27, 2020
7b225aa
Merge branch 'master' into adv_settings_componenet_reg_to_plugin
elasticmachine Jan 29, 2020
4a00882
refactor component registry
mattkime Jan 30, 2020
5ef28a5
refactor component registry
mattkime Jan 30, 2020
fdacef1
refactor component registry
mattkime Jan 30, 2020
095efaf
Merge branch 'master' into adv_settings_componenet_reg_to_plugin
mattkime Jan 30, 2020
f10a154
fix spaces test
mattkime Jan 30, 2020
ff96574
Merge branch 'master' into adv_settings_componenet_reg_to_plugin
mattkime Jan 30, 2020
863cb0f
better use of mocks
mattkime Jan 30, 2020
01689f3
fix snapshot, change component type to use strings as ids
mattkime Jan 31, 2020
f7390f4
Merge branch 'adv_settings_componenet_reg_to_plugin' of github.com:ma…
mattkime Jan 31, 2020
823a0c3
Merge branch 'master' into adv_settings_componenet_reg_to_plugin
mattkime Jan 31, 2020
5b0caf9
fix tests
mattkime Feb 1, 2020
8ddbcc7
karma fix
mattkime Feb 1, 2020
66215ef
Merge branch 'master' into adv_settings_componenet_reg_to_plugin
mattkime Feb 3, 2020
335a8e8
use BehaviorSubject for subscribing to component state changes
mattkime Feb 3, 2020
832b1c4
Merge branch 'master' into adv_settings_componenet_reg_to_plugin
mattkime Feb 3, 2020
44df84b
Revert "use BehaviorSubject for subscribing to component state changes"
mattkime Feb 3, 2020
5ae8a5e
remove comment
mattkime Feb 3, 2020
65e7b7b
Merge branch 'master' into adv_settings_componenet_reg_to_plugin
elasticmachine Feb 4, 2020
b0b2d13
Merge branch 'master' into adv_settings_componenet_reg_to_plugin
mattkime Feb 4, 2020
ea8c1bf
Merge branch 'adv_settings_componenet_reg_to_plugin' of github.com:ma…
mattkime Feb 4, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .i18nrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
"src/legacy/core_plugins/management",
"src/plugins/management"
],
"advancedSettings": "src/plugins/advanced_settings",
"kibana_react": "src/legacy/core_plugins/kibana_react",
"kibana-react": "src/plugins/kibana_react",
"kibana_utils": "src/plugins/kibana_utils",
Expand Down
8 changes: 0 additions & 8 deletions rfcs/text/0006_management_section_service.md
Original file line number Diff line number Diff line change
Expand Up @@ -257,15 +257,7 @@ Current public contracts owned by the legacy service:
```js
// ui/management/index
interface API {
PAGE_TITLE_COMPONENT: string; // actually related to advanced settings?
PAGE_SUBTITLE_COMPONENT: string; // actually related to advanced settings?
PAGE_FOOTER_COMPONENT: string; // actually related to advanced settings?
SidebarNav: React.FC<any>;
registerSettingsComponent: (
id: string,
component: string | React.FC<any>,
allowOverride: boolean
) => void;
management: new ManagementSection();
MANAGEMENT_BREADCRUMB: {
text: string;
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 @@ -27,7 +27,9 @@ import {
UiSettingsType,
} from '../../../../../../../core/public';
import { FieldSetting } from './types';

import { AdvancedSettings } from './advanced_settings';
jest.mock('ui/new_platform');

jest.mock('ui/new_platform', () => ({
npStart: mockConfig(),
Expand Down Expand Up @@ -215,6 +217,22 @@ function mockConfig() {
core: {
uiSettings: config,
},
plugins: {
advancedSettings: {
component: {
register: jest.fn(),
get: () => {
const foo: React.ComponentType = () => <div>Hello</div>;
foo.displayName = 'foo_component';
return foo;
},
componentType: {
PAGE_TITLE_COMPONENT: 'page_title_component',
PAGE_SUBTITLE_COMPONENT: 'page_subtitle_component',
},
},
},
},
};
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,6 @@ import { getAriaName, toEditableConfig, DEFAULT_CATEGORY } from './lib';

import { FieldSetting, IQuery } from './types';

import {
registerDefaultComponents,
PAGE_TITLE_COMPONENT,
PAGE_SUBTITLE_COMPONENT,
PAGE_FOOTER_COMPONENT,
} from './components/default_component_registry';
import { getSettingsComponent } from './components/component_registry';

interface AdvancedSettingsProps {
queryText: string;
enableSaving: boolean;
Expand Down Expand Up @@ -75,8 +67,6 @@ export class AdvancedSettings extends Component<AdvancedSettingsProps, AdvancedS
footerQueryMatched: false,
filteredSettings: this.mapSettings(Query.execute(parsedQuery, this.settings)),
};

registerDefaultComponents();
}

init(config: IUiSettingsClient) {
Expand Down Expand Up @@ -166,10 +156,13 @@ export class AdvancedSettings extends Component<AdvancedSettingsProps, AdvancedS

render() {
const { filteredSettings, query, footerQueryMatched } = this.state;
const componentRegistry = npStart.plugins.advancedSettings.component;

const PageTitle = getSettingsComponent(PAGE_TITLE_COMPONENT);
const PageSubtitle = getSettingsComponent(PAGE_SUBTITLE_COMPONENT);
const PageFooter = getSettingsComponent(PAGE_FOOTER_COMPONENT);
const PageTitle = componentRegistry.get(componentRegistry.componentType.PAGE_TITLE_COMPONENT);
const PageSubtitle = componentRegistry.get(
componentRegistry.componentType.PAGE_SUBTITLE_COMPONENT
);
const PageFooter = componentRegistry.get(componentRegistry.componentType.PAGE_FOOTER_COMPONENT);

return (
<div>
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@
import React from 'react';
import routes from 'ui/routes';

import { registerSettingsComponent, PAGE_FOOTER_COMPONENT } from 'ui/management';
import { npSetup } from 'ui/new_platform';
import { TelemetryOptInProvider } from '../../services';
import { TelemetryForm } from '../../components';

routes.defaults(/\/management/, {
resolve: {
telemetryManagementSection: function(Private) {
const telemetryOptInProvider = Private(TelemetryOptInProvider);
const componentRegistry = npSetup.plugins.advancedSettings.component;

const Component = props => (
<TelemetryForm
Expand All @@ -36,7 +37,11 @@ routes.defaults(/\/management/, {
/>
);

registerSettingsComponent(PAGE_FOOTER_COMPONENT, Component, true);
componentRegistry.register(
componentRegistry.componentType.PAGE_FOOTER_COMPONENT,
Component,
true
);
},
},
});
Loading