Skip to content

Commit

Permalink
[Search] Disable crawler on overview without ent-search (#164227)
Browse files Browse the repository at this point in the history
## Summary

This disables the crawler if Enterprise Search is not available on the
new overview page.
  • Loading branch information
sphilipse authored Aug 21, 2023
1 parent f1402d6 commit 8532b99
Showing 1 changed file with 67 additions and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import React from 'react';

import { generatePath } from 'react-router-dom';

import { useValues } from 'kea';

import { EuiButton, EuiCard, EuiFlexGroup, EuiFlexItem, EuiIcon } from '@elastic/eui';

import { i18n } from '@kbn/i18n';
Expand All @@ -27,13 +29,18 @@ import {
NEW_INDEX_METHOD_PATH,
NEW_INDEX_SELECT_CONNECTOR_PATH,
} from '../../../enterprise_search_content/routes';
import { EuiLinkTo } from '../../../shared/react_router_helpers';
import { HttpLogic } from '../../../shared/http/http_logic';
import { KibanaLogic } from '../../../shared/kibana';
import { EuiButtonTo, EuiLinkTo } from '../../../shared/react_router_helpers';

const START_LABEL = i18n.translate('xpack.enterpriseSearch.ingestSelector.startButton', {
defaultMessage: 'Start',
});

export const IngestionSelector: React.FC = () => {
const { config, productFeatures } = useValues(KibanaLogic);
const { errorConnectingMessage } = useValues(HttpLogic);
const crawlerDisabled = Boolean(errorConnectingMessage || !config.host);
return (
<EuiFlexGroup>
<EuiFlexItem>
Expand Down Expand Up @@ -61,60 +68,67 @@ export const IngestionSelector: React.FC = () => {
}
/>
</EuiFlexItem>
<EuiFlexItem>
<EuiCard
hasBorder
icon={<EuiIcon type={connectorLogo} size="xxl" />}
textAlign="left"
title={i18n.translate('xpack.enterpriseSearch.ingestSelector.method.connectors', {
defaultMessage: 'Connectors',
})}
description={i18n.translate(
'xpack.enterpriseSearch.ingestSelector.method.connectors.description',
{
defaultMessage:
'Extract, transform, index and sync data from a third-party data source.',
{productFeatures.hasConnectors && (
<EuiFlexItem>
<EuiCard
hasBorder
icon={<EuiIcon type={connectorLogo} size="xxl" />}
textAlign="left"
title={i18n.translate('xpack.enterpriseSearch.ingestSelector.method.connectors', {
defaultMessage: 'Connectors',
})}
description={i18n.translate(
'xpack.enterpriseSearch.ingestSelector.method.connectors.description',
{
defaultMessage:
'Extract, transform, index and sync data from a third-party data source.',
}
)}
footer={
<EuiLinkTo
to={generatePath(
ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL + NEW_INDEX_SELECT_CONNECTOR_PATH
)}
shouldNotCreateHref
>
<EuiButton fullWidth>{START_LABEL}</EuiButton>
</EuiLinkTo>
}
)}
footer={
<EuiLinkTo
to={generatePath(
ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL + NEW_INDEX_SELECT_CONNECTOR_PATH
)}
shouldNotCreateHref
>
<EuiButton fullWidth>{START_LABEL}</EuiButton>
</EuiLinkTo>
}
/>
</EuiFlexItem>
<EuiFlexItem>
<EuiCard
hasBorder
icon={<EuiIcon type={crawlerLogo} size="xxl" />}
textAlign="left"
title={i18n.translate('xpack.enterpriseSearch.ingestSelector.method.crawler', {
defaultMessage: 'Web Crawler',
})}
description={i18n.translate(
'xpack.enterpriseSearch.ingestSelector.method.crawler.description',
{
defaultMessage:
'Discover, extract, and index searchable content from websites and knowledge bases.',
/>
</EuiFlexItem>
)}
{productFeatures.hasWebCrawler && (
<EuiFlexItem>
<EuiCard
hasBorder
isDisabled={crawlerDisabled}
icon={<EuiIcon type={crawlerLogo} size="xxl" />}
textAlign="left"
title={i18n.translate('xpack.enterpriseSearch.ingestSelector.method.crawler', {
defaultMessage: 'Web Crawler',
})}
description={i18n.translate(
'xpack.enterpriseSearch.ingestSelector.method.crawler.description',
{
defaultMessage:
'Discover, extract, and index searchable content from websites and knowledge bases.',
}
)}
footer={
<EuiButtonTo
fullWidth
isDisabled={crawlerDisabled}
to={generatePath(ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL + NEW_INDEX_METHOD_PATH, {
type: INGESTION_METHOD_IDS.CRAWLER,
})}
shouldNotCreateHref
>
{START_LABEL}
</EuiButtonTo>
}
)}
footer={
<EuiLinkTo
to={generatePath(ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL + NEW_INDEX_METHOD_PATH, {
type: INGESTION_METHOD_IDS.CRAWLER,
})}
shouldNotCreateHref
>
<EuiButton fullWidth>{START_LABEL}</EuiButton>
</EuiLinkTo>
}
/>
</EuiFlexItem>
/>
</EuiFlexItem>
)}
</EuiFlexGroup>
);
};

0 comments on commit 8532b99

Please sign in to comment.