@opensumi/ide-outline 2.22.10 → 2.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/outline-node.js +1 -1
- package/lib/browser/outline.contribution.d.ts.map +1 -1
- package/lib/browser/outline.contribution.js +0 -1
- package/lib/browser/outline.contribution.js.map +1 -1
- package/lib/browser/outline.d.ts +2 -1
- package/lib/browser/outline.d.ts.map +1 -1
- package/lib/browser/outline.js +20 -5
- package/lib/browser/outline.js.map +1 -1
- package/lib/browser/services/outline-event.service.d.ts +12 -2
- package/lib/browser/services/outline-event.service.d.ts.map +1 -1
- package/lib/browser/services/outline-event.service.js +29 -6
- package/lib/browser/services/outline-event.service.js.map +1 -1
- package/lib/browser/services/outline-model.service.d.ts +8 -4
- package/lib/browser/services/outline-model.service.d.ts.map +1 -1
- package/lib/browser/services/outline-model.service.js +75 -52
- package/lib/browser/services/outline-model.service.js.map +1 -1
- package/lib/browser/services/outline-tree.service.d.ts +3 -0
- package/lib/browser/services/outline-tree.service.d.ts.map +1 -1
- package/lib/browser/services/outline-tree.service.js +3 -1
- package/lib/browser/services/outline-tree.service.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/outline-node.tsx +1 -1
- package/src/browser/outline.contribution.ts +0 -1
- package/src/browser/outline.tsx +33 -5
- package/src/browser/services/outline-event.service.ts +27 -7
- package/src/browser/services/outline-model.service.ts +86 -49
- package/src/browser/services/outline-tree.service.ts +3 -1
|
@@ -26,7 +26,7 @@ const OutlineNode = ({ item, defaultLeftPadding = 8, leftPadding = 8, onClick, o
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
-
const paddingLeft = `${defaultLeftPadding + (item.depth || 0) * (leftPadding || 0) + (!outline_node_define_1.OutlineCompositeTreeNode.is(item) ?
|
|
29
|
+
const paddingLeft = `${defaultLeftPadding + (item.depth || 0) * (leftPadding || 0) + (!outline_node_define_1.OutlineCompositeTreeNode.is(item) ? 12 : 0)}px`;
|
|
30
30
|
const editorNodeStyle = {
|
|
31
31
|
color: decoration ? decoration.color : '',
|
|
32
32
|
height: exports.OUTLINE_TREE_NODE_HEIGHT,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/outline.contribution.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,yBAAyB,EACzB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,sBAAsB,EAAsB,MAAM,2BAA2B,CAAC;AAQvF,qBACa,mBAAoB,YAAW,sBAAsB,EAAE,yBAAyB,EAAE,mBAAmB;IAEhH,OAAO,CAAC,iBAAiB,CAAqB;IAG9C,OAAO,CAAC,kBAAkB,CAAqB;IAG/C,OAAO,CAAC,uBAAuB,CAAsB;IAGrD,UAAU,EAAE,kBAAkB,CAAC;IAE/B,WAAW;IAYX,gBAAgB,CAAC,QAAQ,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"outline.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/outline.contribution.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,yBAAyB,EACzB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,sBAAsB,EAAsB,MAAM,2BAA2B,CAAC;AAQvF,qBACa,mBAAoB,YAAW,sBAAsB,EAAE,yBAAyB,EAAE,mBAAmB;IAEhH,OAAO,CAAC,iBAAiB,CAAqB;IAG9C,OAAO,CAAC,kBAAkB,CAAqB;IAG/C,OAAO,CAAC,uBAAuB,CAAsB;IAGrD,UAAU,EAAE,kBAAkB,CAAC;IAE/B,WAAW;IAYX,gBAAgB,CAAC,QAAQ,EAAE,eAAe;IA4D1C,oBAAoB,CAAC,QAAQ,EAAE,eAAe;CAoC/C"}
|
|
@@ -34,7 +34,6 @@ let OutlineContribution = class OutlineContribution {
|
|
|
34
34
|
registry.registerCommand({
|
|
35
35
|
id: ide_core_browser_1.OUTLINE_COMMANDS.OUTLINE_FOLLOW_CURSOR.id,
|
|
36
36
|
iconClass: (0, ide_core_browser_2.getIcon)('follow-cursor'),
|
|
37
|
-
toogleIconClass: (0, ide_core_browser_2.getIcon)('follow-cursor', { fill: true }),
|
|
38
37
|
label: (0, ide_core_browser_1.localize)('outline.follow.cursor'),
|
|
39
38
|
}, {
|
|
40
39
|
execute: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.contribution.js","sourceRoot":"","sources":["../../src/browser/outline.contribution.ts"],"names":[],"mappings":";;;;AAAA,qCAAyC;AACzC,iEASoC;AACpC,iEAAqD;AACrD,0EAA+G;AAC/G,oGAAiG;AACjG,+DAAuF;AAEvF,sCAA8D;AAE9D,uCAAyC;AACzC,4EAAuE;AACvE,0EAAqE;AAG9D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAa9B,WAAW;QACT,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CACzC;YACE,SAAS,EAAE,sBAAY;YACvB,SAAS,EAAE,IAAI;YACf,EAAE,EAAE,wBAAe;YACnB,IAAI,EAAE,IAAA,2BAAQ,EAAC,eAAe,CAAC;SAChC,EACD,6CAAqB,CACtB,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACxC,QAAQ,CAAC,eAAe,CACtB;YACE,EAAE,EAAE,mCAAgB,CAAC,oBAAoB,CAAC,EAAE;YAC5C,SAAS,EAAE,IAAA,0BAAO,EAAC,cAAc,CAAC;YAClC,KAAK,EAAE,IAAA,2BAAQ,EAAC,sBAAsB,CAAC;SACxC,EACD;YACE,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;YAC7C,CAAC;SACF,CACF,CAAC;QACF,QAAQ,CAAC,eAAe,CACtB;YACE,EAAE,EAAE,mCAAgB,CAAC,qBAAqB,CAAC,EAAE;YAC7C,SAAS,EAAE,IAAA,0BAAO,EAAC,eAAe,CAAC;YACnC,
|
|
1
|
+
{"version":3,"file":"outline.contribution.js","sourceRoot":"","sources":["../../src/browser/outline.contribution.ts"],"names":[],"mappings":";;;;AAAA,qCAAyC;AACzC,iEASoC;AACpC,iEAAqD;AACrD,0EAA+G;AAC/G,oGAAiG;AACjG,+DAAuF;AAEvF,sCAA8D;AAE9D,uCAAyC;AACzC,4EAAuE;AACvE,0EAAqE;AAG9D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAa9B,WAAW;QACT,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CACzC;YACE,SAAS,EAAE,sBAAY;YACvB,SAAS,EAAE,IAAI;YACf,EAAE,EAAE,wBAAe;YACnB,IAAI,EAAE,IAAA,2BAAQ,EAAC,eAAe,CAAC;SAChC,EACD,6CAAqB,CACtB,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACxC,QAAQ,CAAC,eAAe,CACtB;YACE,EAAE,EAAE,mCAAgB,CAAC,oBAAoB,CAAC,EAAE;YAC5C,SAAS,EAAE,IAAA,0BAAO,EAAC,cAAc,CAAC;YAClC,KAAK,EAAE,IAAA,2BAAQ,EAAC,sBAAsB,CAAC;SACxC,EACD;YACE,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;YAC7C,CAAC;SACF,CACF,CAAC;QACF,QAAQ,CAAC,eAAe,CACtB;YACE,EAAE,EAAE,mCAAgB,CAAC,qBAAqB,CAAC,EAAE;YAC7C,SAAS,EAAE,IAAA,0BAAO,EAAC,eAAe,CAAC;YACnC,KAAK,EAAE,IAAA,2BAAQ,EAAC,uBAAuB,CAAC;SACzC,EACD;YACE,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;YAC/E,CAAC;SACF,CACF,CAAC;QACF,QAAQ,CAAC,eAAe,CACtB;YACE,EAAE,EAAE,mCAAgB,CAAC,iBAAiB,CAAC,EAAE;YACzC,KAAK,EAAE,IAAA,2BAAQ,EAAC,mBAAmB,CAAC;SACrC,EACD;YACE,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,kCAA0B,CAAC;YAC7D,CAAC;SACF,CACF,CAAC;QACF,QAAQ,CAAC,eAAe,CACtB;YACE,EAAE,EAAE,mCAAgB,CAAC,iBAAiB,CAAC,EAAE;YACzC,KAAK,EAAE,IAAA,2BAAQ,EAAC,mBAAmB,CAAC;SACrC,EACD;YACE,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,kCAA0B,CAAC;YAC7D,CAAC;SACF,CACF,CAAC;QACF,QAAQ,CAAC,eAAe,CACtB;YACE,EAAE,EAAE,mCAAgB,CAAC,qBAAqB,CAAC,EAAE;YAC7C,KAAK,EAAE,IAAA,2BAAQ,EAAC,uBAAuB,CAAC;SACzC,EACD;YACE,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,sCAA8B,CAAC;YACjE,CAAC;SACF,CACF,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,QAAyB;QAC5C,QAAQ,CAAC,YAAY,CAAC;YACpB,EAAE,EAAE,8BAA8B;YAClC,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,mCAAgB,CAAC,qBAAqB,CAAC,EAAE;YAClD,KAAK,EAAE,IAAA,2BAAQ,EAAC,uBAAuB,CAAC;YACxC,WAAW,EAAE,uCAA0B,CAAC,GAAG;SAC5C,CAAC,CAAC;QACH,QAAQ,CAAC,YAAY,CAAC;YACpB,EAAE,EAAE,6BAA6B;YACjC,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,mCAAgB,CAAC,oBAAoB,CAAC,EAAE;YACjD,KAAK,EAAE,IAAA,2BAAQ,EAAC,sBAAsB,CAAC;SACxC,CAAC,CAAC;QACH,QAAQ,CAAC,YAAY,CAAC;YACpB,EAAE,EAAE,wBAAwB;YAC5B,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,mCAAgB,CAAC,iBAAiB,CAAC,EAAE;YAC9C,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,GAAG,mCAAsB,CAAC,GAAG,OAAO,+BAAuB,EAAE;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,YAAY,CAAC;YACpB,EAAE,EAAE,wBAAwB;YAC5B,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,mCAAgB,CAAC,iBAAiB,CAAC,EAAE;YAC9C,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,GAAG,mCAAsB,CAAC,GAAG,OAAO,+BAAuB,EAAE;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,YAAY,CAAC;YACpB,EAAE,EAAE,4BAA4B;YAChC,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,mCAAgB,CAAC,qBAAqB,CAAC,EAAE;YAClD,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,GAAG,mCAAsB,CAAC,GAAG,OAAO,mCAA2B,EAAE;SAC/E,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAxHC;IAAC,IAAA,cAAS,EAAC,oCAAkB,CAAC;;8DACgB;AAE9C;IAAC,IAAA,cAAS,GAAE;sCACgB,yCAAkB;+DAAC;AAE/C;IAAC,IAAA,cAAS,GAAE;sCACqB,2CAAmB;oEAAC;AAErD;IAAC,IAAA,cAAS,EAAC,qCAAkB,CAAC;;uDACC;AAXpB,mBAAmB;IAD/B,IAAA,yBAAM,EAAC,wCAAsB,EAAE,4CAAyB,EAAE,sCAAmB,CAAC;GAClE,mBAAmB,CAyH/B;AAzHY,kDAAmB"}
|
package/lib/browser/outline.d.ts
CHANGED
|
@@ -8,11 +8,12 @@ export declare const OutlinePanel: ({ viewState }: React.PropsWithChildren<{
|
|
|
8
8
|
}>) => JSX.Element;
|
|
9
9
|
interface IOutlineTreeViewProps {
|
|
10
10
|
height: number;
|
|
11
|
+
loading: boolean;
|
|
11
12
|
model?: OutlineTreeModel;
|
|
12
13
|
onDidTreeReady(handle: IRecycleTreeHandle): void;
|
|
13
14
|
onItemClick(ev: MouseEvent, item: OutlineTreeNode | OutlineCompositeTreeNode, type: TreeNodeType): void;
|
|
14
15
|
onTwistierClick(ev: MouseEvent, item: OutlineTreeNode | OutlineCompositeTreeNode): void;
|
|
15
16
|
}
|
|
16
|
-
export declare const OutlineTreeView: React.MemoExoticComponent<({ height, model, onItemClick, onTwistierClick, onDidTreeReady }: IOutlineTreeViewProps) => JSX.Element>;
|
|
17
|
+
export declare const OutlineTreeView: React.MemoExoticComponent<({ height, model, onItemClick, onTwistierClick, onDidTreeReady, loading }: IOutlineTreeViewProps) => JSX.Element>;
|
|
17
18
|
export {};
|
|
18
19
|
//# sourceMappingURL=outline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../src/browser/outline.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../src/browser/outline.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EACZ,iBAAiB,EAGjB,UAAU,EAKX,MAAM,OAAO,CAAC;AAEf,OAAO,EAAe,kBAAkB,EAA0B,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACjH,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAMvD,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,eAAO,MAAM,YAAY;eAAkD,SAAS;kBA2GnF,CAAC;AAEF,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,GAAG,wBAAwB,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IACxG,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,GAAG,wBAAwB,GAAG,IAAI,CAAC;CACzF;AAED,eAAO,MAAM,eAAe,uGACiD,qBAAqB,iBAyCjG,CAAC"}
|
package/lib/browser/outline.js
CHANGED
|
@@ -2,20 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OutlineTreeView = exports.OutlinePanel = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
|
|
5
6
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
7
|
const ide_components_1 = require("@opensumi/ide-components");
|
|
7
8
|
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
9
|
+
const progress_bar_1 = require("@opensumi/ide-core-browser/lib/progress/progress-bar");
|
|
8
10
|
const react_hooks_1 = require("@opensumi/ide-core-browser/lib/react-hooks");
|
|
9
11
|
const outline_node_1 = require("./outline-node");
|
|
10
12
|
const outline_module_less_1 = tslib_1.__importDefault(require("./outline.module.less"));
|
|
11
13
|
const outline_model_service_1 = require("./services/outline-model.service");
|
|
12
14
|
const OutlinePanel = ({ viewState }) => {
|
|
13
|
-
const [model, setModel] = (0, react_1.useState)();
|
|
14
15
|
const { height } = viewState;
|
|
15
16
|
const wrapperRef = (0, react_1.createRef)();
|
|
16
17
|
const outlineModelService = (0, react_hooks_1.useInjectable)(outline_model_service_1.OutlineModelService);
|
|
18
|
+
const [model, setModel] = (0, react_1.useState)(undefined);
|
|
17
19
|
const handleTreeReady = (0, react_1.useCallback)((handle) => {
|
|
18
|
-
outlineModelService.handleTreeHandler(Object.assign(Object.assign({}, handle), {
|
|
20
|
+
outlineModelService.handleTreeHandler(Object.assign(Object.assign({}, handle), { hasDirectFocus: () => wrapperRef.current === document.activeElement }));
|
|
19
21
|
}, [outlineModelService, wrapperRef.current]);
|
|
20
22
|
const handleItemClicked = (0, react_1.useCallback)((ev, item, type) => {
|
|
21
23
|
// 阻止点击事件冒泡
|
|
@@ -61,16 +63,29 @@ const OutlinePanel = ({ viewState }) => {
|
|
|
61
63
|
outlineModelService.handleTreeBlur();
|
|
62
64
|
};
|
|
63
65
|
}, [wrapperRef.current]);
|
|
66
|
+
const [loadingState, setLoadingState] = react_1.default.useState(false);
|
|
67
|
+
const loading = react_1.default.useMemo(() => loadingState, [loadingState]);
|
|
68
|
+
(0, react_1.useEffect)(() => {
|
|
69
|
+
const disposable1 = outlineModelService.onLoadingStateChange((0, debounce_1.default)((current) => {
|
|
70
|
+
setLoadingState((previous) => (previous !== current ? current : previous));
|
|
71
|
+
}, 16 * 5, {
|
|
72
|
+
leading: true,
|
|
73
|
+
}));
|
|
74
|
+
return () => {
|
|
75
|
+
disposable1.dispose();
|
|
76
|
+
};
|
|
77
|
+
}, [setLoadingState]);
|
|
64
78
|
return (react_1.default.createElement("div", { className: outline_module_less_1.default.outline_container, tabIndex: -1, ref: wrapperRef, onClick: handleOuterClick },
|
|
65
|
-
react_1.default.createElement(
|
|
79
|
+
react_1.default.createElement(progress_bar_1.Progress, { loading: loading }),
|
|
80
|
+
react_1.default.createElement(exports.OutlineTreeView, { loading: loading, height: height, model: model, onItemClick: handleItemClicked, onTwistierClick: handleTwistierClicked, onDidTreeReady: handleTreeReady })));
|
|
66
81
|
};
|
|
67
82
|
exports.OutlinePanel = OutlinePanel;
|
|
68
|
-
exports.OutlineTreeView = (0, react_1.memo)(({ height, model, onItemClick, onTwistierClick, onDidTreeReady }) => {
|
|
83
|
+
exports.OutlineTreeView = (0, react_1.memo)(({ height, model, onItemClick, onTwistierClick, onDidTreeReady, loading }) => {
|
|
69
84
|
const outlineModelService = (0, react_hooks_1.useInjectable)(outline_model_service_1.OutlineModelService);
|
|
70
85
|
const { decorationService, commandService } = outlineModelService;
|
|
71
86
|
const renderTreeNode = (0, react_1.useCallback)((props) => (react_1.default.createElement(outline_node_1.OutlineNode, { item: props.item, itemType: props.itemType, decorationService: decorationService, commandService: commandService, decorations: outlineModelService.decorations.getDecorations(props.item), onClick: onItemClick, onTwistierClick: onTwistierClick, defaultLeftPadding: 8, leftPadding: 8 })), [model]);
|
|
72
87
|
if (!model) {
|
|
73
|
-
return react_1.default.createElement("span", { className: outline_module_less_1.default.outline_empty_text }, (0, ide_core_browser_1.localize)('outline.
|
|
88
|
+
return (react_1.default.createElement("span", { className: outline_module_less_1.default.outline_empty_text }, loading ? (0, ide_core_browser_1.localize)('common.loading') : (0, ide_core_browser_1.localize)('outline.nomodel')));
|
|
74
89
|
}
|
|
75
90
|
else {
|
|
76
91
|
return (react_1.default.createElement(ide_components_1.RecycleTree, { height: height, itemHeight: outline_node_1.OUTLINE_TREE_NODE_HEIGHT, onReady: onDidTreeReady, model: model, placeholder: () => react_1.default.createElement("span", { className: outline_module_less_1.default.outline_empty_text }, (0, ide_core_browser_1.localize)('outline.noinfo')) }, renderTreeNode));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../src/browser/outline.tsx"],"names":[],"mappings":";;;;AAAA,uDASe;AAEf,6DAAiH;AAEjH,iEAAsD;AACtD,4EAA2E;AAE3E,iDAAuE;AAEvE,wFAA2C;AAE3C,4EAAuE;AAEhE,MAAM,YAAY,GAAG,CAAC,EAAE,SAAS,EAA+C,EAAE,EAAE;IACzF,MAAM,
|
|
1
|
+
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../src/browser/outline.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,20 +2,30 @@ import { WithEventBus, URI, Event } from '@opensumi/ide-core-browser';
|
|
|
2
2
|
import { IResource, IEditorGroup } from '@opensumi/ide-editor';
|
|
3
3
|
import { EditorActiveResourceStateChangedEvent, EditorSelectionChangeEvent } from '@opensumi/ide-editor/lib/browser';
|
|
4
4
|
import { DocumentSymbolChangedEvent } from '@opensumi/ide-editor/lib/browser/breadcrumb/document-symbol';
|
|
5
|
+
import { ViewCollapseChangedEvent } from '@opensumi/ide-main-layout';
|
|
5
6
|
export type OpenedEditorData = IEditorGroup | IResource;
|
|
6
7
|
export interface OpenedEditorEvent {
|
|
7
8
|
group: IEditorGroup;
|
|
8
9
|
resource: IResource;
|
|
9
10
|
}
|
|
10
11
|
export declare class OutlineEventService extends WithEventBus {
|
|
11
|
-
private
|
|
12
|
+
private _onDidDocumentSymbolChange;
|
|
12
13
|
private _onDidSelectionChange;
|
|
13
|
-
private
|
|
14
|
+
private _onDidEditorActiveResourceStateChange;
|
|
15
|
+
private _onDidViewCollapseChange;
|
|
16
|
+
/**
|
|
17
|
+
* on did document symbol changed
|
|
18
|
+
*/
|
|
14
19
|
get onDidChange(): Event<URI | null>;
|
|
20
|
+
/**
|
|
21
|
+
* on did editor active resource state changed
|
|
22
|
+
*/
|
|
15
23
|
get onDidActiveChange(): Event<URI | null>;
|
|
16
24
|
get onDidSelectionChange(): Event<URI | null>;
|
|
25
|
+
get onDidViewCollapseChange(): Event<boolean>;
|
|
17
26
|
onEditorActiveResourceStateChangedEvent(e: EditorActiveResourceStateChangedEvent): void;
|
|
18
27
|
onEditorSelectionChangeEvent(e: EditorSelectionChangeEvent): void;
|
|
19
28
|
onDocumentSymbolChange(e: DocumentSymbolChangedEvent): void;
|
|
29
|
+
onViewCollapseChangedEvent(e: ViewCollapseChangedEvent): void;
|
|
20
30
|
}
|
|
21
31
|
//# sourceMappingURL=outline-event.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline-event.service.d.ts","sourceRoot":"","sources":["../../../src/browser/services/outline-event.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,YAAY,EAAW,GAAG,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qCAAqC,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACrH,OAAO,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;
|
|
1
|
+
{"version":3,"file":"outline-event.service.d.ts","sourceRoot":"","sources":["../../../src/browser/services/outline-event.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,YAAY,EAAW,GAAG,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qCAAqC,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACrH,OAAO,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AACzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAIrE,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAAC;AACxD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,qBACa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,0BAA0B,CAAsC;IACxE,OAAO,CAAC,qBAAqB,CAAsC;IAEnE,OAAO,CAAC,qCAAqC,CAAsC;IACnF,OAAO,CAAC,wBAAwB,CAAmC;IAEnE;;OAEG;IACH,IAAI,WAAW,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAEnC;IACD;;OAEG;IACH,IAAI,iBAAiB,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAEzC;IAED,IAAI,oBAAoB,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAE5C;IACD,IAAI,uBAAuB,IAAI,KAAK,CAAC,OAAO,CAAC,CAE5C;IAGD,uCAAuC,CAAC,CAAC,EAAE,qCAAqC;IAKhF,4BAA4B,CAAC,CAAC,EAAE,0BAA0B;IAK1D,sBAAsB,CAAC,CAAC,EAAE,0BAA0B;IAKpD,0BAA0B,CAAC,CAAC,EAAE,wBAAwB;CAKvD"}
|
|
@@ -6,30 +6,47 @@ const di_1 = require("@opensumi/di");
|
|
|
6
6
|
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
7
|
const browser_1 = require("@opensumi/ide-editor/lib/browser");
|
|
8
8
|
const document_symbol_1 = require("@opensumi/ide-editor/lib/browser/breadcrumb/document-symbol");
|
|
9
|
+
const ide_main_layout_1 = require("@opensumi/ide-main-layout");
|
|
10
|
+
const index_1 = require("../../common/index");
|
|
9
11
|
let OutlineEventService = class OutlineEventService extends ide_core_browser_1.WithEventBus {
|
|
10
12
|
constructor() {
|
|
11
13
|
super(...arguments);
|
|
12
|
-
this.
|
|
14
|
+
this._onDidDocumentSymbolChange = new ide_core_browser_1.Emitter();
|
|
13
15
|
this._onDidSelectionChange = new ide_core_browser_1.Emitter();
|
|
14
|
-
this.
|
|
16
|
+
this._onDidEditorActiveResourceStateChange = new ide_core_browser_1.Emitter();
|
|
17
|
+
this._onDidViewCollapseChange = new ide_core_browser_1.Emitter();
|
|
15
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* on did document symbol changed
|
|
21
|
+
*/
|
|
16
22
|
get onDidChange() {
|
|
17
|
-
return this.
|
|
23
|
+
return this._onDidDocumentSymbolChange.event;
|
|
18
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* on did editor active resource state changed
|
|
27
|
+
*/
|
|
19
28
|
get onDidActiveChange() {
|
|
20
|
-
return this.
|
|
29
|
+
return this._onDidEditorActiveResourceStateChange.event;
|
|
21
30
|
}
|
|
22
31
|
get onDidSelectionChange() {
|
|
23
32
|
return this._onDidSelectionChange.event;
|
|
24
33
|
}
|
|
34
|
+
get onDidViewCollapseChange() {
|
|
35
|
+
return this._onDidViewCollapseChange.event;
|
|
36
|
+
}
|
|
25
37
|
onEditorActiveResourceStateChangedEvent(e) {
|
|
26
|
-
this.
|
|
38
|
+
this._onDidEditorActiveResourceStateChange.fire(e.payload.editorUri);
|
|
27
39
|
}
|
|
28
40
|
onEditorSelectionChangeEvent(e) {
|
|
29
41
|
this._onDidSelectionChange.fire(e.payload.editorUri);
|
|
30
42
|
}
|
|
31
43
|
onDocumentSymbolChange(e) {
|
|
32
|
-
this.
|
|
44
|
+
this._onDidDocumentSymbolChange.fire(e.payload);
|
|
45
|
+
}
|
|
46
|
+
onViewCollapseChangedEvent(e) {
|
|
47
|
+
if (e.payload.viewId === index_1.OUTLINE_VIEW_ID) {
|
|
48
|
+
this._onDidViewCollapseChange.fire(e.payload.collapsed);
|
|
49
|
+
}
|
|
33
50
|
}
|
|
34
51
|
};
|
|
35
52
|
tslib_1.__decorate([
|
|
@@ -50,6 +67,12 @@ tslib_1.__decorate([
|
|
|
50
67
|
tslib_1.__metadata("design:paramtypes", [document_symbol_1.DocumentSymbolChangedEvent]),
|
|
51
68
|
tslib_1.__metadata("design:returntype", void 0)
|
|
52
69
|
], OutlineEventService.prototype, "onDocumentSymbolChange", null);
|
|
70
|
+
tslib_1.__decorate([
|
|
71
|
+
(0, ide_core_browser_1.OnEvent)(ide_main_layout_1.ViewCollapseChangedEvent),
|
|
72
|
+
tslib_1.__metadata("design:type", Function),
|
|
73
|
+
tslib_1.__metadata("design:paramtypes", [ide_main_layout_1.ViewCollapseChangedEvent]),
|
|
74
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
75
|
+
], OutlineEventService.prototype, "onViewCollapseChangedEvent", null);
|
|
53
76
|
OutlineEventService = tslib_1.__decorate([
|
|
54
77
|
(0, di_1.Injectable)()
|
|
55
78
|
], OutlineEventService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline-event.service.js","sourceRoot":"","sources":["../../../src/browser/services/outline-event.service.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,iEAAwF;AAExF,8DAAqH;AACrH,iGAAyG;
|
|
1
|
+
{"version":3,"file":"outline-event.service.js","sourceRoot":"","sources":["../../../src/browser/services/outline-event.service.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,iEAAwF;AAExF,8DAAqH;AACrH,iGAAyG;AACzG,+DAAqE;AAErE,8CAAqD;AAS9C,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,+BAAY;IAA9C;;QACG,+BAA0B,GAAwB,IAAI,0BAAO,EAAE,CAAC;QAChE,0BAAqB,GAAwB,IAAI,0BAAO,EAAE,CAAC;QAE3D,0CAAqC,GAAwB,IAAI,0BAAO,EAAE,CAAC;QAC3E,6BAAwB,GAAqB,IAAI,0BAAO,EAAE,CAAC;IA2CrE,CAAC;IAzCC;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;IAC/C,CAAC;IACD;;OAEG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,qCAAqC,CAAC,KAAK,CAAC;IAC1D,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC1C,CAAC;IACD,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC7C,CAAC;IAGD,uCAAuC,CAAC,CAAwC;QAC9E,IAAI,CAAC,qCAAqC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC;IACxE,CAAC;IAGD,4BAA4B,CAAC,CAA6B;QACxD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAGD,sBAAsB,CAAC,CAA6B;QAClD,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAGD,0BAA0B,CAAC,CAA2B;QACpD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,uBAAe,EAAE;YACxC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACzD;IACH,CAAC;CACF,CAAA;AArBC;IAAC,IAAA,0BAAO,EAAC,+CAAqC,CAAC;;6CACJ,+CAAqC;;kFAE/E;AAED;IAAC,IAAA,0BAAO,EAAC,oCAA0B,CAAC;;6CACJ,oCAA0B;;uEAEzD;AAED;IAAC,IAAA,0BAAO,EAAC,4CAA0B,CAAC;;6CACV,4CAA0B;;iEAEnD;AAED;IAAC,IAAA,0BAAO,EAAC,0CAAwB,CAAC;;6CACJ,0CAAwB;;qEAIrD;AA/CU,mBAAmB;IAD/B,IAAA,eAAU,GAAE;GACA,mBAAmB,CAgD/B;AAhDY,kDAAmB"}
|
|
@@ -12,6 +12,7 @@ export declare class OutlineModelService {
|
|
|
12
12
|
private static DEFAULT_REFRESH_DELAY;
|
|
13
13
|
private static DEFAULT_INIT_TREE_MODEL_DELAY;
|
|
14
14
|
private readonly injector;
|
|
15
|
+
private readonly logger;
|
|
15
16
|
private readonly outlineTreeService;
|
|
16
17
|
private markerManager;
|
|
17
18
|
decorationService: IOutlineDecorationService;
|
|
@@ -22,8 +23,8 @@ export declare class OutlineModelService {
|
|
|
22
23
|
private readonly mainLayoutService;
|
|
23
24
|
private _activeTreeModel;
|
|
24
25
|
private _allTreeModels;
|
|
26
|
+
private _treeModelDisposeMap;
|
|
25
27
|
private _whenInitTreeModelReady;
|
|
26
|
-
private _whenActiveChangeDeferred;
|
|
27
28
|
private _whenReady;
|
|
28
29
|
private _decorations;
|
|
29
30
|
private _outlineTreeHandle;
|
|
@@ -35,6 +36,7 @@ export declare class OutlineModelService {
|
|
|
35
36
|
private _selectedNodes;
|
|
36
37
|
private disposableCollection;
|
|
37
38
|
private onDidRefreshedEmitter;
|
|
39
|
+
private onLoadingStateChangedEmitter;
|
|
38
40
|
private onDidUpdateTreeModelEmitter;
|
|
39
41
|
private _ignoreFollowCursorUpdateEventTimer;
|
|
40
42
|
private initTreeModelDelayer;
|
|
@@ -44,14 +46,16 @@ export declare class OutlineModelService {
|
|
|
44
46
|
get flushEventQueuePromise(): Promise<void> | null;
|
|
45
47
|
get outlineTreeHandle(): IEditorTreeHandle;
|
|
46
48
|
get decorations(): DecorationsManager;
|
|
47
|
-
get treeModel(): OutlineTreeModel;
|
|
49
|
+
get treeModel(): OutlineTreeModel | undefined;
|
|
48
50
|
get focusedNode(): OutlineCompositeTreeNode | OutlineTreeNode | undefined;
|
|
49
51
|
get selectedNodes(): (OutlineCompositeTreeNode | OutlineTreeNode)[];
|
|
52
|
+
get onLoadingStateChange(): Event<boolean>;
|
|
50
53
|
get onDidRefreshed(): Event<void>;
|
|
51
54
|
get onDidUpdateTreeModel(): Event<OutlineTreeModel | undefined>;
|
|
52
|
-
get whenActiveChangeReady(): Promise<void> | undefined;
|
|
53
55
|
get whenInitTreeModelReady(): Promise<void>;
|
|
54
56
|
get whenRefreshReady(): Promise<void> | undefined;
|
|
57
|
+
private setTreeModel;
|
|
58
|
+
private doInitTreeModelByCurrentUri;
|
|
55
59
|
initTreeModelByCurrentUri(uri?: URI | null): Promise<void>;
|
|
56
60
|
initTreeModel(): Promise<void>;
|
|
57
61
|
initDecorations(root: any): DecorationsManager;
|
|
@@ -74,7 +78,7 @@ export declare class OutlineModelService {
|
|
|
74
78
|
* 刷新指定下的所有子节点
|
|
75
79
|
*/
|
|
76
80
|
refresh(): Promise<void>;
|
|
77
|
-
flushEventQueue: () => Promise<
|
|
81
|
+
flushEventQueue: () => Promise<null[]> | undefined;
|
|
78
82
|
location: (node: OutlineTreeNode) => Promise<void>;
|
|
79
83
|
collapseAll: () => Promise<void>;
|
|
80
84
|
dispose(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline-model.service.d.ts","sourceRoot":"","sources":["../../../src/browser/services/outline-model.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAc,kBAAkB,EAAE,YAAY,EAAc,MAAM,0BAA0B,CAAC;AACxH,OAAO,EACL,GAAG,EAGH,cAAc,EAEd,KAAK,
|
|
1
|
+
{"version":3,"file":"outline-model.service.d.ts","sourceRoot":"","sources":["../../../src/browser/services/outline-model.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,8 @@ const outline_tree_service_1 = require("./outline-tree.service");
|
|
|
19
19
|
const { Path } = ide_core_browser_1.path;
|
|
20
20
|
let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
21
21
|
constructor() {
|
|
22
|
-
this._allTreeModels = new
|
|
22
|
+
this._allTreeModels = new ide_core_browser_1.LRUMap(100, 80);
|
|
23
|
+
this._treeModelDisposeMap = new ide_core_browser_1.DisposableMap();
|
|
23
24
|
this._changeEventDispatchQueue = [];
|
|
24
25
|
// 装饰器
|
|
25
26
|
this.selectedDecoration = new ide_components_1.Decoration(outline_node_module_less_1.default.mod_selected); // 选中态
|
|
@@ -28,6 +29,7 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
28
29
|
this._selectedNodes = [];
|
|
29
30
|
this.disposableCollection = new ide_core_browser_1.DisposableCollection();
|
|
30
31
|
this.onDidRefreshedEmitter = new ide_core_browser_1.Emitter();
|
|
32
|
+
this.onLoadingStateChangedEmitter = new ide_core_browser_1.Emitter();
|
|
31
33
|
this.onDidUpdateTreeModelEmitter = new ide_core_browser_1.Emitter();
|
|
32
34
|
this._ignoreFollowCursorUpdateEventTimer = 0;
|
|
33
35
|
// 清空所有节点选中态
|
|
@@ -142,7 +144,6 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
142
144
|
}
|
|
143
145
|
};
|
|
144
146
|
this.flushEventQueue = () => {
|
|
145
|
-
let promise;
|
|
146
147
|
if (!this._changeEventDispatchQueue || this._changeEventDispatchQueue.length === 0) {
|
|
147
148
|
return;
|
|
148
149
|
}
|
|
@@ -160,9 +161,9 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
160
161
|
roots.push(path);
|
|
161
162
|
}
|
|
162
163
|
}
|
|
163
|
-
promise = (0, ide_core_browser_1.pSeries)(roots.map((path) => async () => {
|
|
164
|
-
var _a;
|
|
165
|
-
const watcher = (_a = this.treeModel
|
|
164
|
+
const promise = (0, ide_core_browser_1.pSeries)(roots.map((path) => async () => {
|
|
165
|
+
var _a, _b;
|
|
166
|
+
const watcher = (_b = (_a = this.treeModel) === null || _a === void 0 ? void 0 : _a.root) === null || _b === void 0 ? void 0 : _b.watchEvents.get(path);
|
|
166
167
|
if (watcher && typeof watcher.callback === 'function') {
|
|
167
168
|
await watcher.callback({ type: ide_components_1.WatchEvent.Changed, path });
|
|
168
169
|
}
|
|
@@ -215,16 +216,15 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
215
216
|
get selectedNodes() {
|
|
216
217
|
return this._selectedNodes;
|
|
217
218
|
}
|
|
219
|
+
get onLoadingStateChange() {
|
|
220
|
+
return this.onLoadingStateChangedEmitter.event;
|
|
221
|
+
}
|
|
218
222
|
get onDidRefreshed() {
|
|
219
223
|
return this.onDidRefreshedEmitter.event;
|
|
220
224
|
}
|
|
221
225
|
get onDidUpdateTreeModel() {
|
|
222
226
|
return this.onDidUpdateTreeModelEmitter.event;
|
|
223
227
|
}
|
|
224
|
-
get whenActiveChangeReady() {
|
|
225
|
-
var _a;
|
|
226
|
-
return (_a = this._whenActiveChangeDeferred) === null || _a === void 0 ? void 0 : _a.promise;
|
|
227
|
-
}
|
|
228
228
|
get whenInitTreeModelReady() {
|
|
229
229
|
return this._whenInitTreeModelReady;
|
|
230
230
|
}
|
|
@@ -232,52 +232,62 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
232
232
|
var _a;
|
|
233
233
|
return (_a = this.refreshDeferred) === null || _a === void 0 ? void 0 : _a.promise;
|
|
234
234
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
if (
|
|
242
|
-
|
|
243
|
-
// 初始化节点装饰器
|
|
244
|
-
this._activeTreeModel = treeModelStore.treeModel;
|
|
245
|
-
this._decorations = treeModelStore.decoration;
|
|
246
|
-
this.onDidUpdateTreeModelEmitter.fire(this._activeTreeModel);
|
|
247
|
-
}
|
|
248
|
-
else if (uri) {
|
|
249
|
-
// 根据是否为多工作区创建不同根节点
|
|
235
|
+
setTreeModel(treeModel) {
|
|
236
|
+
this._activeTreeModel = treeModel;
|
|
237
|
+
this.onDidUpdateTreeModelEmitter.fire(this._activeTreeModel);
|
|
238
|
+
}
|
|
239
|
+
async doInitTreeModelByCurrentUri(uri) {
|
|
240
|
+
let treeModel;
|
|
241
|
+
if (uri) {
|
|
242
|
+
// FIXME: 根据是否为多工作区创建不同根节点
|
|
250
243
|
const root = (await this.outlineTreeService.resolveChildren())[0];
|
|
251
244
|
if (!root) {
|
|
245
|
+
this.logger.error(`init outline tree model error: cannot resolve ${uri} children`);
|
|
252
246
|
return;
|
|
253
247
|
}
|
|
254
|
-
|
|
248
|
+
treeModel = this.injector.get(outline_model_1.OutlineTreeModel, [root]);
|
|
255
249
|
await treeModel.ensureReady;
|
|
256
|
-
this._activeTreeModel = treeModel;
|
|
257
250
|
// 初始化节点装饰器
|
|
258
251
|
const decoration = this.initDecorations(root);
|
|
259
|
-
if (uri) {
|
|
260
|
-
this._allTreeModels.
|
|
261
|
-
treeModel,
|
|
262
|
-
decoration,
|
|
263
|
-
});
|
|
252
|
+
if (this._allTreeModels.has(uri.toString())) {
|
|
253
|
+
this._allTreeModels.delete(uri.toString());
|
|
264
254
|
}
|
|
265
|
-
this.
|
|
255
|
+
this._allTreeModels.set(uri.toString(), {
|
|
256
|
+
treeModel,
|
|
257
|
+
decoration,
|
|
258
|
+
});
|
|
259
|
+
this.disposableCollection.push(this._allTreeModels.onKeyDidDelete(uri.toString(), ({ key }) => {
|
|
260
|
+
this._treeModelDisposeMap.disposeKey(key);
|
|
261
|
+
}));
|
|
262
|
+
this._treeModelDisposeMap.set(uri.toString(), treeModel.onWillUpdate(() => {
|
|
266
263
|
if (this.focusedNode) {
|
|
267
264
|
// 更新树前更新下选中节点
|
|
268
|
-
const node = treeModel
|
|
265
|
+
const node = treeModel.root.getTreeNodeById(this.focusedNode.id);
|
|
269
266
|
this.activeNodeDecoration(node, false);
|
|
270
267
|
}
|
|
271
268
|
else if (this.selectedNodes.length !== 0) {
|
|
272
269
|
// 仅处理一下单选情况
|
|
273
|
-
const node = treeModel
|
|
270
|
+
const node = treeModel.root.getTreeNodeById(this.selectedNodes[0].id);
|
|
274
271
|
this.selectNodeDecoration(node, false);
|
|
275
272
|
}
|
|
276
273
|
}));
|
|
277
|
-
|
|
274
|
+
}
|
|
275
|
+
this.setTreeModel(treeModel);
|
|
276
|
+
return treeModel;
|
|
277
|
+
}
|
|
278
|
+
async initTreeModelByCurrentUri(uri) {
|
|
279
|
+
var _a;
|
|
280
|
+
await this.outlineTreeService.whenReady;
|
|
281
|
+
// 等待上一次刷新完成
|
|
282
|
+
await ((_a = this.refreshDeferred) === null || _a === void 0 ? void 0 : _a.promise);
|
|
283
|
+
this.outlineTreeService.currentUri = uri;
|
|
284
|
+
if (uri && this._allTreeModels.has(uri.toString())) {
|
|
285
|
+
const treeModelStore = this._allTreeModels.get(uri.toString());
|
|
286
|
+
this._decorations = treeModelStore.decoration;
|
|
287
|
+
this.setTreeModel(treeModelStore.treeModel);
|
|
278
288
|
}
|
|
279
289
|
else {
|
|
280
|
-
this.
|
|
290
|
+
await this.doInitTreeModelByCurrentUri(uri);
|
|
281
291
|
}
|
|
282
292
|
}
|
|
283
293
|
async initTreeModel() {
|
|
@@ -291,14 +301,12 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
291
301
|
}
|
|
292
302
|
}));
|
|
293
303
|
this.disposableCollection.push(this.outlineEventService.onDidActiveChange(async () => {
|
|
294
|
-
if (!this._whenActiveChangeDeferred) {
|
|
295
|
-
this._whenActiveChangeDeferred = new ide_core_browser_1.Deferred();
|
|
296
|
-
}
|
|
297
304
|
if (!this.initTreeModelDelayer.isTriggered()) {
|
|
298
305
|
this.initTreeModelDelayer.cancel();
|
|
299
306
|
}
|
|
307
|
+
this.onLoadingStateChangedEmitter.fire(true);
|
|
300
308
|
this.initTreeModelDelayer.trigger(async () => {
|
|
301
|
-
var _a
|
|
309
|
+
var _a;
|
|
302
310
|
await this._whenInitTreeModelReady;
|
|
303
311
|
// 初始化时如果存在还未刷新的执行逻辑时,需要进行清理
|
|
304
312
|
if (!this.refreshDelayer.isTriggered()) {
|
|
@@ -306,8 +314,7 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
306
314
|
}
|
|
307
315
|
const uri = (_a = this.editorService.currentEditor) === null || _a === void 0 ? void 0 : _a.currentUri;
|
|
308
316
|
this._whenInitTreeModelReady = this.initTreeModelByCurrentUri(uri);
|
|
309
|
-
|
|
310
|
-
this._whenActiveChangeDeferred = null;
|
|
317
|
+
this.onLoadingStateChangedEmitter.fire(false);
|
|
311
318
|
});
|
|
312
319
|
}));
|
|
313
320
|
this.disposableCollection.push(this.outlineEventService.onDidSelectionChange(() => {
|
|
@@ -317,10 +324,18 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
317
324
|
this.locateSelection(false);
|
|
318
325
|
}
|
|
319
326
|
}));
|
|
320
|
-
this.disposableCollection.push(this.outlineEventService.onDidChange((
|
|
321
|
-
var _a;
|
|
322
|
-
|
|
323
|
-
|
|
327
|
+
this.disposableCollection.push(this.outlineEventService.onDidChange((uri) => {
|
|
328
|
+
var _a, _b;
|
|
329
|
+
if (uri === ((_a = this.editorService.currentEditor) === null || _a === void 0 ? void 0 : _a.currentUri)) {
|
|
330
|
+
// 因为刷新 children 那个函数不能传 currentUri,这里利用一下副作用
|
|
331
|
+
this.outlineTreeService.currentUri = (_b = this.editorService.currentEditor) === null || _b === void 0 ? void 0 : _b.currentUri;
|
|
332
|
+
this.refresh();
|
|
333
|
+
}
|
|
334
|
+
}));
|
|
335
|
+
this.disposableCollection.push(this.outlineEventService.onDidViewCollapseChange((collapsed) => {
|
|
336
|
+
if (!collapsed) {
|
|
337
|
+
this.refresh();
|
|
338
|
+
}
|
|
324
339
|
}));
|
|
325
340
|
this.disposableCollection.push(this.outlineTreeService.onDidChange(() => {
|
|
326
341
|
this.refresh();
|
|
@@ -413,15 +428,16 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
413
428
|
* 刷新指定下的所有子节点
|
|
414
429
|
*/
|
|
415
430
|
async refresh() {
|
|
416
|
-
var _a, _b, _c, _d, _e
|
|
417
|
-
|
|
431
|
+
var _a, _b, _c, _d, _e;
|
|
432
|
+
this.onLoadingStateChangedEmitter.fire(true);
|
|
418
433
|
await this.whenInitTreeModelReady;
|
|
419
434
|
await this.whenRefreshReady;
|
|
420
435
|
const node = (_a = this.treeModel) === null || _a === void 0 ? void 0 : _a.root;
|
|
421
|
-
if (
|
|
436
|
+
if (!node || !((_c = (_b = this.editorService) === null || _b === void 0 ? void 0 : _b.currentEditor) === null || _c === void 0 ? void 0 : _c.currentUri)) {
|
|
422
437
|
// 1. 初次加载时可能还没有初始化Tree,主要原因在于没办法在outline加载时准确把握拿到currentEditor的时机
|
|
423
438
|
// 2. 当前没有激活的URI时,需要情况当前的Tree
|
|
424
|
-
this._whenInitTreeModelReady = this.initTreeModelByCurrentUri((
|
|
439
|
+
this._whenInitTreeModelReady = this.initTreeModelByCurrentUri((_e = (_d = this.editorService) === null || _d === void 0 ? void 0 : _d.currentEditor) === null || _e === void 0 ? void 0 : _e.currentUri);
|
|
440
|
+
this.onLoadingStateChangedEmitter.fire(false);
|
|
425
441
|
return;
|
|
426
442
|
}
|
|
427
443
|
if (!this.refreshDelayer.isTriggered()) {
|
|
@@ -435,14 +451,15 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
435
451
|
this.refreshDeferred.resolve();
|
|
436
452
|
this.refreshDeferred = null;
|
|
437
453
|
}
|
|
454
|
+
this.onLoadingStateChangedEmitter.fire(false);
|
|
438
455
|
return;
|
|
439
456
|
}
|
|
440
457
|
if (!this.refreshDeferred) {
|
|
441
458
|
this.refreshDeferred = new ide_core_browser_1.Deferred();
|
|
442
459
|
}
|
|
443
460
|
this.outlineTreeService.currentUri = (_b = (_a = this.editorService) === null || _a === void 0 ? void 0 : _a.currentEditor) === null || _b === void 0 ? void 0 : _b.currentUri;
|
|
444
|
-
if (
|
|
445
|
-
|
|
461
|
+
if (node.currentUri &&
|
|
462
|
+
this.outlineTreeService.currentUri &&
|
|
446
463
|
this.outlineTreeService.currentUri.isEqual(node.currentUri)) {
|
|
447
464
|
// 刷新前需要更新诊断信息数据
|
|
448
465
|
this.decorationService.updateDiagnosisInfo(this.outlineTreeService.currentUri);
|
|
@@ -452,10 +469,12 @@ let OutlineModelService = OutlineModelService_1 = class OutlineModelService {
|
|
|
452
469
|
}
|
|
453
470
|
(_c = this.refreshDeferred) === null || _c === void 0 ? void 0 : _c.resolve();
|
|
454
471
|
this.refreshDeferred = null;
|
|
472
|
+
this.onLoadingStateChangedEmitter.fire(false);
|
|
455
473
|
});
|
|
456
474
|
}
|
|
457
475
|
dispose() {
|
|
458
476
|
this.disposableCollection.dispose();
|
|
477
|
+
this._treeModelDisposeMap.dispose();
|
|
459
478
|
}
|
|
460
479
|
};
|
|
461
480
|
OutlineModelService.DEFAULT_REFRESH_DELAY = 200;
|
|
@@ -464,6 +483,10 @@ tslib_1.__decorate([
|
|
|
464
483
|
(0, di_1.Autowired)(di_1.INJECTOR_TOKEN),
|
|
465
484
|
tslib_1.__metadata("design:type", di_1.Injector)
|
|
466
485
|
], OutlineModelService.prototype, "injector", void 0);
|
|
486
|
+
tslib_1.__decorate([
|
|
487
|
+
(0, di_1.Autowired)(ide_core_browser_1.ILogger),
|
|
488
|
+
tslib_1.__metadata("design:type", Object)
|
|
489
|
+
], OutlineModelService.prototype, "logger", void 0);
|
|
467
490
|
tslib_1.__decorate([
|
|
468
491
|
(0, di_1.Autowired)(outline_tree_service_1.OutlineTreeService),
|
|
469
492
|
tslib_1.__metadata("design:type", outline_tree_service_1.OutlineTreeService)
|