@osovitny/anatoly 1.2.8 → 1.2.9

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.
@@ -1,4 +1,4 @@
1
- !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("sweetalert2"),require("@angular/core"),require("@angular/router"),require("@angular/common/http"),require("rxjs/operators"),require("@angular/common"),require("@angular/forms"),require("angular-froala-wysiwyg"),require("@progress/kendo-angular-grid"),require("@progress/kendo-angular-popup"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-dropdowns"),require("rxjs")):"function"==typeof define&&define.amd?define("@osovitny/anatoly",["exports","sweetalert2","@angular/core","@angular/router","@angular/common/http","rxjs/operators","@angular/common","@angular/forms","angular-froala-wysiwyg","@progress/kendo-angular-grid","@progress/kendo-angular-popup","@progress/kendo-angular-buttons","@progress/kendo-angular-dropdowns","rxjs"],n):n(((t=t||self).osovitny=t.osovitny||{},t.osovitny.anatoly={}),t.Swal,t.ng.core,t.ng.router,t.ng.common.http,t.rxjs.operators,t.ng.common,t.ng.forms,t.angularFroalaWysiwyg,t.kendoAngularGrid,t.kendoAngularPopup,t.kendoAngularButtons,t.kendoAngularDropdowns,t.rxjs)}(this,(function(t,n,e,o,r,i,a,s,u,l,p,c,d,f){"use strict";n=n&&n.hasOwnProperty("default")?n.default:n;
1
+ !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("sweetalert2"),require("@angular/core"),require("@angular/router"),require("@angular/common/http"),require("rxjs/operators"),require("@angular/common"),require("@angular/forms"),require("angular-froala-wysiwyg"),require("@progress/kendo-angular-grid"),require("@progress/kendo-angular-popup"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-dropdowns"),require("rxjs")):"function"==typeof define&&define.amd?define("@osovitny/anatoly",["exports","sweetalert2","@angular/core","@angular/router","@angular/common/http","rxjs/operators","@angular/common","@angular/forms","angular-froala-wysiwyg","@progress/kendo-angular-grid","@progress/kendo-angular-popup","@progress/kendo-angular-buttons","@progress/kendo-angular-dropdowns","rxjs"],n):n(((t=t||self).osovitny=t.osovitny||{},t.osovitny.anatoly={}),t.Swal,t.ng.core,t.ng.router,t.ng.common.http,t.rxjs.operators,t.ng.common,t.ng.forms,t.angularFroalaWysiwyg,t.kendoAngularGrid,t.kendoAngularPopup,t.kendoAngularButtons,t.kendoAngularDropdowns,t.rxjs)}(this,(function(t,n,e,o,r,i,a,s,l,u,p,c,d,f){"use strict";n=n&&n.hasOwnProperty("default")?n.default:n;
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -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 h=function(t,n){return(h=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 m(t,n){function e(){this.constructor=t}h(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:"Info!",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!"),n.fire({title:e,text:t,icon:"success",confirmButtonText:"OK"}).then((function(){o&&o()}))},t.Cancel=function(t){n.fire("Cancelled",t,"error")},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(){}return t.JsonUrl="/dist/jsons/",t.JsonVersion="v=1.0.0",t.AppUrl="/",t.ApiUrl="/api/",t}(),C=function(){function t(t){this.http=t,this.baseUrl=I.ApiUrl}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,{responseType:"text"})},t.prototype.postQS=function(t,n){var e=this.baseUrl+""+t+this.serializeParams(n);return this.http.post(e,null,{responseType:"text"})},t.prototype.getAll=function(t){return this.get("getall",t).pipe(i.map((function(t){return t})))},t.prototype.getJsonFile=function(t,n){n||(n="1.0");var e=I.JsonUrl+t+"?"+n;return this.http.get(e).pipe(i.map((function(t){return t})))},t.prototype.getNewGuid=function(){var t=this.baseUrl+"getNewGuid";return this.http.get(t,{responseType:"text"})},t.prototype.getById=function(t){return this.get("getById",{id:t})},t.prototype.remove=function(t){return this.postQS("remove",{id:t})},t.ctorParameters=function(){return[{type:r.HttpClient}]},t=g([e.Injectable()],t)}(),S=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=I.ApiUrl+"appcontext/",e}return m(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)}(C),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}(),x=function(t){function n(){var n=t.call(this)||this;return n.formSubmitted=!1,n}return m(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),U=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)}(),M=function(t){function n(){return t.call(this)||this}return m(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}(x),w=function(t){function n(){var n=t.call(this)||this;return n.visible=!1,n}return m(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)}(M),A=function(t){function n(){return t.call(this)||this}return m(n,t),g([e.Input()],n.prototype,"key",void 0),g([e.Input()],n.prototype,"title",void 0),n=g([e.Component({selector:"anatoly-item-validation-summary",template:'<ul class="list-unstyled" *ngIf="isItemInvalid(key)">\r\n <li *ngFor="let error of getValidationMessages(formGroup.get(key), title)">\r\n <span class="help-block">{{ error }}</span>\r\n </li>\r\n</ul>'})],n)}(M),q={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:""}},E=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 m(n,t),n.prototype.ngOnInit=function(){var t=this.editorOptions;"string"==typeof this.editorOptions&&(t=JSON.parse(this.editorOptions));var n=$.extend({},q,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}(x),B=function(t){function n(){return t.call(this)||this}return m(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)}(E),O=function(t){function n(){var n=t.call(this)||this;return n.editorFormKey="html",n}return m(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 [key]="editorFormKey"\r\n [title]="editorLabelText">\r\n </anatoly-item-validation-summary>\r\n </div>\r\n</div>\r\n'})],n)}(E),k=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,A,w,U,B,O],declarations:[A,w,U,B,O],providers:[S],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 m(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)}(C),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:S},{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:S}]},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)}(),R=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)}(),j=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)}(),z=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)}(),F=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)}(),N=function(){function t(){}return t=g([e.NgModule({imports:[],exports:[j,F,z],declarations:[j,F,z],providers:[]})],t)}(),V=function(){function t(){}return t=g([e.NgModule({imports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,N],exports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,T,R,G],declarations:[T,R,G],providers:[H]})],t)}(),_=function(t){function n(n){var e=t.call(this,[])||this;return e.http=n,e.data=[],e.baseUrl=I.ApiUrl,e.baseReadUrl=e.baseUrl+"getAll",e}return m(n,t),n.prototype.serializeParams=function(t){return t?"?"+$.param(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.read=function(n){var e=this;if(this.data.length)return t.prototype.next.call(this,this.data);var o=this.baseReadUrl;void 0===n&&(n=this.savedReadParams),void 0!==n&&(o=this.baseReadUrl+""+this.serializeParams(n),this.savedReadParams=n),this.http.get(o).pipe(i.map((function(t){return t}))).subscribe((function(n){t.prototype.next.call(e,n)}))},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)}(f.BehaviorSubject),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=V,t.AnatolyCoreModule=k,t.AnatolyDataModule=L,t.AnatolyIdentityModule=N,t.AppContextService=S,t.BaseApiService=C,t.BaseBillingApiService=H,t.BaseComponent=P,t.BaseEditComponent=x,t.BaseGoService=v,t.BaseGridEditService=_,t.BuyAccessButtonComponent=G,t.Consts=I,t.ContentHeaderComponent=U,t.FormValidationSummaryComponent=w,t.FormsHtmlEditorComponent=O,t.HtmlEditorComponent=B,t.ItemValidationSummaryComponent=A,t.SignInButtonComponent=j,t.SignOutButtonComponent=z,t.SignUpButtonComponent=F,t.SubscribePlanButtonComponent=T,t.UpgradePlanButtonComponent=R,t.Utils=b,t.ValidationSummaryComponent=M,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(){}return t.JsonUrl="/dist/jsons/",t.JsonVersion="v=1.0.0",t.AppUrl="/",t.ApiUrl="/api/",t}(),C=function(){function t(t){this.http=t,this.baseUrl=I.ApiUrl}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,{responseType:"text"})},t.prototype.postQS=function(t,n){var e=this.baseUrl+""+t+this.serializeParams(n);return this.http.post(e,null,{responseType:"text"})},t.prototype.getAll=function(t){return this.get("getall",t).pipe(i.map((function(t){return t})))},t.prototype.getJsonFile=function(t,n){n||(n="1.0");var e=I.JsonUrl+t+"?"+n;return this.http.get(e).pipe(i.map((function(t){return t})))},t.prototype.getNewGuid=function(){var t=this.baseUrl+"getNewGuid";return this.http.get(t,{responseType:"text"})},t.prototype.getById=function(t){return this.get("getById",{id:t})},t.prototype.remove=function(t){return this.postQS("remove",{id:t})},t.ctorParameters=function(){return[{type:r.HttpClient}]},t=g([e.Injectable()],t)}(),S=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=I.ApiUrl+"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)}(C),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}(),x=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),U=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)}(),w=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}(x),M=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)}(w),A=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)}(w),q={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:""}},B=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({},q,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}(x),O=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)}(B),E=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)}(B),T=function(){function t(){}return t=g([e.NgModule({imports:[a.CommonModule,s.ReactiveFormsModule,s.FormsModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,l.FroalaEditorModule.forRoot(),l.FroalaViewModule.forRoot(),u.GridModule,p.PopupModule,c.ButtonsModule,d.DropDownsModule],exports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,A,M,U,O,E],declarations:[A,M,U,O,E],providers:[S],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)}(C),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:S},{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)}(),k=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:S}]},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)}(),R=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)}(),N=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)}(),j=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)}(),z=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)}(),F=function(){function t(){}return t=g([e.NgModule({imports:[],exports:[N,z,j],declarations:[N,z,j],providers:[]})],t)}(),V=function(){function t(){}return t=g([e.NgModule({imports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,F],exports:[a.CommonModule,r.HttpClientModule,r.HttpClientXsrfModule,r.HttpClientJsonpModule,k,R,G],declarations:[k,R,G],providers:[H]})],t)}(),_=function(t){function n(n){var e=t.call(this,[])||this;return e.http=n,e.data=[],e.baseUrl=I.ApiUrl,e.baseReadUrl=e.baseUrl+"getAll",e}return h(n,t),n.prototype.serializeParams=function(t){return t?"?"+$.param(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.read=function(n){var e=this;if(this.data.length)return t.prototype.next.call(this,this.data);var o=this.baseReadUrl;void 0===n&&(n=this.savedReadParams),void 0!==n&&(o=this.baseReadUrl+""+this.serializeParams(n),this.savedReadParams=n),this.http.get(o).pipe(i.map((function(t){return t}))).subscribe((function(n){t.prototype.next.call(e,n)}))},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)}(f.BehaviorSubject),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=V,t.AnatolyCoreModule=T,t.AnatolyDataModule=L,t.AnatolyIdentityModule=F,t.AppContextService=S,t.BaseApiService=C,t.BaseBillingApiService=H,t.BaseComponent=P,t.BaseEditComponent=x,t.BaseGoService=v,t.BaseGridEditService=_,t.BuyAccessButtonComponent=G,t.Consts=I,t.ContentHeaderComponent=U,t.FormValidationSummaryComponent=M,t.FormsHtmlEditorComponent=E,t.HtmlEditorComponent=O,t.ItemValidationSummaryComponent=A,t.SignInButtonComponent=N,t.SignOutButtonComponent=j,t.SignUpButtonComponent=z,t.SubscribePlanButtonComponent=k,t.UpgradePlanButtonComponent=R,t.Utils=b,t.ValidationSummaryComponent=w,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/consts.ts","ng://@osovitny/anatoly/lib/data/services/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/base-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/services/base-gridedit.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","Utils","GetValueByNameInQS","name","GetValueByName","location","search","url","replace","results","RegExp","exec","decodeURIComponent","BaseGoService","route","router","locationReload","window","reload","ActivatedRoute","Router","Injectable","Consts","JsonUrl","JsonVersion","AppUrl","ApiUrl","BaseApiService","http","baseUrl","serializeParams","data","$","param","get","action","pipe","map","res","post","responseType","postQS","getAll","getJsonFile","fileName","jsonVersion","getNewGuid","getById","id","remove","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","BaseBillingApiService","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","BaseGridEditService","baseReadUrl","reset","resetItem","dataItem","originalDataItem","find","item","Id","assign","next","read","params","savedReadParams","save","isNew","sucess","BehaviorSubject","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: \"Info!\",\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 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 Swal.fire(\r\n 'Cancelled',\r\n text,\r\n 'error'\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 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 Consts {\r\n public static readonly JsonUrl = \"/dist/jsons/\";\r\n public static readonly JsonVersion: string = \"v=1.0.0\";\r\n\r\n public static readonly AppUrl = \"/\";\r\n public static readonly ApiUrl = \"/api/\";\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\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\nimport { Consts } from '../consts';\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n protected baseUrl: string;\r\n protected jsonUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n this.baseUrl = Consts.ApiUrl;\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n //webApi\r\n public get<T>(action: String, data?: any): Observable<T> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.get(url).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n public post(action: String, data?: any): Observable<any> {\r\n var url = this.baseUrl + `${action}`;\r\n return this.http.post(url, data, { responseType: 'text' });\r\n }\r\n\r\n public postQS(action: String, data?: any): Observable<any> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, null, { responseType: 'text' });\r\n }\r\n\r\n //gets\r\n public 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 public getJsonFile(fileName: string, jsonVersion: string): Observable<any[]> {\r\n if (!jsonVersion) {\r\n jsonVersion = \"1.0\";\r\n }\r\n\r\n var url = Consts.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 public 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 //CRUD function\r\n public getById<T>(id: any): Observable<T> {\r\n return this.get<T>('getById', { id: id });\r\n }\r\n\r\n public remove(id: any): Observable<string> {\r\n return this.postQS('remove', { id: id });\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\nimport { Subscription } from 'rxjs';\r\n\r\n//App\r\nimport { BaseApiService } from '../../data/services/base-api.service';\r\nimport { Consts } from '../../data/consts';\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 = Consts.ApiUrl + '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() key: string;\r\n @Input() title: 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\n\r\n//Consts\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(function () { 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 { Consts } from '../consts';\r\nimport { BaseApiService } from './base-api.service'\r\n\r\n@Injectable()\r\nexport class BaseBillingApiService 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 { BaseBillingApiService } from '../../../data/services/base-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: BaseBillingApiService) {\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 { BaseBillingApiService } from '../../../data/services/base-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: BaseBillingApiService) {\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 { BaseBillingApiService } from '../data/services/base-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 BaseBillingApiService\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\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { Consts } from '../consts';\r\n\r\n@Injectable()\r\nexport class BaseGridEditService extends BehaviorSubject<any[]> {\r\n protected baseUrl: string;\r\n protected baseReadUrl: string;\r\n protected savedReadParams: any;\r\n private data: any[] = [];\r\n\r\n constructor(protected http: HttpClient) {\r\n super([]);\r\n\r\n this.baseUrl = Consts.ApiUrl;\r\n this.baseReadUrl = this.baseUrl + \"getAll\";\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n private reset() {\r\n this.data = [];\r\n }\r\n\r\n public 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 public read(params?: any) {\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 (typeof params !== 'undefined') {\r\n url = this.baseReadUrl + `${this.serializeParams(params)}`;\r\n this.savedReadParams = params;\r\n }\r\n\r\n // this.http.get(url)\r\n // .map(res => <any[]>res)\r\n // .do(data => { this.data = data; }).subscribe(data => { super.next(data); });\r\n //}\r\n\r\n this.http.get(url).pipe(\r\n map(res => <any[]>res) \r\n ).subscribe(data => { super.next(data) });\r\n }\r\n\r\n\r\n public 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 public 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","/*\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\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/consts.ts","ng://@osovitny/anatoly/lib/data/services/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/base-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/services/base-gridedit.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","Consts","JsonUrl","JsonVersion","AppUrl","ApiUrl","BaseApiService","http","baseUrl","serializeParams","data","$","param","get","action","pipe","map","res","post","responseType","postQS","getAll","getJsonFile","fileName","jsonVersion","getNewGuid","getById","id","remove","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","BaseBillingApiService","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","BaseGridEditService","baseReadUrl","reset","resetItem","dataItem","originalDataItem","find","item","Id","assign","next","read","params","savedReadParams","save","isNew","sucess","BehaviorSubject","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 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 Consts {\r\n public static readonly JsonUrl = \"/dist/jsons/\";\r\n public static readonly JsonVersion: string = \"v=1.0.0\";\r\n\r\n public static readonly AppUrl = \"/\";\r\n public static readonly ApiUrl = \"/api/\";\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\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\nimport { Consts } from '../consts';\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n protected baseUrl: string;\r\n protected jsonUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n this.baseUrl = Consts.ApiUrl;\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n //webApi\r\n public get<T>(action: String, data?: any): Observable<T> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.get(url).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n public post(action: String, data?: any): Observable<any> {\r\n var url = this.baseUrl + `${action}`;\r\n return this.http.post(url, data, { responseType: 'text' });\r\n }\r\n\r\n public postQS(action: String, data?: any): Observable<any> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, null, { responseType: 'text' });\r\n }\r\n\r\n //gets\r\n public 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 public getJsonFile(fileName: string, jsonVersion: string): Observable<any[]> {\r\n if (!jsonVersion) {\r\n jsonVersion = \"1.0\";\r\n }\r\n\r\n var url = Consts.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 public 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 //CRUD function\r\n public getById<T>(id: any): Observable<T> {\r\n return this.get<T>('getById', { id: id });\r\n }\r\n\r\n public remove(id: any): Observable<string> {\r\n return this.postQS('remove', { id: id });\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\nimport { Subscription } from 'rxjs';\r\n\r\n//App\r\nimport { BaseApiService } from '../../data/services/base-api.service';\r\nimport { Consts } from '../../data/consts';\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 = Consts.ApiUrl + '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\n\r\n//Consts\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 { Consts } from '../consts';\r\nimport { BaseApiService } from './base-api.service'\r\n\r\n@Injectable()\r\nexport class BaseBillingApiService 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 { BaseBillingApiService } from '../../../data/services/base-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: BaseBillingApiService) {\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 { BaseBillingApiService } from '../../../data/services/base-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: BaseBillingApiService) {\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 { BaseBillingApiService } from '../data/services/base-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 BaseBillingApiService\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\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { Consts } from '../consts';\r\n\r\n@Injectable()\r\nexport class BaseGridEditService extends BehaviorSubject<any[]> {\r\n protected baseUrl: string;\r\n protected baseReadUrl: string;\r\n protected savedReadParams: any;\r\n private data: any[] = [];\r\n\r\n constructor(protected http: HttpClient) {\r\n super([]);\r\n\r\n this.baseUrl = Consts.ApiUrl;\r\n this.baseReadUrl = this.baseUrl + \"getAll\";\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n private reset() {\r\n this.data = [];\r\n }\r\n\r\n public 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 public read(params?: any) {\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 (typeof params !== 'undefined') {\r\n url = this.baseReadUrl + `${this.serializeParams(params)}`;\r\n this.savedReadParams = params;\r\n }\r\n\r\n // this.http.get(url)\r\n // .map(res => <any[]>res)\r\n // .do(data => { this.data = data; }).subscribe(data => { super.next(data); });\r\n //}\r\n\r\n this.http.get(url).pipe(\r\n map(res => <any[]>res) \r\n ).subscribe(data => { super.next(data) });\r\n }\r\n\r\n\r\n public 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 public 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","/*\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\n\r\nexport class AnatolyDataModule {\r\n}\r\n"]}