@fovestta2/web-angular 1.1.5 → 1.1.7

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.
@@ -48,15 +48,24 @@ class FvEntryFieldComponent {
48
48
  if (changes['disabled'] && this.control) {
49
49
  if (this.disabled) {
50
50
  this.control.disable({ emitEvent: false });
51
+ this.validateValue(this.control.value); // Re-validate to clear errors
51
52
  }
52
53
  else {
53
54
  this.control.enable({ emitEvent: false });
54
55
  }
55
56
  }
57
+ if (changes['schema'] && !changes['schema'].firstChange) {
58
+ this.validateValue(this.control?.value);
59
+ }
56
60
  }
57
61
  validateValue(value) {
58
62
  if (!this.schema)
59
63
  return;
64
+ if (this.disabled) {
65
+ this.errorMessage = null;
66
+ this.control.setErrors(null);
67
+ return;
68
+ }
60
69
  const result = Validator.validate(value, this.schema);
61
70
  this.errorMessage = result.errorKey;
62
71
  const customMessage = result.message;
@@ -720,15 +729,24 @@ class FvDropdownComponent {
720
729
  if (changes['disabled']) {
721
730
  if (this.disabled) {
722
731
  this.searchControl.disable({ emitEvent: false });
732
+ this.validateValue(this.control.value); // Re-validate to clear errors
723
733
  }
724
734
  else {
725
735
  this.searchControl.enable({ emitEvent: false });
726
736
  }
727
737
  }
738
+ if (changes['schema'] && !changes['schema'].firstChange) {
739
+ this.validateValue(this.control?.value);
740
+ }
728
741
  }
729
742
  validateValue(value) {
730
743
  if (!this.schema)
731
744
  return;
745
+ if (this.disabled) {
746
+ this.errorMessage = null;
747
+ this.control.setErrors(null);
748
+ return;
749
+ }
732
750
  const result = Validator.validate(value, this.schema);
733
751
  this.errorMessage = result.errorKey;
734
752
  const customMessage = result.message;
@@ -3369,20 +3387,28 @@ class AddUpdateFormComponent {
3369
3387
  return this.form.get(name);
3370
3388
  }
3371
3389
  // 2. HELPER: Convert your FieldValidation[] to the library's ValidationSchema
3372
- getSchema(column) {
3390
+ getSchema(column, group) {
3373
3391
  const rules = [];
3374
3392
  const errorPriority = [];
3393
+ const isRequiredValue = typeof column.required === 'function'
3394
+ ? column.required(group)
3395
+ : column.required;
3396
+ let requiredRuleAdded = false;
3375
3397
  if (column.validations) {
3376
3398
  column.validations.forEach((v) => {
3377
3399
  switch (v.type) {
3378
3400
  case 'required':
3379
- rules.push({
3380
- name: 'required',
3381
- params: { enabled: true },
3382
- errorKey: 'ERR_REQUIRED',
3383
- message: v.message
3384
- });
3385
- errorPriority.push('required');
3401
+ const enabled = isRequiredValue === undefined ? true : !!isRequiredValue;
3402
+ if (enabled) {
3403
+ rules.push({
3404
+ name: 'required',
3405
+ params: { enabled: true },
3406
+ errorKey: 'ERR_REQUIRED',
3407
+ message: v.message || 'This field is required'
3408
+ });
3409
+ errorPriority.push('required');
3410
+ requiredRuleAdded = true;
3411
+ }
3386
3412
  break;
3387
3413
  case 'email':
3388
3414
  rules.push({
@@ -3474,6 +3500,16 @@ class AddUpdateFormComponent {
3474
3500
  }
3475
3501
  });
3476
3502
  }
3503
+ // If it was evaluated as required but not present in the validations list
3504
+ if (!requiredRuleAdded && isRequiredValue === true) {
3505
+ rules.push({
3506
+ name: 'required',
3507
+ params: { enabled: true },
3508
+ errorKey: 'ERR_REQUIRED',
3509
+ message: 'This field is required'
3510
+ });
3511
+ errorPriority.push('required');
3512
+ }
3477
3513
  // Map 'name-code' to 'Dropdown' or similar for validation schema purposes if needed
3478
3514
  let controlType = column.type;
3479
3515
  if (column.type === 'name-code') {
@@ -3505,13 +3541,19 @@ class AddUpdateFormComponent {
3505
3541
  ];
3506
3542
  });
3507
3543
  const group = this.fb.group(groupConfig);
3508
- // Apply Validators
3544
+ // Apply Validators and Initial States
3509
3545
  section.fields.forEach((column) => {
3510
3546
  const validators = this.buildValidators(column.validations, group);
3547
+ const control = group.get(column.name);
3511
3548
  if (validators.length > 0) {
3512
- group.get(column.name)?.setValidators(validators);
3513
- group.get(column.name)?.updateValueAndValidity();
3549
+ control?.setValidators(validators);
3550
+ control?.updateValueAndValidity({ emitEvent: false });
3514
3551
  }
3552
+ const isDisabled = this.isFieldDisabled(column, group);
3553
+ if (isDisabled && control?.enabled)
3554
+ control.disable({ emitEvent: false });
3555
+ else if (!isDisabled && control?.disabled)
3556
+ control.enable({ emitEvent: false });
3515
3557
  });
3516
3558
  return group;
3517
3559
  }
@@ -3633,9 +3675,10 @@ class AddUpdateFormComponent {
3633
3675
  this.valueChangeSubscriptions.forEach((sub) => sub.unsubscribe());
3634
3676
  this.valueChangeSubscriptions = [];
3635
3677
  }
3636
- handleFieldChange(fieldName, eventValue, control) {
3678
+ handleFieldChange(fieldName, eventValue, control, group) {
3637
3679
  const column = this.getColumnByName(fieldName);
3638
3680
  const formControl = control || this.form.get(fieldName);
3681
+ const formGroup = group || this.form;
3639
3682
  // Format month-year fields (especially expiryDate) to YYYY-MM
3640
3683
  if (column?.type === 'month-year' && eventValue) {
3641
3684
  const formattedValue = this.formatMonthYearValue(eventValue);
@@ -3659,7 +3702,7 @@ class AddUpdateFormComponent {
3659
3702
  }
3660
3703
  // Call onChange with the selected value
3661
3704
  if (onChangeFn) {
3662
- onChangeFn(selectedValue, this.form);
3705
+ onChangeFn(selectedValue, formGroup);
3663
3706
  }
3664
3707
  // Restore the value for the field that triggered the change if it was cleared by onChange
3665
3708
  // This is critical: if onChange clears the field that was just changed, we restore it
@@ -3702,7 +3745,7 @@ class AddUpdateFormComponent {
3702
3745
  }
3703
3746
  return value;
3704
3747
  }
3705
- handleMonthYearChange(fieldName, value, control) {
3748
+ handleMonthYearChange(fieldName, value, control, group) {
3706
3749
  // Format the input value to YYYY-MM format
3707
3750
  let formattedValue = value;
3708
3751
  // If it's in MM-YYYY format, convert to YYYY-MM
@@ -3728,7 +3771,7 @@ class AddUpdateFormComponent {
3728
3771
  if (formControl && formattedValue !== value) {
3729
3772
  formControl.setValue(formattedValue, { emitEvent: false });
3730
3773
  }
3731
- this.handleFieldChange(fieldName, formattedValue, control);
3774
+ this.handleFieldChange(fieldName, formattedValue, control, group);
3732
3775
  }
3733
3776
  handleMonthYearBlur(fieldName) {
3734
3777
  const formControl = this.form.get(fieldName);
@@ -3864,8 +3907,9 @@ class AddUpdateFormComponent {
3864
3907
  }
3865
3908
  }
3866
3909
  }
3867
- onFileChange(event, fieldName) {
3910
+ onFileChange(event, fieldName, group) {
3868
3911
  const file = event.target.files[0];
3912
+ const formGroup = group || this.form;
3869
3913
  if (file) {
3870
3914
  this.fileNames.set(fieldName, file.name);
3871
3915
  const reader = new FileReader();
@@ -3877,7 +3921,7 @@ class AddUpdateFormComponent {
3877
3921
  // Trigger onChange handler for file fields
3878
3922
  const column = this.getColumnByName(fieldName);
3879
3923
  if (column?.onChange) {
3880
- column.onChange(base64String, this.form);
3924
+ column.onChange(base64String, formGroup);
3881
3925
  }
3882
3926
  };
3883
3927
  }
@@ -4042,12 +4086,12 @@ class AddUpdateFormComponent {
4042
4086
  [placeholder]="column.placeholder || ''"
4043
4087
  type="text"
4044
4088
  [control]="control"
4045
- [schema]="getSchema(column)"
4089
+ [schema]="getSchema(column, group)"
4046
4090
  [disabled]="isFieldDisabled(column, group)"
4047
4091
  [readonly]="false"
4048
4092
  [allowAlphabetsOnly]="column.allowAlphabetsOnly || false"
4049
4093
  [maxLength]="column.maxLength || null"
4050
- (valueChange)="handleFieldChange(column.name, $event, control)"
4094
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4051
4095
  >
4052
4096
  </fv-entry-field>
4053
4097
  </ng-container>
@@ -4059,9 +4103,9 @@ class AddUpdateFormComponent {
4059
4103
  [label]="column.label"
4060
4104
  [placeholder]="column.placeholder || ''"
4061
4105
  [control]="control"
4062
- [schema]="getSchema(column)"
4106
+ [schema]="getSchema(column, group)"
4063
4107
  [disabled]="isFieldDisabled(column, group)"
4064
- (valueChange)="handleFieldChange(column.name, $event, control)"
4108
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4065
4109
  >
4066
4110
  </fv-email-field>
4067
4111
  </ng-container>
@@ -4073,9 +4117,9 @@ class AddUpdateFormComponent {
4073
4117
  [label]="column.label"
4074
4118
  [placeholder]="column.placeholder || ''"
4075
4119
  [control]="control"
4076
- [schema]="getSchema(column)"
4120
+ [schema]="getSchema(column, group)"
4077
4121
  [disabled]="isFieldDisabled(column, group)"
4078
- (valueChange)="handleFieldChange(column.name, $event, control)"
4122
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4079
4123
  >
4080
4124
  </fv-password-field>
4081
4125
  </ng-container>
@@ -4087,9 +4131,9 @@ class AddUpdateFormComponent {
4087
4131
  [label]="column.label"
4088
4132
  [placeholder]="column.placeholder || ''"
4089
4133
  [control]="control"
4090
- [schema]="getSchema(column)"
4134
+ [schema]="getSchema(column, group)"
4091
4135
  [disabled]="isFieldDisabled(column, group)"
4092
- (valueChange)="handleFieldChange(column.name, $event, control)"
4136
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4093
4137
  >
4094
4138
  </fv-number-field>
4095
4139
  </ng-container>
@@ -4102,9 +4146,9 @@ class AddUpdateFormComponent {
4102
4146
  [placeholder]="column.placeholder || 'Select option'"
4103
4147
  [options]="column.options || []"
4104
4148
  [control]="control"
4105
- [schema]="getSchema(column)"
4149
+ [schema]="getSchema(column, group)"
4106
4150
  [disabled]="isFieldDisabled(column, group)"
4107
- (valueChange)="handleFieldChange(column.name, $event, control)"
4151
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4108
4152
  >
4109
4153
  </fv-dropdown>
4110
4154
  </ng-container>
@@ -4116,7 +4160,7 @@ class AddUpdateFormComponent {
4116
4160
  [label]="column.label"
4117
4161
  [control]="control"
4118
4162
  [disabled]="isFieldDisabled(column, group)"
4119
- (valueChange)="handleFieldChange(column.name, $event, control)"
4163
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4120
4164
  >
4121
4165
  </fv-checkbox>
4122
4166
  </ng-container>
@@ -4128,7 +4172,7 @@ class AddUpdateFormComponent {
4128
4172
  [label]="column.label"
4129
4173
  [control]="control"
4130
4174
  [disabled]="isFieldDisabled(column, group)"
4131
- (valueChange)="handleFieldChange(column.name, $event, control)"
4175
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4132
4176
  >
4133
4177
  </fv-toggle>
4134
4178
  </ng-container>
@@ -4140,7 +4184,7 @@ class AddUpdateFormComponent {
4140
4184
  [control]="control"
4141
4185
  [disabled]="isFieldDisabled(column, group)"
4142
4186
  [layout]="column.layout || 'vertical'"
4143
- (valueChange)="handleFieldChange(column.name, $event, control)"
4187
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4144
4188
  >
4145
4189
  </fv-radio-group>
4146
4190
  </ng-container>
@@ -4149,9 +4193,9 @@ class AddUpdateFormComponent {
4149
4193
  <fv-date-field
4150
4194
  [label]="column.label"
4151
4195
  [control]="control"
4152
- [schema]="getSchema(column)"
4196
+ [schema]="getSchema(column, group)"
4153
4197
  [disabled]="isFieldDisabled(column, group)"
4154
- (valueChange)="handleFieldChange(column.name, $event, control)"
4198
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4155
4199
  >
4156
4200
  </fv-date-field>
4157
4201
  </ng-container>
@@ -4162,9 +4206,9 @@ class AddUpdateFormComponent {
4162
4206
  <fv-month-year-field
4163
4207
  [label]="column.label"
4164
4208
  [control]="control"
4165
- [schema]="getSchema(column)"
4209
+ [schema]="getSchema(column, group)"
4166
4210
  [disabled]="isFieldDisabled(column, group)"
4167
- (valueChange)="handleMonthYearChange(column.name, $event, control)"
4211
+ (valueChange)="handleMonthYearChange(column.name, $event, control, group)"
4168
4212
  >
4169
4213
  </fv-month-year-field>
4170
4214
  </ng-container>
@@ -4176,9 +4220,9 @@ class AddUpdateFormComponent {
4176
4220
  [label]="column.label"
4177
4221
  [placeholder]="column.placeholder || ''"
4178
4222
  [control]="control"
4179
- [schema]="getSchema(column)"
4223
+ [schema]="getSchema(column, group)"
4180
4224
  [disabled]="isFieldDisabled(column, group)"
4181
- (valueChange)="handleFieldChange(column.name, $event, control)"
4225
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4182
4226
  >
4183
4227
  </fv-rich-text-editor>
4184
4228
  </ng-container>
@@ -4189,9 +4233,9 @@ class AddUpdateFormComponent {
4189
4233
  [label]="column.label"
4190
4234
  [placeholder]="column.placeholder || 'Select image'"
4191
4235
  [control]="control"
4192
- [schema]="getSchema(column)"
4236
+ [schema]="getSchema(column, group)"
4193
4237
  [disabled]="isFieldDisabled(column, group)"
4194
- (valueChange)="onFileChange($event, column.name)"
4238
+ (valueChange)="onFileChange($event, column.name, group)"
4195
4239
  >
4196
4240
  </fv-image-selector>
4197
4241
  </ng-container>
@@ -4202,9 +4246,9 @@ class AddUpdateFormComponent {
4202
4246
  [placeholder]="column.placeholder || 'Select file'"
4203
4247
  [accept]="column.accept || '*/*'"
4204
4248
  [control]="control"
4205
- [schema]="getSchema(column)"
4249
+ [schema]="getSchema(column, group)"
4206
4250
  [disabled]="isFieldDisabled(column, group)"
4207
- (valueChange)="onFileChange($event, column.name)"
4251
+ (valueChange)="onFileChange($event, column.name, group)"
4208
4252
  >
4209
4253
  </fv-file-selector>
4210
4254
  </ng-template>
@@ -4218,39 +4262,39 @@ class AddUpdateFormComponent {
4218
4262
  [placeholder]="column.placeholder || 'Search by Code or Name'"
4219
4263
  [options]="column.options ? mapSearchOptions(column.options) : []"
4220
4264
  [control]="control"
4221
- [schema]="getSchema(column)"
4265
+ [schema]="getSchema(column, group)"
4222
4266
  [disabled]="isFieldDisabled(column, group)"
4223
- (valueChange)="handleFieldChange(column.name, $event, control)"
4267
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4224
4268
  >
4225
4269
  </fv-name-code>
4226
4270
  </ng-container>
4227
4271
 
4228
4272
  <ng-container *ngIf="column.type === 'phone' && !column.hidden">
4229
- <fv-phone-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-phone-field>
4273
+ <fv-phone-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-phone-field>
4230
4274
  </ng-container>
4231
4275
 
4232
4276
  <ng-container *ngIf="column.type === 'uan' && !column.hidden">
4233
- <fv-uan-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-uan-field>
4277
+ <fv-uan-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-uan-field>
4234
4278
  </ng-container>
4235
4279
 
4236
4280
  <ng-container *ngIf="column.type === 'pf' && !column.hidden">
4237
- <fv-pf-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-pf-field>
4281
+ <fv-pf-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-pf-field>
4238
4282
  </ng-container>
4239
4283
 
4240
4284
  <ng-container *ngIf="column.type === 'esi' && !column.hidden">
4241
- <fv-esi-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-esi-field>
4285
+ <fv-esi-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-esi-field>
4242
4286
  </ng-container>
4243
4287
 
4244
4288
  <ng-container *ngIf="column.type === 'ifsc' && !column.hidden">
4245
- <fv-ifsc-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-ifsc-field>
4289
+ <fv-ifsc-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-ifsc-field>
4246
4290
  </ng-container>
4247
4291
 
4248
4292
  <ng-container *ngIf="column.type === 'micr' && !column.hidden">
4249
- <fv-micr-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-micr-field>
4293
+ <fv-micr-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-micr-field>
4250
4294
  </ng-container>
4251
4295
 
4252
4296
  <ng-container *ngIf="column.type === 'iban' && !column.hidden">
4253
- <fv-iban-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-iban-field>
4297
+ <fv-iban-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-iban-field>
4254
4298
  </ng-container>
4255
4299
 
4256
4300
  <ng-container *ngIf="column.type === 'service-period' && !column.hidden">
@@ -4269,9 +4313,9 @@ class AddUpdateFormComponent {
4269
4313
  [placeholder]="column.placeholder || 'Upload'"
4270
4314
  [accept]="column.accept || 'application/pdf,image/*'"
4271
4315
  [control]="control"
4272
- [schema]="getSchema(column)"
4316
+ [schema]="getSchema(column, group)"
4273
4317
  [disabled]="isFieldDisabled(column, group)"
4274
- (valueChange)="handleFieldChange(column.name, $event, control)"
4318
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4275
4319
  >
4276
4320
  </fv-document-field>
4277
4321
  </ng-container>
@@ -4281,9 +4325,9 @@ class AddUpdateFormComponent {
4281
4325
  [label]="column.label"
4282
4326
  [placeholder]="column.placeholder || '--:--'"
4283
4327
  [control]="control"
4284
- [schema]="getSchema(column)"
4328
+ [schema]="getSchema(column, group)"
4285
4329
  [disabled]="isFieldDisabled(column, group)"
4286
- (valueChange)="handleFieldChange(column.name, $event, control)"
4330
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4287
4331
  >
4288
4332
  </fv-time-field>
4289
4333
  </ng-container>
@@ -4404,12 +4448,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4404
4448
  [placeholder]="column.placeholder || ''"
4405
4449
  type="text"
4406
4450
  [control]="control"
4407
- [schema]="getSchema(column)"
4451
+ [schema]="getSchema(column, group)"
4408
4452
  [disabled]="isFieldDisabled(column, group)"
4409
4453
  [readonly]="false"
4410
4454
  [allowAlphabetsOnly]="column.allowAlphabetsOnly || false"
4411
4455
  [maxLength]="column.maxLength || null"
4412
- (valueChange)="handleFieldChange(column.name, $event, control)"
4456
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4413
4457
  >
4414
4458
  </fv-entry-field>
4415
4459
  </ng-container>
@@ -4421,9 +4465,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4421
4465
  [label]="column.label"
4422
4466
  [placeholder]="column.placeholder || ''"
4423
4467
  [control]="control"
4424
- [schema]="getSchema(column)"
4468
+ [schema]="getSchema(column, group)"
4425
4469
  [disabled]="isFieldDisabled(column, group)"
4426
- (valueChange)="handleFieldChange(column.name, $event, control)"
4470
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4427
4471
  >
4428
4472
  </fv-email-field>
4429
4473
  </ng-container>
@@ -4435,9 +4479,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4435
4479
  [label]="column.label"
4436
4480
  [placeholder]="column.placeholder || ''"
4437
4481
  [control]="control"
4438
- [schema]="getSchema(column)"
4482
+ [schema]="getSchema(column, group)"
4439
4483
  [disabled]="isFieldDisabled(column, group)"
4440
- (valueChange)="handleFieldChange(column.name, $event, control)"
4484
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4441
4485
  >
4442
4486
  </fv-password-field>
4443
4487
  </ng-container>
@@ -4449,9 +4493,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4449
4493
  [label]="column.label"
4450
4494
  [placeholder]="column.placeholder || ''"
4451
4495
  [control]="control"
4452
- [schema]="getSchema(column)"
4496
+ [schema]="getSchema(column, group)"
4453
4497
  [disabled]="isFieldDisabled(column, group)"
4454
- (valueChange)="handleFieldChange(column.name, $event, control)"
4498
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4455
4499
  >
4456
4500
  </fv-number-field>
4457
4501
  </ng-container>
@@ -4464,9 +4508,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4464
4508
  [placeholder]="column.placeholder || 'Select option'"
4465
4509
  [options]="column.options || []"
4466
4510
  [control]="control"
4467
- [schema]="getSchema(column)"
4511
+ [schema]="getSchema(column, group)"
4468
4512
  [disabled]="isFieldDisabled(column, group)"
4469
- (valueChange)="handleFieldChange(column.name, $event, control)"
4513
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4470
4514
  >
4471
4515
  </fv-dropdown>
4472
4516
  </ng-container>
@@ -4478,7 +4522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4478
4522
  [label]="column.label"
4479
4523
  [control]="control"
4480
4524
  [disabled]="isFieldDisabled(column, group)"
4481
- (valueChange)="handleFieldChange(column.name, $event, control)"
4525
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4482
4526
  >
4483
4527
  </fv-checkbox>
4484
4528
  </ng-container>
@@ -4490,7 +4534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4490
4534
  [label]="column.label"
4491
4535
  [control]="control"
4492
4536
  [disabled]="isFieldDisabled(column, group)"
4493
- (valueChange)="handleFieldChange(column.name, $event, control)"
4537
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4494
4538
  >
4495
4539
  </fv-toggle>
4496
4540
  </ng-container>
@@ -4502,7 +4546,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4502
4546
  [control]="control"
4503
4547
  [disabled]="isFieldDisabled(column, group)"
4504
4548
  [layout]="column.layout || 'vertical'"
4505
- (valueChange)="handleFieldChange(column.name, $event, control)"
4549
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4506
4550
  >
4507
4551
  </fv-radio-group>
4508
4552
  </ng-container>
@@ -4511,9 +4555,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4511
4555
  <fv-date-field
4512
4556
  [label]="column.label"
4513
4557
  [control]="control"
4514
- [schema]="getSchema(column)"
4558
+ [schema]="getSchema(column, group)"
4515
4559
  [disabled]="isFieldDisabled(column, group)"
4516
- (valueChange)="handleFieldChange(column.name, $event, control)"
4560
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4517
4561
  >
4518
4562
  </fv-date-field>
4519
4563
  </ng-container>
@@ -4524,9 +4568,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4524
4568
  <fv-month-year-field
4525
4569
  [label]="column.label"
4526
4570
  [control]="control"
4527
- [schema]="getSchema(column)"
4571
+ [schema]="getSchema(column, group)"
4528
4572
  [disabled]="isFieldDisabled(column, group)"
4529
- (valueChange)="handleMonthYearChange(column.name, $event, control)"
4573
+ (valueChange)="handleMonthYearChange(column.name, $event, control, group)"
4530
4574
  >
4531
4575
  </fv-month-year-field>
4532
4576
  </ng-container>
@@ -4538,9 +4582,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4538
4582
  [label]="column.label"
4539
4583
  [placeholder]="column.placeholder || ''"
4540
4584
  [control]="control"
4541
- [schema]="getSchema(column)"
4585
+ [schema]="getSchema(column, group)"
4542
4586
  [disabled]="isFieldDisabled(column, group)"
4543
- (valueChange)="handleFieldChange(column.name, $event, control)"
4587
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4544
4588
  >
4545
4589
  </fv-rich-text-editor>
4546
4590
  </ng-container>
@@ -4551,9 +4595,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4551
4595
  [label]="column.label"
4552
4596
  [placeholder]="column.placeholder || 'Select image'"
4553
4597
  [control]="control"
4554
- [schema]="getSchema(column)"
4598
+ [schema]="getSchema(column, group)"
4555
4599
  [disabled]="isFieldDisabled(column, group)"
4556
- (valueChange)="onFileChange($event, column.name)"
4600
+ (valueChange)="onFileChange($event, column.name, group)"
4557
4601
  >
4558
4602
  </fv-image-selector>
4559
4603
  </ng-container>
@@ -4564,9 +4608,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4564
4608
  [placeholder]="column.placeholder || 'Select file'"
4565
4609
  [accept]="column.accept || '*/*'"
4566
4610
  [control]="control"
4567
- [schema]="getSchema(column)"
4611
+ [schema]="getSchema(column, group)"
4568
4612
  [disabled]="isFieldDisabled(column, group)"
4569
- (valueChange)="onFileChange($event, column.name)"
4613
+ (valueChange)="onFileChange($event, column.name, group)"
4570
4614
  >
4571
4615
  </fv-file-selector>
4572
4616
  </ng-template>
@@ -4580,39 +4624,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4580
4624
  [placeholder]="column.placeholder || 'Search by Code or Name'"
4581
4625
  [options]="column.options ? mapSearchOptions(column.options) : []"
4582
4626
  [control]="control"
4583
- [schema]="getSchema(column)"
4627
+ [schema]="getSchema(column, group)"
4584
4628
  [disabled]="isFieldDisabled(column, group)"
4585
- (valueChange)="handleFieldChange(column.name, $event, control)"
4629
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4586
4630
  >
4587
4631
  </fv-name-code>
4588
4632
  </ng-container>
4589
4633
 
4590
4634
  <ng-container *ngIf="column.type === 'phone' && !column.hidden">
4591
- <fv-phone-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-phone-field>
4635
+ <fv-phone-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-phone-field>
4592
4636
  </ng-container>
4593
4637
 
4594
4638
  <ng-container *ngIf="column.type === 'uan' && !column.hidden">
4595
- <fv-uan-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-uan-field>
4639
+ <fv-uan-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-uan-field>
4596
4640
  </ng-container>
4597
4641
 
4598
4642
  <ng-container *ngIf="column.type === 'pf' && !column.hidden">
4599
- <fv-pf-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-pf-field>
4643
+ <fv-pf-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-pf-field>
4600
4644
  </ng-container>
4601
4645
 
4602
4646
  <ng-container *ngIf="column.type === 'esi' && !column.hidden">
4603
- <fv-esi-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-esi-field>
4647
+ <fv-esi-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-esi-field>
4604
4648
  </ng-container>
4605
4649
 
4606
4650
  <ng-container *ngIf="column.type === 'ifsc' && !column.hidden">
4607
- <fv-ifsc-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-ifsc-field>
4651
+ <fv-ifsc-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-ifsc-field>
4608
4652
  </ng-container>
4609
4653
 
4610
4654
  <ng-container *ngIf="column.type === 'micr' && !column.hidden">
4611
- <fv-micr-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-micr-field>
4655
+ <fv-micr-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-micr-field>
4612
4656
  </ng-container>
4613
4657
 
4614
4658
  <ng-container *ngIf="column.type === 'iban' && !column.hidden">
4615
- <fv-iban-field [label]="column.label" [control]="control" [schema]="getSchema(column)" [disabled]="isFieldDisabled(column, group)"></fv-iban-field>
4659
+ <fv-iban-field [label]="column.label" [control]="control" [schema]="getSchema(column, group)" [disabled]="isFieldDisabled(column, group)"></fv-iban-field>
4616
4660
  </ng-container>
4617
4661
 
4618
4662
  <ng-container *ngIf="column.type === 'service-period' && !column.hidden">
@@ -4631,9 +4675,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4631
4675
  [placeholder]="column.placeholder || 'Upload'"
4632
4676
  [accept]="column.accept || 'application/pdf,image/*'"
4633
4677
  [control]="control"
4634
- [schema]="getSchema(column)"
4678
+ [schema]="getSchema(column, group)"
4635
4679
  [disabled]="isFieldDisabled(column, group)"
4636
- (valueChange)="handleFieldChange(column.name, $event, control)"
4680
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4637
4681
  >
4638
4682
  </fv-document-field>
4639
4683
  </ng-container>
@@ -4643,9 +4687,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4643
4687
  [label]="column.label"
4644
4688
  [placeholder]="column.placeholder || '--:--'"
4645
4689
  [control]="control"
4646
- [schema]="getSchema(column)"
4690
+ [schema]="getSchema(column, group)"
4647
4691
  [disabled]="isFieldDisabled(column, group)"
4648
- (valueChange)="handleFieldChange(column.name, $event, control)"
4692
+ (valueChange)="handleFieldChange(column.name, $event, control, group)"
4649
4693
  >
4650
4694
  </fv-time-field>
4651
4695
  </ng-container>