@theia/outline-view 1.35.0 → 1.36.0-next.21
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-view-contribution.d.ts +7 -3
- package/lib/browser/outline-view-contribution.d.ts.map +1 -1
- package/lib/browser/outline-view-contribution.js +31 -6
- package/lib/browser/outline-view-contribution.js.map +1 -1
- package/lib/browser/outline-view-tree-model.d.ts +2 -0
- package/lib/browser/outline-view-tree-model.d.ts.map +1 -1
- package/lib/browser/outline-view-tree-model.js +22 -0
- package/lib/browser/outline-view-tree-model.js.map +1 -1
- package/lib/browser/outline-view-widget.d.ts +4 -1
- package/lib/browser/outline-view-widget.d.ts.map +1 -1
- package/lib/browser/outline-view-widget.js +12 -0
- package/lib/browser/outline-view-widget.js.map +1 -1
- package/package.json +3 -3
- package/src/browser/outline-view-contribution.ts +33 -6
- package/src/browser/outline-view-tree-model.ts +25 -0
- package/src/browser/outline-view-widget.tsx +11 -2
|
@@ -10,20 +10,24 @@ export declare const OUTLINE_WIDGET_FACTORY_ID = "outline-view";
|
|
|
10
10
|
*/
|
|
11
11
|
export declare namespace OutlineViewCommands {
|
|
12
12
|
/**
|
|
13
|
-
* Command which collapses all nodes
|
|
14
|
-
* from the `outline-view` tree.
|
|
13
|
+
* Command which collapses all nodes from the `outline-view` tree.
|
|
15
14
|
*/
|
|
16
15
|
const COLLAPSE_ALL: Command;
|
|
16
|
+
/**
|
|
17
|
+
* Command which expands all nodes from the `outline-view` tree.
|
|
18
|
+
*/
|
|
19
|
+
const EXPAND_ALL: Command;
|
|
17
20
|
}
|
|
18
21
|
export declare class OutlineViewContribution extends AbstractViewContribution<OutlineViewWidget> implements FrontendApplicationContribution, TabBarToolbarContribution {
|
|
19
22
|
constructor();
|
|
20
23
|
initializeLayout(app: FrontendApplication): Promise<void>;
|
|
21
24
|
registerCommands(commands: CommandRegistry): void;
|
|
22
|
-
registerToolbarItems(toolbar: TabBarToolbarRegistry): void
|
|
25
|
+
registerToolbarItems(toolbar: TabBarToolbarRegistry): Promise<void>;
|
|
23
26
|
/**
|
|
24
27
|
* Collapse all nodes in the outline view tree.
|
|
25
28
|
*/
|
|
26
29
|
protected collapseAllItems(): Promise<void>;
|
|
30
|
+
protected expandAllItems(): Promise<void>;
|
|
27
31
|
/**
|
|
28
32
|
* Determine if the current widget is the `outline-view`.
|
|
29
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline-view-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/outline-view-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACpH,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACjH,OAAO,EAAW,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK1D,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AAExD;;GAEG;AACH,yBAAiB,mBAAmB,CAAC;IACjC
|
|
1
|
+
{"version":3,"file":"outline-view-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/outline-view-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACpH,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACjH,OAAO,EAAW,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK1D,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AAExD;;GAEG;AACH,yBAAiB,mBAAmB,CAAC;IACjC;;OAEG;IACI,MAAM,YAAY,EAAE,OAG1B,CAAC;IAEF;;OAEG;IACI,MAAM,UAAU,EAAE,OAGxB,CAAC;CACL;AAED,qBACa,uBAAwB,SAAQ,wBAAwB,CAAC,iBAAiB,CAAE,YAAW,+BAA+B,EAAE,yBAAyB;;IAiBpJ,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAcpD,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzE;;OAEG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;cAQjC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/C;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,oBAA0C,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK;CAM7H"}
|
|
@@ -39,13 +39,19 @@ exports.OUTLINE_WIDGET_FACTORY_ID = 'outline-view';
|
|
|
39
39
|
var OutlineViewCommands;
|
|
40
40
|
(function (OutlineViewCommands) {
|
|
41
41
|
/**
|
|
42
|
-
* Command which collapses all nodes
|
|
43
|
-
* from the `outline-view` tree.
|
|
42
|
+
* Command which collapses all nodes from the `outline-view` tree.
|
|
44
43
|
*/
|
|
45
44
|
OutlineViewCommands.COLLAPSE_ALL = {
|
|
46
45
|
id: 'outlineView.collapse.all',
|
|
47
46
|
iconClass: (0, widgets_1.codicon)('collapse-all')
|
|
48
47
|
};
|
|
48
|
+
/**
|
|
49
|
+
* Command which expands all nodes from the `outline-view` tree.
|
|
50
|
+
*/
|
|
51
|
+
OutlineViewCommands.EXPAND_ALL = {
|
|
52
|
+
id: 'outlineView.expand.all',
|
|
53
|
+
iconClass: (0, widgets_1.codicon)('expand-all')
|
|
54
|
+
};
|
|
49
55
|
})(OutlineViewCommands = exports.OutlineViewCommands || (exports.OutlineViewCommands = {}));
|
|
50
56
|
let OutlineViewContribution = class OutlineViewContribution extends view_contribution_1.AbstractViewContribution {
|
|
51
57
|
constructor() {
|
|
@@ -68,17 +74,32 @@ let OutlineViewContribution = class OutlineViewContribution extends view_contrib
|
|
|
68
74
|
registerCommands(commands) {
|
|
69
75
|
super.registerCommands(commands);
|
|
70
76
|
commands.registerCommand(OutlineViewCommands.COLLAPSE_ALL, {
|
|
71
|
-
isEnabled:
|
|
72
|
-
isVisible:
|
|
77
|
+
isEnabled: w => this.withWidget(w, () => true),
|
|
78
|
+
isVisible: w => this.withWidget(w, widget => !widget.model.areNodesCollapsed()),
|
|
73
79
|
execute: () => this.collapseAllItems()
|
|
74
80
|
});
|
|
81
|
+
commands.registerCommand(OutlineViewCommands.EXPAND_ALL, {
|
|
82
|
+
isEnabled: w => this.withWidget(w, () => true),
|
|
83
|
+
isVisible: w => this.withWidget(w, widget => widget.model.areNodesCollapsed()),
|
|
84
|
+
execute: () => this.expandAllItems()
|
|
85
|
+
});
|
|
75
86
|
}
|
|
76
|
-
registerToolbarItems(toolbar) {
|
|
87
|
+
async registerToolbarItems(toolbar) {
|
|
88
|
+
const widget = await this.widget;
|
|
89
|
+
const onDidChange = widget.onDidUpdate;
|
|
77
90
|
toolbar.registerItem({
|
|
78
91
|
id: OutlineViewCommands.COLLAPSE_ALL.id,
|
|
79
92
|
command: OutlineViewCommands.COLLAPSE_ALL.id,
|
|
80
93
|
tooltip: nls_1.nls.localizeByDefault('Collapse All'),
|
|
81
|
-
priority: 0
|
|
94
|
+
priority: 0,
|
|
95
|
+
onDidChange
|
|
96
|
+
});
|
|
97
|
+
toolbar.registerItem({
|
|
98
|
+
id: OutlineViewCommands.EXPAND_ALL.id,
|
|
99
|
+
command: OutlineViewCommands.EXPAND_ALL.id,
|
|
100
|
+
tooltip: nls_1.nls.localizeByDefault('Expand All'),
|
|
101
|
+
priority: 0,
|
|
102
|
+
onDidChange
|
|
82
103
|
});
|
|
83
104
|
}
|
|
84
105
|
/**
|
|
@@ -91,6 +112,10 @@ let OutlineViewContribution = class OutlineViewContribution extends view_contrib
|
|
|
91
112
|
model.collapseAll(root);
|
|
92
113
|
}
|
|
93
114
|
}
|
|
115
|
+
async expandAllItems() {
|
|
116
|
+
const { model } = await this.widget;
|
|
117
|
+
model.expandAll(model.root);
|
|
118
|
+
}
|
|
94
119
|
/**
|
|
95
120
|
* Determine if the current widget is the `outline-view`.
|
|
96
121
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline-view-contribution.js","sourceRoot":"","sources":["../../src/browser/outline-view-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,4DAA0D;AAC1D,uFAA2F;AAI3F,6DAAkE;AAClE,+DAA0D;AAC1D,uDAAiE;AACjE,kDAA+C;AAC/C,oDAAiD;AAEpC,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAExD;;GAEG;AACH,IAAiB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"outline-view-contribution.js","sourceRoot":"","sources":["../../src/browser/outline-view-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,5 +14,7 @@ export declare class OutlineViewTreeModel extends TreeModelImpl {
|
|
|
14
14
|
* allow for the `onOpenNode` event to still fire on a double-click event.
|
|
15
15
|
*/
|
|
16
16
|
openNode(raw?: TreeNode | undefined): void;
|
|
17
|
+
expandAll(raw?: TreeNode): void;
|
|
18
|
+
areNodesCollapsed(): boolean;
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=outline-view-tree-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline-view-tree-model.d.ts","sourceRoot":"","sources":["../../src/browser/outline-view-tree-model.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEzG,qBACa,oBAAqB,SAAQ,aAAa;IAEnD;;;;;OAKG;cACgB,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAI7D,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ/E;;;;OAIG;IACM,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"outline-view-tree-model.d.ts","sourceRoot":"","sources":["../../src/browser/outline-view-tree-model.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEzG,qBACa,oBAAqB,SAAQ,aAAa;IAEnD;;;;;OAKG;cACgB,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAI7D,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ/E;;;;OAIG;IACM,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IAOnD,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI;IAa/B,iBAAiB,IAAI,OAAO;CAW/B"}
|
|
@@ -52,6 +52,28 @@ let OutlineViewTreeModel = class OutlineViewTreeModel extends browser_1.TreeMode
|
|
|
52
52
|
this.onOpenNodeEmitter.fire(node);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
+
expandAll(raw) {
|
|
56
|
+
if (browser_1.CompositeTreeNode.is(raw)) {
|
|
57
|
+
for (const child of raw.children) {
|
|
58
|
+
if (browser_1.ExpandableTreeNode.is(child)) {
|
|
59
|
+
this.expandAll(child);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (browser_1.ExpandableTreeNode.is(raw)) {
|
|
64
|
+
this.expandNode(raw);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
areNodesCollapsed() {
|
|
68
|
+
if (browser_1.CompositeTreeNode.is(this.root)) {
|
|
69
|
+
for (const child of this.root.children) {
|
|
70
|
+
if (!browser_1.ExpandableTreeNode.isCollapsed(child)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
55
77
|
};
|
|
56
78
|
OutlineViewTreeModel = __decorate([
|
|
57
79
|
(0, inversify_1.injectable)()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline-view-tree-model.js","sourceRoot":"","sources":["../../src/browser/outline-view-tree-model.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;AAEhF,4DAA0D;AAC1D,qDAAyG;AAGzG,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,uBAAa;IAEnD;;;;;OAKG;IACgB,eAAe,CAAC,IAAkC;QACjE,QAAQ;IACZ,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,GAAiC;QACxD,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,2BAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAClD;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACM,QAAQ,CAAC,GAA0B;QACxC,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;IACL,CAAC;
|
|
1
|
+
{"version":3,"file":"outline-view-tree-model.js","sourceRoot":"","sources":["../../src/browser/outline-view-tree-model.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;AAEhF,4DAA0D;AAC1D,qDAAyG;AAGzG,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,uBAAa;IAEnD;;;;;OAKG;IACgB,eAAe,CAAC,IAAkC;QACjE,QAAQ;IACZ,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,GAAiC;QACxD,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,2BAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAClD;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACM,QAAQ,CAAC,GAA0B;QACxC,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;IACL,CAAC;IAED,SAAS,CAAC,GAAc;QACpB,IAAI,2BAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;YAC3B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE;gBAC9B,IAAI,4BAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;oBAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBACzB;aACJ;SACJ;QACD,IAAI,4BAAkB,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACxB;IACL,CAAC;IAED,iBAAiB;QACb,IAAI,2BAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACpC,IAAI,CAAC,4BAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;oBACxC,OAAO,KAAK,CAAC;iBAChB;aACJ;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ,CAAA;AAxDY,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAwDhC;AAxDY,oDAAoB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { TreeWidget, TreeNode, NodeProps, SelectableTreeNode, CompositeTreeNode, TreeProps, ContextMenuRenderer, TreeModel, ExpandableTreeNode } from '@theia/core/lib/browser';
|
|
3
3
|
import { OutlineViewTreeModel } from './outline-view-tree-model';
|
|
4
4
|
import { Message } from '@theia/core/shared/@phosphor/messaging';
|
|
5
|
-
import { Emitter } from '@theia/core';
|
|
5
|
+
import { Emitter, Event } from '@theia/core';
|
|
6
6
|
import * as React from '@theia/core/shared/react';
|
|
7
7
|
import { Range } from '@theia/core/shared/vscode-languageserver-protocol';
|
|
8
8
|
/**
|
|
@@ -39,7 +39,10 @@ export declare class OutlineViewWidget extends TreeWidget {
|
|
|
39
39
|
readonly model: OutlineViewTreeModel;
|
|
40
40
|
static LABEL: string;
|
|
41
41
|
readonly onDidChangeOpenStateEmitter: Emitter<boolean>;
|
|
42
|
+
protected readonly onDidUpdateEmitter: Emitter<void>;
|
|
43
|
+
readonly onDidUpdate: Event<void>;
|
|
42
44
|
constructor(treeProps: TreeProps, model: OutlineViewTreeModel, contextMenuRenderer: ContextMenuRenderer);
|
|
45
|
+
protected init(): void;
|
|
43
46
|
/**
|
|
44
47
|
* Set the outline tree with the list of `OutlineSymbolInformationNode`.
|
|
45
48
|
* @param roots the list of `OutlineSymbolInformationNode`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline-view-widget.d.ts","sourceRoot":"","sources":["../../src/browser/outline-view-widget.tsx"],"names":[],"mappings":";AAiBA,OAAO,EACH,UAAU,EACV,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,kBAAkB,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAmC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"outline-view-widget.d.ts","sourceRoot":"","sources":["../../src/browser/outline-view-widget.tsx"],"names":[],"mappings":";AAiBA,OAAO,EACH,UAAU,EACV,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,kBAAkB,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAmC,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mDAAmD,CAAC;AAI1E;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB;IAC3G;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,yBAAiB,4BAA4B,CAAC;IAC1C;;;;;;;;;OASG;IACH,SAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,IAAI,4BAA4B,CAEvE;IAED,SAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAEhE;CACJ;AAED,oBAAY,wBAAwB,GAAG,MAAM,iBAAiB,CAAC;AAC/D,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E,qBACa,iBAAkB,SAAQ,UAAU;aAWO,KAAK,EAAE,oBAAoB;IAT/E,MAAM,CAAC,KAAK,SAAoC;IAEhD,QAAQ,CAAC,2BAA2B,mBAA0B;IAE9D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAiC;gBAG3C,SAAS,EAAE,SAAS,EACS,KAAK,EAAE,oBAAoB,EAC9C,mBAAmB,EAAE,mBAAmB;cAatD,IAAI,IAAI,IAAI;IAK/B;;;OAGG;IACI,cAAc,CAAC,KAAK,EAAE,4BAA4B,EAAE,GAAG,IAAI;IAOlE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,iBAAiB;IAU1D;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE;cAcxC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;cAK/B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKzC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS;cAOnD,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAQ/H;;;;;;;OAOG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;cAOzC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,IAAI,kBAAkB;cAIxD,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS;cAO7C,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;cAQzC,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;CAOhF"}
|
|
@@ -67,6 +67,8 @@ let OutlineViewWidget = OutlineViewWidget_1 = class OutlineViewWidget extends br
|
|
|
67
67
|
super(treeProps, model, contextMenuRenderer);
|
|
68
68
|
this.model = model;
|
|
69
69
|
this.onDidChangeOpenStateEmitter = new core_1.Emitter();
|
|
70
|
+
this.onDidUpdateEmitter = new core_1.Emitter();
|
|
71
|
+
this.onDidUpdate = this.onDidUpdateEmitter.event;
|
|
70
72
|
this.id = 'outline-view';
|
|
71
73
|
this.title.label = OutlineViewWidget_1.LABEL;
|
|
72
74
|
this.title.caption = OutlineViewWidget_1.LABEL;
|
|
@@ -74,6 +76,10 @@ let OutlineViewWidget = OutlineViewWidget_1 = class OutlineViewWidget extends br
|
|
|
74
76
|
this.title.iconClass = (0, browser_1.codicon)('symbol-class');
|
|
75
77
|
this.addClass('theia-outline-view');
|
|
76
78
|
}
|
|
79
|
+
init() {
|
|
80
|
+
super.init();
|
|
81
|
+
this.toDispose.push(this.model.onExpansionChanged(() => this.onDidUpdateEmitter.fire()));
|
|
82
|
+
}
|
|
77
83
|
/**
|
|
78
84
|
* Set the outline tree with the list of `OutlineSymbolInformationNode`.
|
|
79
85
|
* @param roots the list of `OutlineSymbolInformationNode`.
|
|
@@ -169,6 +175,12 @@ let OutlineViewWidget = OutlineViewWidget_1 = class OutlineViewWidget extends br
|
|
|
169
175
|
}
|
|
170
176
|
};
|
|
171
177
|
OutlineViewWidget.LABEL = nls_1.nls.localizeByDefault('Outline');
|
|
178
|
+
__decorate([
|
|
179
|
+
(0, inversify_1.postConstruct)(),
|
|
180
|
+
__metadata("design:type", Function),
|
|
181
|
+
__metadata("design:paramtypes", []),
|
|
182
|
+
__metadata("design:returntype", void 0)
|
|
183
|
+
], OutlineViewWidget.prototype, "init", null);
|
|
172
184
|
OutlineViewWidget = OutlineViewWidget_1 = __decorate([
|
|
173
185
|
(0, inversify_1.injectable)(),
|
|
174
186
|
__param(0, (0, inversify_1.inject)(browser_1.TreeProps)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline-view-widget.js","sourceRoot":"","sources":["../../src/browser/outline-view-widget.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8CAA8C;AAC9C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;;;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"outline-view-widget.js","sourceRoot":"","sources":["../../src/browser/outline-view-widget.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/outline-view",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.36.0-next.21+be025fcc0",
|
|
4
4
|
"description": "Theia - Outline View Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.
|
|
6
|
+
"@theia/core": "1.36.0-next.21+be025fcc0"
|
|
7
7
|
},
|
|
8
8
|
"publishConfig": {
|
|
9
9
|
"access": "public"
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"nyc": {
|
|
44
44
|
"extends": "../../configs/nyc.json"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "be025fcc0dc20d3ee81bd882eac4d6c398093d33"
|
|
47
47
|
}
|
|
@@ -32,13 +32,20 @@ export const OUTLINE_WIDGET_FACTORY_ID = 'outline-view';
|
|
|
32
32
|
*/
|
|
33
33
|
export namespace OutlineViewCommands {
|
|
34
34
|
/**
|
|
35
|
-
* Command which collapses all nodes
|
|
36
|
-
* from the `outline-view` tree.
|
|
35
|
+
* Command which collapses all nodes from the `outline-view` tree.
|
|
37
36
|
*/
|
|
38
37
|
export const COLLAPSE_ALL: Command = {
|
|
39
38
|
id: 'outlineView.collapse.all',
|
|
40
39
|
iconClass: codicon('collapse-all')
|
|
41
40
|
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Command which expands all nodes from the `outline-view` tree.
|
|
44
|
+
*/
|
|
45
|
+
export const EXPAND_ALL: Command = {
|
|
46
|
+
id: 'outlineView.expand.all',
|
|
47
|
+
iconClass: codicon('expand-all')
|
|
48
|
+
};
|
|
42
49
|
}
|
|
43
50
|
|
|
44
51
|
@injectable()
|
|
@@ -66,18 +73,33 @@ export class OutlineViewContribution extends AbstractViewContribution<OutlineVie
|
|
|
66
73
|
override registerCommands(commands: CommandRegistry): void {
|
|
67
74
|
super.registerCommands(commands);
|
|
68
75
|
commands.registerCommand(OutlineViewCommands.COLLAPSE_ALL, {
|
|
69
|
-
isEnabled:
|
|
70
|
-
isVisible:
|
|
76
|
+
isEnabled: w => this.withWidget(w, () => true),
|
|
77
|
+
isVisible: w => this.withWidget(w, widget => !widget.model.areNodesCollapsed()),
|
|
71
78
|
execute: () => this.collapseAllItems()
|
|
72
79
|
});
|
|
80
|
+
commands.registerCommand(OutlineViewCommands.EXPAND_ALL, {
|
|
81
|
+
isEnabled: w => this.withWidget(w, () => true),
|
|
82
|
+
isVisible: w => this.withWidget(w, widget => widget.model.areNodesCollapsed()),
|
|
83
|
+
execute: () => this.expandAllItems()
|
|
84
|
+
});
|
|
73
85
|
}
|
|
74
86
|
|
|
75
|
-
registerToolbarItems(toolbar: TabBarToolbarRegistry): void {
|
|
87
|
+
async registerToolbarItems(toolbar: TabBarToolbarRegistry): Promise<void> {
|
|
88
|
+
const widget = await this.widget;
|
|
89
|
+
const onDidChange = widget.onDidUpdate;
|
|
76
90
|
toolbar.registerItem({
|
|
77
91
|
id: OutlineViewCommands.COLLAPSE_ALL.id,
|
|
78
92
|
command: OutlineViewCommands.COLLAPSE_ALL.id,
|
|
79
93
|
tooltip: nls.localizeByDefault('Collapse All'),
|
|
80
|
-
priority: 0
|
|
94
|
+
priority: 0,
|
|
95
|
+
onDidChange
|
|
96
|
+
});
|
|
97
|
+
toolbar.registerItem({
|
|
98
|
+
id: OutlineViewCommands.EXPAND_ALL.id,
|
|
99
|
+
command: OutlineViewCommands.EXPAND_ALL.id,
|
|
100
|
+
tooltip: nls.localizeByDefault('Expand All'),
|
|
101
|
+
priority: 0,
|
|
102
|
+
onDidChange
|
|
81
103
|
});
|
|
82
104
|
}
|
|
83
105
|
|
|
@@ -92,6 +114,11 @@ export class OutlineViewContribution extends AbstractViewContribution<OutlineVie
|
|
|
92
114
|
}
|
|
93
115
|
}
|
|
94
116
|
|
|
117
|
+
protected async expandAllItems(): Promise<void> {
|
|
118
|
+
const { model } = await this.widget;
|
|
119
|
+
model.expandAll(model.root);
|
|
120
|
+
}
|
|
121
|
+
|
|
95
122
|
/**
|
|
96
123
|
* Determine if the current widget is the `outline-view`.
|
|
97
124
|
*/
|
|
@@ -49,4 +49,29 @@ export class OutlineViewTreeModel extends TreeModelImpl {
|
|
|
49
49
|
this.onOpenNodeEmitter.fire(node);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
|
|
53
|
+
expandAll(raw?: TreeNode): void {
|
|
54
|
+
if (CompositeTreeNode.is(raw)) {
|
|
55
|
+
for (const child of raw.children) {
|
|
56
|
+
if (ExpandableTreeNode.is(child)) {
|
|
57
|
+
this.expandAll(child);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (ExpandableTreeNode.is(raw)) {
|
|
62
|
+
this.expandNode(raw);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
areNodesCollapsed(): boolean {
|
|
67
|
+
if (CompositeTreeNode.is(this.root)) {
|
|
68
|
+
for (const child of this.root.children) {
|
|
69
|
+
if (!ExpandableTreeNode.isCollapsed(child)) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
|
|
52
77
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
17
|
+
import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
|
|
18
18
|
import {
|
|
19
19
|
TreeWidget,
|
|
20
20
|
TreeNode,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
} from '@theia/core/lib/browser';
|
|
30
30
|
import { OutlineViewTreeModel } from './outline-view-tree-model';
|
|
31
31
|
import { Message } from '@theia/core/shared/@phosphor/messaging';
|
|
32
|
-
import { Emitter, isObject, Mutable, UriSelection } from '@theia/core';
|
|
32
|
+
import { Emitter, Event, isObject, Mutable, UriSelection } from '@theia/core';
|
|
33
33
|
import * as React from '@theia/core/shared/react';
|
|
34
34
|
import { Range } from '@theia/core/shared/vscode-languageserver-protocol';
|
|
35
35
|
import URI from '@theia/core/lib/common/uri';
|
|
@@ -78,6 +78,9 @@ export class OutlineViewWidget extends TreeWidget {
|
|
|
78
78
|
|
|
79
79
|
readonly onDidChangeOpenStateEmitter = new Emitter<boolean>();
|
|
80
80
|
|
|
81
|
+
protected readonly onDidUpdateEmitter = new Emitter<void>();
|
|
82
|
+
readonly onDidUpdate: Event<void> = this.onDidUpdateEmitter.event;
|
|
83
|
+
|
|
81
84
|
constructor(
|
|
82
85
|
@inject(TreeProps) treeProps: TreeProps,
|
|
83
86
|
@inject(OutlineViewTreeModel) override readonly model: OutlineViewTreeModel,
|
|
@@ -93,6 +96,12 @@ export class OutlineViewWidget extends TreeWidget {
|
|
|
93
96
|
this.addClass('theia-outline-view');
|
|
94
97
|
}
|
|
95
98
|
|
|
99
|
+
@postConstruct()
|
|
100
|
+
protected override init(): void {
|
|
101
|
+
super.init();
|
|
102
|
+
this.toDispose.push(this.model.onExpansionChanged(() => this.onDidUpdateEmitter.fire()));
|
|
103
|
+
}
|
|
104
|
+
|
|
96
105
|
/**
|
|
97
106
|
* Set the outline tree with the list of `OutlineSymbolInformationNode`.
|
|
98
107
|
* @param roots the list of `OutlineSymbolInformationNode`.
|