@@ -331,6 +331,30 @@ define('pgadmin.node.server', [
331331
332332 return false ;
333333 } ,
334+ /* Refresh the server */
335+ refresh : function ( args , i ) {
336+ let obj = this ,
337+ tree = pgBrowser . tree ,
338+ item = i || tree . selected ( ) ,
339+ data = item && tree . itemData ( item ) ;
340+ // Fetch connection status.
341+ fetch_connection_status ( obj , data , tree , item ) ;
342+ setTimeout ( function ( ) {
343+ pgAdmin . Browser . Node . callbacks . refresh . apply ( obj , [ null , item ] ) ;
344+ } , 10 ) ;
345+ // Fetch Node and check if the server is connected or not.
346+ const url = obj . generate_url ( item , 'nodes' , data , true ) ;
347+ getApiInstance ( ) . get ( url )
348+ . then ( ( { data : { result } } ) => {
349+ if ( ! result . connected ) {
350+ setTimeout ( function ( ) {
351+ tree . close ( item ) ;
352+ } , 10 ) ;
353+ tree . setInode ( item ) ;
354+ }
355+ } )
356+ . catch ( ( error ) => pgAdmin . Browser . notifier . pgRespErrorNotify ( error ) ) ;
357+ } ,
334358 /* Add restore point */
335359 restore_point : function ( args ) {
336360 let input = args || { } ,
@@ -778,7 +802,6 @@ define('pgadmin.node.server', [
778802
779803 getApiInstance ( ) . get ( url )
780804 . then ( ( { data : res } ) => {
781- tree . setInode ( item ) ;
782805 if ( res ?. data ) {
783806 if ( typeof res . data . icon == 'string' ) {
784807 tree . removeIcon ( item ) ;
0 commit comments