refactoring
This commit is contained in:
		
							parent
							
								
									0b8c122f0a
								
							
						
					
					
						commit
						7624517a5e
					
				@ -120,47 +120,8 @@ export class ModbusSlaveDialogComponent extends DialogComponent<ModbusSlaveDialo
 | 
			
		||||
    super(store, router, dialogRef);
 | 
			
		||||
 | 
			
		||||
    this.showSecurityControl = this.fb.control(false);
 | 
			
		||||
    this.slaveConfigFormGroup = this.fb.group({
 | 
			
		||||
      name: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
 | 
			
		||||
      type: [ModbusProtocolType.TCP],
 | 
			
		||||
      host: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
 | 
			
		||||
      port: [null, [Validators.required, Validators.min(PortLimits.MIN), Validators.max(PortLimits.MAX)]],
 | 
			
		||||
      serialPort: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
 | 
			
		||||
      method: [ModbusMethodType.SOCKET, [Validators.required]],
 | 
			
		||||
      baudrate: [this.modbusBaudrates[0]],
 | 
			
		||||
      stopbits: [1],
 | 
			
		||||
      bytesize: [ModbusByteSizes[0]],
 | 
			
		||||
      parity: [ModbusParity.None],
 | 
			
		||||
      strict: [true],
 | 
			
		||||
      unitId: [0, [Validators.required]],
 | 
			
		||||
      deviceName: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
 | 
			
		||||
      deviceType: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
 | 
			
		||||
      sendDataOnlyOnChange: [false],
 | 
			
		||||
      timeout: [35],
 | 
			
		||||
      byteOrder: [ModbusOrderType.BIG],
 | 
			
		||||
      wordOrder: [ModbusOrderType.BIG],
 | 
			
		||||
      retries: [true],
 | 
			
		||||
      retryOnEmpty: [true],
 | 
			
		||||
      retryOnInvalid: [true],
 | 
			
		||||
      pollPeriod: [5000],
 | 
			
		||||
      connectAttemptTimeMs: [5000],
 | 
			
		||||
      connectAttemptCount: [5],
 | 
			
		||||
      waitAfterFailedAttemptsMs: [300000],
 | 
			
		||||
      values: [{}],
 | 
			
		||||
      security: [{}],
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    this.slaveConfigFormGroup.patchValue({
 | 
			
		||||
      ...this.data.value,
 | 
			
		||||
      port: this.data.value.type === ModbusProtocolType.Serial ? null : this.data.value.port,
 | 
			
		||||
      serialPort: this.data.value.type === ModbusProtocolType.Serial ? this.data.value.port : '',
 | 
			
		||||
      values: {
 | 
			
		||||
        attributes: this.data.value.attributes ?? [],
 | 
			
		||||
        timeseries: this.data.value.timeseries ?? [],
 | 
			
		||||
        attributeUpdates: this.data.value.attributeUpdates ?? [],
 | 
			
		||||
        rpc: this.data.value.rpc ?? [],
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    this.initializeSlaveFormGroup();
 | 
			
		||||
    this.updateSlaveFormGroup();
 | 
			
		||||
    this.updateControlsEnabling(this.data.value.type);
 | 
			
		||||
    this.observeTypeChange();
 | 
			
		||||
    this.observeShowSecurity();
 | 
			
		||||
@ -191,6 +152,51 @@ export class ModbusSlaveDialogComponent extends DialogComponent<ModbusSlaveDialo
 | 
			
		||||
    this.dialogRef.close(slaveResult);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private initializeSlaveFormGroup(): void {
 | 
			
		||||
    this.slaveConfigFormGroup = this.fb.group({
 | 
			
		||||
      name: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
 | 
			
		||||
      type: [ModbusProtocolType.TCP],
 | 
			
		||||
      host: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
 | 
			
		||||
      port: [null, [Validators.required, Validators.min(PortLimits.MIN), Validators.max(PortLimits.MAX)]],
 | 
			
		||||
      serialPort: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
 | 
			
		||||
      method: [ModbusMethodType.SOCKET, [Validators.required]],
 | 
			
		||||
      baudrate: [this.modbusBaudrates[0]],
 | 
			
		||||
      stopbits: [1],
 | 
			
		||||
      bytesize: [ModbusByteSizes[0]],
 | 
			
		||||
      parity: [ModbusParity.None],
 | 
			
		||||
      strict: [true],
 | 
			
		||||
      unitId: [0, [Validators.required]],
 | 
			
		||||
      deviceName: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
 | 
			
		||||
      deviceType: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
 | 
			
		||||
      sendDataOnlyOnChange: [false],
 | 
			
		||||
      timeout: [35],
 | 
			
		||||
      byteOrder: [ModbusOrderType.BIG],
 | 
			
		||||
      wordOrder: [ModbusOrderType.BIG],
 | 
			
		||||
      retries: [true],
 | 
			
		||||
      retryOnEmpty: [true],
 | 
			
		||||
      retryOnInvalid: [true],
 | 
			
		||||
      pollPeriod: [5000],
 | 
			
		||||
      connectAttemptTimeMs: [5000],
 | 
			
		||||
      connectAttemptCount: [5],
 | 
			
		||||
      waitAfterFailedAttemptsMs: [300000],
 | 
			
		||||
      values: [{}],
 | 
			
		||||
      security: [{}],
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private updateSlaveFormGroup(): void {
 | 
			
		||||
    this.slaveConfigFormGroup.patchValue({
 | 
			
		||||
      ...this.data.value,
 | 
			
		||||
      port: this.data.value.type === ModbusProtocolType.Serial ? null : this.data.value.port,
 | 
			
		||||
      serialPort: this.data.value.type === ModbusProtocolType.Serial ? this.data.value.port : '',
 | 
			
		||||
      values: {
 | 
			
		||||
        attributes: this.data.value.attributes ?? [],
 | 
			
		||||
        timeseries: this.data.value.timeseries ?? [],
 | 
			
		||||
        attributeUpdates: this.data.value.attributeUpdates ?? [],
 | 
			
		||||
        rpc: this.data.value.rpc ?? [],
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private observeTypeChange(): void {
 | 
			
		||||
    this.slaveConfigFormGroup.get('type').valueChanges
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user