mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-17 02:51:36 -05:00
Remove data sources tree item from sql projects (#21842)
* remove data sources tree item from sql projects * remove data sources node name
This commit is contained in:
@@ -77,7 +77,6 @@ export const vscodeOpenCommand = 'vscode.open';
|
|||||||
export const refreshDataWorkspaceCommand = 'dataworkspace.refresh';
|
export const refreshDataWorkspaceCommand = 'dataworkspace.refresh';
|
||||||
|
|
||||||
// UI Strings
|
// UI Strings
|
||||||
export const dataSourcesNodeName = localize('dataSourcesNodeName', "Data Sources");
|
|
||||||
export const databaseReferencesNodeName = localize('databaseReferencesNodeName', "Database References");
|
export const databaseReferencesNodeName = localize('databaseReferencesNodeName', "Database References");
|
||||||
export const sqlcmdVariablesNodeName = localize('sqlcmdVariablesNodeName', "SQLCMD Variables");
|
export const sqlcmdVariablesNodeName = localize('sqlcmdVariablesNodeName', "SQLCMD Variables");
|
||||||
export const sqlConnectionStringFriendly = localize('sqlConnectionStringFriendly', "SQL connection string");
|
export const sqlConnectionStringFriendly = localize('sqlConnectionStringFriendly', "SQL connection string");
|
||||||
|
|||||||
@@ -1,88 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------------------------
|
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
||||||
*--------------------------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
import * as vscode from 'vscode';
|
|
||||||
import * as path from 'path';
|
|
||||||
import { BaseProjectTreeItem, MessageTreeItem } from './baseTreeItem';
|
|
||||||
import * as constants from '../../common/constants';
|
|
||||||
import { ProjectRootTreeItem } from './projectTreeItem';
|
|
||||||
import { DataSource } from '../dataSources/dataSources';
|
|
||||||
import { SqlConnectionDataSource } from '../dataSources/sqlConnectionStringSource';
|
|
||||||
import { IconPathHelper } from '../../common/iconHelper';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Folder for containing DataSource nodes in the tree
|
|
||||||
*/
|
|
||||||
export class DataSourcesTreeItem extends BaseProjectTreeItem {
|
|
||||||
private dataSources: DataSourceTreeItem[] = [];
|
|
||||||
|
|
||||||
constructor(project: ProjectRootTreeItem) {
|
|
||||||
super(vscode.Uri.file(path.join(project.projectUri.path, constants.dataSourcesNodeName)), project);
|
|
||||||
|
|
||||||
this.construct();
|
|
||||||
}
|
|
||||||
|
|
||||||
private construct() {
|
|
||||||
for (const dataSource of (this.parent as ProjectRootTreeItem).project.dataSources) {
|
|
||||||
this.dataSources.push(constructDataSourceTreeItem(dataSource, this));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public get children(): BaseProjectTreeItem[] {
|
|
||||||
return this.dataSources;
|
|
||||||
}
|
|
||||||
|
|
||||||
public get treeItem(): vscode.TreeItem {
|
|
||||||
const dataSources = new vscode.TreeItem(this.projectUri, vscode.TreeItemCollapsibleState.Collapsed);
|
|
||||||
dataSources.contextValue = constants.DatabaseProjectItemType.dataSourceRoot;
|
|
||||||
dataSources.iconPath = IconPathHelper.dataSourceGroup;
|
|
||||||
|
|
||||||
return dataSources;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract class DataSourceTreeItem extends BaseProjectTreeItem { }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tree item representing a SQL connection string data source
|
|
||||||
*/
|
|
||||||
export class SqlConnectionDataSourceTreeItem extends DataSourceTreeItem {
|
|
||||||
constructor(private dataSource: SqlConnectionDataSource, dataSourcesNode: DataSourcesTreeItem) {
|
|
||||||
super(vscode.Uri.file(path.join(dataSourcesNode.projectUri.path, dataSource.name)), dataSourcesNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
public get treeItem(): vscode.TreeItem {
|
|
||||||
let item = new vscode.TreeItem(this.projectUri, vscode.TreeItemCollapsibleState.Collapsed);
|
|
||||||
item.label = `${this.dataSource.name} (${this.dataSource.typeFriendlyName})`;
|
|
||||||
item.iconPath = IconPathHelper.dataSourceSql;
|
|
||||||
|
|
||||||
return item;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SQL connection string components, displayed as key-value pairs
|
|
||||||
*/
|
|
||||||
public get children(): BaseProjectTreeItem[] {
|
|
||||||
const result: MessageTreeItem[] = [];
|
|
||||||
|
|
||||||
for (const comp of Object.keys(this.dataSource.connectionStringComponents).sort()) {
|
|
||||||
result.push(new MessageTreeItem(`${comp}: ${this.dataSource.connectionStringComponents[comp]}`, this));
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a new TreeItem for the specific given DataSource type
|
|
||||||
*/
|
|
||||||
export function constructDataSourceTreeItem(dataSource: DataSource, dataSourcesNode: DataSourcesTreeItem): DataSourceTreeItem {
|
|
||||||
switch (dataSource.type) {
|
|
||||||
case SqlConnectionDataSource.type:
|
|
||||||
return new SqlConnectionDataSourceTreeItem(dataSource as SqlConnectionDataSource, dataSourcesNode);
|
|
||||||
default:
|
|
||||||
throw new Error(constants.unknownDataSourceType + dataSource.type); // TODO: elegant handling of unknown dataSource type instead of failure
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
import * as vscode from 'vscode';
|
import * as vscode from 'vscode';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import { DataSourcesTreeItem } from './dataSourceTreeItem';
|
|
||||||
import { BaseProjectTreeItem } from './baseTreeItem';
|
import { BaseProjectTreeItem } from './baseTreeItem';
|
||||||
import * as fileTree from './fileFolderTreeItem';
|
import * as fileTree from './fileFolderTreeItem';
|
||||||
import { Project } from '../project';
|
import { Project } from '../project';
|
||||||
@@ -22,7 +21,6 @@ import { SqlCmdVariablesTreeItem } from './sqlcmdVariableTreeItem';
|
|||||||
* TreeNode root that represents an entire project
|
* TreeNode root that represents an entire project
|
||||||
*/
|
*/
|
||||||
export class ProjectRootTreeItem extends BaseProjectTreeItem {
|
export class ProjectRootTreeItem extends BaseProjectTreeItem {
|
||||||
dataSourceNode: DataSourcesTreeItem;
|
|
||||||
databaseReferencesNode: DatabaseReferencesTreeItem;
|
databaseReferencesNode: DatabaseReferencesTreeItem;
|
||||||
sqlCmdVariablesNode: SqlCmdVariablesTreeItem;
|
sqlCmdVariablesNode: SqlCmdVariablesTreeItem;
|
||||||
fileChildren: { [childName: string]: (fileTree.FolderNode | fileTree.FileNode) } = {};
|
fileChildren: { [childName: string]: (fileTree.FolderNode | fileTree.FileNode) } = {};
|
||||||
@@ -34,7 +32,6 @@ export class ProjectRootTreeItem extends BaseProjectTreeItem {
|
|||||||
|
|
||||||
this.project = project;
|
this.project = project;
|
||||||
this.fileSystemUri = vscode.Uri.file(project.projectFilePath);
|
this.fileSystemUri = vscode.Uri.file(project.projectFilePath);
|
||||||
this.dataSourceNode = new DataSourcesTreeItem(this);
|
|
||||||
this.databaseReferencesNode = new DatabaseReferencesTreeItem(this);
|
this.databaseReferencesNode = new DatabaseReferencesTreeItem(this);
|
||||||
this.sqlCmdVariablesNode = new SqlCmdVariablesTreeItem(this);
|
this.sqlCmdVariablesNode = new SqlCmdVariablesTreeItem(this);
|
||||||
this.construct();
|
this.construct();
|
||||||
@@ -42,8 +39,6 @@ export class ProjectRootTreeItem extends BaseProjectTreeItem {
|
|||||||
|
|
||||||
public get children(): BaseProjectTreeItem[] {
|
public get children(): BaseProjectTreeItem[] {
|
||||||
const output: BaseProjectTreeItem[] = [];
|
const output: BaseProjectTreeItem[] = [];
|
||||||
// [8/31/2020] Hiding Data source for Preview since we do not have a way to add or update those.
|
|
||||||
// output.push(this.dataSourceNode);
|
|
||||||
output.push(this.databaseReferencesNode);
|
output.push(this.databaseReferencesNode);
|
||||||
output.push(this.sqlCmdVariablesNode);
|
output.push(this.sqlCmdVariablesNode);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user