@osovitny/anatoly 2.1.13 → 2.14.1

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 (164) 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/esm2020/lib/core/convert.mjs +62 -0
  5. package/esm2020/lib/core/core.module.mjs +72 -0
  6. package/esm2020/lib/core/go/base-go.service.mjs +41 -0
  7. package/esm2020/lib/core/guid.mjs +22 -0
  8. package/esm2020/lib/core/interceptors/httpInterceptor.mjs +108 -0
  9. package/esm2020/lib/core/localization/localization.module.mjs +47 -0
  10. package/esm2020/lib/core/localization/localization.service.mjs +185 -0
  11. package/esm2020/lib/core/localization/localizationSettings.module.mjs +88 -0
  12. package/esm2020/lib/core/localization/localize.pipe.mjs +78 -0
  13. package/esm2020/lib/core/logging/globalErrorHandler.mjs +44 -0
  14. package/esm2020/lib/core/logging/logging.service.mjs +39 -0
  15. package/esm2020/lib/core/notifications/services/notification-service.mjs +228 -0
  16. package/esm2020/lib/core/services/appcontext.service.mjs +118 -0
  17. package/esm2020/lib/core/services/dm.service.mjs +72 -0
  18. package/esm2020/lib/core/services/google-analytics.service.mjs +54 -0
  19. package/{esm2015/lib/core/services/idle.service.js → esm2020/lib/core/services/idle.service.mjs} +9 -7
  20. package/{esm2015/lib/core/services/loading.service.js → esm2020/lib/core/services/loading.service.mjs} +9 -8
  21. package/esm2020/lib/core/services/web-storage.service.mjs +69 -0
  22. package/esm2020/lib/core/subs.mjs +31 -0
  23. package/esm2020/lib/core/utils.mjs +82 -0
  24. package/esm2020/lib/data/base/base-api.service.mjs +89 -0
  25. package/esm2020/lib/data/base/grid/base-grid-edit.service.mjs +77 -0
  26. package/esm2020/lib/data/base/grid/base-grid-read.service.mjs +62 -0
  27. package/esm2020/lib/data/data.module.mjs +51 -0
  28. package/esm2020/lib/data/services/billing-api.service.mjs +65 -0
  29. package/esm2020/lib/data/services/notifications/notifications-api-service.mjs +43 -0
  30. package/esm2020/lib/ui/components/base-edit.component.mjs +143 -0
  31. package/esm2020/lib/ui/components/base.component.mjs +47 -0
  32. package/esm2020/lib/ui/components/base.dialog.mjs +49 -0
  33. package/esm2020/lib/ui/components/billing/buyaccess-button.component.mjs +69 -0
  34. package/esm2020/lib/ui/components/billing/subscribe-plan-button.component.mjs +63 -0
  35. package/esm2020/lib/ui/components/billing/upgrade-plan-button.component.mjs +53 -0
  36. package/esm2020/lib/ui/components/content-header/content-header.component.mjs +37 -0
  37. package/esm2020/lib/ui/components/html-editor/base-html-editor.component.mjs +111 -0
  38. package/esm2020/lib/ui/components/html-editor/forms-html-editor.component.mjs +48 -0
  39. package/esm2020/lib/ui/components/html-editor/html-editor.component.mjs +52 -0
  40. package/esm2020/lib/ui/components/identity/signin-button.component.mjs +32 -0
  41. package/esm2020/lib/ui/components/identity/signout-button.component.mjs +32 -0
  42. package/esm2020/lib/ui/components/identity/signup-button.component.mjs +31 -0
  43. package/esm2020/lib/ui/components/loading/loading.component.mjs +48 -0
  44. package/esm2020/lib/ui/components/spinner/spinner.component.mjs +74 -0
  45. package/esm2020/lib/ui/directives/native-element.directive.mjs +41 -0
  46. package/esm2020/lib/ui/pipes/filesize.pipe.mjs +45 -0
  47. package/esm2020/lib/ui/pipes/replace-text.pipe.mjs +40 -0
  48. package/esm2020/lib/ui/pipes/safeHtml.pipe.mjs +37 -0
  49. package/esm2020/lib/ui/ui.module.mjs +155 -0
  50. package/esm2020/lib/ui/validation/form-validation-summary.component.mjs +66 -0
  51. package/esm2020/lib/ui/validation/item-validation-summary.component.mjs +39 -0
  52. package/esm2020/lib/ui/validation/validation-summary.component.mjs +128 -0
  53. package/fesm2015/{osovitny-anatoly.js → osovitny-anatoly.mjs} +823 -765
  54. package/fesm2015/osovitny-anatoly.mjs.map +1 -0
  55. package/fesm2020/osovitny-anatoly.mjs +3496 -0
  56. package/fesm2020/osovitny-anatoly.mjs.map +1 -0
  57. package/{osovitny-anatoly.d.ts → index.d.ts} +1 -0
  58. package/lib/core/core.module.d.ts +5 -0
  59. package/lib/core/go/base-go.service.d.ts +3 -0
  60. package/lib/core/interceptors/httpInterceptor.d.ts +3 -0
  61. package/lib/core/localization/localization.module.d.ts +6 -0
  62. package/lib/core/localization/localization.service.d.ts +3 -0
  63. package/lib/core/localization/localizationSettings.module.d.ts +5 -0
  64. package/lib/core/localization/localize.pipe.d.ts +3 -0
  65. package/lib/core/logging/globalErrorHandler.d.ts +3 -0
  66. package/lib/core/logging/logging.service.d.ts +3 -0
  67. package/lib/core/notifications/services/notification-service.d.ts +3 -0
  68. package/lib/core/services/appcontext.service.d.ts +5 -2
  69. package/lib/core/services/dm.service.d.ts +3 -0
  70. package/lib/core/services/google-analytics.service.d.ts +3 -0
  71. package/lib/core/services/idle.service.d.ts +3 -0
  72. package/lib/core/services/loading.service.d.ts +3 -0
  73. package/lib/core/services/web-storage.service.d.ts +5 -0
  74. package/lib/data/base/base-api.service.d.ts +3 -0
  75. package/lib/data/base/grid/base-grid-edit.service.d.ts +3 -0
  76. package/lib/data/base/grid/base-grid-read.service.d.ts +3 -0
  77. package/lib/data/data.module.d.ts +5 -0
  78. package/lib/data/services/billing-api.service.d.ts +3 -0
  79. package/lib/data/services/notifications/notifications-api-service.d.ts +3 -0
  80. package/lib/ui/components/base-edit.component.d.ts +5 -2
  81. package/lib/ui/components/base.component.d.ts +3 -0
  82. package/lib/ui/components/base.dialog.d.ts +3 -0
  83. package/lib/ui/components/billing/buyaccess-button.component.d.ts +3 -0
  84. package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +3 -0
  85. package/lib/ui/components/billing/upgrade-plan-button.component.d.ts +3 -0
  86. package/lib/ui/components/content-header/content-header.component.d.ts +3 -0
  87. package/lib/ui/components/html-editor/base-html-editor.component.d.ts +3 -0
  88. package/lib/ui/components/html-editor/forms-html-editor.component.d.ts +3 -0
  89. package/lib/ui/components/html-editor/html-editor.component.d.ts +3 -0
  90. package/lib/ui/components/identity/signin-button.component.d.ts +3 -0
  91. package/lib/ui/components/identity/signout-button.component.d.ts +3 -0
  92. package/lib/ui/components/identity/signup-button.component.d.ts +3 -0
  93. package/lib/ui/components/loading/loading.component.d.ts +3 -0
  94. package/lib/ui/components/spinner/spinner.component.d.ts +3 -0
  95. package/lib/ui/directives/native-element.directive.d.ts +3 -0
  96. package/lib/ui/pipes/filesize.pipe.d.ts +3 -0
  97. package/lib/ui/pipes/replace-text.pipe.d.ts +3 -0
  98. package/lib/ui/pipes/safeHtml.pipe.d.ts +3 -0
  99. package/lib/ui/ui.module.d.ts +24 -0
  100. package/lib/ui/validation/form-validation-summary.component.d.ts +3 -0
  101. package/lib/ui/validation/item-validation-summary.component.d.ts +3 -0
  102. package/lib/ui/validation/validation-summary.component.d.ts +3 -0
  103. package/package.json +23 -11
  104. package/bundles/osovitny-anatoly.umd.js +0 -3696
  105. package/bundles/osovitny-anatoly.umd.js.map +0 -1
  106. package/esm2015/lib/core/convert.js +0 -65
  107. package/esm2015/lib/core/core.module.js +0 -43
  108. package/esm2015/lib/core/go/base-go.service.js +0 -42
  109. package/esm2015/lib/core/guid.js +0 -25
  110. package/esm2015/lib/core/interceptors/httpInterceptor.js +0 -109
  111. package/esm2015/lib/core/localization/localization.module.js +0 -41
  112. package/esm2015/lib/core/localization/localization.service.js +0 -187
  113. package/esm2015/lib/core/localization/localizationSettings.module.js +0 -78
  114. package/esm2015/lib/core/localization/localize.pipe.js +0 -78
  115. package/esm2015/lib/core/logging/globalErrorHandler.js +0 -44
  116. package/esm2015/lib/core/logging/logging.service.js +0 -38
  117. package/esm2015/lib/core/notifications/services/notification-service.js +0 -230
  118. package/esm2015/lib/core/services/appcontext.service.js +0 -118
  119. package/esm2015/lib/core/services/dm.service.js +0 -74
  120. package/esm2015/lib/core/services/google-analytics.service.js +0 -53
  121. package/esm2015/lib/core/services/web-storage.service.js +0 -66
  122. package/esm2015/lib/core/subs.js +0 -34
  123. package/esm2015/lib/core/utils.js +0 -84
  124. package/esm2015/lib/data/base/base-api.service.js +0 -89
  125. package/esm2015/lib/data/base/grid/base-grid-edit.service.js +0 -77
  126. package/esm2015/lib/data/base/grid/base-grid-read.service.js +0 -62
  127. package/esm2015/lib/data/data.module.js +0 -43
  128. package/esm2015/lib/data/services/billing-api.service.js +0 -65
  129. package/esm2015/lib/data/services/notifications/notifications-api-service.js +0 -45
  130. package/esm2015/lib/ui/components/base-edit.component.js +0 -142
  131. package/esm2015/lib/ui/components/base.component.js +0 -43
  132. package/esm2015/lib/ui/components/base.dialog.js +0 -47
  133. package/esm2015/lib/ui/components/billing/buyaccess-button.component.js +0 -71
  134. package/esm2015/lib/ui/components/billing/subscribe-plan-button.component.js +0 -63
  135. package/esm2015/lib/ui/components/billing/upgrade-plan-button.component.js +0 -54
  136. package/esm2015/lib/ui/components/content-header/content-header.component.js +0 -37
  137. package/esm2015/lib/ui/components/html-editor/base-html-editor.component.js +0 -108
  138. package/esm2015/lib/ui/components/html-editor/forms-html-editor.component.js +0 -44
  139. package/esm2015/lib/ui/components/html-editor/html-editor.component.js +0 -51
  140. package/esm2015/lib/ui/components/identity/signin-button.component.js +0 -33
  141. package/esm2015/lib/ui/components/identity/signout-button.component.js +0 -33
  142. package/esm2015/lib/ui/components/identity/signup-button.component.js +0 -31
  143. package/esm2015/lib/ui/components/loading/loading.component.js +0 -49
  144. package/esm2015/lib/ui/components/spinner/spinner.component.js +0 -73
  145. package/esm2015/lib/ui/directives/native-element.directive.js +0 -41
  146. package/esm2015/lib/ui/pipes/filesize.pipe.js +0 -41
  147. package/esm2015/lib/ui/pipes/replace-text.pipe.js +0 -36
  148. package/esm2015/lib/ui/pipes/safeHtml.pipe.js +0 -36
  149. package/esm2015/lib/ui/ui.module.js +0 -105
  150. package/esm2015/lib/ui/validation/form-validation-summary.component.js +0 -64
  151. package/esm2015/lib/ui/validation/item-validation-summary.component.js +0 -38
  152. package/esm2015/lib/ui/validation/validation-summary.component.js +0 -126
  153. package/fesm2015/osovitny-anatoly.js.map +0 -1
  154. package/osovitny-anatoly.metadata.json +0 -1
  155. /package/{esm2015/lib/core/consts/settings.js → esm2020/lib/core/consts/settings.mjs} +0 -0
  156. /package/{esm2015/lib/core/consts/urls.js → esm2020/lib/core/consts/urls.mjs} +0 -0
  157. /package/{esm2015/lib/core/guards/once-import.guard.js → esm2020/lib/core/guards/once-import.guard.mjs} +0 -0
  158. /package/{esm2015/lib/core/localization/utils.js → esm2020/lib/core/localization/utils.mjs} +0 -0
  159. /package/{esm2015/lib/core/notifications/alerts.js → esm2020/lib/core/notifications/alerts.mjs} +0 -0
  160. /package/{esm2015/lib/core/notifications/interfaces/notification.js → esm2020/lib/core/notifications/interfaces/notification.mjs} +0 -0
  161. /package/{esm2015/lib/data/consts.js → esm2020/lib/data/consts.mjs} +0 -0
  162. /package/{esm2015/lib/ui/components/html-editor/html-editor.defaultoptions.js → esm2020/lib/ui/components/html-editor/html-editor.defaultoptions.mjs} +0 -0
  163. /package/{esm2015/osovitny-anatoly.js → esm2020/osovitny-anatoly.mjs} +0 -0
  164. /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
