Rodney Norris 2023-04-17 09:48:22 -05:00 committed by GitHub
parent 4edb583c18
commit d60107467d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 123 additions and 159 deletions

View file

@ -41,6 +41,18 @@ describe('useEnterpriseSearchContentNav', () => {
{
href: '/app/enterprise_search/overview',
id: 'es_overview',
items: [
{
href: '/app/enterprise_search/elasticsearch',
id: 'elasticsearch',
name: 'Elasticsearch',
},
{
id: 'searchExperiences',
name: 'Search Experiences',
href: '/app/enterprise_search/search_experiences',
},
],
name: 'Overview',
},
{
@ -61,36 +73,20 @@ describe('useEnterpriseSearchContentNav', () => {
name: 'Content',
},
{
id: 'enginesSearch',
name: 'Search',
id: 'applications',
name: 'Applications',
items: [
{
href: '/app/enterprise_search/elasticsearch',
id: 'elasticsearch',
name: 'Elasticsearch',
},
{
id: 'enterpriseSearchEngines',
name: 'Engines',
id: 'searchApplications',
name: 'Search Applications',
href: '/app/enterprise_search/content/engines',
},
{
id: 'searchExperiences',
name: 'Search Experiences',
href: '/app/enterprise_search/search_experiences',
},
],
},
{
id: 'enterpriseSearchAnalytics',
items: [
{
href: '/app/enterprise_search/analytics',
id: 'analytics_collections',
name: 'Collections',
id: 'analyticsCollections',
name: 'Behavioral Analytics',
},
],
name: 'Behavioral Analytics',
},
{
id: 'standaloneExperiences',
@ -197,6 +193,18 @@ describe('useEnterpriseSearchEngineNav', () => {
{
href: '/app/enterprise_search/overview',
id: 'es_overview',
items: [
{
href: '/app/enterprise_search/elasticsearch',
id: 'elasticsearch',
name: 'Elasticsearch',
},
{
id: 'searchExperiences',
name: 'Search Experiences',
href: '/app/enterprise_search/search_experiences',
},
],
name: 'Overview',
},
{
@ -210,43 +218,26 @@ describe('useEnterpriseSearchEngineNav', () => {
{
href: '/app/enterprise_search/content/settings',
id: 'settings',
items: undefined,
name: 'Settings',
},
],
name: 'Content',
},
{
id: 'enginesSearch',
name: 'Search',
id: 'applications',
name: 'Applications',
items: [
{
href: '/app/enterprise_search/elasticsearch',
id: 'elasticsearch',
name: 'Elasticsearch',
},
{
id: 'enterpriseSearchEngines',
name: 'Engines',
id: 'searchApplications',
name: 'Search Applications',
href: '/app/enterprise_search/content/engines',
},
{
id: 'searchExperiences',
name: 'Search Experiences',
href: '/app/enterprise_search/search_experiences',
},
],
},
{
id: 'enterpriseSearchAnalytics',
items: [
{
href: '/app/enterprise_search/analytics',
id: 'analytics_collections',
name: 'Collections',
id: 'analyticsCollections',
name: 'Behavioral Analytics',
},
],
name: 'Behavioral Analytics',
},
{
id: 'standaloneExperiences',
@ -273,16 +264,15 @@ describe('useEnterpriseSearchEngineNav', () => {
expect(navItems?.map((ni) => ni.name)).toEqual([
'Overview',
'Content',
'Search',
'Behavioral Analytics',
'Applications',
'Standalone Experiences',
]);
const searchItem = navItems?.find((ni) => ni.id === 'enginesSearch');
const searchItem = navItems?.find((ni) => ni.id === 'applications');
expect(searchItem).not.toBeUndefined();
expect(searchItem!.items).not.toBeUndefined();
// @ts-ignore
const enginesItem: EuiSideNavItemType<unknown> = searchItem?.items?.find(
(si: EuiSideNavItemType<unknown>) => si.id === 'enterpriseSearchEngines'
(si: EuiSideNavItemType<unknown>) => si.id === 'searchApplications'
);
expect(enginesItem).not.toBeUndefined();
expect(enginesItem!.items).not.toBeUndefined();
@ -330,16 +320,15 @@ describe('useEnterpriseSearchEngineNav', () => {
expect(navItems?.map((ni) => ni.name)).toEqual([
'Overview',
'Content',
'Search',
'Behavioral Analytics',
'Applications',
'Standalone Experiences',
]);
const searchItem = navItems?.find((ni) => ni.id === 'enginesSearch');
const searchItem = navItems?.find((ni) => ni.id === 'applications');
expect(searchItem).not.toBeUndefined();
expect(searchItem!.items).not.toBeUndefined();
// @ts-ignore
const enginesItem: EuiSideNavItemType<unknown> = searchItem?.items?.find(
(si: EuiSideNavItemType<unknown>) => si.id === 'enterpriseSearchEngines'
(si: EuiSideNavItemType<unknown>) => si.id === 'searchApplications'
);
expect(enginesItem).not.toBeUndefined();
expect(enginesItem!.items).not.toBeUndefined();
@ -360,6 +349,18 @@ describe('useEnterpriseSearchAnalyticsNav', () => {
{
href: '/app/enterprise_search/overview',
id: 'es_overview',
items: [
{
href: '/app/enterprise_search/elasticsearch',
id: 'elasticsearch',
name: 'Elasticsearch',
},
{
id: 'searchExperiences',
name: 'Search Experiences',
href: '/app/enterprise_search/search_experiences',
},
],
name: 'Overview',
},
{
@ -374,36 +375,20 @@ describe('useEnterpriseSearchAnalyticsNav', () => {
name: 'Content',
},
{
id: 'enginesSearch',
name: 'Search',
id: 'applications',
name: 'Applications',
items: [
{
href: '/app/enterprise_search/elasticsearch',
id: 'elasticsearch',
name: 'Elasticsearch',
},
{
id: 'enterpriseSearchEngines',
name: 'Engines',
href: '/app/enterprise_search/content/engines',
id: 'searchApplications',
name: 'Search Applications',
},
{
id: 'searchExperiences',
name: 'Search Experiences',
href: '/app/enterprise_search/search_experiences',
},
],
},
{
id: 'enterpriseSearchAnalytics',
items: [
{
href: '/app/enterprise_search/analytics',
id: 'analytics_collections',
name: 'Collections',
id: 'analyticsCollections',
name: 'Behavioral Analytics',
},
],
name: 'Behavioral Analytics',
},
{
id: 'standaloneExperiences',
@ -444,38 +429,34 @@ describe('useEnterpriseSearchAnalyticsNav', () => {
integration: '/integration-path',
overview: '/overview-path',
});
const analyticsNav = navItems?.find((item) => item.id === 'enterpriseSearchAnalytics');
const applicationsNav = navItems?.find((item) => item.id === 'applications');
expect(applicationsNav).not.toBeUndefined();
const analyticsNav = applicationsNav?.items?.[1];
expect(analyticsNav).not.toBeUndefined();
expect(analyticsNav).toEqual({
id: 'enterpriseSearchAnalytics',
href: '/app/enterprise_search/analytics',
id: 'analyticsCollections',
items: [
{
href: '/app/enterprise_search/analytics',
id: 'analytics_collections',
id: 'analyticsCollection',
items: [
{
id: 'analytics_collections',
items: [
{
href: '/app/enterprise_search/analytics/overview-path',
id: 'enterpriseSearchEngineOverview',
name: 'Overview',
},
{
href: '/app/enterprise_search/analytics/explorer-path',
id: 'enterpriseSearchEngineIndices',
name: 'Explorer',
},
{
href: '/app/enterprise_search/analytics/integration-path',
id: 'enterpriseSearchEngineSchema',
name: 'Integration',
},
],
name: 'my-test-collection',
href: '/app/enterprise_search/analytics/overview-path',
id: 'analyticsCollectionOverview',
name: 'Overview',
},
{
href: '/app/enterprise_search/analytics/explorer-path',
id: 'analyticsCollectionExplorer',
name: 'Explorer',
},
{
href: '/app/enterprise_search/analytics/integration-path',
id: 'analyticsCollectionIntegration',
name: 'Integration',
},
],
name: 'Collections',
name: 'my-test-collection',
},
],
name: 'Behavioral Analytics',

View file

@ -42,6 +42,28 @@ export const useEnterpriseSearchNav = () => {
shouldNotCreateHref: true,
to: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.URL,
}),
items: [
{
id: 'elasticsearch',
name: i18n.translate('xpack.enterpriseSearch.nav.elasticsearchTitle', {
defaultMessage: 'Elasticsearch',
}),
...generateNavLink({
shouldNotCreateHref: true,
to: ELASTICSEARCH_PLUGIN.URL,
}),
},
{
id: 'searchExperiences',
name: i18n.translate('xpack.enterpriseSearch.nav.searchExperiencesTitle', {
defaultMessage: 'Search Experiences',
}),
...generateNavLink({
shouldNotCreateHref: true,
to: SEARCH_EXPERIENCES_PLUGIN.URL,
}),
},
],
},
{
id: 'content',
@ -78,22 +100,12 @@ export const useEnterpriseSearchNav = () => {
}),
},
{
id: 'enginesSearch',
id: 'applications',
items: [
{
id: 'elasticsearch',
name: i18n.translate('xpack.enterpriseSearch.nav.elasticsearchTitle', {
defaultMessage: 'Elasticsearch',
}),
...generateNavLink({
shouldNotCreateHref: true,
to: ELASTICSEARCH_PLUGIN.URL,
}),
},
{
id: 'enterpriseSearchEngines',
name: i18n.translate('xpack.enterpriseSearch.nav.enginesTitle', {
defaultMessage: 'Engines',
id: 'searchApplications',
name: i18n.translate('xpack.enterpriseSearch.nav.searchApplicationsTitle', {
defaultMessage: 'Search Applications',
}),
...generateNavLink({
shouldNotCreateHref: true,
@ -101,27 +113,9 @@ export const useEnterpriseSearchNav = () => {
}),
},
{
id: 'searchExperiences',
name: i18n.translate('xpack.enterpriseSearch.nav.searchExperiencesTitle', {
defaultMessage: 'Search Experiences',
}),
...generateNavLink({
shouldNotCreateHref: true,
to: SEARCH_EXPERIENCES_PLUGIN.URL,
}),
},
],
name: i18n.translate('xpack.enterpriseSearch.nav.searchTitle', {
defaultMessage: 'Search',
}),
},
{
id: 'enterpriseSearchAnalytics',
items: [
{
id: 'analytics_collections',
name: i18n.translate('xpack.enterpriseSearch.nav.analyticsCollectionsTitle', {
defaultMessage: 'Collections',
id: 'analyticsCollections',
name: i18n.translate('xpack.enterpriseSearch.nav.analyticsTitle', {
defaultMessage: 'Behavioral Analytics',
}),
...generateNavLink({
shouldNotCreateHref: true,
@ -129,8 +123,8 @@ export const useEnterpriseSearchNav = () => {
}),
},
],
name: i18n.translate('xpack.enterpriseSearch.nav.analyticsTitle', {
defaultMessage: 'Behavioral Analytics',
name: i18n.translate('xpack.enterpriseSearch.nav.applicationsTitle', {
defaultMessage: 'Applications',
}),
},
...(productAccess.hasAppSearchAccess || productAccess.hasWorkplaceSearchAccess
@ -181,10 +175,10 @@ export const useEnterpriseSearchNav = () => {
export const useEnterpriseSearchEngineNav = (engineName?: string, isEmptyState?: boolean) => {
const navItems = useEnterpriseSearchNav();
if (!engineName) return navItems;
const searchItem = navItems.find((item) => item.id === 'enginesSearch');
if (!searchItem || !searchItem.items) return navItems;
const enginesItem = searchItem.items[1];
if (!enginesItem || enginesItem.id !== 'enterpriseSearchEngines') return navItems;
const applicationsItem = navItems.find((item) => item.id === 'applications');
if (!applicationsItem || !applicationsItem.items) return navItems;
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}`;
@ -275,19 +269,17 @@ export const useEnterpriseSearchAnalyticsNav = (
}
) => {
const navItems = useEnterpriseSearchNav();
const collectionNav = navItems.find(
(item) =>
item.id === 'enterpriseSearchAnalytics' && item.items?.[0]?.id === 'analytics_collections'
)?.items?.[0];
const applicationsNav = navItems.find((item) => item.id === 'applications');
const analyticsNav = applicationsNav?.items?.find((item) => item.id === 'analyticsCollections');
if (!name || !paths || !collectionNav) return navItems;
if (!name || !paths || !analyticsNav) return navItems;
collectionNav.items = [
analyticsNav.items = [
{
id: 'analytics_collections',
id: 'analyticsCollection',
items: [
{
id: 'enterpriseSearchEngineOverview',
id: 'analyticsCollectionOverview',
name: i18n.translate('xpack.enterpriseSearch.nav.analyticsCollections.overviewTitle', {
defaultMessage: 'Overview',
}),
@ -297,7 +289,7 @@ export const useEnterpriseSearchAnalyticsNav = (
}),
},
{
id: 'enterpriseSearchEngineIndices',
id: 'analyticsCollectionExplorer',
name: i18n.translate('xpack.enterpriseSearch.nav.analyticsCollections.explorerTitle', {
defaultMessage: 'Explorer',
}),
@ -307,7 +299,7 @@ export const useEnterpriseSearchAnalyticsNav = (
}),
},
{
id: 'enterpriseSearchEngineSchema',
id: 'analyticsCollectionIntegration',
name: i18n.translate('xpack.enterpriseSearch.nav.analyticsCollections.integrationTitle', {
defaultMessage: 'Integration',
}),

View file

@ -13186,7 +13186,6 @@
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslCertificateLabel": "Certificat SSL",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.usernameLabel": "Nom d'utilisateur",
"xpack.enterpriseSearch.nativeConnectors.mysql.name": "MySQL",
"xpack.enterpriseSearch.nav.analyticsCollectionsTitle": "Collections",
"xpack.enterpriseSearch.nav.analyticsTitle": "Behavioral Analytics",
"xpack.enterpriseSearch.nav.appSearchTitle": "App Search",
"xpack.enterpriseSearch.nav.contentSettingsTitle": "Paramètres",
@ -13196,11 +13195,9 @@
"xpack.enterpriseSearch.nav.engine.indicesTitle": "Index",
"xpack.enterpriseSearch.nav.engine.overviewTitle": "Aperçu",
"xpack.enterpriseSearch.nav.engine.schemaTitle": "Schéma",
"xpack.enterpriseSearch.nav.enginesTitle": "Moteurs",
"xpack.enterpriseSearch.nav.enterpriseSearchOverviewTitle": "Aperçu",
"xpack.enterpriseSearch.nav.searchExperiencesTitle": "Expériences de recherche",
"xpack.enterpriseSearch.nav.searchIndicesTitle": "Index",
"xpack.enterpriseSearch.nav.searchTitle": "Recherche",
"xpack.enterpriseSearch.nav.standaloneExperiencesTitle": "Expériences autonomes",
"xpack.enterpriseSearch.nav.workplaceSearchTitle": "Workplace Search",
"xpack.enterpriseSearch.notFound.action1": "Retour à votre tableau de bord",

View file

@ -13185,7 +13185,6 @@
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslCertificateLabel": "SSL証明書",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.usernameLabel": "ユーザー名",
"xpack.enterpriseSearch.nativeConnectors.mysql.name": "MySQL",
"xpack.enterpriseSearch.nav.analyticsCollectionsTitle": "コレクション",
"xpack.enterpriseSearch.nav.analyticsTitle": "Behavioral Analytics",
"xpack.enterpriseSearch.nav.appSearchTitle": "App Search",
"xpack.enterpriseSearch.nav.contentSettingsTitle": "設定",
@ -13195,11 +13194,9 @@
"xpack.enterpriseSearch.nav.engine.indicesTitle": "インデックス",
"xpack.enterpriseSearch.nav.engine.overviewTitle": "概要",
"xpack.enterpriseSearch.nav.engine.schemaTitle": "スキーマ",
"xpack.enterpriseSearch.nav.enginesTitle": "エンジン",
"xpack.enterpriseSearch.nav.enterpriseSearchOverviewTitle": "概要",
"xpack.enterpriseSearch.nav.searchExperiencesTitle": "検索エクスペリエンス",
"xpack.enterpriseSearch.nav.searchIndicesTitle": "インデックス",
"xpack.enterpriseSearch.nav.searchTitle": "検索",
"xpack.enterpriseSearch.nav.standaloneExperiencesTitle": "スタンドアロン経験",
"xpack.enterpriseSearch.nav.workplaceSearchTitle": "Workplace Search",
"xpack.enterpriseSearch.notFound.action1": "ダッシュボードに戻す",

View file

@ -13186,7 +13186,6 @@
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslCertificateLabel": "SSL 证书",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.usernameLabel": "用户名",
"xpack.enterpriseSearch.nativeConnectors.mysql.name": "MySQL",
"xpack.enterpriseSearch.nav.analyticsCollectionsTitle": "集合",
"xpack.enterpriseSearch.nav.analyticsTitle": "行为分析",
"xpack.enterpriseSearch.nav.appSearchTitle": "App Search",
"xpack.enterpriseSearch.nav.contentSettingsTitle": "设置",
@ -13196,11 +13195,9 @@
"xpack.enterpriseSearch.nav.engine.indicesTitle": "索引",
"xpack.enterpriseSearch.nav.engine.overviewTitle": "概览",
"xpack.enterpriseSearch.nav.engine.schemaTitle": "架构",
"xpack.enterpriseSearch.nav.enginesTitle": "引擎",
"xpack.enterpriseSearch.nav.enterpriseSearchOverviewTitle": "概览",
"xpack.enterpriseSearch.nav.searchExperiencesTitle": "搜索体验",
"xpack.enterpriseSearch.nav.searchIndicesTitle": "索引",
"xpack.enterpriseSearch.nav.searchTitle": "搜索",
"xpack.enterpriseSearch.nav.standaloneExperiencesTitle": "独立体验",
"xpack.enterpriseSearch.nav.workplaceSearchTitle": "Workplace Search",
"xpack.enterpriseSearch.notFound.action1": "返回到您的仪表板",