Skip to content

Commit bc735af

Browse files
author
guqiankun.gqk
committed
fix: titleMenu cache
1 parent 4c01e84 commit bc735af

2 files changed

Lines changed: 25 additions & 5 deletions

File tree

packages/acr/src/modules/merge-request/changes-tree/changes-tree.contribution.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { Autowired } from '@opensumi/di';
2-
import { Disposable } from '@opensumi/ide-core-common';
32
import {
43
ClientAppContribution,
54
CommandContribution,
@@ -13,7 +12,7 @@ import {
1312
IRange,
1413
} from '@opensumi/ide-core-browser';
1514
import { IMenuRegistry, MenuId, MenuContribution } from '@opensumi/ide-core-browser/lib/menu/next';
16-
import { PreferenceScope } from '@opensumi/ide-core-common';
15+
import { PreferenceScope, Disposable } from '@opensumi/ide-core-common';
1716

1817
import { IAntcodeService } from '../../antcode-service/base';
1918
import { OpenChangeFilesService } from '../../open-change-files';

packages/acr/src/modules/merge-request/merge-request.contribution.ts

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
import { Domain, getIcon, localize, SlotLocation } from '@opensumi/ide-core-browser';
21
import {
2+
Domain,
3+
getIcon,
4+
SlotLocation,
35
ComponentContribution,
46
ComponentRegistry,
57
ClientAppContribution,
8+
WithEventBus,
69
} from '@opensumi/ide-core-browser';
710
import { Autowired } from '@opensumi/di';
811

@@ -13,10 +16,13 @@ import { WebSCMView } from './web-scm';
1316
import { MenuContribution, IMenuRegistry } from '@opensumi/ide-core-browser/lib/menu/next';
1417
import { LayoutState, LAYOUT_STATE } from '@opensumi/ide-core-browser/lib/layout/layout-state';
1518
import { IMainLayoutService } from '@opensumi/ide-main-layout';
16-
19+
import { disposableCollection } from '@alipay/alex/lib/core/patch';
20+
import { AccordionService } from '@opensumi/ide-main-layout/lib/browser/accordion/accordion.service';
21+
import { WebSCMViewId } from './web-scm/common';
22+
import { ChangesTreeViewId } from './changes-tree/common';
1723
@Domain(ComponentContribution, MenuContribution, ClientAppContribution)
18-
// @ts-ignore
1924
export class MergeRequestContribution
25+
extends WithEventBus
2026
implements ComponentContribution, MenuContribution, ClientAppContribution
2127
{
2228
@Autowired(IMainLayoutService)
@@ -38,6 +44,7 @@ export class MergeRequestContribution
3844
}
3945

4046
onDidStart() {
47+
// 重新载入会导致组件未注册 临时修复
4148
const tabbarService = this.layoutService.getTabbarService(SlotLocation.left);
4249
const componentRegistry =
4350
this.componentRegistry.getComponentRegistryInfo(MergeRequestExplorerId);
@@ -56,6 +63,20 @@ export class MergeRequestContribution
5663
}
5764
this.layoutService.toggleSlot(SlotLocation.left, show, size);
5865
}
66+
// 重新载入 titleMenu有缓存 需将其重置
67+
disposableCollection.push((injector) => {
68+
const accordionService: AccordionService = injector
69+
.get(IMainLayoutService)
70+
.getAccordionService(MergeRequestExplorerId);
71+
const views = accordionService.visibleViews.filter(
72+
(view) => view.id === WebSCMViewId || view.id === ChangesTreeViewId
73+
);
74+
if (views.length) {
75+
views.forEach((view) => (view.titleMenu = undefined));
76+
}
77+
accordionService.disposeView(WebSCMViewId);
78+
accordionService.disposeView(ChangesTreeViewId);
79+
});
5980
}
6081

6182
registerMenus(menus: IMenuRegistry) {

0 commit comments

Comments
 (0)