}
@@ -16,7 +16,7 @@ exports[`CallOuts should render normally 1`] = `
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/call_outs/call_outs.test.tsx b/src/plugins/advanced_settings/public/management_app/components/call_outs/call_outs.test.tsx
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/call_outs/call_outs.test.tsx
rename to src/plugins/advanced_settings/public/management_app/components/call_outs/call_outs.test.tsx
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/call_outs/call_outs.tsx b/src/plugins/advanced_settings/public/management_app/components/call_outs/call_outs.tsx
similarity index 93%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/call_outs/call_outs.tsx
rename to src/plugins/advanced_settings/public/management_app/components/call_outs/call_outs.tsx
index cbd2bcfeb5454..3c6b4a51ed540 100644
--- a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/call_outs/call_outs.tsx
+++ b/src/plugins/advanced_settings/public/management_app/components/call_outs/call_outs.tsx
@@ -28,7 +28,7 @@ export const CallOuts = () => {
}
@@ -37,7 +37,7 @@ export const CallOuts = () => {
>
@@ -137,7 +137,7 @@ exports[`Field for array setting should render as read only with help text if ov
>
@@ -196,7 +196,7 @@ exports[`Field for array setting should render custom setting icon if it is cust
content={
}
@@ -335,7 +335,7 @@ exports[`Field for array setting should render user value if there is user value
@@ -382,7 +382,7 @@ exports[`Field for array setting should render user value if there is user value
>
@@ -468,7 +468,7 @@ exports[`Field for boolean setting should render as read only if saving is disab
label={
}
@@ -512,7 +512,7 @@ exports[`Field for boolean setting should render as read only with help text if
@@ -555,7 +555,7 @@ exports[`Field for boolean setting should render as read only with help text if
>
@@ -572,7 +572,7 @@ exports[`Field for boolean setting should render as read only with help text if
label={
}
@@ -620,7 +620,7 @@ exports[`Field for boolean setting should render custom setting icon if it is cu
content={
}
@@ -655,7 +655,7 @@ exports[`Field for boolean setting should render custom setting icon if it is cu
label={
}
@@ -727,7 +727,7 @@ exports[`Field for boolean setting should render default value if there is no us
label={
}
@@ -771,7 +771,7 @@ exports[`Field for boolean setting should render user value if there is user val
@@ -818,7 +818,7 @@ exports[`Field for boolean setting should render user value if there is user val
>
@@ -838,7 +838,7 @@ exports[`Field for boolean setting should render user value if there is user val
label={
}
@@ -949,7 +949,7 @@ exports[`Field for image setting should render as read only with help text if ov
@@ -992,7 +992,7 @@ exports[`Field for image setting should render as read only with help text if ov
>
@@ -1048,7 +1048,7 @@ exports[`Field for image setting should render custom setting icon if it is cust
content={
}
@@ -1189,7 +1189,7 @@ exports[`Field for image setting should render user value if there is user value
@@ -1236,7 +1236,7 @@ exports[`Field for image setting should render user value if there is user value
>
@@ -1250,7 +1250,7 @@ exports[`Field for image setting should render user value if there is user value
>
@@ -1304,7 +1304,7 @@ exports[`Field for json setting should render as read only if saving is disabled
@@ -1538,7 +1538,7 @@ exports[`Field for json setting should render custom setting icon if it is custo
content={
}
@@ -1630,7 +1630,7 @@ exports[`Field for json setting should render default value if there is no user
@@ -1757,7 +1757,7 @@ exports[`Field for json setting should render user value if there is user value
@@ -1969,7 +1969,7 @@ exports[`Field for markdown setting should render as read only with help text if
@@ -2012,7 +2012,7 @@ exports[`Field for markdown setting should render as read only with help text if
>
@@ -2090,7 +2090,7 @@ exports[`Field for markdown setting should render custom setting icon if it is c
content={
}
@@ -2267,7 +2267,7 @@ exports[`Field for markdown setting should render user value if there is user va
@@ -2314,7 +2314,7 @@ exports[`Field for markdown setting should render user value if there is user va
>
@@ -2457,7 +2457,7 @@ exports[`Field for number setting should render as read only with help text if o
@@ -2500,7 +2500,7 @@ exports[`Field for number setting should render as read only with help text if o
>
@@ -2559,7 +2559,7 @@ exports[`Field for number setting should render custom setting icon if it is cus
content={
}
@@ -2698,7 +2698,7 @@ exports[`Field for number setting should render user value if there is user valu
@@ -2745,7 +2745,7 @@ exports[`Field for number setting should render user value if there is user valu
>
@@ -2885,7 +2885,7 @@ exports[`Field for select setting should render as read only with help text if o
@@ -2928,7 +2928,7 @@ exports[`Field for select setting should render as read only with help text if o
>
@@ -3003,7 +3003,7 @@ exports[`Field for select setting should render custom setting icon if it is cus
content={
}
@@ -3174,7 +3174,7 @@ exports[`Field for select setting should render user value if there is user valu
@@ -3221,7 +3221,7 @@ exports[`Field for select setting should render user value if there is user valu
>
@@ -3361,7 +3361,7 @@ exports[`Field for string setting should render as read only with help text if o
@@ -3404,7 +3404,7 @@ exports[`Field for string setting should render as read only with help text if o
>
@@ -3463,7 +3463,7 @@ exports[`Field for string setting should render custom setting icon if it is cus
content={
}
@@ -3602,7 +3602,7 @@ exports[`Field for string setting should render user value if there is user valu
@@ -3649,7 +3649,7 @@ exports[`Field for string setting should render user value if there is user valu
>
@@ -3773,7 +3773,7 @@ exports[`Field for stringWithValidation setting should render as read only with
@@ -3816,7 +3816,7 @@ exports[`Field for stringWithValidation setting should render as read only with
>
@@ -3875,7 +3875,7 @@ exports[`Field for stringWithValidation setting should render custom setting ico
content={
}
@@ -4014,7 +4014,7 @@ exports[`Field for stringWithValidation setting should render user value if ther
@@ -4061,7 +4061,7 @@ exports[`Field for stringWithValidation setting should render user value if ther
>
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/field/field.test.tsx b/src/plugins/advanced_settings/public/management_app/components/field/field.test.tsx
similarity index 88%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/field/field.test.tsx
rename to src/plugins/advanced_settings/public/management_app/components/field/field.test.tsx
index bd2ba8ac0ebcc..81df22ccf6e43 100644
--- a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/field/field.test.tsx
+++ b/src/plugins/advanced_settings/public/management_app/components/field/field.test.tsx
@@ -22,7 +22,8 @@ import { I18nProvider } from '@kbn/i18n/react';
import { shallowWithI18nProvider, mountWithI18nProvider } from 'test_utils/enzyme_helpers';
import { mount } from 'enzyme';
import { FieldSetting } from '../../types';
-import { UiSettingsType, StringValidation } from '../../../../../../../../../core/public';
+import { UiSettingsType, StringValidation } from '../../../../../../core/public';
+import { notificationServiceMock, docLinksServiceMock } from '../../../../../../core/public/mocks';
// @ts-ignore
import { findTestSubject } from '@elastic/eui/lib/test';
@@ -35,8 +36,6 @@ jest.mock('ui/notify', () => ({
},
}));
-import { toastNotifications } from 'ui/notify';
-
jest.mock('brace/theme/textmate', () => 'brace/theme/textmate');
jest.mock('brace/mode/markdown', () => 'brace/mode/markdown');
@@ -196,7 +195,14 @@ describe('Field', () => {
describe(`for ${type} setting`, () => {
it('should render default value if there is no user value set', async () => {
const component = shallowWithI18nProvider(
-
+
);
expect(component).toMatchSnapshot();
@@ -214,6 +220,8 @@ describe('Field', () => {
save={save}
clear={clear}
enableSaving={true}
+ toasts={notificationServiceMock.createStartContract().toasts}
+ dockLinks={docLinksServiceMock.createStartContract().links}
/>
);
@@ -222,7 +230,14 @@ describe('Field', () => {
it('should render as read only if saving is disabled', async () => {
const component = shallowWithI18nProvider(
-
+
);
expect(component).toMatchSnapshot();
@@ -239,6 +254,8 @@ describe('Field', () => {
save={save}
clear={clear}
enableSaving={true}
+ toasts={notificationServiceMock.createStartContract().toasts}
+ dockLinks={docLinksServiceMock.createStartContract().links}
/>
);
@@ -255,6 +272,8 @@ describe('Field', () => {
save={save}
clear={clear}
enableSaving={true}
+ toasts={notificationServiceMock.createStartContract().toasts}
+ dockLinks={docLinksServiceMock.createStartContract().links}
/>
);
@@ -273,6 +292,8 @@ describe('Field', () => {
save={save}
clear={clear}
enableSaving={true}
+ toasts={notificationServiceMock.createStartContract().toasts}
+ dockLinks={docLinksServiceMock.createStartContract().links}
/>
);
const select = findTestSubject(component, `advancedSetting-editField-${setting.name}`);
@@ -291,6 +312,8 @@ describe('Field', () => {
save={save}
clear={clear}
enableSaving={true}
+ toasts={notificationServiceMock.createStartContract().toasts}
+ dockLinks={docLinksServiceMock.createStartContract().links}
/>
);
const select = findTestSubject(component, `advancedSetting-editField-${setting.name}`);
@@ -303,7 +326,15 @@ describe('Field', () => {
const setup = () => {
const Wrapper = (props: Record) => (
-
+
);
const wrapper = mount();
@@ -489,15 +520,23 @@ describe('Field', () => {
...settings.string,
requiresPageReload: true,
};
+ const toasts = notificationServiceMock.createStartContract().toasts;
const wrapper = mountWithI18nProvider(
-
+
);
(wrapper.instance() as Field).onFieldChange({ target: { value: 'a new value' } });
const updated = wrapper.update();
findTestSubject(updated, `advancedSetting-saveEditField-${setting.name}`).simulate('click');
expect(save).toHaveBeenCalled();
await save();
- expect(toastNotifications.add).toHaveBeenCalledWith(
+ expect(toasts.add).toHaveBeenCalledWith(
expect.objectContaining({
title: expect.stringContaining('Please reload the page'),
})
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/field/field.tsx b/src/plugins/advanced_settings/public/management_app/components/field/field.tsx
similarity index 87%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/field/field.tsx
rename to src/plugins/advanced_settings/public/management_app/components/field/field.tsx
index 524160191d8f0..e11a257e78545 100644
--- a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/field/field.tsx
+++ b/src/plugins/advanced_settings/public/management_app/components/field/field.tsx
@@ -19,19 +19,19 @@
import React, { PureComponent, Fragment } from 'react';
import ReactDOM from 'react-dom';
-import { npStart } from 'ui/new_platform';
import 'brace/theme/textmate';
import 'brace/mode/markdown';
-import { toastNotifications } from 'ui/notify';
import {
EuiBadge,
EuiButton,
EuiButtonEmpty,
EuiCode,
EuiCodeBlock,
+ // @ts-ignore
EuiCodeEditor,
+ // @ts-ignore
EuiDescribedFormGroup,
EuiFieldNumber,
EuiFieldText,
@@ -59,13 +59,17 @@ import {
UiSettingsType,
ImageValidation,
StringValidationRegex,
-} from '../../../../../../../../../core/public';
+ DocLinksStart,
+ ToastsStart,
+} from '../../../../../../core/public';
interface FieldProps {
setting: FieldSetting;
save: (name: string, value: string) => Promise;
clear: (name: string) => Promise;
enableSaving: boolean;
+ dockLinks: DocLinksStart['links'];
+ toasts: ToastsStart;
}
interface FieldState {
@@ -175,7 +179,7 @@ export class Field extends PureComponent {
JSON.parse(newUnsavedValue);
} catch (e) {
isInvalid = true;
- error = i18n.translate('kbn.management.settings.field.codeEditorSyntaxErrorMessage', {
+ error = i18n.translate('advancedSettings.field.codeEditorSyntaxErrorMessage', {
defaultMessage: 'Invalid JSON syntax',
});
}
@@ -267,7 +271,7 @@ export class Field extends PureComponent {
this.setState({
isInvalid,
error: isInvalid
- ? i18n.translate('kbn.management.settings.field.imageTooLargeErrorMessage', {
+ ? i18n.translate('advancedSettings.field.imageTooLargeErrorMessage', {
defaultMessage: 'Image is too large, maximum size is {maxSizeDescription}',
values: {
maxSizeDescription: maxSize.description,
@@ -278,8 +282,8 @@ export class Field extends PureComponent {
unsavedValue: base64Image,
});
} catch (err) {
- toastNotifications.addDanger(
- i18n.translate('kbn.management.settings.field.imageChangeErrorMessage', {
+ this.props.toasts.addDanger(
+ i18n.translate('advancedSettings.field.imageChangeErrorMessage', {
defaultMessage: 'Image could not be saved',
})
);
@@ -331,8 +335,8 @@ export class Field extends PureComponent {
showPageReloadToast = () => {
if (this.props.setting.requiresPageReload) {
- toastNotifications.add({
- title: i18n.translate('kbn.management.settings.field.requiresPageReloadToastDescription', {
+ this.props.toasts.add({
+ title: i18n.translate('advancedSettings.field.requiresPageReloadToastDescription', {
defaultMessage: 'Please reload the page for the "{settingName}" setting to take effect.',
values: {
settingName: this.props.setting.displayName || this.props.setting.name,
@@ -344,10 +348,9 @@ export class Field extends PureComponent {
window.location.reload()}>
- {i18n.translate(
- 'kbn.management.settings.field.requiresPageReloadToastButtonLabel',
- { defaultMessage: 'Reload page' }
- )}
+ {i18n.translate('advancedSettings.field.requiresPageReloadToastButtonLabel', {
+ defaultMessage: 'Reload page',
+ })}
@@ -398,8 +401,8 @@ export class Field extends PureComponent {
this.cancelChangeImage();
}
} catch (e) {
- toastNotifications.addDanger(
- i18n.translate('kbn.management.settings.field.saveFieldErrorMessage', {
+ this.props.toasts.addDanger(
+ i18n.translate('advancedSettings.field.saveFieldErrorMessage', {
defaultMessage: 'Unable to save {name}',
values: { name },
})
@@ -417,8 +420,8 @@ export class Field extends PureComponent {
this.cancelChangeImage();
this.clearError();
} catch (e) {
- toastNotifications.addDanger(
- i18n.translate('kbn.management.settings.field.resetFieldErrorMessage', {
+ this.props.toasts.addDanger(
+ i18n.translate('advancedSettings.field.resetFieldErrorMessage', {
defaultMessage: 'Unable to reset {name}',
values: { name },
})
@@ -438,12 +441,9 @@ export class Field extends PureComponent {
+
) : (
-
+
)
}
checked={!!unsavedValue}
@@ -553,7 +553,7 @@ export class Field extends PureComponent {
return (
@@ -584,12 +584,12 @@ export class Field extends PureComponent {
}
@@ -606,7 +606,7 @@ export class Field extends PureComponent {
let deprecation;
if (setting.deprecation) {
- const { links } = npStart.core.docLinks;
+ const links = this.props.dockLinks;
deprecation = (
<>
@@ -616,15 +616,12 @@ export class Field extends PureComponent {
onClick={() => {
window.open(links.management[setting.deprecation!.docLinksKey], '_blank');
}}
- onClickAriaLabel={i18n.translate(
- 'kbn.management.settings.field.deprecationClickAreaLabel',
- {
- defaultMessage: 'Click to view deprecation documentation for {settingName}.',
- values: {
- settingName: setting.name,
- },
- }
- )}
+ onClickAriaLabel={i18n.translate('advancedSettings.field.deprecationClickAreaLabel', {
+ defaultMessage: 'Click to view deprecation documentation for {settingName}.',
+ values: {
+ settingName: setting.name,
+ },
+ })}
>
Deprecated
@@ -669,7 +666,7 @@ export class Field extends PureComponent {
{type === 'json' ? (
{
) : (
{
return (
{
data-test-subj={`advancedSetting-resetField-${name}`}
>
@@ -738,7 +735,7 @@ export class Field extends PureComponent {
return (
{
data-test-subj={`advancedSetting-changeImage-${name}`}
>
@@ -771,7 +768,7 @@ export class Field extends PureComponent {
{
disabled={isDisabled || isInvalid}
data-test-subj={`advancedSetting-saveEditField-${name}`}
>
-
+
(changeImage ? this.cancelChangeImage() : this.cancelEdit())}
disabled={isDisabled}
data-test-subj={`advancedSetting-cancelEditField-${name}`}
>
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/field/index.ts b/src/plugins/advanced_settings/public/management_app/components/field/index.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/field/index.ts
rename to src/plugins/advanced_settings/public/management_app/components/field/index.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/__snapshots__/form.test.tsx.snap b/src/plugins/advanced_settings/public/management_app/components/form/__snapshots__/form.test.tsx.snap
similarity index 92%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/__snapshots__/form.test.tsx.snap
rename to src/plugins/advanced_settings/public/management_app/components/form/__snapshots__/form.test.tsx.snap
index b43c17c2a8865..8c471f5f5be9c 100644
--- a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/__snapshots__/form.test.tsx.snap
+++ b/src/plugins/advanced_settings/public/management_app/components/form/__snapshots__/form.test.tsx.snap
@@ -9,7 +9,7 @@ exports[`Form should render no settings message when there are no settings 1`] =
>
,
@@ -52,6 +52,7 @@ exports[`Form should render normally 1`] = `
/>
@@ -125,6 +129,7 @@ exports[`Form should render normally 1`] = `
/>
@@ -173,7 +179,7 @@ exports[`Form should render normally 1`] = `
@@ -200,6 +206,7 @@ exports[`Form should render normally 1`] = `
/>
@@ -254,6 +262,7 @@ exports[`Form should render read-only when saving is disabled 1`] = `
/>
@@ -327,6 +339,7 @@ exports[`Form should render read-only when saving is disabled 1`] = `
/>
@@ -375,7 +389,7 @@ exports[`Form should render read-only when saving is disabled 1`] = `
@@ -402,6 +416,7 @@ exports[`Form should render read-only when saving is disabled 1`] = `
/>
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/form.test.tsx b/src/plugins/advanced_settings/public/management_app/components/form/form.test.tsx
similarity index 93%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/form.test.tsx
rename to src/plugins/advanced_settings/public/management_app/components/form/form.test.tsx
index 6bbcfd543a629..468cfbfc70820 100644
--- a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/form.test.tsx
+++ b/src/plugins/advanced_settings/public/management_app/components/form/form.test.tsx
@@ -19,7 +19,7 @@
import React from 'react';
import { shallowWithI18nProvider } from 'test_utils/enzyme_helpers';
-import { UiSettingsType } from '../../../../../../../../../core/public';
+import { UiSettingsType } from '../../../../../../core/public';
import { Form } from './form';
@@ -101,6 +101,8 @@ describe('Form', () => {
clearQuery={clearQuery}
showNoResultsMessage={true}
enableSaving={true}
+ toasts={{} as any}
+ dockLinks={{} as any}
/>
);
@@ -118,6 +120,8 @@ describe('Form', () => {
clearQuery={clearQuery}
showNoResultsMessage={true}
enableSaving={false}
+ toasts={{} as any}
+ dockLinks={{} as any}
/>
);
@@ -135,6 +139,8 @@ describe('Form', () => {
clearQuery={clearQuery}
showNoResultsMessage={true}
enableSaving={true}
+ toasts={{} as any}
+ dockLinks={{} as any}
/>
);
@@ -152,6 +158,8 @@ describe('Form', () => {
clearQuery={clearQuery}
showNoResultsMessage={false}
enableSaving={true}
+ toasts={{} as any}
+ dockLinks={{} as any}
/>
);
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/form.tsx b/src/plugins/advanced_settings/public/management_app/components/form/form.tsx
similarity index 90%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/form.tsx
rename to src/plugins/advanced_settings/public/management_app/components/form/form.tsx
index 113e0b2db5f30..91d587866836e 100644
--- a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/form.tsx
+++ b/src/plugins/advanced_settings/public/management_app/components/form/form.tsx
@@ -29,6 +29,7 @@ import {
EuiText,
} from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
+import { DocLinksStart, ToastsStart } from '../../../../../../core/public';
import { getCategoryName } from '../../lib';
import { Field } from '../field';
@@ -45,6 +46,8 @@ interface FormProps {
clear: (key: string) => Promise;
showNoResultsMessage: boolean;
enableSaving: boolean;
+ dockLinks: DocLinksStart['links'];
+ toasts: ToastsStart;
}
export class Form extends PureComponent {
@@ -56,7 +59,7 @@ export class Form extends PureComponent {
{
@@ -102,6 +105,8 @@ export class Form extends PureComponent {
save={this.props.save}
clear={this.props.clear}
enableSaving={this.props.enableSaving}
+ dockLinks={this.props.dockLinks}
+ toasts={this.props.toasts}
/>
);
})}
@@ -117,13 +122,13 @@ export class Form extends PureComponent {
return (
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/index.ts b/src/plugins/advanced_settings/public/management_app/components/form/index.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/form/index.ts
rename to src/plugins/advanced_settings/public/management_app/components/form/index.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/search/__snapshots__/search.test.tsx.snap b/src/plugins/advanced_settings/public/management_app/components/search/__snapshots__/search.test.tsx.snap
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/search/__snapshots__/search.test.tsx.snap
rename to src/plugins/advanced_settings/public/management_app/components/search/__snapshots__/search.test.tsx.snap
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/search/index.ts b/src/plugins/advanced_settings/public/management_app/components/search/index.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/search/index.ts
rename to src/plugins/advanced_settings/public/management_app/components/search/index.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/search/search.test.tsx b/src/plugins/advanced_settings/public/management_app/components/search/search.test.tsx
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/search/search.test.tsx
rename to src/plugins/advanced_settings/public/management_app/components/search/search.test.tsx
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/search/search.tsx b/src/plugins/advanced_settings/public/management_app/components/search/search.tsx
similarity index 92%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/components/search/search.tsx
rename to src/plugins/advanced_settings/public/management_app/components/search/search.tsx
index 471f2ba28005c..51402296a44a2 100644
--- a/src/legacy/core_plugins/kibana/public/management/sections/settings/components/search/search.tsx
+++ b/src/plugins/advanced_settings/public/management_app/components/search/search.tsx
@@ -75,7 +75,7 @@ export class Search extends PureComponent {
const box = {
incremental: true,
'data-test-subj': 'settingsSearchBar',
- 'aria-label': i18n.translate('kbn.management.settings.searchBarAriaLabel', {
+ 'aria-label': i18n.translate('advancedSettings.searchBarAriaLabel', {
defaultMessage: 'Search advanced settings',
}), // hack until EuiSearchBar is fixed
};
@@ -84,7 +84,7 @@ export class Search extends PureComponent {
{
type: 'field_value_selection',
field: 'category',
- name: i18n.translate('kbn.management.settings.categorySearchLabel', {
+ name: i18n.translate('advancedSettings.categorySearchLabel', {
defaultMessage: 'Category',
}),
multiSelect: 'or',
@@ -95,7 +95,7 @@ export class Search extends PureComponent {
let queryParseError;
if (!this.state.isSearchTextValid) {
const parseErrorMsg = i18n.translate(
- 'kbn.management.settings.searchBar.unableToParseQueryErrorMessage',
+ 'advancedSettings.searchBar.unableToParseQueryErrorMessage',
{ defaultMessage: 'Unable to parse query' }
);
queryParseError = (
diff --git a/src/plugins/advanced_settings/public/management_app/index.tsx b/src/plugins/advanced_settings/public/management_app/index.tsx
new file mode 100644
index 0000000000000..27d3114051c16
--- /dev/null
+++ b/src/plugins/advanced_settings/public/management_app/index.tsx
@@ -0,0 +1,102 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import React from 'react';
+import ReactDOM from 'react-dom';
+import { HashRouter, Switch, Route } from 'react-router-dom';
+import { i18n } from '@kbn/i18n';
+import { I18nProvider } from '@kbn/i18n/react';
+import { AdvancedSettings } from './advanced_settings';
+import { ManagementSetup } from '../../../management/public';
+import { CoreSetup } from '../../../../core/public';
+import { ComponentRegistry } from '../types';
+
+const title = i18n.translate('advancedSettings.advancedSettingsLabel', {
+ defaultMessage: 'Advanced Settings',
+});
+const crumb = [{ text: title }];
+
+const readOnlyBadge = {
+ text: i18n.translate('advancedSettings.badge.readOnly.text', {
+ defaultMessage: 'Read only',
+ }),
+ tooltip: i18n.translate('advancedSettings.badge.readOnly.tooltip', {
+ defaultMessage: 'Unable to save advanced settings',
+ }),
+ iconType: 'glasses',
+};
+
+export async function registerAdvSettingsMgmntApp({
+ management,
+ getStartServices,
+ componentRegistry,
+}: {
+ management: ManagementSetup;
+ getStartServices: CoreSetup['getStartServices'];
+ componentRegistry: ComponentRegistry['start'];
+}) {
+ const kibanaSection = management.sections.getSection('kibana');
+ if (!kibanaSection) {
+ throw new Error('`kibana` management section not found.');
+ }
+
+ const advancedSettingsManagementApp = kibanaSection.registerApp({
+ id: 'settings',
+ title,
+ order: 20,
+ async mount(params) {
+ params.setBreadcrumbs(crumb);
+ const [
+ { uiSettings, notifications, docLinks, application, chrome },
+ ] = await getStartServices();
+
+ const canSave = application.capabilities.advancedSettings.save as boolean;
+
+ if (!canSave) {
+ chrome.setBadge(readOnlyBadge);
+ }
+
+ ReactDOM.render(
+
+
+
+
+
+
+
+
+ ,
+ params.element
+ );
+ return () => {
+ ReactDOM.unmountComponentAtNode(params.element);
+ };
+ },
+ });
+ const [{ application }] = await getStartServices();
+ if (!application.capabilities.management.kibana.settings) {
+ advancedSettingsManagementApp.disable();
+ }
+}
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/default_category.ts b/src/plugins/advanced_settings/public/management_app/lib/default_category.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/default_category.ts
rename to src/plugins/advanced_settings/public/management_app/lib/default_category.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_aria_name.test.ts b/src/plugins/advanced_settings/public/management_app/lib/get_aria_name.test.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_aria_name.test.ts
rename to src/plugins/advanced_settings/public/management_app/lib/get_aria_name.test.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_aria_name.ts b/src/plugins/advanced_settings/public/management_app/lib/get_aria_name.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_aria_name.ts
rename to src/plugins/advanced_settings/public/management_app/lib/get_aria_name.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_category_name.test.ts b/src/plugins/advanced_settings/public/management_app/lib/get_category_name.test.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_category_name.test.ts
rename to src/plugins/advanced_settings/public/management_app/lib/get_category_name.test.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_category_name.ts b/src/plugins/advanced_settings/public/management_app/lib/get_category_name.ts
similarity index 65%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_category_name.ts
rename to src/plugins/advanced_settings/public/management_app/lib/get_category_name.ts
index d0361ba698eeb..46d28ce9d5c40 100644
--- a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_category_name.ts
+++ b/src/plugins/advanced_settings/public/management_app/lib/get_category_name.ts
@@ -22,31 +22,31 @@ import { i18n } from '@kbn/i18n';
const upperFirst = (str = '') => str.replace(/^./, strng => strng.toUpperCase());
const names: Record = {
- general: i18n.translate('kbn.management.settings.categoryNames.generalLabel', {
+ general: i18n.translate('advancedSettings.categoryNames.generalLabel', {
defaultMessage: 'General',
}),
- timelion: i18n.translate('kbn.management.settings.categoryNames.timelionLabel', {
+ timelion: i18n.translate('advancedSettings.categoryNames.timelionLabel', {
defaultMessage: 'Timelion',
}),
- notifications: i18n.translate('kbn.management.settings.categoryNames.notificationsLabel', {
+ notifications: i18n.translate('advancedSettings.categoryNames.notificationsLabel', {
defaultMessage: 'Notifications',
}),
- visualizations: i18n.translate('kbn.management.settings.categoryNames.visualizationsLabel', {
+ visualizations: i18n.translate('advancedSettings.categoryNames.visualizationsLabel', {
defaultMessage: 'Visualizations',
}),
- discover: i18n.translate('kbn.management.settings.categoryNames.discoverLabel', {
+ discover: i18n.translate('advancedSettings.categoryNames.discoverLabel', {
defaultMessage: 'Discover',
}),
- dashboard: i18n.translate('kbn.management.settings.categoryNames.dashboardLabel', {
+ dashboard: i18n.translate('advancedSettings.categoryNames.dashboardLabel', {
defaultMessage: 'Dashboard',
}),
- reporting: i18n.translate('kbn.management.settings.categoryNames.reportingLabel', {
+ reporting: i18n.translate('advancedSettings.categoryNames.reportingLabel', {
defaultMessage: 'Reporting',
}),
- search: i18n.translate('kbn.management.settings.categoryNames.searchLabel', {
+ search: i18n.translate('advancedSettings.categoryNames.searchLabel', {
defaultMessage: 'Search',
}),
- siem: i18n.translate('kbn.management.settings.categoryNames.siemLabel', {
+ siem: i18n.translate('advancedSettings.categoryNames.siemLabel', {
defaultMessage: 'SIEM',
}),
};
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_val_type.test.ts b/src/plugins/advanced_settings/public/management_app/lib/get_val_type.test.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_val_type.test.ts
rename to src/plugins/advanced_settings/public/management_app/lib/get_val_type.test.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_val_type.ts b/src/plugins/advanced_settings/public/management_app/lib/get_val_type.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/get_val_type.ts
rename to src/plugins/advanced_settings/public/management_app/lib/get_val_type.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/index.ts b/src/plugins/advanced_settings/public/management_app/lib/index.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/index.ts
rename to src/plugins/advanced_settings/public/management_app/lib/index.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/is_default_value.test.ts b/src/plugins/advanced_settings/public/management_app/lib/is_default_value.test.ts
similarity index 98%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/is_default_value.test.ts
rename to src/plugins/advanced_settings/public/management_app/lib/is_default_value.test.ts
index 30531ca89b0b5..836dcb6b87676 100644
--- a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/is_default_value.test.ts
+++ b/src/plugins/advanced_settings/public/management_app/lib/is_default_value.test.ts
@@ -19,7 +19,7 @@
import expect from '@kbn/expect';
import { isDefaultValue } from './is_default_value';
-import { UiSettingsType } from '../../../../../../../../core/public';
+import { UiSettingsType } from '../../../../../core/public';
describe('Settings', function() {
describe('Advanced', function() {
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/is_default_value.ts b/src/plugins/advanced_settings/public/management_app/lib/is_default_value.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/is_default_value.ts
rename to src/plugins/advanced_settings/public/management_app/lib/is_default_value.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/to_editable_config.test.ts b/src/plugins/advanced_settings/public/management_app/lib/to_editable_config.test.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/to_editable_config.test.ts
rename to src/plugins/advanced_settings/public/management_app/lib/to_editable_config.test.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/lib/to_editable_config.ts b/src/plugins/advanced_settings/public/management_app/lib/to_editable_config.ts
similarity index 100%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/lib/to_editable_config.ts
rename to src/plugins/advanced_settings/public/management_app/lib/to_editable_config.ts
diff --git a/src/legacy/core_plugins/kibana/public/management/sections/settings/types.ts b/src/plugins/advanced_settings/public/management_app/types.ts
similarity index 97%
rename from src/legacy/core_plugins/kibana/public/management/sections/settings/types.ts
rename to src/plugins/advanced_settings/public/management_app/types.ts
index fea70110f6071..05bb5e754563d 100644
--- a/src/legacy/core_plugins/kibana/public/management/sections/settings/types.ts
+++ b/src/plugins/advanced_settings/public/management_app/types.ts
@@ -22,7 +22,7 @@ import {
StringValidation,
ImageValidation,
SavedObjectAttribute,
-} from '../../../../../../../core/public';
+} from '../../../../core/public';
export interface FieldSetting {
displayName: string;
diff --git a/src/plugins/advanced_settings/public/plugin.ts b/src/plugins/advanced_settings/public/plugin.ts
index bffd5a5157615..e9472fbdee0e6 100644
--- a/src/plugins/advanced_settings/public/plugin.ts
+++ b/src/plugins/advanced_settings/public/plugin.ts
@@ -17,29 +17,20 @@
* under the License.
*/
-import { i18n } from '@kbn/i18n';
import { CoreSetup, CoreStart, Plugin } from 'kibana/public';
import { ComponentRegistry } from './component_registry';
-import { AdvancedSettingsSetup, AdvancedSettingsStart } from './types';
-import { FeatureCatalogueCategory, HomePublicPluginSetup } from '../../home/public';
+import { AdvancedSettingsSetup, AdvancedSettingsStart, AdvancedSettingsPluginSetup } from './types';
+import { registerAdvSettingsMgmntApp } from './management_app';
const component = new ComponentRegistry();
export class AdvancedSettingsPlugin
- implements Plugin {
- public setup(core: CoreSetup, { home }: { home: HomePublicPluginSetup }) {
- home.featureCatalogue.register({
- id: 'advanced_settings',
- title: i18n.translate('advancedSettings.advancedSettingsLabel', {
- defaultMessage: 'Advanced Settings',
- }),
- description: i18n.translate('advancedSettings.advancedSettingsDescription', {
- defaultMessage: 'Directly edit settings that control behavior in Kibana.',
- }),
- icon: 'advancedSettingsApp',
- path: '/app/kibana#/management/kibana/settings',
- showOnHomePage: false,
- category: FeatureCatalogueCategory.ADMIN,
+ implements Plugin {
+ public setup(core: CoreSetup, { management }: AdvancedSettingsPluginSetup) {
+ registerAdvSettingsMgmntApp({
+ management,
+ getStartServices: core.getStartServices,
+ componentRegistry: component.start,
});
return {
diff --git a/src/plugins/advanced_settings/public/types.ts b/src/plugins/advanced_settings/public/types.ts
index a9b965c3c22de..a233b3debab8d 100644
--- a/src/plugins/advanced_settings/public/types.ts
+++ b/src/plugins/advanced_settings/public/types.ts
@@ -18,6 +18,7 @@
*/
import { ComponentRegistry } from './component_registry';
+import { ManagementSetup } from '../../management/public';
export interface AdvancedSettingsSetup {
component: ComponentRegistry['setup'];
@@ -25,3 +26,9 @@ export interface AdvancedSettingsSetup {
export interface AdvancedSettingsStart {
component: ComponentRegistry['start'];
}
+
+export interface AdvancedSettingsPluginSetup {
+ management: ManagementSetup;
+}
+
+export { ComponentRegistry };
diff --git a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx
index b3e966ddffa4c..bfa74392c14fb 100644
--- a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx
+++ b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx
@@ -21,11 +21,7 @@ import React, { CSSProperties, useCallback, useEffect, useRef, useState } from '
import { EuiToolTip } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { debounce } from 'lodash';
-
-// Node v5 querystring for browser.
-// @ts-ignore
-import * as qs from 'querystring-browser';
-
+import { parse } from 'query-string';
import { EuiIcon, EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
import { useServicesContext, useEditorReadContext } from '../../../../contexts';
import { useUIAceKeyboardMode } from '../use_ui_ace_keyboard_mode';
@@ -51,6 +47,10 @@ export interface EditorProps {
initialTextValue: string;
}
+interface QueryParams {
+ load_from: string;
+}
+
const abs: CSSProperties = {
position: 'absolute',
top: '0',
@@ -98,7 +98,8 @@ function EditorUI({ initialTextValue }: EditorProps) {
const readQueryParams = () => {
const [, queryString] = (window.location.hash || '').split('?');
- return qs.parse(queryString || '');
+
+ return parse(queryString || '', { sort: false }) as Required;
};
const loadBufferFromRemote = (url: string) => {
@@ -138,6 +139,7 @@ function EditorUI({ initialTextValue }: EditorProps) {
window.addEventListener('hashchange', onHashChange);
const initialQueryParams = readQueryParams();
+
if (initialQueryParams.load_from) {
loadBufferFromRemote(initialQueryParams.load_from);
} else {
diff --git a/src/plugins/console/public/lib/es/es.ts b/src/plugins/console/public/lib/es/es.ts
index 52aba98d9e662..f11692e1befad 100644
--- a/src/plugins/console/public/lib/es/es.ts
+++ b/src/plugins/console/public/lib/es/es.ts
@@ -17,8 +17,8 @@
* under the License.
*/
-import { stringify as formatQueryString } from 'querystring';
import $ from 'jquery';
+import { stringify } from 'query-string';
const esVersion: string[] = [];
@@ -35,7 +35,7 @@ export function send(method: string, path: string, data: any) {
const wrappedDfd = $.Deferred(); // eslint-disable-line new-cap
const options: JQuery.AjaxSettings = {
- url: '../api/console/proxy?' + formatQueryString({ path, method }),
+ url: '../api/console/proxy?' + stringify({ path, method }, { sort: false }),
data,
contentType: getContentType(data),
cache: false,
diff --git a/src/plugins/console/server/lib/spec_definitions/es_6_0/mappings.js b/src/plugins/console/server/lib/spec_definitions/es_6_0/mappings.js
index 46f32fe58089b..8c31e5bc6fbb2 100644
--- a/src/plugins/console/server/lib/spec_definitions/es_6_0/mappings.js
+++ b/src/plugins/console/server/lib/spec_definitions/es_6_0/mappings.js
@@ -96,6 +96,7 @@ export default function(api) {
doc_values: BOOLEAN,
eager_global_ordinals: BOOLEAN,
norms: BOOLEAN,
+ coerce: BOOLEAN,
// Not actually available in V6 of ES. Add when updating the autocompletion system.
// index_phrases: BOOLEAN,
diff --git a/src/plugins/dashboard_embeddable_container/public/embeddable/dashboard_container.tsx b/src/plugins/dashboard_embeddable_container/public/embeddable/dashboard_container.tsx
index 21bd1eeac6688..f9443ab97416d 100644
--- a/src/plugins/dashboard_embeddable_container/public/embeddable/dashboard_container.tsx
+++ b/src/plugins/dashboard_embeddable_container/public/embeddable/dashboard_container.tsx
@@ -20,7 +20,7 @@
import React from 'react';
import ReactDOM from 'react-dom';
import { I18nProvider } from '@kbn/i18n/react';
-import { RefreshInterval, TimeRange, Query, esFilters } from '../../../data/public';
+import { RefreshInterval, TimeRange, Query, Filter } from '../../../data/public';
import { CoreStart } from '../../../../core/public';
import { UiActionsStart } from '../ui_actions_plugin';
import {
@@ -45,7 +45,7 @@ import {
export interface DashboardContainerInput extends ContainerInput {
viewMode: ViewMode;
- filters: esFilters.Filter[];
+ filters: Filter[];
query: Query;
timeRange: TimeRange;
refreshConfig?: RefreshInterval;
@@ -64,7 +64,7 @@ interface IndexSignature {
}
export interface InheritedChildInput extends IndexSignature {
- filters: esFilters.Filter[];
+ filters: Filter[];
query: Query;
timeRange: TimeRange;
refreshConfig?: RefreshInterval;
diff --git a/src/plugins/data/common/es_query/filters/build_filters.ts b/src/plugins/data/common/es_query/filters/build_filters.ts
index affd213c29517..e86414f240439 100644
--- a/src/plugins/data/common/es_query/filters/build_filters.ts
+++ b/src/plugins/data/common/es_query/filters/build_filters.ts
@@ -17,19 +17,28 @@
* under the License.
*/
-import { esFilters, IIndexPattern, IFieldType } from '../..';
-import { FilterMeta, FilterStateStore } from '.';
+import { IIndexPattern, IFieldType } from '../..';
+import {
+ Filter,
+ FILTERS,
+ FilterStateStore,
+ FilterMeta,
+ buildPhraseFilter,
+ buildPhrasesFilter,
+ buildRangeFilter,
+ buildExistsFilter,
+} from '.';
export function buildFilter(
indexPattern: IIndexPattern,
field: IFieldType,
- type: esFilters.FILTERS,
+ type: FILTERS,
negate: boolean,
disabled: boolean,
params: any,
alias: string | null,
- store: esFilters.FilterStateStore
-): esFilters.Filter {
+ store: FilterStateStore
+): Filter {
const filter = buildBaseFilter(indexPattern, field, type, params);
filter.meta.alias = alias;
filter.meta.negate = negate;
@@ -45,15 +54,15 @@ export function buildCustomFilter(
negate: boolean,
alias: string | null,
store: FilterStateStore
-): esFilters.Filter {
+): Filter {
const meta: FilterMeta = {
index: indexPatternString,
- type: esFilters.FILTERS.CUSTOM,
+ type: FILTERS.CUSTOM,
disabled,
negate,
alias,
};
- const filter: esFilters.Filter = { ...queryDsl, meta };
+ const filter: Filter = { ...queryDsl, meta };
filter.$state = { store };
return filter;
}
@@ -61,19 +70,19 @@ export function buildCustomFilter(
function buildBaseFilter(
indexPattern: IIndexPattern,
field: IFieldType,
- type: esFilters.FILTERS,
+ type: FILTERS,
params: any
-): esFilters.Filter {
+): Filter {
switch (type) {
case 'phrase':
- return esFilters.buildPhraseFilter(field, params, indexPattern);
+ return buildPhraseFilter(field, params, indexPattern);
case 'phrases':
- return esFilters.buildPhrasesFilter(field, params, indexPattern);
+ return buildPhrasesFilter(field, params, indexPattern);
case 'range':
const newParams = { gte: params.from, lt: params.to };
- return esFilters.buildRangeFilter(field, newParams, indexPattern);
+ return buildRangeFilter(field, newParams, indexPattern);
case 'exists':
- return esFilters.buildExistsFilter(field, indexPattern);
+ return buildExistsFilter(field, indexPattern);
default:
throw new Error(`Unknown filter type: ${type}`);
}
diff --git a/src/plugins/data/common/es_query/filters/stubs/exists_filter.ts b/src/plugins/data/common/es_query/filters/stubs/exists_filter.ts
index 13b8189b6e22f..9860697449372 100644
--- a/src/plugins/data/common/es_query/filters/stubs/exists_filter.ts
+++ b/src/plugins/data/common/es_query/filters/stubs/exists_filter.ts
@@ -17,9 +17,9 @@
* under the License.
*/
-import { esFilters } from '../../..';
+import { ExistsFilter, FilterStateStore } from '..';
-export const existsFilter: esFilters.ExistsFilter = {
+export const existsFilter: ExistsFilter = {
meta: {
index: 'logstash-*',
negate: false,
@@ -29,6 +29,6 @@ export const existsFilter: esFilters.ExistsFilter = {
alias: null,
},
$state: {
- store: esFilters.FilterStateStore.APP_STATE,
+ store: FilterStateStore.APP_STATE,
},
};
diff --git a/src/plugins/data/common/es_query/filters/stubs/phrase_filter.ts b/src/plugins/data/common/es_query/filters/stubs/phrase_filter.ts
index 7456e056a02b1..8c6f9b310fea8 100644
--- a/src/plugins/data/common/es_query/filters/stubs/phrase_filter.ts
+++ b/src/plugins/data/common/es_query/filters/stubs/phrase_filter.ts
@@ -17,9 +17,9 @@
* under the License.
*/
-import { esFilters } from '../../..';
+import { PhraseFilter, FilterStateStore } from '..';
-export const phraseFilter: esFilters.PhraseFilter = {
+export const phraseFilter: PhraseFilter = {
meta: {
negate: false,
index: 'logstash-*',
@@ -33,6 +33,6 @@ export const phraseFilter: esFilters.PhraseFilter = {
},
},
$state: {
- store: esFilters.FilterStateStore.APP_STATE,
+ store: FilterStateStore.APP_STATE,
},
};
diff --git a/src/plugins/data/common/es_query/filters/stubs/phrases_filter.ts b/src/plugins/data/common/es_query/filters/stubs/phrases_filter.ts
index 4bd70b85e186a..91a954fcc226d 100644
--- a/src/plugins/data/common/es_query/filters/stubs/phrases_filter.ts
+++ b/src/plugins/data/common/es_query/filters/stubs/phrases_filter.ts
@@ -17,9 +17,9 @@
* under the License.
*/
-import { esFilters } from '../../..';
+import { FilterStateStore, PhrasesFilter } from '..';
-export const phrasesFilter: esFilters.PhrasesFilter = {
+export const phrasesFilter: PhrasesFilter = {
meta: {
index: 'logstash-*',
type: 'phrases',
@@ -31,6 +31,6 @@ export const phrasesFilter: esFilters.PhrasesFilter = {
alias: null,
},
$state: {
- store: esFilters.FilterStateStore.APP_STATE,
+ store: FilterStateStore.APP_STATE,
},
};
diff --git a/src/plugins/data/common/es_query/filters/stubs/range_filter.ts b/src/plugins/data/common/es_query/filters/stubs/range_filter.ts
index 5a6d245e2ef6f..20b43c29f0e61 100644
--- a/src/plugins/data/common/es_query/filters/stubs/range_filter.ts
+++ b/src/plugins/data/common/es_query/filters/stubs/range_filter.ts
@@ -17,9 +17,9 @@
* under the License.
*/
-import { esFilters } from '../../..';
+import { RangeFilter, FilterStateStore } from '..';
-export const rangeFilter: esFilters.RangeFilter = {
+export const rangeFilter: RangeFilter = {
meta: {
index: 'logstash-*',
negate: false,
@@ -34,7 +34,7 @@ export const rangeFilter: esFilters.RangeFilter = {
},
},
$state: {
- store: esFilters.FilterStateStore.APP_STATE,
+ store: FilterStateStore.APP_STATE,
},
range: {},
};
diff --git a/src/plugins/data/common/es_query/index.ts b/src/plugins/data/common/es_query/index.ts
index e585fda8aff80..74cd4f450fc67 100644
--- a/src/plugins/data/common/es_query/index.ts
+++ b/src/plugins/data/common/es_query/index.ts
@@ -16,8 +16,6 @@
* specific language governing permissions and limitations
* under the License.
*/
-import * as esQuery from './es_query';
-import * as esFilters from './filters';
-import * as esKuery from './kuery';
-
-export { esFilters, esQuery, esKuery };
+export * from './es_query';
+export * from './filters';
+export * from './kuery';
diff --git a/src/plugins/data/common/es_query/kuery/ast/ast.ts b/src/plugins/data/common/es_query/kuery/ast/ast.ts
index 253f432617972..01ce77fa8f578 100644
--- a/src/plugins/data/common/es_query/kuery/ast/ast.ts
+++ b/src/plugins/data/common/es_query/kuery/ast/ast.ts
@@ -19,11 +19,12 @@
import { nodeTypes } from '../node_types/index';
import { KQLSyntaxError } from '../kuery_syntax_error';
-import { KueryNode, JsonObject, DslQuery, KueryParseOptions } from '../types';
+import { KueryNode, DslQuery, KueryParseOptions } from '../types';
import { IIndexPattern } from '../../../index_patterns/types';
// @ts-ignore
import { parse as parseKuery } from './_generated_/kuery';
+import { JsonObject } from '../../../../../kibana_utils/public';
const fromExpression = (
expression: string | DslQuery,
diff --git a/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts b/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts
index 0d5cd6ea17f16..4ada139a10a0f 100644
--- a/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts
+++ b/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts
@@ -20,21 +20,21 @@
import { repeat } from 'lodash';
import { i18n } from '@kbn/i18n';
-const endOfInputText = i18n.translate('data.common.esQuery.kql.errors.endOfInputText', {
+const endOfInputText = i18n.translate('data.common.kql.errors.endOfInputText', {
defaultMessage: 'end of input',
});
const grammarRuleTranslations: Record = {
- fieldName: i18n.translate('data.common.esQuery.kql.errors.fieldNameText', {
+ fieldName: i18n.translate('data.common.kql.errors.fieldNameText', {
defaultMessage: 'field name',
}),
- value: i18n.translate('data.common.esQuery.kql.errors.valueText', {
+ value: i18n.translate('data.common.kql.errors.valueText', {
defaultMessage: 'value',
}),
- literal: i18n.translate('data.common.esQuery.kql.errors.literalText', {
+ literal: i18n.translate('data.common.kql.errors.literalText', {
defaultMessage: 'literal',
}),
- whitespace: i18n.translate('data.common.esQuery.kql.errors.whitespaceText', {
+ whitespace: i18n.translate('data.common.kql.errors.whitespaceText', {
defaultMessage: 'whitespace',
}),
};
@@ -61,7 +61,7 @@ export class KQLSyntaxError extends Error {
const translatedExpectationText = translatedExpectations.join(', ');
- message = i18n.translate('data.common.esQuery.kql.errors.syntaxError', {
+ message = i18n.translate('data.common.kql.errors.syntaxError', {
defaultMessage: 'Expected {expectedList} but {foundInput} found.',
values: {
expectedList: translatedExpectationText,
diff --git a/src/plugins/data/common/es_query/kuery/node_types/function.ts b/src/plugins/data/common/es_query/kuery/node_types/function.ts
index 5b09bc2a67349..3137177fbfcc0 100644
--- a/src/plugins/data/common/es_query/kuery/node_types/function.ts
+++ b/src/plugins/data/common/es_query/kuery/node_types/function.ts
@@ -22,7 +22,7 @@ import _ from 'lodash';
import { functions } from '../functions';
import { IIndexPattern } from '../../..';
import { FunctionName, FunctionTypeBuildNode } from './types';
-import { JsonValue } from '..';
+import { JsonValue } from '../../../../../kibana_utils/public';
export function buildNode(functionName: FunctionName, ...args: any[]) {
const kueryFunction = functions[functionName];
diff --git a/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts b/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts
index 750801990f44e..398cb1a164415 100644
--- a/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts
+++ b/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts
@@ -21,7 +21,7 @@ import _ from 'lodash';
import * as ast from '../ast';
import { nodeTypes } from '../node_types';
import { NamedArgTypeBuildNode } from './types';
-import { JsonObject } from '../types';
+import { JsonObject } from '../../../../../kibana_utils/public';
export function buildNode(name: string, value: any): NamedArgTypeBuildNode {
const argumentNode =
diff --git a/src/plugins/data/common/es_query/kuery/node_types/types.ts b/src/plugins/data/common/es_query/kuery/node_types/types.ts
index 1af4a20583d46..937b5c6e7ef9c 100644
--- a/src/plugins/data/common/es_query/kuery/node_types/types.ts
+++ b/src/plugins/data/common/es_query/kuery/node_types/types.ts
@@ -22,7 +22,8 @@
*/
import { IIndexPattern } from '../../../index_patterns';
-import { JsonValue, KueryNode } from '..';
+import { JsonValue } from '../../../../../kibana_utils/public';
+import { KueryNode } from '..';
export type FunctionName =
| 'is'
diff --git a/src/plugins/data/common/es_query/kuery/types.ts b/src/plugins/data/common/es_query/kuery/types.ts
index 63c52bb64dc65..086a1d97a2faf 100644
--- a/src/plugins/data/common/es_query/kuery/types.ts
+++ b/src/plugins/data/common/es_query/kuery/types.ts
@@ -38,10 +38,3 @@ export interface KueryParseOptions {
}
export { nodeTypes } from './node_types';
-
-export type JsonArray = JsonValue[];
-export type JsonValue = null | boolean | number | string | JsonObject | JsonArray;
-
-export interface JsonObject {
- [key: string]: JsonValue;
-}
diff --git a/src/plugins/data/public/actions/apply_filter_action.ts b/src/plugins/data/public/actions/apply_filter_action.ts
index cc8bcf7679cf1..6edb3237987fa 100644
--- a/src/plugins/data/public/actions/apply_filter_action.ts
+++ b/src/plugins/data/public/actions/apply_filter_action.ts
@@ -22,18 +22,12 @@ import { toMountPoint } from '../../../kibana_react/public';
import { Action, createAction, IncompatibleActionError } from '../../../ui_actions/public';
import { getOverlays, getIndexPatterns } from '../services';
import { applyFiltersPopover } from '../ui/apply_filters';
-import {
- esFilters,
- FilterManager,
- TimefilterContract,
- changeTimeFilter,
- extractTimeFilter,
-} from '..';
+import { Filter, FilterManager, TimefilterContract, esFilters } from '..';
export const GLOBAL_APPLY_FILTER_ACTION = 'GLOBAL_APPLY_FILTER_ACTION';
interface ActionContext {
- filters: esFilters.Filter[];
+ filters: Filter[];
timeFieldName?: string;
}
@@ -63,7 +57,7 @@ export function createFilterAction(
throw new IncompatibleActionError();
}
- let selectedFilters: esFilters.Filter[] = filters;
+ let selectedFilters: Filter[] = filters;
if (selectedFilters.length > 1) {
const indexPatterns = await Promise.all(
@@ -72,7 +66,7 @@ export function createFilterAction(
})
);
- const filterSelectionPromise: Promise = new Promise(resolve => {
+ const filterSelectionPromise: Promise = new Promise(resolve => {
const overlay = getOverlays().openModal(
toMountPoint(
applyFiltersPopover(
@@ -82,7 +76,7 @@ export function createFilterAction(
overlay.close();
resolve([]);
},
- (filterSelection: esFilters.Filter[]) => {
+ (filterSelection: Filter[]) => {
overlay.close();
resolve(filterSelection);
}
@@ -98,13 +92,13 @@ export function createFilterAction(
}
if (timeFieldName) {
- const { timeRangeFilter, restOfFilters } = extractTimeFilter(
+ const { timeRangeFilter, restOfFilters } = esFilters.extractTimeFilter(
timeFieldName,
selectedFilters
);
filterManager.addFilters(restOfFilters);
if (timeRangeFilter) {
- changeTimeFilter(timeFilter, timeRangeFilter);
+ esFilters.changeTimeFilter(timeFilter, timeRangeFilter);
}
} else {
filterManager.addFilters(selectedFilters);
diff --git a/src/plugins/data/public/index.ts b/src/plugins/data/public/index.ts
index 6c14739d42bf1..548417f3769aa 100644
--- a/src/plugins/data/public/index.ts
+++ b/src/plugins/data/public/index.ts
@@ -20,12 +20,133 @@
import { PluginInitializerContext } from '../../../core/public';
/*
- * Field Formatters helper namespace:
+ * Filters:
+ */
+
+import {
+ FILTERS,
+ buildEmptyFilter,
+ buildPhrasesFilter,
+ buildExistsFilter,
+ buildPhraseFilter,
+ buildQueryFilter,
+ buildRangeFilter,
+ toggleFilterNegated,
+ disableFilter,
+ FilterStateStore,
+ getPhraseFilterField,
+ getPhraseFilterValue,
+ isPhraseFilter,
+ isExistsFilter,
+ isPhrasesFilter,
+ isRangeFilter,
+ isMatchAllFilter,
+ isMissingFilter,
+ isQueryStringFilter,
+ getDisplayValueFromFilter,
+ isFilterPinned,
+} from '../common';
+
+import { FilterLabel } from './ui/filter_bar';
+
+import {
+ compareFilters,
+ COMPARE_ALL_OPTIONS,
+ generateFilters,
+ onlyDisabledFiltersChanged,
+ changeTimeFilter,
+ mapAndFlattenFilters,
+ extractTimeFilter,
+} from './query';
+
+// Filter helpers namespace:
+export const esFilters = {
+ FilterLabel,
+
+ FILTERS,
+ FilterStateStore,
+
+ buildEmptyFilter,
+ buildPhrasesFilter,
+ buildExistsFilter,
+ buildPhraseFilter,
+ buildQueryFilter,
+ buildRangeFilter,
+
+ isPhraseFilter,
+ isExistsFilter,
+ isPhrasesFilter,
+ isRangeFilter,
+ isMatchAllFilter,
+ isMissingFilter,
+ isQueryStringFilter,
+ isFilterPinned,
+
+ toggleFilterNegated,
+ disableFilter,
+ getPhraseFilterField,
+ getPhraseFilterValue,
+ getDisplayValueFromFilter,
+
+ compareFilters,
+ COMPARE_ALL_OPTIONS,
+ generateFilters,
+ onlyDisabledFiltersChanged,
+
+ changeTimeFilter,
+ mapAndFlattenFilters,
+ extractTimeFilter,
+};
+
+export {
+ RangeFilter,
+ RangeFilterMeta,
+ RangeFilterParams,
+ ExistsFilter,
+ PhrasesFilter,
+ PhraseFilter,
+ CustomFilter,
+ MatchAllFilter,
+} from '../common';
+
+/*
+ * esQuery and esKuery:
+ */
+
+import {
+ fromKueryExpression,
+ toElasticsearchQuery,
+ nodeTypes,
+ buildEsQuery,
+ getEsQueryConfig,
+ buildQueryFromFilters,
+ luceneStringToDsl,
+ decorateQuery,
+} from '../common';
+
+export const esKuery = {
+ nodeTypes,
+ fromKueryExpression,
+ toElasticsearchQuery,
+};
+
+export const esQuery = {
+ buildEsQuery,
+ getEsQueryConfig,
+ buildQueryFromFilters,
+ luceneStringToDsl,
+ decorateQuery,
+};
+
+export { EsQueryConfig, KueryNode } from '../common';
+
+/*
+ * Field Formatters:
*/
import {
FieldFormat,
- FieldFormatsRegistry, // exported only for tests. Consider mock.
+ FieldFormatsRegistry,
DEFAULT_CONVERTER_COLOR,
HTML_CONTEXT_TYPE,
TEXT_CONTEXT_TYPE,
@@ -47,6 +168,7 @@ import {
TruncateFormat,
} from '../common/field_formats';
+// Field formats helpers namespace:
export const fieldFormats = {
FieldFormat,
FieldFormatsRegistry, // exported only for tests. Consider mock.
@@ -73,38 +195,73 @@ export const fieldFormats = {
TruncateFormat,
};
-export function plugin(initializerContext: PluginInitializerContext) {
- return new DataPublicPlugin(initializerContext);
-}
+export {
+ IFieldFormat,
+ IFieldFormatsRegistry,
+ FieldFormatsContentType,
+ FieldFormatsGetConfigFn,
+ FieldFormatConfig,
+ FieldFormatId,
+} from '../common';
-/**
- * Types to be shared externally
- * @public
+/*
+ * Index patterns:
*/
-export { IRequestTypesMap, IResponseTypesMap } from './search';
-export * from './types';
+
+import { isNestedField, isFilterable } from '../common';
+
+import {
+ ILLEGAL_CHARACTERS_KEY,
+ CONTAINS_SPACES_KEY,
+ ILLEGAL_CHARACTERS_VISIBLE,
+ ILLEGAL_CHARACTERS,
+ isDefault,
+ validateIndexPattern,
+ getFromSavedObject,
+ flattenHitWrapper,
+ getRoutes,
+ formatHitProvider,
+} from './index_patterns';
+
+// Index patterns namespace:
+export const indexPatterns = {
+ ILLEGAL_CHARACTERS_KEY,
+ CONTAINS_SPACES_KEY,
+ ILLEGAL_CHARACTERS_VISIBLE,
+ ILLEGAL_CHARACTERS,
+ isDefault,
+ isFilterable,
+ isNestedField,
+ validate: validateIndexPattern,
+ getFromSavedObject,
+ flattenHitWrapper,
+ // TODO: exported only in stub_index_pattern test. Move into data plugin and remove export.
+ getRoutes,
+ formatHitProvider,
+};
+
+export {
+ IndexPatternsContract,
+ IndexPattern,
+ Field as IndexPatternField,
+ TypeMeta as IndexPatternTypeMeta,
+ AggregationRestrictions as IndexPatternAggRestrictions,
+ // TODO: exported only in stub_index_pattern test. Move into data plugin and remove export.
+ FieldList as IndexPatternFieldList,
+} from './index_patterns';
+
export {
- // index patterns
IIndexPattern,
IFieldType,
IFieldSubType,
- // kbn field types
ES_FIELD_TYPES,
KBN_FIELD_TYPES,
- // query
- Query,
- // timefilter
- RefreshInterval,
- TimeRange,
- // Field Formats
- IFieldFormat,
- IFieldFormatsRegistry,
- FieldFormatsContentType,
- FieldFormatsGetConfigFn,
- FieldFormatConfig,
- FieldFormatId,
} from '../common';
+/*
+ * Autocomplete query suggestions:
+ */
+
export {
QuerySuggestion,
QuerySuggestionTypes,
@@ -114,27 +271,58 @@ export {
QuerySuggestionField,
} from './autocomplete';
-export * from './field_formats';
-export * from './index_patterns';
+/*
+ * Search:
+ */
+
+export { IRequestTypesMap, IResponseTypesMap } from './search';
export * from './search';
-export * from './query';
+
+/**
+ * Types to be shared externally
+ * @public
+ */
+export { Filter, Query, RefreshInterval, TimeRange } from '../common';
+
+export {
+ createSavedQueryService,
+ syncAppFilters,
+ syncQuery,
+ getTime,
+ getQueryLog,
+ getQueryStateContainer,
+ FilterManager,
+ SavedQuery,
+ SavedQueryService,
+ SavedQueryTimeFilter,
+ SavedQueryAttributes,
+ InputTimeRange,
+ TimefilterSetup,
+ TimeHistory,
+ TimefilterContract,
+ TimeHistoryContract,
+} from './query';
export * from './ui';
+
export {
- // es query
- esFilters,
- esKuery,
- esQuery,
- // index patterns
- isFilterable,
// kbn field types
castEsToKbnFieldTypeName,
- getKbnFieldType,
getKbnTypeNames,
// utils
parseInterval,
- isNestedField,
} from '../common';
-// Export plugin after all other imports
+/*
+ * Plugin setup
+ */
+
import { DataPublicPlugin } from './plugin';
+
+export function plugin(initializerContext: PluginInitializerContext) {
+ return new DataPublicPlugin(initializerContext);
+}
+
+export { DataPublicPluginSetup, DataPublicPluginStart, IDataPluginServices } from './types';
+
+// Export plugin after all other imports
export { DataPublicPlugin as Plugin };
diff --git a/src/plugins/data/public/index_patterns/index.ts b/src/plugins/data/public/index_patterns/index.ts
index ecddd893d1a54..dcf799184b01c 100644
--- a/src/plugins/data/public/index_patterns/index.ts
+++ b/src/plugins/data/public/index_patterns/index.ts
@@ -17,40 +17,25 @@
* under the License.
*/
-import {
+export {
ILLEGAL_CHARACTERS_KEY,
CONTAINS_SPACES_KEY,
ILLEGAL_CHARACTERS_VISIBLE,
ILLEGAL_CHARACTERS,
- IndexPatternMissingIndices,
validateIndexPattern,
getFromSavedObject,
isDefault,
} from './lib';
-import { getRoutes } from './utils';
-import { flattenHitWrapper, formatHitProvider } from './index_patterns';
-
-export const indexPatterns = {
- ILLEGAL_CHARACTERS_KEY,
- CONTAINS_SPACES_KEY,
- ILLEGAL_CHARACTERS_VISIBLE,
- ILLEGAL_CHARACTERS,
- IndexPatternMissingIndices,
- validate: validateIndexPattern,
- getRoutes,
- getFromSavedObject,
- flattenHitWrapper,
- formatHitProvider,
- isDefault,
-};
+export { getRoutes } from './utils';
+export { flattenHitWrapper, formatHitProvider } from './index_patterns';
export { Field, FieldList } from './fields';
// TODO: figure out how to replace IndexPatterns in get_inner_angular.
export {
- IndexPattern,
- IndexPatterns,
+ IndexPatternsService,
IndexPatternsContract,
+ IndexPattern,
TypeMeta,
AggregationRestrictions,
} from './index_patterns';
diff --git a/src/plugins/data/public/index_patterns/index_patterns/index_pattern.ts b/src/plugins/data/public/index_patterns/index_patterns/index_pattern.ts
index c09c9f4828799..06d4a881447dc 100644
--- a/src/plugins/data/public/index_patterns/index_patterns/index_pattern.ts
+++ b/src/plugins/data/public/index_patterns/index_patterns/index_pattern.ts
@@ -31,7 +31,7 @@ import {
import { ES_FIELD_TYPES, KBN_FIELD_TYPES, IIndexPattern, IFieldType } from '../../../common';
import { findByTitle, getRoutes } from '../utils';
-import { indexPatterns } from '../';
+import { IndexPatternMissingIndices } from '../lib';
import { Field, FieldList, IFieldList } from '../fields';
import { createFieldsFetcher } from './_fields_fetcher';
import { formatHitProvider } from './format_hit';
@@ -489,7 +489,7 @@ export class IndexPattern implements IIndexPattern {
// so do not rethrow the error here
const { toasts } = getNotifications();
- if (err instanceof indexPatterns.IndexPatternMissingIndices) {
+ if (err instanceof IndexPatternMissingIndices) {
toasts.addDanger((err as any).message);
return [];
diff --git a/src/plugins/data/public/index_patterns/index_patterns/index_patterns.test.ts b/src/plugins/data/public/index_patterns/index_patterns/index_patterns.test.ts
index f21a1610f29e2..c429431b632bd 100644
--- a/src/plugins/data/public/index_patterns/index_patterns/index_patterns.test.ts
+++ b/src/plugins/data/public/index_patterns/index_patterns/index_patterns.test.ts
@@ -18,7 +18,7 @@
*/
// eslint-disable-next-line max-classes-per-file
-import { IndexPatterns } from './index_patterns';
+import { IndexPatternsService } from './index_patterns';
import {
SavedObjectsClientContract,
IUiSettingsClient,
@@ -49,7 +49,7 @@ jest.mock('./index_patterns_api_client', () => {
});
describe('IndexPatterns', () => {
- let indexPatterns: IndexPatterns;
+ let indexPatterns: IndexPatternsService;
let savedObjectsClient: SavedObjectsClientContract;
beforeEach(() => {
@@ -64,7 +64,7 @@ describe('IndexPatterns', () => {
const uiSettings = {} as IUiSettingsClient;
const http = {} as HttpSetup;
- indexPatterns = new IndexPatterns(uiSettings, savedObjectsClient, http);
+ indexPatterns = new IndexPatternsService(uiSettings, savedObjectsClient, http);
});
test('does cache gets for the same id', async () => {
diff --git a/src/plugins/data/public/index_patterns/index_patterns/index_patterns.ts b/src/plugins/data/public/index_patterns/index_patterns/index_patterns.ts
index 2c93ed7fb79bf..5f95b101302ef 100644
--- a/src/plugins/data/public/index_patterns/index_patterns/index_patterns.ts
+++ b/src/plugins/data/public/index_patterns/index_patterns/index_patterns.ts
@@ -32,7 +32,7 @@ const indexPatternCache = createIndexPatternCache();
type IndexPatternCachedFieldType = 'id' | 'title';
-export class IndexPatterns {
+export class IndexPatternsService {
private config: IUiSettingsClient;
private savedObjectsClient: SavedObjectsClientContract;
private savedObjectsCache?: Array>> | null;
@@ -150,4 +150,4 @@ export class IndexPatterns {
};
}
-export type IndexPatternsContract = PublicMethodsOf;
+export type IndexPatternsContract = PublicMethodsOf;
diff --git a/src/plugins/data/public/index_patterns/index_patterns/index_patterns_api_client.ts b/src/plugins/data/public/index_patterns/index_patterns/index_patterns_api_client.ts
index 52d18170168d4..4d4e8d8827b48 100644
--- a/src/plugins/data/public/index_patterns/index_patterns/index_patterns_api_client.ts
+++ b/src/plugins/data/public/index_patterns/index_patterns/index_patterns_api_client.ts
@@ -18,7 +18,7 @@
*/
import { HttpSetup } from 'src/core/public';
-import { indexPatterns } from '../';
+import { IndexPatternMissingIndices } from '../lib';
const API_BASE_URL: string = `/api/index_patterns/`;
@@ -46,7 +46,7 @@ export class IndexPatternsApiClient {
})
.catch((resp: any) => {
if (resp.body.statusCode === 404 && resp.body.statuscode === 'no_matching_indices') {
- throw new indexPatterns.IndexPatternMissingIndices(resp.body.message);
+ throw new IndexPatternMissingIndices(resp.body.message);
}
throw new Error(resp.body.message || resp.body.error || `${resp.body.statusCode} Response`);
diff --git a/src/plugins/data/public/plugin.ts b/src/plugins/data/public/plugin.ts
index 8a45d9fc2f23b..560f415eb082a 100644
--- a/src/plugins/data/public/plugin.ts
+++ b/src/plugins/data/public/plugin.ts
@@ -36,7 +36,7 @@ import { SearchService } from './search/search_service';
import { FieldFormatsService } from './field_formats';
import { QueryService } from './query';
import { createIndexPatternSelect } from './ui/index_pattern_select';
-import { IndexPatterns } from './index_patterns';
+import { IndexPatternsService } from './index_patterns';
import {
setNotifications,
setFieldFormats,
@@ -90,7 +90,7 @@ export class DataPublicPlugin implements Plugin