33 * Licensed under the MIT License. See License.txt in the project root for license information.
44 *--------------------------------------------------------------------------------------------*/
55
6- import { ViewContainer , IViewsRegistry , IViewDescriptor , Extensions as ViewExtensions , IViewContainerModel , IAddedViewDescriptorRef , IViewDescriptorRef } from 'vs/workbench/common/views' ;
6+ import { ViewContainer , IViewsRegistry , IViewDescriptor , Extensions as ViewExtensions , IViewContainerModel , IAddedViewDescriptorRef , IViewDescriptorRef , IAddedViewDescriptorState } from 'vs/workbench/common/views' ;
77import { IContextKeyService , IReadableSet } from 'vs/platform/contextkey/common/contextkey' ;
88import { IStorageService , StorageScope , IWorkspaceStorageChangeEvent } from 'vs/platform/storage/common/storage' ;
99import { Registry } from 'vs/platform/registry/common/platform' ;
@@ -461,12 +461,13 @@ export class ViewContainerModel extends Disposable implements IViewContainerMode
461461 } ) ;
462462 }
463463
464- add ( viewDescriptors : IViewDescriptor [ ] ) : void {
464+ add ( addedViewDescriptorStates : IAddedViewDescriptorState [ ] ) : void {
465465 const addedItems : IViewDescriptorItem [ ] = [ ] ;
466466 const addedActiveDescriptors : IViewDescriptor [ ] = [ ] ;
467467 const addedVisibleItems : { index : number , viewDescriptor : IViewDescriptor , size ?: number , collapsed : boolean ; } [ ] = [ ] ;
468468
469- for ( const viewDescriptor of viewDescriptors ) {
469+ for ( const addedViewDescriptorState of addedViewDescriptorStates ) {
470+ const viewDescriptor = addedViewDescriptorState . viewDescriptor ;
470471
471472 if ( viewDescriptor . when ) {
472473 for ( const key of viewDescriptor . when . keys ( ) ) {
@@ -482,13 +483,13 @@ export class ViewContainerModel extends Disposable implements IViewContainerMode
482483 } else {
483484 state . visibleGlobal = isUndefinedOrNull ( state . visibleGlobal ) ? ! viewDescriptor . hideByDefault : state . visibleGlobal ;
484485 }
485- state . collapsed = isUndefinedOrNull ( state . collapsed ) ? ! ! viewDescriptor . collapsed : state . collapsed ;
486+ state . collapsed = isUndefinedOrNull ( addedViewDescriptorState . collapsed ) ? ( isUndefinedOrNull ( state . collapsed ) ? ! ! viewDescriptor . collapsed : state . collapsed ) : addedViewDescriptorState . collapsed ;
486487 } else {
487488 state = {
488489 active : false ,
489490 visibleGlobal : ! viewDescriptor . hideByDefault ,
490491 visibleWorkspace : ! viewDescriptor . hideByDefault ,
491- collapsed : ! ! viewDescriptor . collapsed ,
492+ collapsed : isUndefinedOrNull ( addedViewDescriptorState . collapsed ) ? ! ! viewDescriptor . collapsed : addedViewDescriptorState . collapsed ,
492493 } ;
493494 }
494495 this . viewDescriptorsState . set ( viewDescriptor . id , state ) ;
0 commit comments