UI: Refactoring
This commit is contained in:
parent
e0220ed611
commit
7568f5fe70
@ -14,7 +14,7 @@
|
||||
/// limitations under the License.
|
||||
///
|
||||
|
||||
import { Component, ElementRef, forwardRef, Input, OnInit, SimpleChanges, ViewChild } from '@angular/core';
|
||||
import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild } from '@angular/core';
|
||||
import { ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';
|
||||
import { merge, Observable, of, Subject } from 'rxjs';
|
||||
import { catchError, debounceTime, map, share, switchMap, tap } from 'rxjs/operators';
|
||||
@ -31,7 +31,7 @@ import { OtaPackageService } from '@core/http/ota-package.service';
|
||||
import { PageLink } from '@shared/models/page/page-link';
|
||||
import { Direction } from '@shared/models/page/sort-order';
|
||||
import { emptyPageData } from '@shared/models/page/page-data';
|
||||
import { getEntityDetailsPageURL, isEqual } from '@core/utils';
|
||||
import { getEntityDetailsPageURL } from '@core/utils';
|
||||
|
||||
@Component({
|
||||
selector: 'tb-ota-package-autocomplete',
|
||||
@ -49,11 +49,29 @@ export class OtaPackageAutocompleteComponent implements ControlValueAccessor, On
|
||||
|
||||
modelValue: string | EntityId | null;
|
||||
|
||||
@Input()
|
||||
type = OtaUpdateType.FIRMWARE;
|
||||
private otaUpdateType: OtaUpdateType;
|
||||
|
||||
get type(): OtaUpdateType {
|
||||
return this.otaUpdateType;
|
||||
}
|
||||
|
||||
@Input()
|
||||
deviceProfileId: string;
|
||||
set type(value ) {
|
||||
this.otaUpdateType = value ? value : OtaUpdateType.FIRMWARE;
|
||||
this.reset();
|
||||
}
|
||||
|
||||
private deviceProfile: string;
|
||||
|
||||
get deviceProfileId(): string {
|
||||
return this.deviceProfile;
|
||||
}
|
||||
|
||||
@Input()
|
||||
set deviceProfileId(value: string) {
|
||||
this.deviceProfile = value;
|
||||
this.reset();
|
||||
}
|
||||
|
||||
@Input()
|
||||
labelText: string;
|
||||
@ -135,19 +153,6 @@ export class OtaPackageAutocompleteComponent implements ControlValueAccessor, On
|
||||
this.filteredPackages = merge(this.cleanFilteredPackages, getPackages);
|
||||
}
|
||||
|
||||
ngOnChanges(changes: SimpleChanges): void {
|
||||
for (const propName of Object.keys(changes)) {
|
||||
const change = changes[propName];
|
||||
if (!change.firstChange && !isEqual(change.currentValue, change.previousValue)) {
|
||||
const currentEntityGroup = this.getCurrentEntity();
|
||||
if (!currentEntityGroup) {
|
||||
this.reset();
|
||||
this.dirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ngAfterViewInit(): void {
|
||||
}
|
||||
|
||||
@ -251,7 +256,7 @@ export class OtaPackageAutocompleteComponent implements ControlValueAccessor, On
|
||||
}
|
||||
|
||||
clear() {
|
||||
this.otaPackageFormGroup.get('packageId').patchValue('', {emitEvent: true});
|
||||
this.otaPackageFormGroup.get('packageId').patchValue('');
|
||||
setTimeout(() => {
|
||||
this.packageInput.nativeElement.blur();
|
||||
this.packageInput.nativeElement.focus();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user