{"__symbolic":"module","version":4,"metadata":{"FormTypes":{"INPUT":0,"TEXTAREA":1,"CHEKBOX":2,"SELECT":3,"DATE":4,"RADIO":5,"NUMBER_PICKER":6},"FormDeco":{"__symbolic":"function"},"SectionForm":{"__symbolic":"function","parameters":["sct"],"value":{"__symbolic":"error","message":"Lambda not supported","line":22,"character":11,"module":"./lib/formModel/decoratorForm"}},"DxDynamicFormComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"dx-dynamic-form","template":"\r\n<div id=\"form-container\" > \r\n  <dx-form id=\"form\" [colCount]=\"colNumber\" [width]=\"width\" validationGroup=\"formGroup\" >\r\n    <dxi-item *ngFor=\"let section of datas\" itemType=\"group\" caption=\"{{section.section}}\" >\r\n      <ng-container *ngFor=\"let field of section.sectionElements\" >\r\n\r\n        <dxi-item *ngIf=\"field.type==Types.INPUT\" [dataField]=\"field.label\">\r\n          <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n          <dx-text-box\r\n            [(value)]=\"field.defaultValue\"\r\n            [disabled]=\"field.disabled\"\r\n          >\r\n          <dx-validator validationGroup=\"formGroup\">\r\n            <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n            <dxi-validation-rule *ngIf=\"field.patternExpr\" type=\"pattern\" [pattern]=\"field.patternExpr\" [message]=\"field.patternErroString\" ></dxi-validation-rule>\r\n            <dxi-validation-rule *ngIf=\"field.lengthString\" type=\"stringLength\"\r\n              [min]=\"field.min !== null ? field.min : undefined\"\r\n              [max]=\"field.max !== null ? field.max : undefined\"\r\n              [message]=\"field.lengthErrorString\"\r\n            ></dxi-validation-rule>\r\n            <dxi-validation-rule *ngIf=\"field.isEmail\" type=\"email\" [message]=\"field.isEmailErrorString\" ></dxi-validation-rule>\r\n          </dx-validator>\r\n          </dx-text-box>\r\n        </dxi-item>\r\n\r\n        <dxi-item *ngIf=\"field.type==Types.TEXTAREA\" [dataField]=\"field.label\" >\r\n          <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n          <dx-text-area\r\n            [(value)]=\"field.defaultValue\"\r\n            [disabled]=\"field.disabled\"\r\n          >\r\n          <dx-validator validationGroup=\"formGroup\" >\r\n            <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n            <dxi-validation-rule *ngIf=\"field.patternExpr\" type=\"pattern\" [pattern]=\"field.patternExpr\" [message]=\"field.patternErroString\" ></dxi-validation-rule>\r\n            <dxi-validation-rule *ngIf=\"field.lengthString\" type=\"stringLength\"\r\n              [min]=\"field.min !== null ? field.min : undefined\"\r\n              [max]=\"field.max !== null ? field.max : undefined\"\r\n              [message]=\"field.lengthErrorString\"\r\n            ></dxi-validation-rule>\r\n            <dxi-validation-rule *ngIf=\"field.isEmail\" type=\"email\" [message]=\"field.isEmailErrorString\" ></dxi-validation-rule>\r\n          </dx-validator>\r\n          </dx-text-area>\r\n        </dxi-item>\r\n        \r\n        <dxi-item *ngIf=\"field.type==Types.DATE\" [dataField]=\"field.label\" >\r\n            <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n          <dx-date-box\r\n            invalidDateMessage=\"The date must have the following format: MM/dd/yyyy\"\r\n            [(value)]=\"field.defaultValue\"\r\n            [width]=\"200\"\r\n            [disabled]=\"field.disabled\"\r\n          >\r\n          <dx-validator validationGroup=\"formGroup\" >\r\n            <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n          </dx-validator>\r\n          </dx-date-box>\r\n        </dxi-item>\r\n\r\n        <dxi-item *ngIf=\"field.type==Types.NUMBER_PICKER\" [dataField]=\"field.label\" >\r\n          <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n          <dx-number-box\r\n            [(value)]=\"field.defaultValue\"\r\n            [disabled]=\"field.disabled\"\r\n            [showSpinButtons]=\"true\"\r\n            [showClearButton]=\"true\"\r\n            [min]=\"field.min !== null ? field.min : undefined\"\r\n            [max]=\"field.max !== null ? field.max : undefined\"\r\n            [step]=\"field.step ? field.step : 1\"\r\n          >\r\n          <dx-validator validationGroup=\"formGroup\" >\r\n              <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n            </dx-validator>\r\n          </dx-number-box>\r\n        </dxi-item>\r\n\r\n        <dxi-item *ngIf=\"field.type==Types.SELECT && field.multiple==false\" [dataField]=\"field.label\" >\r\n            <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n            <dx-select-box\r\n            [(dataSource)]=\"field.customData == undefined? field.datas : field.customData\"\r\n            [displayExpr] = \"field.customData == undefined? 'text' : field.valueTextUrl.textKey\"\r\n            [valueExpr]=\"field.customData == undefined? 'value' : field.valueTextUrl.valueKey\"\r\n            [searchEnabled]=\"true\"\r\n            [(value)] = \"field.selected\"\r\n            width =  \"100%\"\r\n            [disabled]=\"field.disabled\"\r\n            >\r\n            <dx-validator validationGroup=\"formGroup\" >\r\n                <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n              </dx-validator>\r\n            </dx-select-box>\r\n        </dxi-item>\r\n        <dxi-item *ngIf=\"field.type==Types.SELECT && field.multiple==true\" [dataField]=\"field.label\" >\r\n          <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n          <dx-tag-box\r\n          [(dataSource)]=\"field.customData == undefined? field.datas : field.customData\"\r\n          [displayExpr] = \"field.customData == undefined? 'text' : field.valueTextUrl.textKey\"\r\n          [valueExpr]=\"field.customData == undefined? 'value' : field.valueTextUrl.valueKey\"\r\n          [searchEnabled]=\"true\"\r\n          [disabled]=\"field.disabled\"\r\n          [(value)]=\"field.defaultValue\"\r\n          >\r\n          <dx-validator validationGroup=\"formGroup\" >\r\n              <dxi-validation-rule *ngIf=\"field.required==true\" type=\"required\" message=\"please fill this field\"></dxi-validation-rule>\r\n            </dx-validator>\r\n          </dx-tag-box>\r\n        </dxi-item>\r\n\r\n        <dxi-item *ngIf=\"field.type==Types.RADIO\" class=\"dx-field\" >\r\n          <div class=\"dx-field-label\">{{field.label}}:</div>\r\n          <div class=\"dx-field-value\" >\r\n            <dx-radio-group\r\n              [(dataSource)]=\"field.datas\"\r\n              displayExpr = \"text\"\r\n              valueExpr=\"value\"\r\n              [(value)] = \"field.selected\"\r\n              layout=\"horizontal\"\r\n              [disabled]=\"field.disabled\"\r\n            >\r\n          </dx-radio-group>\r\n          </div>\r\n        </dxi-item>\r\n\r\n        <dxi-item #item *ngIf=\"field.type==Types.CHEKBOX\" [dataField]=\"field.label\" >\r\n          <ng-container *ngFor=\"let checkElement of field.datas\" >\r\n            <dx-check-box \r\n            [text]=checkElement.text \r\n            [(value)]=\"checkElement.selected\" \r\n            style=\"margin-right: 10px;\"\r\n            [disabled]=\"field.disabled\"\r\n            ></dx-check-box>\r\n          </ng-container>\r\n        </dxi-item>\r\n        \r\n      </ng-container>\r\n    </dxi-item>\r\n  </dx-form>\r\n</div>\r\n","styles":["::ng-deep #form-container{margin:10px}::ng-deep .long-title h3{font-family:'Segoe UI Light','Helvetica Neue Light','Segoe UI','Helvetica Neue','Trebuchet MS',Verdana;font-weight:200;font-size:28px;text-align:center;margin-bottom:20px}.actions{margin-top:20px;display:flex;flex-direction:row}"]}]}],"members":{"myform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":13,"character":3},"arguments":[{"__symbolic":"reference","module":"devextreme-angular","name":"DxFormComponent","line":13,"character":13}]}]}],"nameCls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"handlerInstantition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"colNumber":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"setDataToTable":[{"__symbolic":"method"}],"setAsynDatas":[{"__symbolic":"method"}],"getAttributeList":[{"__symbolic":"method"}],"generateDataToSend":[{"__symbolic":"method"}]}},"DxDynamicFormrmModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"DxDynamicFormComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":10,"character":18},{"__symbolic":"reference","module":"devextreme-angular","name":"DxCheckBoxModule","line":10,"character":35},{"__symbolic":"reference","module":"devextreme-angular","name":"DxFormModule","line":10,"character":52},{"__symbolic":"reference","module":"devextreme-angular","name":"DxSelectBoxModule","line":10,"character":65},{"__symbolic":"reference","module":"devextreme-angular","name":"DxTextAreaModule","line":11,"character":6},{"__symbolic":"reference","module":"devextreme-angular","name":"DxRadioGroupModule","line":11,"character":23},{"__symbolic":"reference","module":"devextreme-angular","name":"DxTextBoxModule","line":11,"character":42},{"__symbolic":"reference","module":"devextreme-angular","name":"DxDateBoxModule","line":11,"character":58},{"__symbolic":"reference","module":"devextreme-angular","name":"DxTagBoxModule","line":11,"character":74},{"__symbolic":"reference","module":"devextreme-angular","name":"DxValidatorModule","line":11,"character":89},{"__symbolic":"reference","module":"devextreme-angular","name":"DxValidationGroupModule","line":11,"character":107},{"__symbolic":"reference","module":"devextreme-angular","name":"DxNumberBoxModule","line":12,"character":6}],"providers":[{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","name":"DxDynamicFormComponent"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":8,"character":29}]}],"getItems":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"FormTypes":"./lib/formModel/formType","FormDeco":"./lib/formModel/decoratorForm","SectionForm":"./lib/formModel/decoratorForm","DxDynamicFormComponent":"./lib/libform.component","DxDynamicFormrmModule":"./lib/libform.module","ɵa":"./lib/libform.service"},"importAs":"devextreme-dynamic-form"}