Browse Source

Made title read only on LwM2M resorces

pull/11198/head
mpetrov 2 years ago
parent
commit
573367e908
  1. 2
      ui-ngx/src/app/modules/home/pages/admin/resource/resources-library.component.html
  2. 38
      ui-ngx/src/app/modules/home/pages/admin/resource/resources-library.component.ts

2
ui-ngx/src/app/modules/home/pages/admin/resource/resources-library.component.html

@ -58,7 +58,7 @@
</mat-form-field> </mat-form-field>
<mat-form-field class="mat-block" *ngIf="entityForm.get('resourceType').value !== resourceType.LWM2M_MODEL || !isAdd"> <mat-form-field class="mat-block" *ngIf="entityForm.get('resourceType').value !== resourceType.LWM2M_MODEL || !isAdd">
<mat-label translate>resource.title</mat-label> <mat-label translate>resource.title</mat-label>
<input matInput formControlName="title" required> <input matInput formControlName="title" required [readonly]="entityForm.get('resourceType').value === resourceType.LWM2M_MODEL">
<mat-error *ngIf="entityForm.get('title').hasError('required')"> <mat-error *ngIf="entityForm.get('title').hasError('required')">
{{ 'resource.title-required' | translate }} {{ 'resource.title-required' | translate }}
</mat-error> </mat-error>

38
ui-ngx/src/app/modules/home/pages/admin/resource/resources-library.component.ts

@ -59,22 +59,7 @@ export class ResourcesLibraryComponent extends EntityComponent<Resource> impleme
ngOnInit() { ngOnInit() {
super.ngOnInit(); super.ngOnInit();
this.entityForm.get('resourceType').valueChanges.pipe( this.observeResourceTypeChange();
startWith(ResourceType.JS_MODULE),
filter(() => this.isAdd),
takeUntil(this.destroy$)
).subscribe((type) => {
if (type === this.resourceType.LWM2M_MODEL) {
this.entityForm.get('title').disable({emitEvent: false});
this.entityForm.patchValue({title: ''}, {emitEvent: false});
} else {
this.entityForm.get('title').enable({emitEvent: false});
}
this.entityForm.patchValue({
data: null,
fileName: null
}, {emitEvent: false});
});
} }
ngOnDestroy() { ngOnDestroy() {
@ -153,4 +138,25 @@ export class ResourcesLibraryComponent extends EntityComponent<Resource> impleme
horizontalPosition: 'right' horizontalPosition: 'right'
})); }));
} }
private observeResourceTypeChange(): void {
this.entityForm.get('resourceType').valueChanges.pipe(
startWith(ResourceType.JS_MODULE),
filter(() => this.isAdd),
takeUntil(this.destroy$)
).subscribe((type: ResourceType) => this.onResourceTypeChange(type));
}
private onResourceTypeChange(type: ResourceType): void {
if (type === this.resourceType.LWM2M_MODEL) {
this.entityForm.get('title').disable({emitEvent: false});
this.entityForm.patchValue({title: ''}, {emitEvent: false});
} else {
this.entityForm.get('title').enable({emitEvent: false});
}
this.entityForm.patchValue({
data: null,
fileName: null
}, {emitEvent: false});
}
} }

Loading…
Cancel
Save