@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
|
-
|
|
3473
|
-
|
|
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,
|
|
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,
|
|
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>
|