@osovitny/anatoly 2.1.14 → 2.14.2

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 (168) hide show
  1. package/assets/styles/alerts.less +182 -0
  2. package/assets/styles/spinner.less +64 -0
  3. package/assets/styles/toastr.less +192 -0
  4. package/{esm2015/lib/core/consts/settings.js → esm2020/lib/core/consts/settings.mjs} +2 -2
  5. package/{esm2015/lib/core/convert.js → esm2020/lib/core/convert.mjs} +2 -2
  6. package/esm2020/lib/core/core.module.mjs +72 -0
  7. package/esm2020/lib/core/go/base-go.service.mjs +41 -0
  8. package/{esm2015/lib/core/guards/once-import.guard.js → esm2020/lib/core/guards/once-import.guard.mjs} +2 -2
  9. package/{esm2015/lib/core/guid.js → esm2020/lib/core/guid.mjs} +2 -2
  10. package/esm2020/lib/core/interceptors/httpInterceptor.mjs +108 -0
  11. package/esm2020/lib/core/localization/localization.module.mjs +47 -0
  12. package/esm2020/lib/core/localization/localization.service.mjs +185 -0
  13. package/esm2020/lib/core/localization/localizationSettings.module.mjs +88 -0
  14. package/esm2020/lib/core/localization/localize.pipe.mjs +78 -0
  15. package/{esm2015/lib/core/localization/utils.js → esm2020/lib/core/localization/utils.mjs} +2 -2
  16. package/esm2020/lib/core/logging/globalErrorHandler.mjs +44 -0
  17. package/esm2020/lib/core/logging/logging.service.mjs +39 -0
  18. package/{esm2015/lib/core/notifications/alerts.js → esm2020/lib/core/notifications/alerts.mjs} +2 -2
  19. package/{esm2015/lib/core/notifications/interfaces/notification.js → esm2020/lib/core/notifications/interfaces/notification.mjs} +2 -2
  20. package/esm2020/lib/core/notifications/services/notification-service.mjs +228 -0
  21. package/esm2020/lib/core/services/appcontext.service.mjs +118 -0
  22. package/esm2020/lib/core/services/dm.service.mjs +72 -0
  23. package/esm2020/lib/core/services/google-analytics.service.mjs +54 -0
  24. package/{esm2015/lib/core/services/idle.service.js → esm2020/lib/core/services/idle.service.mjs} +10 -8
  25. package/{esm2015/lib/core/services/loading.service.js → esm2020/lib/core/services/loading.service.mjs} +10 -9
  26. package/esm2020/lib/core/services/web-storage.service.mjs +69 -0
  27. package/{esm2015/lib/core/subs.js → esm2020/lib/core/subs.mjs} +2 -2
  28. package/esm2020/lib/core/utils.mjs +82 -0
  29. package/esm2020/lib/data/base/base-api.service.mjs +89 -0
  30. package/esm2020/lib/data/base/grid/base-grid-edit.service.mjs +77 -0
  31. package/esm2020/lib/data/base/grid/base-grid-read.service.mjs +62 -0
  32. package/{esm2015/lib/data/consts.js → esm2020/lib/data/consts.mjs} +2 -2
  33. package/esm2020/lib/data/data.module.mjs +51 -0
  34. package/esm2020/lib/data/services/billing-api.service.mjs +65 -0
  35. package/esm2020/lib/data/services/emails-api.service.mjs +42 -0
  36. package/esm2020/lib/data/services/notifications/notifications-api-service.mjs +43 -0
  37. package/esm2020/lib/ui/components/base-edit.component.mjs +143 -0
  38. package/esm2020/lib/ui/components/base.component.mjs +47 -0
  39. package/esm2020/lib/ui/components/base.dialog.mjs +49 -0
  40. package/esm2020/lib/ui/components/billing/buyaccess-button.component.mjs +69 -0
  41. package/esm2020/lib/ui/components/billing/subscribe-plan-button.component.mjs +63 -0
  42. package/esm2020/lib/ui/components/billing/upgrade-plan-button.component.mjs +52 -0
  43. package/esm2020/lib/ui/components/content-header/content-header.component.mjs +37 -0
  44. package/esm2020/lib/ui/components/html-editor/base-html-editor.component.mjs +111 -0
  45. package/esm2020/lib/ui/components/html-editor/forms-html-editor.component.mjs +48 -0
  46. package/esm2020/lib/ui/components/html-editor/html-editor.component.mjs +52 -0
  47. package/{esm2015/lib/ui/components/html-editor/html-editor.defaultoptions.js → esm2020/lib/ui/components/html-editor/html-editor.defaultoptions.mjs} +2 -2
  48. package/esm2020/lib/ui/components/identity/signin-button.component.mjs +32 -0
  49. package/esm2020/lib/ui/components/identity/signout-button.component.mjs +32 -0
  50. package/esm2020/lib/ui/components/identity/signup-button.component.mjs +31 -0
  51. package/esm2020/lib/ui/components/loading/loading.component.mjs +49 -0
  52. package/esm2020/lib/ui/components/spinner/spinner.component.mjs +74 -0
  53. package/esm2020/lib/ui/directives/native-element.directive.mjs +41 -0
  54. package/esm2020/lib/ui/forms/contact-us/contact-us.mjs +120 -0
  55. package/esm2020/lib/ui/pipes/filesize.pipe.mjs +45 -0
  56. package/esm2020/lib/ui/pipes/replace-text.pipe.mjs +40 -0
  57. package/esm2020/lib/ui/pipes/safeHtml.pipe.mjs +37 -0
  58. package/esm2020/lib/ui/ui.module.mjs +167 -0
  59. package/esm2020/lib/ui/validation/form-validation-summary.component.mjs +67 -0
  60. package/esm2020/lib/ui/validation/item-validation-summary.component.mjs +40 -0
  61. package/esm2020/lib/ui/validation/validation-summary.component.mjs +128 -0
  62. package/esm2020/public-api.mjs +68 -0
  63. package/fesm2015/osovitny-anatoly.mjs +3650 -0
  64. package/fesm2015/osovitny-anatoly.mjs.map +1 -0
  65. package/fesm2020/osovitny-anatoly.mjs +3658 -0
  66. package/fesm2020/osovitny-anatoly.mjs.map +1 -0
  67. package/{osovitny-anatoly.d.ts → index.d.ts} +1 -0
  68. package/lib/core/core.module.d.ts +5 -0
  69. package/lib/core/go/base-go.service.d.ts +3 -0
  70. package/lib/core/interceptors/httpInterceptor.d.ts +3 -0
  71. package/lib/core/localization/localization.module.d.ts +6 -0
  72. package/lib/core/localization/localization.service.d.ts +3 -0
  73. package/lib/core/localization/localizationSettings.module.d.ts +5 -0
  74. package/lib/core/localization/localize.pipe.d.ts +3 -0
  75. package/lib/core/logging/globalErrorHandler.d.ts +3 -0
  76. package/lib/core/logging/logging.service.d.ts +3 -0
  77. package/lib/core/notifications/services/notification-service.d.ts +3 -0
  78. package/lib/core/services/appcontext.service.d.ts +3 -0
  79. package/lib/core/services/dm.service.d.ts +3 -0
  80. package/lib/core/services/google-analytics.service.d.ts +3 -0
  81. package/lib/core/services/idle.service.d.ts +3 -0
  82. package/lib/core/services/loading.service.d.ts +3 -0
  83. package/lib/core/services/web-storage.service.d.ts +5 -0
  84. package/lib/data/base/base-api.service.d.ts +3 -0
  85. package/lib/data/base/grid/base-grid-edit.service.d.ts +3 -0
  86. package/lib/data/base/grid/base-grid-read.service.d.ts +3 -0
  87. package/lib/data/data.module.d.ts +5 -0
  88. package/lib/data/services/billing-api.service.d.ts +3 -0
  89. package/lib/data/services/emails-api.service.d.ts +10 -0
  90. package/lib/data/services/notifications/notifications-api-service.d.ts +3 -0
  91. package/lib/ui/components/base-edit.component.d.ts +5 -2
  92. package/lib/ui/components/base.component.d.ts +4 -1
  93. package/lib/ui/components/base.dialog.d.ts +3 -0
  94. package/lib/ui/components/billing/buyaccess-button.component.d.ts +5 -2
  95. package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +4 -1
  96. package/lib/ui/components/billing/upgrade-plan-button.component.d.ts +4 -1
  97. package/lib/ui/components/content-header/content-header.component.d.ts +3 -0
  98. package/lib/ui/components/html-editor/base-html-editor.component.d.ts +3 -0
  99. package/lib/ui/components/html-editor/forms-html-editor.component.d.ts +3 -0
  100. package/lib/ui/components/html-editor/html-editor.component.d.ts +3 -0
  101. package/lib/ui/components/identity/signin-button.component.d.ts +3 -0
  102. package/lib/ui/components/identity/signout-button.component.d.ts +3 -0
  103. package/lib/ui/components/identity/signup-button.component.d.ts +3 -0
  104. package/lib/ui/components/loading/loading.component.d.ts +4 -1
  105. package/lib/ui/components/spinner/spinner.component.d.ts +3 -0
  106. package/lib/ui/directives/native-element.directive.d.ts +3 -0
  107. package/lib/ui/forms/contact-us/contact-us.d.ts +33 -0
  108. package/lib/ui/pipes/filesize.pipe.d.ts +3 -0
  109. package/lib/ui/pipes/replace-text.pipe.d.ts +3 -0
  110. package/lib/ui/pipes/safeHtml.pipe.d.ts +3 -0
  111. package/lib/ui/ui.module.d.ts +26 -0
  112. package/lib/ui/validation/form-validation-summary.component.d.ts +3 -0
  113. package/lib/ui/validation/item-validation-summary.component.d.ts +3 -0
  114. package/lib/ui/validation/validation-summary.component.d.ts +3 -0
  115. package/package.json +23 -11
  116. package/public-api.d.ts +3 -2
  117. package/bundles/osovitny-anatoly.umd.js +0 -3700
  118. package/bundles/osovitny-anatoly.umd.js.map +0 -1
  119. package/esm2015/lib/core/core.module.js +0 -58
  120. package/esm2015/lib/core/go/base-go.service.js +0 -42
  121. package/esm2015/lib/core/interceptors/httpInterceptor.js +0 -109
  122. package/esm2015/lib/core/localization/localization.module.js +0 -41
  123. package/esm2015/lib/core/localization/localization.service.js +0 -187
  124. package/esm2015/lib/core/localization/localizationSettings.module.js +0 -78
  125. package/esm2015/lib/core/localization/localize.pipe.js +0 -78
  126. package/esm2015/lib/core/logging/globalErrorHandler.js +0 -44
  127. package/esm2015/lib/core/logging/logging.service.js +0 -38
  128. package/esm2015/lib/core/notifications/services/notification-service.js +0 -230
  129. package/esm2015/lib/core/services/appcontext.service.js +0 -119
  130. package/esm2015/lib/core/services/dm.service.js +0 -74
  131. package/esm2015/lib/core/services/google-analytics.service.js +0 -53
  132. package/esm2015/lib/core/services/web-storage.service.js +0 -66
  133. package/esm2015/lib/core/utils.js +0 -81
  134. package/esm2015/lib/data/base/base-api.service.js +0 -89
  135. package/esm2015/lib/data/base/grid/base-grid-edit.service.js +0 -77
  136. package/esm2015/lib/data/base/grid/base-grid-read.service.js +0 -62
  137. package/esm2015/lib/data/data.module.js +0 -43
  138. package/esm2015/lib/data/services/billing-api.service.js +0 -65
  139. package/esm2015/lib/data/services/notifications/notifications-api-service.js +0 -45
  140. package/esm2015/lib/ui/components/base-edit.component.js +0 -142
  141. package/esm2015/lib/ui/components/base.component.js +0 -43
  142. package/esm2015/lib/ui/components/base.dialog.js +0 -47
  143. package/esm2015/lib/ui/components/billing/buyaccess-button.component.js +0 -71
  144. package/esm2015/lib/ui/components/billing/subscribe-plan-button.component.js +0 -63
  145. package/esm2015/lib/ui/components/billing/upgrade-plan-button.component.js +0 -54
  146. package/esm2015/lib/ui/components/content-header/content-header.component.js +0 -37
  147. package/esm2015/lib/ui/components/html-editor/base-html-editor.component.js +0 -108
  148. package/esm2015/lib/ui/components/html-editor/forms-html-editor.component.js +0 -44
  149. package/esm2015/lib/ui/components/html-editor/html-editor.component.js +0 -51
  150. package/esm2015/lib/ui/components/identity/signin-button.component.js +0 -33
  151. package/esm2015/lib/ui/components/identity/signout-button.component.js +0 -33
  152. package/esm2015/lib/ui/components/identity/signup-button.component.js +0 -31
  153. package/esm2015/lib/ui/components/loading/loading.component.js +0 -49
  154. package/esm2015/lib/ui/components/spinner/spinner.component.js +0 -73
  155. package/esm2015/lib/ui/directives/native-element.directive.js +0 -41
  156. package/esm2015/lib/ui/pipes/filesize.pipe.js +0 -41
  157. package/esm2015/lib/ui/pipes/replace-text.pipe.js +0 -36
  158. package/esm2015/lib/ui/pipes/safeHtml.pipe.js +0 -36
  159. package/esm2015/lib/ui/ui.module.js +0 -105
  160. package/esm2015/lib/ui/validation/form-validation-summary.component.js +0 -64
  161. package/esm2015/lib/ui/validation/item-validation-summary.component.js +0 -38
  162. package/esm2015/lib/ui/validation/validation-summary.component.js +0 -126
  163. package/esm2015/public-api.js +0 -62
  164. package/fesm2015/osovitny-anatoly.js +0 -3434
  165. package/fesm2015/osovitny-anatoly.js.map +0 -1
  166. package/osovitny-anatoly.metadata.json +0 -1
  167. /package/{esm2015/lib/core/consts/urls.js → esm2020/lib/core/consts/urls.mjs} +0 -0
  168. /package/{esm2015/osovitny-anatoly.js → esm2020/osovitny-anatoly.mjs} +0 -0
