fix dacpac dropdowns selecting first db in dropdown instead of right clicked db (#14285)

This commit is contained in:
Kim Santiago
2021-02-16 10:23:22 -08:00
committed by GitHub
parent f4cf506290
commit 0c1b16d4fb
3 changed files with 22 additions and 7 deletions

View File

@@ -40,8 +40,13 @@ export abstract class DacFxConfigPage extends BasePage {
// Handle server changes
this.serverDropdown.onValueChanged(async () => {
this.model.server = (this.serverDropdown.value as ConnectionDropdownValue).connection;
this.model.serverName = (this.serverDropdown.value as ConnectionDropdownValue).displayName;
const serverDropdownValue = this.serverDropdown.value as ConnectionDropdownValue;
if (!serverDropdownValue) {
return;
}
this.model.server = serverDropdownValue.connection;
this.model.serverName = serverDropdownValue.displayName;
if (this.databaseDropdown) {
await this.populateDatabaseDropdown();
} else {
@@ -98,8 +103,13 @@ export abstract class DacFxConfigPage extends BasePage {
}).component();
// Handle database changes
this.databaseDropdown.onValueChanged(async () => {
this.model.database = <string>this.databaseDropdown.value;
this.databaseDropdown.onValueChanged(() => {
const databaseDropdownValue = this.databaseDropdown.value;
if (!databaseDropdownValue) {
return;
}
this.model.database = databaseDropdownValue as string;
this.fileTextBox.value = this.generateFilePathFromDatabaseAndTimestamp();
this.model.filePath = this.fileTextBox.value;
});

View File

@@ -297,7 +297,7 @@ export class DataTierApplicationWizard {
private cancelDataTierApplicationWizard(): void {
TelemetryReporter.createActionEvent(TelemetryViews.DataTierApplicationWizard, 'WizardCanceled')
.withAdditionalProperties({
isPotentialDataLoss: this.model.potentialDataLoss.toString()
isPotentialDataLoss: this.model.potentialDataLoss?.toString()
}).send();
}

View File

@@ -141,8 +141,13 @@ export class DeployConfigPage extends DacFxConfigPage {
}).component();
//Handle database changes
this.databaseDropdown.onValueChanged(async () => {
this.model.database = (<azdata.CategoryValue>this.databaseDropdown.value).name;
this.databaseDropdown.onValueChanged(() => {
const databaseDropdownValue = this.databaseDropdown.value as azdata.CategoryValue;
if (!databaseDropdownValue) {
return;
}
this.model.database = databaseDropdownValue.name;
});
this.databaseLoader = this.view.modelBuilder.loadingComponent().withItem(this.databaseDropdown).withProperties({