@osovitny/anatoly 1.2.12 → 1.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,5 +13,5 @@
13
13
  See the Apache Version 2.0 License for specific language governing permissions
14
14
  and limitations under the License.
15
15
  ***************************************************************************** */
16
- var m=function(t,n){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)};function h(t,n){function e(){this.constructor=t}m(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}function g(t,n,e,o){var r,i=arguments.length,a=i<3?n:null===o?o=Object.getOwnPropertyDescriptor(n,e):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,n,e,o);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(i<3?r(a):i>3?r(n,e,a):r(n,e))||a);return i>3&&a&&Object.defineProperty(n,e,a),a}var y=function(){function t(){}return t.Info=function(t){n.fire({title:"Information",text:t,icon:"info",confirmButtonText:"OK"})},t.Warning=function(t){n.fire({title:"Warning",text:t,icon:"warning",confirmButtonText:"OK"})},t.Error=function(t){n.fire({title:"Error",text:t,icon:"error",confirmButtonText:"OK"})},t.NotImplemented=function(){this.Warning("Not Implemented Yet")},t.ErrorOccurred=function(){this.Error("Sorry, an unexpected error occurred")},t.AreYouSure=function(t,e,o,r,i,a){void 0!==e&&null!=e||(e="Are you sure?"),n.fire({title:e,text:t,icon:"warning",confirmButtonText:o,cancelButtonText:r,showCancelButton:!0}).then((function(t){t.value?i&&i():t.dismiss!=n.DismissReason.cancel&&t.dismiss!=n.DismissReason.close||a&&a()}))},t.Success=function(t,e,o){void 0!==e&&null!=e||(e="Success"),t||(t="Operation was successful"),n.fire({title:e,text:t,icon:"success",confirmButtonText:"OK"}).then((function(){o&&o()}))},t.Cancel=function(t){t||(t="Operation has been cancled"),n.fire({title:"Cancelled",text:t,icon:"info"})},t.NotificationCancel=function(t){t||(t="Operation has been cancled"),n.mixin({toast:!0,position:"top-end",showConfirmButton:!1,timer:3e3,timerProgressBar:!0}).fire({title:"Cancelled",text:t,icon:"info"})},t.NotificationSuccess=function(t,e){void 0!==e&&null!=e||(e="Success"),t||(t="Operation was successful"),n.mixin({toast:!0,position:"top-end",showConfirmButton:!1,timer:3e3,timerProgressBar:!0}).fire({title:e,text:t,icon:"success"})},t}(),b=function(){function t(){}return t.GetValueByNameInQS=function(n){return t.GetValueByName(location.search,n)},t.GetValueByName=function(t,n){n=n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var e=new RegExp("[\\?&]"+n+"=([^&#]*)").exec(t);return null===e?"":decodeURIComponent(e[1].replace(/\+/g," "))},t}(),v=function(){function t(t,n){this.route=t,this.router=n}return t.prototype.locationReload=function(){window.location.reload()},t.ctorParameters=function(){return[{type:o.ActivatedRoute},{type:o.Router}]},t=g([e.Injectable()],t)}(),I=function(){function t(t){this.http=t,this.baseUrl=""}return t.prototype.serializeParams=function(t){return t?"?"+$.param(t):""},t.prototype.get=function(t,n){var e=this.baseUrl+"/"+t+this.serializeParams(n);return this.http.get(e).pipe(i.map((function(t){return t})))},t.prototype.post=function(t,n){var e=this.baseUrl+"/"+t;return this.http.post(e,n).pipe(i.map((function(t){return t})))},t.prototype.postQS=function(t,n){var e=this.baseUrl+"/"+t+this.serializeParams(n);return this.http.post(e,null).pipe(i.map((function(t){return t})))},t.prototype.delete=function(t,n){var e=this.baseUrl+"/"+t+this.serializeParams(n);return this.http.delete(e).pipe(i.map((function(t){return t})))},t.prototype.getById=function(t){return this.get("getById",{id:t})},t.prototype.getAll=function(t){return this.get("getall",t).pipe(i.map((function(t){return t})))},t.prototype.getJsonFile=function(t,n,e){n||(n="/dist/jsons"),e||(e="1.0");var o=n+"/"+t+"?"+e;return this.http.get(o).pipe(i.map((function(t){return t})))},t.prototype.getNewGuid=function(){var t=this.baseUrl+"/getNewGuid";return this.http.get(t,{responseType:"text"})},t.ctorParameters=function(){return[{type:r.HttpClient}]},t=g([e.Injectable()],t)}(),C=function(t){function n(n){var e=t.call(this,n)||this;return e.http=n,e.current=null,e.successes=[],e.subscription=null,e.baseUrl="/api/appContext",e}return h(n,t),n.prototype.getCurrent=function(t){var n=this;void 0!==t&&(null==this.current?(this.successes.push(t),null==this.subscription&&(this.subscription=this.get("GetCurrentContext",null).subscribe((function(t){n.dataReceived(t)}),(function(t){})))):t(this.current))},n.prototype.dataReceived=function(t){this.current=t;for(var n=0;n<this.successes.length;n++){(0,this.successes[n])(t)}this.successes=[],this.subscription.unsubscribe(),this.subscription=null,this.current=null},n.prototype.isUserSignedIn=function(){return window.__context_isUserSignedIn},n.prototype.isUserAdmin=function(){return window.__context_isUserAdmin},n.ctorParameters=function(){return[{type:r.HttpClient}]},n=g([e.Injectable()],n)}(I),P=function(){function t(){}return t.prototype.getQSId=function(){var t=b.GetValueByNameInQS("id");return void 0===t||""==t?null:t},t.prototype.showLoading=function(){$("#pnlLoading").show()},t.prototype.hideLoading=function(){$("#pnlLoading").hide()},t.prototype.handleError=function(t){this.hideLoading(),y.ErrorOccurred()},t}(),S=function(t){function n(){var n=t.call(this)||this;return n.formSubmitted=!1,n}return h(n,t),n.prototype.isActionAdding=function(){var t=b.GetValueByNameInQS("id");return void 0===t||""==t},n.prototype.getEntityId=function(){return this.getQSId()},n.prototype.isItemInvalid=function(t){return void 0!==t&&""!=t&&(!!this.formGroup&&(!!this.formGroup.get(t)&&(this.formSubmitted&&this.formGroup.get(t).invalid||this.formGroup.get(t).touched&&this.formGroup.get(t).invalid)))},n.prototype.getFormValue=function(t){return this.formGroup.controls[t].value},n.prototype.setFormValue=function(t,n){this.formGroup.controls[t].setValue(n)},n.prototype.getFormGroupValue=function(t,n){return this.formGroup.controls[t].get(n).value},n.prototype.setFormGroupValue=function(t,n,e){this.formGroup.controls[t].get(n).setValue(e)},g([e.Input()],n.prototype,"formGroup",void 0),g([e.Input()],n.prototype,"formSubmitted",void 0),n}(P),x=function(){function t(){}return t.prototype.ngOnInit=function(){null==this.title&&(this.title="")},g([e.Input()],t.prototype,"title",void 0),t=g([e.Component({selector:"anatoly-content-header",template:'<h2 class="page-header">\r\n {{title}}\r\n \x3c!--<small>Optional {{title}}</small>--\x3e\r\n</h2>\r\n'})],t)}(),U=function(t){function n(){return t.call(this)||this}return h(n,t),n.prototype.getFormValidationMessages=function(){var t=this,n=[];return Object.keys(this.formGroup.controls).forEach((function(e){var o=t.formGroup.controls[e];null!=o.controls?Object.keys(o.controls).forEach((function(e){var r=o.controls[e];t.getValidationMessages(r,e).forEach((function(t){return n.push(t)}))})):t.getValidationMessages(o,e).forEach((function(t){return n.push(t)}))})),n},n.prototype.getValidationMessages=function(t,n){var e=t.path||n,o=[];if(t.errors)for(var r in t.errors)if(t.errors.hasOwnProperty(r))switch(r){case"required":o.push(e+" is required");break;case"minlength":o.push(e+" must be at least "+t.errors.minlength.requiredLength+" characters");break;case"pattern":o.push(e+" contains illegal characters")}return o},n}(S),w=function(t){function n(){var n=t.call(this)||this;return n.visible=!1,n}return h(n,t),n.prototype.getErrors=function(){return this.getFormValidationMessages()},g([e.Input()],n.prototype,"visible",void 0),n=g([e.Component({selector:"anatoly-form-validation-summary",template:'<div class="callout callout-danger" *ngIf="visible">\r\n <h4 class="box-title">There are problems with the form</h4>\r\n <p *ngFor="let error of getErrors()"><span class="help-block " style="color:white">{{error}}</span></p>\r\n</div>\r\n'})],n)}(U),M=function(t){function n(){return t.call(this)||this}return h(n,t),g([e.Input()],n.prototype,"controlName",void 0),g([e.Input()],n.prototype,"controlTitle",void 0),n=g([e.Component({selector:"anatoly-item-validation-summary",template:'<ul class="list-unstyled" *ngIf="isItemInvalid(controlName)">\r\n <li *ngFor="let error of getValidationMessages(formGroup.get(controlName), controlTitle)">\r\n <span class="help-block">{{ error }}</span>\r\n </li>\r\n</ul>\r\n'})],n)}(U),A={placeholderText:"Edit Your Content Here",charCounterCount:!0,heightMin:100,toolbarInline:!1,toolbarButtons:{moreText:{buttons:["bold","italic","underline","strikeThrough","subscript","superscript","fontFamily","fontSize","textColor","backgroundColor","inlineClass","inlineStyle"]},moreParagraph:{buttons:["alignLeft","alignCenter","formatOLSimple","alignRight","alignJustify","formatOL","formatUL","paragraphFormat","paragraphStyle","lineHeight","outdent","indent","quote"]},moreRich:{buttons:["insertLink","insertImage","insertTable","emoticons","fontAwesome","specialCharacters","embedly"]},moreMisc:{buttons:["selectAll","clearFormatting","html","undo","redo","fullscreen"],align:"right"}},imageUploadURL:"/api/HtmlEditor/UploadImage",imageAllowedTypes:["jpeg","jpg","png"],imageUploadParams:{uploadType:"",uploadParentId:""}},q=function(t){function n(){var n=t.call(this)||this;return n.froalaEditorInitialized=!1,n.afterInitializedActions=[],n.editorId="",n.editorLabelText="Html",n.editorOptions={},n}return h(n,t),n.prototype.ngOnInit=function(){var t=this.editorOptions;"string"==typeof this.editorOptions&&(t=JSON.parse(this.editorOptions));var n=$.extend({},A,t),e=window.__froalaEditor_Key;e&&(n=$.extend({},n,JSON.parse('{ "key": "'+e+'" }'))),n.events&&n.events.initialized&&(n.events.initialized.overridden=!1),n.editorId=this.editorId,this.options=n},n.prototype.ngAfterViewInit=function(){var t=this;setTimeout((function(){t.froalaEditorInitialized=!0,t.onInitialized()}),300)},n.prototype.onInitialized=function(){var t=this.afterInitializedActions;if(this.afterInitializedActions=[],t)for(var n=0;n<t.length;n++)t[n]()},n.prototype.getEditor=function(){return this.froalaEditor?this.froalaEditor.getEditor():null},n.prototype.doAfterInitialized=function(t){var n=this;this.froalaEditorInitialized?t(n):this.afterInitializedActions.push((function(){t(n)}))},n.prototype.initializeControl=function(t){this.froalaEditor=t,this.froalaEditor.initialize()},n.prototype.setUploadParams=function(t,n){this.doAfterInitialized((function(e){var o=e.getEditor();void 0!==o&&null!=o&&(o.opts.imageUploadParams.uploadType=t,o.opts.imageUploadParams.uploadParentId=n)}))},g([e.Input()],n.prototype,"editorId",void 0),g([e.Input()],n.prototype,"editorLabelText",void 0),g([e.Input()],n.prototype,"editorOptions",void 0),n}(S),B=function(t){function n(){return t.call(this)||this}return h(n,t),n.prototype.setHtml=function(t){this.doAfterInitialized((function(n){var e=n.getEditor();void 0!==e&&null!=e&&e.html.set(t)}))},n.prototype.getHtml=function(){var t=this.getEditor();if(void 0!==t&&null!=t)return t.html.get(!1)},n=g([e.Component({selector:"anatoly-html-editor",template:'<div>\r\n <label>{{ editorLabelText }}</label>\r\n <textarea id="htmleditor-{{editorId}}" class="htmleditor-{{editorId}}" \r\n [froalaEditor]="options" (froalaInit)="initializeControl($event)">\r\n </textarea>\r\n</div>'})],n)}(q),O=function(t){function n(){var n=t.call(this)||this;return n.editorFormKey="html",n}return h(n,t),g([e.Input()],n.prototype,"editorFormKey",void 0),n=g([e.Component({selector:"anatoly-forms-html-editor",template:'<div [formGroup]="formGroup">\r\n <div class="form-group" [ngClass]="{\'has-error\': isItemInvalid(editorFormKey) }">\r\n <label class="control-label">{{ editorLabelText }}</label>\r\n <textarea id="htmleditor-{{editorId}}" class="htmleditor-{{editorId}}"\r\n [formControlName]="editorFormKey"\r\n [froalaEditor]="options" (froalaInit)="initializeControl($event)">\r\n </textarea>\r\n <anatoly-item-validation-summary [formGroup]="formGroup"\r\n [formSubmitted]="formSubmitted"\r\n [controlName]="editorFormKey"\r\n [controlTitle]="editorLabelText">\r\n </anatoly-item-validation-summary>\r\n </div>\r\n</div>\r\n'})],n)}(q),E=function(){function t(){}return t=g([e.NgModule({imports:[a.CommonModule,s.ReactiveFormsModule,s.FormsModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,u.FroalaEditorModule.forRoot(),u.FroalaViewModule.forRoot(),l.GridModule,p.PopupModule,c.ButtonsModule,d.DropDownsModule],exports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,M,w,x,B,O],declarations:[M,w,x,B,O],providers:[C],schemas:[e.CUSTOM_ELEMENTS_SCHEMA,e.NO_ERRORS_SCHEMA]})],t)}(),H=function(t){function n(n){var e=t.call(this,n)||this;return e.http=n,e.baseUrl+="billing/",e}return h(n,t),n.prototype.requestNewSubscription=function(t,n,e){this.postQS("requestNewSubscription",{requestedPlan:t}).subscribe((function(t){}),(function(t){e&&e()}),(function(){n&&n()}))},n.prototype.cancelRequestedSubscription=function(t,n){this.postQS("cancelRequestedSubscription",null).subscribe((function(t){}),(function(t){n&&n()}),(function(){t&&t()}))},n.prototype.buyAccess=function(t,n,e){this.postQS("buyAccess",{requestedPlan:t}).subscribe((function(t){}),(function(t){e&&e()}),(function(){n&&n()}))},n.ctorParameters=function(){return[{type:r.HttpClient}]},n=g([e.Injectable()],n)}(I),G=function(){function t(t,n){this.appcontext=t,this.api=n,this.contextUpdated=!1,this.isUserSignedIn=!1,this.currentPlan=0,this.currentPlanTitle=""}return t.prototype.ngOnInit=function(){var t=this;this.appcontext.isUserSignedIn()?this.appcontext.getCurrent((function(n){t.isUserSignedIn=n.isUserSignedIn,t.isUserSignedIn&&(t.currentPlan=n.account.billingPlan,t.currentPlanTitle=n.account.billingPlanAsString),t.contextUpdated=!0})):this.contextUpdated=!0},t.prototype.onBuyPlan=function(){var t="Requested plan: "+this.plantitle+" ",n=this;y.AreYouSure(t,"Buying access","Confirm change","Cancel",(function(){n.api.buyAccess(n.plan,(function(){y.Success("Access Granted",null,(function(){window.location.reload()}))}))}))},t.ctorParameters=function(){return[{type:C},{type:H}]},g([e.Input()],t.prototype,"plan",void 0),g([e.Input()],t.prototype,"plantitle",void 0),t=g([e.Component({selector:"anatoly-buyaccess-button",template:'<div *ngIf="contextUpdated">\r\n <div *ngIf="!isUserSignedIn">\r\n <anatoly-signup-button classbtn="btn btn-block btn-primary"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf="isUserSignedIn">\r\n <button class="btn btn-block btn-success selectPlan" *ngIf="plan == currentPlan">\r\n Your Plan\r\n </button>\r\n\r\n <button class="btn btn-block btn-warning selectPlan" *ngIf="plan != currentPlan && currentPlan == 1" (click)="onBuyPlan()">\r\n Buy Now\r\n </button>\r\n </div>\r\n</div>\r\n'})],t)}(),T=function(){function t(t){this.appcontext=t,this.contextUpdated=!1,this.isUserSignedIn=!1,this.currentPlan=0,this.currentPlanTitle="",this.requestedPlan=0,this.requestedPlanTitle=""}return t.prototype.ngOnInit=function(){var t=this;this.appcontext.isUserSignedIn()?this.appcontext.getCurrent((function(n){t.isUserSignedIn=n.isUserSignedIn,t.isUserSignedIn&&(t.currentPlan=n.account.billingPlan,t.currentPlanTitle=n.account.billingPlanAsString,t.requestedPlan=n.account.requestedBillingPlan,t.requestedPlanTitle=n.account.requestedBillingPlanAsString),t.contextUpdated=!0})):this.contextUpdated=!0},t.ctorParameters=function(){return[{type:C}]},g([e.Input()],t.prototype,"plan",void 0),g([e.Input()],t.prototype,"plantitle",void 0),t=g([e.Component({selector:"anatoly-subscribe-plan-button",template:'<div *ngIf="contextUpdated">\r\n <div *ngIf="!isUserSignedIn">\r\n <anatoly-signup-button classbtn="btn btn-block btn-primary"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf="isUserSignedIn">\r\n <button class="btn btn-block btn-success selectPlan" *ngIf="plan == currentPlan">\r\n Your Plan\r\n </button>\r\n\r\n <button class="btn btn-block btn-warning selectPlan" *ngIf="requestedPlan != null && requestedPlan != 0 && plan == requestedPlan">\r\n Requested\r\n </button>\r\n\r\n <anatoly-upgrade-plan-button *ngIf="plan != currentPlan && plan != requestedPlan"\r\n [currentplantitle]="currentPlanTitle"\r\n [requestedplan]=plan\r\n [requestedplantitle]="plantitle">\r\n </anatoly-upgrade-plan-button>\r\n </div>\r\n</div>\r\n'})],t)}(),k=function(){function t(t){this.api=t}return t.prototype.onUpgradePlan=function(){var t="Current plan: "+this.currentplantitle+" New plan: "+this.requestedplantitle,n=this;y.AreYouSure(t,"Change billing plan","Confirm change","Cancel",(function(){n.api.requestNewSubscription(n.requestedplan,(function(){y.Success("Your request for changing plan has been sent.",null,(function(){window.location.reload()}))}))}))},t.ctorParameters=function(){return[{type:H}]},g([e.Input()],t.prototype,"currentplantitle",void 0),g([e.Input()],t.prototype,"requestedplan",void 0),g([e.Input()],t.prototype,"requestedplantitle",void 0),t=g([e.Component({selector:"anatoly-upgrade-plan-button",template:'<button class="btn btn-block btn-primary" (click)="onUpgradePlan()">\r\n Upgrade\r\n</button>\r\n'})],t)}(),R=function(){function t(){}return g([e.Input()],t.prototype,"classbtn",void 0),t=g([e.Component({selector:"anatoly-signin-button",template:'<a href="identity/signIn" class="{{classbtn}}">Sign In</a>\r\n'})],t)}(),N=function(){function t(){}return g([e.Input()],t.prototype,"classbtn",void 0),t=g([e.Component({selector:"anatoly-signout-button",template:'<a href="identity/signOut" class="{{classbtn}}">Sign Out</a>\r\n'})],t)}(),j=function(){function t(){}return g([e.Input()],t.prototype,"classbtn",void 0),t=g([e.Component({selector:"anatoly-signup-button",template:'<a href="identity/signup" class="{{classbtn}}">Sign Up</a>\r\n'})],t)}(),z=function(){function t(){}return t=g([e.NgModule({imports:[],exports:[R,j,N],declarations:[R,j,N],providers:[]})],t)}(),F=function(){function t(){}return t=g([e.NgModule({imports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,z],exports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,T,k,G],declarations:[T,k,G],providers:[H]})],t)}(),_=function(t){function n(n){var e=t.call(this,[])||this;return e.http=n,e.baseReadUrl="",e.data=[],e}return h(n,t),n.prototype.serializeParams=function(t){return t?"?"+$.param(t):""},n.prototype.read=function(n,e,o){var r=this;if(this.data.length)return t.prototype.next.call(this,this.data);var a=this.baseReadUrl;void 0===n&&(n=this.savedReadParams),n&&(a=this.baseReadUrl+""+this.serializeParams(n),this.savedReadParams=n),this.http.get(a).pipe(i.map((function(t){return t}))).subscribe((function(n){t.prototype.next.call(r,n),e&&e()}),(function(t){o&&o(t)}))},n.ctorParameters=function(){return[{type:r.HttpClient}]},n=g([e.Injectable()],n)}(f.BehaviorSubject),V=function(t){function n(n){var e=t.call(this,n)||this;return e.http=n,e.baseUrl="",e}return h(n,t),n.prototype.reset=function(){this.data=[]},n.prototype.resetItem=function(n){if(n){var e=this.data.find((function(t){return t.Id===n.Id}));Object.assign(e,n),t.prototype.next.call(this,this.data)}},n.prototype.save=function(t,n,e){var o=this,r=n?"add":"update";this.reset(),this.post(r,t).subscribe((function(){}),(function(){o.read()}),(function(){o.read(),e&&e()}))},n.prototype.remove=function(t,n){var e=this;this.reset(),this.post("remove",t).subscribe((function(){}),(function(){e.read()}),(function(){e.read(),n&&n()}))},n.prototype.post=function(t,n){var e=this.baseUrl+""+t+this.serializeParams(n);return this.http.post(e,n).pipe(i.map((function(t){return t})))},n.ctorParameters=function(){return[{type:r.HttpClient}]},n=g([e.Injectable()],n)}(_),L=function(){function t(){}return t=g([e.NgModule({imports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule],exports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule],declarations:[],providers:[]})],t)}();t.Alerts=y,t.AnatolyBillingModule=F,t.AnatolyCoreModule=E,t.AnatolyDataModule=L,t.AnatolyIdentityModule=z,t.AppContextService=C,t.BaseApiService=I,t.BaseComponent=P,t.BaseEditComponent=S,t.BaseGoService=v,t.BaseGridEditService=V,t.BaseGridReadService=_,t.BillingApiService=H,t.BuyAccessButtonComponent=G,t.ContentHeaderComponent=x,t.FormValidationSummaryComponent=w,t.FormsHtmlEditorComponent=O,t.HtmlEditorComponent=B,t.ItemValidationSummaryComponent=M,t.SignInButtonComponent=R,t.SignOutButtonComponent=N,t.SignUpButtonComponent=j,t.SubscribePlanButtonComponent=T,t.UpgradePlanButtonComponent=k,t.Utils=b,t.ValidationSummaryComponent=U,Object.defineProperty(t,"__esModule",{value:!0})}));
16
+ var m=function(t,n){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)};function h(t,n){function e(){this.constructor=t}m(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}function g(t,n,e,o){var r,i=arguments.length,a=i<3?n:null===o?o=Object.getOwnPropertyDescriptor(n,e):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,n,e,o);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(a=(i<3?r(a):i>3?r(n,e,a):r(n,e))||a);return i>3&&a&&Object.defineProperty(n,e,a),a}var y=function(){function t(){}return t.Info=function(t){n.fire({title:"Information",text:t,icon:"info",confirmButtonText:"OK"})},t.Warning=function(t){n.fire({title:"Warning",text:t,icon:"warning",confirmButtonText:"OK"})},t.Error=function(t){n.fire({title:"Error",text:t,icon:"error",confirmButtonText:"OK"})},t.NotImplemented=function(){this.Warning("Not Implemented Yet")},t.ErrorOccurred=function(){this.Error("Sorry, an unexpected error occurred")},t.AreYouSure=function(t,e,o,r,i,a){void 0!==e&&null!=e||(e="Are you sure?"),n.fire({title:e,text:t,icon:"warning",confirmButtonText:o,cancelButtonText:r,showCancelButton:!0}).then((function(t){t.value?i&&i():t.dismiss!=n.DismissReason.cancel&&t.dismiss!=n.DismissReason.close||a&&a()}))},t.Success=function(t,e,o){void 0!==e&&null!=e||(e="Success"),t||(t="Operation was successful"),n.fire({title:e,text:t,icon:"success",confirmButtonText:"OK"}).then((function(){o&&o()}))},t.Cancel=function(t){t||(t="Operation has been cancled"),n.fire({title:"Cancelled",text:t,icon:"info"})},t.NotificationCancel=function(t){t||(t="Operation has been cancled"),n.mixin({toast:!0,position:"top-end",showConfirmButton:!1,timer:3e3,timerProgressBar:!0}).fire({title:"Cancelled",text:t,icon:"info"})},t.NotificationSuccess=function(t,e){void 0!==e&&null!=e||(e="Success"),t||(t="Operation was successful"),n.mixin({toast:!0,position:"top-end",showConfirmButton:!1,timer:3e3,timerProgressBar:!0}).fire({title:e,text:t,icon:"success"})},t}(),b=function(){function t(){}return t.GetValueByNameInQS=function(n){return t.GetValueByName(location.search,n)},t.GetValueByName=function(t,n){n=n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var e=new RegExp("[\\?&]"+n+"=([^&#]*)").exec(t);return null===e?"":decodeURIComponent(e[1].replace(/\+/g," "))},t}(),v=function(){function t(t,n){this.route=t,this.router=n}return t.prototype.locationReload=function(){window.location.reload()},t.ctorParameters=function(){return[{type:o.ActivatedRoute},{type:o.Router}]},t=g([e.Injectable()],t)}(),I=function(){function t(t){this.http=t,this.baseUrl=""}return t.prototype.serializeParams=function(t){return t?"?"+$.param(t):""},t.prototype.get=function(t,n){var e=this.baseUrl+"/"+t+this.serializeParams(n);return this.http.get(e).pipe(i.map((function(t){return t})))},t.prototype.post=function(t,n,e){e||(e="text");var o=this.baseUrl+"/"+t;return this.http.post(o,n,{responseType:e})},t.prototype.postQS=function(t,n,e){e||(e="text");var o=this.baseUrl+"/"+t+this.serializeParams(n);return this.http.post(o,null,{responseType:e})},t.prototype.delete=function(t,n,e){e||(e="text");var o=this.baseUrl+"/"+t+this.serializeParams(n);return this.http.delete(o,{responseType:e})},t.prototype.getById=function(t){return this.get("getById",{id:t})},t.prototype.getAll=function(t){return this.get("getall",t).pipe(i.map((function(t){return t})))},t.prototype.getJsonFile=function(t,n,e){n||(n="/dist/jsons"),e||(e="1.0");var o=n+"/"+t+"?"+e;return this.http.get(o).pipe(i.map((function(t){return t})))},t.prototype.getNewGuid=function(){var t=this.baseUrl+"/getNewGuid";return this.http.get(t,{responseType:"text"})},t.ctorParameters=function(){return[{type:r.HttpClient}]},t=g([e.Injectable()],t)}(),C=function(t){function n(n){var e=t.call(this,n)||this;return e.http=n,e.current=null,e.successes=[],e.subscription=null,e.baseUrl="/api/appContext",e}return h(n,t),n.prototype.getCurrent=function(t){var n=this;void 0!==t&&(null==this.current?(this.successes.push(t),null==this.subscription&&(this.subscription=this.get("GetCurrentContext",null).subscribe((function(t){n.dataReceived(t)}),(function(t){})))):t(this.current))},n.prototype.dataReceived=function(t){this.current=t;for(var n=0;n<this.successes.length;n++){(0,this.successes[n])(t)}this.successes=[],this.subscription.unsubscribe(),this.subscription=null,this.current=null},n.prototype.isUserSignedIn=function(){return window.__context_isUserSignedIn},n.prototype.isUserAdmin=function(){return window.__context_isUserAdmin},n.ctorParameters=function(){return[{type:r.HttpClient}]},n=g([e.Injectable()],n)}(I),P=function(){function t(){}return t.prototype.getQSId=function(){var t=b.GetValueByNameInQS("id");return void 0===t||""==t?null:t},t.prototype.showLoading=function(){$("#pnlLoading").show()},t.prototype.hideLoading=function(){$("#pnlLoading").hide()},t.prototype.handleError=function(t){this.hideLoading(),y.ErrorOccurred()},t}(),S=function(t){function n(){var n=t.call(this)||this;return n.formSubmitted=!1,n}return h(n,t),n.prototype.isActionAdding=function(){var t=b.GetValueByNameInQS("id");return void 0===t||""==t},n.prototype.getEntityId=function(){return this.getQSId()},n.prototype.isItemInvalid=function(t){return void 0!==t&&""!=t&&(!!this.formGroup&&(!!this.formGroup.get(t)&&(this.formSubmitted&&this.formGroup.get(t).invalid||this.formGroup.get(t).touched&&this.formGroup.get(t).invalid)))},n.prototype.getFormValue=function(t){return this.formGroup.controls[t].value},n.prototype.setFormValue=function(t,n){this.formGroup.controls[t].setValue(n)},n.prototype.getFormGroupValue=function(t,n){return this.formGroup.controls[t].get(n).value},n.prototype.setFormGroupValue=function(t,n,e){this.formGroup.controls[t].get(n).setValue(e)},g([e.Input()],n.prototype,"formGroup",void 0),g([e.Input()],n.prototype,"formSubmitted",void 0),n}(P),x=function(){function t(){}return t.prototype.ngOnInit=function(){null==this.title&&(this.title="")},g([e.Input()],t.prototype,"title",void 0),t=g([e.Component({selector:"anatoly-content-header",template:'<h2 class="page-header">\r\n {{title}}\r\n \x3c!--<small>Optional {{title}}</small>--\x3e\r\n</h2>\r\n'})],t)}(),U=function(t){function n(){return t.call(this)||this}return h(n,t),n.prototype.getFormValidationMessages=function(){var t=this,n=[];return Object.keys(this.formGroup.controls).forEach((function(e){var o=t.formGroup.controls[e];null!=o.controls?Object.keys(o.controls).forEach((function(e){var r=o.controls[e];t.getValidationMessages(r,e).forEach((function(t){return n.push(t)}))})):t.getValidationMessages(o,e).forEach((function(t){return n.push(t)}))})),n},n.prototype.getValidationMessages=function(t,n){var e=t.path||n,o=[];if(t.errors)for(var r in t.errors)if(t.errors.hasOwnProperty(r))switch(r){case"required":o.push(e+" is required");break;case"minlength":o.push(e+" must be at least "+t.errors.minlength.requiredLength+" characters");break;case"pattern":o.push(e+" contains illegal characters")}return o},n}(S),w=function(t){function n(){var n=t.call(this)||this;return n.visible=!1,n}return h(n,t),n.prototype.getErrors=function(){return this.getFormValidationMessages()},g([e.Input()],n.prototype,"visible",void 0),n=g([e.Component({selector:"anatoly-form-validation-summary",template:'<div class="callout callout-danger" *ngIf="visible">\r\n <h4 class="box-title">There are problems with the form</h4>\r\n <p *ngFor="let error of getErrors()"><span class="help-block " style="color:white">{{error}}</span></p>\r\n</div>\r\n'})],n)}(U),M=function(t){function n(){return t.call(this)||this}return h(n,t),g([e.Input()],n.prototype,"controlName",void 0),g([e.Input()],n.prototype,"controlTitle",void 0),n=g([e.Component({selector:"anatoly-item-validation-summary",template:'<ul class="list-unstyled" *ngIf="isItemInvalid(controlName)">\r\n <li *ngFor="let error of getValidationMessages(formGroup.get(controlName), controlTitle)">\r\n <span class="help-block">{{ error }}</span>\r\n </li>\r\n</ul>\r\n'})],n)}(U),A={placeholderText:"Edit Your Content Here",charCounterCount:!0,heightMin:100,toolbarInline:!1,toolbarButtons:{moreText:{buttons:["bold","italic","underline","strikeThrough","subscript","superscript","fontFamily","fontSize","textColor","backgroundColor","inlineClass","inlineStyle"]},moreParagraph:{buttons:["alignLeft","alignCenter","formatOLSimple","alignRight","alignJustify","formatOL","formatUL","paragraphFormat","paragraphStyle","lineHeight","outdent","indent","quote"]},moreRich:{buttons:["insertLink","insertImage","insertTable","emoticons","fontAwesome","specialCharacters","embedly"]},moreMisc:{buttons:["selectAll","clearFormatting","html","undo","redo","fullscreen"],align:"right"}},imageUploadURL:"/api/HtmlEditor/UploadImage",imageAllowedTypes:["jpeg","jpg","png"],imageUploadParams:{uploadType:"",uploadParentId:""}},q=function(t){function n(){var n=t.call(this)||this;return n.froalaEditorInitialized=!1,n.afterInitializedActions=[],n.editorId="",n.editorLabelText="Html",n.editorOptions={},n}return h(n,t),n.prototype.ngOnInit=function(){var t=this.editorOptions;"string"==typeof this.editorOptions&&(t=JSON.parse(this.editorOptions));var n=$.extend({},A,t),e=window.__froalaEditor_Key;e&&(n=$.extend({},n,JSON.parse('{ "key": "'+e+'" }'))),n.events&&n.events.initialized&&(n.events.initialized.overridden=!1),n.editorId=this.editorId,this.options=n},n.prototype.ngAfterViewInit=function(){var t=this;setTimeout((function(){t.froalaEditorInitialized=!0,t.onInitialized()}),300)},n.prototype.onInitialized=function(){var t=this.afterInitializedActions;if(this.afterInitializedActions=[],t)for(var n=0;n<t.length;n++)t[n]()},n.prototype.getEditor=function(){return this.froalaEditor?this.froalaEditor.getEditor():null},n.prototype.doAfterInitialized=function(t){var n=this;this.froalaEditorInitialized?t(n):this.afterInitializedActions.push((function(){t(n)}))},n.prototype.initializeControl=function(t){this.froalaEditor=t,this.froalaEditor.initialize()},n.prototype.setUploadParams=function(t,n){this.doAfterInitialized((function(e){var o=e.getEditor();void 0!==o&&null!=o&&(o.opts.imageUploadParams.uploadType=t,o.opts.imageUploadParams.uploadParentId=n)}))},g([e.Input()],n.prototype,"editorId",void 0),g([e.Input()],n.prototype,"editorLabelText",void 0),g([e.Input()],n.prototype,"editorOptions",void 0),n}(S),B=function(t){function n(){return t.call(this)||this}return h(n,t),n.prototype.setHtml=function(t){this.doAfterInitialized((function(n){var e=n.getEditor();void 0!==e&&null!=e&&e.html.set(t)}))},n.prototype.getHtml=function(){var t=this.getEditor();if(void 0!==t&&null!=t)return t.html.get(!1)},n=g([e.Component({selector:"anatoly-html-editor",template:'<div>\r\n <label>{{ editorLabelText }}</label>\r\n <textarea id="htmleditor-{{editorId}}" class="htmleditor-{{editorId}}" \r\n [froalaEditor]="options" (froalaInit)="initializeControl($event)">\r\n </textarea>\r\n</div>'})],n)}(q),O=function(t){function n(){var n=t.call(this)||this;return n.editorFormKey="html",n}return h(n,t),g([e.Input()],n.prototype,"editorFormKey",void 0),n=g([e.Component({selector:"anatoly-forms-html-editor",template:'<div [formGroup]="formGroup">\r\n <div class="form-group" [ngClass]="{\'has-error\': isItemInvalid(editorFormKey) }">\r\n <label class="control-label">{{ editorLabelText }}</label>\r\n <textarea id="htmleditor-{{editorId}}" class="htmleditor-{{editorId}}"\r\n [formControlName]="editorFormKey"\r\n [froalaEditor]="options" (froalaInit)="initializeControl($event)">\r\n </textarea>\r\n <anatoly-item-validation-summary [formGroup]="formGroup"\r\n [formSubmitted]="formSubmitted"\r\n [controlName]="editorFormKey"\r\n [controlTitle]="editorLabelText">\r\n </anatoly-item-validation-summary>\r\n </div>\r\n</div>\r\n'})],n)}(q),E=function(){function t(){}return t=g([e.NgModule({imports:[a.CommonModule,s.ReactiveFormsModule,s.FormsModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,u.FroalaEditorModule.forRoot(),u.FroalaViewModule.forRoot(),l.GridModule,p.PopupModule,c.ButtonsModule,d.DropDownsModule],exports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,M,w,x,B,O],declarations:[M,w,x,B,O],providers:[C],schemas:[e.CUSTOM_ELEMENTS_SCHEMA,e.NO_ERRORS_SCHEMA]})],t)}(),T=function(t){function n(n){var e=t.call(this,n)||this;return e.http=n,e.baseUrl+="billing/",e}return h(n,t),n.prototype.requestNewSubscription=function(t,n,e){this.postQS("requestNewSubscription",{requestedPlan:t}).subscribe((function(t){}),(function(t){e&&e()}),(function(){n&&n()}))},n.prototype.cancelRequestedSubscription=function(t,n){this.postQS("cancelRequestedSubscription",null).subscribe((function(t){}),(function(t){n&&n()}),(function(){t&&t()}))},n.prototype.buyAccess=function(t,n,e){this.postQS("buyAccess",{requestedPlan:t}).subscribe((function(t){}),(function(t){e&&e()}),(function(){n&&n()}))},n.ctorParameters=function(){return[{type:r.HttpClient}]},n=g([e.Injectable()],n)}(I),H=function(){function t(t,n){this.appcontext=t,this.api=n,this.contextUpdated=!1,this.isUserSignedIn=!1,this.currentPlan=0,this.currentPlanTitle=""}return t.prototype.ngOnInit=function(){var t=this;this.appcontext.isUserSignedIn()?this.appcontext.getCurrent((function(n){t.isUserSignedIn=n.isUserSignedIn,t.isUserSignedIn&&(t.currentPlan=n.account.billingPlan,t.currentPlanTitle=n.account.billingPlanAsString),t.contextUpdated=!0})):this.contextUpdated=!0},t.prototype.onBuyPlan=function(){var t="Requested plan: "+this.plantitle+" ",n=this;y.AreYouSure(t,"Buying access","Confirm change","Cancel",(function(){n.api.buyAccess(n.plan,(function(){y.Success("Access Granted",null,(function(){window.location.reload()}))}))}))},t.ctorParameters=function(){return[{type:C},{type:T}]},g([e.Input()],t.prototype,"plan",void 0),g([e.Input()],t.prototype,"plantitle",void 0),t=g([e.Component({selector:"anatoly-buyaccess-button",template:'<div *ngIf="contextUpdated">\r\n <div *ngIf="!isUserSignedIn">\r\n <anatoly-signup-button classbtn="btn btn-block btn-primary"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf="isUserSignedIn">\r\n <button class="btn btn-block btn-success selectPlan" *ngIf="plan == currentPlan">\r\n Your Plan\r\n </button>\r\n\r\n <button class="btn btn-block btn-warning selectPlan" *ngIf="plan != currentPlan && currentPlan == 1" (click)="onBuyPlan()">\r\n Buy Now\r\n </button>\r\n </div>\r\n</div>\r\n'})],t)}(),G=function(){function t(t){this.appcontext=t,this.contextUpdated=!1,this.isUserSignedIn=!1,this.currentPlan=0,this.currentPlanTitle="",this.requestedPlan=0,this.requestedPlanTitle=""}return t.prototype.ngOnInit=function(){var t=this;this.appcontext.isUserSignedIn()?this.appcontext.getCurrent((function(n){t.isUserSignedIn=n.isUserSignedIn,t.isUserSignedIn&&(t.currentPlan=n.account.billingPlan,t.currentPlanTitle=n.account.billingPlanAsString,t.requestedPlan=n.account.requestedBillingPlan,t.requestedPlanTitle=n.account.requestedBillingPlanAsString),t.contextUpdated=!0})):this.contextUpdated=!0},t.ctorParameters=function(){return[{type:C}]},g([e.Input()],t.prototype,"plan",void 0),g([e.Input()],t.prototype,"plantitle",void 0),t=g([e.Component({selector:"anatoly-subscribe-plan-button",template:'<div *ngIf="contextUpdated">\r\n <div *ngIf="!isUserSignedIn">\r\n <anatoly-signup-button classbtn="btn btn-block btn-primary"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf="isUserSignedIn">\r\n <button class="btn btn-block btn-success selectPlan" *ngIf="plan == currentPlan">\r\n Your Plan\r\n </button>\r\n\r\n <button class="btn btn-block btn-warning selectPlan" *ngIf="requestedPlan != null && requestedPlan != 0 && plan == requestedPlan">\r\n Requested\r\n </button>\r\n\r\n <anatoly-upgrade-plan-button *ngIf="plan != currentPlan && plan != requestedPlan"\r\n [currentplantitle]="currentPlanTitle"\r\n [requestedplan]=plan\r\n [requestedplantitle]="plantitle">\r\n </anatoly-upgrade-plan-button>\r\n </div>\r\n</div>\r\n'})],t)}(),k=function(){function t(t){this.api=t}return t.prototype.onUpgradePlan=function(){var t="Current plan: "+this.currentplantitle+" New plan: "+this.requestedplantitle,n=this;y.AreYouSure(t,"Change billing plan","Confirm change","Cancel",(function(){n.api.requestNewSubscription(n.requestedplan,(function(){y.Success("Your request for changing plan has been sent.",null,(function(){window.location.reload()}))}))}))},t.ctorParameters=function(){return[{type:T}]},g([e.Input()],t.prototype,"currentplantitle",void 0),g([e.Input()],t.prototype,"requestedplan",void 0),g([e.Input()],t.prototype,"requestedplantitle",void 0),t=g([e.Component({selector:"anatoly-upgrade-plan-button",template:'<button class="btn btn-block btn-primary" (click)="onUpgradePlan()">\r\n Upgrade\r\n</button>\r\n'})],t)}(),R=function(){function t(){}return g([e.Input()],t.prototype,"classbtn",void 0),t=g([e.Component({selector:"anatoly-signin-button",template:'<a href="identity/signIn" class="{{classbtn}}">Sign In</a>\r\n'})],t)}(),N=function(){function t(){}return g([e.Input()],t.prototype,"classbtn",void 0),t=g([e.Component({selector:"anatoly-signout-button",template:'<a href="identity/signOut" class="{{classbtn}}">Sign Out</a>\r\n'})],t)}(),j=function(){function t(){}return g([e.Input()],t.prototype,"classbtn",void 0),t=g([e.Component({selector:"anatoly-signup-button",template:'<a href="identity/signup" class="{{classbtn}}">Sign Up</a>\r\n'})],t)}(),z=function(){function t(){}return t=g([e.NgModule({imports:[],exports:[R,j,N],declarations:[R,j,N],providers:[]})],t)}(),F=function(){function t(){}return t=g([e.NgModule({imports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,z],exports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,G,k,H],declarations:[G,k,H],providers:[T]})],t)}(),_=function(t){function n(n){var e=t.call(this,[])||this;return e.http=n,e.baseReadUrl="",e.data=[],e}return h(n,t),n.prototype.serializeParams=function(t){return t?"?"+$.param(t):""},n.prototype.read=function(n,e,o){var r=this;if(this.data.length)return t.prototype.next.call(this,this.data);var a=this.baseReadUrl;void 0===n&&(n=this.savedReadParams),n&&(a=this.baseReadUrl+""+this.serializeParams(n),this.savedReadParams=n),this.http.get(a).pipe(i.map((function(t){return t}))).subscribe((function(n){t.prototype.next.call(r,n),e&&e()}),(function(t){o&&o(t)}))},n.ctorParameters=function(){return[{type:r.HttpClient}]},n=g([e.Injectable()],n)}(f.BehaviorSubject),V=function(t){function n(n){var e=t.call(this,n)||this;return e.http=n,e.baseUrl="",e}return h(n,t),n.prototype.reset=function(){this.data=[]},n.prototype.resetItem=function(n){if(n){var e=this.data.find((function(t){return t.Id===n.Id}));Object.assign(e,n),t.prototype.next.call(this,this.data)}},n.prototype.save=function(t,n,e){var o=this,r=n?"add":"update";this.reset(),this.post(r,t).subscribe((function(){}),(function(){o.read()}),(function(){o.read(),e&&e()}))},n.prototype.remove=function(t,n){var e=this;this.reset(),this.post("remove",t).subscribe((function(){}),(function(){e.read()}),(function(){e.read(),n&&n()}))},n.prototype.post=function(t,n){var e=this.baseUrl+""+t+this.serializeParams(n);return this.http.post(e,n).pipe(i.map((function(t){return t})))},n.ctorParameters=function(){return[{type:r.HttpClient}]},n=g([e.Injectable()],n)}(_),L=function(){function t(){}return t=g([e.NgModule({imports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule],exports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule],declarations:[],providers:[]})],t)}();t.Alerts=y,t.AnatolyBillingModule=F,t.AnatolyCoreModule=E,t.AnatolyDataModule=L,t.AnatolyIdentityModule=z,t.AppContextService=C,t.BaseApiService=I,t.BaseComponent=P,t.BaseEditComponent=S,t.BaseGoService=v,t.BaseGridEditService=V,t.BaseGridReadService=_,t.BillingApiService=T,t.BuyAccessButtonComponent=H,t.ContentHeaderComponent=x,t.FormValidationSummaryComponent=w,t.FormsHtmlEditorComponent=O,t.HtmlEditorComponent=B,t.ItemValidationSummaryComponent=M,t.SignInButtonComponent=R,t.SignOutButtonComponent=N,t.SignUpButtonComponent=j,t.SubscribePlanButtonComponent=G,t.UpgradePlanButtonComponent=k,t.Utils=b,t.ValidationSummaryComponent=U,Object.defineProperty(t,"__esModule",{value:!0})}));
17
17
  //# sourceMappingURL=osovitny-anatoly.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@osovitny/anatoly/lib/core/alerts.ts","ng://@osovitny/anatoly/lib/core/utils.ts","ng://@osovitny/anatoly/lib/core/services/base-go.service.ts","ng://@osovitny/anatoly/lib/data/base/base-api.service.ts","ng://@osovitny/anatoly/lib/core/services/appcontext.service.ts","ng://@osovitny/anatoly/lib/core/components/base.component.ts","ng://@osovitny/anatoly/lib/core/components/base-edit.component.ts","ng://@osovitny/anatoly/lib/core/components/content-header/content-header.component.ts","ng://@osovitny/anatoly/lib/core/components/validation/validation-summary.component.ts","ng://@osovitny/anatoly/lib/core/components/validation/form-validation-summary.component.ts","ng://@osovitny/anatoly/lib/core/components/validation/item-validation-summary.component.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/html-editor.defaultoptions.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/base-html-editor.component.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/html-editor.component.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/forms-html-editor.component.ts","ng://@osovitny/anatoly/lib/core/core.module.ts","ng://@osovitny/anatoly/lib/data/services/billing-api.service.ts","ng://@osovitny/anatoly/lib/billing/components/buyaccess/buyaccess-button.component.ts","ng://@osovitny/anatoly/lib/billing/components/subscriptions/subscribe-plan-button.component.ts","ng://@osovitny/anatoly/lib/billing/components/subscriptions/upgrade-plan-button.component.ts","ng://@osovitny/anatoly/lib/identity/components/signin-button.component.ts","ng://@osovitny/anatoly/lib/identity/components/signout-button.component.ts","ng://@osovitny/anatoly/lib/identity/components/signup-button.component.ts","ng://@osovitny/anatoly/lib/identity/identity.module.ts","ng://@osovitny/anatoly/lib/billing/billing.module.ts","ng://@osovitny/anatoly/lib/data/base/grid/base-grid-read.service.ts","ng://@osovitny/anatoly/lib/data/base/grid/base-grid-edit.service.ts","ng://@osovitny/anatoly/lib/data/data.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","Alerts","Info","text","Swal","fire","title","icon","confirmButtonText","Warning","Error","NotImplemented","ErrorOccurred","AreYouSure","cancelButtonText","successAction","cancelAction","showCancelButton","then","result","value","dismiss","DismissReason","cancel","close","Success","Cancel","NotificationCancel","mixin","toast","position","showConfirmButton","timer","timerProgressBar","NotificationSuccess","Utils","GetValueByNameInQS","name","GetValueByName","location","search","url","replace","results","RegExp","exec","decodeURIComponent","BaseGoService","route","router","locationReload","window","reload","ActivatedRoute","Router","Injectable","BaseApiService","http","baseUrl","serializeParams","data","$","param","get","action","pipe","map","res","post","postQS","delete","getById","id","getAll","getJsonFile","fileName","jsonUrl","jsonVersion","getNewGuid","responseType","HttpClient","AppContextService","_this","_super","call","current","successes","subscription","getCurrent","success","push","subscribe","dataReceived","e","unsubscribe","isUserSignedIn","__context_isUserSignedIn","isUserAdmin","__context_isUserAdmin","BaseComponent","getQSId","showLoading","show","hideLoading","hide","handleError","BaseEditComponent","formSubmitted","isActionAdding","getEntityId","isItemInvalid","formGroup","invalid","touched","getFormValue","controls","setFormValue","setValue","getFormGroupValue","groupName","setFormGroupValue","Input","ContentHeaderComponent","ngOnInit","Component","selector","template","ValidationSummaryComponent","getFormValidationMessages","messages","keys","forEach","k","control","child","getValidationMessages","m","state","thingName","thing","path","errors","errorName","requiredLength","FormValidationSummaryComponent","visible","getErrors","ItemValidationSummaryComponent","DefaultEditorOptions","placeholderText","charCounterCount","heightMin","toolbarInline","toolbarButtons","moreText","buttons","moreParagraph","moreRich","moreMisc","align","imageUploadURL","imageAllowedTypes","imageUploadParams","uploadType","uploadParentId","BaseHtmlEditorComponent","froalaEditorInitialized","afterInitializedActions","editorId","editorLabelText","editorOptions","opt","JSON","parse","newOptions","extend","__froalaEditor_Key","events","initialized","overridden","options","ngAfterViewInit","that","setTimeout","onInitialized","actions","getEditor","froalaEditor","doAfterInitialized","initializeControl","initialize","setUploadParams","editor","opts","HtmlEditorComponent","setHtml","content","html","set","getHtml","FormsHtmlEditorComponent","editorFormKey","AnatolyCoreModule","NgModule","imports","CommonModule","ReactiveFormsModule","FormsModule","HttpClientModule","HttpClientXsrfModule","HttpClientJsonpModule","FroalaEditorModule","forRoot","FroalaViewModule","GridModule","PopupModule","ButtonsModule","DropDownsModule","exports","declarations","providers","schemas","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","BillingApiService","requestNewSubscription","requestedPlan","error","cancelRequestedSubscription","buyAccess","BuyAccessButtonComponent","appcontext","api","contextUpdated","currentPlan","currentPlanTitle","account","billingPlan","billingPlanAsString","onBuyPlan","plantitle","plan","SubscribePlanButtonComponent","requestedPlanTitle","requestedBillingPlan","requestedBillingPlanAsString","UpgradePlanButtonComponent","onUpgradePlan","currentplantitle","requestedplantitle","requestedplan","SignInButtonComponent","SignOutButtonComponent","SignUpButtonComponent","AnatolyIdentityModule","AnatolyBillingModule","BaseGridReadService","baseReadUrl","read","params","next","savedReadParams","BehaviorSubject","BaseGridEditService","reset","resetItem","dataItem","originalDataItem","find","item","Id","assign","save","isNew","sucess","remove","AnatolyDataModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport Swal from 'sweetalert2'\r\n\r\nexport class Alerts {\r\n public static Info(text) {\r\n Swal.fire({\r\n title: \"Information\",\r\n text: text,\r\n icon: \"info\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static Warning(text) {\r\n Swal.fire({\r\n title: \"Warning\",\r\n text: text,\r\n icon: \"warning\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static Error(text) {\r\n Swal.fire({\r\n title: \"Error\",\r\n text: text,\r\n icon: \"error\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static NotImplemented() {\r\n this.Warning(\"Not Implemented Yet\");\r\n };\r\n\r\n public static ErrorOccurred() {\r\n this.Error(\"Sorry, an unexpected error occurred\");\r\n };\r\n\r\n public static AreYouSure(text, title?, confirmButtonText?, cancelButtonText?, successAction?, cancelAction?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Are you sure?\";\r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: 'warning',\r\n confirmButtonText: confirmButtonText,\r\n cancelButtonText: cancelButtonText,\r\n showCancelButton: true\r\n })\r\n .then((result) => {\r\n if (result.value) {\r\n if (successAction) {\r\n successAction();\r\n }\r\n }\r\n // result.dismiss can be 'cancel', 'overlay', 'close', and 'timer'\r\n else if (result.dismiss == Swal.DismissReason.cancel || result.dismiss == Swal.DismissReason.close) {\r\n if (cancelAction) {\r\n cancelAction();\r\n }\r\n }\r\n });\r\n };\r\n\r\n public static Success(text?, title?, successAction?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Success\";\r\n\r\n if (!text) {\r\n text = \"Operation was successful\";\r\n }\r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: \"success\",\r\n confirmButtonText: \"OK\"\r\n })\r\n .then(function () {\r\n if (successAction) {\r\n successAction();\r\n }\r\n });\r\n }\r\n\r\n public static Cancel(text?) {\r\n if (!text) {\r\n text = \"Operation has been cancled\";\r\n }\r\n\r\n Swal.fire({ \r\n title: 'Cancelled',\r\n text: text,\r\n icon: \"info\"\r\n })\r\n }\r\n\r\n //Notifications\r\n public static NotificationCancel(text?) {\r\n if (!text) {\r\n text = \"Operation has been cancled\";\r\n }\r\n\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true\r\n })\r\n\r\n toast.fire({\r\n title: 'Cancelled',\r\n text: text,\r\n icon: \"info\"\r\n })\r\n }\r\n\r\n public static NotificationSuccess(text?, title?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Success\";\r\n\r\n if (!text) {\r\n text = \"Operation was successful\";\r\n }\r\n\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true\r\n })\r\n\r\n toast.fire({\r\n title: title,\r\n text: text,\r\n icon: \"success\",\r\n })\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Utils {\r\n public static GetValueByNameInQS(name) {\r\n return Utils.GetValueByName(location.search, name);\r\n }\r\n\r\n public static GetValueByName(url, name) {\r\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n \r\n results = regex.exec(url);\r\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 17 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class BaseGoService {\r\n protected route: ActivatedRoute;\r\n protected router: Router;\r\n\r\n constructor(route: ActivatedRoute, router: Router) {\r\n this.route = route;\r\n this.router = router;\r\n }\r\n\r\n locationReload() {\r\n //this.router.navigate([this.route.url]);\r\n (<any>window).location.reload();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n protected baseUrl: string = \"\";\r\n\r\n constructor(protected http: HttpClient) {\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n //api\r\n get<T>(action: string, data?: any): Observable<T> {\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.get<T>(url).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n post<T>(action: string, data?: any): Observable<T> {\r\n var url = `${this.baseUrl}/${action}`;\r\n return this.http.post(url, data).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n postQS<T>(action: string, data?: any): Observable<T> {\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, null).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n delete<T>(action: string, data?: any): Observable<T> {\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.delete<T>(url).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n //gets\r\n getById<T>(id: any): Observable<T> {\r\n return this.get<T>('getById', { id: id });\r\n }\r\n\r\n getAll<T>(data?: any): Observable<T[]> {\r\n return this.get('getall', data).pipe(\r\n map(res => <T[]>res)\r\n );\r\n }\r\n\r\n getJsonFile(fileName: string, jsonUrl?: string, jsonVersion?: string): Observable<any[]> {\r\n if (!jsonUrl) {\r\n jsonUrl = \"/dist/jsons\";\r\n }\r\n\r\n if (!jsonVersion) {\r\n jsonVersion = \"1.0\";\r\n }\r\n\r\n var url = jsonUrl + \"/\" + fileName + '?' + jsonVersion;\r\n return this.http.get(url).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n\r\n getNewGuid(): Observable<string> {\r\n var url = `${this.baseUrl}/getNewGuid`;\r\n return this.http.get(url, { responseType: 'text' });\r\n }\r\n}","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\n\r\n//App\r\nimport { BaseApiService } from '../../data/base/base-api.service';\r\n\r\n@Injectable()\r\nexport class AppContextService extends BaseApiService {\r\n private current = null;\r\n private successes = [];\r\n private subscription: Subscription = null;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = '/api/appContext';\r\n }\r\n\r\n getCurrent(success: Function) {\r\n if (typeof success == \"undefined\") {\r\n return;\r\n }\r\n\r\n if (this.current != null) {\r\n success(this.current);\r\n return;\r\n }\r\n\r\n this.successes.push(success);\r\n\r\n if (this.subscription != null) {\r\n return;\r\n }\r\n\r\n this.subscription = this.get('GetCurrentContext', null).subscribe(\r\n data => {\r\n this.dataReceived(data);\r\n },\r\n e => { }\r\n );\r\n }\r\n\r\n dataReceived(data) {\r\n this.current = data;\r\n\r\n for (var i = 0; i < this.successes.length; i++) {\r\n var success = this.successes[i];\r\n success(data);\r\n }\r\n\r\n this.successes = [];\r\n this.subscription.unsubscribe();\r\n this.subscription = null;\r\n this.current = null;\r\n }\r\n\r\n isUserSignedIn() {\r\n return (<any>window).__context_isUserSignedIn;\r\n }\r\n\r\n isUserAdmin() {\r\n return (<any>window).__context_isUserAdmin;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 28 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { Alerts } from '../alerts';\r\nimport { Utils } from '../utils';\r\n\r\nexport class BaseComponent {\r\n constructor() {\r\n }\r\n\r\n getQSId() {\r\n var id = Utils.GetValueByNameInQS(\"id\");\r\n if (typeof id === 'undefined' || id == '') return null;\r\n\r\n return id;\r\n }\r\n\r\n showLoading() {\r\n var panelLoading = $('#pnlLoading');\r\n panelLoading.show();\r\n }\r\n\r\n hideLoading() {\r\n var panelLoading = $('#pnlLoading');\r\n panelLoading.hide();\r\n }\r\n\r\n handleError(e) {\r\n this.hideLoading();\r\n Alerts.ErrorOccurred();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 20 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n//Custom\r\nimport { BaseComponent } from './base.component';\r\nimport { Utils } from '../utils';\r\n\r\nexport class BaseEditComponent extends BaseComponent {\r\n @Input() \r\n public formGroup: FormGroup;\r\n \r\n @Input()\r\n public formSubmitted: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n isActionAdding() {\r\n var id = Utils.GetValueByNameInQS(\"id\");\r\n if (typeof id === 'undefined' || id == '') return true;\r\n\r\n return false;\r\n }\r\n\r\n getEntityId() {\r\n return this.getQSId();\r\n }\r\n\r\n isItemInvalid(name: string) {\r\n if (typeof name === 'undefined' || name == '') {\r\n return false;\r\n }\r\n\r\n if (!this.formGroup) {\r\n return false;\r\n }\r\n\r\n if (this.formGroup.get(name)) {\r\n return (this.formSubmitted && this.formGroup.get(name).invalid) ||\r\n (this.formGroup.get(name).touched && this.formGroup.get(name).invalid);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getFormValue(name) {\r\n return this.formGroup.controls[name].value;\r\n }\r\n\r\n setFormValue(name, value) {\r\n this.formGroup.controls[name].setValue(value);\r\n }\r\n\r\n getFormGroupValue(groupName, name) {\r\n return this.formGroup.controls[groupName].get(name).value;\r\n }\r\n\r\n setFormGroupValue(groupName, name, value) {\r\n this.formGroup.controls[groupName].get(name).setValue(value);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 23 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-content-header',\r\n templateUrl: './content-header.component.html'\r\n})\r\n\r\nexport class ContentHeaderComponent implements OnInit {\r\n @Input() title?: string;\r\n\r\n ngOnInit() {\r\n if (this.title == null) {\r\n this.title = '';\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 8 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n//Custom\r\nimport { BaseEditComponent } from '../base-edit.component';\r\n\r\nexport class ValidationSummaryComponent extends BaseEditComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n getFormValidationMessages(): string[] {\r\n let messages: string[] = [];\r\n\r\n Object.keys(this.formGroup.controls).forEach(k => {\r\n var control = this.formGroup.controls[k];\r\n\r\n if ((<FormGroup>control).controls != null) {\r\n Object.keys((<FormGroup>control).controls).forEach(k => {\r\n var child = (<FormGroup>control).controls[k];\r\n this.getValidationMessages(child, k).forEach(m => messages.push(m));\r\n });\r\n }\r\n else {\r\n this.getValidationMessages(control, k).forEach(m => messages.push(m));\r\n }\r\n });\r\n\r\n return messages;\r\n }\r\n\r\n getValidationMessages(state: any, thingName?: string) {\r\n let thing: string = state.path || thingName;\r\n let messages: string[] = [];\r\n\r\n if (state.errors) {\r\n for (let errorName in state.errors) {\r\n if (state.errors.hasOwnProperty(errorName)) {\r\n switch (errorName) {\r\n case 'required':\r\n messages.push(`${thing} is required`);\r\n break;\r\n\r\n case 'minlength':\r\n messages.push(`${thing} must be at least ${state.errors['minlength'].requiredLength} characters`);\r\n break;\r\n\r\n case 'pattern':\r\n messages.push(`${thing} contains illegal characters`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 7 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: 'anatoly-form-validation-summary',\r\n templateUrl: './form-validation-summary.component.html'\r\n})\r\n\r\nexport class FormValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() visible: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n getErrors(): string[] {\r\n var messages = this.getFormValidationMessages();\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 6 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: 'anatoly-item-validation-summary',\r\n templateUrl: './item-validation-summary.component.html'\r\n})\r\nexport class ItemValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() controlName: string;\r\n @Input() controlTitle: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","export const DefaultEditorOptions: Object = { \r\n placeholderText: 'Edit Your Content Here',\r\n charCounterCount: true,\r\n heightMin: 100,\r\n toolbarInline: false,\r\n\r\n toolbarButtons: {\r\n 'moreText': {\r\n 'buttons': ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', \r\n 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle']\r\n },\r\n 'moreParagraph': {\r\n 'buttons': ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', \r\n 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote']\r\n },\r\n 'moreRich': {\r\n 'buttons': ['insertLink', 'insertImage', 'insertTable', 'emoticons', 'fontAwesome', \r\n 'specialCharacters', 'embedly']\r\n },\r\n 'moreMisc': {\r\n 'buttons': ['selectAll', 'clearFormatting', 'html', 'undo', 'redo', 'fullscreen'],\r\n 'align': 'right',\r\n }\r\n },\r\n\r\n /*\r\n Upload:\r\n https://www.froala.com/wysiwyg-editor/docs/concepts/image/upload\r\n */\r\n imageUploadURL: '/api/HtmlEditor/UploadImage',\r\n imageAllowedTypes: ['jpeg', 'jpg', 'png'],\r\n imageUploadParams: { uploadType: '', uploadParentId: '' }\r\n};","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, OnInit, Input, AfterViewInit } from '@angular/core';\r\n\r\nimport FroalaEditor from 'froala-editor';\r\n\r\n//Custom\r\nimport { BaseEditComponent } from '../base-edit.component';\r\nimport { DefaultEditorOptions } from './html-editor.defaultoptions';\r\n\r\nexport class BaseHtmlEditorComponent extends BaseEditComponent implements OnInit, AfterViewInit {\r\n protected froalaEditor; \r\n protected editor2;\r\n\r\n //Public members\r\n public options;\r\n public froalaEditorInitialized: boolean = false;\r\n public afterInitializedActions = [];\r\n\r\n //General params\r\n @Input() editorId: string = '';\r\n @Input() editorLabelText: string = 'Html';\r\n @Input() editorOptions: Object = {};\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n let opt = this.editorOptions;\r\n if (typeof this.editorOptions == \"string\") {\r\n opt = JSON.parse(this.editorOptions);\r\n }\r\n\r\n let newOptions: any = $.extend({}, DefaultEditorOptions, opt);\r\n let key = (<any>window).__froalaEditor_Key;\r\n if (key) {\r\n newOptions = $.extend({}, newOptions, JSON.parse('{ \"key\": \"' + key + '\" }'));\r\n }\r\n \r\n if (newOptions.events && newOptions.events.initialized) {\r\n newOptions.events.initialized.overridden = false;\r\n }\r\n\r\n newOptions.editorId = this.editorId;\r\n /*\r\n newOptions.froalaEditorInitialized = false;\r\n newOptions.afterInitializedActions = this.afterInitializedActions; \r\n */ \r\n this.options = newOptions;\r\n }\r\n\r\n ngAfterViewInit() {\r\n /*\r\n let that = this;\r\n let elementId = \".htmleditor-\" + this.editorId;\r\n \r\n this.editor2 = new FroalaEditor(elementId, that.options, () => {\r\n alert(that.options.editorId);\r\n });\r\n */\r\n let that = this;\r\n setTimeout(function () { \r\n that.froalaEditorInitialized = true; \r\n that.onInitialized();\r\n }, 300);\r\n }\r\n\r\n private onInitialized() {\r\n let actions = this.afterInitializedActions;\r\n\r\n //Clear actions\r\n this.afterInitializedActions = [];\r\n\r\n if (actions) {\r\n for(var i =0; i < actions.length; i++){\r\n actions[i]();\r\n }\r\n }\r\n\r\n //console.log(\"onInitialized: \" + this.options.editorId);\r\n }\r\n\r\n protected getEditor() {\r\n if (this.froalaEditor)\r\n return this.froalaEditor.getEditor();\r\n\r\n return null;\r\n }\r\n\r\n //Public Funcs\r\n public doAfterInitialized(action) {\r\n let that = this;\r\n\r\n if (!this.froalaEditorInitialized) { \r\n this.afterInitializedActions.push(() => { action(that); });\r\n }\r\n else {\r\n action(that);\r\n }\r\n }\r\n\r\n public initializeControl(control) {\r\n this.froalaEditor = control; \r\n this.froalaEditor.initialize(); \r\n }\r\n\r\n public setUploadParams(uploadType, uploadParentId) { \r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.opts.imageUploadParams.uploadType = uploadType;\r\n editor.opts.imageUploadParams.uploadParentId = uploadParentId;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from './base-html-editor.component';\r\n\r\n@Component({\r\n selector: 'anatoly-html-editor',\r\n templateUrl: './html-editor.component.html'\r\n})\r\nexport class HtmlEditorComponent extends BaseHtmlEditorComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setHtml(content) {\r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.html.set(content);\r\n });\r\n }\r\n\r\n public getHtml() {\r\n var editor = this.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n return editor.html.get(false);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from './base-html-editor.component';\r\n\r\n@Component({\r\n selector: 'anatoly-forms-html-editor',\r\n templateUrl: './forms-html-editor.component.html'\r\n})\r\nexport class FormsHtmlEditorComponent extends BaseHtmlEditorComponent { \r\n @Input() editorFormKey: string = 'html';\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 10 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule, HttpClient } from '@angular/common/http';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\n//kendo/froala\r\nimport { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';\r\nimport { GridModule } from '@progress/kendo-angular-grid';\r\nimport { PopupModule } from '@progress/kendo-angular-popup';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\n\r\n//Components\r\nimport { FormValidationSummaryComponent } from './components/validation/form-validation-summary.component';\r\nimport { ItemValidationSummaryComponent } from './components/validation/item-validation-summary.component';\r\nimport { ContentHeaderComponent } from './components/content-header/content-header.component';\r\nimport { HtmlEditorComponent } from './components/html-editor/html-editor.component';\r\nimport { FormsHtmlEditorComponent } from './components/html-editor/forms-html-editor.component';\r\n\r\n//Services\r\nimport { AppContextService } from './services/appcontext.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n\r\n FroalaEditorModule.forRoot(),\r\n FroalaViewModule.forRoot(),\r\n GridModule,\r\n PopupModule,\r\n ButtonsModule,\r\n DropDownsModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n\r\n ItemValidationSummaryComponent,\r\n FormValidationSummaryComponent,\r\n ContentHeaderComponent,\r\n\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent\r\n ],\r\n declarations: [\r\n ItemValidationSummaryComponent,\r\n FormValidationSummaryComponent,\r\n ContentHeaderComponent,\r\n\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent\r\n ],\r\n providers: [\r\n AppContextService\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n ] \r\n})\r\nexport class AnatolyCoreModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//App\r\nimport { BaseApiService } from '../base/base-api.service'\r\n\r\n@Injectable()\r\nexport class BillingApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl += 'billing/';\r\n }\r\n\r\n public requestNewSubscription(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS('requestNewSubscription', { requestedPlan: requestedPlan })\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n\r\n public cancelRequestedSubscription(success?: Function, error?: Function) {\r\n this.postQS('cancelRequestedSubscription', null)\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n\r\n public buyAccess(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS('buyAccess', { requestedPlan: requestedPlan })\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 14 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n//Services\r\nimport { AppContextService } from '../../../core/services/appcontext.service';\r\nimport { BillingApiService } from '../../../data/services/billing-api.service';\r\n\r\nimport { Alerts } from '../../../core/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-buyaccess-button',\r\n templateUrl: './buyaccess-button.component.html'\r\n})\r\nexport class BuyAccessButtonComponent implements OnInit {\r\n public contextUpdated: boolean = false;\r\n public isUserSignedIn: boolean = false;\r\n public currentPlan: number = 0;\r\n public currentPlanTitle: string = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService, private api: BillingApiService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n\r\n onBuyPlan() {\r\n const text = `Requested plan: ${this.plantitle} `;\r\n let that = this;\r\n\r\n Alerts.AreYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {\r\n that.api.buyAccess(that.plan, () => {\r\n Alerts.Success('Access Granted', null, () => {\r\n (<any>window).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 1 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n//Services\r\nimport { AppContextService } from '../../../core/services/appcontext.service';\r\n\r\n@Component({\r\n selector: 'anatoly-subscribe-plan-button',\r\n templateUrl: './subscribe-plan-button.component.html'\r\n})\r\n\r\nexport class SubscribePlanButtonComponent implements OnInit {\r\n public contextUpdated: boolean = false;\r\n public isUserSignedIn: boolean = false;\r\n public currentPlan: number = 0;\r\n public currentPlanTitle: string = \"\";\r\n public requestedPlan: number = 0;\r\n public requestedPlanTitle: string = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n this.requestedPlan = current.account.requestedBillingPlan;\r\n this.requestedPlanTitle = current.account.requestedBillingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Services\r\nimport { BillingApiService } from '../../../data/services/billing-api.service';\r\n\r\nimport { Alerts } from '../../../core/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-upgrade-plan-button',\r\n templateUrl: './upgrade-plan-button.component.html'\r\n})\r\n\r\nexport class UpgradePlanButtonComponent {\r\n @Input() currentplantitle: string;\r\n @Input() requestedplan: number;\r\n @Input() requestedplantitle: string;\r\n\r\n constructor(private api: BillingApiService) {\r\n }\r\n\r\n onUpgradePlan() {\r\n let text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;\r\n let that = this;\r\n\r\n Alerts.AreYouSure(text, 'Change billing plan', 'Confirm change', 'Cancel', () => {\r\n that.api.requestNewSubscription(that.requestedplan, () => {\r\n Alerts.Success('Your request for changing plan has been sent.', null, () => {\r\n (<any>window).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signin-button',\r\n templateUrl: './signin-button.component.html'\r\n})\r\n\r\nexport class SignInButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signout-button',\r\n templateUrl: './signout-button.component.html'\r\n})\r\n\r\nexport class SignOutButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signup-button',\r\n templateUrl: './signup-button.component.html'\r\n})\r\n\r\nexport class SignUpButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//System\r\nimport { NgModule } from '@angular/core';\r\n\r\n//Custom\r\nimport { SignInButtonComponent } from './components/signin-button.component';\r\nimport { SignUpButtonComponent } from './components/signup-button.component';\r\nimport { SignOutButtonComponent } from './components/signout-button.component';\r\n\r\n@NgModule({\r\n imports: [\r\n ],\r\n exports: [\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent\r\n ],\r\n declarations: [\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent\r\n ],\r\n providers: []\r\n})\r\n\r\nexport class AnatolyIdentityModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 10 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule, HttpClient } from '@angular/common/http';\r\n\r\n//@osovitny/anatoly\r\nimport { AnatolyIdentityModule } from '../identity'\r\n\r\n//Components/subscriptions\r\nimport { SubscribePlanButtonComponent } from './components/subscriptions/subscribe-plan-button.component';\r\nimport { UpgradePlanButtonComponent } from './components/subscriptions/upgrade-plan-button.component';\r\n\r\n//Components/buyaccess\r\nimport { BuyAccessButtonComponent } from './components/buyaccess/buyaccess-button.component';\r\n\r\n//Services\r\nimport { BillingApiService } from '../data/services/billing-api.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n AnatolyIdentityModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent\r\n ],\r\n declarations: [\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent\r\n ],\r\n providers: [\r\n BillingApiService\r\n ]\r\n})\r\n\r\nexport class AnatolyBillingModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseGridReadService extends BehaviorSubject<any[]> {\r\n protected baseReadUrl: string = \"\";\r\n protected data: any[] = []; \r\n protected savedReadParams: any; \r\n\r\n constructor(protected http: HttpClient) {\r\n super([]);\r\n }\r\n\r\n serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n read(params?: any, success?: Function, error?: Function) {\r\n if (this.data.length) {\r\n return super.next(this.data);\r\n }\r\n\r\n var url = this.baseReadUrl;\r\n\r\n if (typeof params === 'undefined') {\r\n params = this.savedReadParams;\r\n }\r\n\r\n if (params) {\r\n url = this.baseReadUrl + `${this.serializeParams(params)}`;\r\n this.savedReadParams = params;\r\n }\r\n\r\n this.http.get(url).pipe(map(res => <any[]>res)).subscribe(\r\n data => {\r\n super.next(data);\r\n if (success) success();\r\n },\r\n e => {\r\n if (error) error(e);\r\n },\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n//App \r\nimport { BaseGridReadService } from './base-grid-read.service';\r\n\r\n@Injectable()\r\nexport class BaseGridEditService extends BaseGridReadService {\r\n protected baseUrl: string = \"\";\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n private reset() {\r\n this.data = [];\r\n }\r\n\r\n resetItem(dataItem: any) {\r\n if (!dataItem) { return; }\r\n\r\n //find orignal data item\r\n const originalDataItem = this.data.find(item => item.Id === dataItem.Id);\r\n\r\n //revert changes\r\n Object.assign(originalDataItem, dataItem);\r\n super.next(this.data);\r\n }\r\n\r\n save(data: any, isNew: boolean, sucess?: Function) {\r\n const action = isNew ? 'add' : 'update';\r\n\r\n this.reset();\r\n this.post(action, data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read();\r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n remove(data: any, sucess?: Function) {\r\n this.reset();\r\n this.post('remove', data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read();\r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n post(action: any, data?: any): Observable<any[]> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, data).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n}","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule\r\n ],\r\n declarations: [\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class AnatolyDataModule {\r\n}\r\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@osovitny/anatoly/lib/core/alerts.ts","ng://@osovitny/anatoly/lib/core/utils.ts","ng://@osovitny/anatoly/lib/core/services/base-go.service.ts","ng://@osovitny/anatoly/lib/data/base/base-api.service.ts","ng://@osovitny/anatoly/lib/core/services/appcontext.service.ts","ng://@osovitny/anatoly/lib/core/components/base.component.ts","ng://@osovitny/anatoly/lib/core/components/base-edit.component.ts","ng://@osovitny/anatoly/lib/core/components/content-header/content-header.component.ts","ng://@osovitny/anatoly/lib/core/components/validation/validation-summary.component.ts","ng://@osovitny/anatoly/lib/core/components/validation/form-validation-summary.component.ts","ng://@osovitny/anatoly/lib/core/components/validation/item-validation-summary.component.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/html-editor.defaultoptions.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/base-html-editor.component.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/html-editor.component.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/forms-html-editor.component.ts","ng://@osovitny/anatoly/lib/core/core.module.ts","ng://@osovitny/anatoly/lib/data/services/billing-api.service.ts","ng://@osovitny/anatoly/lib/billing/components/buyaccess/buyaccess-button.component.ts","ng://@osovitny/anatoly/lib/billing/components/subscriptions/subscribe-plan-button.component.ts","ng://@osovitny/anatoly/lib/billing/components/subscriptions/upgrade-plan-button.component.ts","ng://@osovitny/anatoly/lib/identity/components/signin-button.component.ts","ng://@osovitny/anatoly/lib/identity/components/signout-button.component.ts","ng://@osovitny/anatoly/lib/identity/components/signup-button.component.ts","ng://@osovitny/anatoly/lib/identity/identity.module.ts","ng://@osovitny/anatoly/lib/billing/billing.module.ts","ng://@osovitny/anatoly/lib/data/base/grid/base-grid-read.service.ts","ng://@osovitny/anatoly/lib/data/base/grid/base-grid-edit.service.ts","ng://@osovitny/anatoly/lib/data/data.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","Alerts","Info","text","Swal","fire","title","icon","confirmButtonText","Warning","Error","NotImplemented","ErrorOccurred","AreYouSure","cancelButtonText","successAction","cancelAction","showCancelButton","then","result","value","dismiss","DismissReason","cancel","close","Success","Cancel","NotificationCancel","mixin","toast","position","showConfirmButton","timer","timerProgressBar","NotificationSuccess","Utils","GetValueByNameInQS","name","GetValueByName","location","search","url","replace","results","RegExp","exec","decodeURIComponent","BaseGoService","route","router","locationReload","window","reload","ActivatedRoute","Router","Injectable","BaseApiService","http","baseUrl","serializeParams","data","$","param","get","action","pipe","map","res","post","responseType","postQS","delete","getById","id","getAll","getJsonFile","fileName","jsonUrl","jsonVersion","getNewGuid","HttpClient","AppContextService","_this","_super","call","current","successes","subscription","getCurrent","success","push","subscribe","dataReceived","e","unsubscribe","isUserSignedIn","__context_isUserSignedIn","isUserAdmin","__context_isUserAdmin","BaseComponent","getQSId","showLoading","show","hideLoading","hide","handleError","BaseEditComponent","formSubmitted","isActionAdding","getEntityId","isItemInvalid","formGroup","invalid","touched","getFormValue","controls","setFormValue","setValue","getFormGroupValue","groupName","setFormGroupValue","Input","ContentHeaderComponent","ngOnInit","Component","selector","template","ValidationSummaryComponent","getFormValidationMessages","messages","keys","forEach","k","control","child","getValidationMessages","m","state","thingName","thing","path","errors","errorName","requiredLength","FormValidationSummaryComponent","visible","getErrors","ItemValidationSummaryComponent","DefaultEditorOptions","placeholderText","charCounterCount","heightMin","toolbarInline","toolbarButtons","moreText","buttons","moreParagraph","moreRich","moreMisc","align","imageUploadURL","imageAllowedTypes","imageUploadParams","uploadType","uploadParentId","BaseHtmlEditorComponent","froalaEditorInitialized","afterInitializedActions","editorId","editorLabelText","editorOptions","opt","JSON","parse","newOptions","extend","__froalaEditor_Key","events","initialized","overridden","options","ngAfterViewInit","that","setTimeout","onInitialized","actions","getEditor","froalaEditor","doAfterInitialized","initializeControl","initialize","setUploadParams","editor","opts","HtmlEditorComponent","setHtml","content","html","set","getHtml","FormsHtmlEditorComponent","editorFormKey","AnatolyCoreModule","NgModule","imports","CommonModule","ReactiveFormsModule","FormsModule","HttpClientModule","HttpClientXsrfModule","HttpClientJsonpModule","FroalaEditorModule","forRoot","FroalaViewModule","GridModule","PopupModule","ButtonsModule","DropDownsModule","exports","declarations","providers","schemas","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","BillingApiService","requestNewSubscription","requestedPlan","error","cancelRequestedSubscription","buyAccess","BuyAccessButtonComponent","appcontext","api","contextUpdated","currentPlan","currentPlanTitle","account","billingPlan","billingPlanAsString","onBuyPlan","plantitle","plan","SubscribePlanButtonComponent","requestedPlanTitle","requestedBillingPlan","requestedBillingPlanAsString","UpgradePlanButtonComponent","onUpgradePlan","currentplantitle","requestedplantitle","requestedplan","SignInButtonComponent","SignOutButtonComponent","SignUpButtonComponent","AnatolyIdentityModule","AnatolyBillingModule","BaseGridReadService","baseReadUrl","read","params","next","savedReadParams","BehaviorSubject","BaseGridEditService","reset","resetItem","dataItem","originalDataItem","find","item","Id","assign","save","isNew","sucess","remove","AnatolyDataModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport Swal from 'sweetalert2'\r\n\r\nexport class Alerts {\r\n public static Info(text) {\r\n Swal.fire({\r\n title: \"Information\",\r\n text: text,\r\n icon: \"info\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static Warning(text) {\r\n Swal.fire({\r\n title: \"Warning\",\r\n text: text,\r\n icon: \"warning\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static Error(text) {\r\n Swal.fire({\r\n title: \"Error\",\r\n text: text,\r\n icon: \"error\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static NotImplemented() {\r\n this.Warning(\"Not Implemented Yet\");\r\n };\r\n\r\n public static ErrorOccurred() {\r\n this.Error(\"Sorry, an unexpected error occurred\");\r\n };\r\n\r\n public static AreYouSure(text, title?, confirmButtonText?, cancelButtonText?, successAction?, cancelAction?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Are you sure?\";\r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: 'warning',\r\n confirmButtonText: confirmButtonText,\r\n cancelButtonText: cancelButtonText,\r\n showCancelButton: true\r\n })\r\n .then((result) => {\r\n if (result.value) {\r\n if (successAction) {\r\n successAction();\r\n }\r\n }\r\n // result.dismiss can be 'cancel', 'overlay', 'close', and 'timer'\r\n else if (result.dismiss == Swal.DismissReason.cancel || result.dismiss == Swal.DismissReason.close) {\r\n if (cancelAction) {\r\n cancelAction();\r\n }\r\n }\r\n });\r\n };\r\n\r\n public static Success(text?, title?, successAction?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Success\";\r\n\r\n if (!text) {\r\n text = \"Operation was successful\";\r\n }\r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: \"success\",\r\n confirmButtonText: \"OK\"\r\n })\r\n .then(function () {\r\n if (successAction) {\r\n successAction();\r\n }\r\n });\r\n }\r\n\r\n public static Cancel(text?) {\r\n if (!text) {\r\n text = \"Operation has been cancled\";\r\n }\r\n\r\n Swal.fire({ \r\n title: 'Cancelled',\r\n text: text,\r\n icon: \"info\"\r\n })\r\n }\r\n\r\n //Notifications\r\n public static NotificationCancel(text?) {\r\n if (!text) {\r\n text = \"Operation has been cancled\";\r\n }\r\n\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true\r\n })\r\n\r\n toast.fire({\r\n title: 'Cancelled',\r\n text: text,\r\n icon: \"info\"\r\n })\r\n }\r\n\r\n public static NotificationSuccess(text?, title?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Success\";\r\n\r\n if (!text) {\r\n text = \"Operation was successful\";\r\n }\r\n\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true\r\n })\r\n\r\n toast.fire({\r\n title: title,\r\n text: text,\r\n icon: \"success\",\r\n })\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Utils {\r\n public static GetValueByNameInQS(name) {\r\n return Utils.GetValueByName(location.search, name);\r\n }\r\n\r\n public static GetValueByName(url, name) {\r\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n \r\n results = regex.exec(url);\r\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 17 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class BaseGoService {\r\n protected route: ActivatedRoute;\r\n protected router: Router;\r\n\r\n constructor(route: ActivatedRoute, router: Router) {\r\n this.route = route;\r\n this.router = router;\r\n }\r\n\r\n locationReload() {\r\n //this.router.navigate([this.route.url]);\r\n (<any>window).location.reload();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n protected baseUrl: string = \"\";\r\n\r\n constructor(protected http: HttpClient) {\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n //api\r\n get<T>(action: string, data?: any): Observable<T> {\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.get<T>(url).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n post(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}`;\r\n return this.http.post(url, data, { responseType: responseType });\r\n }\r\n\r\n postQS(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, null, { responseType: responseType });\r\n }\r\n\r\n delete(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.delete(url, { responseType: responseType });\r\n }\r\n\r\n //gets\r\n getById<T>(id: any): Observable<T> {\r\n return this.get<T>('getById', { id: id });\r\n }\r\n\r\n getAll<T>(data?: any): Observable<T[]> {\r\n return this.get('getall', data).pipe(\r\n map(res => <T[]>res)\r\n );\r\n }\r\n\r\n getJsonFile(fileName: string, jsonUrl?: string, jsonVersion?: string): Observable<any[]> {\r\n if (!jsonUrl) {\r\n jsonUrl = \"/dist/jsons\";\r\n }\r\n\r\n if (!jsonVersion) {\r\n jsonVersion = \"1.0\";\r\n }\r\n\r\n var url = jsonUrl + \"/\" + fileName + '?' + jsonVersion;\r\n return this.http.get(url).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n\r\n getNewGuid(): Observable<string> {\r\n var url = `${this.baseUrl}/getNewGuid`;\r\n return this.http.get(url, { responseType: 'text' });\r\n }\r\n}","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\n\r\n//App\r\nimport { BaseApiService } from '../../data/base/base-api.service';\r\n\r\n@Injectable()\r\nexport class AppContextService extends BaseApiService {\r\n private current = null;\r\n private successes = [];\r\n private subscription: Subscription = null;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = '/api/appContext';\r\n }\r\n\r\n getCurrent(success: Function) {\r\n if (typeof success == \"undefined\") {\r\n return;\r\n }\r\n\r\n if (this.current != null) {\r\n success(this.current);\r\n return;\r\n }\r\n\r\n this.successes.push(success);\r\n\r\n if (this.subscription != null) {\r\n return;\r\n }\r\n\r\n this.subscription = this.get('GetCurrentContext', null).subscribe(\r\n data => {\r\n this.dataReceived(data);\r\n },\r\n e => { }\r\n );\r\n }\r\n\r\n dataReceived(data) {\r\n this.current = data;\r\n\r\n for (var i = 0; i < this.successes.length; i++) {\r\n var success = this.successes[i];\r\n success(data);\r\n }\r\n\r\n this.successes = [];\r\n this.subscription.unsubscribe();\r\n this.subscription = null;\r\n this.current = null;\r\n }\r\n\r\n isUserSignedIn() {\r\n return (<any>window).__context_isUserSignedIn;\r\n }\r\n\r\n isUserAdmin() {\r\n return (<any>window).__context_isUserAdmin;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 28 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { Alerts } from '../alerts';\r\nimport { Utils } from '../utils';\r\n\r\nexport class BaseComponent {\r\n constructor() {\r\n }\r\n\r\n getQSId() {\r\n var id = Utils.GetValueByNameInQS(\"id\");\r\n if (typeof id === 'undefined' || id == '') return null;\r\n\r\n return id;\r\n }\r\n\r\n showLoading() {\r\n var panelLoading = $('#pnlLoading');\r\n panelLoading.show();\r\n }\r\n\r\n hideLoading() {\r\n var panelLoading = $('#pnlLoading');\r\n panelLoading.hide();\r\n }\r\n\r\n handleError(e) {\r\n this.hideLoading();\r\n Alerts.ErrorOccurred();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 20 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n//Custom\r\nimport { BaseComponent } from './base.component';\r\nimport { Utils } from '../utils';\r\n\r\nexport class BaseEditComponent extends BaseComponent {\r\n @Input() \r\n public formGroup: FormGroup;\r\n \r\n @Input()\r\n public formSubmitted: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n isActionAdding() {\r\n var id = Utils.GetValueByNameInQS(\"id\");\r\n if (typeof id === 'undefined' || id == '') return true;\r\n\r\n return false;\r\n }\r\n\r\n getEntityId() {\r\n return this.getQSId();\r\n }\r\n\r\n isItemInvalid(name: string) {\r\n if (typeof name === 'undefined' || name == '') {\r\n return false;\r\n }\r\n\r\n if (!this.formGroup) {\r\n return false;\r\n }\r\n\r\n if (this.formGroup.get(name)) {\r\n return (this.formSubmitted && this.formGroup.get(name).invalid) ||\r\n (this.formGroup.get(name).touched && this.formGroup.get(name).invalid);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getFormValue(name) {\r\n return this.formGroup.controls[name].value;\r\n }\r\n\r\n setFormValue(name, value) {\r\n this.formGroup.controls[name].setValue(value);\r\n }\r\n\r\n getFormGroupValue(groupName, name) {\r\n return this.formGroup.controls[groupName].get(name).value;\r\n }\r\n\r\n setFormGroupValue(groupName, name, value) {\r\n this.formGroup.controls[groupName].get(name).setValue(value);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 23 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-content-header',\r\n templateUrl: './content-header.component.html'\r\n})\r\n\r\nexport class ContentHeaderComponent implements OnInit {\r\n @Input() title?: string;\r\n\r\n ngOnInit() {\r\n if (this.title == null) {\r\n this.title = '';\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 8 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n//Custom\r\nimport { BaseEditComponent } from '../base-edit.component';\r\n\r\nexport class ValidationSummaryComponent extends BaseEditComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n getFormValidationMessages(): string[] {\r\n let messages: string[] = [];\r\n\r\n Object.keys(this.formGroup.controls).forEach(k => {\r\n var control = this.formGroup.controls[k];\r\n\r\n if ((<FormGroup>control).controls != null) {\r\n Object.keys((<FormGroup>control).controls).forEach(k => {\r\n var child = (<FormGroup>control).controls[k];\r\n this.getValidationMessages(child, k).forEach(m => messages.push(m));\r\n });\r\n }\r\n else {\r\n this.getValidationMessages(control, k).forEach(m => messages.push(m));\r\n }\r\n });\r\n\r\n return messages;\r\n }\r\n\r\n getValidationMessages(state: any, thingName?: string) {\r\n let thing: string = state.path || thingName;\r\n let messages: string[] = [];\r\n\r\n if (state.errors) {\r\n for (let errorName in state.errors) {\r\n if (state.errors.hasOwnProperty(errorName)) {\r\n switch (errorName) {\r\n case 'required':\r\n messages.push(`${thing} is required`);\r\n break;\r\n\r\n case 'minlength':\r\n messages.push(`${thing} must be at least ${state.errors['minlength'].requiredLength} characters`);\r\n break;\r\n\r\n case 'pattern':\r\n messages.push(`${thing} contains illegal characters`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 7 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: 'anatoly-form-validation-summary',\r\n templateUrl: './form-validation-summary.component.html'\r\n})\r\n\r\nexport class FormValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() visible: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n getErrors(): string[] {\r\n var messages = this.getFormValidationMessages();\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 6 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: 'anatoly-item-validation-summary',\r\n templateUrl: './item-validation-summary.component.html'\r\n})\r\nexport class ItemValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() controlName: string;\r\n @Input() controlTitle: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","export const DefaultEditorOptions: Object = { \r\n placeholderText: 'Edit Your Content Here',\r\n charCounterCount: true,\r\n heightMin: 100,\r\n toolbarInline: false,\r\n\r\n toolbarButtons: {\r\n 'moreText': {\r\n 'buttons': ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', \r\n 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle']\r\n },\r\n 'moreParagraph': {\r\n 'buttons': ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', \r\n 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote']\r\n },\r\n 'moreRich': {\r\n 'buttons': ['insertLink', 'insertImage', 'insertTable', 'emoticons', 'fontAwesome', \r\n 'specialCharacters', 'embedly']\r\n },\r\n 'moreMisc': {\r\n 'buttons': ['selectAll', 'clearFormatting', 'html', 'undo', 'redo', 'fullscreen'],\r\n 'align': 'right',\r\n }\r\n },\r\n\r\n /*\r\n Upload:\r\n https://www.froala.com/wysiwyg-editor/docs/concepts/image/upload\r\n */\r\n imageUploadURL: '/api/HtmlEditor/UploadImage',\r\n imageAllowedTypes: ['jpeg', 'jpg', 'png'],\r\n imageUploadParams: { uploadType: '', uploadParentId: '' }\r\n};","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, OnInit, Input, AfterViewInit } from '@angular/core';\r\n\r\nimport FroalaEditor from 'froala-editor';\r\n\r\n//Custom\r\nimport { BaseEditComponent } from '../base-edit.component';\r\nimport { DefaultEditorOptions } from './html-editor.defaultoptions';\r\n\r\nexport class BaseHtmlEditorComponent extends BaseEditComponent implements OnInit, AfterViewInit {\r\n protected froalaEditor; \r\n protected editor2;\r\n\r\n //Public members\r\n public options;\r\n public froalaEditorInitialized: boolean = false;\r\n public afterInitializedActions = [];\r\n\r\n //General params\r\n @Input() editorId: string = '';\r\n @Input() editorLabelText: string = 'Html';\r\n @Input() editorOptions: Object = {};\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n let opt = this.editorOptions;\r\n if (typeof this.editorOptions == \"string\") {\r\n opt = JSON.parse(this.editorOptions);\r\n }\r\n\r\n let newOptions: any = $.extend({}, DefaultEditorOptions, opt);\r\n let key = (<any>window).__froalaEditor_Key;\r\n if (key) {\r\n newOptions = $.extend({}, newOptions, JSON.parse('{ \"key\": \"' + key + '\" }'));\r\n }\r\n \r\n if (newOptions.events && newOptions.events.initialized) {\r\n newOptions.events.initialized.overridden = false;\r\n }\r\n\r\n newOptions.editorId = this.editorId;\r\n /*\r\n newOptions.froalaEditorInitialized = false;\r\n newOptions.afterInitializedActions = this.afterInitializedActions; \r\n */ \r\n this.options = newOptions;\r\n }\r\n\r\n ngAfterViewInit() {\r\n /*\r\n let that = this;\r\n let elementId = \".htmleditor-\" + this.editorId;\r\n \r\n this.editor2 = new FroalaEditor(elementId, that.options, () => {\r\n alert(that.options.editorId);\r\n });\r\n */\r\n let that = this;\r\n setTimeout(function () { \r\n that.froalaEditorInitialized = true; \r\n that.onInitialized();\r\n }, 300);\r\n }\r\n\r\n private onInitialized() {\r\n let actions = this.afterInitializedActions;\r\n\r\n //Clear actions\r\n this.afterInitializedActions = [];\r\n\r\n if (actions) {\r\n for(var i =0; i < actions.length; i++){\r\n actions[i]();\r\n }\r\n }\r\n\r\n //console.log(\"onInitialized: \" + this.options.editorId);\r\n }\r\n\r\n protected getEditor() {\r\n if (this.froalaEditor)\r\n return this.froalaEditor.getEditor();\r\n\r\n return null;\r\n }\r\n\r\n //Public Funcs\r\n public doAfterInitialized(action) {\r\n let that = this;\r\n\r\n if (!this.froalaEditorInitialized) { \r\n this.afterInitializedActions.push(() => { action(that); });\r\n }\r\n else {\r\n action(that);\r\n }\r\n }\r\n\r\n public initializeControl(control) {\r\n this.froalaEditor = control; \r\n this.froalaEditor.initialize(); \r\n }\r\n\r\n public setUploadParams(uploadType, uploadParentId) { \r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.opts.imageUploadParams.uploadType = uploadType;\r\n editor.opts.imageUploadParams.uploadParentId = uploadParentId;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from './base-html-editor.component';\r\n\r\n@Component({\r\n selector: 'anatoly-html-editor',\r\n templateUrl: './html-editor.component.html'\r\n})\r\nexport class HtmlEditorComponent extends BaseHtmlEditorComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setHtml(content) {\r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.html.set(content);\r\n });\r\n }\r\n\r\n public getHtml() {\r\n var editor = this.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n return editor.html.get(false);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from './base-html-editor.component';\r\n\r\n@Component({\r\n selector: 'anatoly-forms-html-editor',\r\n templateUrl: './forms-html-editor.component.html'\r\n})\r\nexport class FormsHtmlEditorComponent extends BaseHtmlEditorComponent { \r\n @Input() editorFormKey: string = 'html';\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 10 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule, HttpClient } from '@angular/common/http';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\n//kendo/froala\r\nimport { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';\r\nimport { GridModule } from '@progress/kendo-angular-grid';\r\nimport { PopupModule } from '@progress/kendo-angular-popup';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\n\r\n//Components\r\nimport { FormValidationSummaryComponent } from './components/validation/form-validation-summary.component';\r\nimport { ItemValidationSummaryComponent } from './components/validation/item-validation-summary.component';\r\nimport { ContentHeaderComponent } from './components/content-header/content-header.component';\r\nimport { HtmlEditorComponent } from './components/html-editor/html-editor.component';\r\nimport { FormsHtmlEditorComponent } from './components/html-editor/forms-html-editor.component';\r\n\r\n//Services\r\nimport { AppContextService } from './services/appcontext.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n\r\n FroalaEditorModule.forRoot(),\r\n FroalaViewModule.forRoot(),\r\n GridModule,\r\n PopupModule,\r\n ButtonsModule,\r\n DropDownsModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n\r\n ItemValidationSummaryComponent,\r\n FormValidationSummaryComponent,\r\n ContentHeaderComponent,\r\n\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent\r\n ],\r\n declarations: [\r\n ItemValidationSummaryComponent,\r\n FormValidationSummaryComponent,\r\n ContentHeaderComponent,\r\n\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent\r\n ],\r\n providers: [\r\n AppContextService\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n ] \r\n})\r\nexport class AnatolyCoreModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//App\r\nimport { BaseApiService } from '../base/base-api.service'\r\n\r\n@Injectable()\r\nexport class BillingApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl += 'billing/';\r\n }\r\n\r\n public requestNewSubscription(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS('requestNewSubscription', { requestedPlan: requestedPlan })\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n\r\n public cancelRequestedSubscription(success?: Function, error?: Function) {\r\n this.postQS('cancelRequestedSubscription', null)\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n\r\n public buyAccess(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS('buyAccess', { requestedPlan: requestedPlan })\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 14 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n//Services\r\nimport { AppContextService } from '../../../core/services/appcontext.service';\r\nimport { BillingApiService } from '../../../data/services/billing-api.service';\r\n\r\nimport { Alerts } from '../../../core/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-buyaccess-button',\r\n templateUrl: './buyaccess-button.component.html'\r\n})\r\nexport class BuyAccessButtonComponent implements OnInit {\r\n public contextUpdated: boolean = false;\r\n public isUserSignedIn: boolean = false;\r\n public currentPlan: number = 0;\r\n public currentPlanTitle: string = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService, private api: BillingApiService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n\r\n onBuyPlan() {\r\n const text = `Requested plan: ${this.plantitle} `;\r\n let that = this;\r\n\r\n Alerts.AreYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {\r\n that.api.buyAccess(that.plan, () => {\r\n Alerts.Success('Access Granted', null, () => {\r\n (<any>window).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 1 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n//Services\r\nimport { AppContextService } from '../../../core/services/appcontext.service';\r\n\r\n@Component({\r\n selector: 'anatoly-subscribe-plan-button',\r\n templateUrl: './subscribe-plan-button.component.html'\r\n})\r\n\r\nexport class SubscribePlanButtonComponent implements OnInit {\r\n public contextUpdated: boolean = false;\r\n public isUserSignedIn: boolean = false;\r\n public currentPlan: number = 0;\r\n public currentPlanTitle: string = \"\";\r\n public requestedPlan: number = 0;\r\n public requestedPlanTitle: string = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n this.requestedPlan = current.account.requestedBillingPlan;\r\n this.requestedPlanTitle = current.account.requestedBillingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Services\r\nimport { BillingApiService } from '../../../data/services/billing-api.service';\r\n\r\nimport { Alerts } from '../../../core/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-upgrade-plan-button',\r\n templateUrl: './upgrade-plan-button.component.html'\r\n})\r\n\r\nexport class UpgradePlanButtonComponent {\r\n @Input() currentplantitle: string;\r\n @Input() requestedplan: number;\r\n @Input() requestedplantitle: string;\r\n\r\n constructor(private api: BillingApiService) {\r\n }\r\n\r\n onUpgradePlan() {\r\n let text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;\r\n let that = this;\r\n\r\n Alerts.AreYouSure(text, 'Change billing plan', 'Confirm change', 'Cancel', () => {\r\n that.api.requestNewSubscription(that.requestedplan, () => {\r\n Alerts.Success('Your request for changing plan has been sent.', null, () => {\r\n (<any>window).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signin-button',\r\n templateUrl: './signin-button.component.html'\r\n})\r\n\r\nexport class SignInButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signout-button',\r\n templateUrl: './signout-button.component.html'\r\n})\r\n\r\nexport class SignOutButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signup-button',\r\n templateUrl: './signup-button.component.html'\r\n})\r\n\r\nexport class SignUpButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//System\r\nimport { NgModule } from '@angular/core';\r\n\r\n//Custom\r\nimport { SignInButtonComponent } from './components/signin-button.component';\r\nimport { SignUpButtonComponent } from './components/signup-button.component';\r\nimport { SignOutButtonComponent } from './components/signout-button.component';\r\n\r\n@NgModule({\r\n imports: [\r\n ],\r\n exports: [\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent\r\n ],\r\n declarations: [\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent\r\n ],\r\n providers: []\r\n})\r\n\r\nexport class AnatolyIdentityModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 10 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule, HttpClient } from '@angular/common/http';\r\n\r\n//@osovitny/anatoly\r\nimport { AnatolyIdentityModule } from '../identity'\r\n\r\n//Components/subscriptions\r\nimport { SubscribePlanButtonComponent } from './components/subscriptions/subscribe-plan-button.component';\r\nimport { UpgradePlanButtonComponent } from './components/subscriptions/upgrade-plan-button.component';\r\n\r\n//Components/buyaccess\r\nimport { BuyAccessButtonComponent } from './components/buyaccess/buyaccess-button.component';\r\n\r\n//Services\r\nimport { BillingApiService } from '../data/services/billing-api.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n AnatolyIdentityModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent\r\n ],\r\n declarations: [\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent\r\n ],\r\n providers: [\r\n BillingApiService\r\n ]\r\n})\r\n\r\nexport class AnatolyBillingModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseGridReadService extends BehaviorSubject<any[]> {\r\n protected baseReadUrl: string = \"\";\r\n protected data: any[] = []; \r\n protected savedReadParams: any; \r\n\r\n constructor(protected http: HttpClient) {\r\n super([]);\r\n }\r\n\r\n serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n read(params?: any, success?: Function, error?: Function) {\r\n if (this.data.length) {\r\n return super.next(this.data);\r\n }\r\n\r\n var url = this.baseReadUrl;\r\n\r\n if (typeof params === 'undefined') {\r\n params = this.savedReadParams;\r\n }\r\n\r\n if (params) {\r\n url = this.baseReadUrl + `${this.serializeParams(params)}`;\r\n this.savedReadParams = params;\r\n }\r\n\r\n this.http.get(url).pipe(map(res => <any[]>res)).subscribe(\r\n data => {\r\n super.next(data);\r\n if (success) success();\r\n },\r\n e => {\r\n if (error) error(e);\r\n },\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n//App \r\nimport { BaseGridReadService } from './base-grid-read.service';\r\n\r\n@Injectable()\r\nexport class BaseGridEditService extends BaseGridReadService {\r\n protected baseUrl: string = \"\";\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n private reset() {\r\n this.data = [];\r\n }\r\n\r\n resetItem(dataItem: any) {\r\n if (!dataItem) { return; }\r\n\r\n //find orignal data item\r\n const originalDataItem = this.data.find(item => item.Id === dataItem.Id);\r\n\r\n //revert changes\r\n Object.assign(originalDataItem, dataItem);\r\n super.next(this.data);\r\n }\r\n\r\n save(data: any, isNew: boolean, sucess?: Function) {\r\n const action = isNew ? 'add' : 'update';\r\n\r\n this.reset();\r\n this.post(action, data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read();\r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n remove(data: any, sucess?: Function) {\r\n this.reset();\r\n this.post('remove', data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read();\r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n post(action: any, data?: any): Observable<any[]> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, data).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n}","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule\r\n ],\r\n declarations: [\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class AnatolyDataModule {\r\n}\r\n"]}
