@osovitny/anatoly 1.2.9 → 1.2.11

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.
Files changed (48) hide show
  1. package/bundles/osovitny-anatoly.umd.js +95 -83
  2. package/bundles/osovitny-anatoly.umd.js.map +1 -1
  3. package/bundles/osovitny-anatoly.umd.min.js +2 -2
  4. package/bundles/osovitny-anatoly.umd.min.js.map +1 -1
  5. package/esm2015/lib/billing/billing.module.js +3 -3
  6. package/esm2015/lib/billing/components/buyaccess/buyaccess-button.component.js +3 -3
  7. package/esm2015/lib/billing/components/subscriptions/upgrade-plan-button.component.js +3 -3
  8. package/esm2015/lib/core/components/html-editor/base-html-editor.component.js +1 -2
  9. package/esm2015/lib/core/services/appcontext.service.js +3 -4
  10. package/esm2015/lib/data/base/base-api.service.js +74 -0
  11. package/esm2015/lib/data/base/grid/base-grid-edit.service.js +76 -0
  12. package/esm2015/lib/data/base/grid/base-grid-read.service.js +61 -0
  13. package/esm2015/lib/data/data.module.js +1 -1
  14. package/esm2015/lib/data/index.js +5 -6
  15. package/esm2015/lib/data/services/{base-billing-api.service.js → billing-api.service.js} +8 -7
  16. package/esm5/lib/billing/billing.module.js +3 -3
  17. package/esm5/lib/billing/components/buyaccess/buyaccess-button.component.js +3 -3
  18. package/esm5/lib/billing/components/subscriptions/upgrade-plan-button.component.js +3 -3
  19. package/esm5/lib/core/components/html-editor/base-html-editor.component.js +1 -2
  20. package/esm5/lib/core/services/appcontext.service.js +3 -4
  21. package/esm5/lib/data/base/base-api.service.js +75 -0
  22. package/esm5/lib/data/base/grid/base-grid-edit.service.js +81 -0
  23. package/esm5/lib/data/base/grid/base-grid-read.service.js +65 -0
  24. package/esm5/lib/data/data.module.js +1 -1
  25. package/esm5/lib/data/index.js +5 -6
  26. package/esm5/lib/data/services/billing-api.service.js +56 -0
  27. package/fesm2015/osovitny-anatoly.js +81 -69
  28. package/fesm2015/osovitny-anatoly.js.map +1 -1
  29. package/fesm5/osovitny-anatoly.js +95 -83
  30. package/fesm5/osovitny-anatoly.js.map +1 -1
  31. package/lib/billing/components/buyaccess/buyaccess-button.component.d.ts +2 -2
  32. package/lib/billing/components/subscriptions/upgrade-plan-button.component.d.ts +2 -2
  33. package/lib/core/services/appcontext.service.d.ts +1 -1
  34. package/lib/data/{services → base}/base-api.service.d.ts +6 -7
  35. package/lib/data/{services/base-gridedit.service.d.ts → base/grid/base-grid-edit.service.d.ts} +2 -7
  36. package/lib/data/base/grid/base-grid-read.service.d.ts +11 -0
  37. package/lib/data/index.d.ts +4 -4
  38. package/lib/data/services/{base-billing-api.service.d.ts → billing-api.service.d.ts} +2 -2
  39. package/osovitny-anatoly.metadata.json +1 -1
  40. package/package.json +1 -1
  41. package/esm2015/lib/data/consts.js +0 -21
  42. package/esm2015/lib/data/services/base-api.service.js +0 -71
  43. package/esm2015/lib/data/services/base-gridedit.service.js +0 -98
  44. package/esm5/lib/data/consts.js +0 -25
  45. package/esm5/lib/data/services/base-api.service.js +0 -72
  46. package/esm5/lib/data/services/base-billing-api.service.js +0 -55
  47. package/esm5/lib/data/services/base-gridedit.service.js +0 -104
  48. package/lib/data/consts.d.ts +0 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@osovitny/anatoly/lib/core/alerts.ts","ng://@osovitny/anatoly/lib/core/utils.ts","ng://@osovitny/anatoly/lib/core/services/base-go.service.ts","ng://@osovitny/anatoly/lib/data/consts.ts","ng://@osovitny/anatoly/lib/data/services/base-api.service.ts","ng://@osovitny/anatoly/lib/core/services/appcontext.service.ts","ng://@osovitny/anatoly/lib/core/components/base.component.ts","ng://@osovitny/anatoly/lib/core/components/base-edit.component.ts","ng://@osovitny/anatoly/lib/core/components/content-header/content-header.component.ts","ng://@osovitny/anatoly/lib/core/components/validation/validation-summary.component.ts","ng://@osovitny/anatoly/lib/core/components/validation/form-validation-summary.component.ts","ng://@osovitny/anatoly/lib/core/components/validation/item-validation-summary.component.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/html-editor.defaultoptions.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/base-html-editor.component.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/html-editor.component.ts","ng://@osovitny/anatoly/lib/core/components/html-editor/forms-html-editor.component.ts","ng://@osovitny/anatoly/lib/core/core.module.ts","ng://@osovitny/anatoly/lib/data/services/base-billing-api.service.ts","ng://@osovitny/anatoly/lib/billing/components/buyaccess/buyaccess-button.component.ts","ng://@osovitny/anatoly/lib/billing/components/subscriptions/subscribe-plan-button.component.ts","ng://@osovitny/anatoly/lib/billing/components/subscriptions/upgrade-plan-button.component.ts","ng://@osovitny/anatoly/lib/identity/components/signin-button.component.ts","ng://@osovitny/anatoly/lib/identity/components/signout-button.component.ts","ng://@osovitny/anatoly/lib/identity/components/signup-button.component.ts","ng://@osovitny/anatoly/lib/identity/identity.module.ts","ng://@osovitny/anatoly/lib/billing/billing.module.ts","ng://@osovitny/anatoly/lib/data/services/base-gridedit.service.ts","ng://@osovitny/anatoly/lib/data/data.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","Alerts","Info","text","Swal","fire","title","icon","confirmButtonText","Warning","Error","NotImplemented","ErrorOccurred","AreYouSure","cancelButtonText","successAction","cancelAction","showCancelButton","then","result","value","dismiss","DismissReason","cancel","close","Success","Cancel","NotificationCancel","mixin","toast","position","showConfirmButton","timer","timerProgressBar","NotificationSuccess","Utils","GetValueByNameInQS","name","GetValueByName","location","search","url","replace","results","RegExp","exec","decodeURIComponent","BaseGoService","route","router","locationReload","window","reload","ActivatedRoute","Router","Injectable","Consts","JsonUrl","JsonVersion","AppUrl","ApiUrl","BaseApiService","http","baseUrl","serializeParams","data","$","param","get","action","pipe","map","res","post","responseType","postQS","getAll","getJsonFile","fileName","jsonVersion","getNewGuid","getById","id","remove","HttpClient","AppContextService","_this","_super","call","current","successes","subscription","getCurrent","success","push","subscribe","dataReceived","e","unsubscribe","isUserSignedIn","__context_isUserSignedIn","isUserAdmin","__context_isUserAdmin","BaseComponent","getQSId","showLoading","show","hideLoading","hide","handleError","BaseEditComponent","formSubmitted","isActionAdding","getEntityId","isItemInvalid","formGroup","invalid","touched","getFormValue","controls","setFormValue","setValue","getFormGroupValue","groupName","setFormGroupValue","Input","ContentHeaderComponent","ngOnInit","Component","selector","template","ValidationSummaryComponent","getFormValidationMessages","messages","keys","forEach","k","control","child","getValidationMessages","m","state","thingName","thing","path","errors","errorName","requiredLength","FormValidationSummaryComponent","visible","getErrors","ItemValidationSummaryComponent","DefaultEditorOptions","placeholderText","charCounterCount","heightMin","toolbarInline","toolbarButtons","moreText","buttons","moreParagraph","moreRich","moreMisc","align","imageUploadURL","imageAllowedTypes","imageUploadParams","uploadType","uploadParentId","BaseHtmlEditorComponent","froalaEditorInitialized","afterInitializedActions","editorId","editorLabelText","editorOptions","opt","JSON","parse","newOptions","extend","__froalaEditor_Key","events","initialized","overridden","options","ngAfterViewInit","that","setTimeout","onInitialized","actions","getEditor","froalaEditor","doAfterInitialized","initializeControl","initialize","setUploadParams","editor","opts","HtmlEditorComponent","setHtml","content","html","set","getHtml","FormsHtmlEditorComponent","editorFormKey","AnatolyCoreModule","NgModule","imports","CommonModule","ReactiveFormsModule","FormsModule","HttpClientModule","HttpClientXsrfModule","HttpClientJsonpModule","FroalaEditorModule","forRoot","FroalaViewModule","GridModule","PopupModule","ButtonsModule","DropDownsModule","exports","declarations","providers","schemas","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","BaseBillingApiService","requestNewSubscription","requestedPlan","error","cancelRequestedSubscription","buyAccess","BuyAccessButtonComponent","appcontext","api","contextUpdated","currentPlan","currentPlanTitle","account","billingPlan","billingPlanAsString","onBuyPlan","plantitle","plan","SubscribePlanButtonComponent","requestedPlanTitle","requestedBillingPlan","requestedBillingPlanAsString","UpgradePlanButtonComponent","onUpgradePlan","currentplantitle","requestedplantitle","requestedplan","SignInButtonComponent","SignOutButtonComponent","SignUpButtonComponent","AnatolyIdentityModule","AnatolyBillingModule","BaseGridEditService","baseReadUrl","reset","resetItem","dataItem","originalDataItem","find","item","Id","assign","next","read","params","savedReadParams","save","isNew","sucess","BehaviorSubject","AnatolyDataModule"],"mappings":";;;;;;;;;;;;;;;AAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,MACpDN,EAAGC,IAGrB,SAASO,EAAUR,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,GA0B5E,SAASK,EAAWC,EAAYC,EAAQC,EAAKC,GAChD,IAA2HlB,EAAvHmB,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIH,EAAkB,OAATE,EAAgBA,EAAOhB,OAAOqB,yBAAyBP,EAAQC,GAAOC,EACrH,GAAuB,iBAAZM,SAAoD,mBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAASV,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIQ,EAAIX,EAAWM,OAAS,EAAGK,GAAK,EAAGA,KAAS1B,EAAIe,EAAWW,MAAIJ,GAAKH,EAAI,EAAInB,EAAEsB,GAAKH,EAAI,EAAInB,EAAEgB,EAAQC,EAAKK,GAAKtB,EAAEgB,EAAQC,KAASK,GAChJ,OAAOH,EAAI,GAAKG,GAAKpB,OAAOyB,eAAeX,EAAQC,EAAKK,GAAIA,mBCvChE,SAAAM,KAwIA,OAvIgBA,EAAAC,KAAd,SAAmBC,GACjBC,EAAKC,KAAK,CACRC,MAAO,cACPH,KAAMA,EACNI,KAAM,OACNC,kBAAmB,QAITP,EAAAQ,QAAd,SAAsBN,GACpBC,EAAKC,KAAK,CACRC,MAAO,UACPH,KAAMA,EACNI,KAAM,UACNC,kBAAmB,QAITP,EAAAS,MAAd,SAAoBP,GAClBC,EAAKC,KAAK,CACRC,MAAO,QACPH,KAAMA,EACNI,KAAM,QACNC,kBAAmB,QAITP,EAAAU,eAAd,WACE5B,KAAK0B,QAAQ,wBAGDR,EAAAW,cAAd,WACE7B,KAAK2B,MAAM,wCAGCT,EAAAY,WAAd,SAAyBV,EAAMG,EAAQE,EAAoBM,EAAmBC,EAAgBC,QACxE,IAATV,GAAiC,MAATA,IAAeA,EAAQ,iBAE1DF,EAAKC,KAAK,CACRC,MAAOA,EACPH,KAAMA,EACNI,KAAM,UACNC,kBAAmBA,EACnBM,iBAAkBA,EAClBG,kBAAkB,IAEnBC,MAAK,SAACC,GACDA,EAAOC,MACLL,GACFA,IAIKI,EAAOE,SAAWjB,EAAKkB,cAAcC,QAAUJ,EAAOE,SAAWjB,EAAKkB,cAAcE,OACvFR,GACFA,QAMMf,EAAAwB,QAAd,SAAsBtB,EAAOG,EAAQS,QACf,IAATT,GAAiC,MAATA,IAAeA,EAAQ,WAErDH,IACHA,EAAO,4BAGTC,EAAKC,KAAK,CACRC,MAAOA,EACPH,KAAMA,EACNI,KAAM,UACNC,kBAAmB,OAEpBU,MAAK,WACAH,GACFA,QAKQd,EAAAyB,OAAd,SAAqBvB,GACdA,IACHA,EAAO,8BAGTC,EAAKC,KAAK,CACRC,MAAO,YACPH,KAAMA,EACNI,KAAM,UAKIN,EAAA0B,mBAAd,SAAiCxB,GAC1BA,IACHA,EAAO,8BAGKC,EAAKwB,MAAM,CACvBC,OAAO,EACPC,SAAU,UACVC,mBAAmB,EACnBC,MAAO,IACPC,kBAAkB,IAGd5B,KAAK,CACTC,MAAO,YACPH,KAAMA,EACNI,KAAM,UAIIN,EAAAiC,oBAAd,SAAkC/B,EAAOG,QACnB,IAATA,GAAiC,MAATA,IAAeA,EAAQ,WAErDH,IACHA,EAAO,4BAGKC,EAAKwB,MAAM,CACvBC,OAAO,EACPC,SAAU,UACVC,mBAAmB,EACnBC,MAAO,IACPC,kBAAkB,IAGd5B,KAAK,CACTC,MAAOA,EACPH,KAAMA,EACNI,KAAM,aAGZN,KC1IAkC,EAAA,WAAA,SAAAA,KAYA,OAXgBA,EAAAC,mBAAd,SAAiCC,GAC/B,OAAOF,EAAMG,eAAeC,SAASC,OAAQH,IAGjCF,EAAAG,eAAd,SAA6BG,EAAKJ,GAChCA,EAAOA,EAAKK,QAAQ,OAAQ,OAAOA,QAAQ,OAAQ,OACnD,IAEAC,EAFY,IAAIC,OAAO,SAAWP,EAAO,aAEzBQ,KAAKJ,GACrB,OAAmB,OAAZE,EAAmB,GAAKG,mBAAmBH,EAAQ,GAAGD,QAAQ,MAAO,OAEhFP,EAZA,gBCQE,SAAAY,EAAYC,EAAuBC,GACjClE,KAAKiE,MAAQA,EACbjE,KAAKkE,OAASA,EAOlB,OAJEF,EAAA9D,UAAAiE,eAAA,WAEQC,OAAQZ,SAASa,mDAPNC,EAAAA,sBAAwBC,EAAAA,UAJhCP,EAAa5D,EAAA,CADzBoE,EAAAA,cACYR,MCJbS,EAAA,WAAA,SAAAA,KAMA,OAL2BA,EAAAC,QAAU,eACVD,EAAAE,YAAsB,UAEtBF,EAAAG,OAAS,IACTH,EAAAI,OAAS,QACpCJ,EANA,gBCcE,SAAAK,EAAsBC,GAAA/E,KAAA+E,KAAAA,EACpB/E,KAAKgF,QAAUP,EAAOI,OAwD1B,OArDUC,EAAA5E,UAAA+E,gBAAR,SAAwBC,GACtB,OAAOA,EAAQ,IAAMC,EAAEC,MAAMF,GAAS,IAIjCJ,EAAA5E,UAAAmF,IAAP,SAAcC,EAAgBJ,GAC5B,IAAIxB,EAAM1D,KAAKgF,QAAU,GAAGM,EAAStF,KAAKiF,gBAAgBC,GAC1D,OAAOlF,KAAK+E,KAAKM,IAAI3B,GAAK6B,KACxBC,EAAAA,KAAI,SAAAC,GAAO,OAAGA,OAIXX,EAAA5E,UAAAwF,KAAP,SAAYJ,EAAgBJ,GAC1B,IAAIxB,EAAM1D,KAAKgF,QAAU,GAAGM,EAC5B,OAAOtF,KAAK+E,KAAKW,KAAKhC,EAAKwB,EAAM,CAAES,aAAc,UAG5Cb,EAAA5E,UAAA0F,OAAP,SAAcN,EAAgBJ,GAC5B,IAAIxB,EAAM1D,KAAKgF,QAAU,GAAGM,EAAStF,KAAKiF,gBAAgBC,GAC1D,OAAOlF,KAAK+E,KAAKW,KAAKhC,EAAK,KAAM,CAAEiC,aAAc,UAI5Cb,EAAA5E,UAAA2F,OAAP,SAAiBX,GACf,OAAOlF,KAAKqF,IAAI,SAAUH,GAAMK,KAC9BC,EAAAA,KAAI,SAAAC,GAAO,OAAKA,OAIbX,EAAA5E,UAAA4F,YAAP,SAAmBC,EAAkBC,GAC9BA,IACDA,EAAc,OAGlB,IAAItC,EAAMe,EAAOC,QAAUqB,EAAW,IAAMC,EAC5C,OAAOhG,KAAK+E,KAAKM,IAAI3B,GAAK6B,KACxBC,EAAAA,KAAI,SAAAC,GAAO,OAAOA,OAIfX,EAAA5E,UAAA+F,WAAP,WACE,IAAIvC,EAAM1D,KAAKgF,QAAU,aACzB,OAAOhF,KAAK+E,KAAKM,IAAI3B,EAAK,CAAEiC,aAAc,UAIrCb,EAAA5E,UAAAgG,QAAP,SAAkBC,GAChB,OAAOnG,KAAKqF,IAAO,UAAW,CAAEc,GAAIA,KAG/BrB,EAAA5E,UAAAkG,OAAP,SAAcD,GACZ,OAAOnG,KAAK4F,OAAO,SAAU,CAAEO,GAAIA,8CAvDTE,EAAAA,cAJjBvB,EAAc1E,EAAA,CAD1BoE,EAAAA,cACYM,oBCKX,SAAAwB,EAAsBvB,GAAtB,IAAAwB,EACEC,EAAAC,KAAAzG,KAAM+E,IAAK/E,YADSuG,EAAAxB,KAAAA,EAJdwB,EAAAG,QAAU,KACVH,EAAAI,UAAY,GACZJ,EAAAK,aAA6B,KAInCL,EAAKvB,QAAUP,EAAOI,OAAS,gBAgDnC,OAvDuC/E,EAAAwG,EAAAE,GAUrCF,EAAApG,UAAA2G,WAAA,SAAWC,GAAX,IAAAP,EAAAvG,UACwB,IAAX8G,IAIS,MAAhB9G,KAAK0G,SAKT1G,KAAK2G,UAAUI,KAAKD,GAEK,MAArB9G,KAAK4G,eAIT5G,KAAK4G,aAAe5G,KAAKqF,IAAI,oBAAqB,MAAM2B,WACtD,SAAA9B,GACEqB,EAAKU,aAAa/B,MAEpB,SAAAgC,SAdEJ,EAAQ9G,KAAK0G,WAkBnBJ,EAAApG,UAAA+G,aAAA,SAAa/B,GACXlF,KAAK0G,QAAUxB,EAEf,IAAK,IAAIlE,EAAI,EAAGA,EAAIhB,KAAK2G,UAAUhG,OAAQK,IAAK,EAE9C8F,EADc9G,KAAK2G,UAAU3F,IACrBkE,GAGVlF,KAAK2G,UAAY,GACjB3G,KAAK4G,aAAaO,cAClBnH,KAAK4G,aAAe,KACpB5G,KAAK0G,QAAU,MAGjBJ,EAAApG,UAAAkH,eAAA,WACE,OAAahD,OAAQiD,0BAGvBf,EAAApG,UAAAoH,YAAA,WACE,OAAalD,OAAQmD,gEAhDKlB,EAAAA,cALjBC,EAAiBlG,EAAA,CAD7BoE,EAAAA,cACY8B,IAA0BxB,GCNvC0C,EAAA,WAIE,SAAAA,KAwBF,OArBEA,EAAAtH,UAAAuH,QAAA,WACE,IAAItB,EAAK/C,EAAMC,mBAAmB,MAClC,YAAkB,IAAP8C,GAA4B,IAANA,EAAiB,KAE3CA,GAGTqB,EAAAtH,UAAAwH,YAAA,WACqBvC,EAAE,eACRwC,QAGfH,EAAAtH,UAAA0H,YAAA,WACqBzC,EAAE,eACR0C,QAGfL,EAAAtH,UAAA4H,YAAA,SAAYZ,GACVlH,KAAK4H,cACL1G,EAAOW,iBAEX2F,EA5BA,iBCWE,SAAAO,IAAA,IAAAxB,EACEC,EAAAC,KAAAzG,OAAOA,YAHFuG,EAAAyB,eAAyB,IAiDlC,OAtDuClI,EAAAiI,EAAAvB,GAWrCuB,EAAA7H,UAAA+H,eAAA,WACE,IAAI9B,EAAK/C,EAAMC,mBAAmB,MAClC,YAAkB,IAAP8C,GAA4B,IAANA,GAKnC4B,EAAA7H,UAAAgI,YAAA,WACE,OAAOlI,KAAKyH,WAGdM,EAAA7H,UAAAiI,cAAA,SAAc7E,GACZ,YAAoB,IAATA,GAAgC,IAARA,MAI9BtD,KAAKoI,cAINpI,KAAKoI,UAAU/C,IAAI/B,KACXtD,KAAKgI,eAAiBhI,KAAKoI,UAAU/C,IAAI/B,GAAM+E,SAC/CrI,KAAKoI,UAAU/C,IAAI/B,GAAMgF,SAAWtI,KAAKoI,UAAU/C,IAAI/B,GAAM+E,YAM3EN,EAAA7H,UAAAqI,aAAA,SAAajF,GACX,OAAOtD,KAAKoI,UAAUI,SAASlF,GAAMjB,OAGvC0F,EAAA7H,UAAAuI,aAAA,SAAanF,EAAMjB,GACjBrC,KAAKoI,UAAUI,SAASlF,GAAMoF,SAASrG,IAGzC0F,EAAA7H,UAAAyI,kBAAA,SAAkBC,EAAWtF,GAC3B,OAAOtD,KAAKoI,UAAUI,SAASI,GAAWvD,IAAI/B,GAAMjB,OAGtD0F,EAAA7H,UAAA2I,kBAAA,SAAkBD,EAAWtF,EAAMjB,GACjCrC,KAAKoI,UAAUI,SAASI,GAAWvD,IAAI/B,GAAMoF,SAASrG,IAlDxDjC,EAAA,CADC0I,EAAAA,yCAID1I,EAAA,CADC0I,EAAAA,6CAkDHf,GAtDuCP,gBCAvC,SAAAuB,KAQA,OALEA,EAAA7I,UAAA8I,SAAA,WACoB,MAAdhJ,KAAKuB,QACLvB,KAAKuB,MAAQ,KAJVnB,EAAA,CAAR0I,EAAAA,qCADUC,EAAsB3I,EAAA,CALlC6I,EAAAA,UAAU,CACTC,SAAU,yBACVC,SAAA,8GAGWJ,oBCAX,SAAAK,WACE5C,EAAAC,KAAAzG,OAAOA,KAiDX,OAnDgDF,EAAAsJ,EAAA5C,GAK9C4C,EAAAlJ,UAAAmJ,0BAAA,WAAA,IAAA9C,EAAAvG,KACMsJ,EAAqB,GAgBzB,OAdA9J,OAAO+J,KAAKvJ,KAAKoI,UAAUI,UAAUgB,SAAQ,SAAAC,GAC3C,IAAIC,EAAUnD,EAAK6B,UAAUI,SAASiB,GAED,MAArBC,EAASlB,SACrBhJ,OAAO+J,KAAiBG,EAASlB,UAAUgB,SAAQ,SAAAC,GACjD,IAAIE,EAAoBD,EAASlB,SAASiB,GAC1ClD,EAAKqD,sBAAsBD,EAAOF,GAAGD,SAAQ,SAAAK,GAAK,OAAAP,EAASvC,KAAK8C,SAIlEtD,EAAKqD,sBAAsBF,EAASD,GAAGD,SAAQ,SAAAK,GAAK,OAAAP,EAASvC,KAAK8C,SAIjEP,GAGTF,EAAAlJ,UAAA0J,sBAAA,SAAsBE,EAAYC,GAChC,IAAIC,EAAgBF,EAAMG,MAAQF,EAC9BT,EAAqB,GAEzB,GAAIQ,EAAMI,OACN,IAAK,IAAIC,KAAaL,EAAMI,OAC1B,GAAIJ,EAAMI,OAAOrK,eAAesK,GAC9B,OAAQA,GACN,IAAK,WACHb,EAASvC,KAAQiD,EAAK,gBACtB,MAEF,IAAK,YACHV,EAASvC,KAAQiD,EAAK,qBAAqBF,EAAMI,OAAkB,UAAEE,eAAc,eACnF,MAEF,IAAK,UACHd,EAASvC,KAAQiD,EAAK,gCAOlC,OAAOV,GAEXF,GAnDgDrB,iBCK9C,SAAAsC,IAAA,IAAA9D,EACEC,EAAAC,KAAAzG,OAAOA,YAHAuG,EAAA+D,SAAmB,IAU9B,OAXoDxK,EAAAuK,EAAA7D,GAOlD6D,EAAAnK,UAAAqK,UAAA,WAEE,OADevK,KAAKqJ,6BAPbjJ,EAAA,CAAR0I,EAAAA,uCADUuB,EAA8BjK,EAAA,CAL1C6I,EAAAA,UAAU,CACTC,SAAU,kCACVC,SAAA,sPAGWkB,IAAuCjB,iBCGlD,SAAAoB,WACEhE,EAAAC,KAAAzG,OAAOA,KAEX,OAPoDF,EAAA0K,EAAAhE,GACzCpG,EAAA,CAAR0I,EAAAA,2CACQ1I,EAAA,CAAR0I,EAAAA,4CAFU0B,EAA8BpK,EAAA,CAJ1C6I,EAAAA,UAAU,CACTC,SAAU,kCACVC,SAAA,8OAEWqB,IAAuCpB,GCvBvCqB,EAA+B,CACxCC,gBAAiB,yBACjBC,kBAAkB,EAClBC,UAAW,IACXC,eAAe,EAEfC,eAAgB,CACZC,SAAY,CACRC,QAAW,CAAC,OAAQ,SAAU,YAAa,gBAAiB,YAAa,cAC7D,aAAc,WAAY,YAAa,kBAAmB,cAAe,gBAEzFC,cAAiB,CACbD,QAAW,CAAC,YAAa,cAAe,iBAAkB,aAAc,eAC5D,WAAY,WAAY,kBAAmB,iBAAkB,aAAc,UAAW,SAAU,UAEhHE,SAAY,CACRF,QAAW,CAAC,aAAc,cAAe,cAAe,YAAa,cACzD,oBAAqB,YAErCG,SAAY,CACRH,QAAW,CAAC,YAAa,kBAAmB,OAAQ,OAAQ,OAAQ,cACpEI,MAAS,UAQjBC,eAAgB,8BAChBC,kBAAmB,CAAC,OAAQ,MAAO,OACnCC,kBAAmB,CAAEC,WAAY,GAAIC,eAAgB,KCJzDC,EAAA,SAAAlF,GAcE,SAAAkF,IAAA,IAAAnF,EACEC,EAAAC,KAAAzG,OAAOA,YATFuG,EAAAoF,yBAAmC,EACnCpF,EAAAqF,wBAA0B,GAGxBrF,EAAAsF,SAAmB,GACnBtF,EAAAuF,gBAA0B,OAC1BvF,EAAAwF,cAAwB,KAgGnC,OA5G6CjM,EAAA4L,EAAAlF,GAkB3CkF,EAAAxL,UAAA8I,SAAA,WACE,IAAIgD,EAAMhM,KAAK+L,cACkB,iBAAtB/L,KAAK+L,gBACZC,EAAMC,KAAKC,MAAMlM,KAAK+L,gBAG1B,IAAII,EAAkBhH,EAAEiH,OAAO,GAAI3B,EAAsBuB,GACrDzL,EAAY6D,OAAQiI,mBACpB9L,IACF4L,EAAahH,EAAEiH,OAAO,GAAID,EAAYF,KAAKC,MAAM,aAAe3L,EAAM,SAGpE4L,EAAWG,QAAUH,EAAWG,OAAOC,cACvCJ,EAAWG,OAAOC,YAAYC,YAAa,GAG/CL,EAAWN,SAAW7L,KAAK6L,SAK3B7L,KAAKyM,QAAUN,GAGjBT,EAAAxL,UAAAwM,gBAAA,WASC,IAAIC,EAAO3M,KACX4M,YAAW,WACTD,EAAKhB,yBAA0B,EAC/BgB,EAAKE,kBACH,MAGGnB,EAAAxL,UAAA2M,cAAR,WACE,IAAIC,EAAU9M,KAAK4L,wBAKnB,GAFA5L,KAAK4L,wBAA0B,GAE3BkB,EACA,IAAI,IAAI9L,EAAG,EAAGA,EAAI8L,EAAQnM,OAAQK,IAC9B8L,EAAQ9L,MAOR0K,EAAAxL,UAAA6M,UAAV,WACE,OAAI/M,KAAKgN,aACChN,KAAKgN,aAAaD,YAErB,MAIFrB,EAAAxL,UAAA+M,mBAAP,SAA0B3H,GACxB,IAAIqH,EAAO3M,KAENA,KAAK2L,wBAIRrG,EAAOqH,GAHP3M,KAAK4L,wBAAwB7E,MAAK,WAAQzB,EAAOqH,OAO9CjB,EAAAxL,UAAAgN,kBAAP,SAAyBxD,GACvB1J,KAAKgN,aAAetD,EACpB1J,KAAKgN,aAAaG,cAGbzB,EAAAxL,UAAAkN,gBAAP,SAAuB5B,EAAYC,GACjCzL,KAAKiN,oBAAmB,SAAUN,GAChC,IAAIU,EAASV,EAAKI,iBACK,IAAnB,GAA4C,MAAVM,IAItCA,EAAOC,KAAK/B,kBAAkBC,WAAaA,EAC3C6B,EAAOC,KAAK/B,kBAAkBE,eAAiBA,OA/F1CrL,EAAA,CAAR0I,EAAAA,wCACQ1I,EAAA,CAAR0I,EAAAA,+CACQ1I,EAAA,CAAR0I,EAAAA,6CAgGH4C,EA5GA,CAA6C3D,iBCA3C,SAAAwF,WACE/G,EAAAC,KAAAzG,OAAOA,KAsBX,OAxByCF,EAAAyN,EAAA/G,GAKhC+G,EAAArN,UAAAsN,QAAP,SAAeC,GACbzN,KAAKiN,oBAAmB,SAAUN,GAChC,IAAIU,EAASV,EAAKI,iBACK,IAAnB,GAA4C,MAAVM,GAItCA,EAAOK,KAAKC,IAAIF,OAIbF,EAAArN,UAAA0N,QAAP,WACE,IAAIP,EAASrN,KAAK+M,YAClB,QAAuB,IAAnB,GAA4C,MAAVM,EAItC,OAAOA,EAAOK,KAAKrI,KAAI,IAtBdkI,EAAmBnN,EAAA,CAJ/B6I,EAAAA,UAAU,CACTC,SAAU,sBACVC,SAAA,+OAEWoE,IAA4B7B,iBCGvC,SAAAmC,IAAA,IAAAtH,EACEC,EAAAC,KAAAzG,OAAOA,YAHAuG,EAAAuH,cAAwB,SAKnC,OAN8ChO,EAAA+N,EAAArH,GACnCpG,EAAA,CAAR0I,EAAAA,6CADU+E,EAAwBzN,EAAA,CAJpC6I,EAAAA,UAAU,CACTC,SAAU,4BACVC,SAAA,kwBAEW0E,IAAiCnC,gBCyD9C,SAAAqC,KACA,OADaA,EAAiB3N,EAAA,CA7C7B4N,EAAAA,SAAS,CACRC,QAAS,CACPC,EAAAA,aACAC,EAAAA,oBACAC,EAAAA,YACAC,EAAAA,iBACAC,EAAAA,qBACAC,EAAAA,sBAEAC,EAAAA,mBAAmBC,UACnBC,EAAAA,iBAAiBD,UACjBE,EAAAA,WACAC,EAAAA,YACAC,EAAAA,cACAC,EAAAA,iBAEFC,QAAS,CACPb,EAAAA,aACAG,EAAAA,iBACAC,EAAAA,qBACAC,EAAAA,sBAEA/D,EACAH,EACAtB,EAEAwE,EACAM,GAEFmB,aAAc,CACZxE,EACAH,EACAtB,EAEAwE,EACAM,GAEFoB,UAAW,CACT3I,GAEF4I,QAAS,CACPC,EAAAA,uBACAC,EAAAA,qBAGSrB,oBC1DX,SAAAsB,EAAsBtK,GAAtB,IAAAwB,EACEC,EAAAC,KAAAzG,KAAM+E,IAAK/E,YADSuG,EAAAxB,KAAAA,EAEpBwB,EAAKvB,SAAW,aA6BpB,OAhC2ClF,EAAAuP,EAAA7I,GAMlC6I,EAAAnP,UAAAoP,uBAAP,SAA8BC,EAAuBzI,EAAoB0I,GACvExP,KAAK4F,OAAO,yBAA0B,CAAE2J,cAAeA,IACpDvI,WACC,SAAA9B,OACA,SAAAgC,GAAWsI,GAAOA,OAClB,WAAY1I,GAASA,QAIpBuI,EAAAnP,UAAAuP,4BAAP,SAAmC3I,EAAoB0I,GACrDxP,KAAK4F,OAAO,8BAA+B,MACxCoB,WACC,SAAA9B,OACA,SAAAgC,GAAWsI,GAAOA,OAClB,WAAY1I,GAASA,QAIpBuI,EAAAnP,UAAAwP,UAAP,SAAiBH,EAAuBzI,EAAoB0I,GAC1DxP,KAAK4F,OAAO,YAAa,CAAE2J,cAAeA,IACvCvI,WACC,SAAA9B,OACA,SAAAgC,GAAWsI,GAAOA,OAClB,WAAY1I,GAASA,iDA5BCT,EAAAA,cADjBgJ,EAAqBjP,EAAA,CADjCoE,EAAAA,cACY6K,IAA8BvK,gBCazC,SAAA6K,EAAoBC,EAAuCC,GAAvC7P,KAAA4P,WAAAA,EAAuC5P,KAAA6P,IAAAA,EARpD7P,KAAA8P,gBAA0B,EAC1B9P,KAAAoH,gBAA0B,EAC1BpH,KAAA+P,YAAsB,EACtB/P,KAAAgQ,iBAA2B,GAsCpC,OA9BEL,EAAAzP,UAAA8I,SAAA,WAAA,IAAAzC,EAAAvG,KACOA,KAAK4P,WAAWxI,iBAKrBpH,KAAK4P,WAAW/I,YAAW,SAACH,GAC1BH,EAAKa,eAAiBV,EAAQU,eAE1Bb,EAAKa,iBACLb,EAAKwJ,YAAcrJ,EAAQuJ,QAAQC,YACnC3J,EAAKyJ,iBAAmBtJ,EAAQuJ,QAAQE,qBAG5C5J,EAAKuJ,gBAAiB,KAZpB9P,KAAK8P,gBAAiB,GAgB5BH,EAAAzP,UAAAkQ,UAAA,WACE,IAAMhP,EAAO,mBAAmBpB,KAAKqQ,UAAS,IAC1C1D,EAAO3M,KAEXkB,EAAOY,WAAWV,EAAM,gBAAiB,iBAAkB,UAAU,WACnEuL,EAAKkD,IAAIH,UAAU/C,EAAK2D,MAAM,WAC5BpP,EAAOwB,QAAQ,iBAAkB,MAAM,WAC/B0B,OAAQZ,SAASa,4DA5BCiC,SAAgC+I,KAHvDjP,EAAA,CAAR0I,EAAAA,oCACQ1I,EAAA,CAAR0I,EAAAA,yCAPU6G,EAAwBvP,EAAA,CAJpC6I,EAAAA,UAAU,CACTC,SAAU,2BACVC,SAAA,ohBAEWwG,mBCSX,SAAAY,EAAoBX,GAAA5P,KAAA4P,WAAAA,EAVb5P,KAAA8P,gBAA0B,EAC1B9P,KAAAoH,gBAA0B,EAC1BpH,KAAA+P,YAAsB,EACtB/P,KAAAgQ,iBAA2B,GAC3BhQ,KAAAuP,cAAwB,EACxBvP,KAAAwQ,mBAA6B,GA2BtC,OAnBED,EAAArQ,UAAA8I,SAAA,WAAA,IAAAzC,EAAAvG,KACOA,KAAK4P,WAAWxI,iBAKrBpH,KAAK4P,WAAW/I,YAAW,SAACH,GAC1BH,EAAKa,eAAiBV,EAAQU,eAE1Bb,EAAKa,iBACLb,EAAKwJ,YAAcrJ,EAAQuJ,QAAQC,YACnC3J,EAAKyJ,iBAAmBtJ,EAAQuJ,QAAQE,oBACxC5J,EAAKgJ,cAAgB7I,EAAQuJ,QAAQQ,qBACrClK,EAAKiK,mBAAqB9J,EAAQuJ,QAAQS,8BAG9CnK,EAAKuJ,gBAAiB,KAdpB9P,KAAK8P,gBAAiB,4CALIxJ,KAHvBlG,EAAA,CAAR0I,EAAAA,oCACQ1I,EAAA,CAAR0I,EAAAA,yCATUyH,EAA4BnQ,EAAA,CALxC6I,EAAAA,UAAU,CACTC,SAAU,gCACVC,SAAA,y2BAGWoH,mBCOX,SAAAI,EAAoBd,GAAA7P,KAAA6P,IAAAA,EAetB,OAZEc,EAAAzQ,UAAA0Q,cAAA,WACE,IAAIxP,EAAO,iBAAiBpB,KAAK6Q,iBAAgB,cAAc7Q,KAAK8Q,mBAChEnE,EAAO3M,KAEXkB,EAAOY,WAAWV,EAAM,sBAAuB,iBAAkB,UAAU,WACzEuL,EAAKkD,IAAIP,uBAAuB3C,EAAKoE,eAAe,WAClD7P,EAAOwB,QAAQ,gDAAiD,MAAM,WAC9D0B,OAAQZ,SAASa,4DAVNgL,KAJhBjP,EAAA,CAAR0I,EAAAA,gDACQ1I,EAAA,CAAR0I,EAAAA,6CACQ1I,EAAA,CAAR0I,EAAAA,kDAHU6H,EAA0BvQ,EAAA,CALtC6I,EAAAA,UAAU,CACTC,SAAU,8BACVC,SAAA,wGAGWwH,mBCHX,SAAAK,KACF,OAHW5Q,EAAA,CAAR0I,EAAAA,wCADUkI,EAAqB5Q,EAAA,CALjC6I,EAAAA,UAAU,CACTC,SAAU,wBACVC,SAAA,oEAGW6H,mBCGX,SAAAC,KACF,OAHW7Q,EAAA,CAAR0I,EAAAA,wCADUmI,EAAsB7Q,EAAA,CALlC6I,EAAAA,UAAU,CACTC,SAAU,yBACVC,SAAA,sEAGW8H,mBCGX,SAAAC,KAEF,OAJW9Q,EAAA,CAAR0I,EAAAA,wCADUoI,EAAqB9Q,EAAA,CALjC6I,EAAAA,UAAU,CACTC,SAAU,wBACVC,SAAA,oEAGW+H,mBCiBb,SAAAC,KACA,OADaA,EAAqB/Q,EAAA,CAhBjC4N,EAAAA,SAAS,CACRC,QAAS,GAETc,QAAS,CACPiC,EACAE,EACAD,GAEFjC,aAAc,CACZgC,EACAE,EACAD,GAEFhC,UAAW,MAGAkC,mBCqBb,SAAAC,KACA,OADaA,EAAoBhR,EAAA,CA3BhC4N,EAAAA,SAAS,CACRC,QAAS,CACPC,EAAAA,aACAG,EAAAA,iBACAC,EAAAA,qBACAC,EAAAA,sBACA4C,GAEFpC,QAAS,CACPb,EAAAA,aACAG,EAAAA,iBACAC,EAAAA,qBACAC,EAAAA,sBACAgC,EACAI,EACAhB,GAEFX,aAAc,CACZuB,EACAI,EACAhB,GAEFV,UAAW,CACTI,MAIS+B,oBC5BX,SAAAC,EAAsBtM,GAAtB,IAAAwB,EACEC,EAAAC,KAAAzG,KAAM,KAAGA,YADWuG,EAAAxB,KAAAA,EAFdwB,EAAArB,KAAc,GAKpBqB,EAAKvB,QAAUP,EAAOI,OACtB0B,EAAK+K,YAAc/K,EAAKvB,QAAU,WAuFtC,OAjGyClF,EAAAuR,EAAA7K,GAa/B6K,EAAAnR,UAAA+E,gBAAR,SAAwBC,GACtB,OAAOA,EAAQ,IAAMC,EAAEC,MAAMF,GAAS,IAGhCmM,EAAAnR,UAAAqR,MAAR,WACEvR,KAAKkF,KAAO,IAGPmM,EAAAnR,UAAAsR,UAAP,SAAiBC,GACf,GAAKA,EAAL,CAGA,IAAMC,EAAmB1R,KAAKkF,KAAKyM,MAAK,SAAAC,GAAQ,OAAAA,EAAKC,KAAOJ,EAASI,MAGrErS,OAAOsS,OAAOJ,EAAkBD,GAChCjL,EAAAtG,UAAM6R,KAAItL,KAAAzG,KAACA,KAAKkF,QAGXmM,EAAAnR,UAAA8R,KAAP,SAAYC,GAAZ,IAAA1L,EAAAvG,KACE,GAAIA,KAAKkF,KAAKvE,OACV,OAAO6F,EAAAtG,UAAM6R,KAAItL,KAAAzG,KAACA,KAAKkF,MAG3B,IAAIxB,EAAM1D,KAAKsR,iBAEO,IAAXW,IACPA,EAASjS,KAAKkS,sBAGI,IAAXD,IACPvO,EAAM1D,KAAKsR,YAAc,GAAGtR,KAAKiF,gBAAgBgN,GACjDjS,KAAKkS,gBAAkBD,GAQ3BjS,KAAK+E,KAAKM,IAAI3B,GAAK6B,KACjBC,EAAAA,KAAI,SAAAC,GAAO,OAAOA,MAClBuB,WAAU,SAAA9B,GAAUsB,EAAAtG,UAAM6R,KAAItL,KAAAF,EAACrB,OAI5BmM,EAAAnR,UAAAiS,KAAP,SAAYjN,EAAWkN,EAAgBC,GAAvC,IAAA9L,EAAAvG,KACQsF,EAAS8M,EAAQ,MAAQ,SAE/BpS,KAAKuR,QACLvR,KAAK0F,KAAKJ,EAAQJ,GAAM8B,WACtB,eAEA,WACET,EAAKyL,UAEP,WACEzL,EAAKyL,OACDK,GAAQA,QAKXhB,EAAAnR,UAAAkG,OAAP,SAAclB,EAAWmN,GAAzB,IAAA9L,EAAAvG,KACEA,KAAKuR,QACLvR,KAAK0F,KAAK,SAAUR,GAAM8B,WACxB,eAEA,WACET,EAAKyL,UAEP,WACEzL,EAAKyL,OACDK,GAAQA,QAKlBhB,EAAAnR,UAAAwF,KAAA,SAAKJ,EAAaJ,GAChB,IAAIxB,EAAM1D,KAAKgF,QAAU,GAAGM,EAAStF,KAAKiF,gBAAgBC,GAC1D,OAAOlF,KAAK+E,KAAKW,KAAKhC,EAAKwB,GAAMK,KAC/BC,EAAAA,KAAI,SAAAC,GAAO,OAAOA,gDAxFMY,EAAAA,cANjBgL,EAAmBjR,EAAA,CAD/BoE,EAAAA,cACY6M,IAA4BiB,EAAAA,8BCazC,SAAAC,KACA,OADaA,EAAiBnS,EAAA,CAnB7B4N,EAAAA,SAAS,CACRC,QAAS,CACPC,EAAAA,aACAG,EAAAA,iBACAC,EAAAA,qBACAC,EAAAA,uBAEFQ,QAAS,CACPb,EAAAA,aACAG,EAAAA,iBACAC,EAAAA,qBACAC,EAAAA,uBAEFS,aAAc,GAEdC,UAAW,MAIAsD","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport Swal from 'sweetalert2'\r\n\r\nexport class Alerts {\r\n public static Info(text) {\r\n Swal.fire({\r\n title: \"Information\",\r\n text: text,\r\n icon: \"info\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static Warning(text) {\r\n Swal.fire({\r\n title: \"Warning\",\r\n text: text,\r\n icon: \"warning\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static Error(text) {\r\n Swal.fire({\r\n title: \"Error\",\r\n text: text,\r\n icon: \"error\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static NotImplemented() {\r\n this.Warning(\"Not Implemented Yet\");\r\n };\r\n\r\n public static ErrorOccurred() {\r\n this.Error(\"Sorry, an unexpected error occurred\");\r\n };\r\n\r\n public static AreYouSure(text, title?, confirmButtonText?, cancelButtonText?, successAction?, cancelAction?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Are you sure?\";\r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: 'warning',\r\n confirmButtonText: confirmButtonText,\r\n cancelButtonText: cancelButtonText,\r\n showCancelButton: true\r\n })\r\n .then((result) => {\r\n if (result.value) {\r\n if (successAction) {\r\n successAction();\r\n }\r\n }\r\n // result.dismiss can be 'cancel', 'overlay', 'close', and 'timer'\r\n else if (result.dismiss == Swal.DismissReason.cancel || result.dismiss == Swal.DismissReason.close) {\r\n if (cancelAction) {\r\n cancelAction();\r\n }\r\n }\r\n });\r\n };\r\n\r\n public static Success(text?, title?, successAction?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Success\";\r\n\r\n if (!text) {\r\n text = \"Operation was successful\";\r\n }\r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: \"success\",\r\n confirmButtonText: \"OK\"\r\n })\r\n .then(function () {\r\n if (successAction) {\r\n successAction();\r\n }\r\n });\r\n }\r\n\r\n public static Cancel(text?) {\r\n if (!text) {\r\n text = \"Operation has been cancled\";\r\n }\r\n\r\n Swal.fire({ \r\n title: 'Cancelled',\r\n text: text,\r\n icon: \"info\"\r\n })\r\n }\r\n\r\n //Notifications\r\n public static NotificationCancel(text?) {\r\n if (!text) {\r\n text = \"Operation has been cancled\";\r\n }\r\n\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true\r\n })\r\n\r\n toast.fire({\r\n title: 'Cancelled',\r\n text: text,\r\n icon: \"info\"\r\n })\r\n }\r\n\r\n public static NotificationSuccess(text?, title?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Success\";\r\n\r\n if (!text) {\r\n text = \"Operation was successful\";\r\n }\r\n\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true\r\n })\r\n\r\n toast.fire({\r\n title: title,\r\n text: text,\r\n icon: \"success\",\r\n })\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Utils {\r\n public static GetValueByNameInQS(name) {\r\n return Utils.GetValueByName(location.search, name);\r\n }\r\n\r\n public static GetValueByName(url, name) {\r\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n \r\n results = regex.exec(url);\r\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 17 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class BaseGoService {\r\n protected route: ActivatedRoute;\r\n protected router: Router;\r\n\r\n constructor(route: ActivatedRoute, router: Router) {\r\n this.route = route;\r\n this.router = router;\r\n }\r\n\r\n locationReload() {\r\n //this.router.navigate([this.route.url]);\r\n (<any>window).location.reload();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Consts {\r\n public static readonly JsonUrl = \"/dist/jsons/\";\r\n public static readonly JsonVersion: string = \"v=1.0.0\";\r\n\r\n public static readonly AppUrl = \"/\";\r\n public static readonly ApiUrl = \"/api/\";\r\n}","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n \r\nimport { Consts } from '../consts';\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n protected baseUrl: string;\r\n protected jsonUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n this.baseUrl = Consts.ApiUrl;\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n //webApi\r\n public get<T>(action: String, data?: any): Observable<T> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.get(url).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n public post(action: String, data?: any): Observable<any> {\r\n var url = this.baseUrl + `${action}`;\r\n return this.http.post(url, data, { responseType: 'text' });\r\n }\r\n\r\n public postQS(action: String, data?: any): Observable<any> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, null, { responseType: 'text' });\r\n }\r\n\r\n //gets\r\n public getAll<T>(data?: any): Observable<T[]> {\r\n return this.get('getall', data).pipe(\r\n map(res => <T[]>res)\r\n );\r\n }\r\n\r\n public getJsonFile(fileName: string, jsonVersion: string): Observable<any[]> {\r\n if (!jsonVersion) {\r\n jsonVersion = \"1.0\";\r\n }\r\n\r\n var url = Consts.JsonUrl + fileName + '?' + jsonVersion;\r\n return this.http.get(url).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n\r\n public getNewGuid(): Observable<string> {\r\n var url = this.baseUrl + 'getNewGuid';\r\n return this.http.get(url, { responseType: 'text' });\r\n }\r\n\r\n //CRUD function\r\n public getById<T>(id: any): Observable<T> {\r\n return this.get<T>('getById', { id: id });\r\n }\r\n\r\n public remove(id: any): Observable<string> {\r\n return this.postQS('remove', { id: id });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\n\r\n//App\r\nimport { BaseApiService } from '../../data/services/base-api.service';\r\nimport { Consts } from '../../data/consts';\r\n\r\n@Injectable()\r\nexport class AppContextService extends BaseApiService {\r\n private current = null;\r\n private successes = [];\r\n private subscription: Subscription = null;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = Consts.ApiUrl + 'appcontext/';\r\n }\r\n\r\n getCurrent(success: Function) {\r\n if (typeof success == \"undefined\") {\r\n return;\r\n }\r\n\r\n if (this.current != null) {\r\n success(this.current);\r\n return;\r\n }\r\n\r\n this.successes.push(success);\r\n\r\n if (this.subscription != null) {\r\n return;\r\n }\r\n\r\n this.subscription = this.get('GetCurrentContext', null).subscribe(\r\n data => {\r\n this.dataReceived(data);\r\n },\r\n e => { }\r\n );\r\n }\r\n\r\n dataReceived(data) {\r\n this.current = data;\r\n\r\n for (var i = 0; i < this.successes.length; i++) {\r\n var success = this.successes[i];\r\n success(data);\r\n }\r\n\r\n this.successes = [];\r\n this.subscription.unsubscribe();\r\n this.subscription = null;\r\n this.current = null;\r\n }\r\n\r\n isUserSignedIn() {\r\n return (<any>window).__context_isUserSignedIn;\r\n }\r\n\r\n isUserAdmin() {\r\n return (<any>window).__context_isUserAdmin;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 28 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { Alerts } from '../alerts';\r\nimport { Utils } from '../utils';\r\n\r\nexport class BaseComponent {\r\n constructor() {\r\n }\r\n\r\n getQSId() {\r\n var id = Utils.GetValueByNameInQS(\"id\");\r\n if (typeof id === 'undefined' || id == '') return null;\r\n\r\n return id;\r\n }\r\n\r\n showLoading() {\r\n var panelLoading = $('#pnlLoading');\r\n panelLoading.show();\r\n }\r\n\r\n hideLoading() {\r\n var panelLoading = $('#pnlLoading');\r\n panelLoading.hide();\r\n }\r\n\r\n handleError(e) {\r\n this.hideLoading();\r\n Alerts.ErrorOccurred();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 20 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n//Custom\r\nimport { BaseComponent } from './base.component';\r\nimport { Utils } from '../utils';\r\n\r\nexport class BaseEditComponent extends BaseComponent {\r\n @Input() \r\n public formGroup: FormGroup;\r\n \r\n @Input()\r\n public formSubmitted: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n isActionAdding() {\r\n var id = Utils.GetValueByNameInQS(\"id\");\r\n if (typeof id === 'undefined' || id == '') return true;\r\n\r\n return false;\r\n }\r\n\r\n getEntityId() {\r\n return this.getQSId();\r\n }\r\n\r\n isItemInvalid(name: string) {\r\n if (typeof name === 'undefined' || name == '') {\r\n return false;\r\n }\r\n\r\n if (!this.formGroup) {\r\n return false;\r\n }\r\n\r\n if (this.formGroup.get(name)) {\r\n return (this.formSubmitted && this.formGroup.get(name).invalid) ||\r\n (this.formGroup.get(name).touched && this.formGroup.get(name).invalid);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getFormValue(name) {\r\n return this.formGroup.controls[name].value;\r\n }\r\n\r\n setFormValue(name, value) {\r\n this.formGroup.controls[name].setValue(value);\r\n }\r\n\r\n getFormGroupValue(groupName, name) {\r\n return this.formGroup.controls[groupName].get(name).value;\r\n }\r\n\r\n setFormGroupValue(groupName, name, value) {\r\n this.formGroup.controls[groupName].get(name).setValue(value);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 23 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-content-header',\r\n templateUrl: './content-header.component.html'\r\n})\r\n\r\nexport class ContentHeaderComponent implements OnInit {\r\n @Input() title?: string;\r\n\r\n ngOnInit() {\r\n if (this.title == null) {\r\n this.title = '';\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 8 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n//Custom\r\nimport { BaseEditComponent } from '../base-edit.component';\r\n\r\nexport class ValidationSummaryComponent extends BaseEditComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n getFormValidationMessages(): string[] {\r\n let messages: string[] = [];\r\n\r\n Object.keys(this.formGroup.controls).forEach(k => {\r\n var control = this.formGroup.controls[k];\r\n\r\n if ((<FormGroup>control).controls != null) {\r\n Object.keys((<FormGroup>control).controls).forEach(k => {\r\n var child = (<FormGroup>control).controls[k];\r\n this.getValidationMessages(child, k).forEach(m => messages.push(m));\r\n });\r\n }\r\n else {\r\n this.getValidationMessages(control, k).forEach(m => messages.push(m));\r\n }\r\n });\r\n\r\n return messages;\r\n }\r\n\r\n getValidationMessages(state: any, thingName?: string) {\r\n let thing: string = state.path || thingName;\r\n let messages: string[] = [];\r\n\r\n if (state.errors) {\r\n for (let errorName in state.errors) {\r\n if (state.errors.hasOwnProperty(errorName)) {\r\n switch (errorName) {\r\n case 'required':\r\n messages.push(`${thing} is required`);\r\n break;\r\n\r\n case 'minlength':\r\n messages.push(`${thing} must be at least ${state.errors['minlength'].requiredLength} characters`);\r\n break;\r\n\r\n case 'pattern':\r\n messages.push(`${thing} contains illegal characters`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 7 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: 'anatoly-form-validation-summary',\r\n templateUrl: './form-validation-summary.component.html'\r\n})\r\n\r\nexport class FormValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() visible: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n getErrors(): string[] {\r\n var messages = this.getFormValidationMessages();\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 6 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: 'anatoly-item-validation-summary',\r\n templateUrl: './item-validation-summary.component.html'\r\n})\r\nexport class ItemValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() controlName: string;\r\n @Input() controlTitle: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","export const DefaultEditorOptions: Object = { \r\n placeholderText: 'Edit Your Content Here',\r\n charCounterCount: true,\r\n heightMin: 100,\r\n toolbarInline: false,\r\n\r\n toolbarButtons: {\r\n 'moreText': {\r\n 'buttons': ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', \r\n 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle']\r\n },\r\n 'moreParagraph': {\r\n 'buttons': ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', \r\n 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote']\r\n },\r\n 'moreRich': {\r\n 'buttons': ['insertLink', 'insertImage', 'insertTable', 'emoticons', 'fontAwesome', \r\n 'specialCharacters', 'embedly']\r\n },\r\n 'moreMisc': {\r\n 'buttons': ['selectAll', 'clearFormatting', 'html', 'undo', 'redo', 'fullscreen'],\r\n 'align': 'right',\r\n }\r\n },\r\n\r\n /*\r\n Upload:\r\n https://www.froala.com/wysiwyg-editor/docs/concepts/image/upload\r\n */\r\n imageUploadURL: '/api/HtmlEditor/UploadImage',\r\n imageAllowedTypes: ['jpeg', 'jpg', 'png'],\r\n imageUploadParams: { uploadType: '', uploadParentId: '' }\r\n};","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, OnInit, Input, AfterViewInit } from '@angular/core';\r\n\r\nimport FroalaEditor from 'froala-editor';\r\n\r\n//Custom\r\nimport { BaseEditComponent } from '../base-edit.component';\r\n\r\n//Consts\r\nimport { DefaultEditorOptions } from './html-editor.defaultoptions';\r\n\r\nexport class BaseHtmlEditorComponent extends BaseEditComponent implements OnInit, AfterViewInit {\r\n protected froalaEditor; \r\n protected editor2;\r\n\r\n //Public members\r\n public options;\r\n public froalaEditorInitialized: boolean = false;\r\n public afterInitializedActions = [];\r\n\r\n //General params\r\n @Input() editorId: string = '';\r\n @Input() editorLabelText: string = 'Html';\r\n @Input() editorOptions: Object = {};\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n let opt = this.editorOptions;\r\n if (typeof this.editorOptions == \"string\") {\r\n opt = JSON.parse(this.editorOptions);\r\n }\r\n\r\n let newOptions: any = $.extend({}, DefaultEditorOptions, opt);\r\n let key = (<any>window).__froalaEditor_Key;\r\n if (key) {\r\n newOptions = $.extend({}, newOptions, JSON.parse('{ \"key\": \"' + key + '\" }'));\r\n }\r\n \r\n if (newOptions.events && newOptions.events.initialized) {\r\n newOptions.events.initialized.overridden = false;\r\n }\r\n\r\n newOptions.editorId = this.editorId;\r\n /*\r\n newOptions.froalaEditorInitialized = false;\r\n newOptions.afterInitializedActions = this.afterInitializedActions; \r\n */ \r\n this.options = newOptions;\r\n }\r\n\r\n ngAfterViewInit() {\r\n /*\r\n let that = this;\r\n let elementId = \".htmleditor-\" + this.editorId;\r\n \r\n this.editor2 = new FroalaEditor(elementId, that.options, () => {\r\n alert(that.options.editorId);\r\n });\r\n */\r\n let that = this;\r\n setTimeout(function () { \r\n that.froalaEditorInitialized = true; \r\n that.onInitialized();\r\n }, 300);\r\n }\r\n\r\n private onInitialized() {\r\n let actions = this.afterInitializedActions;\r\n\r\n //Clear actions\r\n this.afterInitializedActions = [];\r\n\r\n if (actions) {\r\n for(var i =0; i < actions.length; i++){\r\n actions[i]();\r\n }\r\n }\r\n\r\n //console.log(\"onInitialized: \" + this.options.editorId);\r\n }\r\n\r\n protected getEditor() {\r\n if (this.froalaEditor)\r\n return this.froalaEditor.getEditor();\r\n\r\n return null;\r\n }\r\n\r\n //Public Funcs\r\n public doAfterInitialized(action) {\r\n let that = this;\r\n\r\n if (!this.froalaEditorInitialized) { \r\n this.afterInitializedActions.push(() => { action(that); });\r\n }\r\n else {\r\n action(that);\r\n }\r\n }\r\n\r\n public initializeControl(control) {\r\n this.froalaEditor = control; \r\n this.froalaEditor.initialize(); \r\n }\r\n\r\n public setUploadParams(uploadType, uploadParentId) { \r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.opts.imageUploadParams.uploadType = uploadType;\r\n editor.opts.imageUploadParams.uploadParentId = uploadParentId;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from './base-html-editor.component';\r\n\r\n@Component({\r\n selector: 'anatoly-html-editor',\r\n templateUrl: './html-editor.component.html'\r\n})\r\nexport class HtmlEditorComponent extends BaseHtmlEditorComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setHtml(content) {\r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.html.set(content);\r\n });\r\n }\r\n\r\n public getHtml() {\r\n var editor = this.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n return editor.html.get(false);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from './base-html-editor.component';\r\n\r\n@Component({\r\n selector: 'anatoly-forms-html-editor',\r\n templateUrl: './forms-html-editor.component.html'\r\n})\r\nexport class FormsHtmlEditorComponent extends BaseHtmlEditorComponent { \r\n @Input() editorFormKey: string = 'html';\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 10 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule, HttpClient } from '@angular/common/http';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\n//kendo/froala\r\nimport { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';\r\nimport { GridModule } from '@progress/kendo-angular-grid';\r\nimport { PopupModule } from '@progress/kendo-angular-popup';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\n\r\n//Components\r\nimport { FormValidationSummaryComponent } from './components/validation/form-validation-summary.component';\r\nimport { ItemValidationSummaryComponent } from './components/validation/item-validation-summary.component';\r\nimport { ContentHeaderComponent } from './components/content-header/content-header.component';\r\nimport { HtmlEditorComponent } from './components/html-editor/html-editor.component';\r\nimport { FormsHtmlEditorComponent } from './components/html-editor/forms-html-editor.component';\r\n\r\n//Services\r\nimport { AppContextService } from './services/appcontext.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n\r\n FroalaEditorModule.forRoot(),\r\n FroalaViewModule.forRoot(),\r\n GridModule,\r\n PopupModule,\r\n ButtonsModule,\r\n DropDownsModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n\r\n ItemValidationSummaryComponent,\r\n FormValidationSummaryComponent,\r\n ContentHeaderComponent,\r\n\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent\r\n ],\r\n declarations: [\r\n ItemValidationSummaryComponent,\r\n FormValidationSummaryComponent,\r\n ContentHeaderComponent,\r\n\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent\r\n ],\r\n providers: [\r\n AppContextService\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n ] \r\n})\r\nexport class AnatolyCoreModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//App\r\nimport { Consts } from '../consts';\r\nimport { BaseApiService } from './base-api.service'\r\n\r\n@Injectable()\r\nexport class BaseBillingApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl += 'billing/';\r\n }\r\n\r\n public requestNewSubscription(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS('requestNewSubscription', { requestedPlan: requestedPlan })\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n\r\n public cancelRequestedSubscription(success?: Function, error?: Function) {\r\n this.postQS('cancelRequestedSubscription', null)\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n\r\n public buyAccess(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS('buyAccess', { requestedPlan: requestedPlan })\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 14 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n//Services\r\nimport { AppContextService } from '../../../core/services/appcontext.service';\r\nimport { BaseBillingApiService } from '../../../data/services/base-billing-api.service';\r\n\r\nimport { Alerts } from '../../../core/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-buyaccess-button',\r\n templateUrl: './buyaccess-button.component.html'\r\n})\r\nexport class BuyAccessButtonComponent implements OnInit {\r\n public contextUpdated: boolean = false;\r\n public isUserSignedIn: boolean = false;\r\n public currentPlan: number = 0;\r\n public currentPlanTitle: string = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService, private api: BaseBillingApiService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n\r\n onBuyPlan() {\r\n const text = `Requested plan: ${this.plantitle} `;\r\n let that = this;\r\n\r\n Alerts.AreYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {\r\n that.api.buyAccess(that.plan, () => {\r\n Alerts.Success('Access Granted', null, () => {\r\n (<any>window).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 1 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n//Services\r\nimport { AppContextService } from '../../../core/services/appcontext.service';\r\n\r\n@Component({\r\n selector: 'anatoly-subscribe-plan-button',\r\n templateUrl: './subscribe-plan-button.component.html'\r\n})\r\n\r\nexport class SubscribePlanButtonComponent implements OnInit {\r\n public contextUpdated: boolean = false;\r\n public isUserSignedIn: boolean = false;\r\n public currentPlan: number = 0;\r\n public currentPlanTitle: string = \"\";\r\n public requestedPlan: number = 0;\r\n public requestedPlanTitle: string = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n this.requestedPlan = current.account.requestedBillingPlan;\r\n this.requestedPlanTitle = current.account.requestedBillingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Services\r\nimport { BaseBillingApiService } from '../../../data/services/base-billing-api.service';\r\n\r\nimport { Alerts } from '../../../core/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-upgrade-plan-button',\r\n templateUrl: './upgrade-plan-button.component.html'\r\n})\r\n\r\nexport class UpgradePlanButtonComponent {\r\n @Input() currentplantitle: string;\r\n @Input() requestedplan: number;\r\n @Input() requestedplantitle: string;\r\n\r\n constructor(private api: BaseBillingApiService) {\r\n }\r\n\r\n onUpgradePlan() {\r\n let text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;\r\n let that = this;\r\n\r\n Alerts.AreYouSure(text, 'Change billing plan', 'Confirm change', 'Cancel', () => {\r\n that.api.requestNewSubscription(that.requestedplan, () => {\r\n Alerts.Success('Your request for changing plan has been sent.', null, () => {\r\n (<any>window).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signin-button',\r\n templateUrl: './signin-button.component.html'\r\n})\r\n\r\nexport class SignInButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signout-button',\r\n templateUrl: './signout-button.component.html'\r\n})\r\n\r\nexport class SignOutButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signup-button',\r\n templateUrl: './signup-button.component.html'\r\n})\r\n\r\nexport class SignUpButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//System\r\nimport { NgModule } from '@angular/core';\r\n\r\n//Custom\r\nimport { SignInButtonComponent } from './components/signin-button.component';\r\nimport { SignUpButtonComponent } from './components/signup-button.component';\r\nimport { SignOutButtonComponent } from './components/signout-button.component';\r\n\r\n@NgModule({\r\n imports: [\r\n ],\r\n exports: [\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent\r\n ],\r\n declarations: [\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent\r\n ],\r\n providers: []\r\n})\r\n\r\nexport class AnatolyIdentityModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 10 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule, HttpClient } from '@angular/common/http';\r\n\r\n//@osovitny/anatoly\r\nimport { AnatolyIdentityModule } from '../identity'\r\n\r\n//Components/subscriptions\r\nimport { SubscribePlanButtonComponent } from './components/subscriptions/subscribe-plan-button.component';\r\nimport { UpgradePlanButtonComponent } from './components/subscriptions/upgrade-plan-button.component';\r\n\r\n//Components/buyaccess\r\nimport { BuyAccessButtonComponent } from './components/buyaccess/buyaccess-button.component';\r\n\r\n//Services\r\nimport { BaseBillingApiService } from '../data/services/base-billing-api.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n AnatolyIdentityModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent\r\n ],\r\n declarations: [\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent\r\n ],\r\n providers: [\r\n BaseBillingApiService\r\n ]\r\n})\r\n\r\nexport class AnatolyBillingModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { Consts } from '../consts';\r\n\r\n@Injectable()\r\nexport class BaseGridEditService extends BehaviorSubject<any[]> {\r\n protected baseUrl: string;\r\n protected baseReadUrl: string;\r\n protected savedReadParams: any;\r\n private data: any[] = [];\r\n\r\n constructor(protected http: HttpClient) {\r\n super([]);\r\n\r\n this.baseUrl = Consts.ApiUrl;\r\n this.baseReadUrl = this.baseUrl + \"getAll\";\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n private reset() {\r\n this.data = [];\r\n }\r\n\r\n public resetItem(dataItem: any) {\r\n if (!dataItem) { return; }\r\n\r\n //find orignal data item\r\n const originalDataItem = this.data.find(item => item.Id === dataItem.Id);\r\n\r\n //revert changes\r\n Object.assign(originalDataItem, dataItem);\r\n super.next(this.data);\r\n }\r\n\r\n public read(params?: any) {\r\n if (this.data.length) {\r\n return super.next(this.data);\r\n } \r\n\r\n var url = this.baseReadUrl;\r\n\r\n if (typeof params === 'undefined') {\r\n params = this.savedReadParams;\r\n }\r\n\r\n if (typeof params !== 'undefined') {\r\n url = this.baseReadUrl + `${this.serializeParams(params)}`;\r\n this.savedReadParams = params;\r\n }\r\n\r\n // this.http.get(url)\r\n // .map(res => <any[]>res)\r\n // .do(data => { this.data = data; }).subscribe(data => { super.next(data); });\r\n //}\r\n\r\n this.http.get(url).pipe(\r\n map(res => <any[]>res) \r\n ).subscribe(data => { super.next(data) });\r\n }\r\n\r\n\r\n public save(data: any, isNew: boolean, sucess?: Function) {\r\n const action = isNew ? 'add' : 'update';\r\n\r\n this.reset();\r\n this.post(action, data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read(); \r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n public remove(data: any, sucess?: Function) {\r\n this.reset();\r\n this.post('remove', data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read();\r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n post(action: any, data?: any): Observable<any[]> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, data).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule\r\n ],\r\n declarations: [\r\n ],\r\n providers: [\r\n ]\r\n})\r\n\r\nexport class AnatolyDataModule {\r\n}\r\n"]}
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"]}
@@ -25,7 +25,7 @@ import { UpgradePlanButtonComponent } from './components/subscriptions/upgrade-p
25
25
  //Components/buyaccess
