@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.
- package/esm2020/ngx-dynamic-form/services/dynamic-form.service.mjs +11 -3
- package/esm2020/ngx-dynamic-form/utils/dynamic-editor.model.mjs +2 -1
- package/fesm2015/stemy-ngx-dynamic-form.mjs +11 -2
- package/fesm2015/stemy-ngx-dynamic-form.mjs.map +1 -1
- package/fesm2020/stemy-ngx-dynamic-form.mjs +11 -2
- package/fesm2020/stemy-ngx-dynamic-form.mjs.map +1 -1
- package/ngx-dynamic-form/utils/dynamic-editor.model.d.ts +2 -0
- package/package.json +1 -1
|
@@ -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,
|
|
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,
|