mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 01:13:23 -04:00
# Backport This will backport the following commits from `main` to `8.8`: - [[Enterprise Search][Search Application] Add documentation tab in Connect (#157417)](https://github.com/elastic/kibana/pull/157417) <!--- Backport version: 8.9.7 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Saarika Bhasi","email":"55930906+saarikabhasi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2023-05-15T13:37:11Z","message":"[Enterprise Search][Search Application] Add documentation tab in Connect (#157417)\n\n## Summary\r\n\r\nAdds Documentation page in Connect\r\n\r\n<img width=\"1727\" alt=\"Documentation page in connect\"\r\nsrc=\"135462f2
-f245-4c51-ba81-2b7224dbc0f7\">\r\n\r\n[Edit] Updated screen after adding review suggestion\r\n\r\n\r\n\r\n<img width=\"1727\" alt=\"Documentation page in connect-after edit\"\r\nsrc=\"427ba17f
-40d0-41da-8eba-2d9770d4f16e\">","sha":"8c3b61045abaefe9b4672292e4f5e4588b628c3c","branchLabelMapping":{"^v8.9.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:EnterpriseSearch","v8.8.0","v8.9.0"],"number":157417,"url":"https://github.com/elastic/kibana/pull/157417","mergeCommit":{"message":"[Enterprise Search][Search Application] Add documentation tab in Connect (#157417)\n\n## Summary\r\n\r\nAdds Documentation page in Connect\r\n\r\n<img width=\"1727\" alt=\"Documentation page in connect\"\r\nsrc=\"135462f2
-f245-4c51-ba81-2b7224dbc0f7\">\r\n\r\n[Edit] Updated screen after adding review suggestion\r\n\r\n\r\n\r\n<img width=\"1727\" alt=\"Documentation page in connect-after edit\"\r\nsrc=\"427ba17f
-40d0-41da-8eba-2d9770d4f16e\">","sha":"8c3b61045abaefe9b4672292e4f5e4588b628c3c"}},"sourceBranch":"main","suggestedTargetBranches":["8.8"],"targetPullRequestStates":[{"branch":"8.8","label":"v8.8.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.9.0","labelRegex":"^v8.9.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/157417","number":157417,"mergeCommit":{"message":"[Enterprise Search][Search Application] Add documentation tab in Connect (#157417)\n\n## Summary\r\n\r\nAdds Documentation page in Connect\r\n\r\n<img width=\"1727\" alt=\"Documentation page in connect\"\r\nsrc=\"135462f2
-f245-4c51-ba81-2b7224dbc0f7\">\r\n\r\n[Edit] Updated screen after adding review suggestion\r\n\r\n\r\n\r\n<img width=\"1727\" alt=\"Documentation page in connect-after edit\"\r\nsrc=\"427ba17f
-40d0-41da-8eba-2d9770d4f16e\">","sha":"8c3b61045abaefe9b4672292e4f5e4588b628c3c"}}]}] BACKPORT-->
This commit is contained in:
parent
f2529c838e
commit
38ad70ebe9
3 changed files with 235 additions and 3 deletions
|
@ -15,9 +15,9 @@ import { i18n } from '@kbn/i18n';
|
|||
import { generateEncodedPath } from '../../../../shared/encode_path_params';
|
||||
import { KibanaLogic } from '../../../../shared/kibana';
|
||||
import {
|
||||
SEARCH_APPLICATION_CONTENT_PATH,
|
||||
EngineViewTabs,
|
||||
SearchApplicationConnectTabs,
|
||||
SEARCH_APPLICATION_CONNECT_PATH,
|
||||
} from '../../../routes';
|
||||
import { EnterpriseSearchEnginesPageTemplate } from '../../layout/engines_page_template';
|
||||
|
||||
|
@ -27,6 +27,7 @@ import { EngineViewLogic } from '../engine_view_logic';
|
|||
import { SearchApplicationAPI } from './search_application_api';
|
||||
|
||||
import '../search_application_layout.scss';
|
||||
import { SearchApplicationDocumentation } from './search_application_documentation';
|
||||
|
||||
const pageTitle = i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplications.connect.pageTitle',
|
||||
|
@ -40,11 +41,19 @@ const API_TAB_TITLE = i18n.translate(
|
|||
defaultMessage: 'API',
|
||||
}
|
||||
);
|
||||
const DOCUMENTATION_TAB_TITLE = i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplications.connect.documentationTabTitle',
|
||||
{
|
||||
defaultMessage: 'Documentation',
|
||||
}
|
||||
);
|
||||
const ConnectTabs: string[] = Object.values(SearchApplicationConnectTabs);
|
||||
const getTabBreadCrumb = (tabId: string) => {
|
||||
switch (tabId) {
|
||||
case SearchApplicationConnectTabs.API:
|
||||
return API_TAB_TITLE;
|
||||
case SearchApplicationConnectTabs.DOCUMENTATION:
|
||||
return DOCUMENTATION_TAB_TITLE;
|
||||
default:
|
||||
return tabId;
|
||||
}
|
||||
|
@ -55,14 +64,16 @@ export const EngineConnect: React.FC = () => {
|
|||
const { connectTabId = SearchApplicationConnectTabs.API } = useParams<{
|
||||
connectTabId?: string;
|
||||
}>();
|
||||
|
||||
const onTabClick = (tab: SearchApplicationConnectTabs) => () => {
|
||||
KibanaLogic.values.navigateToUrl(
|
||||
generateEncodedPath(SEARCH_APPLICATION_CONTENT_PATH, {
|
||||
engineName,
|
||||
generateEncodedPath(SEARCH_APPLICATION_CONNECT_PATH, {
|
||||
connectTabId: tab,
|
||||
engineName,
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
if (!ConnectTabs.includes(connectTabId)) {
|
||||
return (
|
||||
<EnterpriseSearchEnginesPageTemplate
|
||||
|
@ -98,11 +109,19 @@ export const EngineConnect: React.FC = () => {
|
|||
label: API_TAB_TITLE,
|
||||
onClick: onTabClick(SearchApplicationConnectTabs.API),
|
||||
},
|
||||
{
|
||||
isSelected: connectTabId === SearchApplicationConnectTabs.DOCUMENTATION,
|
||||
label: DOCUMENTATION_TAB_TITLE,
|
||||
onClick: onTabClick(SearchApplicationConnectTabs.DOCUMENTATION),
|
||||
},
|
||||
],
|
||||
}}
|
||||
engineName={engineName}
|
||||
>
|
||||
{connectTabId === SearchApplicationConnectTabs.API && <SearchApplicationAPI />}
|
||||
{connectTabId === SearchApplicationConnectTabs.DOCUMENTATION && (
|
||||
<SearchApplicationDocumentation />
|
||||
)}
|
||||
</EnterpriseSearchEnginesPageTemplate>
|
||||
);
|
||||
};
|
||||
|
|
|
@ -0,0 +1,212 @@
|
|||
/*
|
||||
* 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 {
|
||||
EuiFlexGroup,
|
||||
EuiFlexItem,
|
||||
EuiIcon,
|
||||
EuiImage,
|
||||
EuiLink,
|
||||
EuiPanel,
|
||||
EuiSpacer,
|
||||
EuiText,
|
||||
EuiTitle,
|
||||
} from '@elastic/eui';
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import welcomeGraphicLight from '../../../../../assets/images/welcome_light.svg';
|
||||
import { docLinks } from '../../../../shared/doc_links';
|
||||
|
||||
export const SearchApplicationDocumentation = () => {
|
||||
return (
|
||||
<EuiPanel color="transparent">
|
||||
<EuiFlexGroup justifyContent="spaceBetween" direction="row">
|
||||
<EuiFlexGroup direction="column">
|
||||
<EuiImage size="l" float="left" src={welcomeGraphicLight} alt="" />
|
||||
|
||||
<EuiText>
|
||||
<h2>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.searchApplication.title',
|
||||
{
|
||||
defaultMessage: 'Learn more about Search Applications',
|
||||
}
|
||||
)}
|
||||
</h2>
|
||||
</EuiText>
|
||||
|
||||
<EuiText>
|
||||
<p>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.searchApplication.description',
|
||||
{
|
||||
defaultMessage:
|
||||
'Search Applications help make your Elasticsearch data easily searchable for end users.',
|
||||
}
|
||||
)}
|
||||
</p>
|
||||
</EuiText>
|
||||
|
||||
<EuiLink href={docLinks.searchApplications} external>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.searchApplication.readDocumentation',
|
||||
{
|
||||
defaultMessage: 'Read our documentation',
|
||||
}
|
||||
)}
|
||||
</EuiLink>
|
||||
</EuiFlexGroup>
|
||||
<EuiFlexGroup justifyContent="spaceBetween" direction="column">
|
||||
<EuiFlexItem grow>
|
||||
<EuiPanel grow paddingSize="l">
|
||||
<EuiFlexGroup direction="row">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiIcon type="lock" size="l" />
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiTitle size="s">
|
||||
<EuiText>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.manageAPIKeys.title',
|
||||
{ defaultMessage: 'Manage API Keys' }
|
||||
)}
|
||||
</EuiText>
|
||||
</EuiTitle>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
<EuiSpacer />
|
||||
<EuiFlexGroup direction="column" justifyContent="spaceBetween" gutterSize="m">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiText>
|
||||
<p>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.manageAPIKeys.description',
|
||||
{
|
||||
defaultMessage:
|
||||
'API keys provide a secure way to control access to Elasticsearch data and functionalities, and to limit access to specific indices or actions.',
|
||||
}
|
||||
)}
|
||||
</p>
|
||||
</EuiText>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiText>
|
||||
<EuiLink href={docLinks.apiKeys} external>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.manageAPIKeys.learnMore',
|
||||
{
|
||||
defaultMessage: 'Learn more',
|
||||
}
|
||||
)}
|
||||
</EuiLink>
|
||||
</EuiText>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
</EuiPanel>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow>
|
||||
<EuiPanel grow paddingSize="l">
|
||||
<EuiFlexGroup direction="row">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiIcon type="keyboard" size="l" />
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiTitle size="s">
|
||||
<EuiText>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.languageClients.title',
|
||||
{ defaultMessage: 'Build with language clients' }
|
||||
)}
|
||||
</EuiText>
|
||||
</EuiTitle>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
<EuiSpacer />
|
||||
<EuiFlexGroup direction="column" justifyContent="spaceBetween" gutterSize="m">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiText>
|
||||
<p>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.languageClients.description',
|
||||
{
|
||||
defaultMessage:
|
||||
'Develop for Elasticsearch in your preferred programming languages through our first and third-party supported clients.',
|
||||
}
|
||||
)}
|
||||
</p>
|
||||
</EuiText>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiText>
|
||||
<EuiLink href={docLinks.clientsGuide} external>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.languageClients.learnMore',
|
||||
{
|
||||
defaultMessage: 'Learn more',
|
||||
}
|
||||
)}
|
||||
</EuiLink>
|
||||
</EuiText>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
</EuiPanel>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow>
|
||||
<EuiPanel grow paddingSize="l">
|
||||
<EuiFlexGroup direction="row">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiIcon type="securitySignal" size="l" />
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiTitle size="s">
|
||||
<EuiText>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.searchInsights.title',
|
||||
{ defaultMessage: 'Search insights' }
|
||||
)}
|
||||
</EuiText>
|
||||
</EuiTitle>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
<EuiSpacer />
|
||||
<EuiFlexGroup direction="column" justifyContent="spaceBetween" gutterSize="m">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiText>
|
||||
<p>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.searchInsights.description',
|
||||
{
|
||||
defaultMessage:
|
||||
'Gain insights into the performance of your search application with Behavioral Analytics.',
|
||||
}
|
||||
)}
|
||||
</p>
|
||||
</EuiText>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiText>
|
||||
<EuiLink href={docLinks.behavioralAnalytics} external>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.content.searchApplication.documentation.searchInsights.learnMore',
|
||||
{
|
||||
defaultMessage: 'Learn more',
|
||||
}
|
||||
)}
|
||||
</EuiLink>
|
||||
</EuiText>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
</EuiPanel>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
</EuiFlexGroup>
|
||||
</EuiPanel>
|
||||
);
|
||||
};
|
|
@ -20,6 +20,7 @@ export const ENGINE_TAB_PATH = `${ENGINE_PATH}/:tabId`;
|
|||
export const SEARCH_APPLICATION_CONNECT_PATH = `${ENGINE_PATH}/${EngineViewTabs.CONNECT}/:connectTabId`;
|
||||
export enum SearchApplicationConnectTabs {
|
||||
API = 'api',
|
||||
DOCUMENTATION = 'documentation',
|
||||
}
|
||||
export const SEARCH_APPLICATION_CONTENT_PATH = `${ENGINE_PATH}/${EngineViewTabs.CONTENT}/:contentTabId`;
|
||||
export enum SearchApplicationContentTabs {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue