diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/ServiceDocPanel/ServiceDocPanel.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/ServiceDocPanel/ServiceDocPanel.tsx index fb3e0926f64..49769a9f589 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/ServiceDocPanel/ServiceDocPanel.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/ServiceDocPanel/ServiceDocPanel.tsx @@ -91,7 +91,7 @@ const ServiceDocPanel: FC = ({ response = translation.value; } - if (isEnglishLanguage && fallbackTranslation.status === 'fulfilled') { + if (!isEnglishLanguage && fallbackTranslation.status === 'fulfilled') { response = fallbackTranslation.value; } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/TestConnection.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/TestConnection.test.tsx index 5d3cb28e236..4e57a4a6b29 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/TestConnection.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/TestConnection.test.tsx @@ -350,6 +350,18 @@ describe('Test Connection Component', () => { expect(testConnectionButton).toBeDisabled(); }); + it('Should render the configure airflow message if airflow is not available', async () => { + (useAirflowStatus as jest.Mock).mockImplementationOnce(() => ({ + isAirflowAvailable: false, + })); + + await act(async () => { + render(); + }); + + expect(screen.getByTestId('airflow-doc-link')).toBeInTheDocument(); + }); + it('Test connection button with showDetails false should be disabled is airflow is not available', async () => { (useAirflowStatus as jest.Mock).mockImplementationOnce(() => ({ isAirflowAvailable: false, diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/TestConnection.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/TestConnection.tsx index 007bd47f93f..26312fc78f8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/TestConnection.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/TestConnection.tsx @@ -47,6 +47,7 @@ import { Transi18next } from 'utils/CommonUtils'; import { TestConnectionProps, TestStatus } from './TestConnection.interface'; import TestConnectionModal from './TestConnectionModal/TestConnectionModal'; +import { CUSTOM_AIRFLOW_DOCS } from 'constants/constants'; import { FETCHING_EXPIRY_TIME, FETCH_INTERVAL, @@ -327,7 +328,24 @@ const TestConnection: FC = ({ /> )}
- {message}{' '} + {isAirflowAvailable ? ( + message + ) : ( + + } + values={{ + text: t('label.documentation-lowercase'), + }} + /> + )}{' '} {(testStatus || isTestingConnection) && ( {!isAirflowAvailable && ( -

- {t('message.configure-airflow')} - - {t('label.documentation-lowercase')} - -

+ + } + values={{ + text: t('label.documentation-lowercase'), + }} + /> )}
)} diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json index 57d5fa8265a..8775e3a7ae6 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json @@ -71,7 +71,7 @@ "auto-tag-pii-uppercase": "Auto Tag PII", "automatically-generate": "Automatically Generate", "average-session": "Avg. Session Time", - "awaiting-status": "Awaiting-status", + "awaiting-status": "Awaiting status", "aws-access-key-id": "AWS Access Key ID", "aws-region": "AWS Region", "aws-secret-access-key": "AWS Secret Access Key", @@ -986,7 +986,7 @@ "collaborate-with-other-user": "to collaborate with other users.", "confidence-percentage-message": "Set the confidence level for the NLP model to use when infering whether a column contains PII data or not.", "configure-a-service-description": "Enter a unique service name. The name must be unique across the category of services. For e.g., among database services, both MySQL and Snowflake cannot have the same service name (E.g. customer_data). However, different service categories (dashboard, pipeline) can have the same service name. Spaces are not supported in the service name. Characters like - _ are supported. Also, add a description.", - "configure-airflow": "To set up metadata extraction through UI, you first need to configure and connect to Airflow. For more details visit our", + "configure-airflow": "To set up metadata extraction through UI, you first need to configure and connect to Airflow. For more details visit our <0>{{text}}.", "configure-dbt-model-description": "A dbt model provides transformation logic that creates a table from raw data. Lineage traces the path of data across tables, but a dbt model provides specifics. Select the required dbt source provider and fill in the mandatory fields. Integrate with dbt from OpenMetadata to view the models used to generate tables.", "configure-glossary-term-description": "Every term in the glossary has a unique definition. Along with defining the standard term for a concept, the synonyms as well as related terms (for e.g., parent and child terms) can be specified. References can be added to the assets related to the terms. New terms can be added or updated to the Glossary. The glossary terms can be reviewed by certain users, who can accept or reject the terms.", "configure-webhook-message": "OpenMetadata can be configured to automatically send out event notifications to registered webhooks. Enter the Webhook Name, and an Endpoint URL to receive the HTTP callback on. Use Event Filters to only receive notifications based on events of interest, like when an entity is created, updated, or deleted; and for the entities your application is interested in. Add a description to help people understand the purpose of the webhook and to keep track of the use case. Use advanced configuration to set up a shared secret key to verify the webhook events using HMAC signature.",