mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-16 17:22:29 -05:00
Scoping of project context menu items based on node type (#10902)
* Remove context menu items from files * More changes for context menu and adding test * change to initiate build
This commit is contained in:
@@ -336,8 +336,10 @@ export class Project {
|
||||
break;
|
||||
case EntryType.Folder:
|
||||
this.addFolderToProjFile(entry.relativePath);
|
||||
break;
|
||||
case EntryType.DatabaseReference:
|
||||
this.addDatabaseReferenceToProjFile(<DatabaseReferenceProjectEntry>entry);
|
||||
break; // not required but adding so that we dont miss when we add new items
|
||||
}
|
||||
|
||||
await this.serializeToProjFile(this.projFileXmlDoc);
|
||||
|
||||
@@ -34,7 +34,9 @@ export class DataSourcesTreeItem extends BaseProjectTreeItem {
|
||||
}
|
||||
|
||||
public get treeItem(): vscode.TreeItem {
|
||||
return new vscode.TreeItem(this.uri, vscode.TreeItemCollapsibleState.Collapsed);
|
||||
const dataSource = new vscode.TreeItem(this.uri, vscode.TreeItemCollapsibleState.Collapsed);
|
||||
dataSource.contextValue = constants.DatabaseProjectItemType.dataSourceRoot;
|
||||
return dataSource;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,8 @@ export class DatabaseReferencesTreeItem extends BaseProjectTreeItem {
|
||||
}
|
||||
|
||||
public get treeItem(): vscode.TreeItem {
|
||||
return new vscode.TreeItem(this.uri, vscode.TreeItemCollapsibleState.Collapsed);
|
||||
const refFolderItem = new vscode.TreeItem(this.uri, vscode.TreeItemCollapsibleState.Collapsed);
|
||||
refFolderItem.contextValue = constants.DatabaseProjectItemType.referencesRoot;
|
||||
return refFolderItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import * as path from 'path';
|
||||
import { BaseProjectTreeItem } from './baseTreeItem';
|
||||
import { ProjectRootTreeItem } from './projectTreeItem';
|
||||
import { Project } from '../project';
|
||||
import { DatabaseProjectItemType } from '../../common/constants';
|
||||
|
||||
/**
|
||||
* Node representing a folder in a project
|
||||
@@ -26,7 +27,9 @@ export class FolderNode extends BaseProjectTreeItem {
|
||||
}
|
||||
|
||||
public get treeItem(): vscode.TreeItem {
|
||||
return new vscode.TreeItem(this.uri, vscode.TreeItemCollapsibleState.Expanded);
|
||||
const folderItem = new vscode.TreeItem(this.uri, vscode.TreeItemCollapsibleState.Expanded);
|
||||
folderItem.contextValue = DatabaseProjectItemType.folder;
|
||||
return folderItem;
|
||||
}
|
||||
|
||||
public get project(): Project {
|
||||
@@ -58,7 +61,7 @@ export class FileNode extends BaseProjectTreeItem {
|
||||
arguments: [this.fileSystemUri]
|
||||
};
|
||||
|
||||
treeItem.contextValue = 'File';
|
||||
treeItem.contextValue = DatabaseProjectItemType.file;
|
||||
|
||||
return treeItem;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import * as fileTree from './fileFolderTreeItem';
|
||||
import { Project, ProjectEntry, EntryType } from '../project';
|
||||
import * as utils from '../../common/utils';
|
||||
import { DatabaseReferencesTreeItem } from './databaseReferencesTreeItem';
|
||||
import { DatabaseProjectItemType } from '../../common/constants';
|
||||
|
||||
/**
|
||||
* TreeNode root that represents an entire project
|
||||
@@ -40,7 +41,9 @@ export class ProjectRootTreeItem extends BaseProjectTreeItem {
|
||||
}
|
||||
|
||||
public get treeItem(): vscode.TreeItem {
|
||||
return new vscode.TreeItem(this.uri, vscode.TreeItemCollapsibleState.Expanded);
|
||||
const projectItem = new vscode.TreeItem(this.uri, vscode.TreeItemCollapsibleState.Expanded);
|
||||
projectItem.contextValue = DatabaseProjectItemType.project;
|
||||
return projectItem;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user