@osovitny/anatoly 1.2.10 → 1.2.12

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