Loading src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.html +6 −7 Changes for src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.html: 6 added lines, 7 removed lines. Original line number Original line Diff line number Diff line Loading @@ -130,8 +130,7 @@ </div> </div> </div> </div> <ng-container *ngIf="val.get('rangeInterval')?.value === 'closed'"> <ng-container *ngIf="isRangeIntervalChecked[i]"> <mat-form-field class="col-lg-2 mt-2"> <mat-form-field class="col-lg-2 mt-2"> <mat-label>Value From</mat-label> <mat-label>Value From</mat-label> <input matInput formControlName="valueFrom"> <input matInput formControlName="valueFrom"> Loading Loading @@ -161,8 +160,8 @@ subValueTypeCtrl.value === 'SMALLINT' || subValueTypeCtrl.value === 'SMALLINT' || subValueTypeCtrl.value === 'LONGINT'"> subValueTypeCtrl.value === 'LONGINT'"> <div class="col-lg-2 text-center mt-2"> <div class="col-lg-2 text-center mt-2"> <mat-checkbox color="primary" (change)="toggleRangeInterval(i)">Range <mat-checkbox color="primary" formControlName="rangeInterval" (change)="rangeIntervalCheckboxChanged(i, $event)"> Interval Range Interval </mat-checkbox> </mat-checkbox> </div> </div> </ng-container> </ng-container> Loading Loading @@ -196,7 +195,7 @@ </mat-form-field> </mat-form-field> </div> </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-form-field class="col-lg-2 mt-2 order-2 order-md-3"> <mat-label>Value From</mat-label> <mat-label>Value From</mat-label> <input matInput formControlName="valueFrom"> <input matInput formControlName="valueFrom"> Loading Loading @@ -226,8 +225,8 @@ subValueTypeCtrl.value === 'SMALLINT' || subValueTypeCtrl.value === 'SMALLINT' || subValueTypeCtrl.value === 'LONGINT'"> subValueTypeCtrl.value === 'LONGINT'"> <div class="col-lg-2 text-center mt-2 order-5"> <div class="col-lg-2 text-center mt-2 order-5"> <mat-checkbox color="primary" formControlName="rangeInterval" (change)="toggleRangeInterval(i)">Range <mat-checkbox color="primary" formControlName="rangeInterval" (change)="rangeIntervalCheckboxChanged(i, $event)"> Interval Range Interval </mat-checkbox> </mat-checkbox> </div> </div> </ng-container> </ng-container> Loading src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.ts +7 −20 Changes for src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.ts: 7 added lines, 20 removed lines. Original line number Original line Diff line number Diff line Loading @@ -58,8 +58,6 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { isCharValueBlockExpanded: boolean[] = [] isCharValueBlockExpanded: boolean[] = [] isRangeIntervalChecked: boolean[] = [] ngOnInit() { ngOnInit() { if (this.data.specToBeUpdated) { if (this.data.specToBeUpdated) { if (!this.data.specToBeUpdated.validFor) this.data.specToBeUpdated.validFor = {endDateTime:null, startDateTime:null} 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 => { this.data.specToBeUpdated.serviceSpecCharacteristicValue.forEach( val => { formArray.push(this.updateFormArrayItem(val)) formArray.push(this.updateFormArrayItem(val)) this.isCharValueBlockExpanded.push(false) this.isCharValueBlockExpanded.push(false) this.isRangeIntervalChecked.push(false) }) }) this.subValueTypeCtrl.patchValue(this.data.specToBeUpdated.serviceSpecCharacteristicValue[0].valueType) this.subValueTypeCtrl.patchValue(this.data.specToBeUpdated.serviceSpecCharacteristicValue[0].valueType) Loading Loading @@ -123,7 +120,6 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { updateFormArrayItem(CharValue: ServiceSpecCharacteristicValue): UntypedFormGroup { updateFormArrayItem(CharValue: ServiceSpecCharacteristicValue): UntypedFormGroup { const rangeInterval = CharValue.valueFrom != null || CharValue.valueTo != null ? "closed" : null return new UntypedFormGroup({ return new UntypedFormGroup({ value: new UntypedFormGroup({ value: new UntypedFormGroup({ alias: new UntypedFormControl(CharValue.value.alias), alias: new UntypedFormControl(CharValue.value.alias), Loading @@ -134,7 +130,7 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { valueType: new UntypedFormControl(CharValue.valueType), valueType: new UntypedFormControl(CharValue.valueType), valueFrom: new UntypedFormControl(CharValue.valueFrom), valueFrom: new UntypedFormControl(CharValue.valueFrom), valueTo: new UntypedFormControl(CharValue.valueTo), 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.isCharValueBlockExpanded.push(false) this.isRangeIntervalChecked.push(false) } } deleteFormArrayItem(index) { deleteFormArrayItem(index) { const formArray = this.editFormCharacteristic.get('serviceSpecCharacteristicValue') as UntypedFormArray const formArray = this.editFormCharacteristic.get('serviceSpecCharacteristicValue') as UntypedFormArray formArray.removeAt(index) formArray.removeAt(index) this.isCharValueBlockExpanded.splice(index, 1) this.isCharValueBlockExpanded.splice(index, 1) this.isRangeIntervalChecked.splice(index, 1) } } expandCharValueBlock(index) { expandCharValueBlock(index) { this.isCharValueBlockExpanded[index] = !this.isCharValueBlockExpanded[index] this.isCharValueBlockExpanded[index] = !this.isCharValueBlockExpanded[index] } } toggleRangeInterval(index) { this.isRangeIntervalChecked[index] = !this.isRangeIntervalChecked[index] } isDefaultCheckboxChanged(index, event: MatCheckboxChange) { isDefaultCheckboxChanged(index, event: MatCheckboxChange) { if (this.editFormCharacteristic.get('valueType').value === "ENUM" && event.checked) { if (this.editFormCharacteristic.get('valueType').value === "ENUM" && event.checked) { const formArray = this.editFormCharacteristic.get('serviceSpecCharacteristicValue') as UntypedFormArray 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() { closeDialog() { this.dialogRef.close() this.dialogRef.close() } } Loading @@ -200,15 +195,7 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { submitDialog() { submitDialog() { if (this.newSpec) { if (this.newSpec) { const specChar = this.editFormCharacteristic.getRawValue(); this.data.serviceSpec.serviceSpecCharacteristic.push(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); } else { } else { const updateCharacteristIndex = this.data.serviceSpec.serviceSpecCharacteristic.findIndex(char => char.id === this.data.specToBeUpdated.id) const updateCharacteristIndex = this.data.serviceSpec.serviceSpecCharacteristic.findIndex(char => char.id === this.data.specToBeUpdated.id) this.data.serviceSpec.serviceSpecCharacteristic[updateCharacteristIndex] = this.editFormCharacteristic.getRawValue() 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 Changes for src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.html: 6 added lines, 7 removed lines. Original line number Original line Diff line number Diff line Loading @@ -130,8 +130,7 @@ </div> </div> </div> </div> <ng-container *ngIf="val.get('rangeInterval')?.value === 'closed'"> <ng-container *ngIf="isRangeIntervalChecked[i]"> <mat-form-field class="col-lg-2 mt-2"> <mat-form-field class="col-lg-2 mt-2"> <mat-label>Value From</mat-label> <mat-label>Value From</mat-label> <input matInput formControlName="valueFrom"> <input matInput formControlName="valueFrom"> Loading Loading @@ -161,8 +160,8 @@ subValueTypeCtrl.value === 'SMALLINT' || subValueTypeCtrl.value === 'SMALLINT' || subValueTypeCtrl.value === 'LONGINT'"> subValueTypeCtrl.value === 'LONGINT'"> <div class="col-lg-2 text-center mt-2"> <div class="col-lg-2 text-center mt-2"> <mat-checkbox color="primary" (change)="toggleRangeInterval(i)">Range <mat-checkbox color="primary" formControlName="rangeInterval" (change)="rangeIntervalCheckboxChanged(i, $event)"> Interval Range Interval </mat-checkbox> </mat-checkbox> </div> </div> </ng-container> </ng-container> Loading Loading @@ -196,7 +195,7 @@ </mat-form-field> </mat-form-field> </div> </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-form-field class="col-lg-2 mt-2 order-2 order-md-3"> <mat-label>Value From</mat-label> <mat-label>Value From</mat-label> <input matInput formControlName="valueFrom"> <input matInput formControlName="valueFrom"> Loading Loading @@ -226,8 +225,8 @@ subValueTypeCtrl.value === 'SMALLINT' || subValueTypeCtrl.value === 'SMALLINT' || subValueTypeCtrl.value === 'LONGINT'"> subValueTypeCtrl.value === 'LONGINT'"> <div class="col-lg-2 text-center mt-2 order-5"> <div class="col-lg-2 text-center mt-2 order-5"> <mat-checkbox color="primary" formControlName="rangeInterval" (change)="toggleRangeInterval(i)">Range <mat-checkbox color="primary" formControlName="rangeInterval" (change)="rangeIntervalCheckboxChanged(i, $event)"> Interval Range Interval </mat-checkbox> </mat-checkbox> </div> </div> </ng-container> </ng-container> Loading
src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.ts +7 −20 Changes for src/app/p_services/admin/catalogManagement/edit-service-specs/edit-service-spec-characteristics/edit-service-spec-characteristics.component.ts: 7 added lines, 20 removed lines. Original line number Original line Diff line number Diff line Loading @@ -58,8 +58,6 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { isCharValueBlockExpanded: boolean[] = [] isCharValueBlockExpanded: boolean[] = [] isRangeIntervalChecked: boolean[] = [] ngOnInit() { ngOnInit() { if (this.data.specToBeUpdated) { if (this.data.specToBeUpdated) { if (!this.data.specToBeUpdated.validFor) this.data.specToBeUpdated.validFor = {endDateTime:null, startDateTime:null} 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 => { this.data.specToBeUpdated.serviceSpecCharacteristicValue.forEach( val => { formArray.push(this.updateFormArrayItem(val)) formArray.push(this.updateFormArrayItem(val)) this.isCharValueBlockExpanded.push(false) this.isCharValueBlockExpanded.push(false) this.isRangeIntervalChecked.push(false) }) }) this.subValueTypeCtrl.patchValue(this.data.specToBeUpdated.serviceSpecCharacteristicValue[0].valueType) this.subValueTypeCtrl.patchValue(this.data.specToBeUpdated.serviceSpecCharacteristicValue[0].valueType) Loading Loading @@ -123,7 +120,6 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { updateFormArrayItem(CharValue: ServiceSpecCharacteristicValue): UntypedFormGroup { updateFormArrayItem(CharValue: ServiceSpecCharacteristicValue): UntypedFormGroup { const rangeInterval = CharValue.valueFrom != null || CharValue.valueTo != null ? "closed" : null return new UntypedFormGroup({ return new UntypedFormGroup({ value: new UntypedFormGroup({ value: new UntypedFormGroup({ alias: new UntypedFormControl(CharValue.value.alias), alias: new UntypedFormControl(CharValue.value.alias), Loading @@ -134,7 +130,7 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { valueType: new UntypedFormControl(CharValue.valueType), valueType: new UntypedFormControl(CharValue.valueType), valueFrom: new UntypedFormControl(CharValue.valueFrom), valueFrom: new UntypedFormControl(CharValue.valueFrom), valueTo: new UntypedFormControl(CharValue.valueTo), 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.isCharValueBlockExpanded.push(false) this.isRangeIntervalChecked.push(false) } } deleteFormArrayItem(index) { deleteFormArrayItem(index) { const formArray = this.editFormCharacteristic.get('serviceSpecCharacteristicValue') as UntypedFormArray const formArray = this.editFormCharacteristic.get('serviceSpecCharacteristicValue') as UntypedFormArray formArray.removeAt(index) formArray.removeAt(index) this.isCharValueBlockExpanded.splice(index, 1) this.isCharValueBlockExpanded.splice(index, 1) this.isRangeIntervalChecked.splice(index, 1) } } expandCharValueBlock(index) { expandCharValueBlock(index) { this.isCharValueBlockExpanded[index] = !this.isCharValueBlockExpanded[index] this.isCharValueBlockExpanded[index] = !this.isCharValueBlockExpanded[index] } } toggleRangeInterval(index) { this.isRangeIntervalChecked[index] = !this.isRangeIntervalChecked[index] } isDefaultCheckboxChanged(index, event: MatCheckboxChange) { isDefaultCheckboxChanged(index, event: MatCheckboxChange) { if (this.editFormCharacteristic.get('valueType').value === "ENUM" && event.checked) { if (this.editFormCharacteristic.get('valueType').value === "ENUM" && event.checked) { const formArray = this.editFormCharacteristic.get('serviceSpecCharacteristicValue') as UntypedFormArray 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() { closeDialog() { this.dialogRef.close() this.dialogRef.close() } } Loading @@ -200,15 +195,7 @@ export class EditServiceSpecCharacteristicsComponent implements OnInit { submitDialog() { submitDialog() { if (this.newSpec) { if (this.newSpec) { const specChar = this.editFormCharacteristic.getRawValue(); this.data.serviceSpec.serviceSpecCharacteristic.push(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); } else { } else { const updateCharacteristIndex = this.data.serviceSpec.serviceSpecCharacteristic.findIndex(char => char.id === this.data.specToBeUpdated.id) const updateCharacteristIndex = this.data.serviceSpec.serviceSpecCharacteristic.findIndex(char => char.id === this.data.specToBeUpdated.id) this.data.serviceSpec.serviceSpecCharacteristic[updateCharacteristIndex] = this.editFormCharacteristic.getRawValue() this.data.serviceSpec.serviceSpecCharacteristic[updateCharacteristIndex] = this.editFormCharacteristic.getRawValue() Loading