Notebook fixes: Fix #4129, fix #4116, Fix #3913, fix empty results error (#4150)

- Fixes #4129 Overlapping command help windows in notebook
  - Do not show parameter hints for inactive cells, to avoid them hanging around when no longer selected
- Fixes #4116 Notebooks: Intellisense Doesn't Work using Add New Connection
  - Move connect/disconnect logic to 1 place (code component) instead of 2
  - Handle the case where you connect after choosing active cell. We now hook to the event and update connection
- Fix issues in sql session manager where result outputs 0 rows. This was failing to show the empty resultset contents, which is a regression vs. query editor. It also put unhandled error on the debug console
- Fix #3913 Notebook: words selected in other cells should be unselected on cell change

Note: after fix, now looks as follows. Need to do follow up to get correct grid min height

![image](https://user-images.githubusercontent.com/10819925/53280226-9e629580-36cc-11e9-8f40-59cd913caeee.png)
This commit is contained in:
Kevin Cunnane
2019-02-25 10:52:07 -08:00
committed by GitHub
parent f2c9d968a4
commit 2ae369fbdb
4 changed files with 72 additions and 37 deletions

View File

@@ -134,7 +134,6 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe
}
ngOnDestroy() {
this.disconnect();
this.dispose();
if (this.notebookService) {
this.notebookService.removeNotebookEditor(this);
@@ -168,7 +167,6 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe
}
if (cell !== this.model.activeCell) {
if (this.model.activeCell) {
this.disconnect();
this.model.activeCell.active = false;
}
this._model.activeCell = cell;
@@ -177,14 +175,6 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe
}
}
private disconnect() {
if (this._model.defaultKernel.display_name === notebookConstants.SQL) {
if (this._model.activeCell && this._model.activeCell.cellType === CellTypes.Code && this._model.activeCell.cellUri) {
this.connectionManagementService.disconnect(this._model.activeCell.cellUri.toString()).catch(e => console.log(e));
}
}
}
public unselectActiveCell() {
if (this.model && this.model.activeCell) {
this.model.activeCell.active = false;