@stemy/ngx-dynamic-form 10.2.33 → 12.0.1

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 (66) hide show
  1. package/bundles/stemy-ngx-dynamic-form.umd.js +1787 -1206
  2. package/bundles/stemy-ngx-dynamic-form.umd.js.map +1 -1
  3. package/esm2015/ngx-dynamic-form/common-types.js +527 -29
  4. package/esm2015/ngx-dynamic-form/components/base/dynamic-form-base.component.js +89 -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 +37 -41
  18. package/esm2015/ngx-dynamic-form/services/dynamic-form.service.js +39 -448
  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 -10
  22. package/esm2015/stemy-ngx-dynamic-form.js +4 -2
  23. package/fesm2015/stemy-ngx-dynamic-form.js +1406 -901
  24. package/fesm2015/stemy-ngx-dynamic-form.js.map +1 -1
  25. package/ngx-dynamic-form/common-types.d.ts +265 -38
  26. package/ngx-dynamic-form/components/base/dynamic-form-base.component.d.ts +45 -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 +3 -7
  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 -7
  40. package/ngx-dynamic-form/services/dynamic-form.service.d.ts +10 -44
  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 -9
  45. package/stemy-ngx-dynamic-form.d.ts +3 -1
  46. package/stemy-ngx-dynamic-form.metadata.json +1 -1
  47. package/bundles/stemy-ngx-dynamic-form.umd.min.js +0 -2
  48. package/bundles/stemy-ngx-dynamic-form.umd.min.js.map +0 -1
  49. package/esm2015/ngx-dynamic-form/components/base/dynamic-base-form-array.component.js +0 -79
  50. package/esm2015/ngx-dynamic-form/components/base/dynamic-base-form-control-container.component.js +0 -102
  51. package/esm2015/ngx-dynamic-form/components/base/dynamic-base-form-group.component.js +0 -65
  52. package/esm2015/ngx-dynamic-form/components/base/dynamic-base-form.component.js +0 -140
  53. package/esm2015/ngx-dynamic-form/utils/dynamic-form-array.model.js +0 -16
  54. package/esm2015/ngx-dynamic-form/utils/form-select-subject.js +0 -24
  55. package/esm2015/ngx-dynamic-form/utils/form-subject.js +0 -29
  56. package/esm2015/ngx-dynamic-form/utils/misc.js +0 -18
  57. package/esm2015/ngx-dynamic-form/utils/validators.js +0 -56
  58. package/ngx-dynamic-form/components/base/dynamic-base-form-array.component.d.ts +0 -26
  59. package/ngx-dynamic-form/components/base/dynamic-base-form-control-container.component.d.ts +0 -38
  60. package/ngx-dynamic-form/components/base/dynamic-base-form-group.component.d.ts +0 -21
  61. package/ngx-dynamic-form/components/base/dynamic-base-form.component.d.ts +0 -38
  62. package/ngx-dynamic-form/utils/dynamic-form-array.model.d.ts +0 -22
  63. package/ngx-dynamic-form/utils/form-select-subject.d.ts +0 -6
  64. package/ngx-dynamic-form/utils/form-subject.d.ts +0 -10
  65. package/ngx-dynamic-form/utils/misc.d.ts +0 -3
  66. package/ngx-dynamic-form/utils/validators.d.ts +0 -8
