Loading src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.html +6 −7 Original line number Diff line number Diff line Loading @@ -130,8 +130,7 @@ </div> </div> <ng-container *ngIf="isRangeIntervalChecked[i]"> <ng-container *ngIf="val.get('rangeInterval')?.value === 'closed'"> <mat-form-field class="col-lg-2 mt-2"> <mat-label>Value From</mat-label> <input matInput formControlName="valueFrom"> Loading Loading @@ -161,8 +160,8 @@ 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 color="primary" formControlName="rangeInterval" (change)="rangeIntervalCheckboxChanged(i, $event)"> Range Interval </mat-checkbox> </div> </ng-container> Loading Loading @@ -196,7 +195,7 @@ </mat-form-field> </div> <ng-container *ngIf="isRangeIntervalChecked[i]"> <ng-container *ngIf="val.get('rangeInterval')?.value === 'closed'"> <mat-form-field class="col-lg-2 mt-2 order-2 order-md-3"> <mat-label>Value From</mat-label> <input matInput formControlName="valueFrom"> Loading Loading @@ -226,8 +225,8 @@ 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 color="primary" formControlName="rangeInterval" (change)="rangeIntervalCheckboxChanged(i, $event)"> Range Interval </mat-checkbox> </div> </ng-container> Loading src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.ts +8 −21 Original line number Diff line number Diff line Loading @@ -58,8 +58,6 @@ 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} Loading @@ -69,7 +67,6 @@ 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) Loading Loading @@ -123,7 +120,6 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { updateFormArrayItem(CharValue: ServiceSpecCharacteristicValue): UntypedFormGroup { const rangeInterval = CharValue.valueFrom != null || CharValue.valueTo != null ? "closed" : null return new UntypedFormGroup({ value: new UntypedFormGroup({ alias: new UntypedFormControl(CharValue.value.alias), Loading @@ -134,7 +130,7 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { valueType: new UntypedFormControl(CharValue.valueType), valueFrom: new UntypedFormControl(CharValue.valueFrom), valueTo: new UntypedFormControl(CharValue.valueTo), rangeInterval: new UntypedFormControl(rangeInterval) rangeInterval: new UntypedFormControl(CharValue.rangeInterval) }) } Loading Loading @@ -166,24 +162,18 @@ 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 Loading @@ -193,6 +183,11 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { } } rangeIntervalCheckboxChanged(index, event: MatCheckboxChange) { const formArray = this.editFormCharacteristic.get('serviceSpecCharacteristicValue') as UntypedFormArray formArray.at(index).get('rangeInterval')?.setValue(event.checked ? 'closed' : null); } closeDialog() { this.dialogRef.close() } Loading @@ -200,15 +195,7 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { submitDialog() { if (this.newSpec) { const specChar = this.editFormCharacteristic.getRawValue(); // rangeInterval should not be null for integer characteristics in order to be validated by the API. // Without this code rangeInterval would be null and therefore no validation would be done. specChar.serviceSpecCharacteristicValue.forEach(value => { if (value.valueFrom != null || value.valueTo != null) { value.rangeInterval = 'closed'; } }); this.data.serviceSpec.serviceSpecCharacteristic.push(specChar); this.data.serviceSpec.serviceSpecCharacteristic.push(this.editFormCharacteristic.getRawValue()) } else { const updateCharacteristIndex = this.data.serviceSpec.serviceSpecCharacteristic.findIndex(char => char.id === this.data.specToBeUpdated.id) this.data.serviceSpec.serviceSpecCharacteristic[updateCharacteristIndex] = this.editFormCharacteristic.getRawValue() Loading Loading
src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.html +6 −7 Original line number Diff line number Diff line Loading @@ -130,8 +130,7 @@ </div> </div> <ng-container *ngIf="isRangeIntervalChecked[i]"> <ng-container *ngIf="val.get('rangeInterval')?.value === 'closed'"> <mat-form-field class="col-lg-2 mt-2"> <mat-label>Value From</mat-label> <input matInput formControlName="valueFrom"> Loading Loading @@ -161,8 +160,8 @@ 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 color="primary" formControlName="rangeInterval" (change)="rangeIntervalCheckboxChanged(i, $event)"> Range Interval </mat-checkbox> </div> </ng-container> Loading Loading @@ -196,7 +195,7 @@ </mat-form-field> </div> <ng-container *ngIf="isRangeIntervalChecked[i]"> <ng-container *ngIf="val.get('rangeInterval')?.value === 'closed'"> <mat-form-field class="col-lg-2 mt-2 order-2 order-md-3"> <mat-label>Value From</mat-label> <input matInput formControlName="valueFrom"> Loading Loading @@ -226,8 +225,8 @@ 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 color="primary" formControlName="rangeInterval" (change)="rangeIntervalCheckboxChanged(i, $event)"> Range Interval </mat-checkbox> </div> </ng-container> Loading
src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.ts +8 −21 Original line number Diff line number Diff line Loading @@ -58,8 +58,6 @@ 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} Loading @@ -69,7 +67,6 @@ 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) Loading Loading @@ -123,7 +120,6 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { updateFormArrayItem(CharValue: ServiceSpecCharacteristicValue): UntypedFormGroup { const rangeInterval = CharValue.valueFrom != null || CharValue.valueTo != null ? "closed" : null return new UntypedFormGroup({ value: new UntypedFormGroup({ alias: new UntypedFormControl(CharValue.value.alias), Loading @@ -134,7 +130,7 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { valueType: new UntypedFormControl(CharValue.valueType), valueFrom: new UntypedFormControl(CharValue.valueFrom), valueTo: new UntypedFormControl(CharValue.valueTo), rangeInterval: new UntypedFormControl(rangeInterval) rangeInterval: new UntypedFormControl(CharValue.rangeInterval) }) } Loading Loading @@ -166,24 +162,18 @@ 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 Loading @@ -193,6 +183,11 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { } } rangeIntervalCheckboxChanged(index, event: MatCheckboxChange) { const formArray = this.editFormCharacteristic.get('serviceSpecCharacteristicValue') as UntypedFormArray formArray.at(index).get('rangeInterval')?.setValue(event.checked ? 'closed' : null); } closeDialog() { this.dialogRef.close() } Loading @@ -200,15 +195,7 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { submitDialog() { if (this.newSpec) { const specChar = this.editFormCharacteristic.getRawValue(); // rangeInterval should not be null for integer characteristics in order to be validated by the API. // Without this code rangeInterval would be null and therefore no validation would be done. specChar.serviceSpecCharacteristicValue.forEach(value => { if (value.valueFrom != null || value.valueTo != null) { value.rangeInterval = 'closed'; } }); this.data.serviceSpec.serviceSpecCharacteristic.push(specChar); this.data.serviceSpec.serviceSpecCharacteristic.push(this.editFormCharacteristic.getRawValue()) } else { const updateCharacteristIndex = this.data.serviceSpec.serviceSpecCharacteristic.findIndex(char => char.id === this.data.specToBeUpdated.id) this.data.serviceSpec.serviceSpecCharacteristic[updateCharacteristIndex] = this.editFormCharacteristic.getRawValue() Loading