Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enterprise Search] rebrand ent-search breadcrumbs to Search #161586

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import {
useEuiBreadcrumbs,
useEnterpriseSearchBreadcrumbs,
useAppSearchBreadcrumbs,
useSearchBreadcrumbs,
useWorkplaceSearchBreadcrumbs,
} from './generate_breadcrumbs';

Expand Down Expand Up @@ -142,6 +143,49 @@ describe('useEuiBreadcrumbs', () => {
});
});

describe('useSearchBreadcrumbs', () => {
beforeEach(() => {
jest.clearAllMocks();
});

it('builds a chain of breadcrumbs with Search at the root', () => {
const breadcrumbs = [
{
text: 'Page 1',
path: '/page1',
},
{
text: 'Page 2',
path: '/page2',
},
];

expect(useSearchBreadcrumbs(breadcrumbs)).toEqual([
{
text: 'Search',
href: '/app/enterprise_search/overview',
onClick: expect.any(Function),
},
{
text: 'Page 1',
href: '/app/enterprise_search/page1',
onClick: expect.any(Function),
},
{
text: 'Page 2',
},
]);
});

it('shows just the root if breadcrumbs is empty', () => {
expect(useSearchBreadcrumbs()).toEqual([
{
text: 'Search',
},
]);
});
});

describe('useEnterpriseSearchBreadcrumbs', () => {
beforeEach(() => {
jest.clearAllMocks();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import { useValues } from 'kea';

import { EuiBreadcrumb } from '@elastic/eui';
import { i18n } from '@kbn/i18n';

import {
ANALYTICS_PLUGIN,
Expand All @@ -17,6 +18,7 @@ import {
ENTERPRISE_SEARCH_PRODUCT_NAME,
ESRE_PLUGIN,
SEARCH_EXPERIENCES_PLUGIN,
SEARCH_PRODUCT_NAME,
VECTOR_SEARCH_PLUGIN,
WORKPLACE_SEARCH_PLUGIN,
} from '../../../../common/constants';
Expand Down Expand Up @@ -100,6 +102,16 @@ export const useEuiBreadcrumbs = (breadcrumbs: Breadcrumbs): EuiBreadcrumb[] =>
* Product-specific breadcrumb helpers
*/

export const useSearchBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
useEuiBreadcrumbs([
{
text: SEARCH_PRODUCT_NAME,
path: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.URL,
shouldNotCreateHref: true,
},
...breadcrumbs,
]);

export const useEnterpriseSearchBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
useEuiBreadcrumbs([
{
Expand All @@ -111,11 +123,16 @@ export const useEnterpriseSearchBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
]);

export const useAnalyticsBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
useEnterpriseSearchBreadcrumbs([{ text: ANALYTICS_PLUGIN.NAME, path: '/' }, ...breadcrumbs]);
useSearchBreadcrumbs([{ text: ANALYTICS_PLUGIN.NAME, path: '/' }, ...breadcrumbs]);

export const useElasticsearchBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
useEnterpriseSearchBreadcrumbs([
{ text: 'Getting started with Elasticsearch', path: '/' },
useSearchBreadcrumbs([
{
text: i18n.translate('xpack.enterpriseSearch.elasticsearch.breadcrumbs.title', {
defaultMessage: 'Getting started with Elasticsearch',
}),
path: '/',
},
...breadcrumbs,
]);

Expand All @@ -129,22 +146,19 @@ export const useWorkplaceSearchBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
]);

export const useEnterpriseSearchContentBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
useEnterpriseSearchBreadcrumbs([
useSearchBreadcrumbs([
{ text: ENTERPRISE_SEARCH_CONTENT_PLUGIN.NAV_TITLE, path: '/' },
...breadcrumbs,
]);

export const useSearchExperiencesBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
useEnterpriseSearchBreadcrumbs([
{ text: SEARCH_EXPERIENCES_PLUGIN.NAV_TITLE, path: '/' },
...breadcrumbs,
]);
useSearchBreadcrumbs([{ text: SEARCH_EXPERIENCES_PLUGIN.NAV_TITLE, path: '/' }, ...breadcrumbs]);

export const useEnterpriseSearchApplicationsBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
useEnterpriseSearchBreadcrumbs(breadcrumbs);
useSearchBreadcrumbs(breadcrumbs);

export const useEsreBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
useEnterpriseSearchBreadcrumbs([{ text: ESRE_PLUGIN.NAME, path: '/' }, ...breadcrumbs]);
useSearchBreadcrumbs([{ text: ESRE_PLUGIN.NAME, path: '/' }, ...breadcrumbs]);

export const useVectorSearchBreadcrumbs = (breadcrumbs: Breadcrumbs = []) =>
useEnterpriseSearchBreadcrumbs([{ text: VECTOR_SEARCH_PLUGIN.NAME, path: '/' }, ...breadcrumbs]);
useSearchBreadcrumbs([{ text: VECTOR_SEARCH_PLUGIN.NAV_TITLE, path: '/' }, ...breadcrumbs]);
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ import { shallow } from 'enzyme';

jest.mock('./generate_breadcrumbs', () => ({
useGenerateBreadcrumbs: jest.requireActual('./generate_breadcrumbs').useGenerateBreadcrumbs,
useEnterpriseSearchBreadcrumbs: jest.fn(() => (crumbs: any) => crumbs),
useSearchBreadcrumbs: jest.fn(() => (crumbs: any) => crumbs),
useAppSearchBreadcrumbs: jest.fn(() => (crumbs: any) => crumbs),
useWorkplaceSearchBreadcrumbs: jest.fn(() => (crumbs: any) => crumbs),
}));
import {
useEnterpriseSearchBreadcrumbs,
useSearchBreadcrumbs,
useAppSearchBreadcrumbs,
useWorkplaceSearchBreadcrumbs,
} from './generate_breadcrumbs';
Expand Down Expand Up @@ -53,7 +53,7 @@ describe('Set Kibana Chrome helpers', () => {
shallow(<SetSearchChrome trail={['Hello World']} />);

expect(searchTitle).toHaveBeenCalledWith(['Hello World']);
expect(useEnterpriseSearchBreadcrumbs).toHaveBeenCalledWith([
expect(useSearchBreadcrumbs).toHaveBeenCalledWith([
{
text: 'Hello World',
path: '/current-path',
Expand All @@ -65,7 +65,7 @@ describe('Set Kibana Chrome helpers', () => {
shallow(<SetSearchChrome />);

expect(searchTitle).toHaveBeenCalledWith([]);
expect(useEnterpriseSearchBreadcrumbs).toHaveBeenCalledWith([]);
expect(useSearchBreadcrumbs).toHaveBeenCalledWith([]);
});
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ import React, { useEffect } from 'react';

import { useValues } from 'kea';

import { APPLICATIONS_PLUGIN, VECTOR_SEARCH_PLUGIN } from '../../../../common/constants';
import { APPLICATIONS_PLUGIN } from '../../../../common/constants';

import { KibanaLogic } from '../kibana';

import {
useGenerateBreadcrumbs,
useEnterpriseSearchBreadcrumbs,
useSearchBreadcrumbs,
useEnterpriseSearchApplicationsBreadcrumbs,
useAnalyticsBreadcrumbs,
useEnterpriseSearchContentBreadcrumbs,
Expand Down Expand Up @@ -64,7 +64,7 @@ export const SetSearchChrome: React.FC<SetChromeProps> = ({ trail = [] }) => {
const docTitle = searchTitle(title);

const crumbs = useGenerateBreadcrumbs(trail);
const breadcrumbs = useEnterpriseSearchBreadcrumbs(crumbs);
const breadcrumbs = useSearchBreadcrumbs(crumbs);

useEffect(() => {
setBreadcrumbs(breadcrumbs);
Expand Down Expand Up @@ -217,9 +217,7 @@ export const SetVectorSearchChrome: React.FC<SetChromeProps> = ({ trail = [] })
const title = reverseArray(trail);
const docTitle = vectorSearchTitle(title);

const breadcrumbs = useVectorSearchBreadcrumbs(
useGenerateBreadcrumbs([VECTOR_SEARCH_PLUGIN.NAV_TITLE, ...trail])
);
const breadcrumbs = useVectorSearchBreadcrumbs(useGenerateBreadcrumbs(trail));

useEffect(() => {
setBreadcrumbs(breadcrumbs);
Expand Down