@stemy/ngx-dynamic-form 10.2.22 → 12.0.0

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.
Files changed (60) hide show
  1. package/bundles/stemy-ngx-dynamic-form.umd.js +1781 -902
  2. package/bundles/stemy-ngx-dynamic-form.umd.js.map +1 -1
  3. package/esm2015/ngx-dynamic-form/common-types.js +463 -7
  4. package/esm2015/ngx-dynamic-form/components/base/dynamic-form-base.component.js +87 -0
  5. package/esm2015/ngx-dynamic-form/components/dynamic-form/dynamic-form.component.js +91 -0
  6. package/esm2015/ngx-dynamic-form/components/dynamic-form-file/dynamic-form-file.component.js +112 -0
  7. package/esm2015/ngx-dynamic-form/components/dynamic-form-group/dynamic-form-group.component.js +19 -0
  8. package/esm2015/ngx-dynamic-form/components/dynamic-form-input/dynamic-form-input.component.js +69 -0
  9. package/esm2015/ngx-dynamic-form/components/dynamic-form-model/dynamic-form-model.component.js +23 -0
  10. package/esm2015/ngx-dynamic-form/components/dynamic-form-select/dynamic-form-select.component.js +73 -0
  11. package/esm2015/ngx-dynamic-form/components/dynamic-form-static/dynamic-form-static.component.js +20 -0
  12. package/esm2015/ngx-dynamic-form/components/dynamic-forms/dynamic-forms.component.js +134 -0
  13. package/esm2015/ngx-dynamic-form/directives/async-submit.directive.js +6 -17
  14. package/esm2015/ngx-dynamic-form/directives/dynamic-form-control.directive.js +32 -0
  15. package/esm2015/ngx-dynamic-form/directives/dynamic-form-group.directive.js +40 -0
  16. package/esm2015/ngx-dynamic-form/directives/dynamic-form-template.directive.js +38 -0
  17. package/esm2015/ngx-dynamic-form/ngx-dynamic-form.module.js +36 -35
  18. package/esm2015/ngx-dynamic-form/services/dynamic-form.service.js +41 -386
  19. package/esm2015/ngx-dynamic-form/services/form-utilities.js +108 -0
  20. package/esm2015/ngx-dynamic-form/services/open-api.service.js +130 -0
  21. package/esm2015/public_api.js +15 -6
  22. package/esm2015/stemy-ngx-dynamic-form.js +4 -3
  23. package/fesm2015/stemy-ngx-dynamic-form.js +1357 -594
  24. package/fesm2015/stemy-ngx-dynamic-form.js.map +1 -1
  25. package/ngx-dynamic-form/common-types.d.ts +181 -27
  26. package/ngx-dynamic-form/components/base/dynamic-form-base.component.d.ts +44 -0
  27. package/ngx-dynamic-form/components/dynamic-form/dynamic-form.component.d.ts +21 -0
  28. package/ngx-dynamic-form/components/dynamic-form-file/dynamic-form-file.component.d.ts +16 -0
  29. package/ngx-dynamic-form/components/dynamic-form-group/dynamic-form-group.component.d.ts +6 -0
  30. package/ngx-dynamic-form/components/dynamic-form-input/dynamic-form-input.component.d.ts +12 -0
  31. package/ngx-dynamic-form/components/dynamic-form-model/dynamic-form-model.component.d.ts +6 -0
  32. package/ngx-dynamic-form/components/dynamic-form-select/dynamic-form-select.component.d.ts +9 -0
  33. package/ngx-dynamic-form/components/dynamic-form-static/dynamic-form-static.component.d.ts +5 -0
  34. package/ngx-dynamic-form/components/dynamic-forms/dynamic-forms.component.d.ts +26 -0
  35. package/ngx-dynamic-form/directives/async-submit.directive.d.ts +1 -5
  36. package/ngx-dynamic-form/directives/dynamic-form-control.directive.d.ts +12 -0
  37. package/ngx-dynamic-form/directives/dynamic-form-group.directive.d.ts +14 -0
  38. package/ngx-dynamic-form/directives/dynamic-form-template.directive.d.ts +16 -0
  39. package/ngx-dynamic-form/ngx-dynamic-form.module.d.ts +15 -5
  40. package/ngx-dynamic-form/services/dynamic-form.service.d.ts +11 -39
  41. package/ngx-dynamic-form/services/form-utilities.d.ts +19 -0
  42. package/ngx-dynamic-form/services/open-api.service.d.ts +37 -0
  43. package/package.json +16 -17
  44. package/public_api.d.ts +14 -5
  45. package/stemy-ngx-dynamic-form.d.ts +3 -2
  46. package/stemy-ngx-dynamic-form.metadata.json +1 -1
  47. package/bundles/stemy-ngx-dynamic-form.umd.min.js +0 -16
  48. package/bundles/stemy-ngx-dynamic-form.umd.min.js.map +0 -1
  49. package/esm2015/ngx-dynamic-form/components/base/dynamic-base-form-control-container.component.js +0 -91
  50. package/esm2015/ngx-dynamic-form/components/base/dynamic-base-form.component.js +0 -129
  51. package/esm2015/ngx-dynamic-form/services/dynamic-form-validation.service.js +0 -11
  52. package/esm2015/ngx-dynamic-form/utils/dynamic-form-array.model.js +0 -8
  53. package/esm2015/ngx-dynamic-form/utils/form-subject.js +0 -18
  54. package/esm2015/ngx-dynamic-form/utils/validators.js +0 -28
  55. package/ngx-dynamic-form/components/base/dynamic-base-form-control-container.component.d.ts +0 -37
  56. package/ngx-dynamic-form/components/base/dynamic-base-form.component.d.ts +0 -37
  57. package/ngx-dynamic-form/services/dynamic-form-validation.service.d.ts +0 -5
  58. package/ngx-dynamic-form/utils/dynamic-form-array.model.d.ts +0 -12
  59. package/ngx-dynamic-form/utils/form-subject.d.ts +0 -8
  60. package/ngx-dynamic-form/utils/validators.d.ts +0 -4
package/package.json CHANGED
@@ -1,29 +1,28 @@
1
1
  {
2
2
  "name": "@stemy/ngx-dynamic-form",
3
- "version": "10.2.22",
3
+ "version": "12.0.0",
4
4
  "license": "MIT",
5
5
  "public": true,
6
6
  "repository": "https://github.com/stemyke/ngx-dynamic-form.git",
7
7
  "author": "stemy <balazs.stemler@metrix.co.hu>",
8
8
  "peerDependencies": {
9
- "@angular/animations": "^10.0.0 || ^11.0.0",
10
- "@angular/common": "^10.0.0 || ^11.0.0",
11
- "@angular/compiler": "^10.0.0 || ^11.0.0",
12
- "@angular/core": "^10.0.0 || ^11.0.0",
13
- "@angular/forms": "^10.0.0 || ^11.0.0",
14
- "@angular/router": "^10.0.0 || ^11.0.0",
15
- "@angular/platform-browser": "^10.0.0 || ^11.0.0",
16
- "@angular/platform-server": "^10.0.0 || ^11.0.0",
9
+ "@angular/animations": "^10.0.0 || ^11.0.0 || ^12.0.0",
10
+ "@angular/common": "^10.0.0 || ^11.0.0 || ^12.0.0",
11
+ "@angular/compiler": "^10.0.0 || ^11.0.0 || ^12.0.0",
12
+ "@angular/core": "^10.0.0 || ^11.0.0 || ^12.0.0",
13
+ "@angular/forms": "^10.0.0 || ^11.0.0 || ^12.0.0",
14
+ "@angular/router": "^10.0.0 || ^11.0.0 || ^12.0.0",
15
+ "@angular/platform-browser": "^10.0.0 || ^11.0.0 || ^12.0.0",
16
+ "@angular/platform-server": "^10.0.0 || ^11.0.0 || ^12.0.0",
17
17
  "express": "^4.0.0",
18
18
  "resize-detector": "^0.2.2 || ^0.3.0",
19
19
  "core-js": "^3.6.5",
20
20
  "rxjs": "^6.6.2",
21
21
  "zone.js": "^0.10.3 || ^0.11.4",
22
22
  "moment": "^2.27.0",
23
- "ngx-device-detector": "^2.0.0",
24
- "@stemy/ngx-utils": "^10.2.39 || ^11.0.0",
25
- "@ng-dynamic-forms/core": "^12.0.0",
26
- "@ng-dynamic-forms/ui-basic": "^12.0.0"
23
+ "invokable": "^1.0.3",
24
+ "ngx-device-detector": "~2.1.1 || ~3.0.0",
25
+ "@stemy/ngx-utils": "^10.2.38 || ^11.0.0 || ^12.0.0"
27
26
  },
28
27
  "main": "bundles/stemy-ngx-dynamic-form.umd.js",
29
28
  "module": "fesm2015/stemy-ngx-dynamic-form.js",
@@ -34,8 +33,8 @@
34
33
  "fesm2015": "fesm2015/stemy-ngx-dynamic-form.js",
35
34
  "typings": "stemy-ngx-dynamic-form.d.ts",
36
35
  "metadata": "stemy-ngx-dynamic-form.metadata.json",
36
+ "sideEffects": false,
37
37
  "dependencies": {
38
- "tslib": "^2.0.1"
39
- },
40
- "sideEffects": false
41
- }
38
+ "tslib": "^2.2.0"
39
+ }
40
+ }
package/public_api.d.ts CHANGED
@@ -1,8 +1,17 @@
1
- export { IDynamicFormBase, IDynamicForm, OnCreatedFormControl, IFormControlSerializer, IFormInputMask, IFormInputMaskFunction, IFormInputUnMaskFunction, IFormSerializer, IFormSerializers, DynamicFormState, DynamicFormUpdateOn, IFormControl, IFormControlData, IFormInputData, IFormSelectData, IFormStaticData, IFormFileData, IFormModelData, IFormFieldSet, IFormControlOption, IDynamicFormTemplates, IDynamicFormConfig, IDynamicSingleFormConfig, IDynamicMultiFormConfig, IDynamicFormsConfigs, AsyncSubmitMethod, IDynamicFormInfo, IDynamicFormFieldSets, FormControlTester, FormControlTesterFactory, defaultSerializer, FormSerializable, FormInput, FormSelect, FormStatic, FormModel, FormFile, FormFieldSet, defineFormControl, getFormFieldSets, getFormControl, getFormSerializer, createFormInput, createFormSelect, createFormStatic, createFormModel, createFormControl } from "./ngx-dynamic-form/common-types";
2
- export { validateJSON, validateRequiredTranslation, validatePhone } from "./ngx-dynamic-form/utils/validators";
3
- export { FormSubject } from "./ngx-dynamic-form/utils/form-subject";
1
+ export { FORM_CONTROL_PROVIDER, IFormControlComponent, IFormGroupComponent, FormControlComponent, IFormControlProviderAcceptor, IFormControlProviderLoader, IFormControlOptions, IFormControlSerializer, IFormControlProvider, IFormSerializer, IFormSerializers, DynamicFormState, DynamicFormUpdateOn, IDynamicFormControl, DynamicFormGroup, DynamicFormControl, IFormControl, IFormControlData, IFormInputData, IFormSelectData, IFormStaticData, IFormFileData, IFormModelData, IFormFieldSet, IFormControlOption, IDynamicFormTemplates, IDynamicFormConfig, IDynamicSingleFormConfig, IDynamicMultiFormConfig, IDynamicFormsConfigs, IDynamicFormBase, AsyncSubmitMethod, IDynamicFormInfo, IDynamicForm, IDynamicFormFieldSets, FormControlTester, FormControlTesterFactory, FormControlValidator, FormControlValidatorFactory, defaultSerializer, FormSerializable, FormInput, FormSelect, FormStatic, FormModel, FormFile, FormFieldSet, FormGroupProvider, provideFormGroup, FormControlProvider, provideFormControl, defineFormControl, getFormFieldSets, getFormControl, getFormSerializer, createFormInput, createFormSelect, createFormStatic, createFormModel, createFormControl } from "./ngx-dynamic-form/common-types";
4
2
  export { DynamicFormService } from "./ngx-dynamic-form/services/dynamic-form.service";
3
+ export { FormUtilities } from "./ngx-dynamic-form/services/form-utilities";
4
+ export { OpenApiService, IOpenApiSchemaProperty, IOpenApiSchema, IDynamicFormInputs } from "./ngx-dynamic-form/services/open-api.service";
5
5
  export { AsyncSubmitDirective } from "./ngx-dynamic-form/directives/async-submit.directive";
