[Search Relevance] Rename Search Preview tab (#162829)

This PR addresses the concern raised in
[issue](https://github.com/elastic/enterprise-search-team/issues/5102).

The current `Search Preview` tab is confusing because it uses `_search`,
but it's labeled as Search Preview, and there's a link to improve the
results, which might falsely imply it uses the Search Application Search
API. To resolve this, we are renaming `Search Preview` to `Docs
Explorer`.

Screenshot:
<img width="1718" alt="Screenshot 2023-07-31 at 3 16 30 PM"
src="aed58450-8ae9-4bd6-ba0a-f57ad8d9590f">

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
Saikat Sarkar 2023-08-02 10:06:01 -06:00 committed by GitHub
parent 190a98f487
commit c07aac5ff4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 70 additions and 67 deletions

View file

@ -51,7 +51,7 @@ export const APICallFlyout: React.FC<APICallFlyoutProps> = ({
<EuiTitle>
<h2>
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.apiCallFlyout.title"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.apiCallFlyout.title"
defaultMessage="API Call"
/>
</h2>
@ -65,13 +65,13 @@ export const APICallFlyout: React.FC<APICallFlyoutProps> = ({
<EuiTabs bottomBorder={false}>
<EuiTab isSelected={tab === 'request'} onClick={() => setTab('request')}>
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.apiCallFlyout.requestTab"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.apiCallFlyout.requestTab"
defaultMessage="Request"
/>
</EuiTab>
<EuiTab isSelected={tab === 'response'} onClick={() => setTab('response')}>
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.apiCallFlyout.responseTab"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.apiCallFlyout.responseTab"
defaultMessage="Response"
/>
</EuiTab>
@ -85,7 +85,7 @@ export const APICallFlyout: React.FC<APICallFlyoutProps> = ({
target="_blank"
>
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.apiCallFlyout.searchEndpointLink"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.apiCallFlyout.searchEndpointLink"
defaultMessage="Search endpoint"
/>
</EuiLinkTo>

View file

@ -65,9 +65,9 @@ import { SearchApplicationViewLogic } from '../search_application_view_logic';
import { APICallData, APICallFlyout } from './api_call_flyout';
import { SearchApplicationDocsExplorerLogic } from './docs_explorer_logic';
import { DocumentProvider } from './document_context';
import { DocumentFlyout } from './document_flyout';
import { SearchApplicationSearchPreviewLogic } from './search_preview_logic';
import {
PagingInfoView,
@ -164,7 +164,7 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
<EuiText>
<p>
{i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.tourContent',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.tourContent',
{
defaultMessage:
'Create your API key, learn about using language clients and find more resources in Connect.',
@ -183,7 +183,7 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
stepsTotal={1}
anchorPosition="downCenter"
title={i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.tourTitle',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.tourTitle',
{
defaultMessage: 'Review our API page to start using your search application',
}
@ -201,7 +201,7 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
onClick={setCloseConfiguration}
>
{i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.buttonTitle',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.buttonTitle',
{
defaultMessage: 'Configuration',
}
@ -216,7 +216,7 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
<EuiTitle size="xxxs">
<p>
{i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.contentTitle',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.contentTitle',
{
defaultMessage: 'Content',
}
@ -239,7 +239,7 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
}
>
{i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.content.Indices',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.content.Indices',
{
defaultMessage: 'Indices',
}
@ -259,13 +259,13 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
>
<EuiFlexGroup justifyContent="spaceBetween" alignItems="center">
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.content.schema"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.content.schema"
defaultMessage="Schema"
/>
{hasSchemaConflicts && (
<EuiText size="s" color="danger">
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.content.schemaConflict"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.content.schemaConflict"
defaultMessage="Conflict"
/>
</EuiText>
@ -277,7 +277,7 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
<EuiTitle size="xxxs">
<p>
{i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.connectTitle',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.connectTitle',
{
defaultMessage: 'Connect',
}
@ -299,7 +299,7 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
}
>
{i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.connect.Api',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.connect.Api',
{
defaultMessage: 'API',
}
@ -310,7 +310,7 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
<EuiTitle size="xxxs">
<p>
{i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.settingsTitle',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.settingsTitle',
{
defaultMessage: 'Settings',
}
@ -335,7 +335,7 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
<EuiTextColor color="danger">
<p>
{i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.configuration.settings.delete',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.configuration.settings.delete',
{
defaultMessage: 'Delete this app',
}
@ -348,7 +348,7 @@ const ConfigurationPopover: React.FC<ConfigurationPopOverProps> = ({
</>
);
};
export const SearchApplicationSearchPreview: React.FC = () => {
export const SearchApplicationDocsExplorer: React.FC = () => {
const { http } = useValues(HttpLogic);
const [showAPICallFlyout, setShowAPICallFlyout] = useState<boolean>(false);
const [showConfigurationPopover, setShowConfigurationPopover] = useState<boolean>(false);
@ -356,7 +356,7 @@ export const SearchApplicationSearchPreview: React.FC = () => {
const { searchApplicationName, isLoadingSearchApplication, hasSchemaConflicts } = useValues(
SearchApplicationViewLogic
);
const { resultFields, sortableFields } = useValues(SearchApplicationSearchPreviewLogic);
const { resultFields, sortableFields } = useValues(SearchApplicationDocsExplorerLogic);
const { searchApplicationData } = useValues(SearchApplicationIndicesLogic);
const config: SearchDriverOptions = useMemo(() => {
@ -384,13 +384,13 @@ export const SearchApplicationSearchPreview: React.FC = () => {
pageChrome={[
searchApplicationName,
i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.pageChrome',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.pageChrome',
{
defaultMessage: 'Search Preview',
defaultMessage: 'Docs Explorer',
}
),
]}
pageViewTelemetry={SearchApplicationViewTabs.PREVIEW}
pageViewTelemetry={SearchApplicationViewTabs.DOCS_EXPLORER}
isLoading={isLoadingSearchApplication}
pageHeader={{
bottomBorder: false,
@ -426,13 +426,13 @@ export const SearchApplicationSearchPreview: React.FC = () => {
isLoading={lastAPICall == null}
>
{i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.inputView.appendButtonLabel',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.inputView.appendButtonLabel',
{ defaultMessage: 'View API call' }
)}
</EuiButtonEmpty>
),
placeholder: i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.inputView.placeholder',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.inputView.placeholder',
{ defaultMessage: 'Search' }
),
})}
@ -450,7 +450,7 @@ export const SearchApplicationSearchPreview: React.FC = () => {
<EuiSpacer size="m" />
<EuiLink href={docLinks.searchTemplates} target="_blank">
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.improveResultsLink"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.improveResultsLink"
defaultMessage="Improve these results"
/>
</EuiLink>

View file

@ -12,11 +12,11 @@ import { FieldConfiguration } from '@elastic/search-ui';
import { FetchSearchApplicationFieldCapabilitiesApiLogic } from '../../../api/search_applications/fetch_search_application_field_capabilities_api_logic';
import { SearchApplicationNameLogic } from '../search_application_name_logic';
interface SearchApplicationSearchPreviewActions {
interface SearchApplicationDocsExplorerActions {
fetchSearchApplicationFieldCapabilities: typeof FetchSearchApplicationFieldCapabilitiesApiLogic.actions.makeRequest;
}
export interface SearchApplicationPreviewValues {
export interface SearchApplicationDocsExplorerValues {
fieldTypesByIndex: Record<string, Record<string, string>>;
resultFields: Record<string, FieldConfiguration>;
searchApplicationFieldCapabilitiesData: typeof FetchSearchApplicationFieldCapabilitiesApiLogic.values.data;
@ -24,8 +24,8 @@ export interface SearchApplicationPreviewValues {
sortableFields: string[];
}
export const SearchApplicationSearchPreviewLogic = kea<
MakeLogicType<SearchApplicationPreviewValues, SearchApplicationSearchPreviewActions>
export const SearchApplicationDocsExplorerLogic = kea<
MakeLogicType<SearchApplicationDocsExplorerValues, SearchApplicationDocsExplorerActions>
>({
connect: {
actions: [
@ -48,11 +48,11 @@ export const SearchApplicationSearchPreviewLogic = kea<
}
},
}),
path: ['enterprise_search', 'content', 'search_application_search_preview_logic'],
path: ['enterprise_search', 'content', 'search_application_docs_explorer_logic'],
selectors: ({ selectors }) => ({
fieldTypesByIndex: [
() => [selectors.searchApplicationFieldCapabilitiesData],
(data: SearchApplicationPreviewValues['searchApplicationFieldCapabilitiesData']) => {
(data: SearchApplicationDocsExplorerValues['searchApplicationFieldCapabilitiesData']) => {
if (!data) return {};
return data.fields.reduce(
@ -73,7 +73,7 @@ export const SearchApplicationSearchPreviewLogic = kea<
],
resultFields: [
() => [selectors.searchApplicationFieldCapabilitiesData],
(data: SearchApplicationPreviewValues['searchApplicationFieldCapabilitiesData']) => {
(data: SearchApplicationDocsExplorerValues['searchApplicationFieldCapabilitiesData']) => {
if (!data) return {};
return Object.fromEntries(
@ -85,7 +85,7 @@ export const SearchApplicationSearchPreviewLogic = kea<
],
sortableFields: [
() => [selectors.searchApplicationFieldCapabilitiesData],
(data: SearchApplicationPreviewValues['searchApplicationFieldCapabilitiesData']) => {
(data: SearchApplicationDocsExplorerValues['searchApplicationFieldCapabilitiesData']) => {
if (!data) return [];
return data.fields

View file

@ -31,12 +31,12 @@ import {
convertResultToFieldsAndIndex,
FieldValue,
} from './convert_results';
import { SearchApplicationDocsExplorerLogic } from './docs_explorer_logic';
import { useSelectedDocument } from './document_context';
import { FieldValueCell } from './field_value_cell';
import { SearchApplicationSearchPreviewLogic } from './search_preview_logic';
export const DocumentFlyout: React.FC = () => {
const { fieldTypesByIndex } = useValues(SearchApplicationSearchPreviewLogic);
const { fieldTypesByIndex } = useValues(SearchApplicationDocsExplorerLogic);
const { selectedDocument, setSelectedDocument } = useSelectedDocument();
if (!selectedDocument) return null;
@ -53,7 +53,7 @@ export const DocumentFlyout: React.FC = () => {
const columns: Array<EuiBasicTableColumn<ConvertedResultWithType>> = [
{
name: i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.documentFlyout.fieldLabel',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.documentFlyout.fieldLabel',
{ defaultMessage: 'Field' }
),
render: ({ field: key, type }: ConvertedResultWithType) => (
@ -71,7 +71,7 @@ export const DocumentFlyout: React.FC = () => {
{
field: 'value',
name: i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.documentFlyout.valueLabel',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.documentFlyout.valueLabel',
{ defaultMessage: 'Value' }
),
render: (value: FieldValue) => (
@ -92,7 +92,7 @@ export const DocumentFlyout: React.FC = () => {
<EuiTitle size="m">
<h2>
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.documentFlyout.title"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.documentFlyout.title"
defaultMessage="Document: {id}"
values={{ id }}
/>
@ -100,7 +100,7 @@ export const DocumentFlyout: React.FC = () => {
</EuiTitle>
<EuiTextColor color="subdued">
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.documentFlyout.fieldCount"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.documentFlyout.fieldCount"
defaultMessage="{fieldCount} {fieldCount, plural, one {Field} other {Fields}}"
values={{ fieldCount: items.length }}
/>

View file

@ -73,7 +73,7 @@ export const ResultView: React.FC<ResultViewProps> = ({ result }) => {
{
field: 'field',
name: i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.result.nameColumn',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.result.nameColumn',
{ defaultMessage: 'Field' }
),
render: (field: string) => {
@ -91,7 +91,7 @@ export const ResultView: React.FC<ResultViewProps> = ({ result }) => {
{
field: 'value',
name: i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.result.valueColumn',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.result.valueColumn',
{ defaultMessage: 'Value' }
),
render: (value: FieldValue) => (
@ -111,7 +111,7 @@ export const ResultView: React.FC<ResultViewProps> = ({ result }) => {
<EuiFlexGroup justifyContent="spaceBetween">
<code>
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.result.id"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.result.id"
defaultMessage="ID: {id}"
values={{ id }}
/>
@ -120,7 +120,7 @@ export const ResultView: React.FC<ResultViewProps> = ({ result }) => {
<EuiFlexGroup gutterSize="xs" alignItems="center">
<code>
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.result.fromIndex"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.result.fromIndex"
defaultMessage="from"
/>
</code>
@ -135,7 +135,7 @@ export const ResultView: React.FC<ResultViewProps> = ({ result }) => {
<EuiTextColor color="subdued">
<code>
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.result.moreFieldsButton"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.result.moreFieldsButton"
defaultMessage="{count} {count, plural, one {More Field} other {More Fields}}"
values={{ count: hiddenFields }}
/>
@ -153,7 +153,7 @@ export const SearchBar: React.FC<InputProps> = ({ additionalInputProps }) => (
<EuiFieldSearch fullWidth {...additionalInputProps} />
<EuiButton type="submit" color="primary" fill>
{i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.inputView.searchLabel',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.inputView.searchLabel',
{
defaultMessage: 'Search',
}
@ -165,7 +165,7 @@ export const PagingInfoView: React.FC<PagingInfoViewProps> = ({ start, end, tota
<EuiText size="s">
<FormattedHTMLMessage
tagName="p"
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.pagingInfo.text"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.pagingInfo.text"
defaultMessage="Showing <strong>{start}-{end}</strong> of {totalResults}"
values={{ end, start, totalResults }}
/>
@ -184,7 +184,7 @@ export const ResultsPerPageView: React.FC<ResultsPerPageViewProps> = ({
<EuiTitle size="xxxs">
<label htmlFor="results-per-page">
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.resultsPerPage.label"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.resultsPerPage.label"
defaultMessage="Show"
/>
</label>
@ -194,7 +194,7 @@ export const ResultsPerPageView: React.FC<ResultsPerPageViewProps> = ({
options={
options?.map((option) => ({
text: i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.resultsPerPage.option.label',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.resultsPerPage.option.label',
{
defaultMessage: '{value} {value, plural, one {Result} other {Results}}',
values: { value: option },
@ -216,7 +216,7 @@ export const Sorting = withSearch<
>(({ setSort, sortList }) => ({ setSort, sortList }))(({ sortableFields, sortList, setSort }) => {
const [{ direction, field }] = !sortList?.length ? [{ direction: '', field: '' }] : sortList;
const relevance = i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.sortingView.relevanceLabel',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.sortingView.relevanceLabel',
{ defaultMessage: 'Relevance' }
);
@ -226,7 +226,7 @@ export const Sorting = withSearch<
<EuiTitle size="xxxs">
<label htmlFor="sorting-field">
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.sortingView.fieldLabel"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.sortingView.fieldLabel"
defaultMessage="Sort By"
/>
</label>
@ -252,7 +252,7 @@ export const Sorting = withSearch<
<EuiTitle size="xxxs">
<label htmlFor="sorting-direction">
<FormattedMessage
id="xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.sortingView.directionLabel"
id="xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.sortingView.directionLabel"
defaultMessage="Order By"
/>
</label>
@ -271,14 +271,14 @@ export const Sorting = withSearch<
options={[
{
text: i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.sortingView.ascLabel',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.sortingView.ascLabel',
{ defaultMessage: 'Ascending' }
),
value: 'asc',
},
{
text: i18n.translate(
'xpack.enterpriseSearch.searchApplications.searchApplication.searchPreview.sortingView.descLabel',
'xpack.enterpriseSearch.searchApplications.searchApplication.docsExplorer.sortingView.descLabel',
{ defaultMessage: 'Descending' }
),
value: 'desc',

View file

@ -46,7 +46,7 @@ export const SearchApplicationRouter: React.FC = () => {
from={SEARCH_APPLICATION_PATH}
to={generateEncodedPath(SEARCH_APPLICATION_TAB_PATH, {
searchApplicationName,
tabId: SearchApplicationViewTabs.PREVIEW,
tabId: SearchApplicationViewTabs.DOCS_EXPLORER,
})}
exact
/>

View file

@ -28,11 +28,11 @@ import { EnterpriseSearchApplicationsPageTemplate } from '../layout/page_templat
import { DeleteSearchApplicationModal } from '../search_applications/delete_search_application_modal';
import { SearchApplicationConnect } from './connect/search_application_connect';
import { SearchApplicationDocsExplorer } from './docs_explorer/docs_explorer';
import { SearchApplicationHeaderDocsAction } from './header_docs_action';
import { SearchApplicationContent } from './search_application_content';
import { SearchApplicationError } from './search_application_error';
import { SearchApplicationViewLogic } from './search_application_view_logic';
import { SearchApplicationSearchPreview } from './search_preview/search_preview';
export const SearchApplicationView: React.FC = () => {
const { fetchSearchApplication, closeDeleteSearchApplicationModal } = useActions(
@ -45,7 +45,7 @@ export const SearchApplicationView: React.FC = () => {
hasSchemaConflicts,
isDeleteModalVisible,
} = useValues(SearchApplicationViewLogic);
const { tabId = SearchApplicationViewTabs.PREVIEW } = useParams<{
const { tabId = SearchApplicationViewTabs.DOCS_EXPLORER } = useParams<{
tabId?: string;
}>();
const { renderHeaderActions } = useValues(KibanaLogic);
@ -91,8 +91,8 @@ export const SearchApplicationView: React.FC = () => {
<Routes>
<Route
exact
path={`${SEARCH_APPLICATION_PATH}/${SearchApplicationViewTabs.PREVIEW}`}
component={SearchApplicationSearchPreview}
path={`${SEARCH_APPLICATION_PATH}/${SearchApplicationViewTabs.DOCS_EXPLORER}`}
component={SearchApplicationDocsExplorer}
/>
<Route path={SEARCH_APPLICATION_CONTENT_PATH} component={SearchApplicationContent} />
<Redirect

View file

@ -10,7 +10,7 @@ export const ROOT_PATH = '/';
export const SEARCH_APPLICATIONS_PATH = `${ROOT_PATH}search_applications`;
export enum SearchApplicationViewTabs {
PREVIEW = 'preview',
DOCS_EXPLORER = 'docs_explorer',
CONTENT = 'content',
CONNECT = 'connect',
}

View file

@ -31,7 +31,7 @@ export const SearchApplicationsProductCard = () => (
i18n.translate('xpack.enterpriseSearch.searchApplications.features.indices', {
defaultMessage: 'Combine your Elasticsearch indices',
}),
i18n.translate('xpack.enterpriseSearch.searchApplications.features.searchPreview', {
i18n.translate('xpack.enterpriseSearch.searchApplications.features.docsExplorer', {
defaultMessage: 'Easily preview your search results',
}),
i18n.translate('xpack.enterpriseSearch.searchApplications.features.api', {

View file

@ -307,10 +307,10 @@ describe('useEnterpriseSearchApplicationNav', () => {
"id": "searchApplicationId",
"items": Array [
Object {
"href": "/app/enterprise_search/applications/search_applications/my-test-engine/preview",
"id": "enterpriseSearchApplicationPreview",
"href": "/app/enterprise_search/applications/search_applications/my-test-engine/docs_explorer",
"id": "enterpriseSearchApplicationDocsExplorer",
"items": undefined,
"name": "Search Preview",
"name": "Docs Explorer",
},
Object {
"href": "/app/enterprise_search/applications/search_applications/my-test-engine/content",

View file

@ -211,13 +211,16 @@ export const useEnterpriseSearchApplicationNav = (
}),
items: [
{
id: 'enterpriseSearchApplicationPreview',
name: i18n.translate('xpack.enterpriseSearch.nav.searchApplication.previewTitle', {
defaultMessage: 'Search Preview',
}),
id: 'enterpriseSearchApplicationDocsExplorer',
name: i18n.translate(
'xpack.enterpriseSearch.nav.searchApplication.docsExplorerTitle',
{
defaultMessage: 'Docs Explorer',
}
),
...generateNavLink({
shouldNotCreateHref: true,
to: `${searchApplicationPath}/${SearchApplicationViewTabs.PREVIEW}`,
to: `${searchApplicationPath}/${SearchApplicationViewTabs.DOCS_EXPLORER}`,
}),
},
{