@@ -146,15 +146,16 @@ class AdHocConnectionSchema extends BaseUISchema {
146146 self . flatServers , ( s ) => s . value == state . sid
147147 ) ;
148148 return {
149- server_name : selectedServer ?. label ,
149+ server_name : null ,
150150 did : null ,
151151 user : null ,
152152 role : null ,
153153 sid : null ,
154- host : selectedServer ?. host ,
155- port : selectedServer ?. port ,
156- service : selectedServer ?. service ,
157- connection_params : selectedServer ?. connection_params ,
154+ host : null ,
155+ port : null ,
156+ service : null ,
157+ connection_params : null ,
158+ password : null ,
158159 connected : selectedServer ?. connected
159160 } ;
160161 } ,
@@ -165,13 +166,13 @@ class AdHocConnectionSchema extends BaseUISchema {
165166 if ( sid && ! _ . find ( self . flatServers , ( s ) => s . value == sid ) ?. connected ) {
166167 this . connectExistingServer ( sid , state . user , null , ( data ) => {
167168 self . setServerConnected ( sid , data . icon ) ;
168- resolve ( ( ) => ( { sid : sid , host : selectedServer ?. host ,
169+ resolve ( ( ) => ( { sid : sid , server_name : selectedServer ?. label , host : selectedServer ?. host ,
169170 port : selectedServer ?. port , service : selectedServer ?. service ,
170171 connection_params : selectedServer ?. connection_params , connected : true
171172 } ) ) ;
172173 } ) ;
173174 } else {
174- resolve ( ( ) => ( { sid : sid , host : selectedServer ?. host ,
175+ resolve ( ( ) => ( { sid : sid , server_name : selectedServer ?. label , host : selectedServer ?. host ,
175176 port : selectedServer ?. port , service : selectedServer ?. service ,
176177 connection_params : selectedServer ?. connection_params , connected : true
177178 } ) ) ;
@@ -236,7 +237,12 @@ class AdHocConnectionSchema extends BaseUISchema {
236237 maxLength : null ,
237238 autoComplete : 'new-password'
238239 } ,
239- deps : [ 'sid' , 'connected' ] ,
240+ deps : [ 'sid' , 'did' , 'user' , 'role' ] ,
241+ depChange : ( state , source ) => {
242+ if ( source == 'sid' || source == 'did' || source == 'user' || source == 'role' ) {
243+ state . password = null ;
244+ }
245+ }
240246 } , {
241247 id : 'role' , label : gettext ( 'Role' ) , deps : [ 'sid' , 'connected' ] ,
242248 controlProps : { creatable : true } ,
@@ -433,19 +439,21 @@ export default function AdHocConnection({mode}) {
433439 } ;
434440
435441 const onSaveClick = async ( isNew , formData ) => {
442+ setConnecting ( true ) ;
436443 try {
437444 let { data : respData } = await api ( {
438445 method : 'POST' ,
439446 url : url_for ( 'workspace.adhoc_connect_server' ) ,
440447 data : JSON . stringify ( formData )
441448 } ) ;
442-
449+ setConnecting ( false ) ;
443450 if ( mode == 'Query Tool' ) {
444451 openQueryTool ( respData , formData ) ;
445452 } else if ( mode == 'PSQL' ) {
446453 openPSQLTool ( respData , formData ) ;
447454 }
448455 } catch ( error ) {
456+ setConnecting ( false ) ;
449457 if ( ! error . response ) {
450458 pgAdmin . Browser . notifier . pgNotifier ( 'error' , error , 'Connection error' , gettext ( 'Connect to server.' ) ) ;
451459 } else {
0 commit comments