mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -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 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 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 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 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 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); }
|
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 vscode from 'vscode';
|
||||||
|
import * as constants from '../common/constants';
|
||||||
|
|
||||||
import { BaseProjectTreeItem, SpacerTreeItem } from '../models/tree/baseTreeItem';
|
import { BaseProjectTreeItem, SpacerTreeItem } from '../models/tree/baseTreeItem';
|
||||||
import { ProjectRootTreeItem } from '../models/tree/projectTreeItem';
|
import { ProjectRootTreeItem } from '../models/tree/projectTreeItem';
|
||||||
@@ -39,6 +40,13 @@ export class SqlDatabaseProjectTreeViewProvider implements vscode.TreeDataProvid
|
|||||||
return element.children;
|
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
|
* Constructs a new set of root nodes from a list of Projects
|
||||||
* @param projects 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);
|
const projNode = this.roots.find(x => x instanceof ProjectRootTreeItem ? (<ProjectRootTreeItem>x).project === project : false);
|
||||||
|
|
||||||
if (projNode) {
|
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);
|
IconPathHelper.setExtensionContext(this.extensionContext);
|
||||||
|
|
||||||
// init view
|
// 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.dbProjectTreeViewProvider.setTreeView(treeView);
|
||||||
|
|
||||||
this.extensionContext.subscriptions.push(treeView);
|
this.extensionContext.subscriptions.push(treeView);
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ export class FolderNode extends BaseProjectTreeItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public get treeItem(): vscode.TreeItem {
|
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;
|
folderItem.contextValue = DatabaseProjectItemType.folder;
|
||||||
return folderItem;
|
return folderItem;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user