@stemy/ngx-dynamic-form 19.9.1 → 19.9.2
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/fesm2022/stemy-ngx-dynamic-form.mjs +32 -19
- package/fesm2022/stemy-ngx-dynamic-form.mjs.map +1 -1
- package/ngx-dynamic-form/common-types.d.ts +2 -1
- package/ngx-dynamic-form/services/dynamic-form-builder.service.d.ts +2 -1
- package/ngx-dynamic-form/utils/validation.d.ts +2 -1
- package/package.json +1 -1
- package/public_api.d.ts +2 -2
|
@@ -431,6 +431,13 @@ function maxValueValidation(max, each) {
|
|
|
431
431
|
return v == null || v <= max;
|
|
432
432
|
}, "maxValue");
|
|
433
433
|
}
|
|
434
|
+
function setFieldMinDate(field, min) {
|
|
435
|
+
setFieldDefault(field, min);
|
|
436
|
+
setFieldProp(field, "min", min);
|
|
437
|
+
setFieldValue(field, min);
|
|
438
|
+
removeFieldValidators(field, "minValue");
|
|
439
|
+
addFieldValidators(field, [minValueValidation(min)]);
|
|
440
|
+
}
|
|
434
441
|
|
|
435
442
|
class ModelUtils {
|
|
436
443
|
static getLanguages() {
|
|
@@ -638,6 +645,23 @@ class DynamicFormBuilderService {
|
|
|
638
645
|
return typeof itemType === "function" ? this.resolveFormFields(itemType, sp, options) : this.createFormInput("", typeof itemType === "string" ? { type: `${itemType}` } : itemType, sp, options);
|
|
639
646
|
}, data, parent, options);
|
|
640
647
|
}
|
|
648
|
+
createFieldSet(set, fields, parent, options) {
|
|
649
|
+
const id = !parent?.path ? set.id : `${parent.path}.${set.id}`;
|
|
650
|
+
return this.setExpressions({
|
|
651
|
+
id,
|
|
652
|
+
parent,
|
|
653
|
+
fieldGroup: fields,
|
|
654
|
+
wrappers: ["form-fieldset"],
|
|
655
|
+
props: {
|
|
656
|
+
label: this.getLabel(set.id, set.label, set.labelPrefix, parent, options, "title"),
|
|
657
|
+
hidden: false,
|
|
658
|
+
classes: toStringArray(set.classes),
|
|
659
|
+
layout: toStringArray(set.layout),
|
|
660
|
+
},
|
|
661
|
+
hooks: {},
|
|
662
|
+
expressions: {}
|
|
663
|
+
}, options);
|
|
664
|
+
}
|
|
641
665
|
createFieldSets(fields, parent, options, sets = []) {
|
|
642
666
|
const result = [];
|
|
643
667
|
const groups = {};
|
|
@@ -654,27 +678,12 @@ class DynamicFormBuilderService {
|
|
|
654
678
|
// If we have a fieldset name defined, then push the property fields into a group
|
|
655
679
|
if (fsName) {
|
|
656
680
|
const id = !parent?.path ? fsName : `${parent.path}.${fsName}`;
|
|
657
|
-
const set = sets.find(s => s.id === fsName);
|
|
681
|
+
const set = sets.find(s => s.id === fsName) || { id: fsName, layout: "" };
|
|
658
682
|
let fieldGroup = groups[id];
|
|
659
683
|
if (!fieldGroup) {
|
|
660
684
|
fieldGroup = [];
|
|
661
|
-
const fieldSet = {
|
|
662
|
-
id,
|
|
663
|
-
parent,
|
|
664
|
-
fieldGroup,
|
|
665
|
-
wrappers: ["form-fieldset"],
|
|
666
|
-
props: {
|
|
667
|
-
label: this.getLabel(fsName, set?.label, set?.labelPrefix, parent, options, "title"),
|
|
668
|
-
hidden: false,
|
|
669
|
-
classes: toStringArray(set?.classes),
|
|
670
|
-
layout: toStringArray(set?.layout),
|
|
671
|
-
},
|
|
672
|
-
hooks: {},
|
|
673
|
-
expressions: {}
|
|
674
|
-
};
|
|
675
|
-
this.setExpressions(fieldSet, options);
|
|
676
685
|
groups[id] = fieldGroup;
|
|
677
|
-
result.push(
|
|
686
|
+
result.push(this.createFieldSet(set, fieldGroup, parent, options));
|
|
678
687
|
}
|
|
679
688
|
fieldGroup.push(field);
|
|
680
689
|
continue;
|
|
@@ -993,7 +1002,10 @@ class DynamicFormBuilderService {
|
|
|
993
1002
|
configurable: true
|
|
994
1003
|
});
|
|
995
1004
|
// Set expressions
|
|
996
|
-
|
|
1005
|
+
const validators = ObjectUtils.isArray(data.validators)
|
|
1006
|
+
? data.validators.map(v => ReflectUtils.resolve(v, this.injector))
|
|
1007
|
+
: data.validators;
|
|
1008
|
+
addFieldValidators(field, validators);
|
|
997
1009
|
this.setExpressions(field, options);
|
|
998
1010
|
return field;
|
|
999
1011
|
}
|
|
@@ -1052,6 +1064,7 @@ class DynamicFormBuilderService {
|
|
|
1052
1064
|
field[key] = expression(field);
|
|
1053
1065
|
}
|
|
1054
1066
|
});
|
|
1067
|
+
return field;
|
|
1055
1068
|
}
|
|
1056
1069
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DynamicFormBuilderService, deps: [{ token: i0.Injector }, { token: i2.EventsService }, { token: API_SERVICE }, { token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1057
1070
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DynamicFormBuilderService });
|
|
@@ -2322,5 +2335,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
|
|
|
2322
2335
|
* Generated bundle index. Do not edit.
|
|
2323
2336
|
*/
|
|
2324
2337
|
|
|
2325
|
-
export { AsyncSubmitDirective, DynamicFieldType, DynamicFormAlertComponent, DynamicFormArrayComponent, DynamicFormBuilderService, DynamicFormChipsComponent, DynamicFormComponent, DynamicFormFieldComponent, DynamicFormFieldsetComponent, DynamicFormGroupComponent, DynamicFormSchemaService, DynamicFormService, DynamicFormStaticComponent, DynamicFormTemplateDirective, DynamicFormTemplatePipe, DynamicFormTemplateService, DynamicFormTranslationComponent, DynamicFormUploadComponent, DynamicFormWysiwygComponent, EDITOR_FORMATS, FORM_ROOT_ID, FormArray, FormFieldSet, FormGroup, FormInput, FormSelect, FormSerializable, FormStatic, FormUpload, MAX_INPUT_NUM, MIN_INPUT_NUM, NgxDynamicFormModule, RichTranslationModel, TranslationModel, addFieldValidators, arrayLengthValidation, clearFieldArray, controlStatus, controlValues, convertToDate, convertToDateFormat, convertToNumber, customizeFormField, emailValidation, getFieldByPath, getFieldsByKey, getFieldsByPredicate, getSelectOptions, insertToFieldArray, isFieldHidden, isFieldVisible, jsonValidation, maxLengthValidation, maxValueValidation, minLengthValidation, minValueValidation, phoneValidation, removeFieldValidators, removeFromFieldArray, replaceFieldArray, replaceSpecialChars, requiredValidation, setFieldDefault, setFieldDisabled, setFieldHidden, setFieldHooks, setFieldProp, setFieldProps, setFieldSerialize, setFieldValue, translationValidation };
|
|
2338
|
+
export { AsyncSubmitDirective, DynamicFieldType, DynamicFormAlertComponent, DynamicFormArrayComponent, DynamicFormBuilderService, DynamicFormChipsComponent, DynamicFormComponent, DynamicFormFieldComponent, DynamicFormFieldsetComponent, DynamicFormGroupComponent, DynamicFormSchemaService, DynamicFormService, DynamicFormStaticComponent, DynamicFormTemplateDirective, DynamicFormTemplatePipe, DynamicFormTemplateService, DynamicFormTranslationComponent, DynamicFormUploadComponent, DynamicFormWysiwygComponent, EDITOR_FORMATS, FORM_ROOT_ID, FormArray, FormFieldSet, FormGroup, FormInput, FormSelect, FormSerializable, FormStatic, FormUpload, MAX_INPUT_NUM, MIN_INPUT_NUM, NgxDynamicFormModule, RichTranslationModel, TranslationModel, addFieldValidators, arrayLengthValidation, clearFieldArray, controlStatus, controlValues, convertToDate, convertToDateFormat, convertToNumber, customizeFormField, emailValidation, getFieldByPath, getFieldsByKey, getFieldsByPredicate, getSelectOptions, insertToFieldArray, isFieldHidden, isFieldVisible, jsonValidation, maxLengthValidation, maxValueValidation, minLengthValidation, minValueValidation, phoneValidation, removeFieldValidators, removeFromFieldArray, replaceFieldArray, replaceSpecialChars, requiredValidation, setFieldDefault, setFieldDisabled, setFieldHidden, setFieldHooks, setFieldMinDate, setFieldProp, setFieldProps, setFieldSerialize, setFieldValue, translationValidation };
|
|
2326
2339
|
//# sourceMappingURL=stemy-ngx-dynamic-form.mjs.map
|