diff --git a/webapp/packages/core/src/app/TopNavBar/ConnectionSchemaManager/ConnectionSchemaManagerService.ts b/webapp/packages/core/src/app/TopNavBar/ConnectionSchemaManager/ConnectionSchemaManagerService.ts index 4053d4fc02..fb8ee84671 100644 --- a/webapp/packages/core/src/app/TopNavBar/ConnectionSchemaManager/ConnectionSchemaManagerService.ts +++ b/webapp/packages/core/src/app/TopNavBar/ConnectionSchemaManager/ConnectionSchemaManagerService.ts @@ -180,7 +180,7 @@ export class ConnectionSchemaManagerService { try { await this.connectionsManagerService.loadConnectionInfoAsync(connectionId); } catch (exception) { - this.notificationService.logException(exception, 'Can\'t load connection info'); + this.notificationService.logException(exception, 'Can\'t load connection info', true); } try { diff --git a/webapp/packages/core/src/app/TopNavBar/ConnectionSchemaManager/ConnectionSelector/ConnectionSelectorController.ts b/webapp/packages/core/src/app/TopNavBar/ConnectionSchemaManager/ConnectionSelector/ConnectionSelectorController.ts index 109951fe86..5b47cff2ec 100644 --- a/webapp/packages/core/src/app/TopNavBar/ConnectionSchemaManager/ConnectionSelector/ConnectionSelectorController.ts +++ b/webapp/packages/core/src/app/TopNavBar/ConnectionSchemaManager/ConnectionSelector/ConnectionSelectorController.ts @@ -41,7 +41,7 @@ export class ConnectionSelectorController { } get isConnectionSelectorVisible() { - return !!this.connectionSelectorService.currentConnectionId; + return !!this.currentConnection; } get isObjectContainerSelectorVisible() { return !!this.connectionSelectorService.currentObjectCatalogId diff --git a/webapp/packages/core/src/app/shared/ConnectionsManager/ConnectionsManagerService.ts b/webapp/packages/core/src/app/shared/ConnectionsManager/ConnectionsManagerService.ts index c7655e4cc4..6ccb99dd79 100644 --- a/webapp/packages/core/src/app/shared/ConnectionsManager/ConnectionsManagerService.ts +++ b/webapp/packages/core/src/app/shared/ConnectionsManager/ConnectionsManagerService.ts @@ -173,22 +173,27 @@ export class ConnectionsManagerService { } async closeNavNodeConnectionAsync(navNodeId: string): Promise { - const node = this.navNodeManagerService.getNode(navNodeId); - if (!node) { + const connectionId = NodeManagerUtils.connectionNodeIdToConnectionId(navNodeId); + const connection = this.getConnectionById(connectionId); + if (!connection) { return; } try { - const connectionId = NodeManagerUtils.connectionNodeIdToConnectionId(navNodeId); await this.graphQLService.gql.closeConnection({ id: connectionId }); await this.afterConnectionClose(connectionId); await this.connectionInfo.refresh(true, { connectionId, close: true }); - if (node.objectFeatures.includes('dataSourceTemporary')) { + if (connection.features.includes(EConnectionFeature.temporary)) { + const node = this.navNodeManagerService.getNode(navNodeId); + if (!node) { + return; + } + await this.navNodeManagerService.refreshTree(node.parentId); } else { await this.navNodeManagerService.refreshNode(navNodeId); + await this.navNodeManagerService.removeTree(navNodeId); } - await this.navNodeManagerService.removeTree(navNodeId); } catch (exception) { this.notificationService.logException(exception, `Can't close connection: ${navNodeId}`); }