@@ -0,0 +1,65 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny
8
+ Anatoly Osovitny
9
+
10
+ Created:
11
+ 12 Nov 2017
12
+
13
+ Version:
14
+ 1.0
15
+
16
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
17
+ </file>
18
+ */
19
+ //Node
20
+ import { Injectable } from "@angular/core";
21
+ //App
22
+ import { BaseApiService } from "../base/base-api.service";
23
+ import { consts } from '../consts';
24
+ import * as i0 from "@angular/core";
25
+ import * as i1 from "@angular/common/http";
26
+ export class BillingApiService extends BaseApiService {
27
+ constructor(http) {
28
+ super(http);
29
+ this.http = http;
30
+ this.baseUrl = consts.billingApiPath;
31
+ }
32
+ requestNewSubscription(requestedPlan, success, error) {
33
+ this.postQS("requestNewSubscription", { requestedPlan: requestedPlan }).subscribe((data) => {
34
+ if (success)
35
+ success();
36
+ }, (e) => {
37
+ if (error)
38
+ error();
39
+ });
40
+ }
41
+ cancelRequestedSubscription(success, error) {
42
+ this.postQS("cancelRequestedSubscription", null).subscribe((data) => {
43
+ if (success)
44
+ success();
45
+ }, (e) => {
46
+ if (error)
47
+ error();
48
+ });
49
+ }
50
+ buyAccess(requestedPlan, success, error) {
51
+ this.postQS("buyAccess", { requestedPlan: requestedPlan }).subscribe((data) => {
52
+ if (success)
53
+ success();
54
+ }, (e) => {
55
+ if (error)
56
+ error();
57
+ });
58
+ }
59
+ }
60
+ BillingApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BillingApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
61
+ BillingApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BillingApiService });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BillingApiService, decorators: [{
63
+ type: Injectable
64
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL3NlcnZpY2VzL2JpbGxpbmctYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsS0FBSztBQUNMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFHbkMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFDbkQsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUVNLHNCQUFzQixDQUFDLGFBQXFCLEVBQUUsT0FBa0IsRUFBRSxLQUFnQjtRQUN2RixJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUMvRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1AsSUFBSSxPQUFPO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ0osSUFBSSxLQUFLO2dCQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLDJCQUEyQixDQUFDLE9BQWtCLEVBQUUsS0FBZ0I7UUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQ3hELENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDUCxJQUFJLE9BQU87Z0JBQUUsT0FBTyxFQUFFLENBQUM7UUFDekIsQ0FBQyxFQUNELENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDSixJQUFJLEtBQUs7Z0JBQUUsS0FBSyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sU0FBUyxDQUFDLGFBQXFCLEVBQUUsT0FBa0IsRUFBRSxLQUFnQjtRQUMxRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FDbEUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNQLElBQUksT0FBTztnQkFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6QixDQUFDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNKLElBQUksS0FBSztnQkFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7OzhHQXJDVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTIgTm92IDIwMTdcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vYmFzZS9iYXNlLWFwaS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IGNvbnN0cyB9IGZyb20gJy4uL2NvbnN0cyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCaWxsaW5nQXBpU2VydmljZSBleHRlbmRzIEJhc2VBcGlTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSBjb25zdHMuYmlsbGluZ0FwaVBhdGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVxdWVzdE5ld1N1YnNjcmlwdGlvbihyZXF1ZXN0ZWRQbGFuOiBOdW1iZXIsIHN1Y2Nlc3M/OiBGdW5jdGlvbiwgZXJyb3I/OiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5wb3N0UVMoXCJyZXF1ZXN0TmV3U3Vic2NyaXB0aW9uXCIsIHsgcmVxdWVzdGVkUGxhbjogcmVxdWVzdGVkUGxhbiB9KS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHN1Y2Nlc3MpIHN1Y2Nlc3MoKTtcclxuICAgICAgfSxcclxuICAgICAgKGUpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3IpIGVycm9yKCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsUmVxdWVzdGVkU3Vic2NyaXB0aW9uKHN1Y2Nlc3M/OiBGdW5jdGlvbiwgZXJyb3I/OiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5wb3N0UVMoXCJjYW5jZWxSZXF1ZXN0ZWRTdWJzY3JpcHRpb25cIiwgbnVsbCkuc3Vic2NyaWJlKFxyXG4gICAgICAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChzdWNjZXNzKSBzdWNjZXNzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSBlcnJvcigpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJ1eUFjY2VzcyhyZXF1ZXN0ZWRQbGFuOiBOdW1iZXIsIHN1Y2Nlc3M/OiBGdW5jdGlvbiwgZXJyb3I/OiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5wb3N0UVMoXCJidXlBY2Nlc3NcIiwgeyByZXF1ZXN0ZWRQbGFuOiByZXF1ZXN0ZWRQbGFuIH0pLnN1YnNjcmliZShcclxuICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoc3VjY2Vzcykgc3VjY2VzcygpO1xyXG4gICAgICB9LFxyXG4gICAgICAoZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvcikgZXJyb3IoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,42 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny
8
+ Anatoly Osovitny
9
+
10
+ Created:
11
+ 16 Jun 2022
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ //Node
17
+ import { Injectable } from "@angular/core";
18
+ //App
19
+ import { BaseApiService } from "@data/base/base-api.service";
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "@angular/common/http";
22
+ export class EmailsApiService extends BaseApiService {
23
+ constructor(http) {
24
+ super(http);
25
+ this.http = http;
26
+ }
27
+ sendContactUs(captcha, name, email, topic, subject, message, success, error) {
28
+ return this.post('sendContactUs', { captcha, name, email, topic, subject, message }).subscribe(data => {
29
+ if (success)
30
+ success(data);
31
+ }, e => {
32
+ if (error)
33
+ error(e);
34
+ });
35
+ }
36
+ }
37
+ EmailsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ EmailsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService, decorators: [{
40
+ type: Injectable
41
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWxzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2RhdGEvc2VydmljZXMvZW1haWxzLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsS0FBSztBQUNMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRzdELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxjQUFjO0lBQ2xELFlBQXNCLElBQWdCO1FBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVk7SUFFdEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFrQixFQUFFLEtBQWdCO1FBQy9GLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUM1RixJQUFJLENBQUMsRUFBRTtZQUNMLElBQUksT0FBTztnQkFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxFQUNELENBQUMsQ0FBQyxFQUFFO1lBQ0YsSUFBSSxLQUFLO2dCQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7OzZHQWRVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNiBKdW4gMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUFwaVNlcnZpY2UgfSBmcm9tIFwiQGRhdGEvYmFzZS9iYXNlLWFwaS5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFbWFpbHNBcGlTZXJ2aWNlIGV4dGVuZHMgQmFzZUFwaVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICB9XHJcblxyXG4gIHNlbmRDb250YWN0VXMoY2FwdGNoYSwgbmFtZSwgZW1haWwsIHRvcGljLCBzdWJqZWN0LCBtZXNzYWdlLCBzdWNjZXNzPzogRnVuY3Rpb24sIGVycm9yPzogRnVuY3Rpb24pIHtcclxuICAgIHJldHVybiB0aGlzLnBvc3QoJ3NlbmRDb250YWN0VXMnLCB7IGNhcHRjaGEsIG5hbWUsIGVtYWlsLCB0b3BpYywgc3ViamVjdCwgbWVzc2FnZSB9KS5zdWJzY3JpYmUoXHJcbiAgICAgIGRhdGEgPT4ge1xyXG4gICAgICAgIGlmIChzdWNjZXNzKSBzdWNjZXNzKGRhdGEpO1xyXG4gICAgICB9LFxyXG4gICAgICBlID0+IHtcclxuICAgICAgICBpZiAoZXJyb3IpIGVycm9yKGUpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,43 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny
8
+ Anatoly Osovitny
9
+
10
+ Created:
11
+ 30 April 2020
12
+
13
+ Version:
14
+ 1.0
15
+
16
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
17
+ </file>
18
+ */
19
+ // Node
20
+ import { Injectable } from '@angular/core';
21
+ import { BaseApiService } from '../../base/base-api.service';
22
+ import { consts } from '../../consts';
23
+ import * as i0 from "@angular/core";
24
+ import * as i1 from "@angular/common/http";
25
+ export class NotificationsApiService extends BaseApiService {
26
+ constructor(http) {
27
+ super(http);
28
+ this.http = http;
29
+ this.baseUrl = consts.notificationsApiPath;
30
+ }
31
+ retrieveNotifications() {
32
+ return this.get('retrieveNotifications');
33
+ }
34
+ }
35
+ NotificationsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NotificationsApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ NotificationsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NotificationsApiService, providedIn: 'root' });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NotificationsApiService, decorators: [{
38
+ type: Injectable,
39
+ args: [{
40
+ providedIn: 'root'
41
+ }]
42
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1hcGktc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1hcGktc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixPQUFPO0FBQ1AsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVF6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBS3RDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxjQUFjO0lBQ3pELFlBQXNCLElBQWdCO1FBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVk7UUFFcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUM7SUFDN0MsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMzQyxDQUFDOztvSEFSVSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAzMCBBcHJpbCAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vLyBOb2RlXHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuLy8gUnhKU1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gQXBwXHJcbmltcG9ydCB7IElOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9jb3JlL25vdGlmaWNhdGlvbnMvaW50ZXJmYWNlcy9ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBCYXNlQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IGNvbnN0cyB9IGZyb20gJy4uLy4uL2NvbnN0cyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zQXBpU2VydmljZSBleHRlbmRzIEJhc2VBcGlTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSBjb25zdHMubm90aWZpY2F0aW9uc0FwaVBhdGg7XHJcbiAgfVxyXG5cclxuICByZXRyaWV2ZU5vdGlmaWNhdGlvbnMoKTogT2JzZXJ2YWJsZTxJTm90aWZpY2F0aW9uW10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldCgncmV0cmlldmVOb3RpZmljYXRpb25zJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,143 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny
8
+ Anatoly Osovitny
9
+
10
+ Created:
11
+ 20 Nov 2017
12
+
13
+ Version:
14
+ 1.0
15
+
16
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
17
+ </file>
18
+ */
19
+ //Node
20
+ import { Component, Input } from "@angular/core";
21
+ import { FormControl, } from "@angular/forms";
22
+ //App
23
+ import { BaseComponent } from "./base.component";
24
+ import { Utils } from "@core/utils";
25
+ import * as i0 from "@angular/core";
26
+ export class BaseEditComponent extends BaseComponent {
27
+ constructor() {
28
+ super();
29
+ this.formSubmitted = false;
30
+ }
31
+ isActionAdding() {
32
+ var id = Utils.getValueByNameInQS("id");
33
+ if (typeof id === "undefined" || id == "")
34
+ return true;
35
+ return false;
36
+ }
37
+ getEntityId() {
38
+ return this.getQSId();
39
+ }
40
+ isControlValid(name, frmGroup = null) {
41
+ return !this.isControlInvalid(name, frmGroup);
42
+ }
43
+ isControlInvalid(name, frmGroup = null) {
44
+ if (typeof name === "undefined" || name == "") {
45
+ return false;
46
+ }
47
+ let fg = frmGroup ? frmGroup : this.formGroup;
48
+ if (!fg) {
49
+ return false;
50
+ }
51
+ if (fg.get(name)) {
52
+ return ((this.formSubmitted && fg.get(name).invalid) ||
53
+ (fg.get(name).touched && fg.get(name).invalid));
54
+ }
55
+ return false;
56
+ }
57
+ //FormGroup functions
58
+ getFormValue(name, frmGroup = null) {
59
+ let fg = frmGroup ? frmGroup : this.formGroup;
60
+ return fg.controls[name].value;
61
+ }
62
+ setFormValue(name, value, frmGroup = null) {
63
+ let fg = frmGroup ? frmGroup : this.formGroup;
64
+ fg.controls[name].setValue(value);
65
+ }
66
+ getFormGroupValue(groupName, name, frmGroup = null) {
67
+ let fg = frmGroup ? frmGroup : this.formGroup;
68
+ return fg.controls[groupName].get(name).value;
69
+ }
70
+ setFormGroupValue(groupName, name, value, frmGroup = null) {
71
+ let fg = frmGroup ? frmGroup : this.formGroup;
72
+ fg.controls[groupName].get(name).setValue(value);
73
+ }
74
+ /**
75
+ * Add control to form group
76
+ * @param name
77
+ * @param formControl
78
+ * @param formGroup
79
+ */
80
+ addControl(name, formControl, frmGroup = null) {
81
+ let fg = frmGroup ? frmGroup : this.formGroup;
82
+ fg.addControl(name, formControl);
83
+ }
84
+ /**
85
+ * Removes control from form group
86
+ * @param name
87
+ * @param formGroup
88
+ */
89
+ removeControl(name, frmGroup = null) {
90
+ let fg = frmGroup ? frmGroup : this.formGroup;
91
+ if (fg.get(name)) {
92
+ fg.removeControl(name);
93
+ }
94
+ }
95
+ /**
96
+ * return new form control
97
+ * @param formState
98
+ * @param validatorOrOpts
99
+ * @param asyncValidator
100
+ */
101
+ createFormControl(formState, validatorOrOpts, asyncValidator) {
102
+ return new FormControl(formState, validatorOrOpts, asyncValidator);
103
+ }
104
+ /**
105
+ * Set error to control
106
+ * @param controlName formControl name
107
+ * @param err error expect {erroname: boolean} format
108
+ * @param formGroup Specific form group. default it will apply on this.formGroup property
109
+ */
110
+ setControlError(controlName, err, frmGroup = null) {
111
+ let fg = frmGroup ? frmGroup : this.formGroup;
112
+ fg.get(controlName)?.setErrors(err);
113
+ }
114
+ /**
115
+ * Set {invalid: true} for the specified form
116
+ * @param controlName form control name
117
+ * @param formGroup
118
+ */
119
+ setInValidError(controlName, frmGroup = null) {
120
+ let fg = frmGroup ? frmGroup : this.formGroup;
121
+ fg.get(controlName)?.setErrors({ invalid: true });
122
+ }
123
+ /**
124
+ * returns formgroup controls.
125
+ * main use case is used in html pages
126
+ */
127
+ get fc() {
128
+ return this.formGroup.controls;
129
+ }
130
+ }
131
+ BaseEditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BaseEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
132
+ BaseEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: BaseEditComponent, selector: "ng-component", inputs: { formGroup: "formGroup", formSubmitted: "formSubmitted" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BaseEditComponent, decorators: [{
134
+ type: Component,
135
+ args: [{
136
+ template: ''
137
+ }]
138
+ }], ctorParameters: function () { return []; }, propDecorators: { formGroup: [{
139
+ type: Input
140
+ }], formSubmitted: [{
141
+ type: Input
142
+ }] } });
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2Jhc2UtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFHTCxXQUFXLEdBSVosTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBS3BDLE1BQU0sT0FBZ0IsaUJBQWtCLFNBQVEsYUFBYTtJQUkzRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBSEQsa0JBQWEsR0FBWSxLQUFLLENBQUM7SUFJeEMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxPQUFPLEVBQUUsS0FBSyxXQUFXLElBQUksRUFBRSxJQUFJLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV2RCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsV0FBc0IsSUFBSTtRQUNyRCxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLFdBQXNCLElBQUk7UUFDdkQsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNQLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEIsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDNUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUMvQyxDQUFDO1NBQ0g7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsWUFBWSxDQUFDLElBQUksRUFBRSxXQUFzQixJQUFJO1FBQzNDLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQXNCLElBQUk7UUFDbEQsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBc0IsSUFBSTtRQUMzRCxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBc0IsSUFBSTtRQUNsRSxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUNSLElBQVksRUFDWixXQUE0QixFQUM1QixXQUFzQixJQUFJO1FBRTFCLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLElBQVksRUFBRSxXQUFzQixJQUFJO1FBQ3BELElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRTlDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQixFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQ2YsU0FBZSxFQUNmLGVBSVEsRUFDUixjQUE2RDtRQUU3RCxPQUFPLElBQUksV0FBVyxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLFdBQW1CLEVBQUUsR0FBTyxFQUFFLFdBQXNCLElBQUk7UUFDdEUsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsV0FBbUIsRUFBRSxXQUFzQixJQUFJO1FBQzdELElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQzs7OEdBekltQixpQkFBaUI7a0dBQWpCLGlCQUFpQiwrSUFGM0IsRUFBRTsyRkFFUSxpQkFBaUI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7MEVBRVUsU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjAgTm92IDIwMTdcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBGb3JtR3JvdXAsXHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIFZhbGlkYXRvckZuLFxyXG4gIEFic3RyYWN0Q29udHJvbE9wdGlvbnMsXHJcbiAgQXN5bmNWYWxpZGF0b3JGbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi9iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gXCJAY29yZS91dGlsc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRWRpdENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm1TdWJtaXR0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgaXNBY3Rpb25BZGRpbmcoKSB7XHJcbiAgICB2YXIgaWQgPSBVdGlscy5nZXRWYWx1ZUJ5TmFtZUluUVMoXCJpZFwiKTtcclxuICAgIGlmICh0eXBlb2YgaWQgPT09IFwidW5kZWZpbmVkXCIgfHwgaWQgPT0gXCJcIikgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0RW50aXR5SWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRRU0lkKCk7XHJcbiAgfVxyXG5cclxuICBpc0NvbnRyb2xWYWxpZChuYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNDb250cm9sSW52YWxpZChuYW1lLCBmcm1Hcm91cCk7XHJcbiAgfVxyXG5cclxuICBpc0NvbnRyb2xJbnZhbGlkKG5hbWU6IHN0cmluZywgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gXCJ1bmRlZmluZWRcIiB8fCBuYW1lID09IFwiXCIpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGlmICghZmcpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmZy5nZXQobmFtZSkpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICAodGhpcy5mb3JtU3VibWl0dGVkICYmIGZnLmdldChuYW1lKS5pbnZhbGlkKSB8fFxyXG4gICAgICAgIChmZy5nZXQobmFtZSkudG91Y2hlZCAmJiBmZy5nZXQobmFtZSkuaW52YWxpZClcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvL0Zvcm1Hcm91cCBmdW5jdGlvbnNcclxuICBnZXRGb3JtVmFsdWUobmFtZSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIHJldHVybiBmZy5jb250cm9sc1tuYW1lXS52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldEZvcm1WYWx1ZShuYW1lLCB2YWx1ZSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmNvbnRyb2xzW25hbWVdLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1Hcm91cFZhbHVlKGdyb3VwTmFtZSwgbmFtZSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIHJldHVybiBmZy5jb250cm9sc1tncm91cE5hbWVdLmdldChuYW1lKS52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldEZvcm1Hcm91cFZhbHVlKGdyb3VwTmFtZSwgbmFtZSwgdmFsdWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5jb250cm9sc1tncm91cE5hbWVdLmdldChuYW1lKS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgY29udHJvbCB0byBmb3JtIGdyb3VwXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gZm9ybUNvbnRyb2xcclxuICAgKiBAcGFyYW0gZm9ybUdyb3VwXHJcbiAgICovXHJcbiAgYWRkQ29udHJvbChcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2wsXHJcbiAgICBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbFxyXG4gICkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgZmcuYWRkQ29udHJvbChuYW1lLCBmb3JtQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIGNvbnRyb2wgZnJvbSBmb3JtIGdyb3VwXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gZm9ybUdyb3VwXHJcbiAgICovXHJcbiAgcmVtb3ZlQ29udHJvbChuYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcblxyXG4gICAgaWYgKGZnLmdldChuYW1lKSkge1xyXG4gICAgICBmZy5yZW1vdmVDb250cm9sKG5hbWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV0dXJuIG5ldyBmb3JtIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gZm9ybVN0YXRlXHJcbiAgICogQHBhcmFtIHZhbGlkYXRvck9yT3B0c1xyXG4gICAqIEBwYXJhbSBhc3luY1ZhbGlkYXRvclxyXG4gICAqL1xyXG4gIGNyZWF0ZUZvcm1Db250cm9sKFxyXG4gICAgZm9ybVN0YXRlPzogYW55LFxyXG4gICAgdmFsaWRhdG9yT3JPcHRzPzpcclxuICAgICAgfCBWYWxpZGF0b3JGblxyXG4gICAgICB8IFZhbGlkYXRvckZuW11cclxuICAgICAgfCBBYnN0cmFjdENvbnRyb2xPcHRpb25zXHJcbiAgICAgIHwgbnVsbCxcclxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGxcclxuICApIHtcclxuICAgIHJldHVybiBuZXcgRm9ybUNvbnRyb2woZm9ybVN0YXRlLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBlcnJvciB0byBjb250cm9sXHJcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIGZvcm1Db250cm9sIG5hbWVcclxuICAgKiBAcGFyYW0gZXJyIGVycm9yIGV4cGVjdCB7ZXJyb25hbWU6IGJvb2xlYW59IGZvcm1hdFxyXG4gICAqIEBwYXJhbSBmb3JtR3JvdXAgU3BlY2lmaWMgZm9ybSBncm91cC4gZGVmYXVsdCBpdCB3aWxsIGFwcGx5IG9uIHRoaXMuZm9ybUdyb3VwIHByb3BlcnR5XHJcbiAgICovXHJcbiAgc2V0Q29udHJvbEVycm9yKGNvbnRyb2xOYW1lOiBzdHJpbmcsIGVycjoge30sIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5nZXQoY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoZXJyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB7aW52YWxpZDogdHJ1ZX0gZm9yIHRoZSBzcGVjaWZpZWQgZm9ybVxyXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSBmb3JtIGNvbnRyb2wgbmFtZVxyXG4gICAqIEBwYXJhbSBmb3JtR3JvdXBcclxuICAgKi9cclxuICBzZXRJblZhbGlkRXJyb3IoY29udHJvbE5hbWU6IHN0cmluZywgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmdldChjb250cm9sTmFtZSk/LnNldEVycm9ycyh7IGludmFsaWQ6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiByZXR1cm5zIGZvcm1ncm91cCBjb250cm9scy5cclxuICAgKiBtYWluIHVzZSBjYXNlIGlzIHVzZWQgaW4gaHRtbCBwYWdlc1xyXG4gICAqL1xyXG4gIGdldCBmYygpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5jb250cm9scztcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,47 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny
8
+ Anatoly Osovitny
9
+
10
+ Created:
11
+ 28 Aug 2018
12
+
13
+ Version:
14
+ 1.0
15
+
16
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
17
+ </file>
18
+ */
19
+ //Node
20
+ import { Component } from "@angular/core";
21
+ //App
22
+ import { Utils } from "@core/utils";
23
+ import { Subs } from "@core/subs";
24
+ import * as i0 from "@angular/core";
25
+ export class BaseComponent {
26
+ constructor() {
27
+ this.subs = new Subs();
28
+ }
29
+ getQSId() {
30
+ var id = Utils.getValueByNameInQS("id");
31
+ if (typeof id === "undefined" || id == "")
32
+ return null;
33
+ return id;
34
+ }
35
+ ngOnDestroy() {
36
+ this.subs.unsubscribe();
37
+ }
38
+ }
39
+ BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: BaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BaseComponent, decorators: [{
42
+ type: Component,
43
+ args: [{
44
+ template: ''
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQUtsQyxNQUFNLE9BQWdCLGFBQWE7SUFIbkM7UUFJWSxTQUFJLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztLQVluQztJQVZDLE9BQU87UUFDTCxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxPQUFPLEVBQUUsS0FBSyxXQUFXLElBQUksRUFBRSxJQUFJLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV2RCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDOzswR0FabUIsYUFBYTs4RkFBYixhQUFhLG9EQUZ2QixFQUFFOzJGQUVRLGFBQWE7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyOCBBdWcgMjAxOFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSBcIkBjb3JlL3V0aWxzXCI7XHJcbmltcG9ydCB7IFN1YnMgfSBmcm9tIFwiQGNvcmUvc3Vic1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcm90ZWN0ZWQgc3ViczogU3VicyA9IG5ldyBTdWJzKCk7XHJcblxyXG4gIGdldFFTSWQoKSB7XHJcbiAgICB2YXIgaWQgPSBVdGlscy5nZXRWYWx1ZUJ5TmFtZUluUVMoXCJpZFwiKTtcclxuICAgIGlmICh0eXBlb2YgaWQgPT09IFwidW5kZWZpbmVkXCIgfHwgaWQgPT0gXCJcIikgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgcmV0dXJuIGlkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1YnMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,49 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny
8
+ Anatoly Osovitny
9
+
10
+ Created:
11
+ 24 Jan 2022
12
+
13
+ Version:
14
+ 1.0
15
+
16
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
17
+ </file>
18
+ */
19
+ //Node
20
+ import { Component, Input } from "@angular/core";
21
+ //App
22
+ import { BaseEditComponent } from "./base-edit.component";
23
+ import * as i0 from "@angular/core";
24
+ export class BaseDialog extends BaseEditComponent {
25
+ constructor() {
26
+ super();
27
+ this._opened = false;
28
+ }
29
+ get opened() {
30
+ return this._opened;
31
+ }
32
+ open() {
33
+ this._opened = true;
34
+ }
35
+ close() {
36
+ this._opened = false;
37
+ }
38
+ }
39
+ BaseDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BaseDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ BaseDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: BaseDialog, selector: "ng-component", inputs: { opened: "opened" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BaseDialog, decorators: [{
42
+ type: Component,
43
+ args: [{
44
+ template: ''
45
+ }]
46
+ }], ctorParameters: function () { return []; }, propDecorators: { opened: [{
47
+ type: Input
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlLmRpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsS0FBSztBQUNMLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUsxRCxNQUFNLE9BQWdCLFVBQVcsU0FBUSxpQkFBaUI7SUFReEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVJGLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFTeEIsQ0FBQztJQVBELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBTUQsSUFBSTtRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQzs7dUdBbEJtQixVQUFVOzJGQUFWLFVBQVUseUdBRnBCLEVBQUU7MkZBRVEsVUFBVTtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFLSyxNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNCBKYW4gMjAyMlxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUVkaXRDb21wb25lbnQgfSBmcm9tIFwiLi9iYXNlLWVkaXQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VEaWFsb2cgZXh0ZW5kcyBCYXNlRWRpdENvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBfb3BlbmVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG9wZW5lZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9vcGVuZWQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuKCkge1xyXG4gICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcclxuICB9XHJcbiAgXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLl9vcGVuZWQgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,69 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny
8
+ Anatoly Osovitny
9
+
10
+ Created:
11
+ 14 Aug 2018
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ // Node
17
+ import { Component, Input } from '@angular/core';
18
+ import { Alerts } from '@core/notifications/alerts';
19
+ import * as i0 from "@angular/core";
20
+ import * as i1 from "@core/services/appcontext.service";
21
+ import * as i2 from "@data/services/billing-api.service";
22
+ import * as i3 from "@angular/common";
23
+ import * as i4 from "../identity/signup-button.component";
24
+ export class BuyAccessButtonComponent {
25
+ constructor(appContext, api) {
26
+ this.appContext = appContext;
27
+ this.api = api;
28
+ this.contextUpdated = false;
29
+ this.isUserSignedIn = false;
30
+ this.currentPlan = 0;
31
+ this.currentPlanTitle = '';
32
+ }
33
+ ngOnInit() {
34
+ if (!this.appContext.isUserSignedIn()) {
35
+ this.contextUpdated = true;
36
+ return;
37
+ }
38
+ this.appContext.getCurrent((current) => {
39
+ this.isUserSignedIn = current.isUserSignedIn;
40
+ if (this.isUserSignedIn) {
41
+ this.currentPlan = current.account.billingPlan;
42
+ this.currentPlanTitle = current.account.billingPlanAsString;
43
+ }
44
+ this.contextUpdated = true;
45
+ });
46
+ }
47
+ onBuyPlan() {
48
+ const text = `Requested plan: ${this.plantitle} `;
49
+ const that = this;
50
+ Alerts.areYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {
51
+ that.api.buyAccess(that.plan, () => {
52
+ Alerts.success('Access Granted', null, null, () => {
53
+ window.location.reload();
54
+ });
55
+ });
56
+ });
57
+ }
58
+ }
59
+ BuyAccessButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BuyAccessButtonComponent, deps: [{ token: i1.AppContextService }, { token: i2.BillingApiService }], target: i0.ɵɵFactoryTarget.Component });
60
+ BuyAccessButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: BuyAccessButtonComponent, selector: "anatoly-buyaccess-button", inputs: { plan: "plan", plantitle: "plantitle" }, ngImport: i0, template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"plan != currentPlan && currentPlan == 1\" (click)=\"onBuyPlan()\">\r\n Buy Now\r\n </button>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SignUpButtonComponent, selector: "anatoly-signup-button", inputs: ["classbtn"] }] });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BuyAccessButtonComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ selector: 'anatoly-buyaccess-button', template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"plan != currentPlan && currentPlan == 1\" (click)=\"onBuyPlan()\">\r\n Buy Now\r\n </button>\r\n </div>\r\n</div>\r\n" }]
64
+ }], ctorParameters: function () { return [{ type: i1.AppContextService }, { type: i2.BillingApiService }]; }, propDecorators: { plan: [{
65
+ type: Input
66
+ }], plantitle: [{
67
+ type: Input
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmlsbGluZy9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBS3ZELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBTWxELE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDVSxVQUE2QixFQUM3QixHQUFzQjtRQUR0QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVZ6QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFVN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2FBQzdEO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sSUFBSSxHQUFHLG1CQUFtQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7UUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ3hFLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxFQUFFO29CQUM5QyxNQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztxSEE3Q1Usd0JBQXdCO3lHQUF4Qix3QkFBd0Isa0hDNUJyQyxraUJBZUE7MkZEYWEsd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLDBCQUEwQjt3SUFTM0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAxOFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy8gQXBwXHJcbmltcG9ydCB7QXBwQ29udGV4dFNlcnZpY2V9IGZyb20gJ0Bjb3JlL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7QmlsbGluZ0FwaVNlcnZpY2V9IGZyb20gJ0BkYXRhL3NlcnZpY2VzL2JpbGxpbmctYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FsZXJ0c30gZnJvbSAnQGNvcmUvbm90aWZpY2F0aW9ucy9hbGVydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWJ1eWFjY2Vzcy1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1eUFjY2Vzc0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGNvbnRleHRVcGRhdGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGlzVXNlclNpZ25lZEluID0gZmFsc2U7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuID0gMDtcclxuICBwdWJsaWMgY3VycmVudFBsYW5UaXRsZSA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBwbGFuOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcGxhbnRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcHBDb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpOiBCaWxsaW5nQXBpU2VydmljZVxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmFwcENvbnRleHQuaXNVc2VyU2lnbmVkSW4oKSkge1xyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwQ29udGV4dC5nZXRDdXJyZW50KChjdXJyZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNVc2VyU2lnbmVkSW4gPSBjdXJyZW50LmlzVXNlclNpZ25lZEluO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuID0gY3VycmVudC5hY2NvdW50LmJpbGxpbmdQbGFuO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW5UaXRsZSA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25CdXlQbGFuKCkge1xyXG4gICAgY29uc3QgdGV4dCA9IGBSZXF1ZXN0ZWQgcGxhbjogJHt0aGlzLnBsYW50aXRsZX0gYDtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG5cclxuICAgIEFsZXJ0cy5hcmVZb3VTdXJlKHRleHQsICdCdXlpbmcgYWNjZXNzJywgJ0NvbmZpcm0gY2hhbmdlJywgJ0NhbmNlbCcsICgpID0+IHtcclxuICAgICAgdGhhdC5hcGkuYnV5QWNjZXNzKHRoYXQucGxhbiwgKCkgPT4ge1xyXG4gICAgICAgIEFsZXJ0cy5zdWNjZXNzKCdBY2Nlc3MgR3JhbnRlZCcsIG51bGwsIG51bGwsKCkgPT4ge1xyXG4gICAgICAgICAgKHdpbmRvdyBhcyBhbnkpLmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiY29udGV4dFVwZGF0ZWRcIj5cclxuICA8ZGl2ICpuZ0lmPVwiIWlzVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YW5hdG9seS1zaWdudXAtYnV0dG9uIGNsYXNzYnRuPVwiYnRuIGJ0bi1ibG9jayBidG4tcHJpbWFyeVwiPjwvYW5hdG9seS1zaWdudXAtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiaXNVc2VyU2lnbmVkSW5cIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJsb2NrIGJ0bi1zdWNjZXNzIHNlbGVjdFBsYW5cIiAqbmdJZj1cInBsYW4gPT0gY3VycmVudFBsYW5cIj5cclxuICAgICAgWW91ciBQbGFuXHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayAgYnRuLXdhcm5pbmcgc2VsZWN0UGxhblwiICpuZ0lmPVwicGxhbiAhPSBjdXJyZW50UGxhbiAmJiBjdXJyZW50UGxhbiA9PSAxXCIgKGNsaWNrKT1cIm9uQnV5UGxhbigpXCI+XHJcbiAgICAgIEJ1eSBOb3dcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,63 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny
8
+ Anatoly Osovitny
9
+
10
+ Created:
11
+ 1 Jun 2018
12
+
13
+ Version:
14
+ 1.0
15
+
16
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
17
+ </file>
18
+ */
19
+ // Node
20
+ import { Component, Input } from "@angular/core";
21
+ import * as i0 from "@angular/core";
22
+ import * as i1 from "@core/services/appcontext.service";
23
+ import * as i2 from "@angular/common";
24
+ import * as i3 from "./upgrade-plan-button.component";
25
+ import * as i4 from "../identity/signup-button.component";
26
+ export class SubscribePlanButtonComponent {
27
+ constructor(appcontext) {
28
+ this.appcontext = appcontext;
29
+ this.contextUpdated = false;
30
+ this.isUserSignedIn = false;
31
+ this.currentPlan = 0;
32
+ this.currentPlanTitle = "";
33
+ this.requestedPlan = 0;
34
+ this.requestedPlanTitle = "";
35
+ }
36
+ ngOnInit() {
37
+ if (!this.appcontext.isUserSignedIn()) {
38
+ this.contextUpdated = true;
39
+ return;
40
+ }
41
+ this.appcontext.getCurrent((current) => {
42
+ this.isUserSignedIn = current.isUserSignedIn;
43
+ if (this.isUserSignedIn) {
44
+ this.currentPlan = current.account.billingPlan;
45
+ this.currentPlanTitle = current.account.billingPlanAsString;
46
+ this.requestedPlan = current.account.requestedBillingPlan;
47
+ this.requestedPlanTitle = current.account.requestedBillingPlanAsString;
48
+ }
49
+ this.contextUpdated = true;
50
+ });
51
+ }
52
+ }
53
+ SubscribePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SubscribePlanButtonComponent, deps: [{ token: i1.AppContextService }], target: i0.ɵɵFactoryTarget.Component });
54
+ SubscribePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SubscribePlanButtonComponent, selector: "anatoly-subscribe-plan-button", inputs: { plan: "plan", plantitle: "plantitle" }, ngImport: i0, template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"requestedPlan != null && requestedPlan != 0 && plan == requestedPlan\">\r\n Requested\r\n </button>\r\n\r\n <anatoly-upgrade-plan-button *ngIf=\"plan != currentPlan && plan != requestedPlan\"\r\n [currentplantitle]=\"currentPlanTitle\"\r\n [requestedplan]=plan\r\n [requestedplantitle]=\"plantitle\">\r\n </anatoly-upgrade-plan-button>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.UpgradePlanButtonComponent, selector: "anatoly-upgrade-plan-button", inputs: ["currentplantitle", "requestedplan", "requestedplantitle"] }, { kind: "component", type: i4.SignUpButtonComponent, selector: "anatoly-signup-button", inputs: ["classbtn"] }] });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SubscribePlanButtonComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: "anatoly-subscribe-plan-button", template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"requestedPlan != null && requestedPlan != 0 && plan == requestedPlan\">\r\n Requested\r\n </button>\r\n\r\n <anatoly-upgrade-plan-button *ngIf=\"plan != currentPlan && plan != requestedPlan\"\r\n [currentplantitle]=\"currentPlanTitle\"\r\n [requestedplan]=plan\r\n [requestedplantitle]=\"plantitle\">\r\n </anatoly-upgrade-plan-button>\r\n </div>\r\n</div>\r\n" }]
58
+ }], ctorParameters: function () { return [{ type: i1.AppContextService }]; }, propDecorators: { plan: [{
59
+ type: Input
60
+ }], plantitle: [{
61
+ type: Input
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2JpbGxpbmcvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2JpbGxpbmcvc3Vic2NyaWJlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU3pELE1BQU0sT0FBTyw0QkFBNEI7SUFXdkMsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFWMUMsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUtxQixDQUFDO0lBRXJELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2dCQUM1RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUM7Z0JBQzFELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt5SEEvQlUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsdUhDN0J6QywyM0JBcUJBOzJGRFFhLDRCQUE0QjtrQkFKeEMsU0FBUzsrQkFDRSwrQkFBK0I7d0dBV2hDLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMSBKdW4gMjAxOFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQXBwXHJcbmltcG9ydCB7IEFwcENvbnRleHRTZXJ2aWNlIH0gZnJvbSBcIkBjb3JlL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYW5hdG9seS1zdWJzY3JpYmUtcGxhbi1idXR0b25cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3N1YnNjcmliZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3Vic2NyaWJlUGxhbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGNvbnRleHRVcGRhdGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGlzVXNlclNpZ25lZEluID0gZmFsc2U7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuID0gMDtcclxuICBwdWJsaWMgY3VycmVudFBsYW5UaXRsZSA9IFwiXCI7XHJcbiAgcHVibGljIHJlcXVlc3RlZFBsYW4gPSAwO1xyXG4gIHB1YmxpYyByZXF1ZXN0ZWRQbGFuVGl0bGUgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKSBwbGFuOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcGxhbnRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwY29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmFwcGNvbnRleHQuaXNVc2VyU2lnbmVkSW4oKSkge1xyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwY29udGV4dC5nZXRDdXJyZW50KChjdXJyZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNVc2VyU2lnbmVkSW4gPSBjdXJyZW50LmlzVXNlclNpZ25lZEluO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuID0gY3VycmVudC5hY2NvdW50LmJpbGxpbmdQbGFuO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW5UaXRsZSA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICAgIHRoaXMucmVxdWVzdGVkUGxhbiA9IGN1cnJlbnQuYWNjb3VudC5yZXF1ZXN0ZWRCaWxsaW5nUGxhbjtcclxuICAgICAgICB0aGlzLnJlcXVlc3RlZFBsYW5UaXRsZSA9IGN1cnJlbnQuYWNjb3VudC5yZXF1ZXN0ZWRCaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiY29udGV4dFVwZGF0ZWRcIj5cclxuICA8ZGl2ICpuZ0lmPVwiIWlzVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YW5hdG9seS1zaWdudXAtYnV0dG9uIGNsYXNzYnRuPVwiYnRuIGJ0bi1ibG9jayBidG4tcHJpbWFyeVwiPjwvYW5hdG9seS1zaWdudXAtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiaXNVc2VyU2lnbmVkSW5cIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWJsb2NrIGJ0bi1zdWNjZXNzIHNlbGVjdFBsYW5cIiAqbmdJZj1cInBsYW4gPT0gY3VycmVudFBsYW5cIj5cclxuICAgICAgWW91ciBQbGFuXHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayAgYnRuLXdhcm5pbmcgc2VsZWN0UGxhblwiICpuZ0lmPVwicmVxdWVzdGVkUGxhbiAhPSBudWxsICYmIHJlcXVlc3RlZFBsYW4gIT0gMCAmJiBwbGFuID09IHJlcXVlc3RlZFBsYW5cIj5cclxuICAgICAgUmVxdWVzdGVkXHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YW5hdG9seS11cGdyYWRlLXBsYW4tYnV0dG9uICpuZ0lmPVwicGxhbiAhPSBjdXJyZW50UGxhbiAmJiBwbGFuICE9IHJlcXVlc3RlZFBsYW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VycmVudHBsYW50aXRsZV09XCJjdXJyZW50UGxhblRpdGxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVlc3RlZHBsYW5dPXBsYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVlc3RlZHBsYW50aXRsZV09XCJwbGFudGl0bGVcIj5cclxuICAgIDwvYW5hdG9seS11cGdyYWRlLXBsYW4tYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19