diff --git a/packages/kbn-securitysolution-grouping/src/components/accordion_panel/helpers.ts b/packages/kbn-securitysolution-grouping/src/components/accordion_panel/helpers.ts
index 14d7c44daf1f1e..e9e7453068ebe4 100644
--- a/packages/kbn-securitysolution-grouping/src/components/accordion_panel/helpers.ts
+++ b/packages/kbn-securitysolution-grouping/src/components/accordion_panel/helpers.ts
@@ -6,7 +6,7 @@
* Side Public License, v 1.
*/
-export const createGroupFilter = (selectedGroup: string, query?: string) =>
+export const createGroupFilter = (selectedGroup: string, query?: string | null) =>
query && selectedGroup
? [
{
diff --git a/packages/kbn-securitysolution-grouping/src/components/accordion_panel/index.test.tsx b/packages/kbn-securitysolution-grouping/src/components/accordion_panel/index.test.tsx
index 828e1059471e91..ae5a722742ec37 100644
--- a/packages/kbn-securitysolution-grouping/src/components/accordion_panel/index.test.tsx
+++ b/packages/kbn-securitysolution-grouping/src/components/accordion_panel/index.test.tsx
@@ -8,19 +8,21 @@
import { fireEvent, render } from '@testing-library/react';
import { GroupPanel } from '.';
-import { createGroupFilter } from './helpers';
+import { createGroupFilter, getNullGroupFilter } from './helpers';
import React from 'react';
const onToggleGroup = jest.fn();
const renderChildComponent = jest.fn();
const ruleName = 'Rule name';
-const ruleDesc = 'Rule description';
+const selectedGroup = 'kibana.alert.rule.name';
const testProps = {
isLoading: false,
+ isNullGroup: false,
groupBucket: {
- key: [ruleName, ruleDesc],
- key_as_string: `${ruleName}|${ruleDesc}`,
+ selectedGroup,
+ key: [ruleName, ruleName],
+ key_as_string: `${ruleName}|${ruleName}`,
doc_count: 98,
hostsCountAggregation: {
value: 5,
@@ -54,7 +56,7 @@ const testProps = {
},
},
renderChildComponent,
- selectedGroup: 'kibana.alert.rule.name',
+ selectedGroup,
onGroupClose: () => {},
};
@@ -69,7 +71,12 @@ describe('grouping accordion panel', () => {
createGroupFilter(testProps.selectedGroup, ruleName)
);
});
- it('does not create query without a valid groupFieldValue', () => {
+ it('creates the query for the selectedGroup attribute when the group is null', () => {
+ const { getByTestId } = render();
+ expect(getByTestId('grouping-accordion')).toBeInTheDocument();
+ expect(renderChildComponent).toHaveBeenCalledWith(getNullGroupFilter(testProps.selectedGroup));
+ });
+ it('does not render accordion or create query without a valid groupFieldValue', () => {
const { queryByTestId } = render(
{
expect(queryByTestId('grouping-accordion')).not.toBeInTheDocument();
expect(renderChildComponent).not.toHaveBeenCalled();
});
+ it('Does not render accordion or create query when groupBucket.selectedGroup !== selectedGroup', () => {
+ const { queryByTestId } = render();
+ expect(queryByTestId('grouping-accordion')).not.toBeInTheDocument();
+ expect(testProps.renderChildComponent).not.toHaveBeenCalled();
+ });
it('When onToggleGroup not defined, does nothing on toggle', () => {
const { container } = render();
fireEvent.click(container.querySelector('[data-test-subj="grouping-accordion"] button')!);
diff --git a/packages/kbn-securitysolution-grouping/src/components/accordion_panel/index.tsx b/packages/kbn-securitysolution-grouping/src/components/accordion_panel/index.tsx
index f40fc79eb8c807..81a46c56a6b0ea 100644
--- a/packages/kbn-securitysolution-grouping/src/components/accordion_panel/index.tsx
+++ b/packages/kbn-securitysolution-grouping/src/components/accordion_panel/index.tsx
@@ -10,7 +10,7 @@ import { EuiAccordion, EuiFlexGroup, EuiFlexItem, EuiTitle, EuiIconTip } from '@
import type { Filter } from '@kbn/es-query';
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
import { firstNonNullValue } from '../../helpers';
-import type { RawBucket } from '../types';
+import type { GroupingBucket } from '../types';
import { createGroupFilter, getNullGroupFilter } from './helpers';
interface GroupPanelProps {
@@ -18,14 +18,14 @@ interface GroupPanelProps {
customAccordionClassName?: string;
extraAction?: React.ReactNode;
forceState?: 'open' | 'closed';
- groupBucket: RawBucket;
+ groupBucket: GroupingBucket;
groupPanelRenderer?: JSX.Element;
groupingLevel?: number;
isLoading: boolean;
isNullGroup?: boolean;
nullGroupMessage?: string;
onGroupClose: () => void;
- onToggleGroup?: (isOpen: boolean, groupBucket: RawBucket) => void;
+ onToggleGroup?: (isOpen: boolean, groupBucket: GroupingBucket) => void;
renderChildComponent: (groupFilter: Filter[]) => React.ReactElement;
selectedGroup: string;
}
@@ -81,8 +81,10 @@ const GroupPanelComponent = ({
lastForceState.current = 'open';
}
}, [onGroupClose, forceState, selectedGroup]);
-
- const groupFieldValue = useMemo(() => firstNonNullValue(groupBucket.key), [groupBucket.key]);
+ const groupFieldValue = useMemo(
+ () => (groupBucket.selectedGroup === selectedGroup ? firstNonNullValue(groupBucket.key) : null),
+ [groupBucket.key, groupBucket.selectedGroup, selectedGroup]
+ );
const groupFilters = useMemo(
() =>
diff --git a/packages/kbn-securitysolution-grouping/src/components/grouping.mock.tsx b/packages/kbn-securitysolution-grouping/src/components/grouping.mock.tsx
index 8f06c877d3f95f..459d47ecc1b5e2 100644
--- a/packages/kbn-securitysolution-grouping/src/components/grouping.mock.tsx
+++ b/packages/kbn-securitysolution-grouping/src/components/grouping.mock.tsx
@@ -24,6 +24,7 @@ export const mockGroupingProps = {
{
key: [host1Name],
key_as_string: `${host1Name}`,
+ selectedGroup: 'host.name',
doc_count: 1,
hostsCountAggregation: {
value: 1,
@@ -56,6 +57,7 @@ export const mockGroupingProps = {
{
key: [host2Name],
key_as_string: `${host2Name}`,
+ selectedGroup: 'host.name',
doc_count: 1,
hostsCountAggregation: {
value: 1,
@@ -88,6 +90,7 @@ export const mockGroupingProps = {
{
key: ['-'],
key_as_string: `-`,
+ selectedGroup: 'host.name',
isNullGroup: true,
doc_count: 11,
hostsCountAggregation: {
diff --git a/packages/kbn-securitysolution-grouping/src/components/types.ts b/packages/kbn-securitysolution-grouping/src/components/types.ts
index 955a55d51ef6f5..c22f32e73aa560 100644
--- a/packages/kbn-securitysolution-grouping/src/components/types.ts
+++ b/packages/kbn-securitysolution-grouping/src/components/types.ts
@@ -16,15 +16,16 @@ export const NONE_GROUP_KEY = 'none';
export type RawBucket = GenericBuckets & T;
-export interface GroupingBucket {
+export type GroupingBucket = RawBucket & {
+ selectedGroup: string;
isNullGroup?: boolean;
-}
+};
/** Defines the shape of the aggregation returned by Elasticsearch */
// TODO: write developer docs for these fields
export interface RootAggregation {
groupByFields?: {
- buckets?: Array & GroupingBucket>;
+ buckets?: Array>;
};
groupsCount?: {
value?: number | null;
diff --git a/packages/kbn-securitysolution-grouping/src/containers/query/index.test.ts b/packages/kbn-securitysolution-grouping/src/containers/query/index.test.ts
index b04c21c49d50ce..5ec51efb62d5f0 100644
--- a/packages/kbn-securitysolution-grouping/src/containers/query/index.test.ts
+++ b/packages/kbn-securitysolution-grouping/src/containers/query/index.test.ts
@@ -161,16 +161,19 @@ describe('group selector', () => {
{
key: ['20.80.64.28', '20.80.64.28'],
key_as_string: '20.80.64.28|20.80.64.28',
+ selectedGroup: 'source.ip',
doc_count: 75,
},
{
key: ['0.0.0.0', '0.0.0.0'],
key_as_string: '0.0.0.0|0.0.0.0',
+ selectedGroup: 'source.ip',
doc_count: 75,
},
{
key: ['0.0.0.0', '::'],
key_as_string: '0.0.0.0|::',
+ selectedGroup: 'source.ip',
doc_count: 75,
},
],
@@ -186,23 +189,26 @@ describe('group selector', () => {
},
};
it('parseGroupingQuery finds and flags the null group', () => {
- const result = parseGroupingQuery(groupingAggs);
+ const result = parseGroupingQuery('source.ip', groupingAggs);
expect(result).toEqual({
groupByFields: {
buckets: [
{
key: ['20.80.64.28'],
key_as_string: '20.80.64.28',
+ selectedGroup: 'source.ip',
doc_count: 75,
},
{
key: ['0.0.0.0'],
key_as_string: '0.0.0.0',
+ selectedGroup: 'source.ip',
doc_count: 75,
},
{
key: [getEmptyValue()],
key_as_string: getEmptyValue(),
+ selectedGroup: 'source.ip',
isNullGroup: true,
doc_count: 75,
},
@@ -220,7 +226,7 @@ describe('group selector', () => {
});
});
it('parseGroupingQuery adjust group count when null field group is present', () => {
- const result: GroupingAggregation<{}> = parseGroupingQuery({
+ const result: GroupingAggregation<{}> = parseGroupingQuery('source.ip', {
...groupingAggs,
unitsCountWithoutNull: { value: 99 },
});
diff --git a/packages/kbn-securitysolution-grouping/src/containers/query/index.ts b/packages/kbn-securitysolution-grouping/src/containers/query/index.ts
index 8e29c95be2aa08..49afbff5ec9022 100644
--- a/packages/kbn-securitysolution-grouping/src/containers/query/index.ts
+++ b/packages/kbn-securitysolution-grouping/src/containers/query/index.ts
@@ -119,9 +119,11 @@ export const getGroupingQuery = ({
/**
* Parses the grouping query response to add the isNullGroup
* flag to the buckets and to format the bucket keys
- * @param buckets buckets returned from the grouping query
+ * @param selectedGroup from the grouping query
+ * @param aggs aggs returned from the grouping query
*/
export const parseGroupingQuery = (
+ selectedGroup: string,
aggs?: GroupingAggregation
): GroupingAggregation | {} => {
if (!aggs) {
@@ -138,11 +140,13 @@ export const parseGroupingQuery = (
? {
...group,
key: [group.key[0]],
+ selectedGroup,
key_as_string: group.key[0],
}
: {
...group,
key: [emptyValue],
+ selectedGroup,
key_as_string: emptyValue,
isNullGroup: true,
};
diff --git a/src/plugins/kibana_usage_collection/server/collectors/application_usage/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/application_usage/schema.ts
index 1234b8a1c8def6..b11a02ae4eebbc 100644
--- a/src/plugins/kibana_usage_collection/server/collectors/application_usage/schema.ts
+++ b/src/plugins/kibana_usage_collection/server/collectors/application_usage/schema.ts
@@ -136,6 +136,7 @@ export const applicationUsageSchema = {
enterpriseSearch: commonSchema,
enterpriseSearchContent: commonSchema,
enterpriseSearchAnalytics: commonSchema,
+ enterpriseSearchApplications: commonSchema,
elasticsearch: commonSchema,
appSearch: commonSchema,
workplaceSearch: commonSchema,
diff --git a/src/plugins/telemetry/schema/oss_plugins.json b/src/plugins/telemetry/schema/oss_plugins.json
index 4bfbb99d6e2083..a72cdc02741108 100644
--- a/src/plugins/telemetry/schema/oss_plugins.json
+++ b/src/plugins/telemetry/schema/oss_plugins.json
@@ -2229,6 +2229,137 @@
}
}
},
+ "enterpriseSearchApplications": {
+ "properties": {
+ "appId": {
+ "type": "keyword",
+ "_meta": {
+ "description": "The application being tracked"
+ }
+ },
+ "viewId": {
+ "type": "keyword",
+ "_meta": {
+ "description": "Always `main`"
+ }
+ },
+ "clicks_total": {
+ "type": "long",
+ "_meta": {
+ "description": "General number of clicks in the application since we started counting them"
+ }
+ },
+ "clicks_7_days": {
+ "type": "long",
+ "_meta": {
+ "description": "General number of clicks in the application over the last 7 days"
+ }
+ },
+ "clicks_30_days": {
+ "type": "long",
+ "_meta": {
+ "description": "General number of clicks in the application over the last 30 days"
+ }
+ },
+ "clicks_90_days": {
+ "type": "long",
+ "_meta": {
+ "description": "General number of clicks in the application over the last 90 days"
+ }
+ },
+ "minutes_on_screen_total": {
+ "type": "float",
+ "_meta": {
+ "description": "Minutes the application is active and on-screen since we started counting them."
+ }
+ },
+ "minutes_on_screen_7_days": {
+ "type": "float",
+ "_meta": {
+ "description": "Minutes the application is active and on-screen over the last 7 days"
+ }
+ },
+ "minutes_on_screen_30_days": {
+ "type": "float",
+ "_meta": {
+ "description": "Minutes the application is active and on-screen over the last 30 days"
+ }
+ },
+ "minutes_on_screen_90_days": {
+ "type": "float",
+ "_meta": {
+ "description": "Minutes the application is active and on-screen over the last 90 days"
+ }
+ },
+ "views": {
+ "type": "array",
+ "items": {
+ "properties": {
+ "appId": {
+ "type": "keyword",
+ "_meta": {
+ "description": "The application being tracked"
+ }
+ },
+ "viewId": {
+ "type": "keyword",
+ "_meta": {
+ "description": "The application view being tracked"
+ }
+ },
+ "clicks_total": {
+ "type": "long",
+ "_meta": {
+ "description": "General number of clicks in the application sub view since we started counting them"
+ }
+ },
+ "clicks_7_days": {
+ "type": "long",
+ "_meta": {
+ "description": "General number of clicks in the active application sub view over the last 7 days"
+ }
+ },
+ "clicks_30_days": {
+ "type": "long",
+ "_meta": {
+ "description": "General number of clicks in the active application sub view over the last 30 days"
+ }
+ },
+ "clicks_90_days": {
+ "type": "long",
+ "_meta": {
+ "description": "General number of clicks in the active application sub view over the last 90 days"
+ }
+ },
+ "minutes_on_screen_total": {
+ "type": "float",
+ "_meta": {
+ "description": "Minutes the application sub view is active and on-screen since we started counting them."
+ }
+ },
+ "minutes_on_screen_7_days": {
+ "type": "float",
+ "_meta": {
+ "description": "Minutes the application is active and on-screen active application sub view over the last 7 days"
+ }
+ },
+ "minutes_on_screen_30_days": {
+ "type": "float",
+ "_meta": {
+ "description": "Minutes the application is active and on-screen active application sub view over the last 30 days"
+ }
+ },
+ "minutes_on_screen_90_days": {
+ "type": "float",
+ "_meta": {
+ "description": "Minutes the application is active and on-screen active application sub view over the last 90 days"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"elasticsearch": {
"properties": {
"appId": {
diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/processor.tsx b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/processor.tsx
index de7bc8dfa216e8..b1a13c067f343f 100644
--- a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/processor.tsx
+++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/processor.tsx
@@ -53,6 +53,8 @@ const LensMarkDownRendererComponent: React.FC = ({
executionContext={{
type: 'cases',
}}
+ syncTooltips={false}
+ syncCursor={false}
/>
diff --git a/x-pack/plugins/enterprise_search/common/constants.ts b/x-pack/plugins/enterprise_search/common/constants.ts
index 34a48c7c76ccf1..6bade87daf7a97 100644
--- a/x-pack/plugins/enterprise_search/common/constants.ts
+++ b/x-pack/plugins/enterprise_search/common/constants.ts
@@ -118,10 +118,17 @@ export const SEARCH_EXPERIENCES_PLUGIN = {
WORKPLACE_SEARCH_TUTORIAL_URL: 'https://docs.elastic.co/search-ui/tutorials/workplace-search',
};
-export const ENGINES_PLUGIN = {
- NAV_TITLE: i18n.translate('xpack.enterpriseSearch.applications.navTitle', {
+export const APPLICATIONS_PLUGIN = {
+ ID: 'enterpriseSearchApplications',
+ LOGO: 'logoEnterpriseSearch',
+ NAME: i18n.translate('xpack.enterpriseSearch.applications.productName', {
defaultMessage: 'Applications',
}),
+ NAV_TITLE: i18n.translate('xpack.enterpriseSearch.applications.navTitle', {
+ defaultMessage: 'Search Applications',
+ }),
+ SUPPORT_URL: 'https://discuss.elastic.co/c/enterprise-search/',
+ URL: '/app/enterprise_search/applications',
};
export const LICENSED_SUPPORT_URL = 'https://support.elastic.co';
diff --git a/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_overview.test.tsx b/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_overview.test.tsx
index 1255843d7189a7..da256ebfadff04 100644
--- a/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_overview.test.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_overview.test.tsx
@@ -15,7 +15,7 @@ import { shallow } from 'enzyme';
import { AnalyticsCollection } from '../../../../../common/types/analytics';
-import { LicensingCallout } from '../../../enterprise_search_content/components/shared/licensing_callout/licensing_callout';
+import { LicensingCallout } from '../../../shared/licensing_callout/licensing_callout';
import { AnalyticsCollectionTable } from './analytics_collection_table';
diff --git a/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_overview.tsx b/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_overview.tsx
index 33bfa6d504bace..4dea147e72d23a 100644
--- a/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_overview.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_overview.tsx
@@ -13,12 +13,12 @@ import { EuiFlexItem, EuiSpacer } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
+import { KibanaLogic } from '../../../shared/kibana';
+import { LicensingLogic } from '../../../shared/licensing';
import {
LicensingCallout,
LICENSING_FEATURE,
-} from '../../../enterprise_search_content/components/shared/licensing_callout/licensing_callout';
-import { KibanaLogic } from '../../../shared/kibana';
-import { LicensingLogic } from '../../../shared/licensing';
+} from '../../../shared/licensing_callout/licensing_callout';
import { AddAnalyticsCollection } from '../add_analytics_collections/add_analytics_collection';
import { EnterpriseSearchAnalyticsPageTemplate } from '../layout/page_template';
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/create_engine_api_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/create_engine_api_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/create_engine_api_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/create_engine_api_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/create_engine_api_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/create_engine_api_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/create_engine_api_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/create_engine_api_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/delete_engines_api_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/delete_engines_api_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/delete_engines_api_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/delete_engines_api_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/delete_engines_api_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/delete_engines_api_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/delete_engines_api_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/delete_engines_api_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engine_api_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engine_api_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engine_api_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engine_api_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engine_api_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engine_api_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engine_api_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engine_api_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engine_field_capabilities_api_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engine_field_capabilities_api_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engine_field_capabilities_api_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engine_field_capabilities_api_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engine_field_capabilities_api_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engine_field_capabilities_api_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engine_field_capabilities_api_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engine_field_capabilities_api_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engines_api_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engines_api_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engines_api_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engines_api_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engines_api_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engines_api_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_engines_api_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_engines_api_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_indices_api_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_indices_api_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/fetch_indices_api_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/fetch_indices_api_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/update_engine_api_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/update_engine_api_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/update_engine_api_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/update_engine_api_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/update_engine_api_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/engines/update_engine_api_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/engines/update_engine_api_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/api/engines/update_engine_api_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/add_indices_flyout.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/add_indices_flyout.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/add_indices_flyout.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/add_indices_flyout.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/add_indices_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/add_indices_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/add_indices_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/add_indices_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/add_indices_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/add_indices_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/add_indices_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/add_indices_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/engine_api_integration.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/engine_api_integration.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/engine_api_integration.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/engine_api_integration.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/engine_api_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/engine_api_logic.ts
similarity index 92%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/engine_api_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/engine_api_logic.ts
index 41bda80eb274f9..f996fe836d1125 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/engine_api_logic.ts
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/engine_api_logic.ts
@@ -8,7 +8,7 @@
import { kea, MakeLogicType } from 'kea';
import { Status } from '../../../../../../common/types/api';
-import { GenerateEngineApiKeyLogic } from '../../../api/generate_engine_api_key/generate_engine_api_key_logic';
+import { GenerateEngineApiKeyLogic } from '../../../../enterprise_search_content/api/generate_engine_api_key/generate_engine_api_key_logic';
interface EngineAPIActions {
apiError: typeof GenerateEngineApiKeyLogic.actions.apiError;
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/engine_connect.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/engine_connect.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/engine_connect.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/engine_connect.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.test.ts
similarity index 96%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.test.ts
index 03b3ef872b4a09..fe41dafddd32e7 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.test.ts
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.test.ts
@@ -8,7 +8,7 @@
import { LogicMounter } from '../../../../../__mocks__/kea_logic';
import { Status } from '../../../../../../../common/types/api';
-import { GenerateEngineApiKeyLogic } from '../../../../api/generate_engine_api_key/generate_engine_api_key_logic';
+import { GenerateEngineApiKeyLogic } from '../../../../../enterprise_search_content/api/generate_engine_api_key/generate_engine_api_key_logic';
import { GenerateApiKeyModalLogic } from './generate_engine_api_key_modal.logic';
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.ts
similarity index 90%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.ts
index 1f000181c327ec..60034e9e808ec3 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.ts
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.logic.ts
@@ -9,7 +9,7 @@ import { kea, MakeLogicType } from 'kea';
import { Status } from '../../../../../../../common/types/api';
-import { GenerateEngineApiKeyLogic } from '../../../../api/generate_engine_api_key/generate_engine_api_key_logic';
+import { GenerateEngineApiKeyLogic } from '../../../../../enterprise_search_content/api/generate_engine_api_key/generate_engine_api_key_logic';
interface GenerateApiKeyModalActions {
setKeyName(keyName: string): { keyName: string };
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.test.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.test.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.test.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.test.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.tsx
similarity index 98%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.tsx
index b4d03456ff5ec7..4026ac29219331 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/generate_engine_api_key_modal/generate_engine_api_key_modal.tsx
@@ -31,7 +31,7 @@ import {
import { i18n } from '@kbn/i18n';
-import { GenerateEngineApiKeyLogic } from '../../../../api/generate_engine_api_key/generate_engine_api_key_logic';
+import { GenerateEngineApiKeyLogic } from '../../../../../enterprise_search_content/api/generate_engine_api_key/generate_engine_api_key_logic';
import { GenerateApiKeyModalLogic } from './generate_engine_api_key_modal.logic';
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/search_application_api.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/search_application_api.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_connect/search_application_api.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_connect/search_application_api.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_error.test.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_error.test.tsx
similarity index 96%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_error.test.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_error.test.tsx
index 0f47d2437e3dca..9b8df10b5bdf43 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_error.test.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_error.test.tsx
@@ -39,7 +39,7 @@ describe('EngineError', () => {
expect(wrapper.find(ErrorStatePrompt)).toHaveLength(0);
const notFound = wrapper.find(NotFoundPrompt);
- expect(notFound.prop('backToLink')).toEqual('/engines');
+ expect(notFound.prop('backToLink')).toEqual('/search_applications');
expect(notFound.prop('backToContent')).toEqual('Back to Search Applications');
const telemetry = wrapper.find(SendEnterpriseSearchTelemetry);
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_error.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_error.tsx
similarity index 89%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_error.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_error.tsx
index d36ff3e14e7a75..deb1051dae0447 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_error.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_error.tsx
@@ -9,7 +9,7 @@ import React from 'react';
import { i18n } from '@kbn/i18n';
-import { ENTERPRISE_SEARCH_CONTENT_PLUGIN } from '../../../../../common/constants';
+import { APPLICATIONS_PLUGIN } from '../../../../../common/constants';
import { HttpError } from '../../../../../common/types/api';
import { ErrorStatePrompt } from '../../../shared/error_state';
@@ -34,7 +34,7 @@ export const EngineError: React.FC<{ error?: HttpError; notFound?: boolean }> =
}
)}
backToLink={ENGINES_PATH}
- productSupportUrl={ENTERPRISE_SEARCH_CONTENT_PLUGIN.SUPPORT_URL}
+ productSupportUrl={APPLICATIONS_PLUGIN.SUPPORT_URL}
/>
>
);
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_indices.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_indices.tsx
similarity index 96%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_indices.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_indices.tsx
index 285846f7ccb1c5..ed870985fb64f3 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_indices.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_indices.tsx
@@ -22,8 +22,10 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
+import { ENTERPRISE_SEARCH_CONTENT_PLUGIN } from '../../../../../common/constants';
import { EnterpriseSearchEngineIndex } from '../../../../../common/types/engines';
+import { SEARCH_INDEX_PATH } from '../../../enterprise_search_content/routes';
import { CANCEL_BUTTON_LABEL } from '../../../shared/constants';
import { indexHealthToHealthColor } from '../../../shared/constants/health_colors';
import { generateEncodedPath } from '../../../shared/encode_path_params';
@@ -31,8 +33,6 @@ import { KibanaLogic } from '../../../shared/kibana';
import { EuiLinkTo } from '../../../shared/react_router_helpers';
import { TelemetryLogic } from '../../../shared/telemetry/telemetry_logic';
-import { SEARCH_INDEX_PATH } from '../../routes';
-
import { EngineIndicesLogic } from './engine_indices_logic';
export const EngineIndices: React.FC = () => {
@@ -87,7 +87,10 @@ export const EngineIndices: React.FC = () => {
) : (
{name}
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_indices_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_indices_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_indices_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_indices_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_indices_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_indices_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_indices_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_indices_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_name_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_name_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_name_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_name_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_router.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_router.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_router.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_router.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_schema.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_schema.tsx
similarity index 98%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_schema.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_schema.tsx
index fd10624188ff0c..73ecdf5d09ba0d 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_schema.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_schema.tsx
@@ -36,13 +36,14 @@ import { FormattedMessage } from '@kbn/i18n-react';
import { FieldIcon } from '@kbn/react-field';
+import { ENTERPRISE_SEARCH_CONTENT_PLUGIN } from '../../../../../common/constants';
import { SchemaField } from '../../../../../common/types/engines';
+import { SEARCH_INDEX_TAB_PATH } from '../../../enterprise_search_content/routes';
import { docLinks } from '../../../shared/doc_links';
import { generateEncodedPath } from '../../../shared/encode_path_params';
import { KibanaLogic } from '../../../shared/kibana';
import { EuiLinkTo } from '../../../shared/react_router_helpers';
-import { SEARCH_INDEX_TAB_PATH } from '../../routes';
import { EngineIndicesLogic } from './engine_indices_logic';
@@ -63,10 +64,10 @@ const SchemaFieldDetails: React.FC<{ schemaField: SchemaField }> = ({ schemaFiel
),
render: (name: string) => (
{name}
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/api_call_flyout.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/api_call_flyout.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/api_call_flyout.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/api_call_flyout.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/convert_results.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/convert_results.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/convert_results.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/convert_results.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/convert_results.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/convert_results.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/convert_results.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/convert_results.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/document_context.test.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/document_context.test.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/document_context.test.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/document_context.test.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/document_context.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/document_context.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/document_context.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/document_context.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/document_flyout.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/document_flyout.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/document_flyout.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/document_flyout.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/engine_search_preview.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/engine_search_preview.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/engine_search_preview.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/engine_search_preview.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/engine_search_preview_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/engine_search_preview_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/engine_search_preview_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/engine_search_preview_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/field_value_cell.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/field_value_cell.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/field_value_cell.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/field_value_cell.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/search_ui_components.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/search_ui_components.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/search_ui_components.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/search_ui_components.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_view.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_view.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_view.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_view.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_view_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_view_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_view_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_view_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_view_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_view_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_view_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_view_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/field_icon.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/field_icon.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/field_icon.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/field_icon.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/header_docs_action.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/header_docs_action.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/header_docs_action.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/header_docs_action.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/search_application_content.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/search_application_content.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/search_application_content.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/search_application_content.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/search_application_layout.scss b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/search_application_layout.scss
similarity index 98%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/search_application_layout.scss
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engine/search_application_layout.scss
index a1b0d51a7c02b8..a74aa1d43718f8 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/search_application_layout.scss
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/search_application_layout.scss
@@ -1,5 +1,4 @@
.searchApplicationHeaderBackgroundColor {
background-color: $euiColorLightestShade;
-
}
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/components/empty_engines_prompt.test.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/components/empty_engines_prompt.test.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/components/empty_engines_prompt.test.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/components/empty_engines_prompt.test.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/components/empty_engines_prompt.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/components/empty_engines_prompt.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/components/empty_engines_prompt.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/components/empty_engines_prompt.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/components/indices_select_combobox.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/components/indices_select_combobox.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/components/indices_select_combobox.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/components/indices_select_combobox.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/components/tables/engines_table.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/components/tables/engines_table.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/components/tables/engines_table.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/components/tables/engines_table.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/create_engine_flyout.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/create_engine_flyout.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/create_engine_flyout.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/create_engine_flyout.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/create_engine_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/create_engine_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/create_engine_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/create_engine_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/create_engine_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/create_engine_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/create_engine_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/create_engine_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/delete_engine_modal.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/delete_engine_modal.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/delete_engine_modal.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/delete_engine_modal.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list.test.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list.test.tsx
similarity index 98%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list.test.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list.test.tsx
index 601b325f50aeb3..5705a8f81b5b1d 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list.test.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list.test.tsx
@@ -13,10 +13,9 @@ import { mount, shallow } from 'enzyme';
import { Status } from '../../../../../common/types/api';
+import { LicensingCallout } from '../../../shared/licensing_callout/licensing_callout';
import { EnterpriseSearchEnginesPageTemplate } from '../layout/engines_page_template';
-import { LicensingCallout } from '../shared/licensing_callout/licensing_callout';
-
import { EmptyEnginesPrompt } from './components/empty_engines_prompt';
import { EnginesListTable } from './components/tables/engines_table';
import { EnginesList, CreateEngineButton } from './engines_list';
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list.tsx
similarity index 97%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list.tsx
index c47e35fb3fe9e6..2baf4104339a88 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list.tsx
@@ -31,11 +31,14 @@ import { docLinks } from '../../../shared/doc_links';
import { KibanaLogic } from '../../../shared/kibana';
import { LicensingLogic } from '../../../shared/licensing';
+import {
+ LicensingCallout,
+ LICENSING_FEATURE,
+} from '../../../shared/licensing_callout/licensing_callout';
+
import { ENGINES_PATH, ENGINE_CREATION_PATH } from '../../routes';
import { EnterpriseSearchEnginesPageTemplate } from '../layout/engines_page_template';
-import { LicensingCallout, LICENSING_FEATURE } from '../shared/licensing_callout/licensing_callout';
-
import { EmptyEnginesPrompt } from './components/empty_engines_prompt';
import { EnginesListTable } from './components/tables/engines_table';
import { CreateEngineFlyout } from './create_engine_flyout';
@@ -161,11 +164,7 @@ export const EnginesList: React.FC = ({ createEngineFlyoutOpen }) =>
{createEngineFlyoutOpen && navigateToUrl(ENGINES_PATH)} />}
{
{indexName}
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list_flyout_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list_flyout_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list_flyout_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list_flyout_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list_flyout_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list_flyout_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list_flyout_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list_flyout_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list_logic.test.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list_logic.test.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list_logic.test.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list_logic.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_list_logic.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_list_logic.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_router.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_router.tsx
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_router.tsx
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/engines_router.tsx
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/types.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/engines/types.ts
similarity index 100%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/types.ts
rename to x-pack/plugins/enterprise_search/public/applications/applications/components/engines/types.ts
diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/components/layout/engines_page_template.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/layout/engines_page_template.tsx
new file mode 100644
index 00000000000000..94f0d9ae56e7c8
--- /dev/null
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/layout/engines_page_template.tsx
@@ -0,0 +1,40 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import React from 'react';
+
+import { ENTERPRISE_SEARCH_CONTENT_PLUGIN } from '../../../../../common/constants';
+import { SetEnterpriseSearchEnginesChrome } from '../../../shared/kibana_chrome';
+import { EnterpriseSearchPageTemplateWrapper, PageTemplateProps } from '../../../shared/layout';
+import { useEnterpriseSearchEngineNav } from '../../../shared/layout';
+import { SendEnterpriseSearchTelemetry } from '../../../shared/telemetry';
+
+export type EnterpriseSearchEnginesPageTemplateProps = PageTemplateProps & {
+ engineName?: string;
+};
+
+export const EnterpriseSearchEnginesPageTemplate: React.FC<
+ EnterpriseSearchEnginesPageTemplateProps
+> = ({ children, pageChrome, pageViewTelemetry, engineName, ...pageTemplateProps }) => {
+ const navItems = useEnterpriseSearchEngineNav(engineName, pageTemplateProps.isEmptyState);
+ return (
+ }
+ >
+ {pageViewTelemetry && (
+
+ )}
+ {children}
+
+ );
+};
diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/components/not_found.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/not_found.tsx
new file mode 100644
index 00000000000000..3ebdb9d9e8cafe
--- /dev/null
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/not_found.tsx
@@ -0,0 +1,24 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import React from 'react';
+
+import { APPLICATIONS_PLUGIN } from '../../../../common/constants';
+import { PageTemplateProps } from '../../shared/layout';
+import { NotFoundPrompt } from '../../shared/not_found';
+import { SendEnterpriseSearchTelemetry } from '../../shared/telemetry';
+
+import { EnterpriseSearchEnginesPageTemplate } from './layout/engines_page_template';
+
+export const NotFound: React.FC = ({ pageChrome = [] }) => {
+ return (
+
+
+
+
+ );
+};
diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/index.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/index.tsx
new file mode 100644
index 00000000000000..da404e2081b013
--- /dev/null
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/index.tsx
@@ -0,0 +1,29 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import React from 'react';
+import { Redirect, Switch } from 'react-router-dom';
+
+import { Route } from '@kbn/shared-ux-router';
+
+import { EnginesRouter } from './components/engines/engines_router';
+import { NotFound } from './components/not_found';
+import { ROOT_PATH, ENGINES_PATH } from './routes';
+
+export const Applications = () => {
+ return (
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/routes.ts b/x-pack/plugins/enterprise_search/public/applications/applications/routes.ts
new file mode 100644
index 00000000000000..8ac1cb5de33405
--- /dev/null
+++ b/x-pack/plugins/enterprise_search/public/applications/applications/routes.ts
@@ -0,0 +1,28 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+export const ROOT_PATH = '/';
+
+export const ENGINES_PATH = `${ROOT_PATH}search_applications`;
+
+export enum EngineViewTabs {
+ PREVIEW = 'preview',
+ CONTENT = 'content',
+ CONNECT = 'connect',
+}
+export const ENGINE_CREATION_PATH = `${ENGINES_PATH}/new`;
+export const ENGINE_PATH = `${ENGINES_PATH}/:engineName`;
+export const ENGINE_TAB_PATH = `${ENGINE_PATH}/:tabId`;
+export const SEARCH_APPLICATION_CONNECT_PATH = `${ENGINE_PATH}/${EngineViewTabs.CONNECT}/:connectTabId`;
+export enum SearchApplicationConnectTabs {
+ API = 'api',
+}
+export const SEARCH_APPLICATION_CONTENT_PATH = `${ENGINE_PATH}/${EngineViewTabs.CONTENT}/:contentTabId`;
+export enum SearchApplicationContentTabs {
+ INDICES = 'indices',
+ SCHEMA = 'schema',
+}
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_connector/method_connector.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_connector/method_connector.tsx
index 7eb8d22c2330fb..0b3a2b10644077 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_connector/method_connector.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_connector/method_connector.tsx
@@ -17,14 +17,14 @@ import { Status } from '../../../../../../common/types/api';
import { docLinks } from '../../../../shared/doc_links';
import { KibanaLogic } from '../../../../shared/kibana';
import { LicensingLogic } from '../../../../shared/licensing';
+import {
+ LicensingCallout,
+ LICENSING_FEATURE,
+} from '../../../../shared/licensing_callout/licensing_callout';
import { AddConnectorApiLogic } from '../../../api/connector/add_connector_api_logic';
import { FetchCloudHealthApiLogic } from '../../../api/stats/fetch_cloud_health_api_logic';
import { NATIVE_CONNECTORS } from '../../search_index/connector/constants';
-import {
- LicensingCallout,
- LICENSING_FEATURE,
-} from '../../shared/licensing_callout/licensing_callout';
import { NewSearchIndexLogic } from '../new_search_index_logic';
import { NewSearchIndexTemplate } from '../new_search_index_template';
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_crawler/method_crawler.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_crawler/method_crawler.tsx
index 1264e400fce4e7..8b77da27959d00 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_crawler/method_crawler.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_crawler/method_crawler.tsx
@@ -15,11 +15,11 @@ import { Status } from '../../../../../../common/types/api';
import { docLinks } from '../../../../shared/doc_links';
import { KibanaLogic } from '../../../../shared/kibana';
import { LicensingLogic } from '../../../../shared/licensing';
-import { CreateCrawlerIndexApiLogic } from '../../../api/crawler/create_crawler_index_api_logic';
import {
LicensingCallout,
LICENSING_FEATURE,
-} from '../../shared/licensing_callout/licensing_callout';
+} from '../../../../shared/licensing_callout/licensing_callout';
+import { CreateCrawlerIndexApiLogic } from '../../../api/crawler/create_crawler_index_api_logic';
import { NewSearchIndexTemplate } from '../new_search_index_template';
import { MethodCrawlerLogic } from './method_crawler_logic';
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/header_actions/create_engine_menu_item.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/header_actions/create_engine_menu_item.tsx
index 059fa91c8ac0b3..620e97457fd772 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/header_actions/create_engine_menu_item.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/header_actions/create_engine_menu_item.tsx
@@ -11,11 +11,11 @@ import { EuiContextMenuItem, EuiText, EuiFlexGroup, EuiFlexItem } from '@elastic
import { i18n } from '@kbn/i18n';
-import { ENTERPRISE_SEARCH_CONTENT_PLUGIN } from '../../../../../../../common/constants';
+import { APPLICATIONS_PLUGIN } from '../../../../../../../common/constants';
+import { ENGINE_CREATION_PATH } from '../../../../../applications/routes';
import { ESINDEX_QUERY_PARAMETER } from '../../../../../shared/constants';
import { generateEncodedPath } from '../../../../../shared/encode_path_params';
import { KibanaLogic } from '../../../../../shared/kibana';
-import { ENGINE_CREATION_PATH } from '../../../../routes';
export interface CreateEngineMenuItemProps {
indexName?: string;
@@ -29,9 +29,9 @@ export const CreateEngineMenuItem: React.FC = ({
isHiddenIndex,
}) => {
const searchApplicationCreationPath = !indexName
- ? `${ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL}${ENGINE_CREATION_PATH}`
+ ? `${APPLICATIONS_PLUGIN.URL}${ENGINE_CREATION_PATH}`
: generateEncodedPath(
- `${ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL}${ENGINE_CREATION_PATH}?:indexKey=:indexName`,
+ `${APPLICATIONS_PLUGIN.URL}${ENGINE_CREATION_PATH}?:indexKey=:indexName`,
{
indexKey: ESINDEX_QUERY_PARAMETER,
indexName,
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/header_actions/search_engines_popover.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/header_actions/search_engines_popover.tsx
index 611c63c276750c..7a6abf65a59b86 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/header_actions/search_engines_popover.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/header_actions/search_engines_popover.tsx
@@ -20,11 +20,10 @@ import {
import { i18n } from '@kbn/i18n';
-import { ENTERPRISE_SEARCH_CONTENT_PLUGIN } from '../../../../../../../common/constants';
+import { APPLICATIONS_PLUGIN } from '../../../../../../../common/constants';
+import { ENGINES_PATH } from '../../../../../applications/routes';
import { KibanaLogic } from '../../../../../shared/kibana';
-import { ENGINES_PATH } from '../../../../routes';
-
import { CreateEngineMenuItem } from './create_engine_menu_item';
import { SearchEnginesPopoverLogic } from './search_engines_popover_logic';
@@ -66,12 +65,9 @@ export const SearchEnginesPopover: React.FC = ({
data-telemetry-id={`entSearchContent-${ingestionMethod}-header-searchEngines-viewEngines`}
icon="eye"
onClick={() => {
- KibanaLogic.values.navigateToUrl(
- ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL + ENGINES_PATH,
- {
- shouldNotCreateHref: true,
- }
- );
+ KibanaLogic.values.navigateToUrl(APPLICATIONS_PLUGIN.URL + ENGINES_PATH, {
+ shouldNotCreateHref: true,
+ });
}}
>
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/customize_pipeline_item.test.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/customize_pipeline_item.test.tsx
index ca281cb2ae54a9..76f51eed4ea385 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/customize_pipeline_item.test.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/customize_pipeline_item.test.tsx
@@ -14,7 +14,7 @@ import { shallow } from 'enzyme';
import { EuiCallOut, EuiButton } from '@elastic/eui';
-import { LicensingCallout } from '../../../shared/licensing_callout/licensing_callout';
+import { LicensingCallout } from '../../../../../shared/licensing_callout/licensing_callout';
import { CopyAndCustomizePipelinePanel } from './customize_pipeline_item';
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/customize_pipeline_item.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/customize_pipeline_item.tsx
index 3c5afe6790af42..63fe449895b561 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/customize_pipeline_item.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/customize_pipeline_item.tsx
@@ -18,12 +18,12 @@ import { Status } from '../../../../../../../common/types/api';
import { KibanaLogic } from '../../../../../shared/kibana';
import { LicensingLogic } from '../../../../../shared/licensing';
-import { CreateCustomPipelineApiLogic } from '../../../../api/index/create_custom_pipeline_api_logic';
-
import {
LicensingCallout,
LICENSING_FEATURE,
-} from '../../../shared/licensing_callout/licensing_callout';
+} from '../../../../../shared/licensing_callout/licensing_callout';
+import { CreateCustomPipelineApiLogic } from '../../../../api/index/create_custom_pipeline_api_logic';
+
import { IndexViewLogic } from '../../index_view_logic';
import { PipelinesLogic } from '../pipelines_logic';
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/index.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/index.tsx
index 1081d8368ba08d..596e2eef4a48c6 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/index.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/index.tsx
@@ -19,18 +19,11 @@ import { HttpLogic } from '../shared/http';
import { KibanaLogic } from '../shared/kibana';
import { VersionMismatchPage } from '../shared/version_mismatch';
-import { EnginesRouter } from './components/engines/engines_router';
import { ErrorConnecting } from './components/error_connecting';
import { NotFound } from './components/not_found';
import { SearchIndicesRouter } from './components/search_indices';
import { Settings } from './components/settings';
-import {
- SETUP_GUIDE_PATH,
- ROOT_PATH,
- SEARCH_INDICES_PATH,
- SETTINGS_PATH,
- ENGINES_PATH,
-} from './routes';
+import { SETUP_GUIDE_PATH, ROOT_PATH, SEARCH_INDICES_PATH, SETTINGS_PATH } from './routes';
export const EnterpriseSearchContent: React.FC = (props) => {
const { config } = useValues(KibanaLogic);
@@ -83,9 +76,6 @@ export const EnterpriseSearchContentConfigured: React.FC
-
-
-
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/routes.ts b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/routes.ts
index cfd2447b9aa8b9..b9004700d00a55 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/routes.ts
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/routes.ts
@@ -25,25 +25,5 @@ export const SEARCH_INDEX_TAB_DETAIL_PATH = `${SEARCH_INDEX_TAB_PATH}/:detailId`
export const SEARCH_INDEX_CRAWLER_DOMAIN_DETAIL_PATH = `${SEARCH_INDEX_PATH}/domain_management/:domainId`;
export const OLD_SEARCH_INDEX_CRAWLER_DOMAIN_DETAIL_PATH = `${SEARCH_INDEX_PATH}/crawler/domains/:domainId`;
-export const ENGINES_PATH = `${ROOT_PATH}engines`;
-
-export enum EngineViewTabs {
- PREVIEW = 'preview',
- CONTENT = 'content',
- CONNECT = 'connect',
-}
-export const ENGINE_CREATION_PATH = `${ENGINES_PATH}/new`;
-export const ENGINE_PATH = `${ENGINES_PATH}/:engineName`;
-export const ENGINE_TAB_PATH = `${ENGINE_PATH}/:tabId`;
-export const SEARCH_APPLICATION_CONNECT_PATH = `${ENGINE_PATH}/${EngineViewTabs.CONNECT}/:connectTabId`;
-export enum SearchApplicationConnectTabs {
- API = 'api',
-}
-export const SEARCH_APPLICATION_CONTENT_PATH = `${ENGINE_PATH}/${EngineViewTabs.CONTENT}/:contentTabId`;
-export enum SearchApplicationContentTabs {
- INDICES = 'indices',
- SCHEMA = 'schema',
-}
-
export const ML_MANAGE_TRAINED_MODELS_PATH = '/app/ml/trained_models';
export const ML_NOTIFICATIONS_PATH = '/app/ml/notifications';
diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.tsx
index bd042c4b6ac908..681d815bd536fc 100644
--- a/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/shared/kibana_chrome/set_chrome.tsx
@@ -9,7 +9,7 @@ import React, { useEffect } from 'react';
import { useValues } from 'kea';
-import { ENGINES_PLUGIN } from '../../../../common/constants';
+import { APPLICATIONS_PLUGIN } from '../../../../common/constants';
import { KibanaLogic } from '../kibana';
@@ -179,7 +179,7 @@ export const SetEnterpriseSearchEnginesChrome: React.FC = ({ tra
const docTitle = appSearchTitle(title);
const breadcrumbs = useEnterpriseSearchEnginesBreadcrumbs(
- useGenerateBreadcrumbs([ENGINES_PLUGIN.NAV_TITLE, ...trail])
+ useGenerateBreadcrumbs([APPLICATIONS_PLUGIN.NAV_TITLE, ...trail])
);
useEffect(() => {
diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.test.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.test.tsx
index a0fc064d9e5650..0f303b02648dfc 100644
--- a/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.test.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.test.tsx
@@ -80,7 +80,7 @@ describe('useEnterpriseSearchContentNav', () => {
id: 'applications',
items: [
{
- href: '/app/enterprise_search/content/engines',
+ href: '/app/enterprise_search/applications',
id: 'searchApplications',
name: 'Search Applications',
},
@@ -238,7 +238,7 @@ describe('useEnterpriseSearchEngineNav', () => {
id: 'applications',
items: [
{
- href: '/app/enterprise_search/content/engines',
+ href: '/app/enterprise_search/applications',
id: 'searchApplications',
name: 'Search Applications',
},
@@ -292,21 +292,21 @@ describe('useEnterpriseSearchEngineNav', () => {
// @ts-ignore
const engineItem: EuiSideNavItemType = enginesItem!.items[0];
expect(engineItem).toEqual({
- href: `/app/enterprise_search/content/engines/${engineName}`,
+ href: `/app/enterprise_search/applications/search_applications/${engineName}`,
id: 'engineId',
items: [
{
- href: `/app/enterprise_search/content/engines/${engineName}/preview`,
+ href: `/app/enterprise_search/applications/search_applications/${engineName}/preview`,
id: 'enterpriseSearchEnginePreview',
name: 'Search Preview',
},
{
- href: `/app/enterprise_search/content/engines/${engineName}/content`,
+ href: `/app/enterprise_search/applications/search_applications/${engineName}/content`,
id: 'enterpriseSearchApplicationsContent',
name: 'Content',
},
{
- href: `/app/enterprise_search/content/engines/${engineName}/connect`,
+ href: `/app/enterprise_search/applications/search_applications/${engineName}/connect`,
id: 'enterpriseSearchApplicationConnect',
name: 'Connect',
},
@@ -338,7 +338,7 @@ describe('useEnterpriseSearchEngineNav', () => {
// @ts-ignore
const engineItem: EuiSideNavItemType = enginesItem!.items[0];
expect(engineItem).toEqual({
- href: `/app/enterprise_search/content/engines/${engineName}`,
+ href: `/app/enterprise_search/applications/search_applications/${engineName}`,
id: 'engineId',
name: engineName,
});
@@ -379,7 +379,7 @@ describe('useEnterpriseSearchAnalyticsNav', () => {
id: 'applications',
items: [
{
- href: '/app/enterprise_search/content/engines',
+ href: '/app/enterprise_search/applications',
id: 'searchApplications',
name: 'Search Applications',
},
diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.tsx
index e1b9609164efcf..c137739e221644 100644
--- a/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.tsx
@@ -12,6 +12,7 @@ import { i18n } from '@kbn/i18n';
import {
ANALYTICS_PLUGIN,
+ APPLICATIONS_PLUGIN,
APP_SEARCH_PLUGIN,
ELASTICSEARCH_PLUGIN,
ENTERPRISE_SEARCH_CONTENT_PLUGIN,
@@ -19,12 +20,8 @@ import {
SEARCH_EXPERIENCES_PLUGIN,
WORKPLACE_SEARCH_PLUGIN,
} from '../../../../common/constants';
-import {
- ENGINES_PATH,
- SEARCH_INDICES_PATH,
- SETTINGS_PATH,
- EngineViewTabs,
-} from '../../enterprise_search_content/routes';
+import { ENGINES_PATH, EngineViewTabs } from '../../applications/routes';
+import { SEARCH_INDICES_PATH, SETTINGS_PATH } from '../../enterprise_search_content/routes';
import { KibanaLogic } from '../kibana';
import { generateNavLink } from './nav_link_helpers';
@@ -110,7 +107,7 @@ export const useEnterpriseSearchNav = () => {
}),
...generateNavLink({
shouldNotCreateHref: true,
- to: ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL + ENGINES_PATH,
+ to: APPLICATIONS_PLUGIN.URL,
}),
},
{
@@ -182,7 +179,7 @@ export const useEnterpriseSearchEngineNav = (engineName?: string, isEmptyState?:
const enginesItem = applicationsItem.items?.find((item) => item.id === 'searchApplications');
if (!enginesItem || enginesItem.id !== 'searchApplications') return navItems;
- const enginePath = `${ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL}${ENGINES_PATH}/${engineName}`;
+ const enginePath = `${APPLICATIONS_PLUGIN.URL}${ENGINES_PATH}/${engineName}`;
enginesItem.items = !isEmptyState
? [
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/shared/licensing_callout/licensing_callout.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/licensing_callout/licensing_callout.tsx
similarity index 99%
rename from x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/shared/licensing_callout/licensing_callout.tsx
rename to x-pack/plugins/enterprise_search/public/applications/shared/licensing_callout/licensing_callout.tsx
index 7ab3eebeae2703..b4a5d2c28c4a00 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/shared/licensing_callout/licensing_callout.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/shared/licensing_callout/licensing_callout.tsx
@@ -10,7 +10,7 @@ import React from 'react';
import { EuiCallOut, EuiFlexGroup, EuiFlexItem, EuiLink } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import { docLinks } from '../../../../shared/doc_links/doc_links';
+import { docLinks } from '../doc_links/doc_links';
export enum LICENSING_FEATURE {
NATIVE_CONNECTOR = 'nativeConnector',
diff --git a/x-pack/plugins/enterprise_search/public/plugin.ts b/x-pack/plugins/enterprise_search/public/plugin.ts
index c4612fa27a4286..1bff3e88a78f66 100644
--- a/x-pack/plugins/enterprise_search/public/plugin.ts
+++ b/x-pack/plugins/enterprise_search/public/plugin.ts
@@ -26,6 +26,7 @@ import { SecurityPluginSetup, SecurityPluginStart } from '@kbn/security-plugin/p
import {
ANALYTICS_PLUGIN,
+ APPLICATIONS_PLUGIN,
APP_SEARCH_PLUGIN,
ELASTICSEARCH_PLUGIN,
ENTERPRISE_SEARCH_CONTENT_PLUGIN,
@@ -161,6 +162,29 @@ export class EnterpriseSearchPlugin implements Plugin {
title: ENTERPRISE_SEARCH_CONTENT_PLUGIN.NAV_TITLE,
});
+ core.application.register({
+ appRoute: APPLICATIONS_PLUGIN.URL,
+ category: DEFAULT_APP_CATEGORIES.enterpriseSearch,
+ euiIconType: APPLICATIONS_PLUGIN.LOGO,
+ id: APPLICATIONS_PLUGIN.ID,
+ navLinkStatus: AppNavLinkStatus.default,
+ searchable: true,
+ title: APPLICATIONS_PLUGIN.NAV_TITLE,
+ mount: async (params: AppMountParameters) => {
+ const kibanaDeps = await this.getKibanaDeps(core, params, cloud);
+ const { chrome, http } = kibanaDeps.core;
+ chrome.docTitle.change(ENTERPRISE_SEARCH_CONTENT_PLUGIN.NAME);
+
+ await this.getInitialData(http);
+ const pluginData = this.getPluginData();
+
+ const { renderApp } = await import('./applications');
+ const { Applications } = await import('./applications/applications');
+
+ return renderApp(Applications, kibanaDeps, pluginData);
+ },
+ });
+
core.application.register({
appRoute: ANALYTICS_PLUGIN.URL,
category: DEFAULT_APP_CATEGORIES.enterpriseSearch,
diff --git a/x-pack/plugins/enterprise_search/server/plugin.ts b/x-pack/plugins/enterprise_search/server/plugin.ts
index 77dc6d4c839f52..f699d4c4d37087 100644
--- a/x-pack/plugins/enterprise_search/server/plugin.ts
+++ b/x-pack/plugins/enterprise_search/server/plugin.ts
@@ -184,6 +184,7 @@ export class EnterpriseSearchPlugin implements Plugin {
enterpriseSearch: showEnterpriseSearch,
enterpriseSearchContent: showEnterpriseSearch,
enterpriseSearchAnalytics: showEnterpriseSearch,
+ enterpriseSearchApplications: showEnterpriseSearch,
elasticsearch: showEnterpriseSearch,
appSearch: hasAppSearchAccess && config.canDeployEntSearch,
workplaceSearch: hasWorkplaceSearchAccess && config.canDeployEntSearch,
@@ -193,6 +194,7 @@ export class EnterpriseSearchPlugin implements Plugin {
enterpriseSearch: showEnterpriseSearch,
enterpriseSearchContent: showEnterpriseSearch,
enterpriseSearchAnalytics: showEnterpriseSearch,
+ enterpriseSearchApplications: showEnterpriseSearch,
elasticsearch: showEnterpriseSearch,
appSearch: hasAppSearchAccess && config.canDeployEntSearch,
workplaceSearch: hasWorkplaceSearchAccess && config.canDeployEntSearch,
diff --git a/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts b/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts
index 77344640c50b2c..f4fb0cfd89c2ff 100644
--- a/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts
+++ b/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts
@@ -111,6 +111,8 @@ spec:
readOnly: true
- name: sys-kernel-debug
mountPath: /sys/kernel/debug
+ - name: elastic-agent-state
+ mountPath: /usr/share/elastic-agent/state
volumes:
- name: datastreams
configMap:
@@ -146,6 +148,12 @@ spec:
- name: sys-kernel-debug
hostPath:
path: /sys/kernel/debug
+ # Mount /var/lib/elastic-agent-managed/kube-system/state to store elastic-agent state
+ # Update 'kube-system' with the namespace of your agent installation
+ - name: elastic-agent-state
+ hostPath:
+ path: /var/lib/elastic-agent/kube-system/state
+ type: DirectoryOrCreate
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
@@ -402,6 +410,8 @@ spec:
readOnly: true
- name: sys-kernel-debug
mountPath: /sys/kernel/debug
+ - name: elastic-agent-state
+ mountPath: /usr/share/elastic-agent/state
volumes:
- name: proc
hostPath:
@@ -436,6 +446,12 @@ spec:
- name: sys-kernel-debug
hostPath:
path: /sys/kernel/debug
+ # Mount /var/lib/elastic-agent-managed/kube-system/state to store elastic-agent state
+ # Update 'kube-system' with the namespace of your agent installation
+ - name: elastic-agent-state
+ hostPath:
+ path: /var/lib/elastic-agent-managed/kube-system/state
+ type: DirectoryOrCreate
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
diff --git a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/__snapshots__/external_alert.test.ts.snap b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/__snapshots__/external_alert.test.ts.snap
index 6c56414f3c05e7..edf04f5aadbf5e 100644
--- a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/__snapshots__/external_alert.test.ts.snap
+++ b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/__snapshots__/external_alert.test.ts.snap
@@ -190,6 +190,11 @@ Object {
"query": "host.name: *",
},
"visualization": Object {
+ "axisTitlesVisibilitySettings": Object {
+ "x": false,
+ "yLeft": false,
+ "yRight": true,
+ },
"layers": Array [
Object {
"accessors": Array [
@@ -211,6 +216,7 @@ Object {
"preferredSeriesType": "bar_stacked",
"title": "Empty XY chart",
"valueLabels": "hide",
+ "valuesInLegend": true,
"yLeftExtent": Object {
"mode": "full",
},
diff --git a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/event.test.ts b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/event.test.ts
index 935e2a279d6736..2616d25164a9df 100644
--- a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/event.test.ts
+++ b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/event.test.ts
@@ -480,4 +480,19 @@ describe('getEventsHistogramLensAttributes', () => {
})
);
});
+
+ it('should render values in legend', () => {
+ const { result } = renderHook(
+ () =>
+ useLensAttributes({
+ getLensAttributes: getEventsHistogramLensAttributes,
+ stackByField: 'event.dataset',
+ }),
+ { wrapper }
+ );
+
+ expect(result?.current?.state?.visualization).toEqual(
+ expect.objectContaining({ valuesInLegend: true })
+ );
+ });
});
diff --git a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/events.ts b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/events.ts
index 61e9bac0cb3ac5..bbdd521992b4f5 100644
--- a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/events.ts
+++ b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/events.ts
@@ -49,6 +49,7 @@ export const getEventsHistogramLensAttributes: GetLensAttributes = (
yLeft: false,
yRight: true,
},
+ valuesInLegend: true,
},
query: {
query: '',
diff --git a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/external_alert.test.ts b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/external_alert.test.ts
index 575960076dda4f..bef98c3678ce2a 100644
--- a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/external_alert.test.ts
+++ b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/external_alert.test.ts
@@ -43,4 +43,19 @@ describe('getExternalAlertLensAttributes', () => {
expect(result?.current).toMatchSnapshot();
});
+
+ it('should render values in legend', () => {
+ const { result } = renderHook(
+ () =>
+ useLensAttributes({
+ getLensAttributes: getExternalAlertLensAttributes,
+ stackByField: 'event.dataset',
+ }),
+ { wrapper }
+ );
+
+ expect(result?.current?.state?.visualization).toEqual(
+ expect.objectContaining({ valuesInLegend: true })
+ );
+ });
});
diff --git a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/external_alert.ts b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/external_alert.ts
index 44aa790332ba09..5464f6e2cf85e8 100644
--- a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/external_alert.ts
+++ b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/common/external_alert.ts
@@ -42,6 +42,12 @@ export const getExternalAlertLensAttributes: GetLensAttributes = (
yLeftExtent: {
mode: 'full',
},
+ axisTitlesVisibilitySettings: {
+ x: false,
+ yLeft: false,
+ yRight: true,
+ },
+ valuesInLegend: true,
},
query: {
query: '',
diff --git a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/__snapshots__/dns_top_domains.test.ts.snap b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/__snapshots__/dns_top_domains.test.ts.snap
index 626e61fe0399a7..0bdfc50fae65c2 100644
--- a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/__snapshots__/dns_top_domains.test.ts.snap
+++ b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/__snapshots__/dns_top_domains.test.ts.snap
@@ -237,6 +237,7 @@ Object {
"yRight": true,
},
"valueLabels": "hide",
+ "valuesInLegend": true,
"yLeftExtent": Object {
"mode": "full",
},
diff --git a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/dns_top_domains.test.ts b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/dns_top_domains.test.ts
index b60d46203aa69a..9ceebcd902dff2 100644
--- a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/dns_top_domains.test.ts
+++ b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/dns_top_domains.test.ts
@@ -157,4 +157,10 @@ describe('getDnsTopDomainsLensAttributes', () => {
}
`);
});
+
+ it('should render values in legend', () => {
+ expect(result?.current?.state?.visualization).toEqual(
+ expect.objectContaining({ valuesInLegend: true })
+ );
+ });
});
diff --git a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/dns_top_domains.ts b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/dns_top_domains.ts
index 24f611eb4ebf66..ba92a45b3ee556 100644
--- a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/dns_top_domains.ts
+++ b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/dns_top_domains.ts
@@ -36,6 +36,7 @@ export const getDnsTopDomainsLensAttributes: GetLensAttributes = (
yLeft: false,
yRight: false,
},
+ valuesInLegend: true,
tickLabelsVisibilitySettings: {
x: true,
yLeft: true,
diff --git a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_embeddable.test.tsx b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_embeddable.test.tsx
index bd26f2da172676..c7607cd1046df8 100644
--- a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_embeddable.test.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_embeddable.test.tsx
@@ -123,4 +123,9 @@ describe('LensEmbeddable', () => {
it('should render with searchSessionId', () => {
expect(mockEmbeddableComponent.mock.calls[0][0].searchSessionId).toEqual(mockSearchSessionId);
});
+
+ it('should not sync highlight state between visualizations', () => {
+ expect(mockEmbeddableComponent.mock.calls[0][0].syncTooltips).toEqual(false);
+ expect(mockEmbeddableComponent.mock.calls[0][0].syncCursor).toEqual(false);
+ });
});
diff --git a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_embeddable.tsx b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_embeddable.tsx
index 4a955500fbee90..abc9839e8f6d21 100644
--- a/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_embeddable.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_embeddable.tsx
@@ -271,6 +271,8 @@ const LensEmbeddableComponent: React.FC = ({
extraActions={actions}
searchSessionId={searchSessionId}
showInspector={false}
+ syncTooltips={false}
+ syncCursor={false}
/>
)}
diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_sub_grouping.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_sub_grouping.tsx
index 316c0eabe0ab3e..b6036c7ee2251d 100644
--- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_sub_grouping.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_sub_grouping.tsx
@@ -5,7 +5,7 @@
* 2.0.
*/
-import React, { useCallback, useEffect, useMemo } from 'react';
+import React, { useCallback, useEffect, useMemo, useState } from 'react';
import { v4 as uuidv4 } from 'uuid';
import type { Filter, Query } from '@kbn/es-query';
import { buildEsQuery } from '@kbn/es-query';
@@ -193,13 +193,17 @@ export const GroupedSubLevelComponent: React.FC = ({
skip: isNoneGroup([selectedGroup]),
});
+ const [queriedGroup, setQueriedGroup] = useState('');
+
const aggs = useMemo(
- () => parseGroupingQuery(alertsGroupsData?.aggregations),
- [alertsGroupsData]
+ // queriedGroup because `selectedGroup` updates before the query response
+ () => parseGroupingQuery(queriedGroup, alertsGroupsData?.aggregations),
+ [alertsGroupsData?.aggregations, queriedGroup]
);
useEffect(() => {
if (!isNoneGroup([selectedGroup])) {
+ setQueriedGroup(queryGroups?.aggs?.groupsCount?.cardinality?.field ?? '');
setAlertsQuery(queryGroups);
}
}, [queryGroups, selectedGroup, setAlertsQuery]);
diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/group_stats.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/group_stats.test.tsx
index 841f44acefc218..cd2fe6a144dfd6 100644
--- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/group_stats.test.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/group_stats.test.tsx
@@ -51,7 +51,7 @@ describe('getStats', () => {
});
expect(
badgesUserName.find(
- (badge) => badge.badge != null && badge.title === `IP's:` && badge.badge.value === 1
+ (badge) => badge.badge != null && badge.title === `Hosts:` && badge.badge.value === 1
)
).toBeTruthy();
});
diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/group_stats.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/group_stats.tsx
index eb5861f8cd0e5b..8c52242be8c41e 100644
--- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/group_stats.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/group_stats.tsx
@@ -136,7 +136,7 @@ export const getStats = (
return [
...severityStat,
{
- title: i18n.STATS_GROUP_IPS,
+ title: i18n.STATS_GROUP_HOSTS,
badge: {
value: bucket.hostsCountAggregation?.value ?? 0,
},
@@ -153,7 +153,7 @@ export const getStats = (
return [
...severityStat,
{
- title: i18n.STATS_GROUP_IPS,
+ title: i18n.STATS_GROUP_HOSTS,
badge: {
value: bucket.hostsCountAggregation?.value ?? 0,
},
diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/query_builder.ts b/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/query_builder.ts
index b7503778e2de5b..771f4d43a0342b 100644
--- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/query_builder.ts
+++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouping_settings/query_builder.ts
@@ -167,19 +167,12 @@ const getAggregationsByGroupField = (field: string): NamedAggregation[] => {
},
},
{
- usersCountAggregation: {
+ hostsCountAggregation: {
cardinality: {
field: 'host.name',
},
},
},
- {
- usersCountAggregation: {
- cardinality: {
- field: 'user.name',
- },
- },
- },
]
);
break;
@@ -208,7 +201,7 @@ const getAggregationsByGroupField = (field: string): NamedAggregation[] => {
},
},
{
- usersCountAggregation: {
+ hostsCountAggregation: {
cardinality: {
field: 'host.name',
},
diff --git a/x-pack/test/ui_capabilities/security_and_spaces/tests/catalogue.ts b/x-pack/test/ui_capabilities/security_and_spaces/tests/catalogue.ts
index 1934a22da6ddb6..9de7628648a1f7 100644
--- a/x-pack/test/ui_capabilities/security_and_spaces/tests/catalogue.ts
+++ b/x-pack/test/ui_capabilities/security_and_spaces/tests/catalogue.ts
@@ -66,6 +66,7 @@ export default function catalogueTests({ getService }: FtrProviderContext) {
'enterpriseSearch',
'enterpriseSearchContent',
'enterpriseSearchAnalytics',
+ 'enterpriseSearchApplications',
'elasticsearch',
'appSearch',
'workplaceSearch',
@@ -93,6 +94,7 @@ export default function catalogueTests({ getService }: FtrProviderContext) {
'enterpriseSearch',
'enterpriseSearchContent',
'enterpriseSearchAnalytics',
+ 'enterpriseSearchApplications',
'elasticsearch',
'appSearch',
'workplaceSearch',
diff --git a/x-pack/test/ui_capabilities/security_and_spaces/tests/nav_links.ts b/x-pack/test/ui_capabilities/security_and_spaces/tests/nav_links.ts
index f72a9a467b2649..27e469e928fc5f 100644
--- a/x-pack/test/ui_capabilities/security_and_spaces/tests/nav_links.ts
+++ b/x-pack/test/ui_capabilities/security_and_spaces/tests/nav_links.ts
@@ -53,6 +53,7 @@ export default function navLinksTests({ getService }: FtrProviderContext) {
'enterpriseSearch',
'enterpriseSearchContent',
'enterpriseSearchAnalytics',
+ 'enterpriseSearchApplications',
'appSearch',
'workplaceSearch'
)
@@ -69,6 +70,7 @@ export default function navLinksTests({ getService }: FtrProviderContext) {
'enterpriseSearch',
'enterpriseSearchContent',
'enterpriseSearchAnalytics',
+ 'enterpriseSearchApplications',
'appSearch',
'workplaceSearch',
'guidedOnboardingFeature'
diff --git a/x-pack/test/ui_capabilities/spaces_only/tests/catalogue.ts b/x-pack/test/ui_capabilities/spaces_only/tests/catalogue.ts
index 60f13694a63268..2f90e0aaa570b7 100644
--- a/x-pack/test/ui_capabilities/spaces_only/tests/catalogue.ts
+++ b/x-pack/test/ui_capabilities/spaces_only/tests/catalogue.ts
@@ -30,6 +30,7 @@ export default function catalogueTests({ getService }: FtrProviderContext) {
'enterpriseSearch',
'enterpriseSearchContent',
'enterpriseSearchAnalytics',
+ 'enterpriseSearchApplications',
'elasticsearch',
'appSearch',
'workplaceSearch',
diff --git a/x-pack/test/ui_capabilities/spaces_only/tests/nav_links.ts b/x-pack/test/ui_capabilities/spaces_only/tests/nav_links.ts
index 7301bcef177d09..73d6a706f07b4c 100644
--- a/x-pack/test/ui_capabilities/spaces_only/tests/nav_links.ts
+++ b/x-pack/test/ui_capabilities/spaces_only/tests/nav_links.ts
@@ -22,6 +22,7 @@ export default function navLinksTests({ getService }: FtrProviderContext) {
'enterpriseSearch',
'enterpriseSearchContent',
'enterpriseSearchAnalytics',
+ 'enterpriseSearchApplications',
'appSearch',
'workplaceSearch',
];