Fix select box event ordering (#13831)

* Fix select box event ordering

* more fixes

* Fix page

* Revert typing change

* Undo param

* Fix compile error

* Completely remove typings
This commit is contained in:
Charles Gagnon
2020-12-17 09:51:10 -08:00
committed by GitHub
parent e9964a4dfd
commit 60f556428f
3 changed files with 9 additions and 7 deletions

View File

@@ -464,7 +464,7 @@ export class SchemaCompareDialog {
}
).component();
this.sourceServerDropdown.onValueChanged(async (value) => {
if (this.sourceServerDropdown.values.findIndex(x => this.matchesValue(x, value)) === -1) {
if (this.sourceServerDropdown.values.findIndex(x => this.matchesValue(x, value as string)) === -1) {
await this.sourceDatabaseDropdown.updateProperties({
values: [],
value: ' '
@@ -493,7 +493,7 @@ export class SchemaCompareDialog {
}
).component();
this.targetServerDropdown.onValueChanged(async (value) => {
if (this.targetServerDropdown.values.findIndex(x => this.matchesValue(x, value)) === -1) {
if (this.targetServerDropdown.values.findIndex(x => this.matchesValue(x, value as string)) === -1) {
await this.targetDatabaseDropdown.updateProperties({
values: [],
value: ' '
@@ -599,7 +599,7 @@ export class SchemaCompareDialog {
}
).component();
this.sourceDatabaseDropdown.onValueChanged(async (value) => {
this.sourceDbEditable = value;
this.sourceDbEditable = value as string;
this.dialog.okButton.enabled = await this.shouldEnableOkayButton();
});
@@ -618,7 +618,7 @@ export class SchemaCompareDialog {
}
).component();
this.targetDatabaseDropdown.onValueChanged(async (value) => {
this.targetDbEditable = value;
this.targetDbEditable = value as string;
this.dialog.okButton.enabled = await this.shouldEnableOkayButton();
});

View File

@@ -81,8 +81,8 @@ export class SelectBox extends vsSelectBox {
this._selectedOption = selectedOption;
this._register(super.onDidSelect(newSelect => {
this._onDidSelect.fire(newSelect);
this.onSelect(newSelect);
this._onDidSelect.fire(newSelect);
}));
this.enabledSelectBackground = this.selectBackground;

View File

@@ -80,7 +80,7 @@ export default class DropDownComponent extends ComponentBase<azdata.DropDownProp
this._register(attachEditableDropdownStyler(this._editableDropdown, this.themeService));
this._register(this._editableDropdown.onValueChange(async e => {
if (this.editable) {
this.setSelectedValue(this._editableDropdown.value);
this.setSelectedValue(e);
await this.validate();
this.fireEvent({
eventType: ComponentEventType.onDidChange,
@@ -97,8 +97,10 @@ export default class DropDownComponent extends ComponentBase<azdata.DropDownProp
this._register(attachSelectBoxStyler(this._selectBox, this.themeService));
this._register(this._selectBox.onDidSelect(async e => {
if (!this.editable) {
this.setSelectedValue(this._selectBox.value);
this.setSelectedValue(e.selected);
await this.validate();
// This is currently sending the ISelectData as the args, but to change this now would be a breaking
// change for extensions using it. So while not ideal this should be left as is for the time being.
this.fireEvent({
eventType: ComponentEventType.onDidChange,
args: e