diff --git a/extensions/sql-database-projects/src/common/constants.ts b/extensions/sql-database-projects/src/common/constants.ts index 6b85170b8493..b88b378dc855 100644 --- a/extensions/sql-database-projects/src/common/constants.ts +++ b/extensions/sql-database-projects/src/common/constants.ts @@ -38,6 +38,7 @@ export const dataSourceRadioButtonLabel = localize('dataSourceRadioButtonLabel', export const connectionRadioButtonLabel = localize('connectionRadioButtonLabel', "Connections"); export const selectConnectionRadioButtonsTitle = localize('selectconnectionRadioButtonsTitle', "Specify connection from:"); export const dataSourceDropdownTitle = localize('dataSourceDropdownTitle', "Data source"); +export const noDataSourcesText = localize('noDataSourcesText', "No data sources in this project"); // Error messages diff --git a/extensions/sql-database-projects/src/dialogs/deployDatabaseDialog.ts b/extensions/sql-database-projects/src/dialogs/deployDatabaseDialog.ts index 6adc96093fe1..a35029dcdaa7 100644 --- a/extensions/sql-database-projects/src/dialogs/deployDatabaseDialog.ts +++ b/extensions/sql-database-projects/src/dialogs/deployDatabaseDialog.ts @@ -70,7 +70,7 @@ export class DeployDatabaseDialog { ariaLabel: constants.databaseNameLabel }).component(); - this.dataSourcesFormComponent = this.createDataSourcesDropdown(view); + this.dataSourcesFormComponent = this.createDataSourcesFormComponent(view); this.targetDatabaseTextBox.onTextChanged(() => { this.tryEnableGenerateScriptAndOkButtons(); @@ -178,6 +178,18 @@ export class DeployDatabaseDialog { }; } + private createDataSourcesFormComponent(view: azdata.ModelView): azdata.FormComponent { + if (this.project.dataSources.length > 0) { + return this.createDataSourcesDropdown(view); + } else { + const noDataSourcesText = view.modelBuilder.text().withProperties({ value: constants.noDataSourcesText }).component(); + return { + title: constants.dataSourceDropdownTitle, + component: noDataSourcesText + }; + } + } + private createDataSourcesDropdown(view: azdata.ModelView): azdata.FormComponent { let dataSourcesValues: DataSourceDropdownValue[] = [];