diff --git a/webapp/packages/core-app/src/shared/NodesManager/ConnectionDialogsService.ts b/webapp/packages/core-app/src/shared/NodesManager/ConnectionDialogsService.ts index 518be18daf..006bf32a81 100644 --- a/webapp/packages/core-app/src/shared/NodesManager/ConnectionDialogsService.ts +++ b/webapp/packages/core-app/src/shared/NodesManager/ConnectionDialogsService.ts @@ -46,6 +46,7 @@ export class ConnectionDialogsService { order: 2, title: 'app_shared_connectionMenu_disconnect', onClick: () => this.connectionsManagerService.closeAllConnections(), + isDisabled: () => !this.connectionsManagerService.hasAnyConnection(true), } ); diff --git a/webapp/packages/core-connections/src/ConnectionsManagerService.ts b/webapp/packages/core-connections/src/ConnectionsManagerService.ts index aa3b499bb9..48184d2187 100644 --- a/webapp/packages/core-connections/src/ConnectionsManagerService.ts +++ b/webapp/packages/core-connections/src/ConnectionsManagerService.ts @@ -83,7 +83,10 @@ export class ConnectionsManagerService { await this.afterConnectionClose(id); } - hasAnyConnection(): boolean { + hasAnyConnection(connected?: boolean): boolean { + if (connected) { + return Array.from(this.connectionInfo.data.values()).some(connection => connection.connected); + } return !!Array.from(this.connectionInfo.data.values()).length; }