File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed
src/vs/workbench/browser/parts/views Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -151,6 +151,8 @@ export class CustomTreeView extends Disposable implements ITreeView {
151
151
private readonly _onDidChangeTitle : Emitter < string > = this . _register ( new Emitter < string > ( ) ) ;
152
152
readonly onDidChangeTitle : Event < string > = this . _onDidChangeTitle . event ;
153
153
154
+ private readonly _onDidCompleteRefresh : Emitter < void > = this . _register ( new Emitter < void > ( ) ) ;
155
+
154
156
constructor (
155
157
private id : string ,
156
158
private _title : string ,
@@ -500,8 +502,11 @@ export class CustomTreeView extends Disposable implements ITreeView {
500
502
return 0 ;
501
503
}
502
504
503
- refresh ( elements ?: ITreeItem [ ] ) : Promise < void > {
505
+ async refresh ( elements ?: ITreeItem [ ] ) : Promise < void > {
504
506
if ( this . dataProvider && this . tree ) {
507
+ if ( this . refreshing ) {
508
+ await Event . toPromise ( this . _onDidCompleteRefresh . event ) ;
509
+ }
505
510
if ( ! elements ) {
506
511
elements = [ this . root ] ;
507
512
// remove all waiting elements to refresh if root is asked to refresh
@@ -526,7 +531,7 @@ export class CustomTreeView extends Disposable implements ITreeView {
526
531
}
527
532
}
528
533
}
529
- return Promise . resolve ( undefined ) ;
534
+ return undefined ;
530
535
}
531
536
532
537
async expand ( itemOrItems : ITreeItem | ITreeItem [ ] ) : Promise < void > {
@@ -578,6 +583,7 @@ export class CustomTreeView extends Disposable implements ITreeView {
578
583
this . refreshing = true ;
579
584
await Promise . all ( elements . map ( element => tree . updateChildren ( element , true , true ) ) ) ;
580
585
this . refreshing = false ;
586
+ this . _onDidCompleteRefresh . fire ( ) ;
581
587
this . updateContentAreas ( ) ;
582
588
if ( this . focused ) {
583
589
this . focus ( false ) ;
You can’t perform that action at this time.
0 commit comments