4
4
*--------------------------------------------------------------------------------------------*/
5
5
6
6
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' ;
8
9
import { CodeCellViewModel } from 'vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel' ;
9
10
import { NotebookCellExecutionState , NotebookCellInternalMetadata } from 'vs/workbench/contrib/notebook/common/notebookCommon' ;
10
11
11
- export class CellProgressBar extends Disposable {
12
+ export class CellProgressBar extends CellPart {
12
13
private readonly _progressBar : ProgressBar ;
13
14
private readonly _collapsedProgressBar : ProgressBar ;
14
15
@@ -24,16 +25,19 @@ export class CellProgressBar extends Disposable {
24
25
this . _collapsedProgressBar . hide ( ) ;
25
26
}
26
27
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
34
30
}
35
31
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
+
37
41
if ( element . isInputCollapsed ) {
38
42
this . _progressBar . hide ( ) ;
39
43
if ( element . internalMetadata . runState === NotebookCellExecutionState . Executing ) {
@@ -46,6 +50,15 @@ export class CellProgressBar extends Disposable {
46
50
}
47
51
}
48
52
}
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
+ }
49
62
}
50
63
51
64
function showProgressBar ( progressBar : ProgressBar ) : void {
0 commit comments