@@ -403,6 +403,17 @@ class ViewModel {
403403 get mode ( ) : ViewModelMode { return this . _mode ; }
404404 set mode ( mode : ViewModelMode ) {
405405 this . _mode = mode ;
406+
407+ for ( const item of this . items ) {
408+ item . tree . clear ( ) ;
409+
410+ if ( mode === ViewModelMode . Tree ) {
411+ for ( const resource of item . resources ) {
412+ item . tree . add ( resource . sourceUri , resource ) ;
413+ }
414+ }
415+ }
416+
406417 this . refresh ( ) ;
407418 this . _onDidChangeMode . fire ( mode ) ;
408419 }
@@ -432,10 +443,12 @@ class ViewModel {
432443 group . onDidSplice ( splice => this . onDidSpliceGroup ( item , splice ) )
433444 ) ;
434445
435- const item = { group, resources, tree, disposable } ;
446+ const item : IGroupItem = { group, resources, tree, disposable } ;
436447
437- for ( const resource of resources ) {
438- item . tree . add ( resource . sourceUri , resource ) ;
448+ if ( this . _mode === ViewModelMode . Tree ) {
449+ for ( const resource of resources ) {
450+ item . tree . add ( resource . sourceUri , resource ) ;
451+ }
439452 }
440453
441454 itemsToInsert . push ( item ) ;
@@ -451,14 +464,18 @@ class ViewModel {
451464 }
452465
453466 private onDidSpliceGroup ( item : IGroupItem , { start, deleteCount, toInsert } : ISplice < ISCMResource > ) : void {
454- for ( const resource of toInsert ) {
455- item . tree . add ( resource . sourceUri , resource ) ;
467+ if ( this . _mode === ViewModelMode . Tree ) {
468+ for ( const resource of toInsert ) {
469+ item . tree . add ( resource . sourceUri , resource ) ;
470+ }
456471 }
457472
458473 const deleted = item . resources . splice ( start , deleteCount , ...toInsert ) ;
459474
460- for ( const resource of deleted ) {
461- item . tree . delete ( resource . sourceUri ) ;
475+ if ( this . _mode === ViewModelMode . Tree ) {
476+ for ( const resource of deleted ) {
477+ item . tree . delete ( resource . sourceUri ) ;
478+ }
462479 }
463480
464481 this . refresh ( item ) ;
0 commit comments