@@ -30,17 +30,26 @@ let BaseApiService = class BaseApiService {
30
30
  var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
31
31
  return this.http.get(url).pipe(map(res => res));
32
32
  }
33
- post(action, data) {
33
+ post(action, data, responseType) {
34
+ if (!responseType) {
35
+ responseType = 'text';
36
+ }
34
37
  var url = `${this.baseUrl}/${action}`;
35
- return this.http.post(url, data).pipe(map(res => res));
38
+ return this.http.post(url, data, { responseType: responseType });
36
39
  }
37
- postQS(action, data) {
40
+ postQS(action, data, responseType) {
41
+ if (!responseType) {
42
+ responseType = 'text';
43
+ }
38
44
  var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
39
- return this.http.post(url, null).pipe(map(res => res));
45
+ return this.http.post(url, null, { responseType: responseType });
40
46
  }
41
- delete(action, data) {
47
+ delete(action, data, responseType) {
48
+ if (!responseType) {
49
+ responseType = 'text';
50
+ }
42
51
  var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
43
- return this.http.delete(url).pipe(map(res => res));
52
+ return this.http.delete(url, { responseType: responseType });
44
53
  }
45
54
  //gets
46
55
  getById(id) {
@@ -71,4 +80,4 @@ BaseApiService = __decorate([
71
80
  Injectable()
72
81
  ], BaseApiService);
73
82
  export { BaseApiService };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bvc292aXRueS9hbmF0b2x5LyIsInNvdXJjZXMiOlsibGliL2RhdGEvYmFzZS9iYXNlLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7O0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSWxELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtyQyxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBR3pCLFlBQXNCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFGNUIsWUFBTyxHQUFXLEVBQUUsQ0FBQztJQUcvQixDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVU7UUFDaEMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxLQUFLO0lBQ0wsR0FBRyxDQUFJLE1BQWMsRUFBRSxJQUFVO1FBQy9CLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMvQixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBSSxHQUFHLENBQUMsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUksTUFBYyxFQUFFLElBQVU7UUFDaEMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbkMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUksR0FBRyxDQUFDLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFJLE1BQWMsRUFBRSxJQUFVO1FBQ2xDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbkMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUksR0FBRyxDQUFDLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFJLE1BQWMsRUFBRSxJQUFVO1FBQ2xDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNsQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBSSxHQUFHLENBQUMsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNO0lBQ04sT0FBTyxDQUFJLEVBQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFJLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUksSUFBVTtRQUNsQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQU0sR0FBRyxDQUFDLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWdCLEVBQUUsT0FBZ0IsRUFBRSxXQUFvQjtRQUNsRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyxHQUFHLGFBQWEsQ0FBQztTQUN6QjtRQUVELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsV0FBVyxHQUFHLEtBQUssQ0FBQztTQUNyQjtRQUVELElBQUksR0FBRyxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsUUFBUSxHQUFHLEdBQUcsR0FBRyxXQUFXLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzVCLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFRLEdBQUcsQ0FBQyxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLGFBQWEsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRixDQUFBOztZQWxFNkIsVUFBVTs7QUFIM0IsY0FBYztJQUQxQixVQUFVLEVBQUU7R0FDQSxjQUFjLENBcUUxQjtTQXJFWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMyBOb3YgMjAxN1xyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbi8vUnhKc1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJhc2VBcGlTZXJ2aWNlIHtcclxuICBwcm90ZWN0ZWQgYmFzZVVybDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VyaWFsaXplUGFyYW1zKGRhdGE/OiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGRhdGEgPyAoJz8nICsgJC5wYXJhbShkYXRhKSkgOiAnJztcclxuICB9XHJcblxyXG4gIC8vYXBpXHJcbiAgZ2V0PFQ+KGFjdGlvbjogc3RyaW5nLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICB2YXIgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS8ke2FjdGlvbn0ke3RoaXMuc2VyaWFsaXplUGFyYW1zKGRhdGEpfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih1cmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXMgPT4gPFQ+cmVzKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHBvc3Q8VD4oYWN0aW9uOiBzdHJpbmcsIGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHZhciB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9LyR7YWN0aW9ufWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBkYXRhKS5waXBlKFxyXG4gICAgICBtYXAocmVzID0+IDxUPnJlcylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwb3N0UVM8VD4oYWN0aW9uOiBzdHJpbmcsIGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHZhciB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9LyR7YWN0aW9ufSR7dGhpcy5zZXJpYWxpemVQYXJhbXMoZGF0YSl9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIG51bGwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXMgPT4gPFQ+cmVzKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZTxUPihhY3Rpb246IHN0cmluZywgZGF0YT86IGFueSk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgdmFyIHVybCA9IGAke3RoaXMuYmFzZVVybH0vJHthY3Rpb259JHt0aGlzLnNlcmlhbGl6ZVBhcmFtcyhkYXRhKX1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8VD4odXJsKS5waXBlKFxyXG4gICAgICBtYXAocmVzID0+IDxUPnJlcylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvL2dldHNcclxuICBnZXRCeUlkPFQ+KGlkOiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLmdldDxUPignZ2V0QnlJZCcsIHsgaWQ6IGlkIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsPFQ+KGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPFRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdnZXRhbGwnLCBkYXRhKS5waXBlKFxyXG4gICAgICBtYXAocmVzID0+IDxUW10+cmVzKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEpzb25GaWxlKGZpbGVOYW1lOiBzdHJpbmcsIGpzb25Vcmw/OiBzdHJpbmcsIGpzb25WZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgaWYgKCFqc29uVXJsKSB7XHJcbiAgICAgIGpzb25VcmwgPSBcIi9kaXN0L2pzb25zXCI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFqc29uVmVyc2lvbikge1xyXG4gICAgICBqc29uVmVyc2lvbiA9IFwiMS4wXCI7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHVybCA9IGpzb25VcmwgKyBcIi9cIiArIGZpbGVOYW1lICsgJz8nICsganNvblZlcnNpb247XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXMgPT4gPGFueVtdPnJlcylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXROZXdHdWlkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICB2YXIgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS9nZXROZXdHdWlkYDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KTtcclxuICB9XHJcbn0iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bvc292aXRueS9hbmF0b2x5LyIsInNvdXJjZXMiOlsibGliL2RhdGEvYmFzZS9iYXNlLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7O0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSWxELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtyQyxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBR3pCLFlBQXNCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFGNUIsWUFBTyxHQUFXLEVBQUUsQ0FBQztJQUcvQixDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVU7UUFDaEMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxLQUFLO0lBQ0wsR0FBRyxDQUFJLE1BQWMsRUFBRSxJQUFVO1FBQy9CLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMvQixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBSSxHQUFHLENBQUMsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBYyxFQUFFLElBQVUsRUFBRSxZQUFhO1FBQzVDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsWUFBWSxHQUFHLE1BQU0sQ0FBQztTQUN2QjtRQUVELElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWMsRUFBRSxJQUFVLEVBQUUsWUFBYTtRQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLFlBQVksR0FBRyxNQUFNLENBQUM7U0FDdkI7UUFFRCxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWMsRUFBRSxJQUFVLEVBQUUsWUFBYTtRQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLFlBQVksR0FBRyxNQUFNLENBQUM7U0FDdkI7UUFFRCxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxNQUFNO0lBQ04sT0FBTyxDQUFJLEVBQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFJLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUksSUFBVTtRQUNsQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQU0sR0FBRyxDQUFDLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWdCLEVBQUUsT0FBZ0IsRUFBRSxXQUFvQjtRQUNsRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyxHQUFHLGFBQWEsQ0FBQztTQUN6QjtRQUVELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsV0FBVyxHQUFHLEtBQUssQ0FBQztTQUNyQjtRQUVELElBQUksR0FBRyxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsUUFBUSxHQUFHLEdBQUcsR0FBRyxXQUFXLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzVCLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFRLEdBQUcsQ0FBQyxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLGFBQWEsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRixDQUFBOztZQXhFNkIsVUFBVTs7QUFIM0IsY0FBYztJQUQxQixVQUFVLEVBQUU7R0FDQSxjQUFjLENBMkUxQjtTQTNFWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMyBOb3YgMjAxN1xyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbi8vUnhKc1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJhc2VBcGlTZXJ2aWNlIHtcclxuICBwcm90ZWN0ZWQgYmFzZVVybDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VyaWFsaXplUGFyYW1zKGRhdGE/OiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGRhdGEgPyAoJz8nICsgJC5wYXJhbShkYXRhKSkgOiAnJztcclxuICB9XHJcblxyXG4gIC8vYXBpXHJcbiAgZ2V0PFQ+KGFjdGlvbjogc3RyaW5nLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICB2YXIgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS8ke2FjdGlvbn0ke3RoaXMuc2VyaWFsaXplUGFyYW1zKGRhdGEpfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih1cmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXMgPT4gPFQ+cmVzKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHBvc3QoYWN0aW9uOiBzdHJpbmcsIGRhdGE/OiBhbnksIHJlc3BvbnNlVHlwZT8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgaWYgKCFyZXNwb25zZVR5cGUpIHtcclxuICAgICAgcmVzcG9uc2VUeXBlID0gJ3RleHQnO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9LyR7YWN0aW9ufWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogcmVzcG9uc2VUeXBlIH0pO1xyXG4gIH1cclxuXHJcbiAgcG9zdFFTKGFjdGlvbjogc3RyaW5nLCBkYXRhPzogYW55LCByZXNwb25zZVR5cGU/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghcmVzcG9uc2VUeXBlKSB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZSA9ICd0ZXh0JztcclxuICAgIH1cclxuXHJcbiAgICB2YXIgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS8ke2FjdGlvbn0ke3RoaXMuc2VyaWFsaXplUGFyYW1zKGRhdGEpfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBudWxsLCB7IHJlc3BvbnNlVHlwZTogcmVzcG9uc2VUeXBlIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKGFjdGlvbjogc3RyaW5nLCBkYXRhPzogYW55LCByZXNwb25zZVR5cGU/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghcmVzcG9uc2VUeXBlKSB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZSA9ICd0ZXh0JztcclxuICAgIH1cclxuXHJcbiAgICB2YXIgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS8ke2FjdGlvbn0ke3RoaXMuc2VyaWFsaXplUGFyYW1zKGRhdGEpfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZSh1cmwsIHsgcmVzcG9uc2VUeXBlOiByZXNwb25zZVR5cGUgfSk7XHJcbiAgfVxyXG5cclxuICAvL2dldHNcclxuICBnZXRCeUlkPFQ+KGlkOiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLmdldDxUPignZ2V0QnlJZCcsIHsgaWQ6IGlkIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsPFQ+KGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPFRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdnZXRhbGwnLCBkYXRhKS5waXBlKFxyXG4gICAgICBtYXAocmVzID0+IDxUW10+cmVzKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEpzb25GaWxlKGZpbGVOYW1lOiBzdHJpbmcsIGpzb25Vcmw/OiBzdHJpbmcsIGpzb25WZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgaWYgKCFqc29uVXJsKSB7XHJcbiAgICAgIGpzb25VcmwgPSBcIi9kaXN0L2pzb25zXCI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFqc29uVmVyc2lvbikge1xyXG4gICAgICBqc29uVmVyc2lvbiA9IFwiMS4wXCI7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHVybCA9IGpzb25VcmwgKyBcIi9cIiArIGZpbGVOYW1lICsgJz8nICsganNvblZlcnNpb247XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXMgPT4gPGFueVtdPnJlcylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXROZXdHdWlkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICB2YXIgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS9nZXROZXdHdWlkYDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KTtcclxuICB9XHJcbn0iXX0=