Adds welcome message for database projects (#10820)

* Removing duplicate Import command piping

* Adding welcome message + buttons

* Adding welcome button to Import

* Correcting typos
This commit is contained in:
Benjin Dubishar
2020-06-09 15:29:01 -07:00
committed by GitHub
parent 6c68d742a7
commit 24e6ed5075
5 changed files with 26 additions and 22 deletions

View File

@@ -24,7 +24,6 @@ export const databaseSchemaProvider = 'DatabaseSchemaProvider';
// UI Strings
export const noOpenProjectMessage = localize('noProjectOpenMessage', "No open database project");
export const projectNodeName = localize('projectNodeName', "Database Project");
export const dataSourcesNodeName = localize('dataSourcesNodeName', "Data Sources");
export const sqlConnectionStringFriendly = localize('sqlConnectionStringFriendly', "SQL connection string");
@@ -84,6 +83,7 @@ export const dacpacFileLocationRequired = localize('dacpacFileLocationRequired',
export const databaseLocationRequired = localize('databaseLocation', "Database location is required for adding a reference to a database");
export const databaseNameRequired = localize('databaseNameRequired', "Database name is required for adding a reference to a different database");
export const invalidDataSchemaProvider = localize('invalidDataSchemaProvider', "Invalid DSP in .sqlproj file");
export const databaseSelectionRequired = localize('databaseSelectionRequired', "Database selection is required to import a project");
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); }

View File

@@ -4,9 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import * as vscode from 'vscode';
import * as constants from '../common/constants';
import { BaseProjectTreeItem, MessageTreeItem, SpacerTreeItem } from '../models/tree/baseTreeItem';
import { BaseProjectTreeItem, SpacerTreeItem } from '../models/tree/baseTreeItem';
import { ProjectRootTreeItem } from '../models/tree/projectTreeItem';
import { Project } from '../models/project';
@@ -25,7 +24,7 @@ export class SqlDatabaseProjectTreeViewProvider implements vscode.TreeDataProvid
}
private initialize() {
this.roots = [new MessageTreeItem(constants.noOpenProjectMessage)];
this.roots = [];
}
public getTreeItem(element: BaseProjectTreeItem): vscode.TreeItem {

View File

@@ -518,6 +518,19 @@ export class ProjectsController {
model.serverId = profile.id;
model.database = profile.databaseName;
}
else {
const connectionId = (await this.apiWrapper.openConnectionDialog()).connectionId;
const databaseList = await this.apiWrapper.listDatabases(connectionId);
const database = (await this.apiWrapper.showQuickPick(databaseList.map(dbName => { return { label: dbName }; })))?.label;
if (!database) {
throw new Error(constants.databaseSelectionRequired);
}
model.serverId = connectionId;
model.database = database;
}
// Get project name
let newProjName = await this.getProjectName(model.database);