You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by hu...@apache.org on 2022/02/07 20:47:08 UTC

[superset] branch master updated: chore: allow sqla docs to use supersettext (#18585)

This is an automated email from the ASF dual-hosted git repository.

hugh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 4e2bdd4  chore: allow sqla docs to use supersettext (#18585)
4e2bdd4 is described below

commit 4e2bdd49c4f23ace04ccde652fc6dfc8a4a24b0d
Author: Phillip Kelley-Dotson <pk...@yahoo.com>
AuthorDate: Mon Feb 7 12:45:42 2022 -0800

    chore: allow sqla docs to use supersettext (#18585)
    
    * chore: allow sqla docs to use supersettext
    
    * Update SqlAlchemyForm.tsx
---
 .../data/database/DatabaseModal/SqlAlchemyForm.tsx | 136 +++++++++++----------
 1 file changed, 73 insertions(+), 63 deletions(-)

diff --git a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/SqlAlchemyForm.tsx b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/SqlAlchemyForm.tsx
index a48cea3..7226efd 100644
--- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/SqlAlchemyForm.tsx
+++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/SqlAlchemyForm.tsx
@@ -18,6 +18,7 @@
  */
 import React, { EventHandler, ChangeEvent, MouseEvent } from 'react';
 import { t, SupersetTheme } from '@superset-ui/core';
+import SupersetText from 'src/utils/textUtils';
 import Button from 'src/components/Button';
 import { StyledInputContainer, wideButton } from './styles';
 
@@ -37,67 +38,76 @@ const SqlAlchemyTab = ({
   conf: { SQLALCHEMY_DOCS_URL: string; SQLALCHEMY_DISPLAY_TEXT: string };
   isEditMode?: boolean;
   testInProgress?: boolean;
-}) => (
-  <>
-    <StyledInputContainer>
-      <div className="control-label">
-        {t('Display Name')}
-        <span className="required">*</span>
-      </div>
-      <div className="input-container">
-        <input
-          type="text"
-          name="database_name"
-          data-test="database-name-input"
-          value={db?.database_name || ''}
-          placeholder={t('Name your database')}
-          onChange={onInputChange}
-        />
-      </div>
-      <div className="helper">
-        {t('Pick a name to help you identify this database.')}
-      </div>
-    </StyledInputContainer>
-    <StyledInputContainer>
-      <div className="control-label">
-        {t('SQLAlchemy URI')}
-        <span className="required">*</span>
-      </div>
-      <div className="input-container">
-        <input
-          type="text"
-          name="sqlalchemy_uri"
-          data-test="sqlalchemy-uri-input"
-          value={db?.sqlalchemy_uri || ''}
-          autoComplete="off"
-          placeholder={t(
-            'dialect+driver://username:password@host:port/database',
-          )}
-          onChange={onInputChange}
-        />
-      </div>
-      <div className="helper">
-        {t('Refer to the')}{' '}
-        <a
-          href={conf?.SQLALCHEMY_DOCS_URL ?? ''}
-          target="_blank"
-          rel="noopener noreferrer"
-        >
-          {conf?.SQLALCHEMY_DISPLAY_TEXT ?? ''}
-        </a>{' '}
-        {t('for more information on how to structure your URI.')}
-      </div>
-    </StyledInputContainer>
-    <Button
-      onClick={testConnection}
-      disabled={testInProgress}
-      cta
-      buttonStyle="link"
-      css={(theme: SupersetTheme) => wideButton(theme)}
-    >
-      {t('Test connection')}
-    </Button>
-  </>
-);
-
+}) => {
+  let fallbackDocsUrl;
+  let fallbackDisplayText;
+  if (SupersetText) {
+    fallbackDocsUrl =
+      SupersetText.DB_MODAL_SQLALCHEMY_FORM?.SQLALCHEMY_DOCS_URL;
+    fallbackDisplayText =
+      SupersetText.DB_MODAL_SQLALCHEMY_FORM?.SQLALCHEMY_DOCS_URL;
+  }
+  return (
+    <>
+      <StyledInputContainer>
+        <div className="control-label">
+          {t('Display Name')}
+          <span className="required">*</span>
+        </div>
+        <div className="input-container">
+          <input
+            type="text"
+            name="database_name"
+            data-test="database-name-input"
+            value={db?.database_name || ''}
+            placeholder={t('Name your database')}
+            onChange={onInputChange}
+          />
+        </div>
+        <div className="helper">
+          {t('Pick a name to help you identify this database.')}
+        </div>
+      </StyledInputContainer>
+      <StyledInputContainer>
+        <div className="control-label">
+          {t('SQLAlchemy URI')}
+          <span className="required">*</span>
+        </div>
+        <div className="input-container">
+          <input
+            type="text"
+            name="sqlalchemy_uri"
+            data-test="sqlalchemy-uri-input"
+            value={db?.sqlalchemy_uri || ''}
+            autoComplete="off"
+            placeholder={t(
+              'dialect+driver://username:password@host:port/database',
+            )}
+            onChange={onInputChange}
+          />
+        </div>
+        <div className="helper">
+          {t('Refer to the')}{' '}
+          <a
+            href={fallbackDocsUrl || conf?.SQLALCHEMY_DOCS_URL || ''}
+            target="_blank"
+            rel="noopener noreferrer"
+          >
+            {fallbackDisplayText || conf?.SQLALCHEMY_DISPLAY_TEXT || ''}
+          </a>{' '}
+          {t('for more information on how to structure your URI.')}
+        </div>
+      </StyledInputContainer>
+      <Button
+        onClick={testConnection}
+        disabled={testInProgress}
+        cta
+        buttonStyle="link"
+        css={(theme: SupersetTheme) => wideButton(theme)}
+      >
+        {t('Test connection')}
+      </Button>
+    </>
+  );
+};
 export default SqlAlchemyTab;