@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.
- package/esm2022/lib/add-update-form/add-update-form.component.mjs +116 -90
- package/esm2022/lib/fv-dropdown/fv-dropdown.component.mjs +10 -1
- package/esm2022/lib/fv-entry-field/fv-entry-field.component.mjs +10 -1
- package/fesm2022/fovestta2-web-angular.mjs +133 -89
- package/fesm2022/fovestta2-web-angular.mjs.map +1 -1
- package/lib/add-update-form/add-update-form.component.d.ts +5 -5
- package/package.json +1 -1
|
@@ -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
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
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
|
-
|
|
3513
|
-
|
|
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,
|
|
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,
|
|
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>
|