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', ];