Commit db749c89 authored by Diogo Santos's avatar Diogo Santos
Browse files

Added Range Interval checkbox that hides/shows Value From and Value To fields

parent e547b929
Loading
Loading
Loading
Loading
+28 −13
Original line number Diff line number Diff line
@@ -131,12 +131,7 @@
                                </div>
                            </div>

                            <ng-container *ngIf="editFormCharacteristic.controls.valueType.value === 'INTEGER'  ||
                                                 editFormCharacteristic.controls.valueType.value === 'SMALLINT' ||
                                                 editFormCharacteristic.controls.valueType.value === 'LONGINT'  ||
                                                 subValueTypeCtrl.value === 'INTEGER'                           ||
                                                 subValueTypeCtrl.value === 'SMALLINT'                          ||
                                                 subValueTypeCtrl.value === 'LONGINT'">
                            <ng-container *ngIf="isRangeIntervalChecked[i]">
                                <mat-form-field class="col-lg-2 mt-2">
                                    <mat-label>Value From</mat-label>
                                    <input matInput formControlName="valueFrom">
@@ -159,6 +154,19 @@
                                </mat-checkbox>
                            </div>

                            <ng-container *ngIf="editFormCharacteristic.controls.valueType.value === 'INTEGER'  ||
                                                 editFormCharacteristic.controls.valueType.value === 'SMALLINT' ||
                                                 editFormCharacteristic.controls.valueType.value === 'LONGINT'  ||
                                                 subValueTypeCtrl.value === 'INTEGER'                           ||
                                                 subValueTypeCtrl.value === 'SMALLINT'                          ||
                                                 subValueTypeCtrl.value === 'LONGINT'">
                                <div class="col-lg-2 text-center mt-2">
                                    <mat-checkbox color="primary" (change)="toggleRangeInterval(i)">Range
                                        Interval
                                    </mat-checkbox>
                                </div>
                            </ng-container>

                            <div class="col-lg-2">
                                <div class="row">
                                    <div class="col-6">
@@ -188,12 +196,7 @@
                                </mat-form-field>
                            </div>

                            <ng-container *ngIf="editFormCharacteristic.controls.valueType.value === 'INTEGER'  ||
                                                 editFormCharacteristic.controls.valueType.value === 'SMALLINT' ||
                                                 editFormCharacteristic.controls.valueType.value === 'LONGINT'  ||
                                                 subValueTypeCtrl.value === 'INTEGER'                           ||
                                                 subValueTypeCtrl.value === 'SMALLINT'                          ||
                                                 subValueTypeCtrl.value === 'LONGINT'">
                            <ng-container *ngIf="isRangeIntervalChecked[i]">
                                <mat-form-field class="col-lg-2 mt-2 order-2 order-md-3">
                                    <mat-label>Value From</mat-label>
                                    <input matInput formControlName="valueFrom">
@@ -211,11 +214,23 @@
                            </mat-form-field>
                    
                            <div class="col-lg-2 text-center mt-2 order-5">
                                <mat-checkbox color="primary" formControlName="isDefault" (change)="isDefaultCheckboxChanged(i, $event)">Is
                                <mat-checkbox color="primary" (change)="isDefaultCheckboxChanged(i, $event)">Is
                                    Default
                                </mat-checkbox>
                            </div>

                            <ng-container *ngIf="editFormCharacteristic.controls.valueType.value === 'INTEGER'  ||
                                                 editFormCharacteristic.controls.valueType.value === 'SMALLINT' ||
                                                 editFormCharacteristic.controls.valueType.value === 'LONGINT'  ||
                                                 subValueTypeCtrl.value === 'INTEGER'                           ||
                                                 subValueTypeCtrl.value === 'SMALLINT'                          ||
                                                 subValueTypeCtrl.value === 'LONGINT'">
                                <div class="col-lg-2 text-center mt-2 order-5">
                                    <mat-checkbox color="primary" formControlName="rangeInterval" (change)="toggleRangeInterval(i)">Range 
                                        Interval
                                    </mat-checkbox>
                                </div>
                            </ng-container>

                            <div class="col-lg-2  order-6">
                                <div class="row">
+9 −1
Original line number Diff line number Diff line
@@ -58,6 +58,8 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit {

  isCharValueBlockExpanded: boolean[] = []

  isRangeIntervalChecked: boolean[] = []

  ngOnInit() {
    if (this.data.specToBeUpdated) {
      if (!this.data.specToBeUpdated.validFor) this.data.specToBeUpdated.validFor = {endDateTime:null, startDateTime:null}
@@ -67,6 +69,7 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit {
      this.data.specToBeUpdated.serviceSpecCharacteristicValue.forEach( val => {
        formArray.push(this.updateFormArrayItem(val))
        this.isCharValueBlockExpanded.push(false)
        this.isRangeIntervalChecked.push(false)
      })

      this.subValueTypeCtrl.patchValue(this.data.specToBeUpdated.serviceSpecCharacteristicValue[0].valueType)
@@ -163,18 +166,24 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit {
    )

    this.isCharValueBlockExpanded.push(false)
    this.isRangeIntervalChecked.push(false)
  }

  deleteFormArrayItem(index) {
    const formArray = this.editFormCharacteristic.get('serviceSpecCharacteristicValue') as UntypedFormArray
    formArray.removeAt(index)
    this.isCharValueBlockExpanded.splice(index, 1)
    this.isRangeIntervalChecked.splice(index, 1)
  }

  expandCharValueBlock(index) {
    this.isCharValueBlockExpanded[index] = !this.isCharValueBlockExpanded[index] 
  }

  toggleRangeInterval(index) {
    this.isRangeIntervalChecked[index] = !this.isRangeIntervalChecked[index]
  }

  isDefaultCheckboxChanged(index, event: MatCheckboxChange) {
    if (this.editFormCharacteristic.get('valueType').value === "ENUM" && event.checked) {
      const formArray = this.editFormCharacteristic.get('serviceSpecCharacteristicValue') as UntypedFormArray
@@ -184,7 +193,6 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit {
    }
  }


  closeDialog() { 
    this.dialogRef.close()
  }