diff --git a/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/edit/integration_edit_view.tsx b/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/edit/integration_edit_view.tsx index f395306418632..eaf5a8fafe480 100644 --- a/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/edit/integration_edit_view.tsx +++ b/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/edit/integration_edit_view.tsx @@ -33,7 +33,7 @@ import { useIntegrationDelete } from '../../../hooks/use_integration_delete'; import { useIntegrationConfigurationForm } from '../../../hooks/use_integration_configuration_form'; import { appPaths } from '../../../app_paths'; import { toolLabels } from '../i18n'; -import { integrationTypeToLabel } from '../utils'; +import { integrationTypeToLabel, isIntegrationDisabled } from '../utils'; interface IntegrationEditViewProps { integrationId: string | undefined; @@ -87,10 +87,12 @@ export const IntegrationEditView: React.FC = ({ integr const integrationTypes = [ { value: '', text: 'Pick a type' }, - ...Object.values(IntegrationType).map((type) => ({ - value: type, - text: integrationTypeToLabel(type), - })), + ...Object.values(IntegrationType) + .filter((type) => !isIntegrationDisabled(type)) + .map((type) => ({ + value: type, + text: integrationTypeToLabel(type), + })), ]; const onDeleteSuccess = useCallback(() => { diff --git a/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/listing/integration_catalog_view.tsx b/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/listing/integration_catalog_view.tsx index 97f47410cd6cf..763b69e3b855d 100644 --- a/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/listing/integration_catalog_view.tsx +++ b/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/listing/integration_catalog_view.tsx @@ -23,7 +23,7 @@ import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template'; import { i18n } from '@kbn/i18n'; import { css } from '@emotion/css'; import { IntegrationListView } from './integration_list_view'; -import { getIntegrationIcon } from '../utils'; +import { getIntegrationIcon, isIntegrationDisabled } from '../utils'; import { useNavigation } from '../../../hooks/use_navigation'; import { appPaths } from '../../../app_paths'; @@ -44,7 +44,7 @@ const integrationCards: Record = { defaultMessage: 'Choose an existing index to connect and start using it in your workflows without re-importing your data', }), - disabled: false, + disabled: isIntegrationDisabled(IntegrationType.index_source), }, [IntegrationType.external_server]: { title: i18n.translate('workchatApp.integrations.listView.externalServerCard', { @@ -54,7 +54,7 @@ const integrationCards: Record = { description: i18n.translate('workchatApp.integrations.listView.externalServerDescription', { defaultMessage: 'Connect to external servers for data processing.', }), - disabled: false, + disabled: isIntegrationDisabled(IntegrationType.external_server), }, [IntegrationType.salesforce]: { title: i18n.translate('workchatApp.integrations.listView.salesforceCard', { @@ -65,7 +65,7 @@ const integrationCards: Record = { defaultMessage: 'Connect your Salesforce account to bring in customer records, case data, and account insights for use in workflows', }), - disabled: false, + disabled: isIntegrationDisabled(IntegrationType.salesforce), }, [IntegrationType.google_drive]: { title: i18n.translate('workchatApp.integrations.listView.googleDriveCard', { @@ -75,7 +75,7 @@ const integrationCards: Record = { description: i18n.translate('workchatApp.integrations.listView.googleDriveDescription', { defaultMessage: 'Search and summarize content from your Drive files', }), - disabled: true, + disabled: isIntegrationDisabled(IntegrationType.google_drive), }, [IntegrationType.sharepoint]: { title: i18n.translate('workchatApp.integrations.listView.sharepointCard', { @@ -85,7 +85,7 @@ const integrationCards: Record = { description: i18n.translate('workchatApp.integrations.listView.sharepointDescription', { defaultMessage: 'Connect internal documents and sites for enterprise-wide search.', }), - disabled: true, + disabled: isIntegrationDisabled(IntegrationType.sharepoint), }, [IntegrationType.slack]: { title: i18n.translate('workchatApp.integrations.listView.slackCard', { @@ -95,7 +95,7 @@ const integrationCards: Record = { description: i18n.translate('workchatApp.integrations.listView.slackDescription', { defaultMessage: 'Search conversations and surface relevant team discussions.', }), - disabled: true, + disabled: isIntegrationDisabled(IntegrationType.slack), }, [IntegrationType.confluence]: { title: i18n.translate('workchatApp.integrations.listView.confluenceCard', { @@ -105,7 +105,7 @@ const integrationCards: Record = { description: i18n.translate('workchatApp.integrations.listView.confluenceDescription', { defaultMessage: 'Tap into your internal knowledge base for accurate answers.', }), - disabled: true, + disabled: isIntegrationDisabled(IntegrationType.confluence), }, [IntegrationType.jira]: { title: i18n.translate('workchatApp.integrations.listView.jiraCard', { @@ -115,7 +115,7 @@ const integrationCards: Record = { description: i18n.translate('workchatApp.integrations.listView.jiraDescription', { defaultMessage: 'Bring in issue tracking, tickets, and project context.', }), - disabled: true, + disabled: isIntegrationDisabled(IntegrationType.jira), }, [IntegrationType.github]: { title: i18n.translate('workchatApp.integrations.listView.githubCard', { @@ -125,7 +125,7 @@ const integrationCards: Record = { description: i18n.translate('workchatApp.integrations.listView.githubDescription', { defaultMessage: 'Search repos, issues, and documentation for engineering insights.', }), - disabled: true, + disabled: isIntegrationDisabled(IntegrationType.github), }, }; diff --git a/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/utils.ts b/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/utils.ts index b8889021a5869..b75fc509468b7 100644 --- a/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/utils.ts +++ b/x-pack/solutions/chat/plugins/workchat-app/public/application/components/integrations/utils.ts @@ -63,3 +63,17 @@ export const getIntegrationIcon = (type: IntegrationType) => { return ''; } }; + +export const isIntegrationDisabled = (type: IntegrationType) => { + switch (type) { + case IntegrationType.google_drive: + case IntegrationType.sharepoint: + case IntegrationType.slack: + case IntegrationType.confluence: + case IntegrationType.jira: + case IntegrationType.github: + return true; + default: + return false; + } +};