Skip to content

Commit 962cfd3

Browse files
author
伊北
committed
PullRequest: 52 引入 alex 中的一些 patch 方法
1 parent bd8793b commit 962cfd3

2 files changed

Lines changed: 4 additions & 22 deletions

File tree

packages/acr/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"@alipay/yuyan-monitor-web": "^2.0.28"
2323
},
2424
"dependencies": {
25+
"@alipay/alex": "1.3.0",
2526
"@alipay/alex-core": "1.3.0",
2627
"@alipay/alex-shared": "1.3.0",
2728
"@alipay/geek-theme": "^1.6.0",

packages/acr/src/antcode-cr.tsx

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import { URI } from '@ali/ide-core-common';
55
import { join } from '@ali/ide-core-common/lib/path';
66
import { equals } from '@ali/ide-core-common/lib/arrays';
77
import { RuntimeConfig } from '@alipay/alex-core';
8-
9-
import { EditorDocumentModelServiceImpl } from '@ali/ide-editor/lib/browser/doc-model/editor-document-model-service';
8+
// internal patched
9+
import { disposeMode } from '@alipay/alex/lib/core/patch';
1010

1111
import { ConfigProvider } from 'antd';
1212

@@ -20,8 +20,6 @@ import { AntcodeService } from './modules/antcode-service';
2020
import { WorkspaceManagerService } from './modules/workspace/workspace-loader.service';
2121

2222
import { getLocale } from './utils/locale';
23-
import { IEditorDocumentModelService } from '@ali/ide-editor/lib/browser';
24-
import { EditorDocumentModel } from '@ali/ide-editor/lib/browser/doc-model/editor-document-model';
2523

2624
import styles from './styles.module.less';
2725
import { logPv } from './utils/tracert';
@@ -31,8 +29,6 @@ import { reportUserAccess } from './utils/monitor';
3129

3230
const { version } = require('../package.json');
3331

34-
let codeEditorService: any = null;
35-
3632
const AntcodeCR: React.FC<IAntcodeCRProps> = (props) => {
3733
const container$ = React.useRef<HTMLDivElement>(null);
3834
const injector$ = React.useRef<Injector>(null);
@@ -101,25 +97,10 @@ const AntcodeCR: React.FC<IAntcodeCRProps> = (props) => {
10197
return () => {
10298
const realInjector = injector$.current;
10399
if (realInjector) {
104-
// FIXME: 由于框架侧暂时没有实现 monaco model 的统一销毁,因此在集成侧处理掉
105-
const editorDocModelService = realInjector.get(
106-
IEditorDocumentModelService
107-
) as EditorDocumentModelServiceImpl;
108-
for (const instance of Array.from(
109-
editorDocModelService['_modelReferenceManager'].instances.values()
110-
) as EditorDocumentModel[]) {
111-
instance['monacoModel'].dispose();
112-
}
100+
disposeMode();
113101
realInjector.disposeAll();
114102
}
115103
ReactDOM.unmountComponentAtNode(container$!.current!);
116-
117-
if (codeEditorService) {
118-
// HACK: monaco StaticServices init 时会初始化一些服务,此处无法被 override
119-
// 而 DynamicStandaloneServices 处有 ensure 能被 override,因此手动清除缓存,
120-
// 避免 editor 再次 create 时引用的上一个 override 的服务
121-
codeEditorService._value = null;
122-
}
123104
};
124105
}, []);
125106

0 commit comments

Comments
 (0)