66import { IAction } from '../../../../base/common/actions.js' ;
77import { equals } from '../../../../base/common/arrays.js' ;
88import { Emitter } from '../../../../base/common/event.js' ;
9- import { DisposableStore , IDisposable , MutableDisposable , dispose } from '../../../../base/common/lifecycle.js' ;
9+ import { DisposableStore , IDisposable , dispose } from '../../../../base/common/lifecycle.js' ;
1010import './media/scm.css' ;
1111import { localize } from '../../../../nls.js' ;
1212import { getActionBarActions } from '../../../../platform/actions/browser/menuEntryActionViewItem.js' ;
@@ -70,14 +70,13 @@ interface IContextualResourceMenuItem {
7070
7171class SCMMenusItem implements IDisposable {
7272
73- private readonly _resourceGroupMenu = new MutableDisposable < IMenu > ( ) ;
73+ private _resourceGroupMenu : IMenu | undefined ;
7474 get resourceGroupMenu ( ) : IMenu {
75- const contextKeyService = this . contextKeyService . createOverlay ( [
76- [ 'scmResourceGroupResourceCount' , this . group . resources . length ] ,
77- ] ) ;
75+ if ( ! this . _resourceGroupMenu ) {
76+ this . _resourceGroupMenu = this . menuService . createMenu ( MenuId . SCMResourceGroupContext , this . contextKeyService ) ;
77+ }
7878
79- this . _resourceGroupMenu . value = this . menuService . createMenu ( MenuId . SCMResourceGroupContext , contextKeyService ) ;
80- return this . _resourceGroupMenu . value ;
79+ return this . _resourceGroupMenu ;
8180 }
8281
8382 private _resourceFolderMenu : IMenu | undefined ;
@@ -93,9 +92,8 @@ class SCMMenusItem implements IDisposable {
9392 private contextualResourceMenus : Map < string /* contextValue */ , IContextualResourceMenuItem > | undefined ;
9493
9594 constructor (
96- private readonly group : ISCMResourceGroup ,
97- private readonly contextKeyService : IContextKeyService ,
98- private readonly menuService : IMenuService
95+ private contextKeyService : IContextKeyService ,
96+ private menuService : IMenuService
9997 ) { }
10098
10199 getResourceMenu ( resource : ISCMResource ) : IMenu {
@@ -208,7 +206,7 @@ export class SCMRepositoryMenus implements ISCMRepositoryMenus, IDisposable {
208206 [ 'multiDiffEditorEnableViewChanges' , group . multiDiffEditorEnableViewChanges ] ,
209207 ] ) ;
210208
211- result = new SCMMenusItem ( group , contextKeyService , this . menuService ) ;
209+ result = new SCMMenusItem ( contextKeyService , this . menuService ) ;
212210 this . resourceGroupMenusItems . set ( group , result ) ;
213211 }
214212
0 commit comments