6
- export { DynamicBaseFormComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form.component";
7
- export { DynamicBaseFormControlContainerComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form-control-container.component";
6
+ export { DynamicFormControlDirective } from "./ngx-dynamic-form/directives/dynamic-form-control.directive";
7
+ export { DynamicFormTemplateDirective } from "./ngx-dynamic-form/directives/dynamic-form-template.directive";
8
+ export { DynamicFormBaseComponent } from "./ngx-dynamic-form/components/base/dynamic-form-base.component";
9
+ export { DynamicFormComponent } from "./ngx-dynamic-form/components/dynamic-form/dynamic-form.component";
10
+ export { DynamicFormsComponent } from "./ngx-dynamic-form/components/dynamic-forms/dynamic-forms.component";
11
+ export { DynamicFormGroupComponent } from "./ngx-dynamic-form/components/dynamic-form-group/dynamic-form-group.component";
12
+ export { DynamicFormFileComponent } from "./ngx-dynamic-form/components/dynamic-form-file/dynamic-form-file.component";
13
+ export { DynamicFormInputComponent } from "./ngx-dynamic-form/components/dynamic-form-input/dynamic-form-input.component";
14
+ export { DynamicFormSelectComponent } from "./ngx-dynamic-form/components/dynamic-form-select/dynamic-form-select.component";
15
+ export { DynamicFormStaticComponent } from "./ngx-dynamic-form/components/dynamic-form-static/dynamic-form-static.component";
16
+ export { DynamicFormModelComponent } from "./ngx-dynamic-form/components/dynamic-form-model/dynamic-form-model.component";
8
17
  export { NgxDynamicFormModule } from "./ngx-dynamic-form/ngx-dynamic-form.module";
@@ -2,5 +2,6 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public_api';
5
- export { components as ɵa, directives as ɵb, pipes as ɵc } from './ngx-dynamic-form/ngx-dynamic-form.module';
6
- export { DynamicFormValidationService as ɵd } from './ngx-dynamic-form/services/dynamic-form-validation.service';
5
+ export { FORM_GROUP_TYPE as ɵa } from './ngx-dynamic-form/common-types';
6
+ export { DynamicFormGroupDirective as ɵe } from './ngx-dynamic-form/directives/dynamic-form-group.directive';
7
+ export { components as ɵb, directives as ɵc, pipes as ɵd } from './ngx-dynamic-form/ngx-dynamic-form.module';
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"IDynamicFormBase":{"__symbolic":"interface"},"IDynamicForm":{"__symbolic":"interface"},"OnCreatedFormControl":{"__symbolic":"interface"},"IFormControlSerializer":{"__symbolic":"interface"},"IFormInputMask":{"__symbolic":"interface"},"IFormInputMaskFunction":{"__symbolic":"interface"},"IFormInputUnMaskFunction":{"__symbolic":"interface"},"IFormSerializer":{"__symbolic":"interface"},"IFormSerializers":{"__symbolic":"interface"},"DynamicFormState":{"__symbolic":"interface"},"DynamicFormUpdateOn":{"__symbolic":"interface"},"IFormControl":{"__symbolic":"interface"},"IFormControlData":{"__symbolic":"interface"},"IFormInputData":{"__symbolic":"interface"},"IFormSelectData":{"__symbolic":"interface"},"IFormStaticData":{"__symbolic":"interface"},"IFormFileData":{"__symbolic":"interface"},"IFormModelData":{"__symbolic":"interface"},"IFormFieldSet":{"__symbolic":"interface"},"IFormControlOption":{"__symbolic":"interface"},"IDynamicFormTemplates":{"__symbolic":"interface"},"IDynamicFormConfig":{"__symbolic":"interface"},"IDynamicSingleFormConfig":{"__symbolic":"interface"},"IDynamicMultiFormConfig":{"__symbolic":"interface"},"IDynamicFormsConfigs":{"__symbolic":"interface"},"AsyncSubmitMethod":{"__symbolic":"interface"},"IDynamicFormInfo":{"__symbolic":"interface"},"IDynamicFormFieldSets":{"__symbolic":"interface"},"FormControlTester":{"__symbolic":"interface"},"FormControlTesterFactory":{"__symbolic":"interface"},"defaultSerializer":{"__symbolic":"function"},"FormSerializable":{"__symbolic":"function","parameters":["serializer"],"value":{"__symbolic":"error","message":"Lambda not supported","line":191,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormInput":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":197,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormSelect":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":214,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormStatic":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":220,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormModel":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":226,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormFile":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":232,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormFieldSet":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":238,"character":11,"module":"./ngx-dynamic-form/common-types"}},"defineFormControl":{"__symbolic":"function"},"getFormFieldSets":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"ReflectUtils","line":251,"character":11},"member":"getMetadata"},"arguments":["dynamicFormFieldSets",{"__symbolic":"reference","name":"target"}]},"right":{}}},"getFormControl":{"__symbolic":"function","parameters":["target","propertyKey"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"ReflectUtils","line":255,"character":11},"member":"getMetadata"},"arguments":["dynamicFormControl",{"__symbolic":"reference","name":"target"},{"__symbolic":"reference","name":"propertyKey"}]}},"getFormSerializer":{"__symbolic":"function","parameters":["target","propertyKey"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"ReflectUtils","line":259,"character":11},"member":"getMetadata"},"arguments":["dynamicFormSerializer",{"__symbolic":"reference","name":"target"},{"__symbolic":"reference","name":"propertyKey"}]}},"createFormInput":{"__symbolic":"function"},"createFormSelect":{"__symbolic":"function"},"createFormStatic":{"__symbolic":"function"},"createFormModel":{"__symbolic":"function"},"createFormControl":{"__symbolic":"function"},"validateJSON":{"__symbolic":"function"},"validateRequiredTranslation":{"__symbolic":"function"},"validatePhone":{"__symbolic":"function"},"FormSubject":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"rxjs","name":"Subject","line":4,"character":36},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":8,"character":32,"module":"./ngx-dynamic-form/utils/form-subject"}]}],"notify":[{"__symbolic":"method"}]}},"DynamicFormService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormService","line":45,"character":40},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":44,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormComponentService","line":58,"character":20},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormValidationService","line":58,"character":53},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"OpenApiService","line":58,"character":101}]}],"patchGroup":[{"__symbolic":"method"}],"patchForm":[{"__symbolic":"method"}],"serialize":[{"__symbolic":"method"}],"notifyChanges":[{"__symbolic":"method"}],"updateSelectOptions":[{"__symbolic":"method"}],"showErrors":[{"__symbolic":"method"}],"detectChanges":[{"__symbolic":"method"}],"patchValueRecursive":[{"__symbolic":"method"}],"serializeRecursive":[{"__symbolic":"method"}],"notifyChangesRecursive":[{"__symbolic":"method"}],"showErrorsForGroup":[{"__symbolic":"method"}],"showErrorsForControls":[{"__symbolic":"method"}],"getFormModelForSchema":[{"__symbolic":"method"}],"getFormModelForSchemaDef":[{"__symbolic":"method"}],"getFormControlModel":[{"__symbolic":"method"}],"getFormControlConfig":[{"__symbolic":"method"}],"getFormArrayConfig":[{"__symbolic":"method"}],"getFormGroupConfig":[{"__symbolic":"method"}],"getFormInputConfig":[{"__symbolic":"method"}],"getFormTextareaConfig":[{"__symbolic":"method"}],"getFormSelectConfig":[{"__symbolic":"method"}],"getFormCheckboxConfig":[{"__symbolic":"method"}],"translateOptions":[{"__symbolic":"method"}],"getFormSelectOptions":[{"__symbolic":"method"}],"getFormUploadConfig":[{"__symbolic":"method"}],"getValidators":[{"__symbolic":"method"}]}},"AsyncSubmitDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1},"arguments":[{"selector":"[async-submit]","exportAs":"async-submit"}]}],"members":{"method":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["async-submit"]}]}],"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"context":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"onSuccess":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":5}}]}],"onError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":5}}]}],"isDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":37,"character":5},"arguments":["class.disabled"]}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":51,"character":5},"arguments":["class.loading"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":56,"character":17},"arguments":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"TOASTER_SERVICE","line":56,"character":24}]}],null,null,null],"parameters":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"IToasterService","line":56,"character":58},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":57,"character":30},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":58,"character":31},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":59,"character":35}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"click":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":87,"character":5},"arguments":["click"]}]}],"callMethod":[{"__symbolic":"method"}]}},"DynamicBaseFormComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormComponent","line":36,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"dynamic-base-form","template":"","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":34,"character":21},"member":"Default"}}]}],"members":{"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"labelPrefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":5}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5}}]}],"contentTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":47,"character":5},"arguments":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicTemplateDirective","line":47,"character":21}]}]}],"viewTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":48,"character":5},"arguments":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicTemplateDirective","line":48,"character":18}]}]}],"onStatusChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":5}}]}],"onValueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":5}}]}],"onSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":56,"character":5}}]}],"ngForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":58,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"NgForm","line":58,"character":15}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":63,"character":17},"arguments":[{"__symbolic":"reference","name":"DynamicFormService"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":64,"character":17},"arguments":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"EventsService","line":64,"character":24}]}],null,null],"parameters":[{"__symbolic":"reference","name":"DynamicFormService"},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"EventsService","line":64,"character":56},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":65,"character":35},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormComponentService","line":66,"character":34}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"insertFormArrayGroup":[{"__symbolic":"method"}],"removeFormArrayGroup":[{"__symbolic":"method"}],"moveFormArrayGroup":[{"__symbolic":"method"}],"clearFormArray":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"serialize":[{"__symbolic":"method"}]}},"DynamicBaseFormControlContainerComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormControlContainerComponent","line":42,"character":62},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"selector":"dynamic-base-form-control","template":"","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":40,"character":21},"member":"OnPush"}}]}],"members":{"contentTemplateList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":44,"character":5},"arguments":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicTemplateDirective","line":44,"character":21}]}]}],"klass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":46,"character":5},"arguments":["class"]}]}],"context":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}}]}],"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}}]}],"hostClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"inputTemplateList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5},"arguments":["templates"]}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5}}]}],"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":5}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":56,"character":5}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":57,"character":5}}]}],"componentViewContainerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":59,"character":5},"arguments":["componentViewContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":59,"character":48},"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DynamicBaseFormComponent"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":84,"character":44},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":85,"character":51},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormLayoutService","line":86,"character":40},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormValidationService","line":87,"character":44},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormComponentService","line":88,"character":43},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormRelationService","line":89,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createFormControlComponent":[{"__symbolic":"method"}],"getComponentType":[{"__symbolic":"method"}]}},"ɵa":[{"__symbolic":"reference","name":"DynamicBaseFormComponent"},{"__symbolic":"reference","name":"DynamicBaseFormControlContainerComponent"}],"ɵb":[{"__symbolic":"reference","name":"AsyncSubmitDirective"}],"ɵc":[],"NgxDynamicFormModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":36,"character":1},"arguments":[{"declarations":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵa"}},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵb"}},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵc"}}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":43,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":44,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":45,"character":8},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"NgxUtilsModule","line":46,"character":8}],"exports":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵa"}},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵb"}},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵc"}},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":52,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":53,"character":8},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"NgxUtilsModule","line":54,"character":8}],"entryComponents":{"__symbolic":"reference","name":"ɵa"},"providers":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵc"}},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":59,"character":18},"useValue":{"__symbolic":"reference","name":"validateJSON"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":60,"character":18},"useValue":{"__symbolic":"reference","name":"validateRequiredTranslation"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":61,"character":18},"useValue":{"__symbolic":"reference","name":"validatePhone"},"multi":true},{"provide":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DYNAMIC_VALIDATORS","line":63,"character":21},"useValue":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"},"arguments":[[["validateJSON",{"__symbolic":"reference","name":"validateJSON"}],["validateRequiredTranslation",{"__symbolic":"reference","name":"validateRequiredTranslation"}],["validatePhone",{"__symbolic":"reference","name":"validatePhone"}]]]}}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"NgxDynamicFormModule"},"providers":[{"__symbolic":"reference","name":"DynamicFormService"},{"__symbolic":"reference","name":"ɵd"},{"provide":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormService","line":81,"character":29},"useExisting":{"__symbolic":"reference","name":"DynamicFormService"}},{"provide":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormValidationService","line":85,"character":29},"useExisting":{"__symbolic":"reference","name":"ɵd"}}]}}}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormValidationService","line":5,"character":50},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"showErrorMessages":[{"__symbolic":"method"}]}}},"origins":{"IDynamicFormBase":"./ngx-dynamic-form/common-types","IDynamicForm":"./ngx-dynamic-form/common-types","OnCreatedFormControl":"./ngx-dynamic-form/common-types","IFormControlSerializer":"./ngx-dynamic-form/common-types","IFormInputMask":"./ngx-dynamic-form/common-types","IFormInputMaskFunction":"./ngx-dynamic-form/common-types","IFormInputUnMaskFunction":"./ngx-dynamic-form/common-types","IFormSerializer":"./ngx-dynamic-form/common-types","IFormSerializers":"./ngx-dynamic-form/common-types","DynamicFormState":"./ngx-dynamic-form/common-types","DynamicFormUpdateOn":"./ngx-dynamic-form/common-types","IFormControl":"./ngx-dynamic-form/common-types","IFormControlData":"./ngx-dynamic-form/common-types","IFormInputData":"./ngx-dynamic-form/common-types","IFormSelectData":"./ngx-dynamic-form/common-types","IFormStaticData":"./ngx-dynamic-form/common-types","IFormFileData":"./ngx-dynamic-form/common-types","IFormModelData":"./ngx-dynamic-form/common-types","IFormFieldSet":"./ngx-dynamic-form/common-types","IFormControlOption":"./ngx-dynamic-form/common-types","IDynamicFormTemplates":"./ngx-dynamic-form/common-types","IDynamicFormConfig":"./ngx-dynamic-form/common-types","IDynamicSingleFormConfig":"./ngx-dynamic-form/common-types","IDynamicMultiFormConfig":"./ngx-dynamic-form/common-types","IDynamicFormsConfigs":"./ngx-dynamic-form/common-types","AsyncSubmitMethod":"./ngx-dynamic-form/common-types","IDynamicFormInfo":"./ngx-dynamic-form/common-types","IDynamicFormFieldSets":"./ngx-dynamic-form/common-types","FormControlTester":"./ngx-dynamic-form/common-types","FormControlTesterFactory":"./ngx-dynamic-form/common-types","defaultSerializer":"./ngx-dynamic-form/common-types","FormSerializable":"./ngx-dynamic-form/common-types","FormInput":"./ngx-dynamic-form/common-types","FormSelect":"./ngx-dynamic-form/common-types","FormStatic":"./ngx-dynamic-form/common-types","FormModel":"./ngx-dynamic-form/common-types","FormFile":"./ngx-dynamic-form/common-types","FormFieldSet":"./ngx-dynamic-form/common-types","defineFormControl":"./ngx-dynamic-form/common-types","getFormFieldSets":"./ngx-dynamic-form/common-types","getFormControl":"./ngx-dynamic-form/common-types","getFormSerializer":"./ngx-dynamic-form/common-types","createFormInput":"./ngx-dynamic-form/common-types","createFormSelect":"./ngx-dynamic-form/common-types","createFormStatic":"./ngx-dynamic-form/common-types","createFormModel":"./ngx-dynamic-form/common-types","createFormControl":"./ngx-dynamic-form/common-types","validateJSON":"./ngx-dynamic-form/utils/validators","validateRequiredTranslation":"./ngx-dynamic-form/utils/validators","validatePhone":"./ngx-dynamic-form/utils/validators","FormSubject":"./ngx-dynamic-form/utils/form-subject","DynamicFormService":"./ngx-dynamic-form/services/dynamic-form.service","AsyncSubmitDirective":"./ngx-dynamic-form/directives/async-submit.directive","DynamicBaseFormComponent":"./ngx-dynamic-form/components/base/dynamic-base-form.component","DynamicBaseFormControlContainerComponent":"./ngx-dynamic-form/components/base/dynamic-base-form-control-container.component","ɵa":"./ngx-dynamic-form/ngx-dynamic-form.module","ɵb":"./ngx-dynamic-form/ngx-dynamic-form.module","ɵc":"./ngx-dynamic-form/ngx-dynamic-form.module","NgxDynamicFormModule":"./ngx-dynamic-form/ngx-dynamic-form.module","ɵd":"./ngx-dynamic-form/services/dynamic-form-validation.service"},"importAs":"@stemy/ngx-dynamic-form"}
1
+ {"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":13,"character":80},"arguments":["form-group-provider"]},"FORM_CONTROL_PROVIDER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":14,"character":79},"arguments":["form-control-provider"]},"IFormControlComponent":{"__symbolic":"interface"},"IFormGroupComponent":{"__symbolic":"interface"},"FormControlComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":26,"character":1}}],"members":{"inputClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":47,"character":5},"arguments":["class.form-input"]}]}]}},"IFormControlProviderAcceptor":{"__symbolic":"interface"},"IFormControlProviderLoader":{"__symbolic":"interface"},"IFormControlOptions":{"__symbolic":"interface"},"IFormControlSerializer":{"__symbolic":"interface"},"IFormControlProvider":{"__symbolic":"interface"},"IFormSerializer":{"__symbolic":"interface"},"IFormSerializers":{"__symbolic":"interface"},"DynamicFormState":{"__symbolic":"interface"},"DynamicFormUpdateOn":{"__symbolic":"interface"},"IDynamicFormControl":{"__symbolic":"interface"},"DynamicFormGroup":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormGroup","line":229,"character":38},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"any"}]}],"getData":[{"__symbolic":"method"}],"getControl":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"check":[{"__symbolic":"method"}],"shouldSerialize":[{"__symbolic":"method"}],"shouldValidate":[{"__symbolic":"method"}],"serialize":[{"__symbolic":"method"}],"onFocus":[{"__symbolic":"method"}],"onBlur":[{"__symbolic":"method"}],"showErrors":[{"__symbolic":"method"}],"reloadControls":[{"__symbolic":"method"}],"setup":[{"__symbolic":"method"}],"updateModel":[{"__symbolic":"method"}],"reloadControlsFrom":[{"__symbolic":"method"}]}},"DynamicFormControl":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormControl","line":495,"character":40},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"DynamicFormGroup"}]}],"getData":[{"__symbolic":"method"}],"getControl":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"check":[{"__symbolic":"method"}],"shouldSerialize":[{"__symbolic":"method"}],"shouldValidate":[{"__symbolic":"method"}],"serialize":[{"__symbolic":"method"}],"onFocus":[{"__symbolic":"method"}],"onBlur":[{"__symbolic":"method"}],"showErrors":[{"__symbolic":"method"}]}},"IFormControl":{"__symbolic":"interface"},"IFormControlData":{"__symbolic":"interface"},"IFormInputData":{"__symbolic":"interface"},"IFormSelectData":{"__symbolic":"interface"},"IFormStaticData":{"__symbolic":"interface"},"IFormFileData":{"__symbolic":"interface"},"IFormModelData":{"__symbolic":"interface"},"IFormFieldSet":{"__symbolic":"interface"},"IFormControlOption":{"__symbolic":"interface"},"IDynamicFormTemplates":{"__symbolic":"interface"},"IDynamicFormConfig":{"__symbolic":"interface"},"IDynamicSingleFormConfig":{"__symbolic":"interface"},"IDynamicMultiFormConfig":{"__symbolic":"interface"},"IDynamicFormsConfigs":{"__symbolic":"interface"},"IDynamicFormBase":{"__symbolic":"interface"},"AsyncSubmitMethod":{"__symbolic":"interface"},"IDynamicFormInfo":{"__symbolic":"interface"},"IDynamicForm":{"__symbolic":"interface"},"IDynamicFormFieldSets":{"__symbolic":"interface"},"FormControlTester":{"__symbolic":"interface"},"FormControlTesterFactory":{"__symbolic":"interface"},"FormControlValidator":{"__symbolic":"interface"},"FormControlValidatorFactory":{"__symbolic":"interface"},"defaultSerializer":{"__symbolic":"function"},"FormSerializable":{"__symbolic":"function","parameters":["serializer"],"value":{"__symbolic":"error","message":"Lambda not supported","line":776,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormInput":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":782,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormSelect":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":799,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormStatic":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":805,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormModel":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":811,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormFile":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":817,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormFieldSet":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":823,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormGroupProvider":{"__symbolic":"interface"},"provideFormGroup":{"__symbolic":"function","parameters":["component"],"value":{"provide":{"__symbolic":"reference","name":"ɵa"},"useValue":{"__symbolic":"reference","name":"component"}}},"FormControlProvider":{"__symbolic":"interface"},"provideFormControl":{"__symbolic":"function","parameters":["component","acceptor","loader","priority"],"defaults":[null,null,null,0],"value":{"provide":{"__symbolic":"reference","name":"FORM_CONTROL_PROVIDER"},"multi":true,"useValue":{"component":{"__symbolic":"reference","name":"component"},"priority":{"__symbolic":"reference","name":"priority"},"acceptor":{"__symbolic":"reference","name":"acceptor"},"loader":{"__symbolic":"reference","name":"loader"}}}},"defineFormControl":{"__symbolic":"function"},"getFormFieldSets":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"ReflectUtils","line":868,"character":11},"member":"getMetadata"},"arguments":["dynamicFormFieldSets",{"__symbolic":"reference","name":"target"}]},"right":{}}},"getFormControl":{"__symbolic":"function","parameters":["target","propertyKey"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"ReflectUtils","line":872,"character":11},"member":"getMetadata"},"arguments":["dynamicFormControl",{"__symbolic":"reference","name":"target"},{"__symbolic":"reference","name":"propertyKey"}]}},"getFormSerializer":{"__symbolic":"function","parameters":["target","propertyKey"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"ReflectUtils","line":876,"character":11},"member":"getMetadata"},"arguments":["dynamicFormSerializer",{"__symbolic":"reference","name":"target"},{"__symbolic":"reference","name":"propertyKey"}]}},"createFormInput":{"__symbolic":"function"},"createFormSelect":{"__symbolic":"function"},"createFormStatic":{"__symbolic":"function"},"createFormModel":{"__symbolic":"function"},"createFormControl":{"__symbolic":"function"},"DynamicFormService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":17},"arguments":[{"__symbolic":"reference","name":"FORM_CONTROL_PROVIDER"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}],null,null],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"IFormControlProvider"}]},{"__symbolic":"reference","name":"Type","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"IFormGroupComponent"}]},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":15,"character":34},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":16,"character":42}]}],"findProvider":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"createGroup":[{"__symbolic":"method"}]}},"FormUtilities":{"__symbolic":"class","members":{},"statics":{"checkReadonly":{"__symbolic":"function","parameters":["control"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Promise"},"member":"resolve"},"arguments":[{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"control"},"member":"visible"},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"control"},"member":"disabled"}}}]}},"readonly":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Promise"},"member":"resolve"},"arguments":[true]}}}},"OpenApiService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":41,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"ApiService","line":47,"character":29}]}],"getFormInputsForSchema":[{"__symbolic":"method"}],"getFormInputsForSchemaDef":[{"__symbolic":"method"}],"getFormControlForProperty":[{"__symbolic":"method"}],"getBaseFormData":[{"__symbolic":"method"}],"getFormInputData":[{"__symbolic":"method"}],"getFormSelectData":[{"__symbolic":"method"}],"getFormFileData":[{"__symbolic":"method"}],"getValidators":[{"__symbolic":"method"}]}},"IOpenApiSchemaProperty":{"__symbolic":"interface"},"IOpenApiSchema":{"__symbolic":"interface"},"IDynamicFormInputs":{"__symbolic":"interface"},"AsyncSubmitDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":18,"character":1},"arguments":[{"selector":"[async-submit]","exportAs":"async-submit"}]}],"members":{"method":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5},"arguments":["async-submit"]}]}],"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"onSuccess":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":5}}]}],"onError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":5}}]}],"isDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":36,"character":5},"arguments":["class.disabled"]}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":41,"character":5},"arguments":["class.loading"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":46,"character":17},"arguments":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"TOASTER_SERVICE","line":46,"character":24}]}],null,null,null],"parameters":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"IToasterService","line":46,"character":58},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":46,"character":88},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":46,"character":113},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":46,"character":135}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"click":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":74,"character":5},"arguments":["click"]}]}],"callMethod":[{"__symbolic":"method"}]}},"DynamicFormControlDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[form-control]"}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":5},"arguments":["form-control"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":17,"character":29},{"__symbolic":"reference","name":"DynamicFormService"}]}],"ngOnChanges":[{"__symbolic":"method"}]}},"DynamicFormTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"ng-template[control],\n ng-template[label],\n ng-template[input],\n ng-template[prefix],\n ng-template[suffix],\n ng-template[setPrefix],\n ng-template[setSuffix],\n ng-template[formPrefix],\n ng-template[formSuffix],\n ng-template[innerFormPrefix],\n ng-template[innerFormSuffix]"}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"input":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"prefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"suffix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5}}]}],"setPrefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}}]}],"setSuffix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5}}]}],"formPrefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"formSuffix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"innerFormPrefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"innerFormSuffix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"DynamicFormBaseComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":9,"character":1}}],"members":{"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5}}]}],"updateOn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5}}]}],"classes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":5}}]}],"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}],"wrapperTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"fieldSetTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"controlTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"controlTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}}]}],"labelTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5}}]}],"inputTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"prefixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"suffixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"setPrefixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"setSuffixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":5}}]}],"onStatusChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":5}}]}],"onInit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":5}}]}],"onSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":5}}]}],"prefixTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":35,"character":5},"arguments":["prefixTemplate"]}]}],"suffixTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":38,"character":5},"arguments":["suffixTemplate"]}]}],"templates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":53,"character":5},"arguments":[{"__symbolic":"reference","name":"DynamicFormTemplateDirective"}]}]}],"cWrapperTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":56,"character":5},"arguments":["wrapperTemplate"]}]}],"cFieldSetTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":59,"character":5},"arguments":["fieldSetTemplate"]}]}],"cControlTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":62,"character":5},"arguments":["controlTemplate"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":65,"character":31},{"__symbolic":"reference","name":"DynamicFormService"}]}],"validate":[{"__symbolic":"method"}],"serialize":[{"__symbolic":"method"}],"check":[{"__symbolic":"method"}],"getControl":[{"__symbolic":"method"}],"findProvider":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}],"filterTemplates":[{"__symbolic":"method"}]}},"DynamicFormComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DynamicFormBaseComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"moduleId":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"module"},"member":"id"},"selector":"dynamic-form, [dynamic-form]","providers":[{"provide":{"__symbolic":"reference","name":"DynamicFormBaseComponent"},"useExisting":{"__symbolic":"reference","name":"DynamicFormComponent"}}],"template":"<ng-template #defaultFieldSetTemplate let-id=\"id\" let-controls=\"controls\" let-fieldSet=\"fieldSet\">\r\n <div [ngClass]=\"['form-fields', 'form-fields-' + id, fieldSet.classes]\">\r\n <ng-container [ngxTemplateOutlet]=\"setPrefixTemplates[fieldSet.id]\" [context]=\"fieldSet\"></ng-container>\r\n <div *ngIf=\"fieldSet.title\" [ngClass]=\"['form-title', fieldSet.titleClasses || '']\">\r\n {{ group.prefix + fieldSet.title | translate }}\r\n </div>\r\n <ng-template #subControls>\r\n <ng-container *ngFor=\"let control of controls\" [form-group]=\"control\" [visible]=\"control.visible\" [form]=\"this\">\r\n\r\n </ng-container>\r\n </ng-template>\r\n <div *ngIf=\"fieldSet.setClasses; else subControls\" [ngClass]=\"fieldSet.setClasses\">\r\n <div *ngIf=\"fieldSet.controlClasses; else subControls\" [ngClass]=\"fieldSet.controlClasses\">\r\n <ng-container [ngTemplateOutlet]=\"subControls\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-container [ngxTemplateOutlet]=\"setSuffixTemplates[fieldSet.id]\" [context]=\"fieldSet\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fieldSetsTemplate>\r\n <ng-container *ngFor=\"let fs of formControls | groupBy:'data.fieldSet'\"\r\n [ngxTemplateOutlet]=\"fieldSetTemplate || defaultFieldSetTemplate\"\r\n [context]=\"{form: this, id: fs.group, controls: fs.items, fieldSet: group.formFields[fs.group] || defaultFieldSet}\">\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #defaultWrapperTemplate let-form=\"form\" let-fieldSetsTemplate=\"fieldSetsTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"prefixTemplate\"\r\n [ngTemplateOutletContext]=\"{form: form, fieldSetsTemplate: fieldSetsTemplate}\"></ng-container>\r\n <form class=\"dynamic-form\" [ngClass]=\"form.classes || ''\" [formGroup]=\"group\" (submit)=\"onFormSubmit()\">\r\n <ng-container [ngTemplateOutlet]=\"fieldSetsTemplate\"></ng-container>\r\n <ng-content></ng-content>\r\n <div *ngIf=\"form.status == 'PENDING'\" class=\"dynamic-form-validator\">\r\n {{ group.prefix + 'message.pending' | translate }}\r\n </div>\r\n <button [ngStyle]=\"{display: 'none'}\">Submit</button>\r\n </form>\r\n <ng-container [ngTemplateOutlet]=\"suffixTemplate\"\r\n [ngTemplateOutletContext]=\"{form: form, fieldSetsTemplate: fieldSetsTemplate}\"></ng-container>\r\n</ng-template>\r\n<ng-template #loadingTemplate>\r\n <div *ngIf=\"status == 'LOADING'\" class=\"dynamic-form-loader\">\r\n {{ group.prefix + 'message.loading' | translate }}\r\n </div>\r\n</ng-template>\r\n<ng-container [ngTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\r\n [ngTemplateOutletContext]=\"{form: this, fieldSetsTemplate: fieldSetsTemplate}\"\r\n *ngIf=\"status !== 'LOADING'; else loadingTemplate\">\r\n</ng-container>\r\n"}]}],"members":{"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}}]}],"controls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5}}]}],"serializers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"fieldSets":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":38,"character":21},{"__symbolic":"reference","name":"DynamicFormService"}]}],"ngOnChanges":[{"__symbolic":"method"}],"onFormSubmit":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"serialize":[{"__symbolic":"method"}],"check":[{"__symbolic":"method"}],"getControl":[{"__symbolic":"method"}]}},"DynamicFormsComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DynamicFormBaseComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"moduleId":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"module"},"member":"id"},"selector":"dynamic-forms, [dynamic-forms]","providers":[{"provide":{"__symbolic":"reference","name":"DynamicFormBaseComponent"},"useExisting":{"__symbolic":"reference","name":"DynamicFormsComponent"}}],"template":"<ng-template #configTemplate let-formTemplate=\"formTemplate\" let-form=\"form\" let-config=\"config\" let-configTemplate>\r\n <div [ngClass]=\"config.classes || ''\">\r\n <ng-container [ngTemplateOutlet]=\"formPrefixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: form}\"></ng-container>\r\n <ng-template #singleFormTemplate>\r\n <div dynamic-form\r\n [hidden]=\"!config.group?.visible\"\r\n [ngClass]=\"config.formClasses || ''\"\r\n [name]=\"config.name || form.name\"\r\n [readonly]=\"form.readonly\"\r\n [updateOn]=\"form.updateOn\"\r\n [classes]=\"config.innerFormClasses\"\r\n [parent]=\"form\"\r\n\r\n [wrapperTemplate]=\"form.wrapperTemplate\"\r\n [fieldSetTemplate]=\"form.fieldSetTemplate\"\r\n [controlTemplates]=\"form.controlTemplates\"\r\n\r\n [controlTemplate]=\"form.controlTemplate\"\r\n [labelTemplates]=\"form.labelTemplates\"\r\n [inputTemplates]=\"form.inputTemplates\"\r\n [prefixTemplates]=\"form.prefixTemplates\"\r\n [suffixTemplates]=\"form.suffixTemplates\"\r\n [setPrefixTemplates]=\"form.setPrefixTemplates\"\r\n [setSuffixTemplates]=\"form.setSuffixTemplates\"\r\n\r\n [group]=\"config.group\"\r\n [fieldSets]=\"config.fieldSets\">\r\n <ng-template #prefixTemplate let-subForm=\"form\">\r\n <ng-container [ngTemplateOutlet]=\"form.innerFormPrefixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: subForm}\"></ng-container>\r\n </ng-template>\r\n <ng-template #suffixTemplate let-subForm=\"form\">\r\n <ng-container [ngTemplateOutlet]=\"form.innerFormSuffixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: subForm}\"></ng-container>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n <div dynamic-forms\r\n [ngClass]=\"config.formClasses || ''\"\r\n [name]=\"config.name || name\"\r\n [readonly]=\"form.readonly\"\r\n [updateOn]=\"form.updateOn\"\r\n [classes]=\"config.innerFormClasses\"\r\n [parent]=\"form\"\r\n\r\n [wrapperTemplate]=\"form.wrapperTemplate\"\r\n [fieldSetTemplate]=\"form.fieldSetTemplate\"\r\n [controlTemplates]=\"form.controlTemplates\"\r\n\r\n [controlTemplate]=\"form.controlTemplate\"\r\n [labelTemplates]=\"form.labelTemplates\"\r\n [inputTemplates]=\"form.inputTemplates\"\r\n [prefixTemplates]=\"form.prefixTemplates\"\r\n [suffixTemplates]=\"form.suffixTemplates\"\r\n [setPrefixTemplates]=\"form.setPrefixTemplates\"\r\n [setSuffixTemplates]=\"form.setSuffixTemplates\"\r\n\r\n [data]=\"config.data\"\r\n [containerTemplate]=\"form.containerTemplate\"\r\n [formPrefixTemplates]=\"form.formPrefixTemplates\"\r\n [formSuffixTemplates]=\"form.formSuffixTemplates\"\r\n [innerFormPrefixTemplates]=\"form.innerFormPrefixTemplates\"\r\n [innerFormSuffixTemplates]=\"form.innerFormSuffixTemplates\"\r\n\r\n *ngIf=\"config.multi; else singleFormTemplate\">\r\n <ng-template #prefixTemplate let-subForm=\"form\">\r\n <ng-container [ngTemplateOutlet]=\"form.innerFormPrefixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: subForm}\"></ng-container>\r\n </ng-template>\r\n <ng-template #suffixTemplate let-subForm=\"form\">\r\n <ng-container [ngTemplateOutlet]=\"form.innerFormSuffixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: subForm}\"></ng-container>\r\n </ng-template>\r\n </div>\r\n <ng-container [ngTemplateOutlet]=\"formSuffixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: form}\"></ng-container>\r\n </div>\r\n</ng-template>\r\n<ng-template let-form=\"form\" let-configTemplate=\"configTemplate\" #defaultContainerTemplate>\r\n <div class=\"dynamic-forms\" [ngClass]=\"classes || ''\">\r\n <ng-container *ngFor=\"let config of form.configs\"\r\n [ngTemplateOutlet]=\"configTemplate\"\r\n [ngTemplateOutletContext]=\"{form: form, config: config}\"></ng-container>\r\n <ng-content></ng-content>\r\n </div>\r\n</ng-template>\r\n<ng-container [ngTemplateOutlet]=\"prefixTemplate\"\r\n [ngTemplateOutletContext]=\"{form: this}\"></ng-container>\r\n<ng-container [ngTemplateOutlet]=\"containerTemplate || defaultContainerTemplate\"\r\n [ngTemplateOutletContext]=\"{form: this, configTemplate: configTemplate, defaultContainerTemplate: defaultContainerTemplate}\">\r\n</ng-container>\r\n<ng-container [ngTemplateOutlet]=\"suffixTemplate\"\r\n [ngTemplateOutletContext]=\"{form: this}\"></ng-container>\r\n"}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}}]}],"containerTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"formPrefixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"formSuffixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"innerFormPrefixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"innerFormSuffixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"cContainerTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":41,"character":5},"arguments":["containerTemplate"]}]}],"forms":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":44,"character":5},"arguments":[{"__symbolic":"reference","name":"DynamicFormBaseComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":47,"character":21},{"__symbolic":"reference","name":"DynamicFormService"}]}],"ngAfterContentInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"serialize":[{"__symbolic":"method"}],"check":[{"__symbolic":"method"}],"getControl":[{"__symbolic":"method"}],"checkForms":[{"__symbolic":"method"}],"getFromValue":[{"__symbolic":"method"}],"createFormGroups":[{"__symbolic":"method"}]}},"DynamicFormGroupComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"moduleId":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"module"},"member":"id"},"selector":"div[dynamic-form-group]","template":"<ng-template #labelTemplate>\r\n <label [ngClass]=\"'control-label control-label-' + control.data.labelAlign\" [attr.for]=\"control.formId\">\r\n {{ control.label | translate: control.model }}\r\n </label>\r\n</ng-template>\r\n<ng-template #errorTemplate>\r\n <div class=\"error-message\" *ngIf=\"control.errors && control.touched\">\r\n <span class=\"help-block\" *ngFor=\"let error of control.errors | entries\">\r\n {{ error.key | translate: error.value }}\r\n </span>\r\n </div>\r\n</ng-template>\r\n<ng-template #inputTemplate let-control=\"control\">\r\n <ng-container [form-control]=\"control\"></ng-container>\r\n</ng-template>\r\n<ng-template #defaultControlTemplate\r\n let-context\r\n let-control=\"control\"\r\n let-data=\"control.data\"\r\n let-labelTemplate=\"labelTemplate\"\r\n let-inputTemplate=\"inputTemplate\"\r\n let-prefixTemplate=\"prefixTemplate\"\r\n let-suffixTemplate=\"suffixTemplate\"\r\n let-errorTemplate=\"errorTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"prefixTemplate\"\r\n [ngTemplateOutletContext]=\"context\"></ng-container>\r\n <ng-container *ngIf=\"control.label && data.labelAlign == 'left'\"\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"context\">\r\n </ng-container>\r\n <ng-container [ngTemplateOutlet]=\"inputTemplate\"\r\n [ngTemplateOutletContext]=\"context\"></ng-container>\r\n <ng-container *ngIf=\"control.label && data.labelAlign == 'right'\"\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"context\">\r\n </ng-container>\r\n <ng-container [ngTemplateOutlet]=\"suffixTemplate\"\r\n [ngTemplateOutletContext]=\"context\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"errorTemplate\"\r\n [ngTemplateOutletContext]=\"context\"></ng-container>\r\n</ng-template>\r\n\r\n<ng-container [ngxTemplateOutlet]=\"form.controlTemplates[control.id] || form.controlTemplate || defaultControlTemplate\"\r\n [context]=\"{\r\n control: control,\r\n labelTemplate: form.labelTemplates[control.id] || labelTemplate,\r\n inputTemplate: form.inputTemplates[control.id] || inputTemplate,\r\n prefixTemplate: form.prefixTemplates[control.id],\r\n suffixTemplate: form.suffixTemplates[control.id],\r\n errorTemplate: errorTemplate\r\n }\">\r\n</ng-container>\r\n"}]}],"members":{"classes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":12,"character":5},"arguments":["class"]}]}]}},"DynamicFormFileComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FormControlComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"dynamic-form-file","template":"<div class=\"upload\">\r\n <input type=\"file\" (change)=\"onSelect($event.target)\" [attr.accept]=\"data.accept\" multiple=\"multiple\"/>\r\n <ul class=\"images\" *ngIf=\"!data.multi\">\r\n <li class=\"image\" *ngIf=\"value\" [ngStyle]=\"{backgroundImage: getUrl(value)}\">\r\n <a class=\"btn btn-delete\" (click)=\"delete()\"></a>\r\n </li>\r\n </ul>\r\n <ul class=\"images\" *ngIf=\"data.multi\">\r\n <li class=\"image\" *ngFor=\"let image of value; let i = index\" [ngStyle]=\"{backgroundImage: getUrl(image)}\">\r\n <a class=\"btn btn-delete\" (click)=\"delete(i)\"></a>\r\n </li>\r\n </ul>\r\n</div>\r\n","styles":[".upload{display:inline-block}.upload ul{display:inline-flex;list-style:none;margin:10px 0 0;padding:0}.upload ul li{height:100px;width:100px;background:repeating-linear-gradient(45deg,gray,gray 10px,lightgray 10px,lightgray 20px) center center;background-size:cover;border:1px gray solid;margin-right:5px;position:relative}.upload .btn-delete{background:linear-gradient(to bottom,#c8607a,#a64d5a);border-color:#a64d5a;color:#fff;position:absolute;padding:0;right:5px;top:5px;width:20px;height:20px}.upload .btn-delete:before{color:#fff;display:block;position:absolute;top:0;right:6px;content:\"x\"}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":43},"arguments":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"TOASTER_SERVICE","line":23,"character":50}]}]],"parameters":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"ApiService","line":23,"character":30},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"IToasterService","line":23,"character":85}]}],"onSelect":[{"__symbolic":"method"}],"processFiles":[{"__symbolic":"method"}],"upload":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"getUrl":[{"__symbolic":"method"}],"getImgUrl":[{"__symbolic":"method"}]},"statics":{"acceptor":{"__symbolic":"function","parameters":["control"],"value":{"__symbolic":"binop","operator":"==","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"control"},"member":"type"},"right":"file"}},"loader":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Promise"},"member":"resolve"}}}}},"DynamicFormInputComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FormControlComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"moduleId":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"module"},"member":"id"},"selector":"dynamic-form-input","template":"<ng-container [ngSwitch]=\"data.type\">\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <textarea class=\"form-control\"\r\n rows=\"5\"\r\n [attr.autocomplete]=\"data.autocomplete\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"control.setValue($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">{{ data.placeholder | translate }}</textarea>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <input class=\"form-control\"\r\n type=\"date\"\r\n [attr.autocomplete]=\"data.autocomplete\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"value | date: 'y-MM-dd'\"\r\n (ngModelChange)=\"onDateChange($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\"/>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <input class=\"form-control\"\r\n type=\"number\"\r\n [attr.autocomplete]=\"data.autocomplete\"\r\n [min]=\"data.min\"\r\n [max]=\"data.max\"\r\n [step]=\"data.step\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"control.setValue($event)\"\r\n (blur)=\"onNumberBlur()\"\r\n (focus)=\"control.onFocus()\"/>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <input class=\"form-control\"\r\n type=\"checkbox\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"control.setValue($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\"/>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <input class=\"form-control\"\r\n type=\"text\"\r\n [attr.autocomplete]=\"data.autocomplete\"\r\n [minlength]=\"data.min\"\r\n [maxlength]=\"data.max\"\r\n [placeholder]=\"data.placeholder | translate\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"data.useLanguage ? (value | translate) : value\"\r\n (ngModelChange)=\"onTextChange($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\"/>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <input class=\"form-control\"\r\n [attr.autocomplete]=\"data.autocomplete\"\r\n [minlength]=\"data.min\"\r\n [maxlength]=\"data.max\"\r\n [placeholder]=\"data.placeholder | translate\"\r\n [type]=\"data.type\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"control.setValue($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\"/>\r\n </ng-container>\r\n</ng-container>\r\n"}]}],"members":{"isChecked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":21,"character":5},"arguments":["class.checked"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":26,"character":17},"arguments":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"LANGUAGE_SERVICE","line":26,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"ILanguageService","line":26,"character":60}]}],"onDateChange":[{"__symbolic":"method"}],"onTextChange":[{"__symbolic":"method"}],"onNumberBlur":[{"__symbolic":"method"}]},"statics":{"acceptor":{"__symbolic":"function","parameters":["control"],"value":{"__symbolic":"binop","operator":"==","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"control"},"member":"type"},"right":"input"}},"loader":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Promise"},"member":"resolve"}}}}},"DynamicFormSelectComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FormControlComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"moduleId":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"module"},"member":"id"},"selector":"dynamic-form-select","template":"<ng-template #selectTemplate let-selected=\"selected\">\r\n <select class=\"form-control\"\r\n [multiple]=\"data.multi\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"data.multi ? value : [value]\"\r\n (ngModelChange)=\"onSelectChange($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">\r\n <option *ngFor=\"let option of meta.options\" [value]=\"option.id\" [disabled]=\"option.selectable == false\">\r\n {{ option.label | translate }}\r\n </option>\r\n </select>\r\n <label class=\"form-control-description\" [attr.for]=\"control.formId\" *ngIf=\"!data.multi && selected?.description\">\r\n {{ selected?.description | translate }}\r\n </label>\r\n</ng-template>\r\n<ng-container [ngSwitch]=\"data.type\">\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ul class=\"radio-group\">\r\n <li *ngFor=\"let option of meta.options\" class=\"radio\">\r\n <label [ngClass]=\"{checked: value == option.id}\">\r\n <input type=\"radio\"\r\n [id]=\"control.formId + '-' + option.id\"\r\n [name]=\"control.formId + '-' + option.id\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled || option.selectable == false\"\r\n [value]=\"option.id\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"onSelectChange(option.id)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">\r\n {{ option.label | translate }}\r\n </label>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <ul class=\"checkbox-group\">\r\n <li *ngFor=\"let option of meta.options\" class=\"checkbox\">\r\n <label [ngClass]=\"{checked: checkValue(option)}\">\r\n <input type=\"checkbox\"\r\n [id]=\"control.formId + '-' + option.id\"\r\n [name]=\"control.formId + '-' + option.id\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled || option.selectable == false\"\r\n [ngModel]=\"checkValue(option)\"\r\n (ngModelChange)=\"onSelectChange(option.id)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">\r\n {{ option.label | translate }}\r\n </label>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"selectTemplate\" [ngTemplateOutletContext]=\"{selected: meta?.options | find:findOption:value}\">\r\n\r\n </ng-container>\r\n</ng-container>\r\n"}]}],"members":{"onSelectChange":[{"__symbolic":"method"}],"checkValue":[{"__symbolic":"method"}],"findOption":[{"__symbolic":"method"}]},"statics":{"acceptor":{"__symbolic":"function","parameters":["control"],"value":{"__symbolic":"binop","operator":"==","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"control"},"member":"type"},"right":"select"}}}},"DynamicFormStaticComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FormControlComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"moduleId":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"module"},"member":"id"},"selector":"dynamic-form-static","template":"<unordered-list [listStyle]=\"data.style\" [ngClass]=\"{disabled: control.disabled}\"\r\n [data]=\"!data.properties ? {value: value} : data.properties | remap: value\">\r\n <ng-template [type]=\"!data.properties ? 'key' : null\" selector=\"level == 0\" let-item=\"item\"></ng-template>\r\n <ng-template type=\"value\" selector=\"valueType == 'date'\" let-item=\"item\">\r\n {{ item.value | date }}\r\n </ng-template>\r\n</unordered-list>\r\n"}]}],"members":{},"statics":{"acceptor":{"__symbolic":"function","parameters":["control"],"value":{"__symbolic":"binop","operator":"==","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"control"},"member":"type"},"right":"static"}},"loader":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Promise"},"member":"resolve"}}}}},"DynamicFormModelComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FormControlComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"moduleId":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"module"},"member":"id"},"selector":"dynamic-form-model","template":"<dynamic-form [name]=\"data.name || form.name\"\r\n [group]=\"control\"\r\n [data]=\"value\"\r\n [updateOn]=\"control.updateOn\"\r\n [parent]=\"form\"\r\n\r\n [fieldSetTemplate]=\"form.fieldSetTemplate\"\r\n [controlTemplates]=\"form.controlTemplates\"\r\n\r\n [controlTemplate]=\"form.controlTemplate\"\r\n [labelTemplates]=\"form.labelTemplates\"\r\n [inputTemplates]=\"form.inputTemplates\"\r\n [prefixTemplates]=\"form.prefixTemplates\"\r\n [suffixTemplates]=\"form.suffixTemplates\"\r\n [setPrefixTemplates]=\"form.setPrefixTemplates\"\r\n [setSuffixTemplates]=\"form.setSuffixTemplates\"\r\n\r\n #subForm>\r\n <ng-template #wrapperTemplate let-form=\"form\" let-fieldSetsTemplate=\"fieldSetsTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"fieldSetsTemplate\"></ng-container>\r\n </ng-template>\r\n</dynamic-form>\r\n"}]}],"members":{"subForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":10,"character":5},"arguments":["subForm"]}]}]},"statics":{"acceptor":{"__symbolic":"function","parameters":["control"],"value":{"__symbolic":"binop","operator":"==","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"control"},"member":"type"},"right":"model"}},"loader":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Promise"},"member":"resolve"}}}}},"ɵb":[{"__symbolic":"reference","name":"DynamicFormsComponent"},{"__symbolic":"reference","name":"DynamicFormComponent"},{"__symbolic":"reference","name":"DynamicFormGroupComponent"},{"__symbolic":"reference","name":"DynamicFormFileComponent"},{"__symbolic":"reference","name":"DynamicFormInputComponent"},{"__symbolic":"reference","name":"DynamicFormSelectComponent"},{"__symbolic":"reference","name":"DynamicFormStaticComponent"},{"__symbolic":"reference","name":"DynamicFormModelComponent"}],"ɵc":[{"__symbolic":"reference","name":"AsyncSubmitDirective"},{"__symbolic":"reference","name":"DynamicFormControlDirective"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"DynamicFormTemplateDirective"}],"ɵd":[],"NgxDynamicFormModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":46,"character":1},"arguments":[{"declarations":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵb"}},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵc"}},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵd"}}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":53,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":54,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":55,"character":8},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"NgxUtilsModule","line":56,"character":8}],"exports":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵb"}},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵc"}},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"ɵd"}},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":62,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":63,"character":8},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"NgxUtilsModule","line":64,"character":8}],"entryComponents":{"__symbolic":"reference","name":"ɵb"},"providers":{"__symbolic":"reference","name":"ɵd"}}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["controlProviders","groupProvider"],"value":{"ngModule":{"__symbolic":"reference","name":"NgxDynamicFormModule"},"providers":[{"__symbolic":"reference","name":"DynamicFormService"},{"__symbolic":"reference","name":"OpenApiService"},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideFormControl"},"arguments":[{"__symbolic":"reference","name":"DynamicFormFileComponent"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DynamicFormFileComponent"},"member":"acceptor"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DynamicFormFileComponent"},"member":"loader"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideFormControl"},"arguments":[{"__symbolic":"reference","name":"DynamicFormInputComponent"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DynamicFormInputComponent"},"member":"acceptor"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DynamicFormInputComponent"},"member":"loader"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideFormControl"},"arguments":[{"__symbolic":"reference","name":"DynamicFormSelectComponent"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DynamicFormSelectComponent"},"member":"acceptor"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DynamicFormSelectComponent"},"member":"loader"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideFormControl"},"arguments":[{"__symbolic":"reference","name":"DynamicFormStaticComponent"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DynamicFormStaticComponent"},"member":"acceptor"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DynamicFormStaticComponent"},"member":"loader"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideFormControl"},"arguments":[{"__symbolic":"reference","name":"DynamicFormModelComponent"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DynamicFormModelComponent"},"member":"acceptor"},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DynamicFormModelComponent"},"member":"loader"}]},{"__symbolic":"spread","expression":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"controlProviders"},"right":[]}},{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"groupProvider"},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideFormGroup"},"arguments":[{"__symbolic":"reference","name":"DynamicFormGroupComponent"}]}}]}}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[form-group]"}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":5},"arguments":["form-group"]}]}],"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}}]}],"visible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":19,"character":29},{"__symbolic":"reference","name":"DynamicFormService"}]}],"ngOnChanges":[{"__symbolic":"method"}]}}},"origins":{"ɵa":"./ngx-dynamic-form/common-types","FORM_CONTROL_PROVIDER":"./ngx-dynamic-form/common-types","IFormControlComponent":"./ngx-dynamic-form/common-types","IFormGroupComponent":"./ngx-dynamic-form/common-types","FormControlComponent":"./ngx-dynamic-form/common-types","IFormControlProviderAcceptor":"./ngx-dynamic-form/common-types","IFormControlProviderLoader":"./ngx-dynamic-form/common-types","IFormControlOptions":"./ngx-dynamic-form/common-types","IFormControlSerializer":"./ngx-dynamic-form/common-types","IFormControlProvider":"./ngx-dynamic-form/common-types","IFormSerializer":"./ngx-dynamic-form/common-types","IFormSerializers":"./ngx-dynamic-form/common-types","DynamicFormState":"./ngx-dynamic-form/common-types","DynamicFormUpdateOn":"./ngx-dynamic-form/common-types","IDynamicFormControl":"./ngx-dynamic-form/common-types","DynamicFormGroup":"./ngx-dynamic-form/common-types","DynamicFormControl":"./ngx-dynamic-form/common-types","IFormControl":"./ngx-dynamic-form/common-types","IFormControlData":"./ngx-dynamic-form/common-types","IFormInputData":"./ngx-dynamic-form/common-types","IFormSelectData":"./ngx-dynamic-form/common-types","IFormStaticData":"./ngx-dynamic-form/common-types","IFormFileData":"./ngx-dynamic-form/common-types","IFormModelData":"./ngx-dynamic-form/common-types","IFormFieldSet":"./ngx-dynamic-form/common-types","IFormControlOption":"./ngx-dynamic-form/common-types","IDynamicFormTemplates":"./ngx-dynamic-form/common-types","IDynamicFormConfig":"./ngx-dynamic-form/common-types","IDynamicSingleFormConfig":"./ngx-dynamic-form/common-types","IDynamicMultiFormConfig":"./ngx-dynamic-form/common-types","IDynamicFormsConfigs":"./ngx-dynamic-form/common-types","IDynamicFormBase":"./ngx-dynamic-form/common-types","AsyncSubmitMethod":"./ngx-dynamic-form/common-types","IDynamicFormInfo":"./ngx-dynamic-form/common-types","IDynamicForm":"./ngx-dynamic-form/common-types","IDynamicFormFieldSets":"./ngx-dynamic-form/common-types","FormControlTester":"./ngx-dynamic-form/common-types","FormControlTesterFactory":"./ngx-dynamic-form/common-types","FormControlValidator":"./ngx-dynamic-form/common-types","FormControlValidatorFactory":"./ngx-dynamic-form/common-types","defaultSerializer":"./ngx-dynamic-form/common-types","FormSerializable":"./ngx-dynamic-form/common-types","FormInput":"./ngx-dynamic-form/common-types","FormSelect":"./ngx-dynamic-form/common-types","FormStatic":"./ngx-dynamic-form/common-types","FormModel":"./ngx-dynamic-form/common-types","FormFile":"./ngx-dynamic-form/common-types","FormFieldSet":"./ngx-dynamic-form/common-types","FormGroupProvider":"./ngx-dynamic-form/common-types","provideFormGroup":"./ngx-dynamic-form/common-types","FormControlProvider":"./ngx-dynamic-form/common-types","provideFormControl":"./ngx-dynamic-form/common-types","defineFormControl":"./ngx-dynamic-form/common-types","getFormFieldSets":"./ngx-dynamic-form/common-types","getFormControl":"./ngx-dynamic-form/common-types","getFormSerializer":"./ngx-dynamic-form/common-types","createFormInput":"./ngx-dynamic-form/common-types","createFormSelect":"./ngx-dynamic-form/common-types","createFormStatic":"./ngx-dynamic-form/common-types","createFormModel":"./ngx-dynamic-form/common-types","createFormControl":"./ngx-dynamic-form/common-types","DynamicFormService":"./ngx-dynamic-form/services/dynamic-form.service","FormUtilities":"./ngx-dynamic-form/services/form-utilities","OpenApiService":"./ngx-dynamic-form/services/open-api.service","IOpenApiSchemaProperty":"./ngx-dynamic-form/services/open-api.service","IOpenApiSchema":"./ngx-dynamic-form/services/open-api.service","IDynamicFormInputs":"./ngx-dynamic-form/services/open-api.service","AsyncSubmitDirective":"./ngx-dynamic-form/directives/async-submit.directive","DynamicFormControlDirective":"./ngx-dynamic-form/directives/dynamic-form-control.directive","DynamicFormTemplateDirective":"./ngx-dynamic-form/directives/dynamic-form-template.directive","DynamicFormBaseComponent":"./ngx-dynamic-form/components/base/dynamic-form-base.component","DynamicFormComponent":"./ngx-dynamic-form/components/dynamic-form/dynamic-form.component","DynamicFormsComponent":"./ngx-dynamic-form/components/dynamic-forms/dynamic-forms.component","DynamicFormGroupComponent":"./ngx-dynamic-form/components/dynamic-form-group/dynamic-form-group.component","DynamicFormFileComponent":"./ngx-dynamic-form/components/dynamic-form-file/dynamic-form-file.component","DynamicFormInputComponent":"./ngx-dynamic-form/components/dynamic-form-input/dynamic-form-input.component","DynamicFormSelectComponent":"./ngx-dynamic-form/components/dynamic-form-select/dynamic-form-select.component","DynamicFormStaticComponent":"./ngx-dynamic-form/components/dynamic-form-static/dynamic-form-static.component","DynamicFormModelComponent":"./ngx-dynamic-form/components/dynamic-form-model/dynamic-form-model.component","ɵb":"./ngx-dynamic-form/ngx-dynamic-form.module","ɵc":"./ngx-dynamic-form/ngx-dynamic-form.module","ɵd":"./ngx-dynamic-form/ngx-dynamic-form.module","NgxDynamicFormModule":"./ngx-dynamic-form/ngx-dynamic-form.module","ɵe":"./ngx-dynamic-form/directives/dynamic-form-group.directive"},"importAs":"@stemy/ngx-dynamic-form"}
@@ -1,16 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@stemy/ngx-utils"),require("rxjs"),require("@angular/core"),require("@angular/forms"),require("@ng-dynamic-forms/core"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("@stemy/ngx-dynamic-form",["exports","@stemy/ngx-utils","rxjs","@angular/core","@angular/forms","@ng-dynamic-forms/core","rxjs/operators","@angular/common"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).stemy=e.stemy||{},e.stemy["ngx-dynamic-form"]={}),e.ngxUtils,e.rxjs,e.ng.core,e.ng.forms,e.core,e.rxjs.operators,e.ng.common)}(this,(function(e,t,r,n,o,i,a,s){"use strict";var c=[],u=function(){return Promise.resolve(!1)};function l(e,t){var r=t.get(e);return r?r.value:null}function p(e,r,n){t.ReflectUtils.defineMetadata("dynamicFormControl",n,e,r)}function m(e){return t.ReflectUtils.getMetadata("dynamicFormFieldSets",e)||{}}function f(e,r,n){return(n=n||{}).label=t.ObjectUtils.isNullOrUndefined(n.label)?e:n.label,n.labelAlign=n.labelAlign||"left",n.fieldSet=n.fieldSet||t.UniqueUtils.uuid(),n.classes=n.classes||"",n.readonly=n.readonly||u,n.hidden=n.hidden||u,n.validators=n.validators||c,{id:e,type:r,data:n}}function h(e,t,r){void 0===r&&(r="text");var n=f(e,"input",t);return(t=n.data).type=t.type||r,t.classes=t.classes?t.classes+" form-group-"+t.type:"form-group-"+t.type,t.placeholder=t.placeholder||("mask"==t.type?"_":""),t.step=t.step||1,t.mask=t.mask||[/\w*/gi],n}function d(e,t){var r=f(e,"select",t);(t=r.data).options=t.options||[],t.type=t.type||"select";var n="select"==t.type?"select":"select-"+t.type;return t.classes=t.classes?t.classes+" form-group-"+n:"form-group-"+n,r}function y(e,t){var r=f(e,"static",t);return(t=r.data).style=t.style||"table",r}function g(e,t){var r=f(e,"model",t);return(t=r.data).name=t.name||"",r}function v(e){var t=e.value;if(!t)return null;try{return JSON.parse(t),null}catch(e){return{json:!0}}}function b(e){var t=e.value;return t&&0!=t.length&&t.findIndex((function(e){return("de"==e.lang||"en"==e.lang)&&!e.translation}))<0?null:{requiredTranslation:!0}}function C(e){var t=e.value;if(!t)return Promise.resolve(null);return/^(?:\d){10,12}$/.test(t)?null:{phone:!0}}
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation.
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
- PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var S=function(e,t){return S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},S(e,t)};function F(e,t){function r(){this.constructor=e}S(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function O(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{c(n.next(e))}catch(e){i(e)}}function s(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))}function D(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}Object.create;function w(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function A(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function j(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(A(arguments[t]));return e}Object.create;var x=function(e){function t(t){var r=e.call(this)||this;return r.notifyCallback=t,r}return F(t,e),t.prototype.notify=function(e,t){return O(this,void 0,void 0,(function(){var r;return D(this,(function(n){switch(n.label){case 0:return(r=this.notifyCallback(e,t))instanceof Promise?[4,r]:[3,2];case 1:r=n.sent(),n.label=2;case 2:return this.next(r),[2]}}))}))},t}(r.Subject),E=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.additional=t.additional||{},n}return F(t,e),t}(i.DynamicFormArrayModel),M=function(e){function a(t,r,o){var i=e.call(this,t,r)||this;return i.openApi=o,i.onDetectChanges=new n.EventEmitter,i}return F(a,e),Object.defineProperty(a.prototype,"api",{get:function(){return this.openApi.api},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"language",{get:function(){return this.api.language},enumerable:!1,configurable:!0}),a.prototype.patchGroup=function(e,r,n){this.patchValueRecursive(e,r,n),this.detectChanges(),n.patchValue(t.ObjectUtils.copy(e))},a.prototype.patchForm=function(e,t){this.patchValueRecursive(e,t.model,t.group),this.detectChanges(t),t.group.patchValue(e)},a.prototype.serialize=function(e,t){return this.serializeRecursive(e,t)},a.prototype.notifyChanges=function(e,t){this.notifyChangesRecursive(e,t)},a.prototype.updateSelectOptions=function(e,t){if(e instanceof i.DynamicSelectModel){var n=e.options$;if(n instanceof x)return void n.notify(e,t);for(;n instanceof r.Subject&&n.source;)(n=n.source)instanceof x&&n.notify(e,t)}},a.prototype.showErrors=function(e){this.showErrorsForGroup(e.group),this.detectChanges(e)},a.prototype.detectChanges=function(t){e.prototype.detectChanges.call(this,t),this.onDetectChanges.emit(t)},a.prototype.patchValueRecursive=function(e,r,n){var o=this;Object.keys(e).forEach((function(a){var s=o.findModelById(a,r),c=e[a];if(s){var u=o.findControlByModel(s,n);if(s instanceof i.DynamicSelectModel&&t.ObjectUtils.isObject(c))e[a]=c.id||c._id||c;else if(s instanceof i.DynamicFormArrayModel){for(var l=Array.isArray(c)?c.length:0,p=u;s.size>l;)o.removeFormArrayGroup(0,p,s);for(;s.size<l;)o.insertFormArrayGroup(s.size,p,s);for(var m=0;m<l;m++){var f=s.get(m);o.patchValueRecursive(c[m],f.group,p.at(m))}}else s instanceof i.DynamicFormGroupModel&&o.patchValueRecursive(c,s.group,u)}}))},a.prototype.serializeRecursive=function(e,r){var n;return O(this,void 0,void 0,(function(){var o,a,s,c,u,l,p,m,f,h,d,y,g,v,b,C,S,F,O;return D(this,(function(D){switch(D.label){case 0:if(o={},!e||!r||!r.value)return[2,o];for(s in a=[],e)a.push(s);c=0,D.label=1;case 1:return c<a.length?(u=a[c],l=e[u],p=this.findControlByModel(l,r),m=null===(n=l.additional)||void 0===n?void 0:n.serializer,t.ObjectUtils.isFunction(m)?(f=o,h=l.id,[4,m(l,p)]):[3,3]):[3,12];case 2:return f[h]=D.sent(),[3,11];case 3:if(!(l instanceof i.DynamicFormArrayModel))return[3,8];d=Array.isArray(p.value)?p.value.length:0,y=p,g=[],v=0,D.label=4;case 4:return v<d?(b=l.get(v),S=(C=g).push,[4,this.serializeRecursive(b.group,y.at(v))]):[3,7];case 5:S.apply(C,[D.sent()]),D.label=6;case 6:return v++,[3,4];case 7:return o[l.id]=g,[3,11];case 8:return l instanceof i.DynamicFormGroupModel?(F=o,O=l.id,[4,this.serializeRecursive(l.group,p)]):[3,10];case 9:return F[O]=D.sent(),[3,11];case 10:if(l instanceof i.DynamicInputModel&&!t.ObjectUtils.isNullOrUndefined(p.value))return o[l.id]="number"==l.inputType?parseFloat((""+p.value||"0").replace(/,/gi,"."))||null:p.value,[3,11];o[l.id]=p.value,D.label=11;case 11:return c++,[3,1];case 12:return[2,o]}}))}))},a.prototype.notifyChangesRecursive=function(e,t){if(e&&t)for(var r in e){var n=e[r],o=this.findControlByModel(n,t);if(n instanceof i.DynamicFormArrayModel)for(var a=Array.isArray(o.value)?o.value.length:0,s=o,c=0;c<a;c++){var u=n.get(c);this.notifyChangesRecursive(u.group,s.at(c))}else n instanceof i.DynamicFormGroupModel?this.notifyChangesRecursive(n.group,o):this.updateSelectOptions(n,o)}},a.prototype.showErrorsForGroup=function(e){if(e){e.markAsTouched({onlySelf:!0});var t=Object.keys(e.controls).map((function(t){return e.controls[t]}));this.showErrorsForControls(t)}},a.prototype.showErrorsForControls=function(e){var t=this;e.forEach((function(e){e instanceof o.FormGroup?t.showErrorsForGroup(e):(e.markAsTouched({onlySelf:!0}),e instanceof o.FormArray&&t.showErrorsForControls(e.controls))}))},a.prototype.getFormModelForSchema=function(e){return O(this,void 0,void 0,(function(){var t;return D(this,(function(r){switch(r.label){case 0:return this.api.cache={},t=this,[4,this.openApi.getSchemas()];case 1:return t.schemas=r.sent(),[2,this.getFormModelForSchemaDef(this.schemas[e])]}}))}))},a.prototype.getFormModelForSchemaDef=function(e){var t=this;return e?Object.keys(e.properties||{}).map((function(r){var n=e.properties[r];return t.getFormControlModel(n,e)})).filter((function(e){return null!==e})):[]},a.prototype.getFormControlModel=function(e,r){var n,o;if(Array.isArray(e.enum)||t.ObjectUtils.isString(e.optionsPath))return new i.DynamicSelectModel(this.getFormSelectConfig(e,r));switch(e.type){case"string":case"number":case"integer":return new i.DynamicInputModel(this.getFormInputConfig(e,r));case"textarea":return new i.DynamicTextAreaModel(this.getFormTextareaConfig(e,r));case"boolean":return new i.DynamicCheckboxModel(this.getFormCheckboxConfig(e,r));case"list":return new i.DynamicSelectModel(this.getFormSelectConfig(e,r));case"array":return(null===(n=e.items)||void 0===n?void 0:n.$ref)||e.$ref?new E(this.getFormArrayConfig(e,r)):(null===(o=e.items)||void 0===o?void 0:o.enum)||e.enum?new i.DynamicSelectModel(this.getFormSelectConfig(e,r)):new i.DynamicInputModel(this.getFormInputConfig(e,r));case"file":return new i.DynamicFileUploadModel(this.getFormUploadConfig(e,r))}return e.$ref?new i.DynamicFormGroupModel(this.getFormGroupConfig(e,r)):null},a.prototype.getFormControlConfig=function(e,r){var n=this.getValidators(e,r),o=Object.keys(n).reduce((function(e,t){return e[t]="error."+t,e}),{});return{id:e.id,label:t.ObjectUtils.isString(e.label)?e.label:e.id,hidden:e.hidden,disabled:e.disabled,validators:n,errorMessages:o,additional:Object.assign({},e)}},a.prototype.getFormArrayConfig=function(e,t){var r,n=this,o=(null===(r=e.items)||void 0===r?void 0:r.$ref)||e.$ref||"",i=this.schemas[o.split("/").pop()];return Object.assign(this.getFormControlConfig(e,t),{groupFactory:function(){return n.getFormModelForSchemaDef(i)}})},a.prototype.getFormGroupConfig=function(e,t){var r=e.$ref||"",n=this.schemas[r.split("/").pop()];return Object.assign(this.getFormControlConfig(e,t),{group:this.getFormModelForSchemaDef(n)})},a.prototype.getFormInputConfig=function(e,r){var n,o=t.StringUtils.has(e.id,"password","Password")?"password":(null===(n=e.items)||void 0===n?void 0:n.type)||e.type;switch(o){case"boolean":o="checkbox";break;case"textarea":o="textarea";break;case"integer":o="number"}return Object.assign(this.getFormControlConfig(e,r),{inputType:o,autoComplete:e.autoComplete||"off",multiple:"array"==e.type,accept:t.ObjectUtils.isString(e.accept)?e.accept:null,mask:t.ObjectUtils.isString(e.mask)?e.mask:null,pattern:t.ObjectUtils.isString(e.pattern)?e.pattern:null,step:isNaN(e.step)?1:e.step,min:isNaN(e.min)?Number.MIN_SAFE_INTEGER:e.min,max:isNaN(e.max)?Number.MAX_SAFE_INTEGER:e.max})},a.prototype.getFormTextareaConfig=function(e,t){return Object.assign(this.getFormControlConfig(e,t),{cols:e.cols||null,rows:e.rows||10,wrap:e.wrap||!1,autoComplete:e.autoComplete||"off",multiple:"array"==e.type})},a.prototype.getFormSelectConfig=function(e,t){return Object.assign(this.getFormControlConfig(e,t),{options:this.getFormSelectOptions(e,t),multiple:"array"==e.type})},a.prototype.getFormCheckboxConfig=function(e,t){return Object.assign(this.getFormControlConfig(e,t),{indeterminate:!0===e.indeterminate})},a.prototype.translateOptions=function(e){return O(this,void 0,void 0,(function(){var t,r,n,o,i,a,s;return D(this,(function(c){switch(c.label){case 0:if(!e)return[2,[]];c.label=1;case 1:c.trys.push([1,6,7,8]),t=w(e),r=t.next(),c.label=2;case 2:return r.done?[3,5]:(n=r.value,o=n,[4,this.language.getTranslation(n.label)]);case 3:o.label=c.sent(),c.label=4;case 4:return r=t.next(),[3,2];case 5:return[3,8];case 6:return i=c.sent(),a={error:i},[3,8];case 7:try{r&&!r.done&&(s=t.return)&&s.call(t)}finally{if(a)throw a.error}return[7];case 8:return[2,e]}}))}))},a.prototype.getFormSelectOptions=function(e,r){var n,o=this,i=(null===(n=e.items)||void 0===n?void 0:n.enum)||e.enum;return e.optionsPath?new x((function(r,n){var i=e.optionsPath,a=n;if(i.startsWith("$root"))for(i=i.substr(5);a.parent;)a=a.parent;for(;i.startsWith(".");)i=i.substr(1),a.parent&&(a=a.parent);var s=t.ObjectUtils.getValue(a.value,i),c=(t.ObjectUtils.isArray(s)?s:[]).map((function(e){return{value:e,label:e}}));return o.translateOptions(c)})):t.ObjectUtils.isArray(i)?new x((function(){var t=i.map((function(t){return{value:t,label:e.translatable?e.id+"."+t:t}}));return o.translateOptions(t)})):new x((function(){return O(o,void 0,void 0,(function(){var t;return D(this,(function(r){switch(r.label){case 0:return this.api.cache[e.endpoint]=this.api.cache[e.endpoint]||this.api.list(e.endpoint,this.api.makeListParams(1,-1)).then((function(t){return t.items.map((function(t){return{value:t.id||t._id,label:t[e.labelField]||t.label||t.id||t._id}}))})),[4,this.api.cache[e.endpoint]];case 1:return t=r.sent().map((function(e){return Object.assign({},e)})),[2,this.translateOptions(t)]}}))}))}))},a.prototype.getFormUploadConfig=function(e,t){var r=this.api.url(e.url||"assets"),n=e.accept,o=e.autoUpload,i=e.maxSize,a=e.minSize,s=e.removeUrl,c=e.showFileList;return Object.assign(this.getFormControlConfig(e,t),{url:r,accept:n,autoUpload:o,maxSize:i,minSize:a,removeUrl:s,showFileList:c})},a.prototype.getValidators=function(e,r){var n={};if(t.ObjectUtils.isArray(r.required)&&r.required.indexOf(e.id)>=0&&(n.required=null),e.minLength&&(n.minLength=e.minLength),e.maxLength&&(n.maxLength=e.maxLength),e.min&&(n.min=e.min),e.max&&(n.max=e.max),"email"===e.format)n.email=null;return n},a}(i.DynamicFormService);M.decorators=[{type:n.Injectable}],M.ctorParameters=function(){return[{type:i.DynamicFormComponentService},{type:i.DynamicFormValidationService},{type:t.OpenApiService}]};var R=function(){function e(e,t,r,o){this.toaster=e,this.cdr=t,this.elem=r,this.renderer=o,this.onSuccess=new n.EventEmitter,this.onError=new n.EventEmitter,"BUTTON"===r.nativeElement.tagName&&o.setAttribute(r.nativeElement,"type","button")}return Object.defineProperty(e.prototype,"isDisabled",{get:function(){return this.disabled},set:function(e){this.disabled=e,e?this.renderer.setAttribute(this.elem.nativeElement,"disabled","disabled"):this.renderer.removeAttribute(this.elem.nativeElement,"disabled")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isLoading",{get:function(){return this.loading},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.form&&(this.isDisabled="VALID"!==this.form.status,this.cdr.detectChanges(),this.onStatusChange=this.form.onStatusChange.subscribe((function(){e.isDisabled="VALID"!==e.form.status,e.cdr.detectChanges(),e.callback&&"PENDING"!=e.form.status&&(e.disabled||e.callback(),e.callback=null)})),this.onSubmit=this.form.onSubmit.subscribe((function(){return e.callMethod()})))},e.prototype.ngOnDestroy=function(){this.onStatusChange&&this.onStatusChange.unsubscribe(),this.onSubmit&&this.onSubmit.unsubscribe()},e.prototype.click=function(){var e=this;this.callback=function(){return e.callMethod()},"VALID"!==this.form.status&&"INVALID"!==this.form.status||(this.callback(),this.callback=null)},e.prototype.callMethod=function(){var e=this;this.loading||(this.loading=!0,this.method(this.form,this.context).then((function(t){e.loading=!1,t&&(e.onSuccess.emit(t),e.toaster.success(t.message,t.context))}),(function(t){if(!t||!t.message)throw new Error("Reason must implement IAsyncMessage interface");e.loading=!1,e.onError.emit(t),e.toaster.error(t.message,t.context)})))},e}();R.decorators=[{type:n.Directive,args:[{selector:"[async-submit]",exportAs:"async-submit"}]}],R.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[t.TOASTER_SERVICE]}]},{type:n.ChangeDetectorRef},{type:n.ElementRef},{type:n.Renderer2}]},R.propDecorators={method:[{type:n.Input,args:["async-submit"]}],form:[{type:n.Input}],context:[{type:n.Input}],onSuccess:[{type:n.Output}],onError:[{type:n.Output}],isDisabled:[{type:n.HostBinding,args:["class.disabled"]}],isLoading:[{type:n.HostBinding,args:["class.loading"]}],click:[{type:n.HostListener,args:["click"]}]};var I=function(e){function o(t,o,i,a){var s=e.call(this,i,a)||this;return s.formService=t,s.events=o,s.blur=new n.EventEmitter,s.change=new n.EventEmitter,s.focus=new n.EventEmitter,s.onStatusChange=new n.EventEmitter,s.onValueChange=new n.EventEmitter,s.onSubmit=new n.EventEmitter,s.templates=new n.QueryList,s.subscription=new r.Subscription,s.groupSubscription=new r.Subscription,s.labelPrefix="label",s}return F(o,e),Object.defineProperty(o.prototype,"status",{get:function(){return this.group?this.group.status:null},enumerable:!1,configurable:!0}),o.prototype.ngOnChanges=function(e){var r=this;this.groupSubscription.unsubscribe(),this.group&&(this.groupSubscription=t.ObservableUtils.multiSubscription(this.group.statusChanges.subscribe((function(){r.onStatusChange.emit(r)})),this.group.valueChanges.subscribe((function(){r.onValueChange.emit(r),r.formService.notifyChanges(r.model,r.group)}))))},o.prototype.ngAfterViewInit=function(){var e=this;this.subscription=t.ObservableUtils.multiSubscription(t.ObservableUtils.subscribe({subjects:[this.contentTemplates.changes,this.viewTemplates.changes],cb:function(){var t=e.contentTemplates.toArray().concat(e.viewTemplates.toArray());e.templates.reset(t)}}),this.events.languageChanged.subscribe((function(){e.formService.detectChanges(e)})),this.ngForm.ngSubmit.subscribe((function(){e.onSubmit.emit(e)})))},o.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.subscription.unsubscribe(),this.groupSubscription.unsubscribe()},o.prototype.insertFormArrayGroup=function(e,t,r){this.formService.insertFormArrayGroup(e,t,r),this.changeDetectorRef.detectChanges()},o.prototype.removeFormArrayGroup=function(e,t,r){this.formService.removeFormArrayGroup(e,t,r),this.changeDetectorRef.detectChanges()},o.prototype.moveFormArrayGroup=function(e,t,r,n){this.formService.moveFormArrayGroup(e,t,r,n),this.changeDetectorRef.detectChanges()},o.prototype.clearFormArray=function(e,t){this.formService.clearFormArray(e,t),this.changeDetectorRef.detectChanges()},o.prototype.validate=function(e){var t=this;return void 0===e&&(e=!0),this.group?new Promise((function(r,n){t.group.statusChanges.pipe(a.first((function(e){return"VALID"==e||"INVALID"==e}))).subscribe((function(o){e&&t.formService.showErrors(t),"VALID"!=o?n(null):r(null)})),t.group.updateValueAndValidity()})):Promise.resolve()},o.prototype.serialize=function(e){return O(this,void 0,void 0,(function(){return D(this,(function(t){switch(t.label){case 0:return this.group?e?[4,this.validate()]:[3,2]:[2,null];case 1:t.sent(),t.label=2;case 2:return[4,this.formService.serialize(this.model,this.group)];case 3:return[2,t.sent()]}}))}))},o}(i.DynamicFormComponent);I.decorators=[{type:n.Component,args:[{selector:"dynamic-base-form",template:"",changeDetection:n.ChangeDetectionStrategy.Default}]}],I.ctorParameters=function(){return[{type:M,decorators:[{type:n.Inject,args:[M]}]},{type:t.EventsService,decorators:[{type:n.Inject,args:[t.EventsService]}]},{type:n.ChangeDetectorRef},{type:i.DynamicFormComponentService}]},I.propDecorators={group:[{type:n.Input}],model:[{type:n.Input}],layout:[{type:n.Input}],labelPrefix:[{type:n.Input}],blur:[{type:n.Output}],change:[{type:n.Output}],focus:[{type:n.Output}],contentTemplates:[{type:n.ContentChildren,args:[i.DynamicTemplateDirective]}],viewTemplates:[{type:n.ViewChildren,args:[i.DynamicTemplateDirective]}],onStatusChange:[{type:n.Output}],onValueChange:[{type:n.Output}],onSubmit:[{type:n.Output}],ngForm:[{type:n.ViewChild,args:[o.NgForm]}]};var T=function(e){function r(t,r,o,i,a,s,c){var u=e.call(this,r,o,i,a,s,c)||this;return u.form=t,u.changeDetectorRef=r,u.componentFactoryResolver=o,u.layoutService=i,u.validationService=a,u.componentService=s,u.relationService=c,u.context=null,u.blur=new n.EventEmitter,u.change=new n.EventEmitter,u.focus=new n.EventEmitter,u}return F(r,e),Object.defineProperty(r.prototype,"componentType",{get:function(){var e;return null!==(e=this.componentService.getCustomComponentType(this.model))&&void 0!==e?e:this.getComponentType(this.model)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"startTemplate",{get:function(){return this.model.type==i.DYNAMIC_FORM_CONTROL_TYPE_ARRAY?this.layoutService.getAlignedTemplate(this.model,this.templates,"ARRAY_START"):this.layoutService.getStartTemplate(this.model,this.templates)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"endTemplate",{get:function(){return this.model.type==i.DYNAMIC_FORM_CONTROL_TYPE_ARRAY?this.layoutService.getAlignedTemplate(this.model,this.templates,"ARRAY_END"):this.layoutService.getEndTemplate(this.model,this.templates)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"formService",{get:function(){return this.form.formService},enumerable:!1,configurable:!0}),r.prototype.ngOnInit=function(){var e=this;this.onDetectChanges=this.formService.onDetectChanges.subscribe((function(t){t===e.form&&(e.changeDetectorRef.detectChanges(),e.formService.updateSelectOptions(e.model,e.control))}))},r.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.onDetectChanges.unsubscribe()},r.prototype.createFormControlComponent=function(){var r;e.prototype.createFormControlComponent.call(this);var n=null===(r=this.componentRef)||void 0===r?void 0:r.instance;n&&t.ObjectUtils.isFunction(n.onCreated)&&n.onCreated()},r.prototype.getComponentType=function(e){return null},r}(i.DynamicFormControlContainerComponent);T.decorators=[{type:n.Component,args:[{selector:"dynamic-base-form-control",template:"",changeDetection:n.ChangeDetectionStrategy.OnPush}]}],T.ctorParameters=function(){return[{type:I},{type:n.ChangeDetectorRef},{type:n.ComponentFactoryResolver},{type:i.DynamicFormLayoutService},{type:i.DynamicFormValidationService},{type:i.DynamicFormComponentService},{type:i.DynamicFormRelationService}]},T.propDecorators={contentTemplateList:[{type:n.ContentChildren,args:[i.DynamicTemplateDirective]}],klass:[{type:n.HostBinding,args:["class"]}],context:[{type:n.Input}],group:[{type:n.Input}],hostClass:[{type:n.Input}],inputTemplateList:[{type:n.Input,args:["templates"]}],layout:[{type:n.Input}],model:[{type:n.Input}],blur:[{type:n.Output}],change:[{type:n.Output}],focus:[{type:n.Output}],componentViewContainerRef:[{type:n.ViewChild,args:["componentViewContainer",{read:n.ViewContainerRef,static:!0}]}]};var U=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return F(t,e),t.prototype.showErrorMessages=function(t,r,n){return e.prototype.showErrorMessages.call(this,t,r,n)},t}(i.DynamicFormValidationService);U.decorators=[{type:n.Injectable}];var V=[I,T],k=[R],N=[],P=v,_=b,L=C,G=new Map([["validateJSON",v],["validateRequiredTranslation",b],["validatePhone",C]]),z=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[M,U,{provide:i.DynamicFormService,useExisting:M},{provide:i.DynamicFormValidationService,useExisting:U}]}},e}();z.decorators=[{type:n.NgModule,args:[{declarations:j(V,k,N),imports:[s.CommonModule,o.FormsModule,o.ReactiveFormsModule,t.NgxUtilsModule],exports:j(V,k,N,[o.FormsModule,o.ReactiveFormsModule,t.NgxUtilsModule]),entryComponents:V,providers:j(N,[{provide:o.NG_VALIDATORS,useValue:P,multi:!0},{provide:o.NG_VALIDATORS,useValue:_,multi:!0},{provide:o.NG_VALIDATORS,useValue:L,multi:!0},{provide:i.DYNAMIC_VALIDATORS,useValue:G}])}]}],e.AsyncSubmitDirective=R,e.DynamicBaseFormComponent=I,e.DynamicBaseFormControlContainerComponent=T,e.DynamicFormService=M,e.FormFieldSet=function(e){return function(r){var n=m(r);e.classes=e.classes||"",n[e.id]=e,t.ReflectUtils.defineMetadata("dynamicFormFieldSets",n,r)}},e.FormFile=function(e){return function(r,n){p(r,n,function(e,r){var n=f(e,"file",r);return(r=n.data).accept=r.accept||".jpg,.jpeg,.png",r.multi=r.multi||!1,r.baseUrl=t.ObjectUtils.isString(r.baseUrl)?r.baseUrl:"assets/",r.uploadUrl=t.ObjectUtils.isString(r.uploadUrl)?r.uploadUrl:"assets",r.createUploadData=r.createUploadData||function(e){var t=new FormData;return t.append("file",e),t},n}(n,e))}},e.FormInput=function(e){return function(r,n){var o=t.ReflectUtils.getOwnMetadata("design:type",r,n),i=o?o.name:"",a=n.indexOf("password")<0?"text":"password";switch(i){case"Number":a="number";break;case"Boolean":a="checkbox"}p(r,n,h(n,e,a))}},e.FormModel=function(e){return function(t,r){p(t,r,g(r,e))}},e.FormSelect=function(e){return function(t,r){p(t,r,d(r,e))}},e.FormSerializable=function(e){return function(r,n){t.ReflectUtils.defineMetadata("dynamicFormSerializer",e||l,r,n)}},e.FormStatic=function(e){return function(t,r){p(t,r,y(r,e))}},e.FormSubject=x,e.NgxDynamicFormModule=z,e.createFormControl=f,e.createFormInput=h,e.createFormModel=g,e.createFormSelect=d,e.createFormStatic=y,e.defaultSerializer=l,e.defineFormControl=p,e.getFormControl=function(e,r){return t.ReflectUtils.getMetadata("dynamicFormControl",e,r)},e.getFormFieldSets=m,e.getFormSerializer=function(e,r){return t.ReflectUtils.getMetadata("dynamicFormSerializer",e,r)},e.validateJSON=v,e.validatePhone=C,e.validateRequiredTranslation=b,e.ɵa=V,e.ɵb=k,e.ɵc=N,e.ɵd=U,Object.defineProperty(e,"__esModule",{value:!0})}));
16
- //# sourceMappingURL=stemy-ngx-dynamic-form.umd.min.js.map