@stemy/ngx-dynamic-form 19.9.14 → 19.9.16

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.
@@ -542,7 +542,8 @@ class ConfigForSchemaWrap {
542
542
  }
543
543
  async customize(field, property, schema) {
544
544
  field.defaultValue = property.format?.startsWith("date")
545
- ? convertToDateFormat(property.default, property.format) : property.default;
545
+ ? convertToDateFormat(field.defaultValue, property.format)
546
+ : field.defaultValue;
546
547
  const res = await ForbiddenZone.run("customizer", () => this.fieldCustomizer(field, this.forCustomizer(), this.injector, property, schema));
547
548
  return !res ? [field] : handleConfigs(res);
548
549
  }
@@ -743,6 +744,9 @@ class DynamicFormBuilderService {
743
744
  },
744
745
  };
745
746
  switch (type) {
747
+ case "checkbox":
748
+ data.defaultValue = data.defaultValue ?? false;
749
+ break;
746
750
  case "number":
747
751
  case "integer":
748
752
  props.min = convertToNumber(data.min, MIN_INPUT_NUM);
@@ -756,6 +760,7 @@ class DynamicFormBuilderService {
756
760
  case "string":
757
761
  case "text":
758
762
  case "textarea":
763
+ data.defaultValue = data.defaultValue ?? "";
759
764
  props.minLength = isNaN(data.minLength) ? 0 : data.minLength;
760
765
  props.maxLength = isNaN(data.maxLength) ? MAX_INPUT_NUM : data.maxLength;
761
766
  break;
@@ -818,11 +823,11 @@ class DynamicFormBuilderService {
818
823
  }
819
824
  createFormGroup(key, fields, data, parent, options) {
820
825
  data = data || {};
826
+ data.defaultValue = data.defaultValue ?? {};
821
827
  const group = this.createFormField(key, undefined, data, {
822
828
  useTabs: data.useTabs === true,
823
829
  }, parent, options);
824
830
  group.asFieldSet = data.asFieldSet === true;
825
- group.defaultValue = {};
826
831
  const result = fields(group.asFieldSet ? parent : group);
827
832
  const handleGroup = (fieldGroup) => {
828
833
  group.fieldGroup = fieldGroup;
@@ -834,10 +839,8 @@ class DynamicFormBuilderService {
834
839
  }
835
840
  createFormArray(key, fields, data, parent, options) {
836
841
  data = data || {};
842
+ data.defaultValue = data.defaultValue ?? [];
837
843
  const array = this.createFormField(key, "array", data, {
838
- // initialCount: data.initialCount || 0,
839
- // sortable: data.sortable || false,
840
- defaultValue: [],
841
844
  useTabs: data.useTabs === true,
842
845
  tabsLabel: `${data.tabsLabel || "label"}`,
843
846
  insertItem: data.insertItem,
@@ -970,6 +973,7 @@ class DynamicFormBuilderService {
970
973
  const prefix = data.labelPrefix ?? parent?.labelPrefix;
971
974
  const field = {
972
975
  ...this.createFormSerializer(key, data),
976
+ defaultValue: data.defaultValue ?? null,
973
977
  fieldSet: String(data.fieldSet || ""),
974
978
  labelPrefix: prefix,
975
979
  controlTemplateKey: String(data.controlTemplateKey || ""),
@@ -1190,6 +1194,7 @@ class DynamicFormSchemaService {
1190
1194
  classes: property.classes,
1191
1195
  layout: property.layout,
1192
1196
  serialize: property.serialize,
1197
+ defaultValue: property.default,
1193
1198
  fieldSet: property.fieldSet,
1194
1199
  labelPrefix: property.labelPrefix,
1195
1200
  purposes: property.purposes || property.purpose,
@@ -1251,7 +1256,7 @@ class DynamicFormSchemaService {
1251
1256
  break;
1252
1257
  }
1253
1258
  const sub = property.type == "array" ? property.items || property : property;
1254
- return this.builder.createFormInput(property.id, {
1259
+ const input = this.builder.createFormInput(property.id, {
1255
1260
  ...this.getFormFieldData(property, options),
1256
1261
  type,
1257
1262
  autocomplete: property.autocomplete,
@@ -1265,6 +1270,7 @@ class DynamicFormSchemaService {
1265
1270
  indeterminate: property.indeterminate,
1266
1271
  suffix: property.suffix
1267
1272
  }, parent, options);
1273
+ return input;
1268
1274
  }
1269
1275
  getFormTextareaConfig(property, options, parent) {
1270
1276
  return this.builder.createFormInput(property.id, {