mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-19 17:22:48 -05:00
Expand/collapse all node options (#11728)
* Implementing expand and collapse nodes * adding constants for error messages * Removing expand all database projects functionality * Reformatting imports
This commit is contained in:
@@ -110,6 +110,7 @@ export const invalidDatabaseReference = localize('invalidDatabaseReference', "In
|
||||
export const databaseSelectionRequired = localize('databaseSelectionRequired', "Database selection is required to import a project");
|
||||
export const databaseReferenceAlreadyExists = localize('databaseReferenceAlreadyExists', "A reference to this database already exists in this project");
|
||||
export const ousiderFolderPath = localize('outsideFolderPath', "Items with absolute path outside project folder are not supported. Please make sure the paths in the project file are relative to project folder.");
|
||||
export const parentTreeItemUnknown = localize('parentTreeItemUnknown', "Cannot access parent of provided tree item");
|
||||
export function projectAlreadyOpened(path: string) { return localize('projectAlreadyOpened', "Project '{0}' is already opened.", path); }
|
||||
export function projectAlreadyExists(name: string, path: string) { return localize('projectAlreadyExists', "A project named {0} already exists in {1}.", name, path); }
|
||||
export function noFileExist(fileName: string) { return localize('noFileExist', "File {0} doesn't exist", fileName); }
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as vscode from 'vscode';
|
||||
import * as constants from '../common/constants';
|
||||
|
||||
import { BaseProjectTreeItem, SpacerTreeItem } from '../models/tree/baseTreeItem';
|
||||
import { ProjectRootTreeItem } from '../models/tree/projectTreeItem';
|
||||
@@ -39,6 +40,13 @@ export class SqlDatabaseProjectTreeViewProvider implements vscode.TreeDataProvid
|
||||
return element.children;
|
||||
}
|
||||
|
||||
public getParent(element: BaseProjectTreeItem): BaseProjectTreeItem {
|
||||
if (!element.parent) {
|
||||
throw new Error(constants.parentTreeItemUnknown);
|
||||
}
|
||||
return element.parent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new set of root nodes from a list of Projects
|
||||
* @param projects List of Projects
|
||||
@@ -71,7 +79,7 @@ export class SqlDatabaseProjectTreeViewProvider implements vscode.TreeDataProvid
|
||||
const projNode = this.roots.find(x => x instanceof ProjectRootTreeItem ? (<ProjectRootTreeItem>x).project === project : false);
|
||||
|
||||
if (projNode) {
|
||||
this.treeView?.reveal(projNode, { focus: true, expand: true });
|
||||
await this.treeView?.reveal(projNode, { focus: true, expand: true });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,10 @@ export default class MainController implements vscode.Disposable {
|
||||
IconPathHelper.setExtensionContext(this.extensionContext);
|
||||
|
||||
// init view
|
||||
const treeView = vscode.window.createTreeView(SQL_DATABASE_PROJECTS_VIEW_ID, { treeDataProvider: this.dbProjectTreeViewProvider });
|
||||
const treeView = vscode.window.createTreeView(SQL_DATABASE_PROJECTS_VIEW_ID, {
|
||||
treeDataProvider: this.dbProjectTreeViewProvider,
|
||||
showCollapseAll: true
|
||||
});
|
||||
this.dbProjectTreeViewProvider.setTreeView(treeView);
|
||||
|
||||
this.extensionContext.subscriptions.push(treeView);
|
||||
|
||||
@@ -28,7 +28,7 @@ export class FolderNode extends BaseProjectTreeItem {
|
||||
}
|
||||
|
||||
public get treeItem(): vscode.TreeItem {
|
||||
const folderItem = new vscode.TreeItem(this.uri, vscode.TreeItemCollapsibleState.Expanded);
|
||||
const folderItem = new vscode.TreeItem(this.uri, vscode.TreeItemCollapsibleState.Collapsed);
|
||||
folderItem.contextValue = DatabaseProjectItemType.folder;
|
||||
return folderItem;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user