@opensumi/ide-outline 2.13.9 → 2.14.1
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.d.ts +12 -0
- package/lib/browser/outline.d.ts.map +1 -1
- package/lib/browser/outline.js +24 -21
- package/lib/browser/outline.js.map +1 -1
- package/package.json +9 -10
package/lib/browser/outline.d.ts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ViewState } from '@opensumi/ide-core-browser';
|
|
3
|
+
import { IRecycleTreeHandle, TreeNodeType } from '@opensumi/ide-components';
|
|
4
|
+
import { OutlineCompositeTreeNode, OutlineTreeNode } from './outline-node.define';
|
|
5
|
+
import { OutlineTreeModel } from './services/outline-model';
|
|
3
6
|
export declare const OutlinePanel: ({ viewState }: React.PropsWithChildren<{
|
|
4
7
|
viewState: ViewState;
|
|
5
8
|
}>) => JSX.Element;
|
|
9
|
+
interface IOutlineTreeViewProps {
|
|
10
|
+
height: number;
|
|
11
|
+
model?: OutlineTreeModel;
|
|
12
|
+
onDidTreeReady(handle: IRecycleTreeHandle): void;
|
|
13
|
+
onItemClick(ev: React.MouseEvent, item: OutlineTreeNode | OutlineCompositeTreeNode, type: TreeNodeType): void;
|
|
14
|
+
onTwistierClick(ev: React.MouseEvent, item: OutlineTreeNode | OutlineCompositeTreeNode): void;
|
|
15
|
+
}
|
|
16
|
+
export declare const OutlineTreeView: React.MemoExoticComponent<({ height, model, onItemClick, onTwistierClick, onDidTreeReady }: IOutlineTreeViewProps) => JSX.Element>;
|
|
17
|
+
export {};
|
|
6
18
|
//# sourceMappingURL=outline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../src/browser/outline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../src/browser/outline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAe,kBAAkB,EAA0B,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEjH,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,eAAO,MAAM,YAAY;eAAwD,SAAS;kBAsFzF,CAAC;AAEF,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,GAAG,wBAAwB,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9G,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,GAAG,wBAAwB,GAAG,IAAI,CAAC;CAC/F;AAED,eAAO,MAAM,eAAe,8FACwC,qBAAqB,iBAqCxF,CAAC"}
|
package/lib/browser/outline.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OutlinePanel = void 0;
|
|
3
|
+
exports.OutlineTreeView = exports.OutlinePanel = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
6
6
|
const react_hooks_1 = require("@opensumi/ide-core-browser/lib/react-hooks");
|
|
@@ -11,14 +11,13 @@ const outline_model_service_1 = require("./services/outline-model.service");
|
|
|
11
11
|
const outline_node_1 = require("./outline-node");
|
|
12
12
|
const OutlinePanel = ({ viewState }) => {
|
|
13
13
|
const [model, setModel] = react_1.default.useState();
|
|
14
|
-
const {
|
|
14
|
+
const { height } = viewState;
|
|
15
15
|
const wrapperRef = react_1.default.createRef();
|
|
16
16
|
const outlineModelService = (0, react_hooks_1.useInjectable)(outline_model_service_1.OutlineModelService);
|
|
17
|
-
const
|
|
18
|
-
const handleTreeReady = (handle) => {
|
|
17
|
+
const handleTreeReady = react_1.default.useCallback((handle) => {
|
|
19
18
|
outlineModelService.handleTreeHandler(Object.assign(Object.assign({}, handle), { getModel: () => outlineModelService.treeModel, hasDirectFocus: () => wrapperRef.current === document.activeElement }));
|
|
20
|
-
};
|
|
21
|
-
const handleItemClicked = (ev, item, type) => {
|
|
19
|
+
}, [outlineModelService, wrapperRef.current]);
|
|
20
|
+
const handleItemClicked = react_1.default.useCallback((ev, item, type) => {
|
|
22
21
|
// 阻止点击事件冒泡
|
|
23
22
|
ev.stopPropagation();
|
|
24
23
|
const { handleItemClick } = outlineModelService;
|
|
@@ -26,8 +25,8 @@ const OutlinePanel = ({ viewState }) => {
|
|
|
26
25
|
return;
|
|
27
26
|
}
|
|
28
27
|
handleItemClick(item, type);
|
|
29
|
-
};
|
|
30
|
-
const handleTwistierClicked = (ev, item
|
|
28
|
+
}, [outlineModelService]);
|
|
29
|
+
const handleTwistierClicked = react_1.default.useCallback((ev, item) => {
|
|
31
30
|
// 阻止点击事件冒泡
|
|
32
31
|
ev.stopPropagation();
|
|
33
32
|
const { toggleDirectory } = outlineModelService;
|
|
@@ -35,12 +34,12 @@ const OutlinePanel = ({ viewState }) => {
|
|
|
35
34
|
return;
|
|
36
35
|
}
|
|
37
36
|
toggleDirectory(item);
|
|
38
|
-
};
|
|
39
|
-
const handleOuterClick = (
|
|
37
|
+
}, [outlineModelService]);
|
|
38
|
+
const handleOuterClick = react_1.default.useCallback(() => {
|
|
40
39
|
// 空白区域点击,取消焦点状态
|
|
41
40
|
const { enactiveNodeDecoration } = outlineModelService;
|
|
42
41
|
enactiveNodeDecoration();
|
|
43
|
-
};
|
|
42
|
+
}, [outlineModelService]);
|
|
44
43
|
react_1.default.useEffect(() => {
|
|
45
44
|
setModel(outlineModelService.treeModel);
|
|
46
45
|
const disposable = outlineModelService.onDidUpdateTreeModel(async (model) => {
|
|
@@ -62,16 +61,20 @@ const OutlinePanel = ({ viewState }) => {
|
|
|
62
61
|
outlineModelService.handleTreeBlur();
|
|
63
62
|
};
|
|
64
63
|
}, [wrapperRef.current]);
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (!model) {
|
|
68
|
-
return react_1.default.createElement("span", { className: outline_module_less_1.default.outline_empty_text }, (0, ide_core_browser_1.localize)('outline.noinfo'));
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
return (react_1.default.createElement(ide_components_1.RecycleTree, { height: height, width: width, itemHeight: outline_node_1.OUTLINE_TREE_NODE_HEIGHT, onReady: handleTreeReady, 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));
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
return (react_1.default.createElement("div", { className: outline_module_less_1.default.outline_container, tabIndex: -1, ref: wrapperRef, onClick: handleOuterClick }, renderContent()));
|
|
64
|
+
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(exports.OutlineTreeView, { height: height, model: model, onItemClick: handleItemClicked, onTwistierClick: handleTwistierClicked, onDidTreeReady: handleTreeReady })));
|
|
75
66
|
};
|
|
76
67
|
exports.OutlinePanel = OutlinePanel;
|
|
68
|
+
exports.OutlineTreeView = react_1.default.memo(({ height, model, onItemClick, onTwistierClick, onDidTreeReady }) => {
|
|
69
|
+
const outlineModelService = (0, react_hooks_1.useInjectable)(outline_model_service_1.OutlineModelService);
|
|
70
|
+
const { decorationService, commandService } = outlineModelService;
|
|
71
|
+
const renderTreeNode = react_1.default.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
|
+
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.noinfo'));
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
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));
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
exports.OutlineTreeView.displayName = 'OutlineTreeView';
|
|
77
80
|
//# sourceMappingURL=outline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../src/browser/outline.tsx"],"names":[],"mappings":";;;;AAAA,+DAA0B;AAC1B,4EAA2E;AAE3E,iEAAsD;AACtD,6DAAiH;AACjH,6FAA2C;AAE3C,4EAAuE;AACvE,iDAAuE;AAGhE,MAAM,YAAY,GAAG,CAAC,EAAE,SAAS,EAAqD,EAAE,EAAE;IAC/F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,eAAK,CAAC,QAAQ,EAAgC,CAAC;IAEzE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../src/browser/outline.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-outline",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.1",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib"
|
|
6
6
|
],
|
|
@@ -15,15 +15,14 @@
|
|
|
15
15
|
"type": "git",
|
|
16
16
|
"url": "git@github.com:opensumi/core.git"
|
|
17
17
|
},
|
|
18
|
-
"dependencies": {},
|
|
19
18
|
"devDependencies": {
|
|
20
|
-
"@opensumi/ide-
|
|
21
|
-
"@opensumi/ide-core-browser": "2.
|
|
22
|
-
"@opensumi/ide-
|
|
23
|
-
"@opensumi/ide-
|
|
24
|
-
"@opensumi/ide-
|
|
25
|
-
"@opensumi/ide-
|
|
26
|
-
"@opensumi/ide-
|
|
27
|
-
"@opensumi/ide-
|
|
19
|
+
"@opensumi/ide-components": "2.14.1",
|
|
20
|
+
"@opensumi/ide-core-browser": "2.14.1",
|
|
21
|
+
"@opensumi/ide-core-common": "2.14.1",
|
|
22
|
+
"@opensumi/ide-dev-tool": "^1.3.1",
|
|
23
|
+
"@opensumi/ide-editor": "2.14.1",
|
|
24
|
+
"@opensumi/ide-explorer": "2.14.1",
|
|
25
|
+
"@opensumi/ide-main-layout": "2.14.1",
|
|
26
|
+
"@opensumi/ide-theme": "2.14.1"
|
|
28
27
|
}
|
|
29
28
|
}
|