UI: Minor improvement of excludeVersions in mqtt version select.
This commit is contained in:
parent
ef385c4fa9
commit
050fa670af
@ -14,7 +14,7 @@
|
||||
/// limitations under the License.
|
||||
///
|
||||
|
||||
import { Component, forwardRef, Input } from '@angular/core';
|
||||
import { Component, forwardRef, Input, OnChanges, SimpleChanges } from '@angular/core';
|
||||
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
|
||||
import { coerceBoolean } from '@shared/decorators/coercion';
|
||||
import { SubscriptSizing, MatFormFieldAppearance } from '@angular/material/form-field';
|
||||
@ -30,7 +30,7 @@ import { MqttVersionTranslation, MqttVersion } from '@shared/models/mqtt.models'
|
||||
multi: true
|
||||
}]
|
||||
})
|
||||
export class MqttVersionSelectComponent implements ControlValueAccessor {
|
||||
export class MqttVersionSelectComponent implements ControlValueAccessor, OnChanges {
|
||||
|
||||
@Input()
|
||||
disabled: boolean;
|
||||
@ -44,10 +44,7 @@ export class MqttVersionSelectComponent implements ControlValueAccessor {
|
||||
@Input()
|
||||
excludeVersions: MqttVersion[];
|
||||
|
||||
get mqttVersions(): MqttVersion[] {
|
||||
return Object.values(MqttVersion).filter(v => !this.excludeVersions || !this.excludeVersions.includes(v));
|
||||
}
|
||||
|
||||
mqttVersions = Object.values(MqttVersion);
|
||||
mqttVersionTranslation = MqttVersionTranslation;
|
||||
modelValue: MqttVersion;
|
||||
|
||||
@ -60,6 +57,20 @@ export class MqttVersionSelectComponent implements ControlValueAccessor {
|
||||
constructor() {
|
||||
}
|
||||
|
||||
ngOnChanges(changes: SimpleChanges): void {
|
||||
for (const propName of Object.keys(changes)) {
|
||||
const change = changes[propName];
|
||||
if (propName === 'excludeVersions' && change.currentValue !== change.previousValue) {
|
||||
const excludeVersions = change.currentValue;
|
||||
if (excludeVersions?.length) {
|
||||
this.mqttVersions = Object.values(MqttVersion).filter(v => !excludeVersions.includes(v));
|
||||
} else {
|
||||
this.mqttVersions = Object.values(MqttVersion);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
registerOnChange(fn: any): void {
|
||||
this.propagateChange = fn;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user