fix dropdown component issue (#1709)

* fix dropdown component issue

* handle enable property default
This commit is contained in:
Alan Ren
2018-06-21 18:00:07 -07:00
committed by GitHub
parent 6c5fac997f
commit 322847469d
3 changed files with 10 additions and 13 deletions

View File

@@ -98,10 +98,6 @@ export abstract class ComponentBase extends Disposable implements IComponent, On
if (enabled === undefined) {
enabled = true;
properties['enabled'] = enabled;
this.fireEvent({
eventType: ComponentEventType.PropertiesChanged,
args: this.getProperties()
});
}
return <boolean>enabled;
}

View File

@@ -145,15 +145,11 @@ export default class DropDownComponent extends ComponentBase implements ICompone
private getSelectedValue(): string {
if (this.values && this.values.length > 0 && this.valuesHaveDisplayName()) {
let selectedValue = <sqlops.CategoryValue>this.value || <sqlops.CategoryValue>this.values[0];
if (!this.value) {
this.value = selectedValue;
}
let valueCategory = (<sqlops.CategoryValue[]>this.values).find(v => v.name === selectedValue.name);
return valueCategory && valueCategory.displayName;
} else {
if (!this.value && this.values && this.values.length > 0) {
this.value = <string>this.values[0];
return <string>this.values[0];
}
return <string>this.value;
}
@@ -198,11 +194,11 @@ export default class DropDownComponent extends ComponentBase implements ICompone
this.setPropertyFromUI<sqlops.DropDownProperties, string[] | sqlops.CategoryValue[]>(this.setValuesProperties, newValue);
}
private setValueProperties(properties: sqlops.DropDownProperties, value: string): void {
private setValueProperties(properties: sqlops.DropDownProperties, value: string | sqlops.CategoryValue): void {
properties.value = value;
}
private setValuesProperties(properties: sqlops.DropDownProperties, values: string[]): void {
private setValuesProperties(properties: sqlops.DropDownProperties, values: string[] | sqlops.CategoryValue[]): void {
properties.values = values;
}
}

View File

@@ -380,7 +380,8 @@ class ComponentWrapper implements sqlops.Component {
}
public get enabled(): boolean {
return this.properties['enabled'];
let isEnabled = this.properties['enabled'];
return (isEnabled === undefined) ? true : isEnabled;
}
public set enabled(value: boolean) {
@@ -782,7 +783,11 @@ class DropDownWrapper extends ComponentWrapper implements sqlops.DropDownCompone
}
public get value(): string | sqlops.CategoryValue {
return this.properties['value'];
let val = this.properties['value'];
if (!val && this.values && this.values.length > 0) {
val = this.values[0];
}
return val;
}
public set value(v: string | sqlops.CategoryValue) {
this.setProperty('value', v);