@@ -1,46 +1,12 @@
1
- import { EventEmitter, Injector } from "@angular/core";
2
- import { AbstractControl, FormGroup } from "@angular/forms";
3
- import { DynamicCheckboxModelConfig, DynamicFileUploadModelConfig, DynamicFormComponent, DynamicFormComponentService, DynamicFormControlModel, DynamicFormGroupModelConfig, DynamicFormModel, DynamicFormOptionConfig, DynamicFormService as Base, DynamicFormValidationService, DynamicFormValueControlModelConfig, DynamicInputModelConfig, DynamicSelectModelConfig, DynamicTextAreaModelConfig, DynamicValidatorsConfig } from "@ng-dynamic-forms/core";
4
- import { IApiService, ILanguageService, IOpenApiSchema, IOpenApiSchemaProperty, IOpenApiSchemas, OpenApiService } from "@stemy/ngx-utils";
5
- import { FormModelCustomizer, FormModelCustomizerWrap } from "../common-types";
6
- import { FormSelectSubject } from "../utils/form-select-subject";
7
- import { DynamicFormArrayModelConfig } from "../utils/dynamic-form-array.model";
8
- import { DynamicPathable } from "@ng-dynamic-forms/core/lib/model/misc/dynamic-form-control-path.model";
9
- export declare class DynamicFormService extends Base {
10
- readonly openApi: OpenApiService;
1
+ import { ComponentFactoryResolver, Injector, Type, ViewContainerRef } from "@angular/core";
2
+ import { IDynamicFormControl, IFormControlComponent, IFormControlProvider, IFormGroupComponent } from "../common-types";
3
+ export declare class DynamicFormService {
4
+ private components;
5
+ private groupType;
6
+ private resolver;
11
7
  readonly injector: Injector;
12
- get api(): IApiService;
13
- get language(): ILanguageService;
14
- readonly onDetectChanges: EventEmitter<DynamicFormComponent>;
15
- protected schemas: IOpenApiSchemas;
16
- constructor(cs: DynamicFormComponentService, vs: DynamicFormValidationService, openApi: OpenApiService, injector: Injector);
17
- patchGroup(value: any, formModel: DynamicFormModel, formGroup: FormGroup): void;
18
- patchForm(value: any, component: DynamicFormComponent): void;
19
- serialize(formModel: DynamicFormModel, formGroup: FormGroup): Promise<any>;
20
- notifyChanges(formModel: DynamicFormModel, formGroup: FormGroup, root: DynamicFormModel): void;
21
- updateSelectOptions(formControlModel: DynamicFormControlModel, formControl: AbstractControl, root: DynamicFormModel): void;
22
- showErrors(form: DynamicFormComponent): void;
23
- detectChanges(formComponent?: DynamicFormComponent): void;
24
- protected patchValueRecursive(value: any, formModel: DynamicFormModel, formGroup: FormGroup): void;
25
- protected serializeRecursive(formModel: DynamicFormModel, formGroup: FormGroup): Promise<any>;
26
- protected notifyChangesRecursive(formModel: DynamicFormModel, formGroup: FormGroup, root: DynamicFormModel): void;
27
- protected showErrorsForGroup(formGroup: FormGroup): void;
28
- protected showErrorsForControls(controls: AbstractControl[]): void;
29
- getFormModelForSchema(name: string, customizeModel?: FormModelCustomizer): Promise<DynamicFormModel>;
30
- protected getFormModelForSchemaDef(schema: IOpenApiSchema, customizeModels: FormModelCustomizerWrap): DynamicFormModel;
31
- protected getFormControlModels(property: IOpenApiSchemaProperty, schema: IOpenApiSchema, customizeModels: FormModelCustomizerWrap): DynamicFormControlModel[];
32
- findModelByPath(parent: DynamicPathable | DynamicFormModel, path: string[]): DynamicPathable;
33
- getFormControlConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicFormValueControlModelConfig<any>;
34
- getFormArrayConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema, customizeModels: FormModelCustomizerWrap): DynamicFormArrayModelConfig;
35
- getFormGroupConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema, customizeModels: FormModelCustomizerWrap): DynamicFormGroupModelConfig;
36
- getFormInputConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicInputModelConfig;
37
- getFormTextareaConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicTextAreaModelConfig;
38
- getFormSelectConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicSelectModelConfig<any>;
39
- getFormCheckboxConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicCheckboxModelConfig;
40
- protected translateOptions(options: DynamicFormOptionConfig<any>[]): Promise<DynamicFormOptionConfig<any>[]>;
41
- protected getFormSelectOptions(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): FormSelectSubject<DynamicFormOptionConfig<any>[]>;
42
- protected getFormUploadConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicFileUploadModelConfig;
43
- protected getValidators(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicValidatorsConfig;
44
- protected addPropertyValidators(validators: DynamicValidatorsConfig, property: IOpenApiSchemaProperty): void;
45
- protected addItemsValidators(validators: DynamicValidatorsConfig, items: IOpenApiSchemaProperty): void;
8
+ constructor(components: IFormControlProvider[], groupType: Type<IFormGroupComponent>, resolver: ComponentFactoryResolver, injector: Injector);
9
+ findProvider(control: IDynamicFormControl): IFormControlProvider;
10
+ createComponent(vcr: ViewContainerRef, provider: IFormControlProvider): IFormControlComponent;
11
+ createGroup(vcr: ViewContainerRef): IFormGroupComponent;
46
12
  }
