{
onKeyUp={this.onKeyUp}
onChange={this.onInputChange}
onClick={this.onClickInput}
+ onBlur={this.props.onBlur}
fullWidth
autoFocus={!this.props.disableAutoFocus}
inputRef={(node) => {
diff --git a/src/plugins/data/server/index.ts b/src/plugins/data/server/index.ts
index 6a4eb38b552ff..0dd0115add8ad 100644
--- a/src/plugins/data/server/index.ts
+++ b/src/plugins/data/server/index.ts
@@ -155,6 +155,7 @@ import {
dateHistogramInterval,
InvalidEsCalendarIntervalError,
InvalidEsIntervalFormatError,
+ Ipv4Address,
isValidEsInterval,
isValidInterval,
parseEsInterval,
@@ -184,6 +185,7 @@ export const search = {
dateHistogramInterval,
InvalidEsCalendarIntervalError,
InvalidEsIntervalFormatError,
+ Ipv4Address,
isValidEsInterval,
isValidInterval,
parseEsInterval,
diff --git a/src/plugins/data/server/server.api.md b/src/plugins/data/server/server.api.md
index f029609cbf7ec..0048816456e17 100644
--- a/src/plugins/data/server/server.api.md
+++ b/src/plugins/data/server/server.api.md
@@ -732,6 +732,7 @@ export const search: {
dateHistogramInterval: typeof dateHistogramInterval;
InvalidEsCalendarIntervalError: typeof InvalidEsCalendarIntervalError;
InvalidEsIntervalFormatError: typeof InvalidEsIntervalFormatError;
+ Ipv4Address: typeof Ipv4Address;
isValidEsInterval: typeof isValidEsInterval;
isValidInterval: typeof isValidInterval;
parseEsInterval: typeof parseEsInterval;
@@ -820,12 +821,13 @@ export const UI_SETTINGS: {
// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "TruncateFormat" needs to be exported by the entry point index.d.ts
// src/plugins/data/server/index.ts:129:27 - (ae-forgotten-export) The symbol "isFilterable" needs to be exported by the entry point index.d.ts
// src/plugins/data/server/index.ts:129:27 - (ae-forgotten-export) The symbol "isNestedField" needs to be exported by the entry point index.d.ts
-// src/plugins/data/server/index.ts:184:1 - (ae-forgotten-export) The symbol "dateHistogramInterval" needs to be exported by the entry point index.d.ts
-// src/plugins/data/server/index.ts:185:1 - (ae-forgotten-export) The symbol "InvalidEsCalendarIntervalError" needs to be exported by the entry point index.d.ts
-// src/plugins/data/server/index.ts:186:1 - (ae-forgotten-export) The symbol "InvalidEsIntervalFormatError" needs to be exported by the entry point index.d.ts
-// src/plugins/data/server/index.ts:187:1 - (ae-forgotten-export) The symbol "isValidEsInterval" needs to be exported by the entry point index.d.ts
-// src/plugins/data/server/index.ts:188:1 - (ae-forgotten-export) The symbol "isValidInterval" needs to be exported by the entry point index.d.ts
-// src/plugins/data/server/index.ts:191:1 - (ae-forgotten-export) The symbol "toAbsoluteDates" needs to be exported by the entry point index.d.ts
+// src/plugins/data/server/index.ts:185:1 - (ae-forgotten-export) The symbol "dateHistogramInterval" needs to be exported by the entry point index.d.ts
+// src/plugins/data/server/index.ts:186:1 - (ae-forgotten-export) The symbol "InvalidEsCalendarIntervalError" needs to be exported by the entry point index.d.ts
+// src/plugins/data/server/index.ts:187:1 - (ae-forgotten-export) The symbol "InvalidEsIntervalFormatError" needs to be exported by the entry point index.d.ts
+// src/plugins/data/server/index.ts:188:1 - (ae-forgotten-export) The symbol "Ipv4Address" needs to be exported by the entry point index.d.ts
+// src/plugins/data/server/index.ts:189:1 - (ae-forgotten-export) The symbol "isValidEsInterval" needs to be exported by the entry point index.d.ts
+// src/plugins/data/server/index.ts:190:1 - (ae-forgotten-export) The symbol "isValidInterval" needs to be exported by the entry point index.d.ts
+// src/plugins/data/server/index.ts:193:1 - (ae-forgotten-export) The symbol "toAbsoluteDates" needs to be exported by the entry point index.d.ts
// (No @packageDocumentation comment for this package)
diff --git a/src/plugins/inspector/common/adapters/index.ts b/src/plugins/inspector/common/adapters/index.ts
index 8e1979ab33275..2fc465e7d0b2d 100644
--- a/src/plugins/inspector/common/adapters/index.ts
+++ b/src/plugins/inspector/common/adapters/index.ts
@@ -18,4 +18,4 @@
*/
export { DataAdapter, FormattedData } from './data';
-export { RequestAdapter, RequestStatus } from './request';
+export { RequestAdapter, RequestStatistic, RequestStatistics, RequestStatus } from './request';
diff --git a/src/plugins/inspector/common/adapters/request/index.ts b/src/plugins/inspector/common/adapters/request/index.ts
index 7359c56999a94..5c93757e86d05 100644
--- a/src/plugins/inspector/common/adapters/request/index.ts
+++ b/src/plugins/inspector/common/adapters/request/index.ts
@@ -17,6 +17,5 @@
* under the License.
*/
-export { RequestStatus } from './types';
-
+export { RequestStatistic, RequestStatistics, RequestStatus } from './types';
export { RequestAdapter } from './request_adapter';
diff --git a/src/plugins/kibana_utils/public/index.ts b/src/plugins/kibana_utils/public/index.ts
index 2911a9ae75689..e2d6ae647abb1 100644
--- a/src/plugins/kibana_utils/public/index.ts
+++ b/src/plugins/kibana_utils/public/index.ts
@@ -35,7 +35,6 @@ export {
export * from './core';
export * from '../common/errors';
export * from './field_wildcard';
-export * from './parse';
export * from './render_complete';
export * from './resize_checker';
export * from '../common/state_containers';
diff --git a/src/plugins/kibana_utils/public/parse/index.ts b/src/plugins/kibana_utils/public/parse/index.ts
deleted file mode 100644
index 997cf1b9ae4d1..0000000000000
--- a/src/plugins/kibana_utils/public/parse/index.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * 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.
- */
-
-export * from './ipv4_address';
diff --git a/src/plugins/vis_default_editor/public/components/controls/components/from_to_list.tsx b/src/plugins/vis_default_editor/public/components/controls/components/from_to_list.tsx
index 8fe5cdb47a53d..c0c46f6714c2d 100644
--- a/src/plugins/vis_default_editor/public/components/controls/components/from_to_list.tsx
+++ b/src/plugins/vis_default_editor/public/components/controls/components/from_to_list.tsx
@@ -21,7 +21,7 @@ import React, { useCallback } from 'react';
import { EuiFieldText, EuiFlexItem, EuiIcon } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import { Ipv4Address } from '../../../../../kibana_utils/public';
+import { search } from '../../../../../data/public';
import { InputList, InputListConfig, InputModel, InputObject, InputItem } from './input_list';
const EMPTY_STRING = '';
@@ -49,7 +49,7 @@ const defaultConfig = {
from: { value: '0.0.0.0', model: '0.0.0.0', isInvalid: false },
to: { value: '255.255.255.255', model: '255.255.255.255', isInvalid: false },
},
- validateClass: Ipv4Address,
+ validateClass: search.aggs.Ipv4Address,
getModelValue: (item: FromToObject = {}) => ({
from: {
value: item.from || EMPTY_STRING,
diff --git a/src/plugins/vis_default_editor/public/components/controls/filter.tsx b/src/plugins/vis_default_editor/public/components/controls/filter.tsx
index 0228c79139f16..94fd2d9bc9151 100644
--- a/src/plugins/vis_default_editor/public/components/controls/filter.tsx
+++ b/src/plugins/vis_default_editor/public/components/controls/filter.tsx
@@ -22,6 +22,7 @@ import { EuiForm, EuiButtonIcon, EuiFieldText, EuiFormRow, EuiSpacer } from '@el
import { i18n } from '@kbn/i18n';
import { IAggConfig, Query, QueryStringInput } from '../../../../data/public';
+import { useKibana } from '../../../../kibana_react/public';
interface FilterRowProps {
id: string;
@@ -48,6 +49,7 @@ function FilterRow({
onChangeValue,
onRemoveFilter,
}: FilterRowProps) {
+ const { services } = useKibana();
const [showCustomLabel, setShowCustomLabel] = useState(false);
const filterLabel = i18n.translate('visDefaultEditor.controls.filters.filterLabel', {
defaultMessage: 'Filter {index}',
@@ -56,6 +58,13 @@ function FilterRow({
},
});
+ const onBlur = () => {
+ if (value.query.length > 0) {
+ // Store filter to the query log so that it is available in autocomplete.
+ services.data.query.addToQueryLog(services.appName, value);
+ }
+ };
+
const FilterControl = (
onChangeValue(id, query, customLabel)}
+ onBlur={onBlur}
disableAutoFocus={!autoFocus}
dataTestSubj={dataTestSubj}
bubbleSubmitEvent={true}
diff --git a/x-pack/plugins/security_solution/public/common/components/autocomplete/helpers.ts b/x-pack/plugins/security_solution/public/common/components/autocomplete/helpers.ts
index 888c881f45ce4..483ca5d6d332e 100644
--- a/x-pack/plugins/security_solution/public/common/components/autocomplete/helpers.ts
+++ b/x-pack/plugins/security_solution/public/common/components/autocomplete/helpers.ts
@@ -7,8 +7,8 @@
import dateMath from '@elastic/datemath';
import { EuiComboBoxOptionOption } from '@elastic/eui';
-import { IFieldType } from '../../../../../../../src/plugins/data/common';
-import { Ipv4Address } from '../../../../../../../src/plugins/kibana_utils/public';
+import { IFieldType, Ipv4Address } from '../../../../../../../src/plugins/data/common';
+
import {
EXCEPTION_OPERATORS,
isOperator,