26
26
  import { BuyAccessButtonComponent } from './components/buyaccess/buyaccess-button.component';
27
27
  //Services
28
- import { BaseBillingApiService } from '../data/services/base-billing-api.service';
28
+ import { BillingApiService } from '../data/services/billing-api.service';
29
29
  let AnatolyBillingModule = class AnatolyBillingModule {
30
30
  };
31
31
  AnatolyBillingModule = __decorate([
@@ -52,9 +52,9 @@ AnatolyBillingModule = __decorate([
52
52
  BuyAccessButtonComponent
53
53
  ],
54
54
  providers: [
55
- BaseBillingApiService
55
+ BillingApiService
56
56
  ]
57
57
  })
58
58
  ], AnatolyBillingModule);
59
59
  export { AnatolyBillingModule };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ab3Nvdml0bnkvYW5hdG9seS8iLCJzb3VyY2VzIjpbImxpYi9iaWxsaW5nL2JpbGxpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7O0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBRWpILG1CQUFtQjtBQUNuQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFbkQsMEJBQTBCO0FBQzFCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBRXRHLHNCQUFzQjtBQUN0QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUU3RixVQUFVO0FBQ1YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUE2QmxGLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0NBQ2hDLENBQUE7QUFEWSxvQkFBb0I7SUEzQmhDLFFBQVEsQ0FBQztRQUNSLE9BQU8sRUFBRTtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixxQkFBcUI7U0FDdEI7UUFDRCxPQUFPLEVBQUU7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQix3QkFBd0I7U0FDekI7UUFDRCxZQUFZLEVBQUU7WUFDWiw0QkFBNEI7WUFDNUIsMEJBQTBCO1lBQzFCLHdCQUF3QjtTQUN6QjtRQUNELFNBQVMsRUFBRTtZQUNULHFCQUFxQjtTQUN0QjtLQUNGLENBQUM7R0FFVyxvQkFBb0IsQ0FDaEM7U0FEWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDEwIE5vdiAyMDE3XHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSHR0cENsaWVudFhzcmZNb2R1bGUsIEh0dHBDbGllbnRKc29ucE1vZHVsZSwgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbi8vQG9zb3ZpdG55L2FuYXRvbHlcclxuaW1wb3J0IHsgQW5hdG9seUlkZW50aXR5TW9kdWxlIH0gZnJvbSAnLi4vaWRlbnRpdHknXHJcblxyXG4vL0NvbXBvbmVudHMvc3Vic2NyaXB0aW9uc1xyXG5pbXBvcnQgeyBTdWJzY3JpYmVQbGFuQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N1YnNjcmlwdGlvbnMvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwZ3JhZGVQbGFuQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N1YnNjcmlwdGlvbnMvdXBncmFkZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5cclxuLy9Db21wb25lbnRzL2J1eWFjY2Vzc1xyXG5pbXBvcnQgeyBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV5YWNjZXNzL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50JztcclxuXHJcbi8vU2VydmljZXNcclxuaW1wb3J0IHsgQmFzZUJpbGxpbmdBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS9zZXJ2aWNlcy9iYXNlLWJpbGxpbmctYXBpLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgSHR0cENsaWVudFhzcmZNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50SnNvbnBNb2R1bGUsXHJcbiAgICBBbmF0b2x5SWRlbnRpdHlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50WHNyZk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRKc29ucE1vZHVsZSxcclxuICAgIFN1YnNjcmliZVBsYW5CdXR0b25Db21wb25lbnQsXHJcbiAgICBVcGdyYWRlUGxhbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJ1eUFjY2Vzc0J1dHRvbkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTdWJzY3JpYmVQbGFuQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVXBncmFkZVBsYW5CdXR0b25Db21wb25lbnQsXHJcbiAgICBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQmFzZUJpbGxpbmdBcGlTZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEFuYXRvbHlCaWxsaW5nTW9kdWxlIHtcclxufVxyXG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ab3Nvdml0bnkvYW5hdG9seS8iLCJzb3VyY2VzIjpbImxpYi9iaWxsaW5nL2JpbGxpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7O0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBRWpILG1CQUFtQjtBQUNuQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFbkQsMEJBQTBCO0FBQzFCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBRXRHLHNCQUFzQjtBQUN0QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUU3RixVQUFVO0FBQ1YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUE2QnpFLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0NBQ2hDLENBQUE7QUFEWSxvQkFBb0I7SUEzQmhDLFFBQVEsQ0FBQztRQUNSLE9BQU8sRUFBRTtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixxQkFBcUI7U0FDdEI7UUFDRCxPQUFPLEVBQUU7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQix3QkFBd0I7U0FDekI7UUFDRCxZQUFZLEVBQUU7WUFDWiw0QkFBNEI7WUFDNUIsMEJBQTBCO1lBQzFCLHdCQUF3QjtTQUN6QjtRQUNELFNBQVMsRUFBRTtZQUNULGlCQUFpQjtTQUNsQjtLQUNGLENBQUM7R0FFVyxvQkFBb0IsQ0FDaEM7U0FEWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDEwIE5vdiAyMDE3XHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSHR0cENsaWVudFhzcmZNb2R1bGUsIEh0dHBDbGllbnRKc29ucE1vZHVsZSwgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbi8vQG9zb3ZpdG55L2FuYXRvbHlcclxuaW1wb3J0IHsgQW5hdG9seUlkZW50aXR5TW9kdWxlIH0gZnJvbSAnLi4vaWRlbnRpdHknXHJcblxyXG4vL0NvbXBvbmVudHMvc3Vic2NyaXB0aW9uc1xyXG5pbXBvcnQgeyBTdWJzY3JpYmVQbGFuQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N1YnNjcmlwdGlvbnMvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwZ3JhZGVQbGFuQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N1YnNjcmlwdGlvbnMvdXBncmFkZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5cclxuLy9Db21wb25lbnRzL2J1eWFjY2Vzc1xyXG5pbXBvcnQgeyBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV5YWNjZXNzL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50JztcclxuXHJcbi8vU2VydmljZXNcclxuaW1wb3J0IHsgQmlsbGluZ0FwaVNlcnZpY2UgfSBmcm9tICcuLi9kYXRhL3NlcnZpY2VzL2JpbGxpbmctYXBpLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgSHR0cENsaWVudFhzcmZNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50SnNvbnBNb2R1bGUsXHJcbiAgICBBbmF0b2x5SWRlbnRpdHlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50WHNyZk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRKc29ucE1vZHVsZSxcclxuICAgIFN1YnNjcmliZVBsYW5CdXR0b25Db21wb25lbnQsXHJcbiAgICBVcGdyYWRlUGxhbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJ1eUFjY2Vzc0J1dHRvbkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTdWJzY3JpYmVQbGFuQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVXBncmFkZVBsYW5CdXR0b25Db21wb25lbnQsXHJcbiAgICBCdXlBY2Nlc3NCdXR0b25Db21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQmlsbGluZ0FwaVNlcnZpY2VcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUJpbGxpbmdNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -17,7 +17,7 @@ import { __decorate } from "tslib";
