Skip to content

Commit 9ce95a3

Browse files
authored
Queries panel: Expand/collapse child nodes (#2419)
1 parent 1dc83c5 commit 9ce95a3

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

extensions/ql-vscode/src/queries-panel/query-tree-data-provider.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,13 @@ export class QueryTreeDataProvider
1717
private createTree(): QueryTreeViewItem[] {
1818
// Temporary mock data, just to populate the tree view.
1919
return [
20-
{
21-
label: "name1",
22-
tooltip: "path1",
23-
children: [],
24-
},
20+
new QueryTreeViewItem("name1", "path1", []),
21+
new QueryTreeViewItem("name2", "path2", [
22+
new QueryTreeViewItem("name3", "path3", []),
23+
new QueryTreeViewItem("name4", "path4", [
24+
new QueryTreeViewItem("name5", "path5", []),
25+
]),
26+
]),
2527
];
2628
}
2729

@@ -46,9 +48,9 @@ export class QueryTreeDataProvider
4648
): vscode.ProviderResult<QueryTreeViewItem[]> {
4749
if (!item) {
4850
// We're at the root.
49-
return Promise.resolve(this.queryTreeItems);
51+
return this.queryTreeItems;
5052
} else {
51-
return Promise.resolve(item.children);
53+
return item.children;
5254
}
5355
}
5456
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
import * as vscode from "vscode";
22

33
export class QueryTreeViewItem extends vscode.TreeItem {
4+
public collapsibleState: vscode.TreeItemCollapsibleState;
45
constructor(
56
public readonly label: string,
67
public readonly tooltip: string | undefined,
78
public readonly children: QueryTreeViewItem[],
89
) {
910
super(label);
11+
this.collapsibleState = this.children.length
12+
? vscode.TreeItemCollapsibleState.Collapsed
13+
: vscode.TreeItemCollapsibleState.None;
1014
}
1115
}

0 commit comments

Comments
 (0)