UNPKG

53.1 kBJavaScriptView Raw
1!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/forms"),require("@angular/core"),require("rxjs"),require("@ngrx/store"),require("@soushians/config"),require("@angular/common/http"),require("rxjs/BehaviorSubject"),require("rxjs/operators"),require("@soushians/shared"),require("@angular/material"),require("@angular/cdk/collections"),require("@angular/router"),require("rxjs/add/operator/map"),require("rxjs/add/operator/mergeMap"),require("rxjs/add/operator/switchMap"),require("@ngrx/effects"),require("rxjs/observable/of"),require("@angular/common"),require("@angular/flex-layout")):"function"==typeof define&&define.amd?define("@soushians/form",["exports","@angular/forms","@angular/core","rxjs","@ngrx/store","@soushians/config","@angular/common/http","rxjs/BehaviorSubject","rxjs/operators","@soushians/shared","@angular/material","@angular/cdk/collections","@angular/router","rxjs/add/operator/map","rxjs/add/operator/mergeMap","rxjs/add/operator/switchMap","@ngrx/effects","rxjs/observable/of","@angular/common","@angular/flex-layout"],e):e((t.soushians=t.soushians||{},t.soushians.form={}),t.ng.forms,t.ng.core,t.rxjs,null,null,t.ng.common.http,t.rxjs.BehaviorSubject,t.rxjs.operators,null,t.ng.material,t.ng.cdk.collections,t.ng.router,t.rxjs["add/operator/map"],t.rxjs["add/operator/mergeMap"],t.rxjs["add/operator/switchMap"],null,t.rxjs["observable/of"],t.ng.common,t.ng["flex-layout"])}(this,function(a,s,i,c,e,o,n,m,p,r,u,l,d,t,f,h,g,y,v,b){"use strict";!function(t){var e=function(){function t(e){void 0===e&&(e={});var n=this;Object.keys(e).forEach(function(t){return n[t]=e[t]})}return t.prototype.getRequestBody=function(){return{name:this.name,form:this.form,events:this.events}},Object.defineProperty(t,"formGroup",{get:function(){return new s.FormGroup({_id:new s.FormControl("",[s.Validators.required]),name:new s.FormControl("",[s.Validators.required]),title:new s.FormControl("",[s.Validators.required]),form:new s.FormControl({}),events:new s.FormGroup({accept:new s.FormGroup({show:new s.FormControl(!1),text:new s.FormControl("ثبت")}),cancel:new s.FormGroup({show:new s.FormControl(!1),text:new s.FormControl("انصراف")})})})},enumerable:!0,configurable:!0}),t}();t.Request=e;var n=function(){};t.Response=n}(a.AddFormApiModel||(a.AddFormApiModel={})),function(t){var e=function(){function t(e){void 0===e&&(e={});var n=this;Object.keys(e).forEach(function(t){return n[t]=e[t]})}return t.prototype.getRequestBody=function(){return{_id:this._id,name:this.name,form:this.form,events:this.events}},Object.defineProperty(t,"formGroup",{get:function(){return new s.FormGroup({_id:new s.FormControl("",[s.Validators.required]),name:new s.FormControl("",[s.Validators.required]),form:new s.FormControl({}),events:new s.FormGroup({accept:new s.FormGroup({show:new s.FormControl(!1),text:new s.FormControl("ثبت")}),cancel:new s.FormGroup({show:new s.FormControl(!1),text:new s.FormControl("انصراف")})})})},enumerable:!0,configurable:!0}),t}();t.Request=e;var n=function(){};t.Response=n}(a.EditFormApiModel||(a.EditFormApiModel={})),function(t){var e=function(){function t(e){void 0===e&&(e={});var n=this;Object.keys(e).forEach(function(t){return n[t]=e[t]})}return t.prototype.getRequestBody=function(){return{Name:this.Name,Controls:this.Controls}},Object.defineProperty(t,"formGroup",{get:function(){return new s.FormGroup({Name:new s.FormControl("",[s.Validators.required]),Controls:new s.FormGroup({})})},enumerable:!0,configurable:!0}),t}();t.Request=e;var n=function(){};t.Response=n}(a.FormListApiModel||(a.FormListApiModel={}));var x,w=function(){this.required={active:!1,message:"این فیلد الزامی است"},this.minlength={active:!1,message:"حداقل تعداد کارکترها",value:5},this.email={active:!1,message:"لطفا ایمیل صحیح وارد نمایید"}},F=function(t){"control"!=(this.type=t)&&(this.fields=[]),this.width=3,this.validator=new w},C=function(){function t(){this.events={accept:{show:!1,text:"ثبت"},cancel:{show:!1,text:"انصراف"}},this.form=new F("group")}return t.prototype.init=function(){this._id=(10*Math.random()).toString()},t}(),I={env:{production:!1,frontend_server:"frontend/server/did/not/set",server:"server/did/not/set"},endpoints:{addForm:"",editForm:"",getForm:"",getList:"",deleteForm:"",captchaUrl:""}},M=new i.InjectionToken("FormModuleConfig"),G=function(){function t(t,e){var n=this;this.store=e,this.config$=new c.BehaviorSubject(I),this._config=Object.assign({},I,t),this.config$.next(this._config),this.store.select(o.getFormModuleConfig).subscribe(function(t){t&&(n._config=Object.assign({},n._config,t.Config),n.config$.next(n._config))})}return Object.defineProperty(t.prototype,"config",{get:function(){return this._config},enumerable:!0,configurable:!0}),t.decorators=[{type:i.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:undefined,decorators:[{type:i.Inject,args:[M]}]},{type:e.Store}]},t.ngInjectableDef=i.defineInjectable({factory:function(){return new t(i.inject(M),i.inject(e.Store))},token:t,providedIn:"root"}),t}(),S=function(){function t(t,e,n){this.http=t,this.store=e,this.configurationService=n}return t.prototype.add=function(t){var e=this,n=new a.AddFormApiModel.Request(t);return this.configurationService.config$.filter(function(t){return""!=t.endpoints.addForm}).take(1).switchMap(function(t){return e.http.post(t.env.frontend_server+t.endpoints.addForm,n.getRequestBody())}).map(function(t){return t.Result})},t.prototype.get=function(e){var n=this;return this.configurationService.config$.filter(function(t){return""!=t.endpoints.getForm}).take(1).switchMap(function(t){return n.http.get(r.stringTemplate(t.env.frontend_server+t.endpoints.getForm,{_id:e}))}).map(function(t){return t.Result})},t.prototype.getList=function(){var e=this;return this.configurationService.config$.filter(function(t){return""!=t.endpoints.getList}).switchMap(function(t){return e.http.get(t.env.frontend_server+t.endpoints.getList)}).map(function(t){return t.Result})},t.prototype.update=function(t){var e=this,n=new a.EditFormApiModel.Request(t);return this.configurationService.config$.filter(function(t){return""!=t.endpoints.editForm}).take(1).switchMap(function(t){return e.http.put(t.env.frontend_server+t.endpoints.editForm,n.getRequestBody())}).map(function(t){return t.Result})},t.prototype["delete"]=function(t){var e=this;return this.configurationService.config$.filter(function(t){return""!=t.endpoints.deleteForm}).switchMap(function(t){return e.http.get(t.env.frontend_server+t.endpoints.deleteForm)})},t.prototype.selectFormById=function(e){var n=new m.BehaviorSubject(undefined);return this.store.select(function(t){return t.form.list.data}).pipe(p.filter(function(t){return null!=t}),p.map(function(t){return t.find(function(t){return t._id==e})})).subscribe(function(t){return n.next(t)}),n.asObservable()},t.decorators=[{type:i.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:n.HttpClient},{type:e.Store},{type:G}]},t.ngInjectableDef=i.defineInjectable({factory:function(){return new t(i.inject(n.HttpClient),i.inject(e.Store),i.inject(G))},token:t,providedIn:"root"}),t}(),k=function(){function t(){}return t.decorators=[{type:i.Component,args:[{selector:"ngs-form-control-select",template:'<div [formGroup]="group">\n<mat-form-field>\n <mat-select [formControlName]="config.name" [placeholder]="config.title">\n <mat-option *ngFor="let option of config.options" [value]="option.value">{{option.key}}</mat-option>\n </mat-select>\n</mat-form-field>\n</div>',styles:[":host{display:block}.mat-form-field{width:100%}"]}]}],t.ctorParameters=function(){return[]},t}(),_=function(){function t(){}return t.decorators=[{type:i.Component,args:[{selector:"ngs-form-control-checkbox",template:'<div [formGroup]="group">\n <mat-checkbox [formControlName]="config.name">\n {{config.title}}\n </mat-checkbox>\n</div>',styles:[":host{display:block}.mat-form-field{width:100%}"]}]}],t.ctorParameters=function(){return[]},t}(),A=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:i.Component,args:[{selector:"ngs-form-control-email",template:'<div [formGroup]="group">\n<mat-form-field fxFlexFill>\n <input matInput [type]="config.inputType" [placeholder]="config.title" [formControlName]="config.name">\n</mat-form-field>\n</div>',styles:[":host{display:block}.mat-form-field{width:100%}"]}]}],t.ctorParameters=function(){return[]},t}(),O=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:i.Component,args:[{selector:"ngs-form-control-color",template:'<div [formGroup]="form">\n<mat-form-field fxFlexFill>\n <input matInput [type]="schema.inputType" [placeholder]="schema.title" [formControlName]="schema.name">\n</mat-form-field>\n</div>',styles:[":host{display:block}.mat-form-field{width:100%}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={form:[{type:i.Input}],schema:[{type:i.Input}]},t}(),T=function(){function t(t){this.http=t,this.selection=new l.SelectionModel(!0,[]),this.ready=!1}return t.prototype.ngOnInit=function(){var e=this;this.http.get(this.schema.dataEndpoint).subscribe(function(t){e.ready=!0,e.displayedColumns=t.displayedColumns,e.filedDisplayedColumns=t.filedDisplayedColumns,e.dataSource=new u.MatTableDataSource(t.dataSource)})},t.prototype.isAllSelected=function(){var t,e=this.selection.selected.length;return this.form.patchValue(((t={})[this.schema.name]=this.selection.selected,t)),e===this.dataSource.data.length},t.prototype.masterToggle=function(){var e=this;this.isAllSelected()?this.selection.clear():this.dataSource.data.forEach(function(t){return e.selection.select(t)})},t.decorators=[{type:i.Component,args:[{selector:"ngs-form-control-table",template:'<div class="example-container mat-elevation-z8" *ngIf="ready">\n <mat-table #table [dataSource]="dataSource">\n \n <ng-container matColumnDef="select">\n <mat-header-cell *matHeaderCellDef>\n <mat-checkbox (change)="$event ? masterToggle() : null"\n [checked]="selection.hasValue() && isAllSelected()"\n [indeterminate]="selection.hasValue() && !isAllSelected()">\n </mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef="let row">\n <mat-checkbox (click)="$event.stopPropagation()"\n (change)="$event ? selection.toggle(row) : null"\n [checked]="selection.isSelected(row)">\n </mat-checkbox>\n </mat-cell>\n </ng-container>\n\n <div *ngFor="let col of filedDisplayedColumns">\n <ng-container [matColumnDef]="col">\n <mat-header-cell *matHeaderCellDef> {{col}} </mat-header-cell>\n <mat-cell *matCellDef="let element"> {{element[col]}} </mat-cell>\n </ng-container>\n </div>\n \n <ng-container matColumnDef="actions">\n <mat-header-cell *matHeaderCellDef></mat-header-cell>\n <mat-cell class=\'left-align\' *matCellDef="let row">\n <button mat-icon-button>\n <mat-icon aria-label="انتخاب">arrow_back</mat-icon>\n </button>\n </mat-cell>\n </ng-container>\n \n <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>\n <mat-row *matRowDef="let row; columns: displayedColumns;" (click)="selection.toggle(row)"></mat-row>\n\n </mat-table>\n </div>\n\n\n\x3c!-- <mat-form-field fxFlexFill [formGroup]="form">\n \n <input matInput [id]="schema.name" [type]="schema.inputType" [placeholder]="schema.title" [formControlName]="schema.name">\n \n <mat-error *ngIf="form.get(schema.name).errors?.required">\n {{schema.validator.required.message}}\n </mat-error>\n <mat-error *ngIf="form.get(schema.name).errors?.minlength">\n {{schema.validator.minlength.message}}\n </mat-error>\n <mat-error *ngIf="form.get(schema.name).email?.minlength">\n {{schema.validator.email.message}}\n </mat-error>\n</mat-form-field> --\x3e\n \n \x3c!-- <div *ngIf="form.get(schema.name).invalid && (form.get(schema.name).dirty || form.get(schema.name).touched)" class="alert alert-danger">\n </div> --\x3e',styles:[":host{display:block}.mat-form-field{width:100%}"]}]}],t.ctorParameters=function(){return[{type:n.HttpClient}]},t.propDecorators={form:[{type:i.Input}],schema:[{type:i.Input}]},t}(),E=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:i.Component,args:[{selector:"ngs-form-control-number",template:'<div [formGroup]="form">\n <mat-form-field fxFlexFill>\n <input matInput [type]="schema.inputType" [placeholder]="schema.title" [formControlName]="schema.name">\n </mat-form-field>\n</div>',styles:[":host{display:block}.mat-form-field{width:100%}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={form:[{type:i.Input}],schema:[{type:i.Input}]},t}(),j=function(){function t(){}return t.decorators=[{type:i.Component,args:[{selector:"ngs-form-control-text",template:'<mat-form-field fxFlexFill [formGroup]="group">\n\n <input matInput [id]="config.name" [type]="config.inputType" [placeholder]="config.title" [formControlName]="config.name">\n\n <mat-error *ngIf="group.get(config.name).errors?.required">\n {{config.validator.required.message}}\n </mat-error>\n <mat-error *ngIf="group.get(config.name).errors?.minlength">\n {{config.validator.minlength.message}}\n </mat-error>\n \x3c!-- <mat-error *ngIf="group.get(config.name).email?.minlength">\n {{config.validator.email.message}}\n </mat-error> --\x3e\n\n \x3c!-- <div *ngIf="form.get(config.name).invalid && (form.get(config.name).dirty || form.get(config.name).touched)" class="alert alert-danger">\n </div> --\x3e\n\n</mat-form-field>',styles:[":host{display:block}.mat-form-field{width:100%}"]}]}],t.ctorParameters=function(){return[]},t}(),R="[FORM][LIST] FORMS_LIST",$="[FORM][LIST] FORMS_LIST_START",D="[FORM][LIST] FORMS_LIST_SUCCEED",L="[FORM][LIST] FORMS_LIST_FAILED",q="[FORM][LIST] ADD_FORM_SCHEMA",P="[FORM][LIST] FORM_SCHEMA_UPDATE",N="[FORM][LIST] GET_FORM_SCHEMA",H="[FORM][LIST] FORM_SCHEMA_FETCHED",V=function(){this.type=R},B=function(){this.type=$},U=function(t){this.payload=t,this.type=D},z=function(){this.type=L},J=function(t){this.payload=t,this.type=P},K=function(t){this.payload=t,this.type=q},Q=function(t){this.payload=t,this.type=N},W=function(t){this.payload=t,this.type=H},X=function(){function t(){}return t.decorators=[{type:i.Component,args:[{selector:"ngs-form-control-date",template:'<mat-form-field fxFlexFill [formGroup]="group">\n\n \x3c!-- <input matInput [id]="config.name" [type]="config.inputType" [placeholder]="config.title" [formControlName]="config.name"> --\x3e\n <input matInput [id]="config.name" [matDatepicker]="_datepicker" [placeholder]="config.title" [formControlName]="config.name">\n <mat-datepicker-toggle matSuffix [for]="_datepicker"></mat-datepicker-toggle>\n <mat-datepicker #_datepicker></mat-datepicker>\n\n <mat-error *ngIf="group.get(config.name).errors?.required">\n {{config.validator.required.message}}\n </mat-error>\n <mat-error *ngIf="group.get(config.name).errors?.minlength">\n {{config.validator.minlength.message}}\n </mat-error>\n \x3c!-- <mat-error *ngIf="group.get(config.name).email?.minlength">\n {{config.validator.email.message}}\n </mat-error> --\x3e\n\n \x3c!-- <div *ngIf="form.get(config.name).invalid && (form.get(config.name).dirty || form.get(config.name).touched)" class="alert alert-danger">\n </div> --\x3e\n\n</mat-form-field>\n\n\x3c!-- \n\n<div [formGroup]="formGroup">\n <div class="field-wrapper">\n <div [@filedAnimation]="mode">\n <mat-form-field class="fit" [(ngClass)]="mode">\n <input matInput [matDatepicker]="_datepicker" [placeholder]="placeholder" [formControlName]="controlName">\n <mat-datepicker-toggle matSuffix [for]="_datepicker"></mat-datepicker-toggle>\n <mat-datepicker #_datepicker></mat-datepicker>\n \n <mat-icon class="tooltip md-18" *ngIf="tooltip" [matTooltip]="tooltip">help</mat-icon>\n </mat-form-field>\n <div class="value-box"> \n <span class="name">\n {{ placeholder }} :\n </span>\n <span class="value">\n {{(DisplayValue$ | async | persianDate)}} \n </span>\n </div>\n </div>\n </div>\n</div> --\x3e',styles:[":host{display:block}.mat-form-field{width:100%}"]}]}],t.ctorParameters=function(){return[]},t}(),Y=function(){function t(){}return t.decorators=[{type:i.Component,args:[{selector:"ngs-form-control-file",template:'<div fxFlexFill [formGroup]="group">\n\n \x3c!-- <input matInput [id]="config.name" [type]="config.inputType" [placeholder]="config.title" [formControlName]="config.name"> --\x3e\n <input [id]="config.name" [type]="config.inputType" [placeholder]="config.title" [formControlName]="config.name">\n\n <mat-error *ngIf="group.get(config.name).errors?.required">\n {{config.validator.required.message}}\n </mat-error>\n <mat-error *ngIf="group.get(config.name).errors?.minlength">\n {{config.validator.minlength.message}}\n </mat-error>\n \x3c!-- <mat-error *ngIf="group.get(config.name).email?.minlength">\n {{config.validator.email.message}}\n </mat-error> --\x3e\n\n \x3c!-- <div *ngIf="form.get(config.name).invalid && (form.get(config.name).dirty || form.get(config.name).touched)" class="alert alert-danger">\n </div> --\x3e\n\n</div>\n\n\x3c!-- \n\n<div [formGroup]="formGroup">\n <div class="field-wrapper">\n <div [@filedAnimation]="mode">\n <mat-form-field class="fit" [(ngClass)]="mode">\n <input matInput [matDatepicker]="_datepicker" [placeholder]="placeholder" [formControlName]="controlName">\n <mat-datepicker-toggle matSuffix [for]="_datepicker"></mat-datepicker-toggle>\n <mat-datepicker #_datepicker></mat-datepicker>\n \n <mat-icon class="tooltip md-18" *ngIf="tooltip" [matTooltip]="tooltip">help</mat-icon>\n </mat-form-field>\n <div class="value-box"> \n <span class="name">\n {{ placeholder }} :\n </span>\n <span class="value">\n {{(DisplayValue$ | async | persianDate)}} \n </span>\n </div>\n </div>\n </div>\n</div> --\x3e',styles:[":host{display:block}.mat-form-field{width:100%}"]}]}],t.ctorParameters=function(){return[]},t}(),Z=function(){function t(t,e,n){this.http=t,this.store=e,this.configurationService=n}return t.prototype.getCaptcha=function(){var e=this;return this.configurationService.config$.pipe(p.filter(function(t){return""!=t.endpoints.captchaUrl}),p.take(1),p.switchMap(function(t){return e.http.get(t.env.server+t.endpoints.captchaUrl)}),p.map(function(t){return t.Result}))},t.prototype.sendCaptcha=function(){var e=this;return this.configurationService.config$.pipe(p.filter(function(t){return""!=t.endpoints.getList}),p.switchMap(function(t){return e.http.get(t.env.server+t.endpoints.getList)}),p.map(function(t){return t.Result}))},t.decorators=[{type:i.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:n.HttpClient},{type:e.Store},{type:G}]},t.ngInjectableDef=i.defineInjectable({factory:function(){return new t(i.inject(n.HttpClient),i.inject(e.Store),i.inject(G))},token:t,providedIn:"root"}),t}(),tt=function(t){var e=void 0===t?{}:t,n=e.captchaImg,o=e.captchaCode;this.captchaImg=n+"?"+Math.random(),this.captchaCode=o||""};!function(t){var e=function(){function t(e){void 0===e&&(e={});var n=this;Object.keys(e).forEach(function(t){return n[t]=e[t]})}return t.prototype.getRequestBody=function(){return this.Captcha.captchaCode},t}();t.Request=e;var n=function(){};t.Response=n}(x||(x={}));var et=function(){function t(t,e,n){this.service=t,this.store=e,this.configurationService=n,this._captcha_generate()}return t.prototype.ngOnInit=function(){},t.prototype.refresh=function(){this.captcha.captchaImg=this._captcha_generate()+"?"+Math.random()},t.prototype._captcha_generate=function(){var e=this;this.configurationService.config$.pipe(p.map(function(t){return t.env.server+t.endpoints.captchaUrl})).subscribe(function(t){e.captcha=new tt({captchaImg:t})})},t.decorators=[{type:i.Component,args:[{selector:"lib-form-captcha",template:'<div fxLayout="row wrap" fxLayoutAlign="start center">\n <img [src]="captcha.captchaImg" />\n\n <button mat-icon-button color="primary" (click)="refresh()">\n <mat-icon>refresh</mat-icon>\n </button>\n\n <div [formGroup]="group">\n <mat-form-field fxFlex>\n <input matInput [id]="config.name" [placeholder]="config.title" [formControlName]="config.name" />\n </mat-form-field>\n </div>\n</div>',styles:["img{border:1px solid #e4e4e4}"]}]}],t.ctorParameters=function(){return[{type:Z},{type:e.Store},{type:G}]},t}(),nt=function(){function t(t,e,n,o){var r=this;this.service=t,this.compiler=e,this.resolver=n,this.store=o,this.unsubscribe=new c.Subject,this.accept=new i.EventEmitter,this.cancel=new i.EventEmitter,this.card=!1,this.formGroupCreated=!1,this.schema$=new m.BehaviorSubject(undefined),this.schema$.pipe(p.takeUntil(this.unsubscribe)).subscribe(function(t){t&&(r.formGroup=r.createFrom(t.form),t.form.name&&(r.formGroupCreated=!0))})}return Object.defineProperty(t.prototype,"id",{set:function(t){var e=this;this.local||this.store.dispatch(new Q(t)),this.service.selectFormById(t).pipe(p.takeUntil(this.unsubscribe)).subscribe(function(t){return e.schema$.next(t)})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"schema",{set:function(t){this.schema$.next(t)},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this.unsubscribe.next(),this.unsubscribe.complete()},t.prototype.generate=function(t){this.schema$.next(t)},t.prototype.createFrom=function(t,n){var o=this;if(void 0===n&&(n=""),"control"==t.type){var e=void 0;"array"==t.parentType||"group"==t.parentType&&(n=(e=n)+".controls."+t.name);var r=[];t.validator.required&&t.validator.required.active&&r.push(s.Validators.required),t.validator.minlength&&t.validator.minlength.active&&r.push(s.Validators.minLength(t.validator.minlength.value)),t.validator.email&&t.validator.email.active&&r.push(s.Validators.email);var a=new s.FormControl(t.value,r);return a.schema=t,a.schema.path=n,a.schema.formGroupPath=e,a}if("group"==t.type){var i=new s.FormGroup({});return t.parentType==undefined?n=t.name:"array"==t.parentType?n=n+".controls["+t.name+"]":"group"==t.parentType&&(n=n+".controls."+t.name),i.schema=t,i.schema.path=n,t.fields.forEach(function(t){t.parentType="group",i.addControl(t.name,o.createFrom(t,n))}),i}var c=new s.FormArray([]);return n=""==n?t.name:n+".controls."+t.name,c.schema=t,c.schema.path=n,t.fields.forEach(function(t,e){t.parentType="array",t.name=e.toString(),c.controls.push(o.createFrom(t,n))}),c},t.prototype.accepted=function(){this.accept.emit(this.formGroup)},t.prototype.canceled=function(){this.cancel.emit(this.formGroup)},t.decorators=[{type:i.Component,args:[{selector:"ngs-form-view",template:'<div fxFlex="nogrow" fxLayoutAlign="center center" class="main-container">\n <form *ngIf="formGroupCreated && card" class="ngs-dynamic-form" [formGroup]="formGroup" (ngSubmit)="accepted()">\n <mat-card>\n <mat-card-title>\n {{(schema$ | async)?.name}}\n </mat-card-title>\n <mat-card-content fxLayout="row wrap" fxLayoutGap="25px">\n <div *ngFor="let field of (schema$ | async)?.form.fields;" [fxFlex]="field.width * 10">\n <ng-container *ngIf="field && field.inputType" dynamicField [config]="field" [group]="formGroup"></ng-container>\n </div>\n </mat-card-content>\n <mat-card-actions align="end">\n <button type="button" *ngIf="(schema$ | async)?.events.cancel.show" (click)="cancel.emit()" mat-button color="primary">{{(schema$\n | async)?.events.cancel.text}}</button>\n <button type="submit" *ngIf="(schema$ | async)?.events.accept.show" mat-raised-button color="primary">{{(schema$\n | async)?.events.accept.text}}</button>\n </mat-card-actions>\n </mat-card>\n </form>\n <form *ngIf="formGroupCreated && !card" class="ngs-dynamic-form" [formGroup]="formGroup" (ngSubmit)="accepted()">\n <div>\n <h3>\n {{(schema$ | async)?.name}}\n </h3>\n <div fxLayout="row wrap" fxLayoutGap="5px">\n <div *ngFor="let field of (schema$ | async)?.form.fields;" [fxFlex]="field.width * 10">\n <ng-container dynamicField [config]="field" [group]="formGroup"></ng-container>\n </div>\n </div>\n <div>\n <button type="button" *ngIf="(schema$ | async)?.events.cancel.show" (click)="cancel.emit()" mat-button color="primary">{{(schema$\n | async)?.events.cancel.text}}</button>\n <button type="submit" *ngIf="(schema$ | async)?.events.accept.show" mat-raised-button color="primary">{{(schema$\n | async)?.events.accept.text}}</button>\n </div>\n </div>\n </form>\n\n</div>',styles:[""]}]}],t.ctorParameters=function(){return[{type:S},{type:i.Compiler},{type:i.ComponentFactoryResolver},{type:e.Store}]},t.propDecorators={accept:[{type:i.Output}],cancel:[{type:i.Output}],local:[{type:i.Input}],card:[{type:i.Input}],id:[{type:i.Input}],schema:[{type:i.Input}]},t}(),ot={checkbox:_,text:j,password:j,date:X,file:Y,table:T,color:O,email:A,captcha:et,select:k},rt=function(){function t(t,e){this.resolver=t,this.container=e}return t.prototype.ngOnChanges=function(){this.component&&(this.component.instance.config=this.config,this.component.instance.group=this.group)},t.prototype.ngOnInit=function(){if(this.config.inputType!=undefined){if(!ot[this.config.inputType]){var t=Object.keys(ot).join(", ");throw new Error("Trying to use an unsupported type ("+this.config.inputType+").\n\t\t Supported types: "+t)}var e=this.resolver.resolveComponentFactory(ot[this.config.inputType]);this.component=this.container.createComponent(e),this.component.instance.config=this.config,this.component.instance.group=this.group}},t.decorators=[{type:i.Directive,args:[{selector:"[dynamicField]"}]}],t.ctorParameters=function(){return[{type:i.ComponentFactoryResolver},{type:i.ViewContainerRef}]},t.propDecorators={config:[{type:i.Input}],group:[{type:i.Input}]},t}(),at=function(t,e){return(at=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function it(t,e){function n(){this.constructor=t}at(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var ct=function(){return(ct=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function st(t,e,n,o){var r,a=arguments.length,i=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,o);else for(var c=t.length-1;0<=c;c--)(r=t[c])&&(i=(a<3?r(i):3<a?r(e,n,i):r(e,n))||i);return 3<a&&i&&Object.defineProperty(e,n,i),i}function mt(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}var pt={status:"pristine",data:[]};function ut(t,e){switch(void 0===t&&(t=pt),e.type){case R:return ct({},t,{status:"dirty"});case $:return ct({},t,{status:"pending"});case D:return ct({},t,{data:e.payload,status:"succeed"});case L:return ct({},t,{status:"failed"});case P:var n=t.data.concat();return-1<(o=t.data.findIndex(function(t){return t._id==e.payload._id}))?n[o]=Object.assign({},n[o],e.payload):n.push(e.payload),ct({},t,{data:n});case q:n=t.data.concat();return-1<(o=t.data.findIndex(function(t){return t._id==e.payload._id}))?n[o]=Object.assign({},n[o],e.payload):n.push(e.payload),ct({},t,{data:n});case H:var o;n=t.data.concat();return-1<(o=t.data.findIndex(function(t){return t._id==e.payload._id}))?n[o]=Object.assign({},n[o],e.payload):n.push(e.payload),ct({},t,{data:n});default:return t}}var lt={list:ut},dt=function(){function t(){this.noHeader=!1,this.changes=new i.EventEmitter,this["delete"]=new i.EventEmitter}return t.prototype.changed=function(){this.changes.emit()},t.prototype.addFormGroup=function(t){var e=new F("group");return e.fields=[],t.fields.push(e),this.schema.id=this.schema.id+1,e},t.prototype.addFormArray=function(t){var e=new F("array");return e.fields=[],t.fields.push(e),e},t.prototype.addFormControl=function(t){var e=new F("control");return t.fields.push(e),e},t.prototype.deleteFormGroup=function(t){this.schema.fields.splice(t,1)},t.decorators=[{type:i.Component,args:[{selector:"app-form-group",template:'<div>\n\n <mat-form-field *ngIf="!noHeader">\n <input matInput [(ngModel)]="schema.name" placeholder="Name">\n </mat-form-field>\n\n <mat-form-field *ngIf="!noHeader">\n <input matInput [(ngModel)]="schema.title" placeholder="عنوان">\n </mat-form-field>\n\n <div class="button-row">\n <button mat-button color="primary" (click)="addFormGroup(schema)"> addFormGroup </button>\n <button mat-button color="primary" (click)="addFormArray(schema)"> addFormArray </button>\n <button mat-button color="primary" (click)="addFormControl(schema)">addFormControl</button>\n </div>\n\n <div *ngFor="let field of schema.fields;let i = index">\n <div [ngSwitch]="field.type">\n <app-form-group *ngSwitchCase="\'group\'" [schema]="field" (change)="changed()"></app-form-group>\n \x3c!-- <app-form-array *ngSwitchCase="\'array\'" [schema]="field" (change)="changed()"></app-form-array> --\x3e\n <app-form-control *ngSwitchCase="\'control\'" [schema]="field" (changes)="changed()" (delete)="deleteFormGroup(i)"></app-form-control>\n </div>\n </div>\n</div>'}]}],t.ctorParameters=function(){return[]},t.propDecorators={schema:[{type:i.Input}],noHeader:[{type:i.Input}],changes:[{type:i.Output}],"delete":[{type:i.Output}]},t}(),ft=function(){function t(){this.changes=new i.EventEmitter}return t.prototype.changed=function(){this.changes.emit()},t.prototype.addFormGroup=function(t){var e=new F("group");return e.fields=[],t.fields.push(e),e},t.prototype.addFormArray=function(t){var e=new F("array");return e.fields=[],t.fields.push(e),e},t.prototype.addFormControl=function(t){var e=new F("control");return t.fields.push(e),e},t.decorators=[{type:i.Component,args:[{selector:"app-form-array",template:'<mat-card>\n <mat-card-content>\n <mat-form-field>\n <input matInput [(ngModel)]="schema.name" placeholder="Name">\n </mat-form-field>\n \n <div class="button-row">\n <button mat-button color="primary" (click)="addFormGroup(schema)">addFormGroup</button>\n <button mat-button color="primary" (click)="addFormArray(schema)">addFormArray</button>\n \x3c!-- <button mat-button color="primary" (click)="addFormControl(schema)">addFormControl</button> --\x3e\n </div>\n \n <div *ngFor="let field of schema.fields">\n <div [ngSwitch]="field.type">\n <app-form-group *ngSwitchCase="\'group\'" [schema]="field" (changes)="changed()"></app-form-group>\n <app-form-array *ngSwitchCase="\'array\'" [schema]="field" (changes)="changed()"></app-form-array>\n \x3c!-- <app-form-control *ngSwitchCase="\'control\'" [schema]="field" (change)="changed($event)"></app-form-control> --\x3e\n </div>\n </div>\n \n </mat-card-content>\n</mat-card>'}]}],t.ctorParameters=function(){return[]},t.propDecorators={schema:[{type:i.Input}],changes:[{type:i.Output}]},t}(),ht=function(){function t(){this.changes=new i.EventEmitter,this["delete"]=new i.EventEmitter,this.width=[1,2,3,4,5,6,7,8,9,10],this.options=new s.FormArray([new s.FormGroup({key:new s.FormControl,value:new s.FormControl})]),this.tableOptions=new s.FormGroup({dataEndpoint:new s.FormControl("")})}return t.prototype.changed=function(){if([this.schema.name,this.schema.title,this.schema.inputType].some(function(t){return!t}))return!0;"table"==this.schema.inputType?this.schema.options=this.tableOptions.value:"select"==this.schema.inputType&&(this.schema.options=this.options.value),this.changes.emit()},t.prototype.addOption=function(){this.options.push(new s.FormGroup({key:new s.FormControl,value:new s.FormControl}))},t.prototype.removeOption=function(t){this.options.controls.splice(t,1)},t.prototype.insertOptions=function(){this.schema.options=this.options.value},t.decorators=[{type:i.Component,args:[{selector:"app-form-control",template:'<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title fxLayout="row" fxLayoutAlign="start center">\n <button mat-icon-button (click)="delete.emit()">\n <mat-icon aria-label="icon-button">delete_forever</mat-icon>\n </button>\n <span>{{schema.name}}</span>\n\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div fxLayout="row wrap" fxLayoutGap="10px">\n <mat-form-field fxFlex>\n <input matInput [(ngModel)]="schema.name" (change)="changed()" placeholder="Name">\n </mat-form-field>\n\n <mat-form-field fxFlex>\n <input matInput [(ngModel)]="schema.title" (change)="changed()" placeholder="Placeholder" />\n </mat-form-field>\n\n <mat-form-field fxFlex>\n <mat-select [(ngModel)]="schema.inputType" (change)="changed()" placeholder="Input Type">\n <mat-option value="table">table</mat-option>\n <mat-option value="select">select</mat-option>\n <mat-option value="text">text</mat-option>\n <mat-option value="number">number</mat-option>\n <mat-option value="email">email</mat-option>\n <mat-option value="color">color</mat-option>\n <mat-option value="radio">radio</mat-option>\n <mat-option value="checkbox">checkbox</mat-option>\n <mat-option value="checkbox">captcha</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div fxLayout="row wrap" fxLayoutGap="10px">\n <mat-form-field fxFlex>\n <input matInput [(ngModel)]="schema.value" (change)="changed()" placeholder="Value" />\n </mat-form-field>\n\n <mat-form-field fxFlex>\n <mat-select [(ngModel)]="schema.width" (change)="changed()" placeholder="width">\n <mat-option *ngFor="let item of width" [value]="item">{{item}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div fxLayout="column" fxLayoutGap="10px">\n <div *ngIf="schema.inputType==\'table\'" [formGroup]="tableOptions">\n <mat-form-field>\n <input matInput (change)="changed()" formControlName="dataEndpoint" placeholder="dataEndpoint" />\n </mat-form-field>\n </div>\n\n <div *ngIf="schema.inputType==\'select\'">\n [options]\n <button (click)="addOption()">+</button>\n <button (click)="insertOptions()">insert</button>\n <div *ngFor="let option of options.controls;index as i">\n {{i}}\n <div [formGroup]="options.controls[i]">\n <mat-form-field>\n <input matInput (change)="changed()" formControlName="key" placeholder="key" />\n </mat-form-field>\n <mat-form-field>\n <input matInput (change)="changed()" formControlName="value" placeholder="value" />\n </mat-form-field>\n </div>\n </div>\n </div>\n <br />\n <mat-card fxLayout="column">\n <mat-slide-toggle (change)="changed()" [(ngModel)]="schema.validator.required.active">اجباری</mat-slide-toggle>\n <mat-form-field>\n <input matInput (change)="changed()" [(ngModel)]="schema.validator.required.message" placeholder="پیغام" />\n </mat-form-field>\n </mat-card>\n <mat-card fxLayout="column">\n <mat-slide-toggle (change)="changed()" [(ngModel)]="schema.validator.email.active">ایمیل</mat-slide-toggle>\n <mat-form-field>\n <input matInput (change)="changed()" [(ngModel)]="schema.validator.email.message" placeholder="پیغام" />\n </mat-form-field>\n </mat-card>\n <mat-card fxLayout="column">\n <mat-slide-toggle (change)="changed()" [(ngModel)]="schema.validator.minlength.active">حداقل تعداد کاراکتر</mat-slide-toggle>\n <mat-form-field>\n <input matInput (change)="changed()" [(ngModel)]="schema.validator.minlength.message" placeholder="پیغام" />\n </mat-form-field>\n <mat-form-field>\n <input matInput (change)="changed()" [(ngModel)]="schema.validator.minlength.value" placeholder="تعداد حداقل کاراکتر" />\n </mat-form-field>\n </mat-card>\n </div>\n</mat-expansion-panel>'}]}],t.ctorParameters=function(){return[]},t.propDecorators={schema:[{type:i.Input}],changes:[{type:i.Output}],"delete":[{type:i.Output}]},t}(),gt="[FORM][EDIT] EDIT_FORM",yt="[FORM][EDIT] EDIT_FORM_START",vt="[FORM][EDIT] EDIT_FORM_SUCCEED",bt="[FORM][EDIT] EDIT_FORM_FAILED",xt=function(t){this.payload=t,this.type=gt},wt=function(t){this.payload=t,this.type=yt},Ft=function(t){this.payload=t,this.type=vt},Ct=function(){this.type=bt},It="[FORM][ADD] ADD_FORM_PROFILE",Mt="[FORM][ADD] ADD_FORM_START",Gt="[FORM][ADD] ADD_FORM_SUCCEED",St="[FORM][ADD] ADD_FORM_FAILED",kt=function(t){this.payload=t,this.type=It},_t=function(t){this.payload=t,this.type=Mt},At=function(){this.type=Gt},Ot=function(){this.type=St},Tt=function(){function t(t,e){this.store=t,this.service=e}return t.prototype.ngOnInit=function(){this.schema=new C,this.schema.init(),this.store.dispatch(new K(this.schema))},t.prototype.add=function(t){this.store.dispatch(new kt(t))},t.prototype.update_schema=function(t){this.store.dispatch(new J(t))},t.decorators=[{type:i.Component,args:[{template:'<ngs-form-add \n\t\t\t\t\t[schema]="schema" \n\t\t\t\t\t(changes)="update_schema($event)" \n\t\t\t\t\t(submited)=add($event)\n\t\t\t\t></ngs-form-add>'}]}],t.ctorParameters=function(){return[{type:e.Store},{type:S}]},t}(),Et=function(r){function t(t,e,n){var o=r.call(this,n,t)||this;return o.service=t,o.route=e,o.store=n,o.formGroup=a.EditFormApiModel.Request.formGroup,o}return it(t,r),t.prototype.ngOnInit=function(){var e=this;this.route.params.map(function(t){return t._id}).subscribe(function(t){return e.store.dispatch(new Q(t))}),this.route.params.map(function(t){return t._id}).switchMap(function(t){return e.service.selectFormById(t)}).filter(function(t){return null!=t}).take(1).subscribe(function(t){e.schema=t,e.formGroup.patchValue(t)})},t.prototype.update=function(t){this.store.dispatch(new xt(t))},t.decorators=[{type:i.Component,args:[{template:'<edit-form\n\t\t\t\t\t[formGroup]="formGroup"\n\t\t\t\t\t[schema]="schema"\n\t\t\t\t\t(changes)="update_schema($event)"\n\t\t\t\t\t(submited)="update($event)">\n\t\t\t\t</edit-form>'}]}],t.ctorParameters=function(){return[{type:S},{type:d.ActivatedRoute},{type:e.Store}]},t}(Tt),jt=function(){function t(){this.formGroup=a.AddFormApiModel.Request.formGroup,this.submited=new i.EventEmitter,this.changes=new i.EventEmitter}return t.prototype.emit=function(){this.formGroup.patchValue({form:this.schema.form}),this.submited.emit(this.formGroup.value)},t.prototype.changed=function(){this.formGroup.patchValue({form:this.schema.form}),this.changes.emit(this.formGroup.value)},t.prototype.changeOrder=function(t){},t.prototype.addFormGroup=function(t){var e=new F("group");return e.fields=[],t.fields.push(e),e},t.prototype.addFormArray=function(t){var e=new F("array");return e.fields=[],t.fields.push(e),e},t.prototype.addFormControl=function(t){var e=new F("control");return t.fields.push(e),e},t.decorators=[{type:i.Component,args:[{selector:"ngs-form-add",template:'<div fxLayout="row" *ngIf="schema">\n <div [fxFlex]="50" *ngIf="formGroup">\n <form [formGroup]="formGroup">\n <mat-card>\n <mat-card-title>ایجاد فرم جدید</mat-card-title>\n <mat-card-content>\n <mat-form-field>\n <input type="text" matInput (change)="changed()" placeholder="نام فرم" formControlName="name">\n </mat-form-field>\n \x3c!-- <div class="button-row">\n <button mat-button color="primary" (click)="addFormGroup(schema.form)">Add form group</button>\n <button mat-button color="primary" (click)="addFormArray(schema.form)">Add form array</button>\n <button mat-button color="primary" (click)="addFormControl(schema.form)">Add form control</button>\n </div> --\x3e\n </mat-card-content>\n </mat-card>\n <mat-card>\n <mat-card-content>\n <div [ngSwitch]="schema.form?.type">\n <app-form-group *ngSwitchCase="\'group\'" [schema]="schema.form" noHeader="true" (changes)="changed()"></app-form-group>\n <app-form-array *ngSwitchCase="\'array\'" [schema]="schema.form" (changes)="changed()"></app-form-array>\n </div>\n </mat-card-content>\n <mat-card-actions>\n \x3c!-- <button mat-raised-button color="primary" (click)="form.generate(schema)">ایجاد فرم</button> --\x3e\n <button mat-raised-button color="primary" (click)="emit()" type="submit">ثبت</button>\n </mat-card-actions>\n\n <div [formGroup]="$any(formGroup.controls.events).controls.accept">\n <mat-slide-toggle (change)="changed()" formControlName="show">نمایش تایید</mat-slide-toggle>\n <mat-form-field>\n <input type="text" (change)="changed()" matInput placeholder="متن تایید" formControlName="text">\n </mat-form-field>\n </div>\n <div [formGroup]="$any(formGroup.controls.events).controls.cancel">\n <mat-slide-toggle (change)="changed()" formControlName="show">نمایش انصراف</mat-slide-toggle>\n <mat-form-field>\n <input type="text" (change)="changed()" matInput placeholder="متن انصراف" formControlName="text">\n </mat-form-field>\n </div>\n\n </mat-card>\n </form>\n </div>\n <div [fxFlex]="50">\n <ngs-form-view [local]=\'true\' [id]="schema._id"></ngs-form-view>\n </div>\n</div>'}]}],t.propDecorators={schema:[{type:i.Input}],formGroup:[{type:i.Input}],submited:[{type:i.Output}],changes:[{type:i.Output}]},t}(),Rt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return it(e,t),e.prototype.emit=function(){if(this.formGroup.valid)return this.submited.emit(this.formGroup.value)},e.decorators=[{type:i.Component,args:[{selector:"edit-form",template:'<div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="25px" class="main-container">\n\n <div class="content-action">\n <mat-card fxLayout="column" fxLayoutGap="10px" fxLayoutAlign="start" class="with-sticky-action">\n <div fxLayout="row wrap" *ngIf="schema" fxFlex="100" fxLayoutAlign="start start" fxLayoutAlign.lt-md="center">\n <div fxFlex.gt-md="50" fxFlex.lt-md="100" *ngIf="formGroup">\n <form [formGroup]="formGroup">\n <mat-card>\n <mat-card-title>ایجاد فرم جدید</mat-card-title>\n <mat-card-content>\n <mat-form-field>\n <input type="text" matInput (change)="changed()" placeholder="نام فرم" formControlName="name">\n </mat-form-field>\n \x3c!-- <div class="button-row">\n <button mat-button color="primary" (click)="addFormGroup(schema.form)">Add form group</button>\n <button mat-button color="primary" (click)="addFormArray(schema.form)">Add form array</button>\n <button mat-button color="primary" (click)="addFormControl(schema.form)">Add form control</button>\n </div> --\x3e\n <mat-divider></mat-divider>\n <div [ngSwitch]="schema.form?.type" class="schema-form">\n <app-form-group *ngSwitchCase="\'group\'" [schema]="schema.form" noHeader="true" (changes)="changed()"></app-form-group>\n <app-form-array *ngSwitchCase="\'array\'" [schema]="schema.form" (changes)="changed()"></app-form-array>\n </div>\n\n <mat-divider></mat-divider>\n <div class="form-buttons" fxLayout="row wrap" fxLayoutGap="10px">\n\n <div fxLayout="column" [formGroup]="$any(formGroup.controls.events).controls.accept">\n <mat-slide-toggle (change)="changed()" formControlName="show">نمایش تایید</mat-slide-toggle>\n <mat-form-field>\n <input type="text" (change)="changed()" matInput placeholder="متن تایید" formControlName="text">\n </mat-form-field>\n </div>\n <div fxLayout="column" [formGroup]="$any(formGroup.controls.events).controls.cancel">\n <mat-slide-toggle (change)="changed()" formControlName="show">نمایش انصراف</mat-slide-toggle>\n <mat-form-field>\n <input type="text" (change)="changed()" matInput placeholder="متن انصراف" formControlName="text">\n </mat-form-field>\n </div>\n </div>\n\n\n <mat-card-actions>\n \x3c!-- <button mat-raised-button color="primary" (click)="$any(form).generate(schema)">ایجاد فرم</button> --\x3e\n <button mat-raised-button color="primary" (click)="emit()" type="submit">ثبت</button>\n </mat-card-actions>\n\n </mat-card-content>\n </mat-card>\n </form>\n </div>\n <div fxFlex.gt-md="50" fxFlex.lt-md="100" fxLayoutAlign="center start">\n <ngs-form-view [local]=\'true\' [id]=" schema._id">\n </ngs-form-view>\n\n </div>\n </div>\n </mat-card>\n </div>\n</div>',styles:[".form-buttons,.schema-form{padding:25px 10px}"]}]}],e.propDecorators={schema:[{type:i.Input}]},e}(jt),$t=function(){function t(t){this.store=t,this.data$=this.store.select(function(t){return t.form.list.data})}return t.prototype.ngOnInit=function(){this.store.dispatch(new V)},t.decorators=[{type:i.Component,args:[{template:'<form-list\n\t\t\t\t\t[data]="data$">\n\t\t\t\t</form-list>'}]}],t.ctorParameters=function(){return[{type:e.Store}]},t}(),Dt=function(){function t(){}return t.decorators=[{type:i.Component,args:[{selector:"form-list",template:'<div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="25px" class="main-container">\n\n <div class="content-action">\n <mat-card class="with-sticky-action">\n <mat-card-header>\n <mat-card-title fxLayout="row" fxLayoutGap="5px">\n <mat-icon>assignment</mat-icon>\n <span>مدیریت فرم ها</span>\n </mat-card-title>\n <mat-card-subtitle fxLayout="row" fxLayoutAlign="space-between center">\n <span>\n شامل تمامی درخواست‌ها از قبیل دائری، جمع‌آوری و ...\n </span>\n </mat-card-subtitle>\n </mat-card-header>\n\n <div fxLayout="row wrap" fxLayoutGap="10px" fxLayoutAlign="start">\n\n <button fxFlex.lt-lg="19" fxFlex.lg="24" fxFlex.md="32" fxFlex.sm="49" fxFlex.xs="100" class=\'link\'\n mat-raised-button [routerLink]="[\'edit\' , item._id]" *ngFor="let item of (data$ | async)">\n <div fxLayout=\'column\' fxLayoutAlign=\'center center\'>\n <mat-icon color=\'primary\'>settings</mat-icon>\n <h3 class=\'title\'>{{item.name}}</h3>\n </div>\n </button>\n\n </div>\n </mat-card>\n </div>\n</div>',styles:["button.link{padding:25px 15px;margin:.5%;box-sizing:border-box}button mat-icon{font-size:34px;width:34px;height:34px}"]}]}],t.propDecorators={data$:[{type:i.Input,args:["data"]}]},t}(),Lt=function(){function t(t,e){this.route=t,this.store=e}return t.decorators=[{type:i.Component,args:[{template:"<router-outlet></router-outlet>"}]}],t.ctorParameters=function(){return[{type:d.ActivatedRoute},{type:e.Store}]},t}(),qt=function(){function t(t,e,n){var o=this;this.actions$=t,this.router=e,this.service=n,this.AddForm$=this.actions$.ofType(It).pipe(p.map(function(t){return t.payload}),p.map(function(t){return new _t(t)})),this.AddFormStart$=this.actions$.ofType(Mt).pipe(p.map(function(t){return t.payload}),p.switchMap(function(t){return o.service.add(t)}),p.map(function(t){return new At}),p.catchError(function(){return y.of(new Ot)}))}return t.decorators=[{type:i.Injectable}],t.ctorParameters=function(){return[{type:g.Actions},{type:d.Router},{type:S}]},st([g.Effect(),mt("design:type",Object)],t.prototype,"AddForm$",void 0),st([g.Effect(),mt("design:type",Object)],t.prototype,"AddFormStart$",void 0),t}(),Pt=function(){function t(t,e,n){var o=this;this.actions$=t,this.router=e,this.service=n,this.EditProfileRequest$=this.actions$.ofType(R).map(function(t){return new B}),this.GetForm$=this.actions$.ofType(N).pipe(p.map(function(t){return t.payload}),p.switchMap(function(t){return o.service.get(t)}),p.map(function(t){return new W(t)})),this.get_forms_list$=this.actions$.ofType($).pipe(p.switchMap(function(t){return o.service.getList()}),p.map(function(t){return new U(t)}),p.catchError(function(){return y.of(new z)}))}return t.decorators=[{type:i.Injectable}],t.ctorParameters=function(){return[{type:g.Actions},{type:d.Router},{type:S}]},st([g.Effect(),mt("design:type",Object)],t.prototype,"EditProfileRequest$",void 0),st([g.Effect(),mt("design:type",Object)],t.prototype,"GetForm$",void 0),st([g.Effect(),mt("design:type",Object)],t.prototype,"get_forms_list$",void 0),t}(),Nt=function(){function t(t,e,n){var o=this;this.actions$=t,this.router=e,this.service=n,this.EditForm$=this.actions$.ofType(gt).pipe(p.map(function(t){return t.payload}),p.map(function(t){return new wt(t)})),this.EditFormStart$=this.actions$.ofType(yt).pipe(p.map(function(t){return t.payload}),p.switchMap(function(t){return o.service.update(t)}),p.map(function(t){return new Ft(t)}),p.catchError(function(){return y.of(new Ct)})),this.UpdateFormsListStart$=this.actions$.ofType(vt).pipe(p.map(function(t){return t.payload}),p.map(function(t){return new J(t)}))}return t.decorators=[{type:i.Injectable}],t.ctorParameters=function(){return[{type:g.Actions},{type:d.Router},{type:S}]},st([g.Effect(),mt("design:type",Object)],t.prototype,"EditForm$",void 0),st([g.Effect(),mt("design:type",Object)],t.prototype,"EditFormStart$",void 0),st([g.Effect(),mt("design:type",Object)],t.prototype,"UpdateFormsListStart$",void 0),t}(),Ht=[{path:"form",component:Lt,children:[{path:"add",component:Tt},{path:"edit/:_id",component:Et},{path:"",component:$t}]}],Vt=d.RouterModule.forChild(Ht),Bt="[CAPTCHA][GET] GET_CAPTCHA",Ut="[CAPTCHA][GET] GET_CAPTCHA_START",zt="[CAPTCHA][GET] GET_CAPTCHA_SUCCEED",Jt="[CAPTCHA][GET] GET_CAPTCHA_FAILED",Kt=function(t){this.payload=t,this.type=Ut},Qt=function(){this.type=zt},Wt=function(){this.type=Jt},Xt=function(){function t(t,e,n){var o=this;this.actions$=t,this.router=e,this.service=n,this.GetCaptcha$=this.actions$.ofType(Bt).pipe(p.map(function(t){return t.payload}),p.map(function(t){return new Kt(t)})),this.AddFormStart$=this.actions$.ofType(Ut).pipe(p.map(function(t){return t.payload}),p.switchMap(function(t){return o.service.getCaptcha()}),p.map(function(t){return new Qt}),p.catchError(function(){return y.of(new Wt)}))}return t.decorators=[{type:i.Injectable}],t.ctorParameters=function(){return[{type:g.Actions},{type:d.Router},{type:Z}]},st([g.Effect(),mt("design:type",Object)],t.prototype,"GetCaptcha$",void 0),st([g.Effect(),mt("design:type",Object)],t.prototype,"AddFormStart$",void 0),t}(),Yt=function(){function t(){}return t.forRoot=function(t){return{ngModule:Zt,providers:[{provide:M,useValue:t},G]}},t.decorators=[{type:i.NgModule,args:[{imports:[n.HttpClientModule,s.FormsModule,d.RouterModule,v.CommonModule,u.MatExpansionModule,u.MatSnackBarModule,u.MatIconModule,u.MatDatepickerModule,u.MatButtonModule,u.MatCardModule,u.MatCheckboxModule,u.MatTableModule,u.MatSelectModule,u.MatInputModule,u.MatFormFieldModule,u.MatTabsModule,u.MatDividerModule,b.FlexLayoutModule,u.MatRadioModule,u.MatSlideToggleModule,s.ReactiveFormsModule],declarations:[Et,Rt,$t,Dt,Tt,Lt,jt,dt,ft,ht,nt,rt,k,_,A,O,X,Y,j,E,T,et],entryComponents:[k,_,A,O,X,Y,j,E,T,et],exports:[nt]}]}],t}(),Zt=function(){function t(){}return t.decorators=[{type:i.NgModule,args:[{imports:[Yt,e.StoreModule.forFeature("form",lt),g.EffectsModule.forFeature([qt,Nt,Pt,Xt]),Vt],exports:[Yt]}]}],t}();a.FormService=S,a.FormViewComponent=nt,a.DynamicFieldDirective=rt,a.FormSchemaModel=C,a.FieldConfig=F,a.NgsFormModule=Yt,a.RootNgsFormModule=Zt,a.ɵi=jt,a.ɵg=Tt,a.ɵl=Tt,a.ɵbc=qt,a.ɵn=jt,a.ɵbf=Xt,a.ɵp=ft,a.ɵq=ht,a.ɵo=dt,a.ɵf=Et,a.ɵbd=Nt,a.ɵh=Rt,a.ɵbh=Vt,a.ɵa=M,a.ɵj=$t,a.ɵk=Dt,a.ɵbe=Pt,a.ɵbb=ut,a.ɵm=Lt,a.ɵb=lt,a.ɵbg=Z,a.ɵd=G,a.ɵs=_,a.ɵu=O,a.ɵv=X,a.ɵt=A,a.ɵw=Y,a.ɵba=et,a.ɵy=E,a.ɵr=k,a.ɵz=T,a.ɵx=j,Object.defineProperty(a,"__esModule",{value:!0})});
2//# sourceMappingURL=soushians-form.umd.min.js.map
\No newline at end of file