@stemy/ngx-dynamic-form 13.1.7 → 13.1.10

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.
@@ -2,7 +2,7 @@ import * as i2 from '@stemy/ngx-utils';
2
2
  import { ReflectUtils, ObjectUtils, TimerUtils, StringUtils, OpenApiService, TOASTER_SERVICE, ObservableUtils, EventsService, NgxUtilsModule } from '@stemy/ngx-utils';
3
3
  import { __decorate } from 'tslib';
4
4
  import * as i1 from '@ng-dynamic-forms/core';
5
- import { DynamicInputControlModel, DYNAMIC_FORM_CONTROL_TYPE_EDITOR, serializable, DynamicFormArrayGroupModel as DynamicFormArrayGroupModel$1, DynamicFormArrayModel as DynamicFormArrayModel$1, DynamicFormOption as DynamicFormOption$1, DynamicSelectModel as DynamicSelectModel$1, DynamicFormService as DynamicFormService$1, DynamicFormGroupModel, DynamicInputModel, DynamicFileUploadModel, DynamicCheckboxModel, DynamicTextAreaModel, DynamicFormComponent, DynamicTemplateDirective, DynamicFormControlContainerComponent, DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DynamicFormArrayComponent, DynamicFormValueControlModel, DynamicFormControlComponent, DynamicFormGroupComponent, DYNAMIC_FORM_CONTROL_MAP_FN, DYNAMIC_VALIDATORS } from '@ng-dynamic-forms/core';
5
+ import { DynamicInputControlModel, DYNAMIC_FORM_CONTROL_TYPE_EDITOR, serializable, DynamicFormArrayGroupModel as DynamicFormArrayGroupModel$1, DynamicFormArrayModel as DynamicFormArrayModel$1, DynamicFormOption as DynamicFormOption$1, DynamicSelectModel as DynamicSelectModel$1, DynamicFormService as DynamicFormService$1, DynamicFormGroupModel, DynamicInputModel, DynamicFormValueControlModel, DynamicFileUploadModel, DynamicCheckboxModel, DynamicTextAreaModel, DynamicFormComponent, DynamicTemplateDirective, DynamicFormControlContainerComponent, DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DynamicFormArrayComponent, DynamicFormControlComponent, DynamicFormGroupComponent, DYNAMIC_FORM_CONTROL_MAP_FN, DYNAMIC_VALIDATORS } from '@ng-dynamic-forms/core';
6
6
  export { DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX_GROUP, DYNAMIC_FORM_CONTROL_TYPE_EDITOR, DYNAMIC_FORM_CONTROL_TYPE_FILE_UPLOAD, DYNAMIC_FORM_CONTROL_TYPE_GROUP, DYNAMIC_FORM_CONTROL_TYPE_INPUT, DYNAMIC_FORM_CONTROL_TYPE_RADIO_GROUP, DYNAMIC_FORM_CONTROL_TYPE_SELECT, DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA, DynamicCheckboxGroupModel, DynamicCheckboxModel, DynamicFileUploadModel, DynamicFormGroupModel, DynamicFormsCoreModule, DynamicInputModel, DynamicListDirective, DynamicRadioGroupModel, DynamicTemplateDirective, DynamicTextAreaModel } from '@ng-dynamic-forms/core';
7
7
  import { BehaviorSubject, of, isObservable, map, Subject, firstValueFrom, Subscription, debounceTime, groupBy, mergeMap } from 'rxjs';
8
8
  import * as i0 from '@angular/core';
@@ -212,6 +212,7 @@ class DynamicEditorModel extends DynamicInputControlModel {
212
212
  super(config, layout);
213
213
  this.type = DYNAMIC_FORM_CONTROL_TYPE_EDITOR;
214
214
  this.inputType = config.inputType || "javascript";
215
+ this.convertObject = config.convertObject !== false;
215
216
  }
216
217
  }
217
218
  __decorate([
@@ -483,6 +484,8 @@ class DynamicFormService extends DynamicFormService$1 {
483
484
  this.detectChanges(form);
484
485
  }
485
486
  patchValueRecursive(value, formModel, formGroup) {
487
+ if (!value)
488
+ return;
486
489
  Object.keys(value).forEach(key => {
487
490
  const subModel = this.findModelById(key, formModel);
488
491
  const subValue = value[key];
@@ -611,6 +614,9 @@ class DynamicFormService extends DynamicFormService$1 {
611
614
  this.schemas = await this.openApi.getSchemas();
612
615
  const customizeModels = (property, schema, modelType, config) => {
613
616
  const model = new modelType(config);
617
+ if (model instanceof DynamicFormValueControlModel) {
618
+ model.value = property.default;
619
+ }
614
620
  if (!ObjectUtils.isFunction(customizeModel))
615
621
  return [model];
616
622
  const res = customizeModel(property, schema, model, config, this.injector);
@@ -651,6 +657,8 @@ class DynamicFormService extends DynamicFormService$1 {
651
657
  return customizeModels(property, schema, DynamicTextAreaModel, this.getFormTextareaConfig(property, schema));
652
658
  }
653
659
  return customizeModels(property, schema, DynamicInputModel, this.getFormInputConfig(property, schema));
660
+ case "object":
661
+ return customizeModels(property, schema, DynamicEditorModel, this.getFormEditorConfig(property, schema));
654
662
  case "boolean":
655
663
  return customizeModels(property, schema, DynamicCheckboxModel, this.getFormCheckboxConfig(property, schema));
656
664
  case "array":
@@ -751,7 +759,8 @@ class DynamicFormService extends DynamicFormService$1 {
751
759
  getFormEditorConfig(property, schema) {
752
760
  const sub = property.type == "array" ? property.items || property : property;
753
761
  return Object.assign(this.getFormControlConfig(property, schema), {
754
- inputType: property.format,
762
+ inputType: property.format || "json",
763
+ convertObject: property.type !== "string",
755
764
  autoComplete: property.autoComplete || "off",
756
765
  multiple: property.type == "array",
757
766
  accept: ObjectUtils.isString(property.accept) ? property.accept : null,