@@ -0,0 +1,19 @@
1
+ import { DatePipe } from "@angular/common";
2
+ import { FormControlTester, FormControlValidator, IDynamicFormControl, IFormControlSerializer } from "../common-types";
3
+ export declare class FormUtilities {
4
+ static checkField(expression?: string): FormControlTester;
5
+ static checkReadonly(control: IDynamicFormControl): Promise<boolean>;
6
+ static readonly(): Promise<boolean>;
7
+ static validateJSON(control: IDynamicFormControl): Promise<string>;
8
+ static validateRequired(control: IDynamicFormControl): Promise<string>;
9
+ static validateMinLength(length: number): FormControlValidator;
10
+ static validateMaxLength(length: number): FormControlValidator;
11
+ static validateRequiredTranslation(control: IDynamicFormControl): Promise<string>;
12
+ static validateEmail(control: IDynamicFormControl): Promise<string>;
13
+ static validatePhone(control: IDynamicFormControl): Promise<string>;
14
+ static serializeLogo(id: string, parent: IDynamicFormControl): Promise<any>;
15
+ static serializeFile(id: string, parent: IDynamicFormControl): Promise<any>;
16
+ static serializeNumber(id: string, parent: IDynamicFormControl): Promise<any>;
17
+ static serializeJSON(id: string, parent: IDynamicFormControl): Promise<any>;
18
+ static serializeDate(date: DatePipe, format?: string, defaultValue?: string): IFormControlSerializer;
19
+ }
@@ -0,0 +1,37 @@
1
+ import { ApiService } from "@stemy/ngx-utils";
2
+ import { IFormControl, IFormSerializers } from "../common-types";
3
+ export interface IOpenApiSchemaProperty {
4
+ id: string;
5
+ type: string;
6
+ format: string;
7
+ column: boolean;
8
+ additionalProperties: any;
9
+ $ref: string;
10
+ enum: string[];
11
+ [key: string]: any;
12
+ }
13
+ export interface IOpenApiSchema {
14
+ properties: {
15
+ [name: string]: IOpenApiSchemaProperty;
16
+ };
17
+ required: string[];
18
+ }
19
+ export interface IDynamicFormInputs {
20
+ controls?: IFormControl[];
21
+ serializers?: IFormSerializers;
22
+ schema?: IOpenApiSchema;
23
+ }
24
+ export declare class OpenApiService {
25
+ private api;
26
+ private schemasPromise;
27
+ private schemas;
28
+ constructor(api: ApiService);
29
+ getFormInputsForSchema(name: string): Promise<IDynamicFormInputs>;
30
+ private getFormInputsForSchemaDef;
31
+ private getFormControlForProperty;
32
+ private getBaseFormData;
33
+ private getFormInputData;
34
+ private getFormSelectData;
35
+ private getFormFileData;
36
+ private getValidators;
37
+ }
package/package.json CHANGED
@@ -1,29 +1,28 @@
1
1
  {
2
2
  "name": "@stemy/ngx-dynamic-form",
3
- "version": "10.2.33",
3
+ "version": "12.0.1",
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 || ^13.0.0",
26
- "@ng-dynamic-forms/ui-basic": "^12.0.0 || ^13.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,12 +1,17 @@
1
- export { IDynamicFormEvent, IDynamicForm, OnCreatedFormControl, FormControlSerializer, FormModelCustomizer, DynamicFormState, DynamicFormUpdateOn, IFormControl, IFormControlOption, IDynamicFormTemplates, IDynamicFormConfig, IDynamicSingleFormConfig, IDynamicMultiFormConfig, IDynamicFormsConfigs, AsyncSubmitMethod, IDynamicFormInfo, defaultSerializer, FormSerializable, FormInput, FormSelect, FormStatic, FormModel, FormFile, defineFormControl, getFormControl, getFormSerializer, createFormInput, createFormSelect, createFormStatic, createFormModel, createFormControl } from "./ngx-dynamic-form/common-types";
2
- export { validateJSON, validateRequiredTranslation, validatePhone, validateItemsMinLength, validateItemsMaxLength, validateItemsMinValue, validateItemsMaxValue } from "./ngx-dynamic-form/utils/validators";
3
- export { DynamicFormArrayModelConfig, DynamicFormArrayModel } from "./ngx-dynamic-form/utils/dynamic-form-array.model";
4
- export { FormSelectSubject } from "./ngx-dynamic-form/utils/form-select-subject";
5
- 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";
6
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";
7
5
  export { AsyncSubmitDirective } from "./ngx-dynamic-form/directives/async-submit.directive";
8
- export { DynamicBaseFormComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form.component";
9
- export { DynamicBaseFormArrayComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form-array.component";
10
- export { DynamicBaseFormControlContainerComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form-control-container.component";
11
- export { DynamicBaseFormGroupComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form-group.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";
12
17
  export { NgxDynamicFormModule } from "./ngx-dynamic-form/ngx-dynamic-form.module";
@@ -2,4 +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';
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":{"IDynamicFormEvent":{"__symbolic":"interface"},"IDynamicForm":{"__symbolic":"interface"},"OnCreatedFormControl":{"__symbolic":"interface"},"FormControlSerializer":{"__symbolic":"interface"},"FormModelCustomizer":{"__symbolic":"interface"},"DynamicFormState":{"__symbolic":"interface"},"DynamicFormUpdateOn":{"__symbolic":"interface"},"IFormControl":{"__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"},"defaultSerializer":{"__symbolic":"function"},"FormSerializable":{"__symbolic":"function","parameters":["serializer"],"value":{"__symbolic":"error","message":"Lambda not supported","line":113,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormInput":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":119,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormSelect":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":136,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormStatic":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":142,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormModel":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":148,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormFile":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":154,"character":11,"module":"./ngx-dynamic-form/common-types"}},"defineFormControl":{"__symbolic":"function"},"getFormControl":{"__symbolic":"function","parameters":["target","propertyKey"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"ReflectUtils","line":164,"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":168,"character":11},"member":"getMetadata"},"arguments":["dynamicFormSerializer",{"__symbolic":"reference","name":"target"},{"__symbolic":"reference","name":"propertyKey"}]}},"createFormInput":{"__symbolic":"function"},"createFormSelect":{"__symbolic":"function"},"createFormStatic":{"__symbolic":"function","parameters":["id","config"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"createFormControl"},"arguments":[{"__symbolic":"reference","name":"id"},"static",{"__symbolic":"reference","name":"config"}]}},"createFormModel":{"__symbolic":"function"},"createFormControl":{"__symbolic":"function"},"validateJSON":{"__symbolic":"function"},"validateRequiredTranslation":{"__symbolic":"function"},"validatePhone":{"__symbolic":"function"},"validateItemsMinLength":{"__symbolic":"function","parameters":["minLength"],"value":{"__symbolic":"error","message":"Lambda not supported","line":29,"character":11,"module":"./ngx-dynamic-form/utils/validators"}},"validateItemsMaxLength":{"__symbolic":"function","parameters":["maxLength"],"value":{"__symbolic":"error","message":"Lambda not supported","line":37,"character":11,"module":"./ngx-dynamic-form/utils/validators"}},"validateItemsMinValue":{"__symbolic":"function","parameters":["min"],"value":{"__symbolic":"error","message":"Lambda not supported","line":45,"character":11,"module":"./ngx-dynamic-form/utils/validators"}},"validateItemsMaxValue":{"__symbolic":"function","parameters":["max"],"value":{"__symbolic":"error","message":"Lambda not supported","line":53,"character":11,"module":"./ngx-dynamic-form/utils/validators"}},"DynamicFormArrayModelConfig":{"__symbolic":"interface"},"DynamicFormArrayModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormArrayModel","line":18,"character":43},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormControlLayout","line":27,"character":62}]}]}},"FormSelectSubject":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"FormSubject"},"members":{"handleNotifiedValue":[{"__symbolic":"method"}]}},"FormSubject":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"rxjs","name":"Subject","line":8,"character":36},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":12,"character":32,"context":{"typeName":"NotifyCallback"},"module":"./ngx-dynamic-form/utils/form-subject"}]}],"handleNotifiedValue":[{"__symbolic":"method"}],"notify":[{"__symbolic":"method"}]}},"DynamicFormService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormService","line":49,"character":40},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":64,"character":17},"arguments":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"OpenApiService","line":64,"character":24}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":65,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":65,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormComponentService","line":62,"character":20},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormValidationService","line":63,"character":20},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"OpenApiService","line":64,"character":58},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":65,"character":53}]}],"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"}],"getFormControlModels":[{"__symbolic":"method"}],"findModelByPath":[{"__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"}],"addPropertyValidators":[{"__symbolic":"method"}],"addItemsValidators":[{"__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":40,"character":46},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"selector":"dynamic-base-form","template":"","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":38,"character":21},"member":"Default"}}]}],"members":{"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}}]}],"labelPrefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":5}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":5}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":5}}]}],"contentTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":51,"character":5},"arguments":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicTemplateDirective","line":51,"character":21}]}]}],"viewTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":52,"character":5},"arguments":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicTemplateDirective","line":52,"character":18}]}]}],"onValueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":5}}]}],"onStatusChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":5}}]}],"onSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":5}}]}],"ngForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":62,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"NgForm","line":62,"character":15}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":67,"character":17},"arguments":[{"__symbolic":"reference","name":"DynamicFormService"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":68,"character":17},"arguments":[{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"EventsService","line":68,"character":24}]}],null,null],"parameters":[{"__symbolic":"reference","name":"DynamicFormService"},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"EventsService","line":68,"character":56},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":69,"character":35},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormComponentService","line":70,"character":34}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"insertFormArrayGroup":[{"__symbolic":"method"}],"removeFormArrayGroup":[{"__symbolic":"method"}],"moveFormArrayGroup":[{"__symbolic":"method"}],"clearFormArray":[{"__symbolic":"method"}],"getClass":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"serialize":[{"__symbolic":"method"}]}},"DynamicBaseFormArrayComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormArrayComponent","line":35,"character":51},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":30,"character":1},"arguments":[{"selector":"dynamic-base-form-array","template":"","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":33,"character":21},"member":"OnPush"}}]}],"members":{"formLayout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}}]}],"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"templates":[{"__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}}]}],"customEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":5}}]}],"components":[{"__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":"DynamicFormControlContainerComponent","line":48,"character":35}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormLayoutService","line":55,"character":41},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormValidationService","line":56,"character":45},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":57,"character":36}]}],"saveTab":[{"__symbolic":"method"}],"restoreTab":[{"__symbolic":"method"}],"getClass":[{"__symbolic":"method"}],"getModelClass":[{"__symbolic":"method"}],"getAdditionalClass":[{"__symbolic":"method"}]}},"DynamicBaseFormControlContainerComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormControlContainerComponent","line":44,"character":62},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":39,"character":1},"arguments":[{"selector":"dynamic-base-form-control","template":"","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":42,"character":21},"member":"OnPush"}}]}],"members":{"contentTemplateList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":46,"character":5},"arguments":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicTemplateDirective","line":46,"character":21}]}]}],"klass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":48,"character":5},"arguments":["class"]}]}],"context":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5}}]}],"hostClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5}}]}],"inputTemplateList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5},"arguments":["templates"]}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}}]}],"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":57,"character":5}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":5}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":5}}]}],"componentViewContainerRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":61,"character":5},"arguments":["componentViewContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":61,"character":48},"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DynamicBaseFormComponent"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":86,"character":44},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":87,"character":51},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormLayoutService","line":88,"character":40},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormValidationService","line":89,"character":44},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormComponentService","line":90,"character":43},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormRelationService","line":91,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getLabel":[{"__symbolic":"method"}],"createFormControlComponent":[{"__symbolic":"method"}],"getComponentType":[{"__symbolic":"method"}]}},"DynamicBaseFormGroupComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormGroupComponent","line":34,"character":51},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"selector":"dynamic-base-form-group","template":"","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":32,"character":21},"member":"OnPush"}}]}],"members":{"formLayout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":5}}]}],"layout":[{"__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}}]}],"templates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":5}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":5}}]}],"customEvent":[{"__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}}]}],"components":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":47,"character":5},"arguments":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormControlContainerComponent","line":47,"character":35}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormLayoutService","line":50,"character":41},{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormValidationService","line":51,"character":45}]}],"getClass":[{"__symbolic":"method"}],"getModelClass":[{"__symbolic":"method"}],"getAdditionalClass":[{"__symbolic":"method"}]}},"ɵa":[{"__symbolic":"reference","name":"DynamicBaseFormComponent"},{"__symbolic":"reference","name":"DynamicBaseFormArrayComponent"},{"__symbolic":"reference","name":"DynamicBaseFormControlContainerComponent"},{"__symbolic":"reference","name":"DynamicBaseFormGroupComponent"}],"ɵb":[{"__symbolic":"reference","name":"AsyncSubmitDirective"}],"ɵc":[],"NgxDynamicFormModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":48,"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":55,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":56,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":57,"character":8},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"NgxUtilsModule","line":58,"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":64,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":65,"character":8},{"__symbolic":"reference","module":"@stemy/ngx-utils","name":"NgxUtilsModule","line":66,"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":71,"character":18},"useValue":{"__symbolic":"reference","name":"validateJSON"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":72,"character":18},"useValue":{"__symbolic":"reference","name":"validateRequiredTranslation"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":73,"character":18},"useValue":{"__symbolic":"reference","name":"validateItemsMinLength"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":74,"character":18},"useValue":{"__symbolic":"reference","name":"validateItemsMaxLength"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":75,"character":18},"useValue":{"__symbolic":"reference","name":"validateItemsMinValue"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":76,"character":18},"useValue":{"__symbolic":"reference","name":"validateItemsMaxValue"},"multi":true},{"provide":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DYNAMIC_VALIDATORS","line":78,"character":21},"useValue":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"},"arguments":[[["json",{"__symbolic":"reference","name":"validateJSON"}],["requiredTranslation",{"__symbolic":"reference","name":"validateRequiredTranslation"}],["phone",{"__symbolic":"reference","name":"validatePhone"}],["itemsMinLength",{"__symbolic":"reference","name":"validateItemsMinLength"}],["itemsMaxLength",{"__symbolic":"reference","name":"validateItemsMaxLength"}],["itemsMinValue",{"__symbolic":"reference","name":"validateItemsMinValue"}],["itemsMaxValue",{"__symbolic":"reference","name":"validateItemsMaxValue"}]]]}}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"NgxDynamicFormModule"},"providers":[{"__symbolic":"reference","name":"DynamicFormService"},{"provide":{"__symbolic":"reference","module":"@ng-dynamic-forms/core","name":"DynamicFormService","line":99,"character":29},"useExisting":{"__symbolic":"reference","name":"DynamicFormService"}}]}}}}},"origins":{"IDynamicFormEvent":"./ngx-dynamic-form/common-types","IDynamicForm":"./ngx-dynamic-form/common-types","OnCreatedFormControl":"./ngx-dynamic-form/common-types","FormControlSerializer":"./ngx-dynamic-form/common-types","FormModelCustomizer":"./ngx-dynamic-form/common-types","DynamicFormState":"./ngx-dynamic-form/common-types","DynamicFormUpdateOn":"./ngx-dynamic-form/common-types","IFormControl":"./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","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","defineFormControl":"./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","validateItemsMinLength":"./ngx-dynamic-form/utils/validators","validateItemsMaxLength":"./ngx-dynamic-form/utils/validators","validateItemsMinValue":"./ngx-dynamic-form/utils/validators","validateItemsMaxValue":"./ngx-dynamic-form/utils/validators","DynamicFormArrayModelConfig":"./ngx-dynamic-form/utils/dynamic-form-array.model","DynamicFormArrayModel":"./ngx-dynamic-form/utils/dynamic-form-array.model","FormSelectSubject":"./ngx-dynamic-form/utils/form-select-subject","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","DynamicBaseFormArrayComponent":"./ngx-dynamic-form/components/base/dynamic-base-form-array.component","DynamicBaseFormControlContainerComponent":"./ngx-dynamic-form/components/base/dynamic-base-form-control-container.component","DynamicBaseFormGroupComponent":"./ngx-dynamic-form/components/base/dynamic-base-form-group.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"},"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":52,"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":234,"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":500,"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":783,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormInput":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":789,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormSelect":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":806,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormStatic":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":812,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormModel":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":818,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormFile":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":824,"character":11,"module":"./ngx-dynamic-form/common-types"}},"FormFieldSet":{"__symbolic":"function","parameters":["data"],"value":{"__symbolic":"error","message":"Lambda not supported","line":830,"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":875,"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":879,"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":883,"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}}]}],"testId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5}}]}],"updateOn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":5}}]}],"classes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}],"parent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5}}]}],"wrapperTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"fieldSetTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"controlTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5}}]}],"controlTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5}}]}],"labelTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"inputTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"prefixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"suffixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"setPrefixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"setSuffixTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":5}}]}],"onStatusChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":5}}]}],"onInit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":5}}]}],"onSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":5}}]}],"prefixTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":36,"character":5},"arguments":["prefixTemplate"]}]}],"suffixTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":39,"character":5},"arguments":["suffixTemplate"]}]}],"templates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":54,"character":5},"arguments":[{"__symbolic":"reference","name":"DynamicFormTemplateDirective"}]}]}],"cWrapperTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":57,"character":5},"arguments":["wrapperTemplate"]}]}],"cFieldSetTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":60,"character":5},"arguments":["fieldSetTemplate"]}]}],"cControlTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":63,"character":5},"arguments":["controlTemplate"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":66,"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 [testId]=\"testId + '-' + (config.testId || 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 [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 [testId]=\"testId + '-' + (config.testId || 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\"\r\n multiple=\"multiple\"\r\n [attr.data-testid]=\"testId\"\r\n [attr.accept]=\"data.accept\"\r\n (change)=\"onSelect($event.target)\" />\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 [attr.data-testid]=\"testId\"\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 [attr.data-testid]=\"testId\"\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 [attr.data-testid]=\"testId\"\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 [attr.data-testid]=\"testId\"\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 [attr.data-testid]=\"testId\"\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 [attr.data-testid]=\"testId\"\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 [attr.data-testid]=\"testId\"\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 [attr.data-testid]=\"testId + '-' + option.id\"\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 [attr.data-testid]=\"testId + '-' + option.id\"\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 [testId]=\"form.testId + '-' + control.id\"\r\n [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"}