[Search] Disable crawler on overview without ent-search (#164227)

## Summary

This disables the crawler if Enterprise Search is not available on the
new overview page.
This commit is contained in:
Sander Philipse 2023-08-21 10:37:59 +02:00 committed by GitHub
parent f1402d682c
commit 8532b996c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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';
@ -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>
@ -61,6 +68,7 @@ export const IngestionSelector: React.FC = () => {
}
/>
</EuiFlexItem>
{productFeatures.hasConnectors && (
<EuiFlexItem>
<EuiCard
hasBorder
@ -88,9 +96,12 @@ export const IngestionSelector: React.FC = () => {
}
/>
</EuiFlexItem>
)}
{productFeatures.hasWebCrawler && (
<EuiFlexItem>
<EuiCard
hasBorder
isDisabled={crawlerDisabled}
icon={<EuiIcon type={crawlerLogo} size="xxl" />}
textAlign="left"
title={i18n.translate('xpack.enterpriseSearch.ingestSelector.method.crawler', {
@ -104,17 +115,20 @@ export const IngestionSelector: React.FC = () => {
}
)}
footer={
<EuiLinkTo
<EuiButtonTo
fullWidth
isDisabled={crawlerDisabled}
to={generatePath(ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL + NEW_INDEX_METHOD_PATH, {
type: INGESTION_METHOD_IDS.CRAWLER,
})}
shouldNotCreateHref
>
<EuiButton fullWidth>{START_LABEL}</EuiButton>
</EuiLinkTo>
{START_LABEL}
</EuiButtonTo>
}
/>
</EuiFlexItem>
)}
</EuiFlexGroup>
);
};