17
17
  import { Component, Input } from '@angular/core';
18
18
  //Services
19
19
  import { AppContextService } from '../../../core/services/appcontext.service';
20
- import { BaseBillingApiService } from '../../../data/services/base-billing-api.service';
20
+ import { BillingApiService } from '../../../data/services/billing-api.service';
21
21
  import { Alerts } from '../../../core/alerts';
22
22
  let BuyAccessButtonComponent = class BuyAccessButtonComponent {
23
23
  constructor(appcontext, api) {
@@ -56,7 +56,7 @@ let BuyAccessButtonComponent = class BuyAccessButtonComponent {
56
56
  };
57
57
  BuyAccessButtonComponent.ctorParameters = () => [
58
58
  { type: AppContextService },
59
- { type: BaseBillingApiService }
59
+ { type: BillingApiService }
60
60
  ];
61
61
  __decorate([
62
62
  Input()
@@ -71,4 +71,4 @@ BuyAccessButtonComponent = __decorate([
71
71
  })
72
72
  ], BuyAccessButtonComponent);
73
73
  export { BuyAccessButtonComponent };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ab3Nvdml0bnkvYW5hdG9seS8iLCJzb3VyY2VzIjpbImxpYi9iaWxsaW5nL2NvbXBvbmVudHMvYnV5YWNjZXNzL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7O0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELFVBQVU7QUFDVixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUV4RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNOUMsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUFTbkMsWUFBb0IsVUFBNkIsRUFBVSxHQUEwQjtRQUFqRSxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBUjlFLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztJQU1yQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBRTdDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7YUFDL0Q7WUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ1AsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQztRQUNsRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFFaEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDeEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ2pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRTtvQkFDcEMsTUFBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7O1lBakNpQyxpQkFBaUI7WUFBZSxxQkFBcUI7O0FBSDVFO0lBQVIsS0FBSyxFQUFFO3NEQUFjO0FBQ2I7SUFBUixLQUFLLEVBQUU7MkRBQW1CO0FBUGhCLHdCQUF3QjtJQUpwQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLDRpQkFBZ0Q7S0FDakQsQ0FBQztHQUNXLHdCQUF3QixDQTBDcEM7U0ExQ1ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAxOFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9TZXJ2aWNlc1xyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUJpbGxpbmdBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9zZXJ2aWNlcy9iYXNlLWJpbGxpbmctYXBpLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQWxlcnRzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9hbGVydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWJ1eWFjY2Vzcy1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV5QWNjZXNzQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgY29udGV4dFVwZGF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaXNVc2VyU2lnbmVkSW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY3VycmVudFBsYW46IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuVGl0bGU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpIHBsYW46IG51bWJlcjtcclxuICBASW5wdXQoKSBwbGFudGl0bGU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHBjb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSwgcHJpdmF0ZSBhcGk6IEJhc2VCaWxsaW5nQXBpU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuYXBwY29udGV4dC5pc1VzZXJTaWduZWRJbigpKSB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0VXBkYXRlZCA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwY29udGV4dC5nZXRDdXJyZW50KChjdXJyZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNVc2VyU2lnbmVkSW4gPSBjdXJyZW50LmlzVXNlclNpZ25lZEluO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFBsYW4gPSBjdXJyZW50LmFjY291bnQuYmlsbGluZ1BsYW47XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRQbGFuVGl0bGUgPSBjdXJyZW50LmFjY291bnQuYmlsbGluZ1BsYW5Bc1N0cmluZztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jb250ZXh0VXBkYXRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQnV5UGxhbigpIHtcclxuICAgIGNvbnN0IHRleHQgPSBgUmVxdWVzdGVkIHBsYW46ICR7dGhpcy5wbGFudGl0bGV9IGA7XHJcbiAgICBsZXQgdGhhdCA9IHRoaXM7XHJcblxyXG4gICAgQWxlcnRzLkFyZVlvdVN1cmUodGV4dCwgJ0J1eWluZyBhY2Nlc3MnLCAnQ29uZmlybSBjaGFuZ2UnLCAnQ2FuY2VsJywgKCkgPT4ge1xyXG4gICAgICB0aGF0LmFwaS5idXlBY2Nlc3ModGhhdC5wbGFuLCAoKSA9PiB7XHJcbiAgICAgICAgQWxlcnRzLlN1Y2Nlc3MoJ0FjY2VzcyBHcmFudGVkJywgbnVsbCwgKCkgPT4ge1xyXG4gICAgICAgICAgKDxhbnk+d2luZG93KS5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ab3Nvdml0bnkvYW5hdG9seS8iLCJzb3VyY2VzIjpbImxpYi9iaWxsaW5nL2NvbXBvbmVudHMvYnV5YWNjZXNzL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7O0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELFVBQVU7QUFDVixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNOUMsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUFTbkMsWUFBb0IsVUFBNkIsRUFBVSxHQUFzQjtRQUE3RCxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBUjFFLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztJQU1yQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBRTdDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7YUFDL0Q7WUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ1AsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQztRQUNsRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFFaEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDeEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ2pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRTtvQkFDcEMsTUFBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7O1lBakNpQyxpQkFBaUI7WUFBZSxpQkFBaUI7O0FBSHhFO0lBQVIsS0FBSyxFQUFFO3NEQUFjO0FBQ2I7SUFBUixLQUFLLEVBQUU7MkRBQW1CO0FBUGhCLHdCQUF3QjtJQUpwQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLDRpQkFBZ0Q7S0FDakQsQ0FBQztHQUNXLHdCQUF3QixDQTBDcEM7U0ExQ1ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAxOFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9TZXJ2aWNlc1xyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmlsbGluZ0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3NlcnZpY2VzL2JpbGxpbmctYXBpLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQWxlcnRzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9hbGVydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWJ1eWFjY2Vzcy1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV5QWNjZXNzQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgY29udGV4dFVwZGF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaXNVc2VyU2lnbmVkSW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY3VycmVudFBsYW46IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuVGl0bGU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpIHBsYW46IG51bWJlcjtcclxuICBASW5wdXQoKSBwbGFudGl0bGU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHBjb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSwgcHJpdmF0ZSBhcGk6IEJpbGxpbmdBcGlTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5hcHBjb250ZXh0LmlzVXNlclNpZ25lZEluKCkpIHtcclxuICAgICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBjb250ZXh0LmdldEN1cnJlbnQoKGN1cnJlbnQpID0+IHtcclxuICAgICAgdGhpcy5pc1VzZXJTaWduZWRJbiA9IGN1cnJlbnQuaXNVc2VyU2lnbmVkSW47XHJcblxyXG4gICAgICBpZiAodGhpcy5pc1VzZXJTaWduZWRJbikge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50UGxhbiA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbjtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFBsYW5UaXRsZSA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25CdXlQbGFuKCkge1xyXG4gICAgY29uc3QgdGV4dCA9IGBSZXF1ZXN0ZWQgcGxhbjogJHt0aGlzLnBsYW50aXRsZX0gYDtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuXHJcbiAgICBBbGVydHMuQXJlWW91U3VyZSh0ZXh0LCAnQnV5aW5nIGFjY2VzcycsICdDb25maXJtIGNoYW5nZScsICdDYW5jZWwnLCAoKSA9PiB7XHJcbiAgICAgIHRoYXQuYXBpLmJ1eUFjY2Vzcyh0aGF0LnBsYW4sICgpID0+IHtcclxuICAgICAgICBBbGVydHMuU3VjY2VzcygnQWNjZXNzIEdyYW50ZWQnLCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAoPGFueT53aW5kb3cpLmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -16,7 +16,7 @@ import { __decorate } from "tslib";
16
16
  //Node
17
17
  import { Component, Input } from '@angular/core';
18
18
  //Services
19
- import { BaseBillingApiService } from '../../../data/services/base-billing-api.service';
19
+ import { BillingApiService } from '../../../data/services/billing-api.service';
20
20
  import { Alerts } from '../../../core/alerts';
21
21
  let UpgradePlanButtonComponent = class UpgradePlanButtonComponent {
22
22
  constructor(api) {
@@ -35,7 +35,7 @@ let UpgradePlanButtonComponent = class UpgradePlanButtonComponent {
35
35
  }
36
36
  };
37
37
  UpgradePlanButtonComponent.ctorParameters = () => [
38
- { type: BaseBillingApiService }
38
+ { type: BillingApiService }
39
39
  ];
40
40
  __decorate([
41
41
  Input()
@@ -53,4 +53,4 @@ UpgradePlanButtonComponent = __decorate([
53
53
  })
54
54
  ], UpgradePlanButtonComponent);
55
55
  export { UpgradePlanButtonComponent };
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ab3Nvdml0bnkvYW5hdG9seS8iLCJzb3VyY2VzIjpbImxpYi9iaWxsaW5nL2NvbXBvbmVudHMvc3Vic2NyaXB0aW9ucy91cGdyYWRlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFOztBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxVQUFVO0FBQ1YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFeEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTzlDLElBQWEsMEJBQTBCLEdBQXZDLE1BQWEsMEJBQTBCO0lBS3JDLFlBQW9CLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO0lBQzlDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLEdBQUcsaUJBQWlCLElBQUksQ0FBQyxnQkFBZ0IsY0FBYyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN6RixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFFaEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUM5RSxJQUFJLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO2dCQUN2RCxNQUFNLENBQUMsT0FBTyxDQUFDLCtDQUErQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQ25FLE1BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBOztZQWYwQixxQkFBcUI7O0FBSnJDO0lBQVIsS0FBSyxFQUFFO29FQUEwQjtBQUN6QjtJQUFSLEtBQUssRUFBRTtpRUFBdUI7QUFDdEI7SUFBUixLQUFLLEVBQUU7c0VBQTRCO0FBSHpCLDBCQUEwQjtJQUx0QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsNkJBQTZCO1FBQ3ZDLGtIQUFtRDtLQUNwRCxDQUFDO0dBRVcsMEJBQTBCLENBb0J0QztTQXBCWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDEyIE5vdiAyMDE3XHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9TZXJ2aWNlc1xyXG5pbXBvcnQgeyBCYXNlQmlsbGluZ0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3NlcnZpY2VzL2Jhc2UtYmlsbGluZy1hcGkuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBBbGVydHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2FsZXJ0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FuYXRvbHktdXBncmFkZS1wbGFuLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwZ3JhZGUtcGxhbi1idXR0b24uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVXBncmFkZVBsYW5CdXR0b25Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRwbGFudGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSByZXF1ZXN0ZWRwbGFuOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcmVxdWVzdGVkcGxhbnRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpOiBCYXNlQmlsbGluZ0FwaVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG9uVXBncmFkZVBsYW4oKSB7XHJcbiAgICBsZXQgdGV4dCA9IGBDdXJyZW50IHBsYW46ICR7dGhpcy5jdXJyZW50cGxhbnRpdGxlfSBOZXcgcGxhbjogJHt0aGlzLnJlcXVlc3RlZHBsYW50aXRsZX1gO1xyXG4gICAgbGV0IHRoYXQgPSB0aGlzO1xyXG5cclxuICAgIEFsZXJ0cy5BcmVZb3VTdXJlKHRleHQsICdDaGFuZ2UgYmlsbGluZyBwbGFuJywgJ0NvbmZpcm0gY2hhbmdlJywgJ0NhbmNlbCcsICgpID0+IHtcclxuICAgICAgdGhhdC5hcGkucmVxdWVzdE5ld1N1YnNjcmlwdGlvbih0aGF0LnJlcXVlc3RlZHBsYW4sICgpID0+IHtcclxuICAgICAgICBBbGVydHMuU3VjY2VzcygnWW91ciByZXF1ZXN0IGZvciBjaGFuZ2luZyBwbGFuIGhhcyBiZWVuIHNlbnQuJywgbnVsbCwgKCkgPT4ge1xyXG4gICAgICAgICAgKDxhbnk+d2luZG93KS5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ab3Nvdml0bnkvYW5hdG9seS8iLCJzb3VyY2VzIjpbImxpYi9iaWxsaW5nL2NvbXBvbmVudHMvc3Vic2NyaXB0aW9ucy91cGdyYWRlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFOztBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxVQUFVO0FBQ1YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFL0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTzlDLElBQWEsMEJBQTBCLEdBQXZDLE1BQWEsMEJBQTBCO0lBS3JDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQzFDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLEdBQUcsaUJBQWlCLElBQUksQ0FBQyxnQkFBZ0IsY0FBYyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN6RixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFFaEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUM5RSxJQUFJLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO2dCQUN2RCxNQUFNLENBQUMsT0FBTyxDQUFDLCtDQUErQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQ25FLE1BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBOztZQWYwQixpQkFBaUI7O0FBSmpDO0lBQVIsS0FBSyxFQUFFO29FQUEwQjtBQUN6QjtJQUFSLEtBQUssRUFBRTtpRUFBdUI7QUFDdEI7SUFBUixLQUFLLEVBQUU7c0VBQTRCO0FBSHpCLDBCQUEwQjtJQUx0QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsNkJBQTZCO1FBQ3ZDLGtIQUFtRDtLQUNwRCxDQUFDO0dBRVcsMEJBQTBCLENBb0J0QztTQXBCWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDEyIE5vdiAyMDE3XHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9TZXJ2aWNlc1xyXG5pbXBvcnQgeyBCaWxsaW5nQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvc2VydmljZXMvYmlsbGluZy1hcGkuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBBbGVydHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2FsZXJ0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FuYXRvbHktdXBncmFkZS1wbGFuLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwZ3JhZGUtcGxhbi1idXR0b24uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVXBncmFkZVBsYW5CdXR0b25Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRwbGFudGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSByZXF1ZXN0ZWRwbGFuOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcmVxdWVzdGVkcGxhbnRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpOiBCaWxsaW5nQXBpU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgb25VcGdyYWRlUGxhbigpIHtcclxuICAgIGxldCB0ZXh0ID0gYEN1cnJlbnQgcGxhbjogJHt0aGlzLmN1cnJlbnRwbGFudGl0bGV9IE5ldyBwbGFuOiAke3RoaXMucmVxdWVzdGVkcGxhbnRpdGxlfWA7XHJcbiAgICBsZXQgdGhhdCA9IHRoaXM7XHJcblxyXG4gICAgQWxlcnRzLkFyZVlvdVN1cmUodGV4dCwgJ0NoYW5nZSBiaWxsaW5nIHBsYW4nLCAnQ29uZmlybSBjaGFuZ2UnLCAnQ2FuY2VsJywgKCkgPT4ge1xyXG4gICAgICB0aGF0LmFwaS5yZXF1ZXN0TmV3U3Vic2NyaXB0aW9uKHRoYXQucmVxdWVzdGVkcGxhbiwgKCkgPT4ge1xyXG4gICAgICAgIEFsZXJ0cy5TdWNjZXNzKCdZb3VyIHJlcXVlc3QgZm9yIGNoYW5naW5nIHBsYW4gaGFzIGJlZW4gc2VudC4nLCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAoPGFueT53aW5kb3cpLmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -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=
@@ -17,8 +17,7 @@ import { __decorate } from "tslib";
17
17
  import { Injectable } from '@angular/core';
18
18
  import { HttpClient } from '@angular/common/http';
19
19
  //App
20
- import { BaseApiService } from '../../data/services/base-api.service';
21
- import { Consts } from '../../data/consts';
20
+ import { BaseApiService } from '../../data/base/base-api.service';
22
21
  let AppContextService = class AppContextService extends BaseApiService {
23
22
  constructor(http) {
24
23
  super(http);
@@ -26,7 +25,7 @@ let AppContextService = class AppContextService extends BaseApiService {
26
25
  this.current = null;
27
26
  this.successes = [];
28
27
  this.subscription = null;
29
- this.baseUrl = Consts.ApiUrl + 'appcontext/';
28
+ this.baseUrl = '/api/appcontext/';
30
29
  }
31
30
  getCurrent(success) {
32
31
  if (typeof success == "undefined") {
@@ -69,4 +68,4 @@ AppContextService = __decorate([
69
68
  Injectable()
70
69
  ], AppContextService);
71
70
  export { AppContextService };
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG9zb3ZpdG55L2FuYXRvbHkvIiwic291cmNlcyI6WyJsaWIvY29yZS9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTs7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEQsS0FBSztBQUNMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHM0MsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBa0IsU0FBUSxjQUFjO0lBS25ELFlBQXNCLElBQWdCO1FBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVk7UUFKOUIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixpQkFBWSxHQUFpQixJQUFJLENBQUM7UUFJeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztJQUMvQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWlCO1FBQzFCLElBQUksT0FBTyxPQUFPLElBQUksV0FBVyxFQUFFO1lBQy9CLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUU7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxFQUFFO1lBQzdCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQy9ELElBQUksQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQ1QsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM5QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNmO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQWEsTUFBTyxDQUFDLHdCQUF3QixDQUFDO0lBQ2hELENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBYSxNQUFPLENBQUMscUJBQXFCLENBQUM7SUFDN0MsQ0FBQztDQUNGLENBQUE7O1lBbEQ2QixVQUFVOztBQUwzQixpQkFBaUI7SUFEN0IsVUFBVSxFQUFFO0dBQ0EsaUJBQWlCLENBdUQ3QjtTQXZEWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDEzIE5vdiAyMDE3XHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEJhc2VBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YS9zZXJ2aWNlcy9iYXNlLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uc3RzIH0gZnJvbSAnLi4vLi4vZGF0YS9jb25zdHMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBwQ29udGV4dFNlcnZpY2UgZXh0ZW5kcyBCYXNlQXBpU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjdXJyZW50ID0gbnVsbDtcclxuICBwcml2YXRlIHN1Y2Nlc3NlcyA9IFtdO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSBDb25zdHMuQXBpVXJsICsgJ2FwcGNvbnRleHQvJztcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnQoc3VjY2VzczogRnVuY3Rpb24pIHtcclxuICAgIGlmICh0eXBlb2Ygc3VjY2VzcyA9PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnQgIT0gbnVsbCkge1xyXG4gICAgICAgIHN1Y2Nlc3ModGhpcy5jdXJyZW50KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWNjZXNzZXMucHVzaChzdWNjZXNzKTtcclxuXHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24gIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdldCgnR2V0Q3VycmVudENvbnRleHQnLCBudWxsKS5zdWJzY3JpYmUoXHJcbiAgICAgIGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVJlY2VpdmVkKGRhdGEpO1xyXG4gICAgICB9LFxyXG4gICAgICBlID0+IHsgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRhdGFSZWNlaXZlZChkYXRhKSB7XHJcbiAgICB0aGlzLmN1cnJlbnQgPSBkYXRhO1xyXG5cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zdWNjZXNzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdmFyIHN1Y2Nlc3MgPSB0aGlzLnN1Y2Nlc3Nlc1tpXTtcclxuICAgICAgc3VjY2VzcyhkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN1Y2Nlc3NlcyA9IFtdO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICAgIHRoaXMuY3VycmVudCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBpc1VzZXJTaWduZWRJbigpIHtcclxuICAgIHJldHVybiAoPGFueT53aW5kb3cpLl9fY29udGV4dF9pc1VzZXJTaWduZWRJbjtcclxuICB9XHJcblxyXG4gIGlzVXNlckFkbWluKCkge1xyXG4gICAgcmV0dXJuICg8YW55PndpbmRvdykuX19jb250ZXh0X2lzVXNlckFkbWluO1xyXG4gIH1cclxufVxyXG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG9zb3ZpdG55L2FuYXRvbHkvIiwic291cmNlcyI6WyJsaWIvY29yZS9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTs7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEQsS0FBSztBQUNMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdsRSxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFrQixTQUFRLGNBQWM7SUFLbkQsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUo5QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGlCQUFZLEdBQWlCLElBQUksQ0FBQztRQUl4QyxJQUFJLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBaUI7UUFDMUIsSUFBSSxPQUFPLE9BQU8sSUFBSSxXQUFXLEVBQUU7WUFDL0IsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRTtZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUU7WUFDN0IsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FDL0QsSUFBSSxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUMsRUFDRCxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFJO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2Y7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBYSxNQUFPLENBQUMsd0JBQXdCLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFhLE1BQU8sQ0FBQyxxQkFBcUIsQ0FBQztJQUM3QyxDQUFDO0NBQ0YsQ0FBQTs7WUFsRDZCLFVBQVU7O0FBTDNCLGlCQUFpQjtJQUQ3QixVQUFVLEVBQUU7R0FDQSxpQkFBaUIsQ0F1RDdCO1NBdkRZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTMgTm92IDIwMTdcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL2Jhc2UvYmFzZS1hcGkuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBcHBDb250ZXh0U2VydmljZSBleHRlbmRzIEJhc2VBcGlTZXJ2aWNlIHtcclxuICBwcml2YXRlIGN1cnJlbnQgPSBudWxsO1xyXG4gIHByaXZhdGUgc3VjY2Vzc2VzID0gW107XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICAgIHRoaXMuYmFzZVVybCA9ICcvYXBpL2FwcGNvbnRleHQvJztcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnQoc3VjY2VzczogRnVuY3Rpb24pIHtcclxuICAgIGlmICh0eXBlb2Ygc3VjY2VzcyA9PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnQgIT0gbnVsbCkge1xyXG4gICAgICAgIHN1Y2Nlc3ModGhpcy5jdXJyZW50KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWNjZXNzZXMucHVzaChzdWNjZXNzKTtcclxuXHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24gIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdldCgnR2V0Q3VycmVudENvbnRleHQnLCBudWxsKS5zdWJzY3JpYmUoXHJcbiAgICAgIGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVJlY2VpdmVkKGRhdGEpO1xyXG4gICAgICB9LFxyXG4gICAgICBlID0+IHsgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRhdGFSZWNlaXZlZChkYXRhKSB7XHJcbiAgICB0aGlzLmN1cnJlbnQgPSBkYXRhO1xyXG5cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zdWNjZXNzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdmFyIHN1Y2Nlc3MgPSB0aGlzLnN1Y2Nlc3Nlc1tpXTtcclxuICAgICAgc3VjY2VzcyhkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN1Y2Nlc3NlcyA9IFtdO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICAgIHRoaXMuY3VycmVudCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBpc1VzZXJTaWduZWRJbigpIHtcclxuICAgIHJldHVybiAoPGFueT53aW5kb3cpLl9fY29udGV4dF9pc1VzZXJTaWduZWRJbjtcclxuICB9XHJcblxyXG4gIGlzVXNlckFkbWluKCkge1xyXG4gICAgcmV0dXJuICg8YW55PndpbmRvdykuX19jb250ZXh0X2lzVXNlckFkbWluO1xyXG4gIH1cclxufVxyXG4iXX0=