Skip to content

Commit b33ab96

Browse files
committed
Move progress bar to cell part.
1 parent 30aa385 commit b33ab96

File tree

3 files changed

+24
-14
lines changed

3 files changed

+24
-14
lines changed

src/vs/workbench/contrib/notebook/browser/view/cellParts/cellProgressBar.ts

+23-10
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import { ProgressBar } from 'vs/base/browser/ui/progressbar/progressbar';
7-
import { Disposable } from 'vs/base/common/lifecycle';
7+
import { ICellViewModel, CellViewModelStateChangeEvent } from 'vs/workbench/contrib/notebook/browser/notebookBrowser';
8+
import { CellPart } from 'vs/workbench/contrib/notebook/browser/view/cellParts/cellPart';
89
import { CodeCellViewModel } from 'vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel';
910
import { NotebookCellExecutionState, NotebookCellInternalMetadata } from 'vs/workbench/contrib/notebook/common/notebookCommon';
1011

11-
export class CellProgressBar extends Disposable {
12+
export class CellProgressBar extends CellPart {
1213
private readonly _progressBar: ProgressBar;
1314
private readonly _collapsedProgressBar: ProgressBar;
1415

@@ -24,16 +25,19 @@ export class CellProgressBar extends Disposable {
2425
this._collapsedProgressBar.hide();
2526
}
2627

27-
updateForInternalMetadata(element: CodeCellViewModel, internalMetadata: NotebookCellInternalMetadata): void {
28-
const progressBar = element.isInputCollapsed ? this._collapsedProgressBar : this._progressBar;
29-
if (internalMetadata.runState === NotebookCellExecutionState.Executing && !internalMetadata.isPaused) {
30-
showProgressBar(progressBar);
31-
} else {
32-
progressBar.hide();
33-
}
28+
prepareLayout(): void {
29+
// nothing to read
3430
}
3531

36-
updateForCellState(element: CodeCellViewModel): void {
32+
updateLayoutNow(element: ICellViewModel): void {
33+
// nothing to update
34+
}
35+
36+
updateState(element: ICellViewModel, e: CellViewModelStateChangeEvent): void {
37+
if (!e.inputCollapsedChanged) {
38+
return;
39+
}
40+
3741
if (element.isInputCollapsed) {
3842
this._progressBar.hide();
3943
if (element.internalMetadata.runState === NotebookCellExecutionState.Executing) {
@@ -46,6 +50,15 @@ export class CellProgressBar extends Disposable {
4650
}
4751
}
4852
}
53+
54+
updateForInternalMetadata(element: CodeCellViewModel, internalMetadata: NotebookCellInternalMetadata): void {
55+
const progressBar = element.isInputCollapsed ? this._collapsedProgressBar : this._progressBar;
56+
if (internalMetadata.runState === NotebookCellExecutionState.Executing && !internalMetadata.isPaused) {
57+
showProgressBar(progressBar);
58+
} else {
59+
progressBar.hide();
60+
}
61+
}
4962
}
5063

5164
function showProgressBar(progressBar: ProgressBar): void {

src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.ts

-4
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,6 @@ export class CodeCell extends Disposable {
6565
this.updateForOutputHover();
6666
}
6767

68-
if (e.inputCollapsedChanged) {
69-
this.templateData.progressBar.updateForCellState(this.viewCell);
70-
}
71-
7268
if (e.outputIsFocusedChanged) {
7369
this.updateForOutputFocus();
7470
}

src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.ts

+1
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,7 @@ export class CodeCellRenderer extends AbstractCellRenderer implements IListRende
665665
templateData.focusIndicator,
666666
templateData.betweenCellToolbar,
667667
templateData.statusBar,
668+
templateData.progressBar,
668669
cellEditorOptions
669670
]));
670671
this.renderedEditors.set(element, templateData.editor);

0 commit comments

Comments
 (0)