mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[Enterprise Search] rebrand ent-search breadcrumbs to Search (#161586)
## Summary Updated the enterprise-search base breadcrumbs to `Search` except for App Search & Workplace Search remain with Enterprise Search. Additionally fixed a small bug where the Vector Search breadcrumbs was Search > Vector Search > Vector Search ### Screenshots <img width="1700" alt="image" src="b8e2e39f
-25fc-4907-892b-2e460ebcb173"> <img width="1700" alt="image" src="e17a0932
-5506-4be0-ab22-e0537cf7a7e1"> <img width="1700" alt="image" src="04e63218
-8a2d-41d6-af8d-b9875fe7e295">
This commit is contained in:
parent
88fc4a6627
commit
a16f9482e3
4 changed files with 77 additions and 21 deletions
|
@ -20,6 +20,7 @@ import {
|
|||
useEuiBreadcrumbs,
|
||||
useEnterpriseSearchBreadcrumbs,
|
||||
useAppSearchBreadcrumbs,
|
||||
useSearchBreadcrumbs,
|
||||
useWorkplaceSearchBreadcrumbs,
|
||||
} from './generate_breadcrumbs';
|
||||
|
||||
|
@ -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();
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
import { useValues } from 'kea';
|
||||
|
||||
import { EuiBreadcrumb } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import {
|
||||
ANALYTICS_PLUGIN,
|
||||
|
@ -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';
|
||||
|
@ -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([
|
||||
{
|
||||
|
@ -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,
|
||||
]);
|
||||
|
||||
|
@ -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]);
|
||||
|
|
|
@ -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';
|
||||
|
@ -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',
|
||||
|
@ -65,7 +65,7 @@ describe('Set Kibana Chrome helpers', () => {
|
|||
shallow(<SetSearchChrome />);
|
||||
|
||||
expect(searchTitle).toHaveBeenCalledWith([]);
|
||||
expect(useEnterpriseSearchBreadcrumbs).toHaveBeenCalledWith([]);
|
||||
expect(useSearchBreadcrumbs).toHaveBeenCalledWith([]);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue