@@ -1532,6 +1532,69 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
15321532 </ StyledBtns >
15331533 ) ;
15341534
1535+ const renderDatabaseConnectionForm = ( ) => (
1536+ < >
1537+ < DatabaseConnectionForm
1538+ isEditMode = { isEditMode }
1539+ db = { db as DatabaseObject }
1540+ sslForced = { sslForced }
1541+ dbModel = { dbModel }
1542+ onAddTableCatalog = { ( ) => {
1543+ setDB ( { type : ActionType . addTableCatalogSheet } ) ;
1544+ } }
1545+ onQueryChange = { ( { target } : { target : HTMLInputElement } ) =>
1546+ onChange ( ActionType . queryChange , {
1547+ name : target . name ,
1548+ value : target . value ,
1549+ } )
1550+ }
1551+ onExtraInputChange = { ( { target } : { target : HTMLInputElement } ) =>
1552+ onChange ( ActionType . extraInputChange , {
1553+ name : target . name ,
1554+ value : target . value ,
1555+ } )
1556+ }
1557+ onRemoveTableCatalog = { ( idx : number ) => {
1558+ setDB ( {
1559+ type : ActionType . removeTableCatalogSheet ,
1560+ payload : { indexToDelete : idx } ,
1561+ } ) ;
1562+ } }
1563+ onParametersChange = { ( { target } : { target : HTMLInputElement } ) =>
1564+ onChange ( ActionType . parametersChange , {
1565+ type : target . type ,
1566+ name : target . name ,
1567+ checked : target . checked ,
1568+ value : target . value ,
1569+ } )
1570+ }
1571+ onChange = { ( { target } : { target : HTMLInputElement } ) =>
1572+ onChange ( ActionType . textChange , {
1573+ name : target . name ,
1574+ value : target . value ,
1575+ } )
1576+ }
1577+ getValidation = { ( ) => getValidation ( db ) }
1578+ validationErrors = { validationErrors }
1579+ getPlaceholder = { getPlaceholder }
1580+ />
1581+ < SSHTunnelContainer >
1582+ < SSHTunnelSwitchComponent
1583+ isEditMode = { isEditMode }
1584+ dbFetched = { dbFetched }
1585+ disableSSHTunnelingForEngine = { disableSSHTunnelingForEngine }
1586+ useSSHTunneling = { useSSHTunneling }
1587+ setUseSSHTunneling = { setUseSSHTunneling }
1588+ setDB = { setDB }
1589+ isSSHTunneling = { isSSHTunneling }
1590+ />
1591+ </ SSHTunnelContainer >
1592+ { useSSHTunneling && (
1593+ < SSHTunnelContainer > { renderSSHTunnelForm ( ) } </ SSHTunnelContainer >
1594+ ) }
1595+ </ >
1596+ ) ;
1597+
15351598 const renderFinishState = ( ) => {
15361599 if ( ! editNewDb ) {
15371600 return (
@@ -1568,51 +1631,7 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
15681631 />
15691632 ) ;
15701633 }
1571- return (
1572- < DatabaseConnectionForm
1573- isEditMode
1574- sslForced = { sslForced }
1575- dbModel = { dbModel }
1576- db = { db as DatabaseObject }
1577- onParametersChange = { ( { target } : { target : HTMLInputElement } ) =>
1578- onChange ( ActionType . parametersChange , {
1579- type : target . type ,
1580- name : target . name ,
1581- checked : target . checked ,
1582- value : target . value ,
1583- } )
1584- }
1585- onExtraInputChange = { ( { target } : { target : HTMLInputElement } ) =>
1586- onChange ( ActionType . extraInputChange , {
1587- name : target . name ,
1588- value : target . value ,
1589- } )
1590- }
1591- onChange = { ( { target } : { target : HTMLInputElement } ) =>
1592- onChange ( ActionType . textChange , {
1593- name : target . name ,
1594- value : target . value ,
1595- } )
1596- }
1597- onQueryChange = { ( { target } : { target : HTMLInputElement } ) =>
1598- onChange ( ActionType . queryChange , {
1599- name : target . name ,
1600- value : target . value ,
1601- } )
1602- }
1603- onAddTableCatalog = { ( ) =>
1604- setDB ( { type : ActionType . addTableCatalogSheet } )
1605- }
1606- onRemoveTableCatalog = { ( idx : number ) =>
1607- setDB ( {
1608- type : ActionType . removeTableCatalogSheet ,
1609- payload : { indexToDelete : idx } ,
1610- } )
1611- }
1612- getValidation = { ( ) => getValidation ( db ) }
1613- validationErrors = { validationErrors }
1614- />
1615- ) ;
1634+ return renderDatabaseConnectionForm ( ) ;
16161635 } ;
16171636
16181637 if (
@@ -1758,49 +1777,7 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
17581777 ) }
17591778 </ StyledAlignment >
17601779 ) : (
1761- < DatabaseConnectionForm
1762- isEditMode
1763- sslForced = { sslForced }
1764- dbModel = { dbModel }
1765- db = { db as DatabaseObject }
1766- onParametersChange = { ( { target } : { target : HTMLInputElement } ) =>
1767- onChange ( ActionType . parametersChange , {
1768- type : target . type ,
1769- name : target . name ,
1770- checked : target . checked ,
1771- value : target . value ,
1772- } )
1773- }
1774- onExtraInputChange = { ( { target } : { target : HTMLInputElement } ) =>
1775- onChange ( ActionType . extraInputChange , {
1776- name : target . name ,
1777- value : target . value ,
1778- } )
1779- }
1780- onChange = { ( { target } : { target : HTMLInputElement } ) =>
1781- onChange ( ActionType . textChange , {
1782- name : target . name ,
1783- value : target . value ,
1784- } )
1785- }
1786- onQueryChange = { ( { target } : { target : HTMLInputElement } ) =>
1787- onChange ( ActionType . queryChange , {
1788- name : target . name ,
1789- value : target . value ,
1790- } )
1791- }
1792- onAddTableCatalog = { ( ) =>
1793- setDB ( { type : ActionType . addTableCatalogSheet } )
1794- }
1795- onRemoveTableCatalog = { ( idx : number ) =>
1796- setDB ( {
1797- type : ActionType . removeTableCatalogSheet ,
1798- payload : { indexToDelete : idx } ,
1799- } )
1800- }
1801- getValidation = { ( ) => getValidation ( db ) }
1802- validationErrors = { validationErrors }
1803- />
1780+ renderDatabaseConnectionForm ( )
18041781 ) }
18051782 { ! isEditMode && (
18061783 < StyledAlertMargin >
@@ -1950,73 +1927,7 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
19501927 dbModel = { dbModel }
19511928 />
19521929 { hasAlert && renderStepTwoAlert ( ) }
1953- < DatabaseConnectionForm
1954- db = { db }
1955- sslForced = { sslForced }
1956- dbModel = { dbModel }
1957- onAddTableCatalog = { ( ) => {
1958- setDB ( { type : ActionType . addTableCatalogSheet } ) ;
1959- } }
1960- onQueryChange = { ( { target } : { target : HTMLInputElement } ) =>
1961- onChange ( ActionType . queryChange , {
1962- name : target . name ,
1963- value : target . value ,
1964- } )
1965- }
1966- onExtraInputChange = { ( {
1967- target,
1968- } : {
1969- target : HTMLInputElement ;
1970- } ) =>
1971- onChange ( ActionType . extraInputChange , {
1972- name : target . name ,
1973- value : target . value ,
1974- } )
1975- }
1976- onRemoveTableCatalog = { ( idx : number ) => {
1977- setDB ( {
1978- type : ActionType . removeTableCatalogSheet ,
1979- payload : { indexToDelete : idx } ,
1980- } ) ;
1981- } }
1982- onParametersChange = { ( {
1983- target,
1984- } : {
1985- target : HTMLInputElement ;
1986- } ) =>
1987- onChange ( ActionType . parametersChange , {
1988- type : target . type ,
1989- name : target . name ,
1990- checked : target . checked ,
1991- value : target . value ,
1992- } )
1993- }
1994- onChange = { ( { target } : { target : HTMLInputElement } ) =>
1995- onChange ( ActionType . textChange , {
1996- name : target . name ,
1997- value : target . value ,
1998- } )
1999- }
2000- getValidation = { ( ) => getValidation ( db ) }
2001- validationErrors = { validationErrors }
2002- getPlaceholder = { getPlaceholder }
2003- />
2004- < SSHTunnelContainer >
2005- < SSHTunnelSwitchComponent
2006- isEditMode = { isEditMode }
2007- dbFetched = { dbFetched }
2008- disableSSHTunnelingForEngine = { disableSSHTunnelingForEngine }
2009- useSSHTunneling = { useSSHTunneling }
2010- setUseSSHTunneling = { setUseSSHTunneling }
2011- setDB = { setDB }
2012- isSSHTunneling = { isSSHTunneling }
2013- />
2014- </ SSHTunnelContainer >
2015- { useSSHTunneling && (
2016- < SSHTunnelContainer >
2017- { renderSSHTunnelForm ( ) }
2018- </ SSHTunnelContainer >
2019- ) }
1930+ { renderDatabaseConnectionForm ( ) }
20201931 < div css = { ( theme : SupersetTheme ) => infoTooltip ( theme ) } >
20211932 { dbModel . engine !== Engines . GSheet && (
20221933 < >
0 commit comments