Merge pull request #3580 from vvlladd28/improvement/device-profile-provision

UI: Fixed disabled form in edit device-profile
This commit is contained in:
Igor Kulikov 2020-10-13 13:23:54 +03:00 committed by GitHub
commit 2b3a1ce818
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 7 deletions

View File

@ -14,7 +14,7 @@
/// limitations under the License. /// limitations under the License.
/// ///
import { Component, forwardRef, Input, OnInit } from "@angular/core"; import { Component, forwardRef, Input, OnInit } from '@angular/core';
import { import {
ControlValueAccessor, ControlValueAccessor,
FormBuilder, FormBuilder,
@ -25,13 +25,13 @@ import {
ValidationErrors, ValidationErrors,
Validator, Validator,
Validators Validators
} from "@angular/forms"; } from '@angular/forms';
import { coerceBooleanProperty } from "@angular/cdk/coercion"; import { coerceBooleanProperty } from '@angular/cdk/coercion';
import { import {
DeviceProvisionConfiguration, DeviceProvisionConfiguration,
DeviceProvisionType, DeviceProvisionType,
deviceProvisionTypeTranslationMap deviceProvisionTypeTranslationMap
} from "@shared/models/device.models"; } from '@shared/models/device.models';
import { generateSecret, isDefinedAndNotNull } from '@core/utils'; import { generateSecret, isDefinedAndNotNull } from '@core/utils';
@Component({ @Component({
@ -126,7 +126,11 @@ export class DeviceProfileProvisionConfigurationComponent implements ControlValu
if (this.disabled){ if (this.disabled){
this.provisionConfigurationFormGroup.disable(); this.provisionConfigurationFormGroup.disable();
} else { } else {
if (this.provisionConfigurationFormGroup.get('type').value !== DeviceProvisionType.DISABLED) {
this.provisionConfigurationFormGroup.enable({emitEvent: false}); this.provisionConfigurationFormGroup.enable({emitEvent: false});
} else {
this.provisionConfigurationFormGroup.get('type').enable({emitEvent: false});
}
} }
} }

View File

@ -94,8 +94,6 @@ export class DeviceProfileComponent extends EntityComponent<DeviceProfile> {
name: [entity ? entity.name : '', [Validators.required]], name: [entity ? entity.name : '', [Validators.required]],
type: [entity ? entity.type : null, [Validators.required]], type: [entity ? entity.type : null, [Validators.required]],
transportType: [entity ? entity.transportType : null, [Validators.required]], transportType: [entity ? entity.transportType : null, [Validators.required]],
provisionType: [deviceProvisionConfiguration.type, [Validators.required]],
provisionDeviceKey: [deviceProvisionConfiguration.provisionDeviceKey],
profileData: this.fb.group({ profileData: this.fb.group({
configuration: [entity && !this.isAdd ? entity.profileData?.configuration : {}, Validators.required], configuration: [entity && !this.isAdd ? entity.profileData?.configuration : {}, Validators.required],
transportConfiguration: [entity && !this.isAdd ? entity.profileData?.transportConfiguration : {}, Validators.required], transportConfiguration: [entity && !this.isAdd ? entity.profileData?.transportConfiguration : {}, Validators.required],