@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.
@@ -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(fieldSet);
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
- addFieldValidators(field, data.validators);
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