diff --git a/src/core/MIGRATION.md b/src/core/MIGRATION.md
index c5e04c3cfb53a..e88f1675114bc 100644
--- a/src/core/MIGRATION.md
+++ b/src/core/MIGRATION.md
@@ -1169,7 +1169,7 @@ import { setup, start } from '../core_plugins/visualizations/public/legacy';
| ------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `import 'ui/apply_filters'` | `import { applyFiltersPopover } from '../data/public'` | Directive is deprecated. |
| `import 'ui/filter_bar'` | `import { FilterBar } from '../data/public'` | Directive is deprecated. |
-| `import 'ui/query_bar'` | `import { QueryBarInput } from '../data/public'` | Directives are deprecated. |
+| `import 'ui/query_bar'` | `import { QueryStringInput } from '../data/public'` | Directives are deprecated. |
| `import 'ui/search_bar'` | `import { SearchBar } from '../data/public'` | Directive is deprecated. |
| `import 'ui/kbn_top_nav'` | `import { TopNavMenu } from '../navigation/public'` | Directive is still available in `ui/kbn_top_nav`. |
| `ui/saved_objects/components/saved_object_finder` | `import { SavedObjectFinder } from '../kibana_react/public'` | |
diff --git a/src/legacy/core_plugins/data/public/index.scss b/src/legacy/core_plugins/data/public/index.scss
index 913141666c7b9..94f02fe2d6049 100644
--- a/src/legacy/core_plugins/data/public/index.scss
+++ b/src/legacy/core_plugins/data/public/index.scss
@@ -4,4 +4,6 @@
@import 'src/plugins/data/public/ui/filter_bar/index';
+@import 'src/plugins/data/public/ui/typeahead/index';
+
@import './search/search_bar/index';
diff --git a/src/legacy/core_plugins/data/public/index.ts b/src/legacy/core_plugins/data/public/index.ts
index 1349187779061..01f67a63ca9be 100644
--- a/src/legacy/core_plugins/data/public/index.ts
+++ b/src/legacy/core_plugins/data/public/index.ts
@@ -37,7 +37,7 @@ export {
IndexPatterns,
StaticIndexPattern,
} from './index_patterns';
-export { QueryBarInput } from './query';
+export { QueryStringInput } from './query';
export { SearchBar, SearchBarProps, SavedQueryAttributes, SavedQuery } from './search';
/** @public static code */
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/__snapshots__/query_bar_input.test.tsx.snap b/src/legacy/core_plugins/data/public/query/query_bar/components/__snapshots__/query_string_input.test.tsx.snap
similarity index 99%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/__snapshots__/query_bar_input.test.tsx.snap
rename to src/legacy/core_plugins/data/public/query/query_bar/components/__snapshots__/query_string_input.test.tsx.snap
index 5dc8702411783..6f155de95d6eb 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/components/__snapshots__/query_bar_input.test.tsx.snap
+++ b/src/legacy/core_plugins/data/public/query/query_bar/components/__snapshots__/query_string_input.test.tsx.snap
@@ -1,6 +1,6 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
-exports[`QueryBarInput Should disable autoFocus on EuiFieldText when disableAutoFocus prop is true 1`] = `
+exports[`QueryStringInput Should disable autoFocus on EuiFieldText when disableAutoFocus prop is true 1`] = `
-
-
+
@@ -1114,7 +1114,7 @@ exports[`QueryBarInput Should disable autoFocus on EuiFieldText when disableAuto
`;
-exports[`QueryBarInput Should pass the query language to the language switcher 1`] = `
+exports[`QueryStringInput Should pass the query language to the language switcher 1`] = `
-
-
+
@@ -2225,7 +2225,7 @@ exports[`QueryBarInput Should pass the query language to the language switcher 1
`;
-exports[`QueryBarInput Should render the given query 1`] = `
+exports[`QueryStringInput Should render the given query 1`] = `
-
-
+
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/_index.scss b/src/legacy/core_plugins/data/public/query/query_bar/components/_index.scss
index e17c416c13546..1d955920b8e13 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/components/_index.scss
+++ b/src/legacy/core_plugins/data/public/query/query_bar/components/_index.scss
@@ -1,2 +1 @@
@import './query_bar';
-@import './typeahead/index';
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_top_row.test.tsx b/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_top_row.test.tsx
index ae08083f82af3..ea01347e38865 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_top_row.test.tsx
+++ b/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_top_row.test.tsx
@@ -17,12 +17,16 @@
* under the License.
*/
-import { mockPersistedLogFactory } from './query_bar_input.test.mocks';
+import { mockPersistedLogFactory } from './query_string_input.test.mocks';
import React from 'react';
import { mount } from 'enzyme';
import { QueryBarTopRow } from './query_bar_top_row';
-import { IndexPattern } from '../../../index';
+
+/* eslint-disable @kbn/eslint/no-restricted-paths */
+
+import { stubIndexPatternWithFields } from '../../../../../../../plugins/data/public/stubs';
+/* eslint-enable @kbn/eslint/no-restricted-paths */
import { coreMock } from '../../../../../../../core/public/mocks';
import { KibanaContextProvider } from 'src/plugins/kibana_react/public';
@@ -85,21 +89,6 @@ const createMockStorage = () => ({
clear: jest.fn(),
});
-const mockIndexPattern = {
- id: '1234',
- title: 'logstash-*',
- fields: [
- {
- name: 'response',
- type: 'number',
- esTypes: ['integer'],
- aggregatable: true,
- filterable: true,
- searchable: true,
- },
- ],
-} as IndexPattern;
-
function wrapQueryBarTopRowInContext(testProps: any) {
const defaultOptions = {
screenTitle: 'Another Screen',
@@ -124,7 +113,7 @@ function wrapQueryBarTopRowInContext(testProps: any) {
}
describe('QueryBarTopRowTopRow', () => {
- const QUERY_INPUT_SELECTOR = 'QueryBarInputUI';
+ const QUERY_INPUT_SELECTOR = 'QueryStringInputUI';
const TIMEPICKER_SELECTOR = 'EuiSuperDatePicker';
const TIMEPICKER_DURATION = '[data-shared-timefilter-duration]';
@@ -138,7 +127,7 @@ describe('QueryBarTopRowTopRow', () => {
query: kqlQuery,
screenTitle: 'Another Screen',
isDirty: false,
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
timeHistory: mockTimeHistory,
})
);
@@ -152,7 +141,7 @@ describe('QueryBarTopRowTopRow', () => {
wrapQueryBarTopRowInContext({
query: kqlQuery,
screenTitle: 'Another Screen',
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
timeHistory: mockTimeHistory,
disableAutoFocus: true,
isDirty: false,
@@ -225,7 +214,7 @@ describe('QueryBarTopRowTopRow', () => {
const component = mount(
wrapQueryBarTopRowInContext({
query: kqlQuery,
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
isDirty: false,
screenTitle: 'Another Screen',
showDatePicker: false,
@@ -245,7 +234,7 @@ describe('QueryBarTopRowTopRow', () => {
query: kqlQuery,
isDirty: false,
screenTitle: 'Another Screen',
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
showQueryInput: false,
showDatePicker: false,
timeHistory: mockTimeHistory,
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_top_row.tsx b/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_top_row.tsx
index ed3c2413b0eb4..824e8cf1e2a7c 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_top_row.tsx
+++ b/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_top_row.tsx
@@ -34,6 +34,7 @@ import { FormattedMessage, InjectedIntl, injectI18n } from '@kbn/i18n/react';
import { Toast } from 'src/core/public';
import {
IDataPluginServices,
+ IIndexPattern,
TimeRange,
TimeHistoryContract,
Query,
@@ -42,8 +43,7 @@ import {
esKuery,
} from '../../../../../../../plugins/data/public';
import { useKibana, toMountPoint } from '../../../../../../../plugins/kibana_react/public';
-import { IndexPattern } from '../../../index_patterns';
-import { QueryBarInput } from './query_bar_input';
+import { QueryStringInput } from './query_string_input';
interface Props {
query?: Query;
@@ -53,7 +53,7 @@ interface Props {
dataTestSubj?: string;
disableAutoFocus?: boolean;
screenTitle?: string;
- indexPatterns?: Array;
+ indexPatterns?: Array;
intl: InjectedIntl;
isLoading?: boolean;
prepend?: React.ReactNode;
@@ -178,7 +178,7 @@ function QueryBarTopRowUI(props: Props) {
if (!shouldRenderQueryInput()) return;
return (
- ({
PersistedLog: mockPersistedLogFactory,
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_input.test.tsx b/src/legacy/core_plugins/data/public/query/query_bar/components/query_string_input.test.tsx
similarity index 80%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_input.test.tsx
rename to src/legacy/core_plugins/data/public/query/query_bar/components/query_string_input.test.tsx
index 3edb689ca2bfe..3512604b36261 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_input.test.tsx
+++ b/src/legacy/core_plugins/data/public/query/query_bar/components/query_string_input.test.tsx
@@ -21,15 +21,19 @@ import {
mockFetchIndexPatterns,
mockPersistedLog,
mockPersistedLogFactory,
-} from './query_bar_input.test.mocks';
+} from './query_string_input.test.mocks';
import { EuiFieldText } from '@elastic/eui';
import React from 'react';
import { QueryLanguageSwitcher } from './language_switcher';
-import { QueryBarInput, QueryBarInputUI } from './query_bar_input';
+import { QueryStringInput, QueryStringInputUI } from './query_string_input';
import { coreMock } from '../../../../../../../core/public/mocks';
const startMock = coreMock.createStart();
-import { IndexPattern } from '../../../index';
+/* eslint-disable @kbn/eslint/no-restricted-paths */
+
+import { stubIndexPatternWithFields } from '../../../../../../../plugins/data/public/stubs';
+/* eslint-enable @kbn/eslint/no-restricted-paths */
+
import { KibanaContextProvider } from 'src/plugins/kibana_react/public';
import { I18nProvider } from '@kbn/i18n/react';
import { mount } from 'enzyme';
@@ -65,22 +69,7 @@ const createMockStorage = () => ({
clear: jest.fn(),
});
-const mockIndexPattern = {
- id: '1234',
- title: 'logstash-*',
- fields: [
- {
- name: 'response',
- type: 'number',
- esTypes: ['integer'],
- aggregatable: true,
- filterable: true,
- searchable: true,
- },
- ],
-} as IndexPattern;
-
-function wrapQueryBarInputInContext(testProps: any, storage?: any) {
+function wrapQueryStringInputInContext(testProps: any, storage?: any) {
const defaultOptions = {
screenTitle: 'Another Screen',
intl: null as any,
@@ -95,23 +84,23 @@ function wrapQueryBarInputInContext(testProps: any, storage?: any) {
return (
-
+
);
}
-describe('QueryBarInput', () => {
+describe('QueryStringInput', () => {
beforeEach(() => {
jest.clearAllMocks();
});
it('Should render the given query', () => {
const component = mount(
- wrapQueryBarInputInContext({
+ wrapQueryStringInputInContext({
query: kqlQuery,
onSubmit: noop,
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
})
);
@@ -120,10 +109,10 @@ describe('QueryBarInput', () => {
it('Should pass the query language to the language switcher', () => {
const component = mount(
- wrapQueryBarInputInContext({
+ wrapQueryStringInputInContext({
query: luceneQuery,
onSubmit: noop,
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
})
);
@@ -132,10 +121,10 @@ describe('QueryBarInput', () => {
it('Should disable autoFocus on EuiFieldText when disableAutoFocus prop is true', () => {
const component = mount(
- wrapQueryBarInputInContext({
+ wrapQueryStringInputInContext({
query: kqlQuery,
onSubmit: noop,
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
disableAutoFocus: true,
})
);
@@ -147,10 +136,10 @@ describe('QueryBarInput', () => {
mockPersistedLogFactory.mockClear();
mount(
- wrapQueryBarInputInContext({
+ wrapQueryStringInputInContext({
query: kqlQuery,
onSubmit: noop,
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
disableAutoFocus: true,
appName: 'discover',
})
@@ -162,11 +151,11 @@ describe('QueryBarInput', () => {
const mockStorage = createMockStorage();
const mockCallback = jest.fn();
const component = mount(
- wrapQueryBarInputInContext(
+ wrapQueryStringInputInContext(
{
query: kqlQuery,
onSubmit: mockCallback,
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
disableAutoFocus: true,
appName: 'discover',
},
@@ -186,15 +175,15 @@ describe('QueryBarInput', () => {
const mockCallback = jest.fn();
const component = mount(
- wrapQueryBarInputInContext({
+ wrapQueryStringInputInContext({
query: kqlQuery,
onSubmit: mockCallback,
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
disableAutoFocus: true,
})
);
- const instance = component.find('QueryBarInputUI').instance() as QueryBarInputUI;
+ const instance = component.find('QueryStringInputUI').instance() as QueryStringInputUI;
const input = instance.inputRef;
const inputWrapper = component.find(EuiFieldText).find('input');
inputWrapper.simulate('keyDown', { target: input, keyCode: 13, key: 'Enter', metaKey: true });
@@ -205,16 +194,16 @@ describe('QueryBarInput', () => {
it('Should use PersistedLog for recent search suggestions', async () => {
const component = mount(
- wrapQueryBarInputInContext({
+ wrapQueryStringInputInContext({
query: kqlQuery,
onSubmit: noop,
- indexPatterns: [mockIndexPattern],
+ indexPatterns: [stubIndexPatternWithFields],
disableAutoFocus: true,
persistedLog: mockPersistedLog,
})
);
- const instance = component.find('QueryBarInputUI').instance() as QueryBarInputUI;
+ const instance = component.find('QueryStringInputUI').instance() as QueryStringInputUI;
const input = instance.inputRef;
const inputWrapper = component.find(EuiFieldText).find('input');
inputWrapper.simulate('keyDown', { target: input, keyCode: 13, key: 'Enter', metaKey: true });
@@ -229,7 +218,7 @@ describe('QueryBarInput', () => {
it('Should accept index pattern strings and fetch the full object', () => {
mockFetchIndexPatterns.mockClear();
mount(
- wrapQueryBarInputInContext({
+ wrapQueryStringInputInContext({
query: kqlQuery,
onSubmit: noop,
indexPatterns: ['logstash-*'],
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_input.tsx b/src/legacy/core_plugins/data/public/query/query_bar/components/query_string_input.tsx
similarity index 97%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_input.tsx
rename to src/legacy/core_plugins/data/public/query/query_bar/components/query_string_input.tsx
index dce245e0ccb24..37519551ac5ad 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/components/query_bar_input.tsx
+++ b/src/legacy/core_plugins/data/public/query/query_bar/components/query_string_input.tsx
@@ -38,7 +38,9 @@ import {
AutocompleteSuggestion,
AutocompleteSuggestionType,
IDataPluginServices,
+ IIndexPattern,
PersistedLog,
+ SuggestionsComponent,
toUser,
fromUser,
matchPairs,
@@ -50,15 +52,13 @@ import {
KibanaReactContextValue,
toMountPoint,
} from '../../../../../../../plugins/kibana_react/public';
-import { IndexPattern, StaticIndexPattern } from '../../../index_patterns';
import { QueryLanguageSwitcher } from './language_switcher';
-import { SuggestionsComponent } from './typeahead/suggestions_component';
import { fetchIndexPatterns } from './fetch_index_patterns';
interface Props {
kibana: KibanaReactContextValue;
intl: InjectedIntl;
- indexPatterns: Array;
+ indexPatterns: Array;
query: Query;
disableAutoFocus?: boolean;
screenTitle?: string;
@@ -79,7 +79,7 @@ interface State {
suggestionLimit: number;
selectionStart: number | null;
selectionEnd: number | null;
- indexPatterns: StaticIndexPattern[];
+ indexPatterns: IIndexPattern[];
}
const KEY_CODES = {
@@ -96,7 +96,7 @@ const KEY_CODES = {
const recentSearchType: AutocompleteSuggestionType = 'recentSearch';
-export class QueryBarInputUI extends Component {
+export class QueryStringInputUI extends Component {
public state: State = {
isSuggestionsVisible: false,
index: null,
@@ -123,13 +123,13 @@ export class QueryBarInputUI extends Component {
) as string[];
const objectPatterns = this.props.indexPatterns.filter(
indexPattern => typeof indexPattern !== 'string'
- ) as IndexPattern[];
+ ) as IIndexPattern[];
const objectPatternsFromStrings = (await fetchIndexPatterns(
this.services.savedObjects!.client,
stringPatterns,
this.services.uiSettings!
- )) as IndexPattern[];
+ )) as IIndexPattern[];
this.setState({
indexPatterns: [...objectPatterns, ...objectPatternsFromStrings],
@@ -589,4 +589,4 @@ export class QueryBarInputUI extends Component {
}
}
-export const QueryBarInput = injectI18n(withKibana(QueryBarInputUI));
+export const QueryStringInput = injectI18n(withKibana(QueryStringInputUI));
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/index.ts b/src/legacy/core_plugins/data/public/query/query_bar/index.ts
index f0ad0707c699a..47b0ca5eae1bf 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/index.ts
+++ b/src/legacy/core_plugins/data/public/query/query_bar/index.ts
@@ -18,4 +18,4 @@
*/
export { QueryBarTopRow } from './components/query_bar_top_row';
-export { QueryBarInput } from './components/query_bar_input';
+export { QueryStringInput } from './components/query_string_input';
diff --git a/src/legacy/core_plugins/data/public/search/search_bar/components/search_bar.test.tsx b/src/legacy/core_plugins/data/public/search/search_bar/components/search_bar.test.tsx
index 0ca9482fefa30..da7008b579eb7 100644
--- a/src/legacy/core_plugins/data/public/search/search_bar/components/search_bar.test.tsx
+++ b/src/legacy/core_plugins/data/public/search/search_bar/components/search_bar.test.tsx
@@ -43,7 +43,7 @@ jest.mock('../../../../../../../plugins/data/public', () => {
jest.mock('../../../../../data/public', () => {
return {
- QueryBarInput: () => ,
+ QueryStringInput: () => ,
};
});
diff --git a/src/legacy/core_plugins/vis_type_timeseries/public/components/panel_config/gauge.test.js b/src/legacy/core_plugins/vis_type_timeseries/public/components/panel_config/gauge.test.js
index 7b8a7061e8bb1..9ec8184dbaebb 100644
--- a/src/legacy/core_plugins/vis_type_timeseries/public/components/panel_config/gauge.test.js
+++ b/src/legacy/core_plugins/vis_type_timeseries/public/components/panel_config/gauge.test.js
@@ -22,18 +22,12 @@ import { shallowWithIntl } from 'test_utils/enzyme_helpers';
jest.mock('plugins/data', () => {
return {
- QueryBarInput: () => ,
+ QueryStringInput: () => ,
};
});
import { GaugePanelConfig } from './gauge';
-jest.mock('plugins/data', () => {
- return {
- QueryBar: () => ,
- };
-});
-
describe('GaugePanelConfig', () => {
it('call switch tab onChange={handleChange}', () => {
const props = {
diff --git a/src/legacy/core_plugins/vis_type_timeseries/public/components/query_bar_wrapper.js b/src/legacy/core_plugins/vis_type_timeseries/public/components/query_bar_wrapper.js
index 2eb9a7b03ac5f..dc976beeca0d1 100644
--- a/src/legacy/core_plugins/vis_type_timeseries/public/components/query_bar_wrapper.js
+++ b/src/legacy/core_plugins/vis_type_timeseries/public/components/query_bar_wrapper.js
@@ -19,10 +19,10 @@
import React, { useContext } from 'react';
import { CoreStartContext } from '../contexts/query_input_bar_context';
-import { QueryBarInput } from 'plugins/data';
+import { QueryStringInput } from 'plugins/data';
export function QueryBarWrapper(props) {
const coreStartContext = useContext(CoreStartContext);
- return ;
+ return ;
}
diff --git a/src/legacy/core_plugins/vis_type_timeseries/public/components/vis_types/gauge/series.test.js b/src/legacy/core_plugins/vis_type_timeseries/public/components/vis_types/gauge/series.test.js
index edbeba5d176ae..4efd5bb65451c 100644
--- a/src/legacy/core_plugins/vis_type_timeseries/public/components/vis_types/gauge/series.test.js
+++ b/src/legacy/core_plugins/vis_type_timeseries/public/components/vis_types/gauge/series.test.js
@@ -22,7 +22,7 @@ import { mountWithIntl } from 'test_utils/enzyme_helpers';
jest.mock('plugins/data', () => {
return {
- QueryBarInput: () => ,
+ QueryStringInput: () => ,
};
});
diff --git a/src/legacy/core_plugins/vis_type_timeseries/public/components/vis_types/metric/series.test.js b/src/legacy/core_plugins/vis_type_timeseries/public/components/vis_types/metric/series.test.js
index cfcac5d4908a0..299e7c12f931a 100644
--- a/src/legacy/core_plugins/vis_type_timeseries/public/components/vis_types/metric/series.test.js
+++ b/src/legacy/core_plugins/vis_type_timeseries/public/components/vis_types/metric/series.test.js
@@ -23,7 +23,7 @@ import { mountWithIntl } from 'test_utils/enzyme_helpers';
jest.mock('plugins/data', () => {
return {
- QueryBarInput: () => ,
+ QueryStringInput: () => ,
};
});
diff --git a/src/legacy/ui/public/vis/editors/default/controls/filter.tsx b/src/legacy/ui/public/vis/editors/default/controls/filter.tsx
index e847a95ead478..664a0b3e02a00 100644
--- a/src/legacy/ui/public/vis/editors/default/controls/filter.tsx
+++ b/src/legacy/ui/public/vis/editors/default/controls/filter.tsx
@@ -20,7 +20,7 @@
import React, { useState } from 'react';
import { EuiForm, EuiButtonIcon, EuiFieldText, EuiFormRow, EuiSpacer } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import { QueryBarInput } from 'plugins/data';
+import { QueryStringInput } from 'plugins/data';
import { Query } from 'src/plugins/data/public';
import { AggConfig } from '../../..';
import { npStart } from '../../../../new_platform';
@@ -100,7 +100,7 @@ function FilterRow({
...npStart.core,
}}
>
- onChangeValue(id, query, customLabel)}
diff --git a/src/plugins/data/public/index_patterns/index_pattern.stub.ts b/src/plugins/data/public/index_patterns/index_pattern.stub.ts
index 3d5151752a080..4f8108575aa15 100644
--- a/src/plugins/data/public/index_patterns/index_pattern.stub.ts
+++ b/src/plugins/data/public/index_patterns/index_pattern.stub.ts
@@ -26,3 +26,18 @@ export const stubIndexPattern: IIndexPattern = {
title: 'logstash-*',
timeFieldName: '@timestamp',
};
+
+export const stubIndexPatternWithFields: IIndexPattern = {
+ id: '1234',
+ title: 'logstash-*',
+ fields: [
+ {
+ name: 'response',
+ type: 'number',
+ esTypes: ['integer'],
+ aggregatable: true,
+ filterable: true,
+ searchable: true,
+ },
+ ],
+};
diff --git a/src/plugins/data/public/stubs.ts b/src/plugins/data/public/stubs.ts
index 01e68288bd655..d2519716dd83e 100644
--- a/src/plugins/data/public/stubs.ts
+++ b/src/plugins/data/public/stubs.ts
@@ -17,6 +17,6 @@
* under the License.
*/
-export { stubIndexPattern } from './index_patterns/index_pattern.stub';
+export { stubIndexPattern, stubIndexPatternWithFields } from './index_patterns/index_pattern.stub';
export { stubFields } from './index_patterns/field.stub';
export * from '../common/es_query/filters/stubs';
diff --git a/src/plugins/data/public/ui/index.ts b/src/plugins/data/public/ui/index.ts
index cb7c92b00ea3a..607f690d41c67 100644
--- a/src/plugins/data/public/ui/index.ts
+++ b/src/plugins/data/public/ui/index.ts
@@ -17,6 +17,7 @@
* under the License.
*/
+export { SuggestionsComponent } from './typeahead/suggestions_component';
export { IndexPatternSelect } from './index_pattern_select';
export { FilterBar } from './filter_bar';
export { applyFiltersPopover } from './apply_filters';
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/__snapshots__/suggestion_component.test.tsx.snap b/src/plugins/data/public/ui/typeahead/__snapshots__/suggestion_component.test.tsx.snap
similarity index 100%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/__snapshots__/suggestion_component.test.tsx.snap
rename to src/plugins/data/public/ui/typeahead/__snapshots__/suggestion_component.test.tsx.snap
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/__snapshots__/suggestions_component.test.tsx.snap b/src/plugins/data/public/ui/typeahead/__snapshots__/suggestions_component.test.tsx.snap
similarity index 100%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/__snapshots__/suggestions_component.test.tsx.snap
rename to src/plugins/data/public/ui/typeahead/__snapshots__/suggestions_component.test.tsx.snap
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/_index.scss b/src/plugins/data/public/ui/typeahead/_index.scss
similarity index 100%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/_index.scss
rename to src/plugins/data/public/ui/typeahead/_index.scss
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/_suggestion.scss b/src/plugins/data/public/ui/typeahead/_suggestion.scss
similarity index 100%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/_suggestion.scss
rename to src/plugins/data/public/ui/typeahead/_suggestion.scss
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestion_component.test.tsx b/src/plugins/data/public/ui/typeahead/suggestion_component.test.tsx
similarity index 97%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestion_component.test.tsx
rename to src/plugins/data/public/ui/typeahead/suggestion_component.test.tsx
index dc7ebfc7b37ea..591176bf133fa 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestion_component.test.tsx
+++ b/src/plugins/data/public/ui/typeahead/suggestion_component.test.tsx
@@ -19,7 +19,7 @@
import { mount, shallow } from 'enzyme';
import React from 'react';
-import { AutocompleteSuggestion } from '../../../../../../../../plugins/data/public';
+import { AutocompleteSuggestion } from '../..';
import { SuggestionComponent } from './suggestion_component';
const noop = () => {
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestion_component.tsx b/src/plugins/data/public/ui/typeahead/suggestion_component.tsx
similarity index 96%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestion_component.tsx
rename to src/plugins/data/public/ui/typeahead/suggestion_component.tsx
index 27e3eb1eebd1b..fd29de4573ff0 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestion_component.tsx
+++ b/src/plugins/data/public/ui/typeahead/suggestion_component.tsx
@@ -20,7 +20,7 @@
import { EuiIcon } from '@elastic/eui';
import classNames from 'classnames';
import React, { FunctionComponent } from 'react';
-import { AutocompleteSuggestion } from '../../../../../../../../plugins/data/public';
+import { AutocompleteSuggestion } from '../..';
function getEuiIconType(type: string) {
switch (type) {
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestions_component.test.tsx b/src/plugins/data/public/ui/typeahead/suggestions_component.test.tsx
similarity index 97%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestions_component.test.tsx
rename to src/plugins/data/public/ui/typeahead/suggestions_component.test.tsx
index ea360fc8fd72e..7fb2fdf25104a 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestions_component.test.tsx
+++ b/src/plugins/data/public/ui/typeahead/suggestions_component.test.tsx
@@ -19,7 +19,7 @@
import { mount, shallow } from 'enzyme';
import React from 'react';
-import { AutocompleteSuggestion } from '../../../../../../../../plugins/data/public';
+import { AutocompleteSuggestion } from '../..';
import { SuggestionComponent } from './suggestion_component';
import { SuggestionsComponent } from './suggestions_component';
diff --git a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestions_component.tsx b/src/plugins/data/public/ui/typeahead/suggestions_component.tsx
similarity index 97%
rename from src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestions_component.tsx
rename to src/plugins/data/public/ui/typeahead/suggestions_component.tsx
index 32860e7cb390b..e4cccbcde4fb8 100644
--- a/src/legacy/core_plugins/data/public/query/query_bar/components/typeahead/suggestions_component.tsx
+++ b/src/plugins/data/public/ui/typeahead/suggestions_component.tsx
@@ -19,7 +19,7 @@
import { isEmpty } from 'lodash';
import React, { Component } from 'react';
-import { AutocompleteSuggestion } from '../../../../../../../../plugins/data/public';
+import { AutocompleteSuggestion } from '../..';
import { SuggestionComponent } from './suggestion_component';
interface Props {
diff --git a/x-pack/legacy/plugins/graph/public/components/search_bar.test.tsx b/x-pack/legacy/plugins/graph/public/components/search_bar.test.tsx
index fd2004558be77..a91e91258e240 100644
--- a/x-pack/legacy/plugins/graph/public/components/search_bar.test.tsx
+++ b/x-pack/legacy/plugins/graph/public/components/search_bar.test.tsx
@@ -9,7 +9,7 @@ import { SearchBar, OuterSearchBarProps } from './search_bar';
import React, { ReactElement } from 'react';
import { CoreStart } from 'src/core/public';
import { act } from 'react-dom/test-utils';
-import { QueryBarInput, IndexPattern } from 'src/legacy/core_plugins/data/public';
+import { QueryStringInput, IndexPattern } from 'src/legacy/core_plugins/data/public';
import { KibanaContextProvider } from '../../../../../../src/plugins/kibana_react/public';
import { I18nProvider } from '@kbn/i18n/react';
@@ -25,7 +25,7 @@ import { Provider } from 'react-redux';
jest.mock('../services/source_modal', () => ({ openSourceModal: jest.fn() }));
jest.mock('../../../../../../src/legacy/core_plugins/data/public', () => ({
- QueryBarInput: () => null,
+ QueryStringInput: () => null,
}));
const waitForIndexPatternFetch = () => new Promise(r => setTimeout(r));
@@ -106,7 +106,7 @@ describe('search_bar', () => {
await waitForIndexPatternFetch();
act(() => {
- instance.find(QueryBarInput).prop('onChange')!({ language: 'lucene', query: 'testQuery' });
+ instance.find(QueryStringInput).prop('onChange')!({ language: 'lucene', query: 'testQuery' });
});
act(() => {
@@ -122,7 +122,7 @@ describe('search_bar', () => {
await waitForIndexPatternFetch();
act(() => {
- instance.find(QueryBarInput).prop('onChange')!({ language: 'kuery', query: 'test: abc' });
+ instance.find(QueryStringInput).prop('onChange')!({ language: 'kuery', query: 'test: abc' });
});
act(() => {
@@ -140,7 +140,9 @@ describe('search_bar', () => {
// pick the button component out of the tree because
// it's part of a popover and thus not covered by enzyme
- (instance.find(QueryBarInput).prop('prepend') as ReactElement).props.children.props.onClick();
+ (instance
+ .find(QueryStringInput)
+ .prop('prepend') as ReactElement).props.children.props.onClick();
expect(openSourceModal).toHaveBeenCalled();
});
diff --git a/x-pack/legacy/plugins/graph/public/components/search_bar.tsx b/x-pack/legacy/plugins/graph/public/components/search_bar.tsx
index 56458e5de273f..79ffad26cf981 100644
--- a/x-pack/legacy/plugins/graph/public/components/search_bar.tsx
+++ b/x-pack/legacy/plugins/graph/public/components/search_bar.tsx
@@ -10,7 +10,10 @@ import React, { useState, useEffect } from 'react';
import { i18n } from '@kbn/i18n';
import { connect } from 'react-redux';
import { IndexPatternSavedObject, IndexPatternProvider } from '../types';
-import { QueryBarInput, IndexPattern } from '../../../../../../src/legacy/core_plugins/data/public';
+import {
+ QueryStringInput,
+ IndexPattern,
+} from '../../../../../../src/legacy/core_plugins/data/public';
import { openSourceModal } from '../services/source_modal';
import {
GraphState,
@@ -101,7 +104,7 @@ export function SearchBarComponent(props: SearchBarProps) {
>
-