@osovitny/anatoly 1.2.8 → 1.2.10

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 (54) hide show
  1. package/bundles/osovitny-anatoly.umd.js +148 -94
  2. package/bundles/osovitny-anatoly.umd.js.map +1 -1
  3. package/bundles/osovitny-anatoly.umd.min.js +1 -1
  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/alerts.js +53 -8
  9. package/esm2015/lib/core/components/html-editor/base-html-editor.component.js +2 -2
  10. package/esm2015/lib/core/components/html-editor/forms-html-editor.component.js +2 -2
  11. package/esm2015/lib/core/components/validation/item-validation-summary.component.js +4 -4
  12. package/esm2015/lib/core/services/appcontext.service.js +3 -4
  13. package/esm2015/lib/data/base/base-api.service.js +73 -0
  14. package/esm2015/lib/data/base/grid/base-grid-edit.service.js +75 -0
  15. package/esm2015/lib/data/base/grid/base-grid-read.service.js +60 -0
  16. package/esm2015/lib/data/index.js +5 -6
  17. package/esm2015/lib/data/services/{base-billing-api.service.js → billing-api.service.js} +8 -7
  18. package/esm5/lib/billing/billing.module.js +3 -3
  19. package/esm5/lib/billing/components/buyaccess/buyaccess-button.component.js +3 -3
  20. package/esm5/lib/billing/components/subscriptions/upgrade-plan-button.component.js +3 -3
  21. package/esm5/lib/core/alerts.js +53 -8
  22. package/esm5/lib/core/components/html-editor/base-html-editor.component.js +1 -1
  23. package/esm5/lib/core/components/html-editor/forms-html-editor.component.js +2 -2
  24. package/esm5/lib/core/components/validation/item-validation-summary.component.js +4 -4
  25. package/esm5/lib/core/services/appcontext.service.js +3 -4
  26. package/esm5/lib/data/base/base-api.service.js +74 -0
  27. package/esm5/lib/data/base/grid/base-grid-edit.service.js +80 -0
  28. package/esm5/lib/data/base/grid/base-grid-read.service.js +64 -0
  29. package/esm5/lib/data/index.js +5 -6
  30. package/esm5/lib/data/services/billing-api.service.js +56 -0
  31. package/fesm2015/osovitny-anatoly.js +135 -81
  32. package/fesm2015/osovitny-anatoly.js.map +1 -1
  33. package/fesm5/osovitny-anatoly.js +148 -94
  34. package/fesm5/osovitny-anatoly.js.map +1 -1
  35. package/lib/billing/components/buyaccess/buyaccess-button.component.d.ts +2 -2
  36. package/lib/billing/components/subscriptions/upgrade-plan-button.component.d.ts +2 -2
  37. package/lib/core/alerts.d.ts +3 -1
  38. package/lib/core/components/validation/item-validation-summary.component.d.ts +2 -2
  39. package/lib/core/services/appcontext.service.d.ts +1 -1
  40. package/lib/data/{services → base}/base-api.service.d.ts +6 -6
  41. package/lib/data/{services/base-gridedit.service.d.ts → base/grid/base-grid-edit.service.d.ts} +2 -7
  42. package/lib/data/base/grid/base-grid-read.service.d.ts +11 -0
  43. package/lib/data/index.d.ts +4 -4
  44. package/lib/data/services/{base-billing-api.service.d.ts → billing-api.service.d.ts} +2 -2
  45. package/osovitny-anatoly.metadata.json +1 -1
  46. package/package.json +1 -1
  47. package/esm2015/lib/data/consts.js +0 -21
  48. package/esm2015/lib/data/services/base-api.service.js +0 -71
  49. package/esm2015/lib/data/services/base-gridedit.service.js +0 -98
  50. package/esm5/lib/data/consts.js +0 -25
  51. package/esm5/lib/data/services/base-api.service.js +0 -72
  52. package/esm5/lib/data/services/base-billing-api.service.js +0 -55
  53. package/esm5/lib/data/services/base-gridedit.service.js +0 -104
  54. package/lib/data/consts.d.ts +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"osovitny-anatoly.js","sources":["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/identity/index.ts","ng://@osovitny/anatoly/lib/billing/billing.module.ts","ng://@osovitny/anatoly/lib/billing/index.ts","ng://@osovitny/anatoly/lib/data/services/base-gridedit.service.ts","ng://@osovitny/anatoly/lib/data/data.module.ts","ng://@osovitny/anatoly/lib/data/index.ts","ng://@osovitny/anatoly/osovitny-anatoly.ts"],"sourcesContent":["/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport Swal from 'sweetalert2'\r\n\r\nexport class Alerts {\r\n public static Info(text) {\r\n Swal.fire({\r\n title: \"Info!\",\r\n text: text,\r\n icon: \"info\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static Warning(text) {\r\n Swal.fire({\r\n title: \"warning!\",\r\n text: text,\r\n icon: \"warning\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static Error(text) {\r\n Swal.fire({\r\n title: \"error!\",\r\n text: text,\r\n icon: \"error\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static NotImplemented() {\r\n this.Warning(\"Not Implemented Yet\");\r\n };\r\n\r\n public static ErrorOccurred() {\r\n this.Error(\"Sorry, an unexpected error occurred\");\r\n };\r\n\r\n public static AreYouSure(text, title?, confirmButtonText?, cancelButtonText?, successAction?, cancelAction?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Are you sure?\";\r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: 'warning',\r\n confirmButtonText: confirmButtonText,\r\n cancelButtonText: cancelButtonText,\r\n showCancelButton: true\r\n })\r\n .then((result) => {\r\n if (result.value) {\r\n if (successAction) {\r\n successAction();\r\n }\r\n }\r\n // result.dismiss can be 'cancel', 'overlay', 'close', and 'timer'\r\n else if (result.dismiss == Swal.DismissReason.cancel || result.dismiss == Swal.DismissReason.close) {\r\n if (cancelAction) {\r\n cancelAction();\r\n }\r\n }\r\n });\r\n };\r\n\r\n public static Success(text?, title?, successAction?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Success!\";\r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: \"success\",\r\n confirmButtonText: \"OK\"\r\n })\r\n .then(function () {\r\n if (successAction) {\r\n successAction();\r\n }\r\n });\r\n };\r\n\r\n public static Cancel(text) {\r\n Swal.fire(\r\n 'Cancelled',\r\n text,\r\n 'error'\r\n );\r\n };\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Utils {\r\n public static GetValueByNameInQS(name) {\r\n return Utils.GetValueByName(location.search, name);\r\n }\r\n\r\n public static GetValueByName(url, name) {\r\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n \r\n results = regex.exec(url);\r\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 17 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class BaseGoService {\r\n protected route: ActivatedRoute;\r\n protected router: Router;\r\n\r\n constructor(route: ActivatedRoute, router: Router) {\r\n this.route = route;\r\n this.router = router;\r\n }\r\n\r\n locationReload() {\r\n //this.router.navigate([this.route.url]);\r\n (<any>window).location.reload();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Consts {\r\n public static readonly JsonUrl = \"/dist/jsons/\";\r\n public static readonly JsonVersion: string = \"v=1.0.0\";\r\n\r\n public static readonly AppUrl = \"/\";\r\n public static readonly ApiUrl = \"/api/\";\r\n}","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n \r\nimport { Consts } from '../consts';\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n protected baseUrl: string;\r\n protected jsonUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n this.baseUrl = Consts.ApiUrl;\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n //webApi\r\n public get<T>(action: String, data?: any): Observable<T> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.get(url).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n public post(action: String, data?: any): Observable<any> {\r\n var url = this.baseUrl + `${action}`;\r\n return this.http.post(url, data, { responseType: 'text' });\r\n }\r\n\r\n public postQS(action: String, data?: any): Observable<any> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, null, { responseType: 'text' });\r\n }\r\n\r\n //gets\r\n public getAll<T>(data?: any): Observable<T[]> {\r\n return this.get('getall', data).pipe(\r\n map(res => <T[]>res)\r\n );\r\n }\r\n\r\n public getJsonFile(fileName: string, jsonVersion: string): Observable<any[]> {\r\n if (!jsonVersion) {\r\n jsonVersion = \"1.0\";\r\n }\r\n\r\n var url = Consts.JsonUrl + fileName + '?' + jsonVersion;\r\n return this.http.get(url).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n\r\n public getNewGuid(): Observable<string> {\r\n var url = this.baseUrl + 'getNewGuid';\r\n return this.http.get(url, { responseType: 'text' });\r\n }\r\n\r\n //CRUD function\r\n public getById<T>(id: any): Observable<T> {\r\n return this.get<T>('getById', { id: id });\r\n }\r\n\r\n public remove(id: any): Observable<string> {\r\n return this.postQS('remove', { id: id });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\n\r\n//App\r\nimport { BaseApiService } from '../../data/services/base-api.service';\r\nimport { Consts } from '../../data/consts';\r\n\r\n@Injectable()\r\nexport class AppContextService extends BaseApiService {\r\n private current = null;\r\n private successes = [];\r\n private subscription: Subscription = null;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = Consts.ApiUrl + 'appcontext/';\r\n }\r\n\r\n getCurrent(success: Function) {\r\n if (typeof success == \"undefined\") {\r\n return;\r\n }\r\n\r\n if (this.current != null) {\r\n success(this.current);\r\n return;\r\n }\r\n\r\n this.successes.push(success);\r\n\r\n if (this.subscription != null) {\r\n return;\r\n }\r\n\r\n this.subscription = this.get('GetCurrentContext', null).subscribe(\r\n data => {\r\n this.dataReceived(data);\r\n },\r\n e => { }\r\n );\r\n }\r\n\r\n dataReceived(data) {\r\n this.current = data;\r\n\r\n for (var i = 0; i < this.successes.length; i++) {\r\n var success = this.successes[i];\r\n success(data);\r\n }\r\n\r\n this.successes = [];\r\n this.subscription.unsubscribe();\r\n this.subscription = null;\r\n this.current = null;\r\n }\r\n\r\n isUserSignedIn() {\r\n return (<any>window).__context_isUserSignedIn;\r\n }\r\n\r\n isUserAdmin() {\r\n return (<any>window).__context_isUserAdmin;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 28 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { Alerts } from '../alerts';\r\nimport { Utils } from '../utils';\r\n\r\nexport class BaseComponent {\r\n constructor() {\r\n }\r\n\r\n getQSId() {\r\n var id = Utils.GetValueByNameInQS(\"id\");\r\n if (typeof id === 'undefined' || id == '') return null;\r\n\r\n return id;\r\n }\r\n\r\n showLoading() {\r\n var panelLoading = $('#pnlLoading');\r\n panelLoading.show();\r\n }\r\n\r\n hideLoading() {\r\n var panelLoading = $('#pnlLoading');\r\n panelLoading.hide();\r\n }\r\n\r\n handleError(e) {\r\n this.hideLoading();\r\n Alerts.ErrorOccurred();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 20 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n//Custom\r\nimport { BaseComponent } from './base.component';\r\nimport { Utils } from '../utils';\r\n\r\nexport class BaseEditComponent extends BaseComponent {\r\n @Input() \r\n public formGroup: FormGroup;\r\n \r\n @Input()\r\n public formSubmitted: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n isActionAdding() {\r\n var id = Utils.GetValueByNameInQS(\"id\");\r\n if (typeof id === 'undefined' || id == '') return true;\r\n\r\n return false;\r\n }\r\n\r\n getEntityId() {\r\n return this.getQSId();\r\n }\r\n\r\n isItemInvalid(name: string) {\r\n if (typeof name === 'undefined' || name == '') {\r\n return false;\r\n }\r\n\r\n if (!this.formGroup) {\r\n return false;\r\n }\r\n\r\n if (this.formGroup.get(name)) {\r\n return (this.formSubmitted && this.formGroup.get(name).invalid) ||\r\n (this.formGroup.get(name).touched && this.formGroup.get(name).invalid);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getFormValue(name) {\r\n return this.formGroup.controls[name].value;\r\n }\r\n\r\n setFormValue(name, value) {\r\n this.formGroup.controls[name].setValue(value);\r\n }\r\n\r\n getFormGroupValue(groupName, name) {\r\n return this.formGroup.controls[groupName].get(name).value;\r\n }\r\n\r\n setFormGroupValue(groupName, name, value) {\r\n this.formGroup.controls[groupName].get(name).setValue(value);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 23 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-content-header',\r\n templateUrl: './content-header.component.html'\r\n})\r\n\r\nexport class ContentHeaderComponent implements OnInit {\r\n @Input() title?: string;\r\n\r\n ngOnInit() {\r\n if (this.title == null) {\r\n this.title = '';\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 8 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n//Custom\r\nimport { BaseEditComponent } from '../base-edit.component';\r\n\r\nexport class ValidationSummaryComponent extends BaseEditComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n getFormValidationMessages(): string[] {\r\n let messages: string[] = [];\r\n\r\n Object.keys(this.formGroup.controls).forEach(k => {\r\n var control = this.formGroup.controls[k];\r\n\r\n if ((<FormGroup>control).controls != null) {\r\n Object.keys((<FormGroup>control).controls).forEach(k => {\r\n var child = (<FormGroup>control).controls[k];\r\n this.getValidationMessages(child, k).forEach(m => messages.push(m));\r\n });\r\n }\r\n else {\r\n this.getValidationMessages(control, k).forEach(m => messages.push(m));\r\n }\r\n });\r\n\r\n return messages;\r\n }\r\n\r\n getValidationMessages(state: any, thingName?: string) {\r\n let thing: string = state.path || thingName;\r\n let messages: string[] = [];\r\n\r\n if (state.errors) {\r\n for (let errorName in state.errors) {\r\n if (state.errors.hasOwnProperty(errorName)) {\r\n switch (errorName) {\r\n case 'required':\r\n messages.push(`${thing} is required`);\r\n break;\r\n\r\n case 'minlength':\r\n messages.push(`${thing} must be at least ${state.errors['minlength'].requiredLength} characters`);\r\n break;\r\n\r\n case 'pattern':\r\n messages.push(`${thing} contains illegal characters`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 7 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: 'anatoly-form-validation-summary',\r\n templateUrl: './form-validation-summary.component.html'\r\n})\r\n\r\nexport class FormValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() visible: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n getErrors(): string[] {\r\n var messages = this.getFormValidationMessages();\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 6 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: 'anatoly-item-validation-summary',\r\n templateUrl: './item-validation-summary.component.html'\r\n})\r\nexport class ItemValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() key: string;\r\n @Input() title: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","export const DefaultEditorOptions: Object = { \r\n placeholderText: 'Edit Your Content Here',\r\n charCounterCount: true,\r\n heightMin: 100,\r\n toolbarInline: false,\r\n\r\n toolbarButtons: {\r\n 'moreText': {\r\n 'buttons': ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', \r\n 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle']\r\n },\r\n 'moreParagraph': {\r\n 'buttons': ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', \r\n 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote']\r\n },\r\n 'moreRich': {\r\n 'buttons': ['insertLink', 'insertImage', 'insertTable', 'emoticons', 'fontAwesome', \r\n 'specialCharacters', 'embedly']\r\n },\r\n 'moreMisc': {\r\n 'buttons': ['selectAll', 'clearFormatting', 'html', 'undo', 'redo', 'fullscreen'],\r\n 'align': 'right',\r\n }\r\n },\r\n\r\n /*\r\n Upload:\r\n https://www.froala.com/wysiwyg-editor/docs/concepts/image/upload\r\n */\r\n imageUploadURL: '/api/HtmlEditor/UploadImage',\r\n imageAllowedTypes: ['jpeg', 'jpg', 'png'],\r\n imageUploadParams: { uploadType: '', uploadParentId: '' }\r\n};","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, OnInit, Input, AfterViewInit } from '@angular/core';\r\n\r\nimport FroalaEditor from 'froala-editor';\r\n\r\n//Custom\r\nimport { BaseEditComponent } from '../base-edit.component';\r\n\r\n//Consts\r\nimport { DefaultEditorOptions } from './html-editor.defaultoptions';\r\n\r\nexport class BaseHtmlEditorComponent extends BaseEditComponent implements OnInit, AfterViewInit {\r\n protected froalaEditor; \r\n protected editor2;\r\n\r\n //Public members\r\n public options;\r\n public froalaEditorInitialized: boolean = false;\r\n public afterInitializedActions = [];\r\n\r\n //General params\r\n @Input() editorId: string = '';\r\n @Input() editorLabelText: string = 'Html';\r\n @Input() editorOptions: Object = {};\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n let opt = this.editorOptions;\r\n if (typeof this.editorOptions == \"string\") {\r\n opt = JSON.parse(this.editorOptions);\r\n }\r\n\r\n let newOptions: any = $.extend({}, DefaultEditorOptions, opt);\r\n let key = (<any>window).__froalaEditor_Key;\r\n if (key) {\r\n newOptions = $.extend({}, newOptions, JSON.parse('{ \"key\": \"' + key + '\" }'));\r\n }\r\n \r\n if (newOptions.events && newOptions.events.initialized) {\r\n newOptions.events.initialized.overridden = false;\r\n }\r\n\r\n newOptions.editorId = this.editorId;\r\n /*\r\n newOptions.froalaEditorInitialized = false;\r\n newOptions.afterInitializedActions = this.afterInitializedActions; \r\n */ \r\n this.options = newOptions;\r\n }\r\n\r\n ngAfterViewInit() {\r\n /*\r\n let that = this;\r\n let elementId = \".htmleditor-\" + this.editorId;\r\n \r\n this.editor2 = new FroalaEditor(elementId, that.options, () => {\r\n alert(that.options.editorId);\r\n });\r\n */\r\n let that = this;\r\n setTimeout(function () { \r\n that.froalaEditorInitialized = true; \r\n that.onInitialized();\r\n }, 300);\r\n }\r\n\r\n private onInitialized() {\r\n let actions = this.afterInitializedActions;\r\n\r\n //Clear actions\r\n this.afterInitializedActions = [];\r\n\r\n if (actions) {\r\n for(var i =0; i < actions.length; i++){\r\n actions[i]();\r\n }\r\n }\r\n\r\n //console.log(\"onInitialized: \" + this.options.editorId);\r\n }\r\n\r\n protected getEditor() {\r\n if (this.froalaEditor)\r\n return this.froalaEditor.getEditor();\r\n\r\n return null;\r\n }\r\n\r\n //Public Funcs\r\n public doAfterInitialized(action) {\r\n let that = this;\r\n\r\n if (!this.froalaEditorInitialized) { \r\n this.afterInitializedActions.push(function () { action(that); });\r\n }\r\n else {\r\n action(that);\r\n }\r\n }\r\n\r\n public initializeControl(control) {\r\n this.froalaEditor = control; \r\n this.froalaEditor.initialize(); \r\n }\r\n\r\n public setUploadParams(uploadType, uploadParentId) { \r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.opts.imageUploadParams.uploadType = uploadType;\r\n editor.opts.imageUploadParams.uploadParentId = uploadParentId;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from './base-html-editor.component';\r\n\r\n@Component({\r\n selector: 'anatoly-html-editor',\r\n templateUrl: './html-editor.component.html'\r\n})\r\nexport class HtmlEditorComponent extends BaseHtmlEditorComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setHtml(content) {\r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.html.set(content);\r\n });\r\n }\r\n\r\n public getHtml() {\r\n var editor = this.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n return editor.html.get(false);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from './base-html-editor.component';\r\n\r\n@Component({\r\n selector: 'anatoly-forms-html-editor',\r\n templateUrl: './forms-html-editor.component.html'\r\n})\r\nexport class FormsHtmlEditorComponent extends BaseHtmlEditorComponent { \r\n @Input() editorFormKey: string = 'html';\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 10 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule, HttpClient } from '@angular/common/http';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\n//kendo/froala\r\nimport { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';\r\nimport { GridModule } from '@progress/kendo-angular-grid';\r\nimport { PopupModule } from '@progress/kendo-angular-popup';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\n\r\n//Components\r\nimport { FormValidationSummaryComponent } from './components/validation/form-validation-summary.component';\r\nimport { ItemValidationSummaryComponent } from './components/validation/item-validation-summary.component';\r\nimport { ContentHeaderComponent } from './components/content-header/content-header.component';\r\nimport { HtmlEditorComponent } from './components/html-editor/html-editor.component';\r\nimport { FormsHtmlEditorComponent } from './components/html-editor/forms-html-editor.component';\r\n\r\n//Services\r\nimport { AppContextService } from './services/appcontext.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n\r\n FroalaEditorModule.forRoot(),\r\n FroalaViewModule.forRoot(),\r\n GridModule,\r\n PopupModule,\r\n ButtonsModule,\r\n DropDownsModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n\r\n ItemValidationSummaryComponent,\r\n FormValidationSummaryComponent,\r\n ContentHeaderComponent,\r\n\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent\r\n ],\r\n declarations: [\r\n ItemValidationSummaryComponent,\r\n FormValidationSummaryComponent,\r\n ContentHeaderComponent,\r\n\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent\r\n ],\r\n providers: [\r\n AppContextService\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n ] \r\n})\r\nexport class AnatolyCoreModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//App\r\nimport { Consts } from '../consts';\r\nimport { BaseApiService } from './base-api.service'\r\n\r\n@Injectable()\r\nexport class BaseBillingApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl += 'billing/';\r\n }\r\n\r\n public requestNewSubscription(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS('requestNewSubscription', { requestedPlan: requestedPlan })\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n\r\n public cancelRequestedSubscription(success?: Function, error?: Function) {\r\n this.postQS('cancelRequestedSubscription', null)\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n\r\n public buyAccess(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS('buyAccess', { requestedPlan: requestedPlan })\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 14 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n//Services\r\nimport { AppContextService } from '../../../core/services/appcontext.service';\r\nimport { BaseBillingApiService } from '../../../data/services/base-billing-api.service';\r\n\r\nimport { Alerts } from '../../../core/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-buyaccess-button',\r\n templateUrl: './buyaccess-button.component.html'\r\n})\r\nexport class BuyAccessButtonComponent implements OnInit {\r\n public contextUpdated: boolean = false;\r\n public isUserSignedIn: boolean = false;\r\n public currentPlan: number = 0;\r\n public currentPlanTitle: string = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService, private api: BaseBillingApiService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n\r\n onBuyPlan() {\r\n const text = `Requested plan: ${this.plantitle} `;\r\n let that = this;\r\n\r\n Alerts.AreYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {\r\n that.api.buyAccess(that.plan, () => {\r\n Alerts.Success('Access Granted', null, () => {\r\n (<any>window).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 1 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n//Services\r\nimport { AppContextService } from '../../../core/services/appcontext.service';\r\n\r\n@Component({\r\n selector: 'anatoly-subscribe-plan-button',\r\n templateUrl: './subscribe-plan-button.component.html'\r\n})\r\n\r\nexport class SubscribePlanButtonComponent implements OnInit {\r\n public contextUpdated: boolean = false;\r\n public isUserSignedIn: boolean = false;\r\n public currentPlan: number = 0;\r\n public currentPlanTitle: string = \"\";\r\n public requestedPlan: number = 0;\r\n public requestedPlanTitle: string = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n this.requestedPlan = current.account.requestedBillingPlan;\r\n this.requestedPlanTitle = current.account.requestedBillingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Services\r\nimport { BaseBillingApiService } from '../../../data/services/base-billing-api.service';\r\n\r\nimport { Alerts } from '../../../core/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-upgrade-plan-button',\r\n templateUrl: './upgrade-plan-button.component.html'\r\n})\r\n\r\nexport class UpgradePlanButtonComponent {\r\n @Input() currentplantitle: string;\r\n @Input() requestedplan: number;\r\n @Input() requestedplantitle: string;\r\n\r\n constructor(private api: BaseBillingApiService) {\r\n }\r\n\r\n onUpgradePlan() {\r\n let text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;\r\n let that = this;\r\n\r\n Alerts.AreYouSure(text, 'Change billing plan', 'Confirm change', 'Cancel', () => {\r\n that.api.requestNewSubscription(that.requestedplan, () => {\r\n Alerts.Success('Your request for changing plan has been sent.', null, () => {\r\n (<any>window).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signin-button',\r\n templateUrl: './signin-button.component.html'\r\n})\r\n\r\nexport class SignInButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signout-button',\r\n templateUrl: './signout-button.component.html'\r\n})\r\n\r\nexport class SignOutButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signup-button',\r\n templateUrl: './signup-button.component.html'\r\n})\r\n\r\nexport class SignUpButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//System\r\nimport { NgModule } from '@angular/core';\r\n\r\n//Custom\r\nimport { SignInButtonComponent } from './components/signin-button.component';\r\nimport { SignUpButtonComponent } from './components/signup-button.component';\r\nimport { SignOutButtonComponent } from './components/signout-button.component';\r\n\r\n@NgModule({\r\n imports: [\r\n ],\r\n exports: [\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent\r\n ],\r\n declarations: [\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent\r\n ],\r\n providers: []\r\n})\r\n\r\nexport class AnatolyIdentityModule {\r\n}\r\n","// Components\r\nexport * from './components/signin-button.component';\r\nexport * from './components/signout-button.component';\r\nexport * from './components/signup-button.component';\r\n\r\n//Module\r\nexport { AnatolyIdentityModule } from './identity.module';","/*\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","// Components\r\nexport * from './components/buyaccess/buyaccess-button.component';\r\nexport * from './components/subscriptions/subscribe-plan-button.component';\r\nexport * from './components/subscriptions/upgrade-plan-button.component';\r\n\r\n//Module\r\nexport { AnatolyBillingModule } from './billing.module';","/*\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","// Consts\r\nexport * from './consts';\r\n\r\n// Services\r\nexport * from './services/base-api.service';\r\nexport * from './services/base-billing-api.service';\r\nexport * from './services/base-gridedit.service';\r\n\r\n// Module\r\nexport { AnatolyDataModule } from './data.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"osovitny-anatoly.js","sources":["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/identity/index.ts","ng://@osovitny/anatoly/lib/billing/billing.module.ts","ng://@osovitny/anatoly/lib/billing/index.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","ng://@osovitny/anatoly/lib/data/index.ts","ng://@osovitny/anatoly/osovitny-anatoly.ts"],"sourcesContent":["/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport Swal from 'sweetalert2'\r\n\r\nexport class Alerts {\r\n public static Info(text) {\r\n Swal.fire({\r\n title: \"Information\",\r\n text: text,\r\n icon: \"info\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static Warning(text) {\r\n Swal.fire({\r\n title: \"Warning\",\r\n text: text,\r\n icon: \"warning\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static Error(text) {\r\n Swal.fire({\r\n title: \"Error\",\r\n text: text,\r\n icon: \"error\",\r\n confirmButtonText: \"OK\"\r\n });\r\n }\r\n\r\n public static NotImplemented() {\r\n this.Warning(\"Not Implemented Yet\");\r\n };\r\n\r\n public static ErrorOccurred() {\r\n this.Error(\"Sorry, an unexpected error occurred\");\r\n };\r\n\r\n public static AreYouSure(text, title?, confirmButtonText?, cancelButtonText?, successAction?, cancelAction?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Are you sure?\";\r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: 'warning',\r\n confirmButtonText: confirmButtonText,\r\n cancelButtonText: cancelButtonText,\r\n showCancelButton: true\r\n })\r\n .then((result) => {\r\n if (result.value) {\r\n if (successAction) {\r\n successAction();\r\n }\r\n }\r\n // result.dismiss can be 'cancel', 'overlay', 'close', and 'timer'\r\n else if (result.dismiss == Swal.DismissReason.cancel || result.dismiss == Swal.DismissReason.close) {\r\n if (cancelAction) {\r\n cancelAction();\r\n }\r\n }\r\n });\r\n };\r\n\r\n public static Success(text?, title?, successAction?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Success\";\r\n\r\n if (!text) {\r\n text = \"Operation was successful\";\r\n }\r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: \"success\",\r\n confirmButtonText: \"OK\"\r\n })\r\n .then(function () {\r\n if (successAction) {\r\n successAction();\r\n }\r\n });\r\n }\r\n\r\n public static Cancel(text?) {\r\n if (!text) {\r\n text = \"Operation has been cancled\";\r\n }\r\n\r\n Swal.fire({ \r\n title: 'Cancelled',\r\n text: text,\r\n icon: \"info\"\r\n })\r\n }\r\n\r\n //Notifications\r\n public static NotificationCancel(text?) {\r\n if (!text) {\r\n text = \"Operation has been cancled\";\r\n }\r\n\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true\r\n })\r\n\r\n toast.fire({\r\n title: 'Cancelled',\r\n text: text,\r\n icon: \"info\"\r\n })\r\n }\r\n\r\n public static NotificationSuccess(text?, title?) {\r\n if (typeof title == \"undefined\" || title == null) title = \"Success\";\r\n\r\n if (!text) {\r\n text = \"Operation was successful\";\r\n }\r\n\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true\r\n })\r\n\r\n toast.fire({\r\n title: title,\r\n text: text,\r\n icon: \"success\",\r\n })\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Utils {\r\n public static GetValueByNameInQS(name) {\r\n return Utils.GetValueByName(location.search, name);\r\n }\r\n\r\n public static GetValueByName(url, name) {\r\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n \r\n results = regex.exec(url);\r\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 17 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class BaseGoService {\r\n protected route: ActivatedRoute;\r\n protected router: Router;\r\n\r\n constructor(route: ActivatedRoute, router: Router) {\r\n this.route = route;\r\n this.router = router;\r\n }\r\n\r\n locationReload() {\r\n //this.router.navigate([this.route.url]);\r\n (<any>window).location.reload();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n protected baseUrl: string;\r\n protected jsonUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n //api\r\n get<T>(action: string, data?: any): Observable<T> {\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.get<T>(url).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n post<T>(action: string, data?: any): Observable<T> {\r\n var url = `${this.baseUrl}/${action}`;\r\n return this.http.post(url, data).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n postQS<T>(action: string, data?: any): Observable<T> {\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, null).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n delete<T>(action: string, data?: any): Observable<T> {\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.delete<T>(url).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n //gets\r\n getById<T>(id: any): Observable<T> {\r\n return this.get<T>('getById', { id: id });\r\n }\r\n\r\n getAll<T>(data?: any): Observable<T[]> {\r\n return this.get('getall', data).pipe(\r\n map(res => <T[]>res)\r\n );\r\n }\r\n\r\n getJsonFile(fileName: string, jsonUrl?: string, jsonVersion?: string): Observable<any[]> {\r\n if (!jsonUrl) {\r\n jsonUrl = \"/dist/jsons\";\r\n }\r\n\r\n if (!jsonVersion) {\r\n jsonVersion = \"1.0\";\r\n }\r\n\r\n var url = jsonUrl + \"/\" + fileName + '?' + jsonVersion;\r\n return this.http.get(url).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n\r\n getNewGuid(): Observable<string> {\r\n var url = `${this.baseUrl}/getNewGuid`;\r\n return this.http.get(url, { responseType: 'text' });\r\n }\r\n}","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\n\r\n//App\r\nimport { BaseApiService } from '../../data/base/base-api.service';\r\n\r\n@Injectable()\r\nexport class AppContextService extends BaseApiService {\r\n private current = null;\r\n private successes = [];\r\n private subscription: Subscription = null;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = '/api/appcontext/';\r\n }\r\n\r\n getCurrent(success: Function) {\r\n if (typeof success == \"undefined\") {\r\n return;\r\n }\r\n\r\n if (this.current != null) {\r\n success(this.current);\r\n return;\r\n }\r\n\r\n this.successes.push(success);\r\n\r\n if (this.subscription != null) {\r\n return;\r\n }\r\n\r\n this.subscription = this.get('GetCurrentContext', null).subscribe(\r\n data => {\r\n this.dataReceived(data);\r\n },\r\n e => { }\r\n );\r\n }\r\n\r\n dataReceived(data) {\r\n this.current = data;\r\n\r\n for (var i = 0; i < this.successes.length; i++) {\r\n var success = this.successes[i];\r\n success(data);\r\n }\r\n\r\n this.successes = [];\r\n this.subscription.unsubscribe();\r\n this.subscription = null;\r\n this.current = null;\r\n }\r\n\r\n isUserSignedIn() {\r\n return (<any>window).__context_isUserSignedIn;\r\n }\r\n\r\n isUserAdmin() {\r\n return (<any>window).__context_isUserAdmin;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 28 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { Alerts } from '../alerts';\r\nimport { Utils } from '../utils';\r\n\r\nexport class BaseComponent {\r\n constructor() {\r\n }\r\n\r\n getQSId() {\r\n var id = Utils.GetValueByNameInQS(\"id\");\r\n if (typeof id === 'undefined' || id == '') return null;\r\n\r\n return id;\r\n }\r\n\r\n showLoading() {\r\n var panelLoading = $('#pnlLoading');\r\n panelLoading.show();\r\n }\r\n\r\n hideLoading() {\r\n var panelLoading = $('#pnlLoading');\r\n panelLoading.hide();\r\n }\r\n\r\n handleError(e) {\r\n this.hideLoading();\r\n Alerts.ErrorOccurred();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 20 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n//Custom\r\nimport { BaseComponent } from './base.component';\r\nimport { Utils } from '../utils';\r\n\r\nexport class BaseEditComponent extends BaseComponent {\r\n @Input() \r\n public formGroup: FormGroup;\r\n \r\n @Input()\r\n public formSubmitted: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n isActionAdding() {\r\n var id = Utils.GetValueByNameInQS(\"id\");\r\n if (typeof id === 'undefined' || id == '') return true;\r\n\r\n return false;\r\n }\r\n\r\n getEntityId() {\r\n return this.getQSId();\r\n }\r\n\r\n isItemInvalid(name: string) {\r\n if (typeof name === 'undefined' || name == '') {\r\n return false;\r\n }\r\n\r\n if (!this.formGroup) {\r\n return false;\r\n }\r\n\r\n if (this.formGroup.get(name)) {\r\n return (this.formSubmitted && this.formGroup.get(name).invalid) ||\r\n (this.formGroup.get(name).touched && this.formGroup.get(name).invalid);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getFormValue(name) {\r\n return this.formGroup.controls[name].value;\r\n }\r\n\r\n setFormValue(name, value) {\r\n this.formGroup.controls[name].setValue(value);\r\n }\r\n\r\n getFormGroupValue(groupName, name) {\r\n return this.formGroup.controls[groupName].get(name).value;\r\n }\r\n\r\n setFormGroupValue(groupName, name, value) {\r\n this.formGroup.controls[groupName].get(name).setValue(value);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 23 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-content-header',\r\n templateUrl: './content-header.component.html'\r\n})\r\n\r\nexport class ContentHeaderComponent implements OnInit {\r\n @Input() title?: string;\r\n\r\n ngOnInit() {\r\n if (this.title == null) {\r\n this.title = '';\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 8 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n//Custom\r\nimport { BaseEditComponent } from '../base-edit.component';\r\n\r\nexport class ValidationSummaryComponent extends BaseEditComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n getFormValidationMessages(): string[] {\r\n let messages: string[] = [];\r\n\r\n Object.keys(this.formGroup.controls).forEach(k => {\r\n var control = this.formGroup.controls[k];\r\n\r\n if ((<FormGroup>control).controls != null) {\r\n Object.keys((<FormGroup>control).controls).forEach(k => {\r\n var child = (<FormGroup>control).controls[k];\r\n this.getValidationMessages(child, k).forEach(m => messages.push(m));\r\n });\r\n }\r\n else {\r\n this.getValidationMessages(control, k).forEach(m => messages.push(m));\r\n }\r\n });\r\n\r\n return messages;\r\n }\r\n\r\n getValidationMessages(state: any, thingName?: string) {\r\n let thing: string = state.path || thingName;\r\n let messages: string[] = [];\r\n\r\n if (state.errors) {\r\n for (let errorName in state.errors) {\r\n if (state.errors.hasOwnProperty(errorName)) {\r\n switch (errorName) {\r\n case 'required':\r\n messages.push(`${thing} is required`);\r\n break;\r\n\r\n case 'minlength':\r\n messages.push(`${thing} must be at least ${state.errors['minlength'].requiredLength} characters`);\r\n break;\r\n\r\n case 'pattern':\r\n messages.push(`${thing} contains illegal characters`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 7 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: 'anatoly-form-validation-summary',\r\n templateUrl: './form-validation-summary.component.html'\r\n})\r\n\r\nexport class FormValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() visible: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n getErrors(): string[] {\r\n var messages = this.getFormValidationMessages();\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 6 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: 'anatoly-item-validation-summary',\r\n templateUrl: './item-validation-summary.component.html'\r\n})\r\nexport class ItemValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() controlName: string;\r\n @Input() controlTitle: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","export const DefaultEditorOptions: Object = { \r\n placeholderText: 'Edit Your Content Here',\r\n charCounterCount: true,\r\n heightMin: 100,\r\n toolbarInline: false,\r\n\r\n toolbarButtons: {\r\n 'moreText': {\r\n 'buttons': ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', \r\n 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle']\r\n },\r\n 'moreParagraph': {\r\n 'buttons': ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', \r\n 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote']\r\n },\r\n 'moreRich': {\r\n 'buttons': ['insertLink', 'insertImage', 'insertTable', 'emoticons', 'fontAwesome', \r\n 'specialCharacters', 'embedly']\r\n },\r\n 'moreMisc': {\r\n 'buttons': ['selectAll', 'clearFormatting', 'html', 'undo', 'redo', 'fullscreen'],\r\n 'align': 'right',\r\n }\r\n },\r\n\r\n /*\r\n Upload:\r\n https://www.froala.com/wysiwyg-editor/docs/concepts/image/upload\r\n */\r\n imageUploadURL: '/api/HtmlEditor/UploadImage',\r\n imageAllowedTypes: ['jpeg', 'jpg', 'png'],\r\n imageUploadParams: { uploadType: '', uploadParentId: '' }\r\n};","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, OnInit, Input, AfterViewInit } from '@angular/core';\r\n\r\nimport FroalaEditor from 'froala-editor';\r\n\r\n//Custom\r\nimport { BaseEditComponent } from '../base-edit.component';\r\n\r\n//Consts\r\nimport { DefaultEditorOptions } from './html-editor.defaultoptions';\r\n\r\nexport class BaseHtmlEditorComponent extends BaseEditComponent implements OnInit, AfterViewInit {\r\n protected froalaEditor; \r\n protected editor2;\r\n\r\n //Public members\r\n public options;\r\n public froalaEditorInitialized: boolean = false;\r\n public afterInitializedActions = [];\r\n\r\n //General params\r\n @Input() editorId: string = '';\r\n @Input() editorLabelText: string = 'Html';\r\n @Input() editorOptions: Object = {};\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n let opt = this.editorOptions;\r\n if (typeof this.editorOptions == \"string\") {\r\n opt = JSON.parse(this.editorOptions);\r\n }\r\n\r\n let newOptions: any = $.extend({}, DefaultEditorOptions, opt);\r\n let key = (<any>window).__froalaEditor_Key;\r\n if (key) {\r\n newOptions = $.extend({}, newOptions, JSON.parse('{ \"key\": \"' + key + '\" }'));\r\n }\r\n \r\n if (newOptions.events && newOptions.events.initialized) {\r\n newOptions.events.initialized.overridden = false;\r\n }\r\n\r\n newOptions.editorId = this.editorId;\r\n /*\r\n newOptions.froalaEditorInitialized = false;\r\n newOptions.afterInitializedActions = this.afterInitializedActions; \r\n */ \r\n this.options = newOptions;\r\n }\r\n\r\n ngAfterViewInit() {\r\n /*\r\n let that = this;\r\n let elementId = \".htmleditor-\" + this.editorId;\r\n \r\n this.editor2 = new FroalaEditor(elementId, that.options, () => {\r\n alert(that.options.editorId);\r\n });\r\n */\r\n let that = this;\r\n setTimeout(function () { \r\n that.froalaEditorInitialized = true; \r\n that.onInitialized();\r\n }, 300);\r\n }\r\n\r\n private onInitialized() {\r\n let actions = this.afterInitializedActions;\r\n\r\n //Clear actions\r\n this.afterInitializedActions = [];\r\n\r\n if (actions) {\r\n for(var i =0; i < actions.length; i++){\r\n actions[i]();\r\n }\r\n }\r\n\r\n //console.log(\"onInitialized: \" + this.options.editorId);\r\n }\r\n\r\n protected getEditor() {\r\n if (this.froalaEditor)\r\n return this.froalaEditor.getEditor();\r\n\r\n return null;\r\n }\r\n\r\n //Public Funcs\r\n public doAfterInitialized(action) {\r\n let that = this;\r\n\r\n if (!this.froalaEditorInitialized) { \r\n this.afterInitializedActions.push(() => { action(that); });\r\n }\r\n else {\r\n action(that);\r\n }\r\n }\r\n\r\n public initializeControl(control) {\r\n this.froalaEditor = control; \r\n this.froalaEditor.initialize(); \r\n }\r\n\r\n public setUploadParams(uploadType, uploadParentId) { \r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.opts.imageUploadParams.uploadType = uploadType;\r\n editor.opts.imageUploadParams.uploadParentId = uploadParentId;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from './base-html-editor.component';\r\n\r\n@Component({\r\n selector: 'anatoly-html-editor',\r\n templateUrl: './html-editor.component.html'\r\n})\r\nexport class HtmlEditorComponent extends BaseHtmlEditorComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setHtml(content) {\r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.html.set(content);\r\n });\r\n }\r\n\r\n public getHtml() {\r\n var editor = this.getEditor();\r\n if (typeof (editor) == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n return editor.html.get(false);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Anatoly Osovitny\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from './base-html-editor.component';\r\n\r\n@Component({\r\n selector: 'anatoly-forms-html-editor',\r\n templateUrl: './forms-html-editor.component.html'\r\n})\r\nexport class FormsHtmlEditorComponent extends BaseHtmlEditorComponent { \r\n @Input() editorFormKey: string = 'html';\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 10 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule, HttpClient } from '@angular/common/http';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\n//kendo/froala\r\nimport { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';\r\nimport { GridModule } from '@progress/kendo-angular-grid';\r\nimport { PopupModule } from '@progress/kendo-angular-popup';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\n\r\n//Components\r\nimport { FormValidationSummaryComponent } from './components/validation/form-validation-summary.component';\r\nimport { ItemValidationSummaryComponent } from './components/validation/item-validation-summary.component';\r\nimport { ContentHeaderComponent } from './components/content-header/content-header.component';\r\nimport { HtmlEditorComponent } from './components/html-editor/html-editor.component';\r\nimport { FormsHtmlEditorComponent } from './components/html-editor/forms-html-editor.component';\r\n\r\n//Services\r\nimport { AppContextService } from './services/appcontext.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n\r\n FroalaEditorModule.forRoot(),\r\n FroalaViewModule.forRoot(),\r\n GridModule,\r\n PopupModule,\r\n ButtonsModule,\r\n DropDownsModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule,\r\n\r\n ItemValidationSummaryComponent,\r\n FormValidationSummaryComponent,\r\n ContentHeaderComponent,\r\n\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent\r\n ],\r\n declarations: [\r\n ItemValidationSummaryComponent,\r\n FormValidationSummaryComponent,\r\n ContentHeaderComponent,\r\n\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent\r\n ],\r\n providers: [\r\n AppContextService\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n ] \r\n})\r\nexport class AnatolyCoreModule {\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//App\r\nimport { BaseApiService } from '../base/base-api.service'\r\n\r\n@Injectable()\r\nexport class BillingApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl += 'billing/';\r\n }\r\n\r\n public requestNewSubscription(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS('requestNewSubscription', { requestedPlan: requestedPlan })\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n\r\n public cancelRequestedSubscription(success?: Function, error?: Function) {\r\n this.postQS('cancelRequestedSubscription', null)\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n\r\n public buyAccess(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS('buyAccess', { requestedPlan: requestedPlan })\r\n .subscribe(\r\n data => { },\r\n e => { if (error) error() },\r\n () => { if (success) success() }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 14 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n//Services\r\nimport { AppContextService } from '../../../core/services/appcontext.service';\r\nimport { BillingApiService } from '../../../data/services/billing-api.service';\r\n\r\nimport { Alerts } from '../../../core/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-buyaccess-button',\r\n templateUrl: './buyaccess-button.component.html'\r\n})\r\nexport class BuyAccessButtonComponent implements OnInit {\r\n public contextUpdated: boolean = false;\r\n public isUserSignedIn: boolean = false;\r\n public currentPlan: number = 0;\r\n public currentPlanTitle: string = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService, private api: BillingApiService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n\r\n onBuyPlan() {\r\n const text = `Requested plan: ${this.plantitle} `;\r\n let that = this;\r\n\r\n Alerts.AreYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {\r\n that.api.buyAccess(that.plan, () => {\r\n Alerts.Success('Access Granted', null, () => {\r\n (<any>window).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 1 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n//Services\r\nimport { AppContextService } from '../../../core/services/appcontext.service';\r\n\r\n@Component({\r\n selector: 'anatoly-subscribe-plan-button',\r\n templateUrl: './subscribe-plan-button.component.html'\r\n})\r\n\r\nexport class SubscribePlanButtonComponent implements OnInit {\r\n public contextUpdated: boolean = false;\r\n public isUserSignedIn: boolean = false;\r\n public currentPlan: number = 0;\r\n public currentPlanTitle: string = \"\";\r\n public requestedPlan: number = 0;\r\n public requestedPlanTitle: string = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n this.requestedPlan = current.account.requestedBillingPlan;\r\n this.requestedPlanTitle = current.account.requestedBillingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from '@angular/core';\r\n\r\n//Services\r\nimport { BillingApiService } from '../../../data/services/billing-api.service';\r\n\r\nimport { Alerts } from '../../../core/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-upgrade-plan-button',\r\n templateUrl: './upgrade-plan-button.component.html'\r\n})\r\n\r\nexport class UpgradePlanButtonComponent {\r\n @Input() currentplantitle: string;\r\n @Input() requestedplan: number;\r\n @Input() requestedplantitle: string;\r\n\r\n constructor(private api: BillingApiService) {\r\n }\r\n\r\n onUpgradePlan() {\r\n let text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;\r\n let that = this;\r\n\r\n Alerts.AreYouSure(text, 'Change billing plan', 'Confirm change', 'Cancel', () => {\r\n that.api.requestNewSubscription(that.requestedplan, () => {\r\n Alerts.Success('Your request for changing plan has been sent.', null, () => {\r\n (<any>window).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signin-button',\r\n templateUrl: './signin-button.component.html'\r\n})\r\n\r\nexport class SignInButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signout-button',\r\n templateUrl: './signout-button.component.html'\r\n})\r\n\r\nexport class SignOutButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'anatoly-signup-button',\r\n templateUrl: './signup-button.component.html'\r\n})\r\n\r\nexport class SignUpButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2018 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//System\r\nimport { NgModule } from '@angular/core';\r\n\r\n//Custom\r\nimport { SignInButtonComponent } from './components/signin-button.component';\r\nimport { SignUpButtonComponent } from './components/signup-button.component';\r\nimport { SignOutButtonComponent } from './components/signout-button.component';\r\n\r\n@NgModule({\r\n imports: [\r\n ],\r\n exports: [\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent\r\n ],\r\n declarations: [\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent\r\n ],\r\n providers: []\r\n})\r\n\r\nexport class AnatolyIdentityModule {\r\n}\r\n","// Components\r\nexport * from './components/signin-button.component';\r\nexport * from './components/signout-button.component';\r\nexport * from './components/signup-button.component';\r\n\r\n//Module\r\nexport { AnatolyIdentityModule } from './identity.module';","/*\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","// Components\r\nexport * from './components/buyaccess/buyaccess-button.component';\r\nexport * from './components/subscriptions/subscribe-plan-button.component';\r\nexport * from './components/subscriptions/upgrade-plan-button.component';\r\n\r\n//Module\r\nexport { AnatolyBillingModule } from './billing.module';","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseGridReadService extends BehaviorSubject<any[]> {\r\n protected baseReadUrl: string;\r\n protected data: any[] = []; \r\n protected savedReadParams: any; \r\n\r\n constructor(protected http: HttpClient) {\r\n super([]);\r\n }\r\n\r\n serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n read(params?: any, success?: Function, error?: Function) {\r\n if (this.data.length) {\r\n return super.next(this.data);\r\n }\r\n\r\n var url = this.baseReadUrl;\r\n\r\n if (typeof params === 'undefined') {\r\n params = this.savedReadParams;\r\n }\r\n\r\n if (params) {\r\n url = this.baseReadUrl + `${this.serializeParams(params)}`;\r\n this.savedReadParams = params;\r\n }\r\n\r\n this.http.get(url).pipe(map(res => <any[]>res)).subscribe(\r\n data => {\r\n super.next(data);\r\n if (success) success();\r\n },\r\n e => {\r\n if (error) error(e);\r\n },\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n//App \r\nimport { BaseGridReadService } from './base-grid-read.service';\r\n\r\n@Injectable()\r\nexport class BaseGridEditService extends BaseGridReadService {\r\n protected baseUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n private reset() {\r\n this.data = [];\r\n }\r\n\r\n resetItem(dataItem: any) {\r\n if (!dataItem) { return; }\r\n\r\n //find orignal data item\r\n const originalDataItem = this.data.find(item => item.Id === dataItem.Id);\r\n\r\n //revert changes\r\n Object.assign(originalDataItem, dataItem);\r\n super.next(this.data);\r\n }\r\n\r\n save(data: any, isNew: boolean, sucess?: Function) {\r\n const action = isNew ? 'add' : 'update';\r\n\r\n this.reset();\r\n this.post(action, data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read();\r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n remove(data: any, sucess?: Function) {\r\n this.reset();\r\n this.post('remove', data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read();\r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n post(action: any, data?: any): Observable<any[]> {\r\n var url = this.baseUrl + `${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, data).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n}","/*\r\n<file>\r\n Authors:\r\n Vadim Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule, HttpClientXsrfModule, HttpClientJsonpModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule,\r\n HttpClientJsonpModule\r\n ],\r\n declarations: [\r\n ],\r\n providers: [\r\n ]\r\n})\r\n\r\nexport class AnatolyDataModule {\r\n}\r\n","// Services\r\nexport * from './base/base-api.service';\r\nexport * from './base/grid/base-grid-read.service';\r\nexport * from './base/grid/base-grid-edit.service';\r\nexport * from './services/billing-api.service';\r\n\r\n// Module\r\nexport { AnatolyDataModule } from './data.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;IAiBA;KAwIC;IAvIe,WAAI,GAAlB,UAAmB,IAAI;QACrB,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;KACJ;IAEa,cAAO,GAArB,UAAsB,IAAI;QACxB,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;KACJ;IAEa,YAAK,GAAnB,UAAoB,IAAI;QACtB,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,OAAO;YACb,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;KACJ;IAEa,qBAAc,GAA5B;QACE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;KACrC;IAAA,CAAC;IAEY,oBAAa,GAA3B;QACE,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACnD;IAAA,CAAC;IAEY,iBAAU,GAAxB,UAAyB,IAAI,EAAE,KAAM,EAAE,iBAAkB,EAAE,gBAAiB,EAAE,aAAc,EAAE,YAAa;QACzG,IAAI,OAAO,KAAK,IAAI,WAAW,IAAI,KAAK,IAAI,IAAI;YAAE,KAAK,GAAG,eAAe,CAAC;QAE1E,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,iBAAiB;YACpC,gBAAgB,EAAE,gBAAgB;YAClC,gBAAgB,EAAE,IAAI;SACvB,CAAC;aACD,IAAI,CAAC,UAAC,MAAM;YACX,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,IAAI,aAAa,EAAE;oBACjB,aAAa,EAAE,CAAC;iBACjB;aACF;;iBAEI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;gBAClG,IAAI,YAAY,EAAE;oBAChB,YAAY,EAAE,CAAC;iBAChB;aACF;SACF,CAAC,CAAC;KACJ;IAAA,CAAC;IAEY,cAAO,GAArB,UAAsB,IAAK,EAAE,KAAM,EAAE,aAAc;QACjD,IAAI,OAAO,KAAK,IAAI,WAAW,IAAI,KAAK,IAAI,IAAI;YAAE,KAAK,GAAG,SAAS,CAAC;QAEpE,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,0BAA0B,CAAC;SACnC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,IAAI;SACxB,CAAC;aACD,IAAI,CAAC;YACJ,IAAI,aAAa,EAAE;gBACjB,aAAa,EAAE,CAAC;aACjB;SACF,CAAC,CAAC;KACJ;IAEa,aAAM,GAApB,UAAqB,IAAK;QACxB,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,4BAA4B,CAAC;SACrC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;KACH;;IAGa,yBAAkB,GAAhC,UAAiC,IAAK;QACpC,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,4BAA4B,CAAC;SACrC;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAA;QAEF,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;KACH;IAEa,0BAAmB,GAAjC,UAAkC,IAAK,EAAE,KAAM;QAC7C,IAAI,OAAO,KAAK,IAAI,WAAW,IAAI,KAAK,IAAI,IAAI;YAAE,KAAK,GAAG,SAAS,CAAC;QAEpE,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,0BAA0B,CAAC;SACnC;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAA;QAEF,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;KACH;IACH,aAAC;AAAD,CAAC;;ACzJD;;;;;;;;;;;;;;AAeA;IAAA;KAYC;IAXe,wBAAkB,GAAhC,UAAiC,IAAI;QACnC,OAAO,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACpD;IAEa,oBAAc,GAA5B,UAA6B,GAAG,EAAE,IAAI;QACpC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,WAAW,CAAC,EAErD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,OAAO,KAAK,IAAI,GAAG,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;KACnF;IACH,YAAC;AAAD,CAAC;;AC3BD;;;;;;;;;;;;;;;IAuBE,uBAAY,KAAqB,EAAE,MAAc;QAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;IAED,sCAAc,GAAd;;QAEQ,MAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;KACjC;;gBARkB,cAAc;gBAAU,MAAM;;IAJtC,aAAa;QADzB,UAAU,EAAE;OACA,aAAa,CAazB;IAAD,oBAAC;CAbD;;ACnBA;;;;;;;;;;;;;;;IA8BE,wBAAsB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;KACrC;IAEO,wCAAe,GAAvB,UAAwB,IAAU;QAChC,OAAO,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAC1C;;IAGD,4BAAG,GAAH,UAAO,MAAc,EAAE,IAAU;QAC/B,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC,IAAI,CAC/B,GAAG,CAAC,UAAA,GAAG,IAAI,OAAG,GAAG,GAAA,CAAC,CACnB,CAAC;KACH;IAED,6BAAI,GAAJ,UAAQ,MAAc,EAAE,IAAU;QAChC,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAQ,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CACnC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAG,GAAG,GAAA,CAAC,CACnB,CAAC;KACH;IAED,+BAAM,GAAN,UAAU,MAAc,EAAE,IAAU;QAClC,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CACnC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAG,GAAG,GAAA,CAAC,CACnB,CAAC;KACH;IAED,+BAAM,GAAN,UAAU,MAAc,EAAE,IAAU;QAClC,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAI,GAAG,CAAC,CAAC,IAAI,CAClC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAG,GAAG,GAAA,CAAC,CACnB,CAAC;KACH;;IAGD,gCAAO,GAAP,UAAW,EAAO;QAChB,OAAO,IAAI,CAAC,GAAG,CAAI,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;KAC3C;IAED,+BAAM,GAAN,UAAU,IAAU;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAClC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAK,GAAG,GAAA,CAAC,CACrB,CAAC;KACH;IAED,oCAAW,GAAX,UAAY,QAAgB,EAAE,OAAgB,EAAE,WAAoB;QAClE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,aAAa,CAAC;SACzB;QAED,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,KAAK,CAAC;SACrB;QAED,IAAI,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAC5B,GAAG,CAAC,UAAA,GAAG,IAAI,OAAO,GAAG,GAAA,CAAC,CACvB,CAAC;KACH;IAED,mCAAU,GAAV;QACE,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,gBAAa,CAAC;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;KACrD;;gBAjE2B,UAAU;;IAJ3B,cAAc;QAD1B,UAAU,EAAE;OACA,cAAc,CAsE1B;IAAD,qBAAC;CAtED;;AC1BA;;;;;;;;;;;;;;;IAwBuC,qCAAc;IAKnD,2BAAsB,IAAgB;QAAtC,YACE,kBAAM,IAAI,CAAC,SAEZ;QAHqB,UAAI,GAAJ,IAAI,CAAY;QAJ9B,aAAO,GAAG,IAAI,CAAC;QACf,eAAS,GAAG,EAAE,CAAC;QACf,kBAAY,GAAiB,IAAI,CAAC;QAIxC,KAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;;KACnC;IAED,sCAAU,GAAV,UAAW,OAAiB;QAA5B,iBAsBC;QArBC,IAAI,OAAO,OAAO,IAAI,WAAW,EAAE;YAC/B,OAAO;SACV;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO;SACV;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,SAAS,CAC/D,UAAA,IAAI;YACF,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACzB,EACD,UAAA,CAAC,KAAO,CACT,CAAC;KACH;IAED,wCAAY,GAAZ,UAAa,IAAI;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;QAED,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAED,0CAAc,GAAd;QACE,OAAa,MAAO,CAAC,wBAAwB,CAAC;KAC/C;IAED,uCAAW,GAAX;QACE,OAAa,MAAO,CAAC,qBAAqB,CAAC;KAC5C;;gBAjD2B,UAAU;;IAL3B,iBAAiB;QAD7B,UAAU,EAAE;OACA,iBAAiB,CAuD7B;IAAD,wBAAC;CAAA,CAvDsC,cAAc;;ACxBrD;;;;;;;;;;;;;;AAmBA;IAIE;KACC;IAED,+BAAO,GAAP;QACE,IAAI,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAEvD,OAAO,EAAE,CAAC;KACX;IAED,mCAAW,GAAX;QACE,IAAI,YAAY,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;QACpC,YAAY,CAAC,IAAI,EAAE,CAAC;KACrB;IAED,mCAAW,GAAX;QACE,IAAI,YAAY,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;QACpC,YAAY,CAAC,IAAI,EAAE,CAAC;KACrB;IAED,mCAAW,GAAX,UAAY,CAAC;QACX,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,CAAC,aAAa,EAAE,CAAC;KACxB;IACH,oBAAC;AAAD,CAAC;;AC/CD;;;;;;;;;;;;;;;IAuBuC,qCAAa;IAOlD;QAAA,YACE,iBAAO,SACR;QAJM,mBAAa,GAAY,KAAK,CAAC;;KAIrC;IAED,0CAAc,GAAd;QACE,IAAI,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAEvD,OAAO,KAAK,CAAC;KACd;IAED,uCAAW,GAAX;QACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;KACvB;IAED,yCAAa,GAAb,UAAc,IAAY;QACxB,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,IAAI,EAAE,EAAE;YAC3C,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO;iBACtD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;SACjF;QAED,OAAO,KAAK,CAAC;KACd;IAED,wCAAY,GAAZ,UAAa,IAAI;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;KAC5C;IAED,wCAAY,GAAZ,UAAa,IAAI,EAAE,KAAK;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC/C;IAED,6CAAiB,GAAjB,UAAkB,SAAS,EAAE,IAAI;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;KAC3D;IAED,6CAAiB,GAAjB,UAAkB,SAAS,EAAE,IAAI,EAAE,KAAK;QACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC9D;IAnDD;QADC,KAAK,EAAE;wDACoB;IAG5B;QADC,KAAK,EAAE;4DAC8B;IAiDxC,wBAAC;CAAA,CAtDsC,aAAa;;ACvBpD;;;;;;;;;;;;;;;IAuBA;KAQC;IALC,yCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;SACnB;KACF;IANQ;QAAR,KAAK,EAAE;yDAAgB;IADb,sBAAsB;QALlC,SAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;YAClC,gHAA8C;SAC/C,CAAC;OAEW,sBAAsB,CAQlC;IAAD,6BAAC;CARD;;ACvBA;;;;;;;;;;;;;;;IAsBgD,8CAAiB;IAC/D;eACE,iBAAO;KACR;IAED,8DAAyB,GAAzB;QAAA,iBAkBC;QAjBC,IAAI,QAAQ,GAAa,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC;YAC5C,IAAI,OAAO,GAAG,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAEzC,IAAgB,OAAQ,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACvC,MAAM,CAAC,IAAI,CAAa,OAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC;oBAClD,IAAI,KAAK,GAAe,OAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC7C,KAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;iBACrE,CAAC,CAAC;aACN;iBACI;gBACD,KAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;aACzE;SACF,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;KACjB;IAED,0DAAqB,GAArB,UAAsB,KAAU,EAAE,SAAkB;QAClD,IAAI,KAAK,GAAW,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;QAC5C,IAAI,QAAQ,GAAa,EAAE,CAAC;QAE5B,IAAI,KAAK,CAAC,MAAM,EAAE;YACd,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE;gBAClC,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;oBAC1C,QAAQ,SAAS;wBACf,KAAK,UAAU;4BACb,QAAQ,CAAC,IAAI,CAAI,KAAK,iBAAc,CAAC,CAAC;4BACtC,MAAM;wBAER,KAAK,WAAW;4BACd,QAAQ,CAAC,IAAI,CAAI,KAAK,0BAAqB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,gBAAa,CAAC,CAAC;4BAClG,MAAM;wBAER,KAAK,SAAS;4BACZ,QAAQ,CAAC,IAAI,CAAI,KAAK,iCAA8B,CAAC,CAAC;4BACtD,MAAM;qBACT;iBACF;aACF;SACJ;QAED,OAAO,QAAQ,CAAC;KACjB;IACH,iCAAC;AAAD,CAnDA,CAAgD,iBAAiB;;ACtBjE;;;;;;;;;;;;;;;IAwBoD,kDAA0B;IAG5E;QAAA,YACE,iBAAO,SACR;QAJQ,aAAO,GAAY,KAAK,CAAC;;KAIjC;IAED,kDAAS,GAAT;QACE,IAAI,QAAQ,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAChD,OAAO,QAAQ,CAAC;KACjB;IATQ;QAAR,KAAK,EAAE;mEAA0B;IADvB,8BAA8B;QAL1C,SAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;YAC3C,wQAAuD;SACxD,CAAC;OAEW,8BAA8B,CAW1C;IAAD,qCAAC;CAAA,CAXmD,0BAA0B;;ACxB9E;;;;;;;;;;;;;;;IAuBoD,kDAA0B;IAI5E;eACE,iBAAO;KACR;IALQ;QAAR,KAAK,EAAE;uEAAqB;IACpB;QAAR,KAAK,EAAE;wEAAsB;IAFnB,8BAA8B;QAJ1C,SAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;YAC3C,4PAAuD;SACxD,CAAC;OACW,8BAA8B,CAO1C;IAAD,qCAAC;CAAA,CAPmD,0BAA0B;;ACvBvE,IAAM,oBAAoB,GAAW;IACxC,eAAe,EAAE,wBAAwB;IACzC,gBAAgB,EAAE,IAAI;IACtB,SAAS,EAAE,GAAG;IACd,aAAa,EAAE,KAAK;IAEpB,cAAc,EAAE;QACZ,UAAU,EAAE;YACR,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa;gBAC1E,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,CAAC;SACtG;QACD,eAAe,EAAE;YACb,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc;gBAC1E,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC;SACvH;QACD,UAAU,EAAE;YACR,SAAS,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa;gBACtE,mBAAmB,EAAE,SAAS,CAAC;SAC9C;QACD,UAAU,EAAE;YACR,SAAS,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;YACjF,OAAO,EAAE,OAAO;SACnB;KACJ;;;;;IAMD,cAAc,EAAE,6BAA6B;IAC7C,iBAAiB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;IACzC,iBAAiB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;CAC5D,CAAC;;AChCF;;;;;;;;;;;;;;;AA2BA;IAA6C,2CAAiB;IAc5D;QAAA,YACE,iBAAO,SACR;QAVM,6BAAuB,GAAY,KAAK,CAAC;QACzC,6BAAuB,GAAG,EAAE,CAAC;;QAG3B,cAAQ,GAAW,EAAE,CAAC;QACtB,qBAAe,GAAW,MAAM,CAAC;QACjC,mBAAa,GAAW,EAAE,CAAC;;KAInC;IAED,0CAAQ,GAAR;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;QAC7B,IAAI,OAAO,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE;YACvC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACxC;QAED,IAAI,UAAU,GAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,GAAG,GAAS,MAAO,CAAC,kBAAkB,CAAC;QAC3C,IAAI,GAAG,EAAE;YACP,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;SAC/E;QAED,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;YACpD,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC;SACpD;QAED,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;;;;;QAKpC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;KAC3B;IAED,iDAAe,GAAf;;;;;;;;;QASC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC;YACT,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,aAAa,EAAE,CAAC;SACrB,EAAE,GAAG,CAAC,CAAC;KACT;IAEO,+CAAa,GAArB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC;;QAG3C,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAElC,IAAI,OAAO,EAAE;YACT,KAAI,IAAI,CAAC,GAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;gBAClC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;aAChB;SACJ;;KAGF;IAES,2CAAS,GAAnB;QACE,IAAI,IAAI,CAAC,YAAY;YAClB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAExC,OAAO,IAAI,CAAC;KACb;;IAGM,oDAAkB,GAAzB,UAA0B,MAAM;QAC9B,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;SAC5D;aACI;YACH,MAAM,CAAC,IAAI,CAAC,CAAC;SACd;KACF;IAEM,mDAAiB,GAAxB,UAAyB,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;KAChC;IAEM,iDAAe,GAAtB,UAAuB,UAAU,EAAE,cAAc;QAC/C,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI;YACpC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,QAAQ,MAAM,CAAC,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE;gBACpD,OAAO;aACR;YAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;SAC/D,CAAC,CAAC;KACJ;IAjGQ;QAAR,KAAK,EAAE;6DAAuB;IACtB;QAAR,KAAK,EAAE;oEAAkC;IACjC;QAAR,KAAK,EAAE;kEAA4B;IAgGtC,8BAAC;CAAA,CA5G4C,iBAAiB,GA4G7D;;ACvID;;;;;;;;;;;;;;;;IA0ByC,uCAAuB;IAC9D;eACE,iBAAO;KACR;IAEM,qCAAO,GAAd,UAAe,OAAO;QACpB,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI;YACpC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,QAAQ,MAAM,CAAC,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE;gBACpD,OAAO;aACR;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC1B,CAAC,CAAC;KACJ;IAEM,qCAAO,GAAd;QACE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,QAAQ,MAAM,CAAC,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE;YACpD,OAAO;SACR;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAC/B;IAvBU,mBAAmB;QAJ/B,SAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,6PAA2C;SAC5C,CAAC;OACW,mBAAmB,CAwB/B;IAAD,0BAAC;CAAA,CAxBwC,uBAAuB;;AC1BhE;;;;;;;;;;;;;;;;IA0B8C,4CAAuB;IAGnE;QAAA,YACE,iBAAO,SACR;QAJQ,mBAAa,GAAW,MAAM,CAAC;;KAIvC;IAJQ;QAAR,KAAK,EAAE;mEAAgC;IAD7B,wBAAwB;QAJpC,SAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;YACrC,gyBAAiD;SAClD,CAAC;OACW,wBAAwB,CAMpC;IAAD,+BAAC;CAAA,CAN6C,uBAAuB;;AC1BrE;;;;;;;;;;;;;;;IAmFA;KACC;IADY,iBAAiB;QA7C7B,QAAQ,CAAC;YACR,OAAO,EAAE;gBACP,YAAY;gBACZ,mBAAmB;gBACnB,WAAW;gBACX,gBAAgB;gBAChB,oBAAoB;gBACpB,qBAAqB;gBAErB,kBAAkB,CAAC,OAAO,EAAE;gBAC5B,gBAAgB,CAAC,OAAO,EAAE;gBAC1B,UAAU;gBACV,WAAW;gBACX,aAAa;gBACb,eAAe;aAChB;YACD,OAAO,EAAE;gBACP,YAAY;gBACZ,gBAAgB;gBAChB,oBAAoB;gBACpB,qBAAqB;gBAErB,8BAA8B;gBAC9B,8BAA8B;gBAC9B,sBAAsB;gBAEtB,mBAAmB;gBACnB,wBAAwB;aACzB;YACD,YAAY,EAAE;gBACZ,8BAA8B;gBAC9B,8BAA8B;gBAC9B,sBAAsB;gBAEtB,mBAAmB;gBACnB,wBAAwB;aACzB;YACD,SAAS,EAAE;gBACT,iBAAiB;aAClB;YACD,OAAO,EAAE;gBACP,sBAAsB;gBACtB,gBAAgB;aACjB;SACF,CAAC;OACW,iBAAiB,CAC7B;IAAD,wBAAC;CADD;;ACnFA;;;;;;;;;;;;;;;IAuBuC,qCAAc;IACnD,2BAAsB,IAAgB;QAAtC,YACE,kBAAM,IAAI,CAAC,SAEZ;QAHqB,UAAI,GAAJ,IAAI,CAAY;QAEpC,KAAI,CAAC,OAAO,IAAI,UAAU,CAAC;;KAC5B;IAEM,kDAAsB,GAA7B,UAA8B,aAAqB,EAAE,OAAkB,EAAE,KAAgB;QACvF,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;aACpE,SAAS,CACR,UAAA,IAAI,KAAO,EACX,UAAA,CAAC,IAAM,IAAI,KAAK;YAAE,KAAK,EAAE,CAAA,EAAE,EAC3B,cAAQ,IAAI,OAAO;YAAE,OAAO,EAAE,CAAA,EAAE,CACjC,CAAC;KACL;IAEM,uDAA2B,GAAlC,UAAmC,OAAkB,EAAE,KAAgB;QACrE,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,IAAI,CAAC;aAC7C,SAAS,CACR,UAAA,IAAI,KAAO,EACX,UAAA,CAAC,IAAM,IAAI,KAAK;YAAE,KAAK,EAAE,CAAA,EAAE,EAC3B,cAAQ,IAAI,OAAO;YAAE,OAAO,EAAE,CAAA,EAAE,CACjC,CAAC;KACL;IAEM,qCAAS,GAAhB,UAAiB,aAAqB,EAAE,OAAkB,EAAE,KAAgB;QAC1E,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;aACvD,SAAS,CACR,UAAA,IAAI,KAAO,EACX,UAAA,CAAC,IAAM,IAAI,KAAK;YAAE,KAAK,EAAE,CAAA,EAAE,EAC3B,cAAQ,IAAI,OAAO;YAAE,OAAO,EAAE,CAAA,EAAE,CACjC,CAAC;KACL;;gBA9B2B,UAAU;;IAD3B,iBAAiB;QAD7B,UAAU,EAAE;OACA,iBAAiB,CAgC7B;IAAD,wBAAC;CAAA,CAhCsC,cAAc;;ACvBrD;;;;;;;;;;;;;;;IAqCE,kCAAoB,UAA6B,EAAU,GAAsB;QAA7D,eAAU,GAAV,UAAU,CAAmB;QAAU,QAAG,GAAH,GAAG,CAAmB;QAR1E,mBAAc,GAAY,KAAK,CAAC;QAChC,mBAAc,GAAY,KAAK,CAAC;QAChC,gBAAW,GAAW,CAAC,CAAC;QACxB,qBAAgB,GAAW,EAAE,CAAC;KAMpC;IAED,2CAAQ,GAAR;QAAA,iBAgBC;QAfC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO;SACV;QAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAC,OAAO;YACjC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YAE7C,IAAI,KAAI,CAAC,cAAc,EAAE;gBACrB,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC/C,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;aAC/D;YAED,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B,CAAC,CAAC;KACJ;IAED,4CAAS,GAAT;QACE,IAAM,IAAI,GAAG,qBAAmB,IAAI,CAAC,SAAS,MAAG,CAAC;QAClD,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE;YACnE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC5B,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE;oBAC/B,MAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACjC,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;;gBAhC+B,iBAAiB;gBAAe,iBAAiB;;IAHxE;QAAR,KAAK,EAAE;0DAAc;IACb;QAAR,KAAK,EAAE;+DAAmB;IAPhB,wBAAwB;QAJpC,SAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;YACpC,4iBAAgD;SACjD,CAAC;OACW,wBAAwB,CA0CpC;IAAD,+BAAC;CA1CD;;AC5BA;;;;;;;;;;;;;;;IAqCE,sCAAoB,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;QAV1C,mBAAc,GAAY,KAAK,CAAC;QAChC,mBAAc,GAAY,KAAK,CAAC;QAChC,gBAAW,GAAW,CAAC,CAAC;QACxB,qBAAgB,GAAW,EAAE,CAAC;QAC9B,kBAAa,GAAW,CAAC,CAAC;QAC1B,uBAAkB,GAAW,EAAE,CAAC;KAMtC;IAED,+CAAQ,GAAR;QAAA,iBAkBC;QAjBC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO;SACV;QAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAC,OAAO;YACjC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YAE7C,IAAI,KAAI,CAAC,cAAc,EAAE;gBACrB,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC/C,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBAC5D,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBAC1D,KAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC;aAC1E;YAED,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B,CAAC,CAAC;KACJ;;gBArB+B,iBAAiB;;IAHxC;QAAR,KAAK,EAAE;8DAAc;IACb;QAAR,KAAK,EAAE;mEAAmB;IAThB,4BAA4B;QALxC,SAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;YACzC,q4BAAqD;SACtD,CAAC;OAEW,4BAA4B,CAiCxC;IAAD,mCAAC;CAjCD;;AC1BA;;;;;;;;;;;;;;;IAiCE,oCAAoB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;KACzC;IAED,kDAAa,GAAb;QACE,IAAI,IAAI,GAAG,mBAAiB,IAAI,CAAC,gBAAgB,mBAAc,IAAI,CAAC,kBAAoB,CAAC;QACzF,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,QAAQ,EAAE;YACzE,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE;gBAClD,MAAM,CAAC,OAAO,CAAC,+CAA+C,EAAE,IAAI,EAAE;oBAC9D,MAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACjC,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;;gBAdwB,iBAAiB;;IAJjC;QAAR,KAAK,EAAE;wEAA0B;IACzB;QAAR,KAAK,EAAE;qEAAuB;IACtB;QAAR,KAAK,EAAE;0EAA4B;IAHzB,0BAA0B;QALtC,SAAS,CAAC;YACT,QAAQ,EAAE,6BAA6B;YACvC,kHAAmD;SACpD,CAAC;OAEW,0BAA0B,CAoBtC;IAAD,iCAAC;CApBD;;AC5BA;;;;;;;;;;;;;;;IAyBE;KAAiB;IAFR;QAAR,KAAK,EAAE;2DAAkB;IADf,qBAAqB;QALjC,SAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,8EAA6C;SAC9C,CAAC;OAEW,qBAAqB,CAIjC;IAAD,4BAAC;CAJD;;ACtBA;;;;;;;;;;;;;;;IAyBE;KAAiB;IAFR;QAAR,KAAK,EAAE;4DAAkB;IADf,sBAAsB;QALlC,SAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;YAClC,gFAA8C;SAC/C,CAAC;OAEW,sBAAsB,CAIlC;IAAD,6BAAC;CAJD;;ACtBA;;;;;;;;;;;;;;;IAyBE;KACC;IAHQ;QAAR,KAAK,EAAE;2DAAkB;IADf,qBAAqB;QALjC,SAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,8EAA6C;SAC9C,CAAC;OAEW,qBAAqB,CAKjC;IAAD,4BAAC;CALD;;ACtBA;;;;;;;;;;;;;;;IAuCA;KACC;IADY,qBAAqB;QAhBjC,QAAQ,CAAC;YACR,OAAO,EAAE,EACR;YACD,OAAO,EAAE;gBACP,qBAAqB;gBACrB,qBAAqB;gBACrB,sBAAsB;aACvB;YACD,YAAY,EAAE;gBACZ,qBAAqB;gBACrB,qBAAqB;gBACrB,sBAAsB;aACvB;YACD,SAAS,EAAE,EAAE;SACd,CAAC;OAEW,qBAAqB,CACjC;IAAD,4BAAC;CADD;;ACvCA,aAAa;;ACAb;;;;;;;;;;;;;;;IA4DA;KACC;IADY,oBAAoB;QA3BhC,QAAQ,CAAC;YACR,OAAO,EAAE;gBACP,YAAY;gBACZ,gBAAgB;gBAChB,oBAAoB;gBACpB,qBAAqB;gBACrB,qBAAqB;aACtB;YACD,OAAO,EAAE;gBACP,YAAY;gBACZ,gBAAgB;gBAChB,oBAAoB;gBACpB,qBAAqB;gBACrB,4BAA4B;gBAC5B,0BAA0B;gBAC1B,wBAAwB;aACzB;YACD,YAAY,EAAE;gBACZ,4BAA4B;gBAC5B,0BAA0B;gBAC1B,wBAAwB;aACzB;YACD,SAAS,EAAE;gBACT,iBAAiB;aAClB;SACF,CAAC;OAEW,oBAAoB,CAChC;IAAD,2BAAC;CADD;;AC5DA,aAAa;;ACAb;;;;;;;;;;;;;;;IA0ByC,uCAAsB;IAK7D,6BAAsB,IAAgB;QAAtC,YACE,kBAAM,EAAE,CAAC,SACV;QAFqB,UAAI,GAAJ,IAAI,CAAY;QAH5B,UAAI,GAAU,EAAE,CAAC;;KAK1B;IAED,6CAAe,GAAf,UAAgB,IAAU;QACxB,OAAO,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAC1C;IAED,kCAAI,GAAJ,UAAK,MAAY,EAAE,OAAkB,EAAE,KAAgB;QAAvD,iBAyBC;QAxBC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACpB,OAAO,iBAAM,IAAI,YAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9B;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAE3B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;SAC/B;QAED,IAAI,MAAM,EAAE;YACV,GAAG,GAAG,IAAI,CAAC,WAAW,IAAG,KAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAG,CAAA,CAAC;YAC3D,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;SAC/B;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAO,GAAG,GAAA,CAAC,CAAC,CAAC,SAAS,CACvD,UAAA,IAAI;YACF,iBAAM,IAAI,aAAC,IAAI,CAAC,CAAC;YACjB,IAAI,OAAO;gBAAE,OAAO,EAAE,CAAC;SACxB,EACD,UAAA,CAAC;YACC,IAAI,KAAK;gBAAE,KAAK,CAAC,CAAC,CAAC,CAAC;SACrB,CACF,CAAC;KACH;;gBAjC2B,UAAU;;IAL3B,mBAAmB;QAD/B,UAAU,EAAE;OACA,mBAAmB,CAuC/B;IAAD,0BAAC;CAAA,CAvCwC,eAAe;;AC1BxD;;;;;;;;;;;;;;;IA2ByC,uCAAmB;IAG1D,6BAAsB,IAAgB;QAAtC,YACE,kBAAM,IAAI,CAAC,SACZ;QAFqB,UAAI,GAAJ,IAAI,CAAY;;KAErC;IAEO,mCAAK,GAAb;QACE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;KAChB;IAED,uCAAS,GAAT,UAAU,QAAa;QACrB,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;SAAE;;QAG1B,IAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,GAAA,CAAC,CAAC;;QAGzE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC1C,iBAAM,IAAI,YAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvB;IAED,kCAAI,GAAJ,UAAK,IAAS,EAAE,KAAc,EAAE,MAAiB;QAAjD,iBAeC;QAdC,IAAM,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;QAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,CAC/B;SACC,EACD;YACE,KAAI,CAAC,IAAI,EAAE,CAAC;SACb,EACD;YACE,KAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,MAAM;gBAAE,MAAM,EAAE,CAAC;SACtB,CACF,CAAC;KACH;IAED,oCAAM,GAAN,UAAO,IAAS,EAAE,MAAiB;QAAnC,iBAaC;QAZC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS,CACjC;SACC,EACD;YACE,KAAI,CAAC,IAAI,EAAE,CAAC;SACb,EACD;YACE,KAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,MAAM;gBAAE,MAAM,EAAE,CAAC;SACtB,CACF,CAAC;KACH;IAED,kCAAI,GAAJ,UAAK,MAAW,EAAE,IAAU;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,IAAG,KAAG,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAA,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CACnC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAO,GAAG,GAAA,CAAC,CACvB,CAAC;KACH;;gBAxD2B,UAAU;;IAH3B,mBAAmB;QAD/B,UAAU,EAAE;OACA,mBAAmB,CA4D/B;IAAD,0BAAC;CAAA,CA5DwC,mBAAmB;;AC3B5D;;;;;;;;;;;;;;;IAuCA;KACC;IADY,iBAAiB;QAnB7B,QAAQ,CAAC;YACR,OAAO,EAAE;gBACP,YAAY;gBACZ,gBAAgB;gBAChB,oBAAoB;gBACpB,qBAAqB;aACtB;YACD,OAAO,EAAE;gBACP,YAAY;gBACZ,gBAAgB;gBAChB,oBAAoB;gBACpB,qBAAqB;aACtB;YACD,YAAY,EAAE,EACb;YACD,SAAS,EAAE,EACV;SACF,CAAC;OAEW,iBAAiB,CAC7B;IAAD,wBAAC;CADD;;ACvCA,WAAW;;ACAX;;GAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { AppContextService } from '../../../core/services/appcontext.service';
3
- import { BaseBillingApiService } from '../../../data/services/base-billing-api.service';
3
+ import { BillingApiService } from '../../../data/services/billing-api.service';
4
4
  export declare class BuyAccessButtonComponent implements OnInit {
5
5
  private appcontext;
6
6
  private api;
@@ -10,7 +10,7 @@ export declare class BuyAccessButtonComponent implements OnInit {
10
10
  currentPlanTitle: string;
11
11
  plan: number;
12
12
  plantitle: string;
13
- constructor(appcontext: AppContextService, api: BaseBillingApiService);
13
+ constructor(appcontext: AppContextService, api: BillingApiService);
14
14
  ngOnInit(): void;
15
15
  onBuyPlan(): void;
16
16
  }
@@ -1,9 +1,9 @@
1
- import { BaseBillingApiService } from '../../../data/services/base-billing-api.service';
1
+ import { BillingApiService } from '../../../data/services/billing-api.service';
2
2
  export declare class UpgradePlanButtonComponent {
3
3
  private api;
4
4
  currentplantitle: string;
5
5
  requestedplan: number;
6
6
  requestedplantitle: string;
7
- constructor(api: BaseBillingApiService);
7
+ constructor(api: BillingApiService);
8
8
  onUpgradePlan(): void;
9
9
  }
@@ -6,5 +6,7 @@ export declare class Alerts {
6
6
  static ErrorOccurred(): void;
7
7
  static AreYouSure(text: any, title?: any, confirmButtonText?: any, cancelButtonText?: any, successAction?: any, cancelAction?: any): void;
8
8
  static Success(text?: any, title?: any, successAction?: any): void;
9
- static Cancel(text: any): void;
9
+ static Cancel(text?: any): void;
10
+ static NotificationCancel(text?: any): void;
11
+ static NotificationSuccess(text?: any, title?: any): void;
10
12
  }
@@ -1,6 +1,6 @@
1
1
  import { ValidationSummaryComponent } from "./validation-summary.component";
2
2
  export declare class ItemValidationSummaryComponent extends ValidationSummaryComponent {
3
- key: string;
4
- title: string;
3
+ controlName: string;
4
+ controlTitle: string;
5
5
  constructor();
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { BaseApiService } from '../../data/services/base-api.service';
2
+ import { BaseApiService } from '../../data/base/base-api.service';
3
3
  export declare class AppContextService extends BaseApiService {
4
4
  protected http: HttpClient;
5
5
  private current;
@@ -6,12 +6,12 @@ export declare class BaseApiService {
6
6
  protected jsonUrl: string;
7
7
  constructor(http: HttpClient);
8
8
  private serializeParams;
9
- get<T>(action: String, data?: any): Observable<T>;
10
- post(action: String, data?: any): Observable<any>;
11
- postQS(action: String, data?: any): Observable<any>;
9
+ get<T>(action: string, data?: any): Observable<T>;
10
+ post<T>(action: string, data?: any): Observable<T>;
11
+ postQS<T>(action: string, data?: any): Observable<T>;
12
+ delete<T>(action: string, data?: any): Observable<T>;
13
+ getById<T>(id: any): Observable<T>;
12
14
  getAll<T>(data?: any): Observable<T[]>;
13
- getJsonFile(fileName: string, jsonVersion: string): Observable<any[]>;
15
+ getJsonFile(fileName: string, jsonUrl?: string, jsonVersion?: string): Observable<any[]>;
14
16
  getNewGuid(): Observable<string>;
15
- getById<T>(id: any): Observable<T>;
16
- remove(id: any): Observable<string>;
17
17
  }
@@ -1,17 +1,12 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { Observable } from 'rxjs';
3
- import { BehaviorSubject } from 'rxjs';
4
- export declare class BaseGridEditService extends BehaviorSubject<any[]> {
3
+ import { BaseGridReadService } from './base-grid-read.service';
4
+ export declare class BaseGridEditService extends BaseGridReadService {
5
5
  protected http: HttpClient;
6
6
  protected baseUrl: string;
7
- protected baseReadUrl: string;
8
- protected savedReadParams: any;
9
- private data;
10
7
  constructor(http: HttpClient);
11
- private serializeParams;
12
8
  private reset;
13
9
  resetItem(dataItem: any): void;
14
- read(params?: any): void;
15
10
  save(data: any, isNew: boolean, sucess?: Function): void;
16
11
  remove(data: any, sucess?: Function): void;
17
12
  post(action: any, data?: any): Observable<any[]>;
@@ -0,0 +1,11 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ export declare class BaseGridReadService extends BehaviorSubject<any[]> {
4
+ protected http: HttpClient;
5
+ protected baseReadUrl: string;
6
+ protected data: any[];
7
+ protected savedReadParams: any;
8
+ constructor(http: HttpClient);
9
+ serializeParams(data?: any): string;
10
+ read(params?: any, success?: Function, error?: Function): void;
11
+ }
@@ -1,5 +1,5 @@
1
- export * from './consts';
2
- export * from './services/base-api.service';
3
- export * from './services/base-billing-api.service';
4
- export * from './services/base-gridedit.service';
1
+ export * from './base/base-api.service';
2
+ export * from './base/grid/base-grid-read.service';
3
+ export * from './base/grid/base-grid-edit.service';
4
+ export * from './services/billing-api.service';
5
5
  export { AnatolyDataModule } from './data.module';
@@ -1,6 +1,6 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { BaseApiService } from './base-api.service';
3
- export declare class BaseBillingApiService extends BaseApiService {
2
+ import { BaseApiService } from '../base/base-api.service';
3
+ export declare class BillingApiService extends BaseApiService {
4
4
  protected http: HttpClient;
5
5
  constructor(http: HttpClient);
6
6
  requestNewSubscription(requestedPlan: Number, success?: Function, error?: Function): void;
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"exports":[{"from":"./lib/consts"},{"from":"./lib/services/base-api.service"},{"from":"./lib/services/base-billing-api.service"},{"from":"./lib/services/base-gridedit.service"},{"from":"./lib/components/base.component"},{"from":"./lib/components/base-edit.component"},{"from":"./lib/components/content-header/content-header.component"},{"from":"./lib/components/validation/validation-summary.component"},{"from":"./lib/components/validation/form-validation-summary.component"},{"from":"./lib/components/validation/item-validation-summary.component"},{"from":"./lib/components/html-editor/html-editor.component"},{"from":"./lib/components/html-editor/forms-html-editor.component"},{"export":[{"name":"AnatolyCoreModule","as":"AnatolyCoreModule"}],"from":"./lib/core.module"},{"export":[{"name":"AnatolyBillingModule","as":"AnatolyBillingModule"}],"from":"./lib/billing.module"},{"export":[{"name":"AnatolyIdentityModule","as":"AnatolyIdentityModule"}],"from":"./lib/identity.module"},{"export":[{"name":"AnatolyDataModule","as":"AnatolyDataModule"}],"from":"./lib/data.module"}],"metadata":{},"origins":{},"importAs":"@osovitny/anatoly"}
1
+ {"__symbolic":"module","version":4,"exports":[{"from":"./lib/base/base-api.service"},{"from":"./lib/base/grid/base-grid-read.service"},{"from":"./lib/base/grid/base-grid-edit.service"},{"from":"./lib/services/billing-api.service"},{"from":"./lib/components/base.component"},{"from":"./lib/components/base-edit.component"},{"from":"./lib/components/content-header/content-header.component"},{"from":"./lib/components/validation/validation-summary.component"},{"from":"./lib/components/validation/form-validation-summary.component"},{"from":"./lib/components/validation/item-validation-summary.component"},{"from":"./lib/components/html-editor/html-editor.component"},{"from":"./lib/components/html-editor/forms-html-editor.component"},{"export":[{"name":"AnatolyCoreModule","as":"AnatolyCoreModule"}],"from":"./lib/core.module"},{"export":[{"name":"AnatolyBillingModule","as":"AnatolyBillingModule"}],"from":"./lib/billing.module"},{"export":[{"name":"AnatolyIdentityModule","as":"AnatolyIdentityModule"}],"from":"./lib/identity.module"},{"export":[{"name":"AnatolyDataModule","as":"AnatolyDataModule"}],"from":"./lib/data.module"}],"metadata":{},"origins":{},"importAs":"@osovitny/anatoly"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osovitny/anatoly",
3
- "version": "1.2.8",
3
+ "version": "1.2.10",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "tslib": "^1.10.0"
@@ -1,21 +0,0 @@
1
- /*
2
- <file>
3
- Authors:
4
- Vadim Osovitny
5
-
6
- Created:
7
- 4 Mar 2020
8
-
9
- Version:
10
- 1.0
11
-
12
- Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- export class Consts {
16
- }
17
- Consts.JsonUrl = "/dist/jsons/";
18
- Consts.JsonVersion = "v=1.0.0";
19
- Consts.AppUrl = "/";
20
- Consts.ApiUrl = "/api/";
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG9zb3ZpdG55L2FuYXRvbHkvIiwic291cmNlcyI6WyJsaWIvZGF0YS9jb25zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUVGLE1BQU0sT0FBTyxNQUFNOztBQUNRLGNBQU8sR0FBRyxjQUFjLENBQUM7QUFDekIsa0JBQVcsR0FBVyxTQUFTLENBQUM7QUFFaEMsYUFBTSxHQUFHLEdBQUcsQ0FBQztBQUNiLGFBQU0sR0FBRyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDQgTWFyIDIwMjBcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmV4cG9ydCBjbGFzcyBDb25zdHMge1xyXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBKc29uVXJsID0gXCIvZGlzdC9qc29ucy9cIjtcclxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSnNvblZlcnNpb246IHN0cmluZyA9IFwidj0xLjAuMFwiO1xyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQXBwVXJsID0gXCIvXCI7XHJcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFwaVVybCA9IFwiL2FwaS9cIjtcclxufSJdfQ==
@@ -1,71 +0,0 @@
1
- /*
2
- <file>
3
- Authors:
4
- Vadim Osovitny
5
-
6
- Created:
7
- 13 Nov 2017
8
-
9
- Version:
10
- 1.0
11
-
12
- Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- import { __decorate } from "tslib";
16
- import { Injectable } from '@angular/core';
17
- import { HttpClient } from '@angular/common/http';
18
- import { map } from 'rxjs/operators';
19
- import { Consts } from '../consts';
20
- let BaseApiService = class BaseApiService {
21
- constructor(http) {
22
- this.http = http;
23
- this.baseUrl = Consts.ApiUrl;
24
- }
25
- serializeParams(data) {
26
- return data ? ('?' + $.param(data)) : '';
27
- }
28
- //webApi
29
- get(action, data) {
30
- var url = this.baseUrl + `${action}${this.serializeParams(data)}`;
31
- return this.http.get(url).pipe(map(res => res));
32
- }
33
- post(action, data) {
34
- var url = this.baseUrl + `${action}`;
35
- return this.http.post(url, data, { responseType: 'text' });
36
- }
37
- postQS(action, data) {
38
- var url = this.baseUrl + `${action}${this.serializeParams(data)}`;
39
- return this.http.post(url, null, { responseType: 'text' });
40
- }
41
- //gets
42
- getAll(data) {
43
- return this.get('getall', data).pipe(map(res => res));
44
- }
45
- getJsonFile(fileName, jsonVersion) {
46
- if (!jsonVersion) {
47
- jsonVersion = "1.0";
48
- }
49
- var url = Consts.JsonUrl + fileName + '?' + jsonVersion;
50
- return this.http.get(url).pipe(map(res => res));
51
- }
52
- getNewGuid() {
53
- var url = this.baseUrl + 'getNewGuid';
54
- return this.http.get(url, { responseType: 'text' });
55
- }
56
- //CRUD function
57
- getById(id) {
58
- return this.get('getById', { id: id });
59
- }
60
- remove(id) {
61
- return this.postQS('remove', { id: id });
62
- }
63
- };
64
- BaseApiService.ctorParameters = () => [
65
- { type: HttpClient }
66
- ];
67
- BaseApiService = __decorate([
68
- Injectable()
69
- ], BaseApiService);
70
- export { BaseApiService };
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bvc292aXRueS9hbmF0b2x5LyIsInNvdXJjZXMiOlsibGliL2RhdGEvc2VydmljZXMvYmFzZS1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFOztBQUVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSWxELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR25DLElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWM7SUFJekIsWUFBc0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFVO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtJQUNELEdBQUcsQ0FBSSxNQUFjLEVBQUUsSUFBVTtRQUN0QyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUksR0FBRyxDQUFDLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sSUFBSSxDQUFDLE1BQWMsRUFBRSxJQUFVO1FBQ3BDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQWMsRUFBRSxJQUFVO1FBQ3RDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNO0lBQ0MsTUFBTSxDQUFJLElBQVU7UUFDekIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ2xDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFNLEdBQUcsQ0FBQyxDQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFnQixFQUFFLFdBQW1CO1FBQ3RELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDZCxXQUFXLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxRQUFRLEdBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQVEsR0FBRyxDQUFDLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGVBQWU7SUFDUixPQUFPLENBQUksRUFBTztRQUN2QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUksU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxFQUFPO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0YsQ0FBQTs7WUF6RDZCLFVBQVU7O0FBSjNCLGNBQWM7SUFEMUIsVUFBVSxFQUFFO0dBQ0EsY0FBYyxDQTZEMUI7U0E3RFksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTMgTm92IDIwMTdcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbi8vUnhKc1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuaW1wb3J0IHsgQ29uc3RzIH0gZnJvbSAnLi4vY29uc3RzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJhc2VBcGlTZXJ2aWNlIHtcclxuICBwcm90ZWN0ZWQgYmFzZVVybDogc3RyaW5nO1xyXG4gIHByb3RlY3RlZCBqc29uVXJsOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSBDb25zdHMuQXBpVXJsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXJpYWxpemVQYXJhbXMoZGF0YT86IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZGF0YSA/ICgnPycgKyAkLnBhcmFtKGRhdGEpKSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgLy93ZWJBcGlcclxuICBwdWJsaWMgZ2V0PFQ+KGFjdGlvbjogU3RyaW5nLCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICB2YXIgdXJsID0gdGhpcy5iYXNlVXJsICsgYCR7YWN0aW9ufSR7dGhpcy5zZXJpYWxpemVQYXJhbXMoZGF0YSl9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcclxuICAgICAgbWFwKHJlcyA9PiA8VD5yZXMpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBvc3QoYWN0aW9uOiBTdHJpbmcsIGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdmFyIHVybCA9IHRoaXMuYmFzZVVybCArIGAke2FjdGlvbn1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwb3N0UVMoYWN0aW9uOiBTdHJpbmcsIGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdmFyIHVybCA9IHRoaXMuYmFzZVVybCArIGAke2FjdGlvbn0ke3RoaXMuc2VyaWFsaXplUGFyYW1zKGRhdGEpfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBudWxsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9nZXRzXHJcbiAgcHVibGljIGdldEFsbDxUPihkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxUW10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldCgnZ2V0YWxsJywgZGF0YSkucGlwZShcclxuICAgICAgbWFwKHJlcyA9PiA8VFtdPnJlcylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SnNvbkZpbGUoZmlsZU5hbWU6IHN0cmluZywganNvblZlcnNpb246IHN0cmluZyk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIGlmICghanNvblZlcnNpb24pIHtcclxuICAgICAgICBqc29uVmVyc2lvbiA9IFwiMS4wXCI7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHVybCA9IENvbnN0cy5Kc29uVXJsICsgZmlsZU5hbWUgKyAnPycgKyBqc29uVmVyc2lvbjtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcclxuICAgICAgbWFwKHJlcyA9PiA8YW55W10+cmVzKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXROZXdHdWlkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICB2YXIgdXJsID0gdGhpcy5iYXNlVXJsICsgJ2dldE5ld0d1aWQnO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9DUlVEIGZ1bmN0aW9uXHJcbiAgcHVibGljIGdldEJ5SWQ8VD4oaWQ6IGFueSk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0PFQ+KCdnZXRCeUlkJywgeyBpZDogaWQgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlKGlkOiBhbnkpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdFFTKCdyZW1vdmUnLCB7IGlkOiBpZCB9KTtcclxuICB9XHJcbn1cclxuIl19