@fovestta2/web-angular 1.1.2 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3314,8 +3314,48 @@ class AddUpdateFormComponent {
3314
3314
  }
3315
3315
  ngOnChanges(changes) {
3316
3316
  if (changes['config'] && !changes['config'].firstChange) {
3317
+ this.updateExistingForm();
3318
+ }
3319
+ }
3320
+ updateExistingForm() {
3321
+ if (!this.form) {
3317
3322
  this.initializeForm();
3323
+ return;
3318
3324
  }
3325
+ this.config.sections.forEach((section) => {
3326
+ if (!section.isRepeatable) {
3327
+ section.fields.forEach((column) => {
3328
+ const control = this.form.get(column.name);
3329
+ if (control) {
3330
+ const validators = this.buildValidators(column.validations, this.form);
3331
+ control.setValidators(validators);
3332
+ control.updateValueAndValidity({ emitEvent: false });
3333
+ const isDisabled = this.isFieldDisabled(column, this.form);
3334
+ if (isDisabled && control.enabled)
3335
+ control.disable({ emitEvent: false });
3336
+ else if (!isDisabled && control.disabled)
3337
+ control.enable({ emitEvent: false });
3338
+ }
3339
+ else {
3340
+ let initialValue = column.value || '';
3341
+ if (column.type === 'month-year' && initialValue)
3342
+ initialValue = this.formatMonthYearValue(initialValue);
3343
+ const newControl = this.fb.control({ value: initialValue, disabled: (typeof column.disabled === 'boolean' ? column.disabled : false) });
3344
+ const validators = this.buildValidators(column.validations, this.form);
3345
+ newControl.setValidators(validators);
3346
+ this.form.addControl(column.name, newControl);
3347
+ const subscription = newControl.valueChanges
3348
+ .pipe(distinctUntilChanged())
3349
+ .subscribe((value) => {
3350
+ const col = this.getColumnByName(column.name);
3351
+ if (col?.onChange)
3352
+ col.onChange(value, this.form);
3353
+ });
3354
+ this.valueChangeSubscriptions.push(subscription);
3355
+ }
3356
+ });
3357
+ }
3358
+ });
3319
3359
  }