@@ -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-2021 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.5", ngImport: i0, type: NotificationsApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ NotificationsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NotificationsApiService, providedIn: 'root' });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1hcGktc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1hcGktc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixPQUFPO0FBQ1AsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVF6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBS3RDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxjQUFjO0lBQ3pELFlBQXNCLElBQWdCO1FBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVk7UUFFcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUM7SUFDN0MsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMzQyxDQUFDOztvSEFSVSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAzMCBBcHJpbCAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+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-2021 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.5", ngImport: i0, type: BaseEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
132
+ BaseEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", 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.5", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2Jhc2UtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFHTCxXQUFXLEdBSVosTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLekMsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxhQUFhO0lBSTNEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFIRCxrQkFBYSxHQUFZLEtBQUssQ0FBQztJQUl4QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLE9BQU8sRUFBRSxLQUFLLFdBQVcsSUFBSSxFQUFFLElBQUksRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXZELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVksRUFBRSxXQUFzQixJQUFJO1FBQ3JELE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsV0FBc0IsSUFBSTtRQUN2RCxJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFO1lBQzdDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1AsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUM1QyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQy9DLENBQUM7U0FDSDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHFCQUFxQjtJQUNyQixZQUFZLENBQUMsSUFBSSxFQUFFLFdBQXNCLElBQUk7UUFDM0MsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBc0IsSUFBSTtRQUNsRCxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFzQixJQUFJO1FBQzNELElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFzQixJQUFJO1FBQ2xFLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQ1IsSUFBWSxFQUNaLFdBQTRCLEVBQzVCLFdBQXNCLElBQUk7UUFFMUIsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsSUFBWSxFQUFFLFdBQXNCLElBQUk7UUFDcEQsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFOUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hCLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FDZixTQUFlLEVBQ2YsZUFJUSxFQUNSLGNBQTZEO1FBRTdELE9BQU8sSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsV0FBbUIsRUFBRSxHQUFPLEVBQUUsV0FBc0IsSUFBSTtRQUN0RSxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxXQUFtQixFQUFFLFdBQXNCLElBQUk7UUFDN0QsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDOzs4R0F6SW1CLGlCQUFpQjtrR0FBakIsaUJBQWlCLCtJQUYzQixFQUFFOzJGQUVRLGlCQUFpQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFFVSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyMCBOb3YgMjAxN1xyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm1Hcm91cCxcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgVmFsaWRhdG9yRm4sXHJcbiAgQWJzdHJhY3RDb250cm9sT3B0aW9ucyxcclxuICBBc3luY1ZhbGlkYXRvckZuLFxyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gXCIuL2Jhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSBcIi4uLy4uL2NvcmUvdXRpbHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUVkaXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBmb3JtU3VibWl0dGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGlzQWN0aW9uQWRkaW5nKCkge1xyXG4gICAgdmFyIGlkID0gVXRpbHMuZ2V0VmFsdWVCeU5hbWVJblFTKFwiaWRcIik7XHJcbiAgICBpZiAodHlwZW9mIGlkID09PSBcInVuZGVmaW5lZFwiIHx8IGlkID09IFwiXCIpIHJldHVybiB0cnVlO1xyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldEVudGl0eUlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0UVNJZCgpO1xyXG4gIH1cclxuXHJcbiAgaXNDb250cm9sVmFsaWQobmFtZTogc3RyaW5nLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzQ29udHJvbEludmFsaWQobmFtZSwgZnJtR3JvdXApO1xyXG4gIH1cclxuXHJcbiAgaXNDb250cm9sSW52YWxpZChuYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBpZiAodHlwZW9mIG5hbWUgPT09IFwidW5kZWZpbmVkXCIgfHwgbmFtZSA9PSBcIlwiKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBpZiAoIWZnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmcuZ2V0KG5hbWUpKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgKHRoaXMuZm9ybVN1Ym1pdHRlZCAmJiBmZy5nZXQobmFtZSkuaW52YWxpZCkgfHxcclxuICAgICAgICAoZmcuZ2V0KG5hbWUpLnRvdWNoZWQgJiYgZmcuZ2V0KG5hbWUpLmludmFsaWQpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy9Gb3JtR3JvdXAgZnVuY3Rpb25zXHJcbiAgZ2V0Rm9ybVZhbHVlKG5hbWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICByZXR1cm4gZmcuY29udHJvbHNbbmFtZV0udmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtVmFsdWUobmFtZSwgdmFsdWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5jb250cm9sc1tuYW1lXS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRGb3JtR3JvdXBWYWx1ZShncm91cE5hbWUsIG5hbWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICByZXR1cm4gZmcuY29udHJvbHNbZ3JvdXBOYW1lXS5nZXQobmFtZSkudmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtR3JvdXBWYWx1ZShncm91cE5hbWUsIG5hbWUsIHZhbHVlLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgZmcuY29udHJvbHNbZ3JvdXBOYW1lXS5nZXQobmFtZSkuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGNvbnRyb2wgdG8gZm9ybSBncm91cFxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIGZvcm1Db250cm9sXHJcbiAgICogQHBhcmFtIGZvcm1Hcm91cFxyXG4gICAqL1xyXG4gIGFkZENvbnRyb2woXHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sLFxyXG4gICAgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGxcclxuICApIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmFkZENvbnRyb2wobmFtZSwgZm9ybUNvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyBjb250cm9sIGZyb20gZm9ybSBncm91cFxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIGZvcm1Hcm91cFxyXG4gICAqL1xyXG4gIHJlbW92ZUNvbnRyb2wobmFtZTogc3RyaW5nLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG5cclxuICAgIGlmIChmZy5nZXQobmFtZSkpIHtcclxuICAgICAgZmcucmVtb3ZlQ29udHJvbChuYW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHJldHVybiBuZXcgZm9ybSBjb250cm9sXHJcbiAgICogQHBhcmFtIGZvcm1TdGF0ZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0b3JPck9wdHNcclxuICAgKiBAcGFyYW0gYXN5bmNWYWxpZGF0b3JcclxuICAgKi9cclxuICBjcmVhdGVGb3JtQ29udHJvbChcclxuICAgIGZvcm1TdGF0ZT86IGFueSxcclxuICAgIHZhbGlkYXRvck9yT3B0cz86XHJcbiAgICAgIHwgVmFsaWRhdG9yRm5cclxuICAgICAgfCBWYWxpZGF0b3JGbltdXHJcbiAgICAgIHwgQWJzdHJhY3RDb250cm9sT3B0aW9uc1xyXG4gICAgICB8IG51bGwsXHJcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sKGZvcm1TdGF0ZSwgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgZXJyb3IgdG8gY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSBmb3JtQ29udHJvbCBuYW1lXHJcbiAgICogQHBhcmFtIGVyciBlcnJvciBleHBlY3Qge2Vycm9uYW1lOiBib29sZWFufSBmb3JtYXRcclxuICAgKiBAcGFyYW0gZm9ybUdyb3VwIFNwZWNpZmljIGZvcm0gZ3JvdXAuIGRlZmF1bHQgaXQgd2lsbCBhcHBseSBvbiB0aGlzLmZvcm1Hcm91cCBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIHNldENvbnRyb2xFcnJvcihjb250cm9sTmFtZTogc3RyaW5nLCBlcnI6IHt9LCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgZmcuZ2V0KGNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKGVycik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQge2ludmFsaWQ6IHRydWV9IGZvciB0aGUgc3BlY2lmaWVkIGZvcm1cclxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgZm9ybSBjb250cm9sIG5hbWVcclxuICAgKiBAcGFyYW0gZm9ybUdyb3VwXHJcbiAgICovXHJcbiAgc2V0SW5WYWxpZEVycm9yKGNvbnRyb2xOYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5nZXQoY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoeyBpbnZhbGlkOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV0dXJucyBmb3JtZ3JvdXAgY29udHJvbHMuXHJcbiAgICogbWFpbiB1c2UgY2FzZSBpcyB1c2VkIGluIGh0bWwgcGFnZXNcclxuICAgKi9cclxuICBnZXQgZmMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuY29udHJvbHM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -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-2021 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.5", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: BaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BaseComponent, decorators: [{
42
+ type: Component,
43
+ args: [{
44
+ template: ''
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFLdkMsTUFBTSxPQUFnQixhQUFhO0lBSG5DO1FBSVksU0FBSSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7S0FZbkM7SUFWQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTyxFQUFFLEtBQUssV0FBVyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFdkQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7MEdBWm1CLGFBQWE7OEZBQWIsYUFBYSxvREFGdkIsRUFBRTsyRkFFUSxhQUFhO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjggQXVnIDIwMThcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gXCIuLi8uLi9jb3JlL3V0aWxzXCI7XHJcbmltcG9ydCB7IFN1YnMgfSBmcm9tIFwiLi4vLi4vY29yZS9zdWJzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByb3RlY3RlZCBzdWJzOiBTdWJzID0gbmV3IFN1YnMoKTtcclxuXHJcbiAgZ2V0UVNJZCgpIHtcclxuICAgIHZhciBpZCA9IFV0aWxzLmdldFZhbHVlQnlOYW1lSW5RUyhcImlkXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBpZCA9PT0gXCJ1bmRlZmluZWRcIiB8fCBpZCA9PSBcIlwiKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -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.5", ngImport: i0, type: BaseDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ BaseDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", 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.5", 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-2021 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.5", 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.5", 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.5", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV5YWNjZXNzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL2J1eWFjY2Vzcy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmlsbGluZy9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBS3ZELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7O0FBTTFELE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDVSxVQUE2QixFQUM3QixHQUFzQjtRQUR0QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVZ6QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFVN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUU3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2FBQzdEO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sSUFBSSxHQUFHLG1CQUFtQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7UUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ3hFLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxFQUFFO29CQUM5QyxNQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztxSEE3Q1Usd0JBQXdCO3lHQUF4Qix3QkFBd0Isa0hDNUJyQyxraUJBZUE7MkZEYWEsd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLDBCQUEwQjt3SUFTM0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAxOFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy8gQXBwXHJcbmltcG9ydCB7QXBwQ29udGV4dFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHtCaWxsaW5nQXBpU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZGF0YS9zZXJ2aWNlcy9iaWxsaW5nLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHtBbGVydHN9IGZyb20gJy4uLy4uLy4uL2NvcmUvbm90aWZpY2F0aW9ucy9hbGVydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWJ1eWFjY2Vzcy1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXlhY2Nlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1eUFjY2Vzc0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGNvbnRleHRVcGRhdGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGlzVXNlclNpZ25lZEluID0gZmFsc2U7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuID0gMDtcclxuICBwdWJsaWMgY3VycmVudFBsYW5UaXRsZSA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBwbGFuOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcGxhbnRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcHBDb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpOiBCaWxsaW5nQXBpU2VydmljZVxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmFwcENvbnRleHQuaXNVc2VyU2lnbmVkSW4oKSkge1xyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwQ29udGV4dC5nZXRDdXJyZW50KChjdXJyZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNVc2VyU2lnbmVkSW4gPSBjdXJyZW50LmlzVXNlclNpZ25lZEluO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNVc2VyU2lnbmVkSW4pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuID0gY3VycmVudC5hY2NvdW50LmJpbGxpbmdQbGFuO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBsYW5UaXRsZSA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbkFzU3RyaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHRVcGRhdGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25CdXlQbGFuKCkge1xyXG4gICAgY29uc3QgdGV4dCA9IGBSZXF1ZXN0ZWQgcGxhbjogJHt0aGlzLnBsYW50aXRsZX0gYDtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG5cclxuICAgIEFsZXJ0cy5hcmVZb3VTdXJlKHRleHQsICdCdXlpbmcgYWNjZXNzJywgJ0NvbmZpcm0gY2hhbmdlJywgJ0NhbmNlbCcsICgpID0+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-2021 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.5", ngImport: i0, type: SubscribePlanButtonComponent, deps: [{ token: i1.AppContextService }], target: i0.ɵɵFactoryTarget.Component });
54
+ SubscribePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", 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.5", 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+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMSBKdW4gMjAxOFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gU2VydmljZXNcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFuYXRvbHktc3Vic2NyaWJlLXBsYW4tYnV0dG9uXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9zdWJzY3JpYmUtcGxhbi1idXR0b24uY29tcG9uZW50Lmh0bWxcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1YnNjcmliZVBsYW5CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBjb250ZXh0VXBkYXRlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc1VzZXJTaWduZWRJbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjdXJyZW50UGxhbiA9IDA7XHJcbiAgcHVibGljIGN1cnJlbnRQbGFuVGl0bGUgPSBcIlwiO1xyXG4gIHB1YmxpYyByZXF1ZXN0ZWRQbGFuID0gMDtcclxuICBwdWJsaWMgcmVxdWVzdGVkUGxhblRpdGxlID0gXCJcIjtcclxuXHJcbiAgQElucHV0KCkgcGxhbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHBsYW50aXRsZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcGNvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5hcHBjb250ZXh0LmlzVXNlclNpZ25lZEluKCkpIHtcclxuICAgICAgdGhpcy5jb250ZXh0VXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcGNvbnRleHQuZ2V0Q3VycmVudCgoY3VycmVudCkgPT4ge1xyXG4gICAgICB0aGlzLmlzVXNlclNpZ25lZEluID0gY3VycmVudC5pc1VzZXJTaWduZWRJbjtcclxuXHJcbiAgICAgIGlmICh0aGlzLmlzVXNlclNpZ25lZEluKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UGxhbiA9IGN1cnJlbnQuYWNjb3VudC5iaWxsaW5nUGxhbjtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQbGFuVGl0bGUgPSBjdXJyZW50LmFjY291bnQuYmlsbGluZ1BsYW5Bc1N0cmluZztcclxuICAgICAgICB0aGlzLnJlcXVlc3RlZFBsYW4gPSBjdXJyZW50LmFjY291bnQucmVxdWVzdGVkQmlsbGluZ1BsYW47XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0ZWRQbGFuVGl0bGUgPSBjdXJyZW50LmFjY291bnQucmVxdWVzdGVkQmlsbGluZ1BsYW5Bc1N0cmluZztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jb250ZXh0VXBkYXRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImNvbnRleHRVcGRhdGVkXCI+XHJcbiAgPGRpdiAqbmdJZj1cIiFpc1VzZXJTaWduZWRJblwiPlxyXG4gICAgPGFuYXRvbHktc2lnbnVwLWJ1dHRvbiBjbGFzc2J0bj1cImJ0biBidG4tYmxvY2sgYnRuLXByaW1hcnlcIj48L2FuYXRvbHktc2lnbnVwLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImlzVXNlclNpZ25lZEluXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayBidG4tc3VjY2VzcyBzZWxlY3RQbGFuXCIgKm5nSWY9XCJwbGFuID09IGN1cnJlbnRQbGFuXCI+XHJcbiAgICAgIFlvdXIgUGxhblxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tYmxvY2sgIGJ0bi13YXJuaW5nIHNlbGVjdFBsYW5cIiAqbmdJZj1cInJlcXVlc3RlZFBsYW4gIT0gbnVsbCAmJiByZXF1ZXN0ZWRQbGFuICE9IDAgJiYgcGxhbiA9PSByZXF1ZXN0ZWRQbGFuXCI+XHJcbiAgICAgIFJlcXVlc3RlZFxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGFuYXRvbHktdXBncmFkZS1wbGFuLWJ1dHRvbiAqbmdJZj1cInBsYW4gIT0gY3VycmVudFBsYW4gJiYgcGxhbiAhPSByZXF1ZXN0ZWRQbGFuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1cnJlbnRwbGFudGl0bGVdPVwiY3VycmVudFBsYW5UaXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1ZXN0ZWRwbGFuXT1wbGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1ZXN0ZWRwbGFudGl0bGVdPVwicGxhbnRpdGxlXCI+XHJcbiAgICA8L2FuYXRvbHktdXBncmFkZS1wbGFuLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,53 @@
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-2021 Osovitny Inc. All rights reserved.
17
+ </file>
18
+ */
19
+ // Node
20
+ import { Component, Input } from '@angular/core';
21
+ import { Alerts } from '../../../core/notifications/alerts';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "../../../data/services/billing-api.service";
24
+ // Services
25
+ export class UpgradePlanButtonComponent {
26
+ constructor(api) {
27
+ this.api = api;
28
+ }
29
+ onUpgradePlan() {
30
+ const text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;
31
+ const that = this;
32
+ Alerts.areYouSure(text, 'Change billing plan', 'Confirm change', 'Cancel', () => {
33
+ that.api.requestNewSubscription(that.requestedplan, () => {
34
+ Alerts.success('Your request for changing plan has been sent.', null, null, () => {
35
+ window.location.reload();
36
+ });
37
+ });
38
+ });
39
+ }
40
+ }
41
+ UpgradePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: UpgradePlanButtonComponent, deps: [{ token: i1.BillingApiService }], target: i0.ɵɵFactoryTarget.Component });
42
+ UpgradePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: UpgradePlanButtonComponent, selector: "anatoly-upgrade-plan-button", inputs: { currentplantitle: "currentplantitle", requestedplan: "requestedplan", requestedplantitle: "requestedplantitle" }, ngImport: i0, template: "<button class=\"btn btn-block btn-primary\" (click)=\"onUpgradePlan()\">\r\n Upgrade\r\n</button>\r\n" });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: UpgradePlanButtonComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'anatoly-upgrade-plan-button', template: "<button class=\"btn btn-block btn-primary\" (click)=\"onUpgradePlan()\">\r\n Upgrade\r\n</button>\r\n" }]
46
+ }], ctorParameters: function () { return [{ type: i1.BillingApiService }]; }, propDecorators: { currentplantitle: [{
47
+ type: Input
48
+ }], requestedplan: [{
49
+ type: Input
50
+ }], requestedplantitle: [{
51
+ type: Input
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1wbGFuLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iaWxsaW5nL3VwZ3JhZGUtcGxhbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmlsbGluZy91cGdyYWRlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7OztBQUUxRCxXQUFXO0FBTVgsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFHLENBQUM7SUFFOUMsYUFBYTtRQUNYLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixJQUFJLENBQUMsZ0JBQWdCLGNBQWMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxVQUFVLENBQ2YsSUFBSSxFQUNKLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7Z0JBQ3ZELE1BQU0sQ0FBQyxPQUFPLENBQ1osK0NBQStDLEVBQy9DLElBQUksRUFBQyxJQUFJLEVBQ1QsR0FBRyxFQUFFO29CQUNGLE1BQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BDLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7O3VIQTVCVSwwQkFBMEI7MkdBQTFCLDBCQUEwQiwrTEM5QnZDLHdHQUdBOzJGRDJCYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0UsNkJBQTZCO3dHQUk5QixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMiBOb3YgMjAxN1xyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0JpbGxpbmdBcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9kYXRhL3NlcnZpY2VzL2JpbGxpbmctYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FsZXJ0c30gZnJvbSAnLi4vLi4vLi4vY29yZS9ub3RpZmljYXRpb25zL2FsZXJ0cyc7XHJcblxyXG4vLyBTZXJ2aWNlc1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LXVwZ3JhZGUtcGxhbi1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGdyYWRlLXBsYW4tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVwZ3JhZGVQbGFuQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjdXJyZW50cGxhbnRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcmVxdWVzdGVkcGxhbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHJlcXVlc3RlZHBsYW50aXRsZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaTogQmlsbGluZ0FwaVNlcnZpY2UpIHt9XHJcblxyXG4gIG9uVXBncmFkZVBsYW4oKSB7XHJcbiAgICBjb25zdCB0ZXh0ID0gYEN1cnJlbnQgcGxhbjogJHt0aGlzLmN1cnJlbnRwbGFudGl0bGV9IE5ldyBwbGFuOiAke3RoaXMucmVxdWVzdGVkcGxhbnRpdGxlfWA7XHJcbiAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuXHJcbiAgICBBbGVydHMuYXJlWW91U3VyZShcclxuICAgICAgdGV4dCxcclxuICAgICAgJ0NoYW5nZSBiaWxsaW5nIHBsYW4nLFxyXG4gICAgICAnQ29uZmlybSBjaGFuZ2UnLFxyXG4gICAgICAnQ2FuY2VsJyxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoYXQuYXBpLnJlcXVlc3ROZXdTdWJzY3JpcHRpb24odGhhdC5yZXF1ZXN0ZWRwbGFuLCAoKSA9PiB7XHJcbiAgICAgICAgICBBbGVydHMuc3VjY2VzcyhcclxuICAgICAgICAgICAgJ1lvdXIgcmVxdWVzdCBmb3IgY2hhbmdpbmcgcGxhbiBoYXMgYmVlbiBzZW50LicsXHJcbiAgICAgICAgICAgIG51bGwsbnVsbCxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICh3aW5kb3cgYXMgYW55KS5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tYmxvY2sgYnRuLXByaW1hcnlcIiAoY2xpY2spPVwib25VcGdyYWRlUGxhbigpXCI+XHJcbiAgVXBncmFkZVxyXG48L2J1dHRvbj5cclxuIl19
@@ -0,0 +1,37 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny
8
+ Anatoly Osovitny
9
+
10
+ Created:
11
+ 23 Apr 2018
12
+
13
+ Version:
14
+ 1.0
15
+
16
+ Copyright (c) 2016-2021 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
+ export class ContentHeaderComponent {
23
+ ngOnInit() {
24
+ if (this.title == null) {
25
+ this.title = "";
26
+ }
27
+ }
28
+ }
29
+ ContentHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ContentHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ ContentHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ContentHeaderComponent, selector: "anatoly-content-header", inputs: { title: "title" }, ngImport: i0, template: "<h2 class=\"page-header\">\r\n {{title}}\r\n <!--<small>Optional {{title}}</small>-->\r\n</h2>\r\n" });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ContentHeaderComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: "anatoly-content-header", template: "<h2 class=\"page-header\">\r\n {{title}}\r\n <!--<small>Optional {{title}}</small>-->\r\n</h2>\r\n" }]
34
+ }], propDecorators: { title: [{
35
+ type: Input
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY29udGVudC1oZWFkZXIvY29udGVudC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY29udGVudC1oZWFkZXIvY29udGVudC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQU16RCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7bUhBUFUsc0JBQXNCO3VHQUF0QixzQkFBc0IsMEZDMUJuQyxzR0FJQTsyRkRzQmEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLHdCQUF3Qjs4QkFJekIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjMgQXByIDIwMThcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFuYXRvbHktY29udGVudC1oZWFkZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2NvbnRlbnQtaGVhZGVyLmNvbXBvbmVudC5odG1sXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250ZW50SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy50aXRsZSA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBcIlwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aDIgY2xhc3M9XCJwYWdlLWhlYWRlclwiPlxyXG4gIHt7dGl0bGV9fVxyXG4gIDwhLS08c21hbGw+T3B0aW9uYWwge3t0aXRsZX19PC9zbWFsbD4tLT5cclxuPC9oMj5cclxuIl19