UNPKG

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