diff --git a/src/sql/base/browser/ui/selectBox/selectBox.ts b/src/sql/base/browser/ui/selectBox/selectBox.ts index 9d5cebab61..c70b2d570c 100644 --- a/src/sql/base/browser/ui/selectBox/selectBox.ts +++ b/src/sql/base/browser/ui/selectBox/selectBox.ts @@ -216,6 +216,14 @@ export class SelectBox extends vsSelectBox { let selectOptions: SelectOptionItemSQL[] = SelectBox.createOptions(options); this.populateOptionsDictionary(selectOptions); super.setOptions(selectOptions, selected); + // Adding following since setOptions from super alone is not setting this._selectedOption + let selectedOptionIndex = this._optionsDictionary.get(this._selectedOption); + if (selectedOptionIndex === selected) { + return; + } + if (this._dialogOptions !== undefined) { + this._selectedOption = this._dialogOptions[selected]?.value; + } } public get value(): string { diff --git a/src/sql/workbench/contrib/backup/browser/backup.component.ts b/src/sql/workbench/contrib/backup/browser/backup.component.ts index 33c92bd2bf..a71b65b205 100644 --- a/src/sql/workbench/contrib/backup/browser/backup.component.ts +++ b/src/sql/workbench/contrib/backup/browser/backup.component.ts @@ -740,9 +740,10 @@ export class BackupComponent extends AngularDisposable { } private setDefaultBackupName(): void { - if (this.backupNameBox && (!this.backupNameBox.value || this.backupNameBox.value.trim().length === 0)) { + const suggestedNamePrefix = this.databaseName + '-' + this.getSelectedBackupType().replace(' ', '-'); + if (this.backupNameBox && (!this.backupNameBox.value || this.backupNameBox.value.trim().length === 0 || !this.backupNameBox.value.startsWith(suggestedNamePrefix))) { let utc = new Date().toJSON().slice(0, 19); - this.backupNameBox.value = this.databaseName + '-' + this.getSelectedBackupType() + '-' + utc; + this.backupNameBox.value = suggestedNamePrefix + '-' + utc; } }