Focus database projects view after open/import (#10760)

This commit is contained in:
Benjin Dubishar
2020-06-09 09:42:52 -07:00
committed by GitHub
parent 59575aa305
commit 02598621c3
4 changed files with 38 additions and 8 deletions

View File

@@ -15,6 +15,7 @@ import { Project } from '../models/project';
*/
export class SqlDatabaseProjectTreeViewProvider implements vscode.TreeDataProvider<BaseProjectTreeItem> {
private _onDidChangeTreeData: vscode.EventEmitter<BaseProjectTreeItem | undefined> = new vscode.EventEmitter<BaseProjectTreeItem | undefined>();
private treeView: vscode.TreeView<BaseProjectTreeItem> | undefined;
readonly onDidChangeTreeData: vscode.Event<BaseProjectTreeItem | undefined> = this._onDidChangeTreeData.event;
private roots: BaseProjectTreeItem[] = [];
@@ -58,4 +59,20 @@ export class SqlDatabaseProjectTreeViewProvider implements vscode.TreeDataProvid
this.roots = newRoots;
this._onDidChangeTreeData.fire(undefined);
}
public setTreeView(value: vscode.TreeView<BaseProjectTreeItem>) {
if (this.treeView) {
throw new Error('TreeView should not be set multiple times.');
}
this.treeView = value;
}
public async focus(project: Project) {
const projNode = this.roots.find(x => x instanceof ProjectRootTreeItem ? (<ProjectRootTreeItem>x).project === project : false);
if (projNode) {
this.treeView?.reveal(projNode, { focus: true, expand: true });
}
}
}