3320
3360
  ngAfterViewInit() {
3321
3361
  // Lifecycle hook - can be used for datepicker initialization if needed
@@ -3329,9 +3369,21 @@ class AddUpdateFormComponent {
3329
3369
  return this.form.get(name);
3330
3370
  }
3331
3371
  // 2. HELPER: Convert your FieldValidation[] to the library's ValidationSchema
3332
- getSchema(column) {
3372
+ getSchema(column, group) {
3333
3373
  const rules = [];
3334
3374
  const errorPriority = [];
3375
+ const isRequired = typeof column.required === 'function'
3376
+ ? column.required(group)
3377
+ : column.required;
3378
+ if (isRequired) {
3379
+ rules.push({
3380
+ name: 'required',
3381
+ params: { enabled: true },
3382
+ errorKey: 'ERR_REQUIRED',
3383
+ message: column.validations?.find(v => v.type === 'required')?.message
3384
+ });
3385
+ errorPriority.push('required');
3386
+ }
3335
3387
  if (column.validations) {
3336
3388
  column.validations.forEach((v) => {
3337
3389
  switch (v.type) {
@@ -3465,13 +3517,19 @@ class AddUpdateFormComponent {
3465
3517
  ];
3466
3518
  });
3467
3519
  const group = this.fb.group(groupConfig);
3468
- // Apply Validators
3520
+ // Apply Validators and Initial States
3469
3521
  section.fields.forEach((column) => {
3470
3522
  const validators = this.buildValidators(column.validations, group);
3523
+ const control = group.get(column.name);
3471
3524
  if (validators.length > 0) {
3472
- group.get(column.name)?.setValidators(validators);
3473
- group.get(column.name)?.updateValueAndValidity();
3525
+ control?.setValidators(validators);
3526
+ control?.updateValueAndValidity({ emitEvent: false });
3474
3527
  }
3528
+ const isDisabled = this.isFieldDisabled(column, group);
3529
+ if (isDisabled && control?.enabled)
3530
+ control.disable({ emitEvent: false });
3531
+ else if (!isDisabled && control?.disabled)
3532
+ control.enable({ emitEvent: false });
3475
3533
  });
3476
3534
  return group;
3477
3535
  }
@@ -3593,9 +3651,10 @@ class AddUpdateFormComponent {
3593
3651
  this.valueChangeSubscriptions.forEach((sub) => sub.unsubscribe());
3594
3652
  this.valueChangeSubscriptions = [];
3595
3653
  }
3596
- handleFieldChange(fieldName, eventValue, control) {
3654
+ handleFieldChange(fieldName, eventValue, control, group) {
3597
3655
  const column = this.getColumnByName(fieldName);
3598
3656
  const formControl = control || this.form.get(fieldName);
3657
+ const formGroup = group || this.form;
3599
3658
  // Format month-year fields (especially expiryDate) to YYYY-MM
3600
3659
  if (column?.type === 'month-year' && eventValue) {
3601
3660
  const formattedValue = this.formatMonthYearValue(eventValue);
@@ -3619,7 +3678,7 @@ class AddUpdateFormComponent {
3619
3678
  }
3620
3679
  // Call onChange with the selected value
3621
3680
  if (onChangeFn) {
3622
- onChangeFn(selectedValue, this.form);
3681
+ onChangeFn(selectedValue, formGroup);
3623
3682
  }
3624
3683
  // Restore the value for the field that triggered the change if it was cleared by onChange
3625
3684
  // This is critical: if onChange clears the field that was just changed, we restore it
@@ -3662,7 +3721,7 @@ class AddUpdateFormComponent {
3662
3721
  }
3663
3722
  return value;
3664
3723
  }
3665
- handleMonthYearChange(fieldName, value, control) {
3724
+ handleMonthYearChange(fieldName, value, control, group) {
3666
3725
  // Format the input value to YYYY-MM format
3667
3726
  let formattedValue = value;
3668
3727
  // If it's in MM-YYYY format, convert to YYYY-MM
@@ -3688,7 +3747,7 @@ class AddUpdateFormComponent {
3688
3747
  if (formControl && formattedValue !== value) {
3689
3748
  formControl.setValue(formattedValue, { emitEvent: false });
3690
3749
  }
3691
- this.handleFieldChange(fieldName, formattedValue, control);
3750
+ this.handleFieldChange(fieldName, formattedValue, control, group);
3692
3751
  }
3693
3752
  handleMonthYearBlur(fieldName) {
3694
3753
  const formControl = this.form.get(fieldName);
@@ -3824,8 +3883,9 @@ class AddUpdateFormComponent {
3824
3883
  }
3825
3884
  }
3826
3885
  }
3827
- onFileChange(event, fieldName) {
3886
+ onFileChange(event, fieldName, group) {
3828
3887
  const file = event.target.files[0];
3888
+ const formGroup = group || this.form;
3829
3889
  if (file) {
3830
3890
  this.fileNames.set(fieldName, file.name);
3831
3891
  const reader = new FileReader();
@@ -3837,7 +3897,7 @@ class AddUpdateFormComponent {
3837
3897
  // Trigger onChange handler for file fields
3838
3898
  const column = this.getColumnByName(fieldName);
3839
3899
  if (column?.onChange) {
3840
- column.onChange(base64String, this.form);
3900
+ column.onChange(base64String, formGroup);
3841
3901
  }
3842
3902
  };
3843
3903
  }
@@ -4002,12 +4062,12 @@ class AddUpdateFormComponent {
4002
4062
  [placeholder]="column.placeholder || ''"
4003
4063
  type="text"
4004
4064
  [control]="control"
4005
- [schema]="getSchema(column)"
4065
+ [schema]="getSchema(column, group)"
4006
4066
  [disabled]="isFieldDisabled(column, group)"
4007
4067
  [readonly]="false"
4008
4068
  [allowAlphabetsOnly]="column.allowAlphabetsOnly || false"
4009
4069
  [maxLength]="column.maxLength || null"
4010
- (valueChange)="handleFieldChange(column.name, $event, control)"
4070
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4011
4071
  >
4012
4072
  </fv-entry-field>
4013
4073
  </ng-container>
@@ -4019,9 +4079,9 @@ class AddUpdateFormComponent {
4019
4079
  [label]="column.label"
4020
4080
  [placeholder]="column.placeholder || ''"
4021
4081
  [control]="control"
4022
- [schema]="getSchema(column)"
4082
+ [schema]="getSchema(column, group)"
4023
4083
  [disabled]="isFieldDisabled(column, group)"
4024
- (valueChange)="handleFieldChange(column.name, $event, control)"
4084
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4025
4085
  >
4026
4086
  </fv-email-field>
4027
4087
  </ng-container>
@@ -4033,9 +4093,9 @@ class AddUpdateFormComponent {
4033
4093
  [label]="column.label"
4034
4094
  [placeholder]="column.placeholder || ''"
4035
4095
  [control]="control"
4036
- [schema]="getSchema(column)"
4096
+ [schema]="getSchema(column, group)"
4037
4097
  [disabled]="isFieldDisabled(column, group)"
4038
- (valueChange)="handleFieldChange(column.name, $event, control)"
4098
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4039
4099
  >
4040
4100
  </fv-password-field>
4041
4101
  </ng-container>
@@ -4047,9 +4107,9 @@ class AddUpdateFormComponent {
4047
4107
  [label]="column.label"
4048
4108
  [placeholder]="column.placeholder || ''"
4049
4109
  [control]="control"
4050
- [schema]="getSchema(column)"
4110
+ [schema]="getSchema(column, group)"
4051
4111
  [disabled]="isFieldDisabled(column, group)"
4052
- (valueChange)="handleFieldChange(column.name, $event, control)"
4112
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4053
4113
  >
4054
4114
  </fv-number-field>
4055
4115
  </ng-container>
@@ -4062,9 +4122,9 @@ class AddUpdateFormComponent {
4062
4122
  [placeholder]="column.placeholder || 'Select option'"
4063
4123
  [options]="column.options || []"
4064
4124
  [control]="control"
4065
- [schema]="getSchema(column)"
4125
+ [schema]="getSchema(column, group)"
4066
4126
  [disabled]="isFieldDisabled(column, group)"
4067
- (valueChange)="handleFieldChange(column.name, $event, control)"
4127
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4068
4128
  >
4069
4129
  </fv-dropdown>
4070
4130
  </ng-container>
@@ -4076,7 +4136,7 @@ class AddUpdateFormComponent {
4076
4136
  [label]="column.label"
4077
4137
  [control]="control"
4078
4138
  [disabled]="isFieldDisabled(column, group)"
4079
- (valueChange)="handleFieldChange(column.name, $event, control)"
4139
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4080
4140
  >
4081
4141
  </fv-checkbox>
4082
4142
  </ng-container>
@@ -4088,7 +4148,7 @@ class AddUpdateFormComponent {
4088
4148
  [label]="column.label"
4089
4149
  [control]="control"
4090
4150
  [disabled]="isFieldDisabled(column, group)"
4091
- (valueChange)="handleFieldChange(column.name, $event, control)"
4151
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4092
4152
  >
4093
4153
  </fv-toggle>
4094
4154
  </ng-container>
@@ -4100,7 +4160,7 @@ class AddUpdateFormComponent {
4100
4160
  [control]="control"
4101
4161
  [disabled]="isFieldDisabled(column, group)"
4102
4162
  [layout]="column.layout || 'vertical'"
4103
- (valueChange)="handleFieldChange(column.name, $event, control)"
4163
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4104
4164
  >
4105
4165
  </fv-radio-group>
4106
4166
  </ng-container>
@@ -4109,9 +4169,9 @@ class AddUpdateFormComponent {
4109
4169
  <fv-date-field
4110
4170
  [label]="column.label"
4111
4171
  [control]="control"
4112
- [schema]="getSchema(column)"
4172
+ [schema]="getSchema(column, group)"
4113
4173
  [disabled]="isFieldDisabled(column, group)"
4114
- (valueChange)="handleFieldChange(column.name, $event, control)"
4174
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4115
4175
  >
4116
4176
  </fv-date-field>
4117
4177
  </ng-container>
@@ -4122,9 +4182,9 @@ class AddUpdateFormComponent {
4122
4182
  <fv-month-year-field
4123
4183
  [label]="column.label"
4124
4184
  [control]="control"
4125
- [schema]="getSchema(column)"
4185
+ [schema]="getSchema(column, group)"
4126
4186
  [disabled]="isFieldDisabled(column, group)"
4127
- (valueChange)="handleMonthYearChange(column.name, $event, control)"
4187
+ (valueChange)="handleMonthYearChange(column.name, $event, control, group)"
4128
4188
  >
4129
4189
  </fv-month-year-field>
4130
4190
  </ng-container>
@@ -4136,9 +4196,9 @@ class AddUpdateFormComponent {
4136
4196
  [label]="column.label"
4137
4197
  [placeholder]="column.placeholder || ''"
4138
4198
  [control]="control"
4139
- [schema]="getSchema(column)"
4199
+ [schema]="getSchema(column, group)"
4140
4200
  [disabled]="isFieldDisabled(column, group)"
4141
- (valueChange)="handleFieldChange(column.name, $event, control)"
4201
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4142
4202
  >
4143
4203
  </fv-rich-text-editor>
4144
4204
  </ng-container>
@@ -4149,9 +4209,9 @@ class AddUpdateFormComponent {
4149
4209
  [label]="column.label"
4150
4210
  [placeholder]="column.placeholder || 'Select image'"
4151
4211
  [control]="control"
4152
- [schema]="getSchema(column)"
4212
+ [schema]="getSchema(column, group)"
4153
4213
  [disabled]="isFieldDisabled(column, group)"
4154
- (valueChange)="onFileChange($event, column.name)"
4214
+ (valueChange)="onFileChange($event, column.name, group)"
4155
4215
  >
4156
4216
  </fv-image-selector>
4157
4217
  </ng-container>
@@ -4162,9 +4222,9 @@ class AddUpdateFormComponent {
4162
4222
  [placeholder]="column.placeholder || 'Select file'"
4163
4223
  [accept]="column.accept || '*/*'"
4164
4224
  [control]="control"
4165
- [schema]="getSchema(column)"
4225
+ [schema]="getSchema(column, group)"
4166
4226
  [disabled]="isFieldDisabled(column, group)"
4167
- (valueChange)="onFileChange($event, column.name)"
4227
+ (valueChange)="onFileChange($event, column.name, group)"
4168
4228
  >
4169
4229
  </fv-file-selector>
4170
4230
  </ng-template>
@@ -4178,39 +4238,39 @@ class AddUpdateFormComponent {
4178
4238
  [placeholder]="column.placeholder || 'Search by Code or Name'"
4179
4239
  [options]="column.options ? mapSearchOptions(column.options) : []"
4180
4240
  [control]="control"
4181
- [schema]="getSchema(column)"
4241
+ [schema]="getSchema(column, group)"
4182
4242
  [disabled]="isFieldDisabled(column, group)"
4183
- (valueChange)="handleFieldChange(column.name, $event, control)"
4243
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4184
4244
  >
4185
4245
  </fv-name-code>
4186
4246
  </ng-container>
4187
4247
 
4188
4248
  <ng-container *ngIf="column.type === 'phone' && !column.hidden">
4189
- <fv-phone-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-phone-field>
4249
+ <fv-phone-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-phone-field>
4190
4250
  </ng-container>
4191
4251
 
4192
4252
  <ng-container *ngIf="column.type === 'uan' && !column.hidden">
4193
- <fv-uan-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-uan-field>
4253
+ <fv-uan-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-uan-field>
4194
4254
  </ng-container>
4195
4255
 
4196
4256
  <ng-container *ngIf="column.type === 'pf' && !column.hidden">
4197
- <fv-pf-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-pf-field>
4257
+ <fv-pf-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-pf-field>
4198
4258
  </ng-container>
4199
4259
 
4200
4260
  <ng-container *ngIf="column.type === 'esi' && !column.hidden">
4201
- <fv-esi-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-esi-field>
4261
+ <fv-esi-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-esi-field>
4202
4262
  </ng-container>
4203
4263
 
4204
4264
  <ng-container *ngIf="column.type === 'ifsc' && !column.hidden">
4205
- <fv-ifsc-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-ifsc-field>
4265
+ <fv-ifsc-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-ifsc-field>
4206
4266
  </ng-container>
4207
4267
 
4208
4268
  <ng-container *ngIf="column.type === 'micr' && !column.hidden">
4209
- <fv-micr-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-micr-field>
4269
+ <fv-micr-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-micr-field>
4210
4270
  </ng-container>
4211
4271
 
4212
4272
  <ng-container *ngIf="column.type === 'iban' && !column.hidden">
4213
- <fv-iban-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-iban-field>
4273
+ <fv-iban-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-iban-field>
4214
4274
  </ng-container>
4215
4275
 
4216
4276
  <ng-container *ngIf="column.type === 'service-period' && !column.hidden">
@@ -4229,9 +4289,9 @@ class AddUpdateFormComponent {
4229
4289
  [placeholder]="column.placeholder || 'Upload'"
4230
4290
  [accept]="column.accept || 'application/pdf,image/*'"
4231
4291
  [control]="control"
4232
- [schema]="getSchema(column)"
4292
+ [schema]="getSchema(column, group)"
4233
4293
  [disabled]="isFieldDisabled(column, group)"
4234
- (valueChange)="handleFieldChange(column.name, $event, control)"
4294
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4235
4295
  >
4236
4296
  </fv-document-field>
4237
4297
  </ng-container>
@@ -4241,9 +4301,9 @@ class AddUpdateFormComponent {
4241
4301
  [label]="column.label"
4242
4302
  [placeholder]="column.placeholder || '--:--'"
4243
4303
  [control]="control"
4244
- [schema]="getSchema(column)"
4304
+ [schema]="getSchema(column, group)"
4245
4305
  [disabled]="isFieldDisabled(column, group)"
4246
- (valueChange)="handleFieldChange(column.name, $event, control)"
4306
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4247
4307
  >
4248
4308
  </fv-time-field>
4249
4309
  </ng-container>
@@ -4364,12 +4424,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4364
4424
  [placeholder]="column.placeholder || ''"
4365
4425
  type="text"
4366
4426
  [control]="control"
4367
- [schema]="getSchema(column)"
4427
+ [schema]="getSchema(column, group)"
4368
4428
  [disabled]="isFieldDisabled(column, group)"
4369
4429
  [readonly]="false"
4370
4430
  [allowAlphabetsOnly]="column.allowAlphabetsOnly || false"
4371
4431
  [maxLength]="column.maxLength || null"
4372
- (valueChange)="handleFieldChange(column.name, $event, control)"
4432
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4373
4433
  >
4374
4434
  </fv-entry-field>
4375
4435
  </ng-container>
@@ -4381,9 +4441,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4381
4441
  [label]="column.label"
4382
4442
  [placeholder]="column.placeholder || ''"
4383
4443
  [control]="control"
4384
- [schema]="getSchema(column)"
4444
+ [schema]="getSchema(column, group)"
4385
4445
  [disabled]="isFieldDisabled(column, group)"
4386
- (valueChange)="handleFieldChange(column.name, $event, control)"
4446
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4387
4447
  >
4388
4448
  </fv-email-field>
4389
4449
  </ng-container>
@@ -4395,9 +4455,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4395
4455
  [label]="column.label"
4396
4456
  [placeholder]="column.placeholder || ''"
4397
4457
  [control]="control"
4398
- [schema]="getSchema(column)"
4458
+ [schema]="getSchema(column, group)"
4399
4459
  [disabled]="isFieldDisabled(column, group)"
4400
- (valueChange)="handleFieldChange(column.name, $event, control)"
4460
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4401
4461
  >
4402
4462
  </fv-password-field>
4403
4463
  </ng-container>
@@ -4409,9 +4469,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4409
4469
  [label]="column.label"
4410
4470
  [placeholder]="column.placeholder || ''"
4411
4471
  [control]="control"
4412
- [schema]="getSchema(column)"
4472
+ [schema]="getSchema(column, group)"
4413
4473
  [disabled]="isFieldDisabled(column, group)"
4414
- (valueChange)="handleFieldChange(column.name, $event, control)"
4474
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4415
4475
  >
4416
4476
  </fv-number-field>
4417
4477
  </ng-container>
@@ -4424,9 +4484,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4424
4484
  [placeholder]="column.placeholder || 'Select option'"
4425
4485
  [options]="column.options || []"
4426
4486
  [control]="control"
4427
- [schema]="getSchema(column)"
4487
+ [schema]="getSchema(column, group)"
4428
4488
  [disabled]="isFieldDisabled(column, group)"
4429
- (valueChange)="handleFieldChange(column.name, $event, control)"
4489
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4430
4490
  >
4431
4491
  </fv-dropdown>
4432
4492
  </ng-container>
@@ -4438,7 +4498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4438
4498
  [label]="column.label"
4439
4499
  [control]="control"
4440
4500
  [disabled]="isFieldDisabled(column, group)"
4441
- (valueChange)="handleFieldChange(column.name, $event, control)"
4501
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4442
4502
  >
4443
4503
  </fv-checkbox>
4444
4504
  </ng-container>
@@ -4450,7 +4510,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4450
4510
  [label]="column.label"
4451
4511
  [control]="control"
4452
4512
  [disabled]="isFieldDisabled(column, group)"
4453
- (valueChange)="handleFieldChange(column.name, $event, control)"
4513
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4454
4514
  >
4455
4515
  </fv-toggle>
4456
4516
  </ng-container>
@@ -4462,7 +4522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4462
4522
  [control]="control"
4463
4523
  [disabled]="isFieldDisabled(column, group)"
4464
4524
  [layout]="column.layout || 'vertical'"
4465
- (valueChange)="handleFieldChange(column.name, $event, control)"
4525
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4466
4526
  >
4467
4527
  </fv-radio-group>
4468
4528
  </ng-container>
@@ -4471,9 +4531,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4471
4531
  <fv-date-field
4472
4532
  [label]="column.label"
4473
4533
  [control]="control"
4474
- [schema]="getSchema(column)"
4534
+ [schema]="getSchema(column, group)"
4475
4535
  [disabled]="isFieldDisabled(column, group)"
4476
- (valueChange)="handleFieldChange(column.name, $event, control)"
4536
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4477
4537
  >
4478
4538
  </fv-date-field>
4479
4539
  </ng-container>
@@ -4484,9 +4544,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4484
4544
  <fv-month-year-field
4485
4545
  [label]="column.label"
4486
4546
  [control]="control"
4487
- [schema]="getSchema(column)"
4547
+ [schema]="getSchema(column, group)"
4488
4548
  [disabled]="isFieldDisabled(column, group)"
4489
- (valueChange)="handleMonthYearChange(column.name, $event, control)"
4549
+ (valueChange)="handleMonthYearChange(column.name, $event, control, group)"
4490
4550
  >
4491
4551
  </fv-month-year-field>
4492
4552
  </ng-container>
@@ -4498,9 +4558,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4498
4558
  [label]="column.label"
4499
4559
  [placeholder]="column.placeholder || ''"
4500
4560
  [control]="control"
4501
- [schema]="getSchema(column)"
4561
+ [schema]="getSchema(column, group)"
4502
4562
  [disabled]="isFieldDisabled(column, group)"
4503
- (valueChange)="handleFieldChange(column.name, $event, control)"
4563
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4504
4564
  >
4505
4565
  </fv-rich-text-editor>
4506
4566
  </ng-container>
@@ -4511,9 +4571,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4511
4571
  [label]="column.label"
4512
4572
  [placeholder]="column.placeholder || 'Select image'"
4513
4573
  [control]="control"
4514
- [schema]="getSchema(column)"
4574
+ [schema]="getSchema(column, group)"
4515
4575
  [disabled]="isFieldDisabled(column, group)"
4516
- (valueChange)="onFileChange($event, column.name)"
4576
+ (valueChange)="onFileChange($event, column.name, group)"
4517
4577
  >
4518
4578
  </fv-image-selector>
4519
4579
  </ng-container>
@@ -4524,9 +4584,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4524
4584
  [placeholder]="column.placeholder || 'Select file'"
4525
4585
  [accept]="column.accept || '*/*'"
4526
4586
  [control]="control"
4527
- [schema]="getSchema(column)"
4587
+ [schema]="getSchema(column, group)"
4528
4588
  [disabled]="isFieldDisabled(column, group)"
4529
- (valueChange)="onFileChange($event, column.name)"
4589
+ (valueChange)="onFileChange($event, column.name, group)"
4530
4590
  >
4531
4591
  </fv-file-selector>
4532
4592
  </ng-template>
@@ -4540,39 +4600,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4540
4600
  [placeholder]="column.placeholder || 'Search by Code or Name'"
4541
4601
  [options]="column.options ? mapSearchOptions(column.options) : []"
4542
4602
  [control]="control"
4543
- [schema]="getSchema(column)"
4603
+ [schema]="getSchema(column, group)"
4544
4604
  [disabled]="isFieldDisabled(column, group)"
4545
- (valueChange)="handleFieldChange(column.name, $event, control)"
4605
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4546
4606
  >
4547
4607
  </fv-name-code>
4548
4608
  </ng-container>
4549
4609
 
4550
4610
  <ng-container *ngIf="column.type === 'phone' && !column.hidden">
4551
- <fv-phone-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-phone-field>
4611
+ <fv-phone-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-phone-field>
4552
4612
  </ng-container>
4553
4613
 
4554
4614
  <ng-container *ngIf="column.type === 'uan' && !column.hidden">
4555
- <fv-uan-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-uan-field>
4615
+ <fv-uan-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-uan-field>
4556
4616
  </ng-container>
4557
4617
 
4558
4618
  <ng-container *ngIf="column.type === 'pf' && !column.hidden">
4559
- <fv-pf-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-pf-field>
4619
+ <fv-pf-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-pf-field>
4560
4620
  </ng-container>
4561
4621
 
4562
4622
  <ng-container *ngIf="column.type === 'esi' && !column.hidden">
4563
- <fv-esi-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-esi-field>
4623
+ <fv-esi-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-esi-field>
4564
4624
  </ng-container>
4565
4625
 
4566
4626
  <ng-container *ngIf="column.type === 'ifsc' && !column.hidden">
4567
- <fv-ifsc-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-ifsc-field>
4627
+ <fv-ifsc-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-ifsc-field>
4568
4628
  </ng-container>
4569
4629
 
4570
4630
  <ng-container *ngIf="column.type === 'micr' && !column.hidden">
4571
- <fv-micr-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-micr-field>
4631
+ <fv-micr-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-micr-field>
4572
4632
  </ng-container>
4573
4633
 
4574
4634
  <ng-container *ngIf="column.type === 'iban' && !column.hidden">
4575
- <fv-iban-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-iban-field>
4635
+ <fv-iban-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-iban-field>
4576
4636
  </ng-container>
4577
4637
 
4578
4638
  <ng-container *ngIf="column.type === 'service-period' && !column.hidden">
@@ -4591,9 +4651,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4591
4651
  [placeholder]="column.placeholder || 'Upload'"
4592
4652
  [accept]="column.accept || 'application/pdf,image/*'"
4593
4653
  [control]="control"
4594
- [schema]="getSchema(column)"
4654
+ [schema]="getSchema(column, group)"
4595
4655
  [disabled]="isFieldDisabled(column, group)"
4596
- (valueChange)="handleFieldChange(column.name, $event, control)"
4656
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4597
4657
  >
4598
4658
  </fv-document-field>
4599
4659
  </ng-container>
@@ -4603,9 +4663,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4603
4663
  [label]="column.label"
4604
4664
  [placeholder]="column.placeholder || '--:--'"
4605
4665
  [control]="control"
4606
- [schema]="getSchema(column)"
4666
+ [schema]="getSchema(column, group)"
4607
4667
  [disabled]="isFieldDisabled(column, group)"
4608
- (valueChange)="handleFieldChange(column.name, $event, control)"
4668
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4609
4669
  >
4610
4670
  </fv-time-field>
4611
4671
  </ng-container>