@osovitny/anatoly 2.15.12 → 2.16.0

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 (256) hide show
  1. package/esm2022/lib/anatoly.module.mjs +55 -0
  2. package/{esm2020 → esm2022}/lib/core/browser.mjs +23 -23
  3. package/{esm2020 → esm2022}/lib/core/consts/settings.mjs +16 -16
  4. package/{esm2020 → esm2022}/lib/core/consts/urls.mjs +18 -18
  5. package/{esm2020 → esm2022}/lib/core/converts/convert.mjs +104 -104
  6. package/{esm2020 → esm2022}/lib/core/converts/xmlFormatter.mjs +33 -33
  7. package/esm2022/lib/core/core.module.mjs +89 -0
  8. package/{esm2020 → esm2022}/lib/core/dom.mjs +152 -152
  9. package/esm2022/lib/core/go/base-go.service.mjs +50 -0
  10. package/{esm2020 → esm2022}/lib/core/guards/once-import.guard.mjs +20 -20
  11. package/{esm2020 → esm2022}/lib/core/guid.mjs +21 -21
  12. package/{esm2020 → esm2022}/lib/core/index.mjs +50 -50
  13. package/esm2022/lib/core/interceptors/httpInterceptor.mjs +107 -0
  14. package/esm2022/lib/core/localization/localization.module.mjs +44 -0
  15. package/esm2022/lib/core/localization/localization.service.mjs +184 -0
  16. package/esm2022/lib/core/localization/localizationSettings.module.mjs +90 -0
  17. package/esm2022/lib/core/localization/localize.pipe.mjs +76 -0
  18. package/{esm2020 → esm2022}/lib/core/localization/utils.mjs +41 -41
  19. package/esm2022/lib/core/logging/globalErrorHandler.mjs +42 -0
  20. package/esm2022/lib/core/logging/logging.service.mjs +36 -0
  21. package/{esm2020 → esm2022}/lib/core/notifications/alerts.mjs +105 -105
  22. package/{esm2020 → esm2022}/lib/core/notifications/interfaces/notification.mjs +16 -16
  23. package/esm2022/lib/core/notifications/services/notification-service.mjs +226 -0
  24. package/esm2022/lib/core/performance/stopwatch.mjs +55 -0
  25. package/esm2022/lib/core/services/appcontext.service.mjs +152 -0
  26. package/esm2022/lib/core/services/dm.service.mjs +72 -0
  27. package/esm2022/lib/core/services/google-analytics.service.mjs +55 -0
  28. package/esm2022/lib/core/services/idle.service.mjs +82 -0
  29. package/esm2022/lib/core/services/loading.service.mjs +68 -0
  30. package/esm2022/lib/core/services/web-storage.service.mjs +67 -0
  31. package/esm2022/lib/core/subs.mjs +30 -0
  32. package/{esm2020 → esm2022}/lib/core/utils.mjs +93 -93
  33. package/esm2022/lib/data/base/base-api.service.mjs +99 -0
  34. package/esm2022/lib/data/base/grid/base-grid-edit.service.mjs +83 -0
  35. package/esm2022/lib/data/base/grid/base-grid-read.service.mjs +65 -0
  36. package/{esm2020 → esm2022}/lib/data/consts.mjs +23 -23
  37. package/esm2022/lib/data/data.module.mjs +42 -0
  38. package/{esm2020 → esm2022}/lib/data/index.mjs +21 -21
  39. package/esm2022/lib/data/services/core-api.service.mjs +60 -0
  40. package/esm2022/lib/data/services/emails-api.service.mjs +48 -0
  41. package/esm2022/lib/data/services/notifications/notifications-api-service.mjs +41 -0
  42. package/esm2022/lib/ui/components/base/base-edit.component.mjs +135 -0
  43. package/esm2022/lib/ui/components/base/base.component.mjs +61 -0
  44. package/esm2022/lib/ui/components/base/base.dialog.mjs +67 -0
  45. package/esm2022/lib/ui/components/base/base.list.mjs +69 -0
  46. package/esm2022/lib/ui/components/base/base.page.mjs +31 -0
  47. package/esm2022/lib/ui/components/base/base.paged.page.mjs +66 -0
  48. package/esm2022/lib/ui/components/billing/buyaccess-button.component.mjs +64 -0
  49. package/esm2022/lib/ui/components/billing/subscribe-plan-button.component.mjs +68 -0
  50. package/esm2022/lib/ui/components/card/card-body.component.mjs +30 -0
  51. package/esm2022/lib/ui/components/card/card-footer.component.mjs +30 -0
  52. package/esm2022/lib/ui/components/card/card-header.component.mjs +34 -0
  53. package/esm2022/lib/ui/components/card/card.component.mjs +30 -0
  54. package/esm2022/lib/ui/components/check-icon/check-icon.component.mjs +33 -0
  55. package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +44 -0
  56. package/esm2022/lib/ui/components/datapager/datapager.component.mjs +85 -0
  57. package/esm2022/lib/ui/components/html-editor/base-html-editor.component.mjs +96 -0
  58. package/esm2022/lib/ui/components/html-editor/forms-html-editor.component.mjs +45 -0
  59. package/esm2022/lib/ui/components/html-editor/html-editor.component.mjs +49 -0
  60. package/{esm2020 → esm2022}/lib/ui/components/html-editor/html-editor.defaultoptions.mjs +85 -85
  61. package/esm2022/lib/ui/components/identity/signin-button.component.mjs +31 -0
  62. package/esm2022/lib/ui/components/identity/signout-button.component.mjs +31 -0
  63. package/esm2022/lib/ui/components/identity/signup-button.component.mjs +30 -0
  64. package/{esm2020 → esm2022}/lib/ui/components/index.mjs +43 -43
  65. package/esm2022/lib/ui/components/nodata/nodata.component.mjs +46 -0
  66. package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +49 -0
  67. package/esm2022/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +62 -0
  68. package/{esm2020 → esm2022}/lib/ui/components/spinners/pagespinner/spinkits.mjs +11 -11
  69. package/esm2022/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +49 -0
  70. package/{esm2020 → esm2022}/lib/ui/dialogs/index.mjs +16 -16
  71. package/esm2022/lib/ui/directives/hover.directive.mjs +45 -0
  72. package/{esm2020 → esm2022}/lib/ui/directives/index.mjs +17 -17
  73. package/esm2022/lib/ui/directives/native-element.directive.mjs +40 -0
  74. package/esm2022/lib/ui/external/fa.module.mjs +45 -0
  75. package/esm2022/lib/ui/external/kendo.module.mjs +90 -0
  76. package/esm2022/lib/ui/forms/components/address/address.component.mjs +141 -0
  77. package/esm2022/lib/ui/forms/components/company/company.component.mjs +94 -0
  78. package/esm2022/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.mjs +74 -0
  79. package/esm2022/lib/ui/forms/components/urlslug/urlslug.component.mjs +98 -0
  80. package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +124 -0
  81. package/{esm2020 → esm2022}/lib/ui/forms/index.mjs +23 -23
  82. package/esm2022/lib/ui/pipes/filesize.pipe.mjs +40 -0
  83. package/{esm2020 → esm2022}/lib/ui/pipes/index.mjs +18 -18
  84. package/esm2022/lib/ui/pipes/replace-text.pipe.mjs +37 -0
  85. package/esm2022/lib/ui/pipes/safeHtml.pipe.mjs +35 -0
  86. package/esm2022/lib/ui/ui.module.mjs +192 -0
  87. package/esm2022/lib/ui/validation/form-validation-summary.component.mjs +64 -0
  88. package/{esm2020 → esm2022}/lib/ui/validation/index.mjs +18 -18
  89. package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +39 -0
  90. package/{esm2020 → esm2022}/lib/ui/validation/validation-summary.component.mjs +125 -125
  91. package/{esm2020 → esm2022}/osovitny-anatoly.mjs +4 -4
  92. package/{esm2020 → esm2022}/public-api.mjs +24 -24
  93. package/{fesm2015 → fesm2022}/osovitny-anatoly.mjs +5119 -5974
  94. package/fesm2022/osovitny-anatoly.mjs.map +1 -0
  95. package/index.d.ts +5 -5
  96. package/lib/anatoly.module.d.ts +10 -10
  97. package/lib/core/browser.d.ts +4 -4
  98. package/lib/core/consts/settings.d.ts +1 -1
  99. package/lib/core/consts/urls.d.ts +3 -3
  100. package/lib/core/converts/convert.d.ts +16 -16
  101. package/lib/core/converts/xmlFormatter.d.ts +4 -4
  102. package/lib/core/core.module.d.ts +14 -14
  103. package/lib/core/dom.d.ts +17 -17
  104. package/lib/core/go/base-go.service.d.ts +12 -12
  105. package/lib/core/guards/once-import.guard.d.ts +1 -1
  106. package/lib/core/guid.d.ts +3 -3
  107. package/lib/core/index.d.ts +28 -28
  108. package/lib/core/interceptors/httpInterceptor.d.ts +18 -18
  109. package/lib/core/localization/localization.module.d.ts +8 -8
  110. package/lib/core/localization/localization.service.d.ts +25 -25
  111. package/lib/core/localization/localizationSettings.module.d.ts +18 -18
  112. package/lib/core/localization/localize.pipe.d.ts +10 -10
  113. package/lib/core/localization/utils.d.ts +5 -5
  114. package/lib/core/logging/globalErrorHandler.d.ts +9 -9
  115. package/lib/core/logging/logging.service.d.ts +8 -8
  116. package/lib/core/notifications/alerts.d.ts +9 -9
  117. package/lib/core/notifications/interfaces/notification.d.ts +10 -10
  118. package/lib/core/notifications/services/notification-service.d.ts +25 -25
  119. package/lib/core/performance/stopwatch.d.ts +14 -14
  120. package/lib/core/services/appcontext.service.d.ts +31 -31
  121. package/lib/core/services/dm.service.d.ts +16 -16
  122. package/lib/core/services/google-analytics.service.d.ts +11 -11
  123. package/lib/core/services/idle.service.d.ts +19 -19
  124. package/lib/core/services/loading.service.d.ts +13 -13
  125. package/lib/core/services/web-storage.service.d.ts +22 -22
  126. package/lib/core/subs.d.ts +8 -8
  127. package/lib/core/utils.d.ts +11 -11
  128. package/lib/data/base/base-api.service.d.ts +18 -18
  129. package/lib/data/base/grid/base-grid-edit.service.d.ts +16 -16
  130. package/lib/data/base/grid/base-grid-read.service.d.ts +14 -14
  131. package/lib/data/consts.d.ts +5 -5
  132. package/lib/data/data.module.d.ts +7 -7
  133. package/lib/data/index.d.ts +6 -6
  134. package/lib/data/services/core-api.service.d.ts +12 -12
  135. package/lib/data/services/emails-api.service.d.ts +10 -10
  136. package/lib/data/services/notifications/notifications-api-service.d.ts +12 -12
  137. package/lib/ui/components/base/base-edit.component.d.ts +57 -57
  138. package/lib/ui/components/base/base.component.d.ts +17 -17
  139. package/lib/ui/components/base/base.dialog.d.ts +17 -17
  140. package/lib/ui/components/base/base.list.d.ts +19 -19
  141. package/lib/ui/components/base/base.page.d.ts +6 -6
  142. package/lib/ui/components/base/base.paged.page.d.ts +18 -18
  143. package/lib/ui/components/billing/buyaccess-button.component.d.ts +19 -19
  144. package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +21 -21
  145. package/lib/ui/components/card/card-body.component.d.ts +6 -6
  146. package/lib/ui/components/card/card-footer.component.d.ts +6 -6
  147. package/lib/ui/components/card/card-header.component.d.ts +7 -7
  148. package/lib/ui/components/card/card.component.d.ts +6 -6
  149. package/lib/ui/components/check-icon/check-icon.component.d.ts +6 -6
  150. package/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.d.ts +8 -8
  151. package/lib/ui/components/datapager/datapager.component.d.ts +21 -21
  152. package/lib/ui/components/html-editor/base-html-editor.component.d.ts +21 -21
  153. package/lib/ui/components/html-editor/forms-html-editor.component.d.ts +9 -9
  154. package/lib/ui/components/html-editor/html-editor.component.d.ts +9 -9
  155. package/lib/ui/components/html-editor/html-editor.defaultoptions.d.ts +1 -1
  156. package/lib/ui/components/identity/signin-button.component.d.ts +7 -7
  157. package/lib/ui/components/identity/signout-button.component.d.ts +7 -7
  158. package/lib/ui/components/identity/signup-button.component.d.ts +6 -6
  159. package/lib/ui/components/index.d.ts +25 -25
  160. package/lib/ui/components/nodata/nodata.component.d.ts +11 -11
  161. package/lib/ui/components/spinners/loading/loading.component.d.ts +13 -13
  162. package/lib/ui/components/spinners/pagespinner/pagespinner.component.d.ts +25 -25
  163. package/lib/ui/components/spinners/pagespinner/spinkits.d.ts +11 -11
  164. package/lib/ui/dialogs/contact-us/contact-us.dialog.d.ts +12 -12
  165. package/lib/ui/dialogs/index.d.ts +1 -1
  166. package/lib/ui/directives/hover.directive.d.ts +8 -8
  167. package/lib/ui/directives/index.d.ts +2 -2
  168. package/lib/ui/directives/native-element.directive.d.ts +11 -11
  169. package/lib/ui/external/fa.module.d.ts +10 -10
  170. package/lib/ui/external/kendo.module.d.ts +15 -15
  171. package/lib/ui/forms/components/address/address.component.d.ts +35 -35
  172. package/lib/ui/forms/components/company/company.component.d.ts +20 -20
  173. package/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.d.ts +26 -26
  174. package/lib/ui/forms/components/urlslug/urlslug.component.d.ts +23 -23
  175. package/lib/ui/forms/contact-us/contact-us.d.ts +33 -33
  176. package/lib/ui/forms/index.d.ts +5 -5
  177. package/lib/ui/pipes/filesize.pipe.d.ts +8 -8
  178. package/lib/ui/pipes/index.d.ts +3 -3
  179. package/lib/ui/pipes/replace-text.pipe.d.ts +7 -7
  180. package/lib/ui/pipes/safeHtml.pipe.d.ts +10 -10
  181. package/lib/ui/ui.module.d.ts +43 -46
  182. package/lib/ui/validation/form-validation-summary.component.d.ts +11 -11
  183. package/lib/ui/validation/index.d.ts +3 -3
  184. package/lib/ui/validation/item-validation-summary.component.d.ts +9 -9
  185. package/lib/ui/validation/validation-summary.component.d.ts +24 -24
  186. package/package.json +10 -16
  187. package/public-api.d.ts +12 -12
  188. package/esm2020/lib/anatoly.module.mjs +0 -56
  189. package/esm2020/lib/core/core.module.mjs +0 -89
  190. package/esm2020/lib/core/go/base-go.service.mjs +0 -48
  191. package/esm2020/lib/core/interceptors/httpInterceptor.mjs +0 -105
  192. package/esm2020/lib/core/localization/localization.module.mjs +0 -45
  193. package/esm2020/lib/core/localization/localization.service.mjs +0 -182
  194. package/esm2020/lib/core/localization/localizationSettings.module.mjs +0 -90
  195. package/esm2020/lib/core/localization/localize.pipe.mjs +0 -75
  196. package/esm2020/lib/core/logging/globalErrorHandler.mjs +0 -41
  197. package/esm2020/lib/core/logging/logging.service.mjs +0 -36
  198. package/esm2020/lib/core/notifications/services/notification-service.mjs +0 -225
  199. package/esm2020/lib/core/performance/stopwatch.mjs +0 -50
  200. package/esm2020/lib/core/services/appcontext.service.mjs +0 -149
  201. package/esm2020/lib/core/services/dm.service.mjs +0 -69
  202. package/esm2020/lib/core/services/google-analytics.service.mjs +0 -53
  203. package/esm2020/lib/core/services/idle.service.mjs +0 -77
  204. package/esm2020/lib/core/services/loading.service.mjs +0 -68
  205. package/esm2020/lib/core/services/web-storage.service.mjs +0 -66
  206. package/esm2020/lib/core/subs.mjs +0 -31
  207. package/esm2020/lib/data/base/base-api.service.mjs +0 -97
  208. package/esm2020/lib/data/base/grid/base-grid-edit.service.mjs +0 -81
  209. package/esm2020/lib/data/base/grid/base-grid-read.service.mjs +0 -62
  210. package/esm2020/lib/data/data.module.mjs +0 -43
  211. package/esm2020/lib/data/services/core-api.service.mjs +0 -59
  212. package/esm2020/lib/data/services/emails-api.service.mjs +0 -47
  213. package/esm2020/lib/data/services/notifications/notifications-api-service.mjs +0 -40
  214. package/esm2020/lib/ui/components/base/base-edit.component.mjs +0 -134
  215. package/esm2020/lib/ui/components/base/base.component.mjs +0 -63
  216. package/esm2020/lib/ui/components/base/base.dialog.mjs +0 -67
  217. package/esm2020/lib/ui/components/base/base.list.mjs +0 -70
  218. package/esm2020/lib/ui/components/base/base.page.mjs +0 -31
  219. package/esm2020/lib/ui/components/base/base.paged.page.mjs +0 -67
  220. package/esm2020/lib/ui/components/billing/buyaccess-button.component.mjs +0 -106
  221. package/esm2020/lib/ui/components/billing/subscribe-plan-button.component.mjs +0 -118
  222. package/esm2020/lib/ui/components/card/card-body.component.mjs +0 -37
  223. package/esm2020/lib/ui/components/card/card-footer.component.mjs +0 -37
  224. package/esm2020/lib/ui/components/card/card-header.component.mjs +0 -52
  225. package/esm2020/lib/ui/components/card/card.component.mjs +0 -41
  226. package/esm2020/lib/ui/components/check-icon/check-icon.component.mjs +0 -42
  227. package/esm2020/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +0 -51
  228. package/esm2020/lib/ui/components/datapager/datapager.component.mjs +0 -89
  229. package/esm2020/lib/ui/components/html-editor/base-html-editor.component.mjs +0 -108
  230. package/esm2020/lib/ui/components/html-editor/forms-html-editor.component.mjs +0 -63
  231. package/esm2020/lib/ui/components/html-editor/html-editor.component.mjs +0 -61
  232. package/esm2020/lib/ui/components/identity/signin-button.component.mjs +0 -36
  233. package/esm2020/lib/ui/components/identity/signout-button.component.mjs +0 -36
  234. package/esm2020/lib/ui/components/identity/signup-button.component.mjs +0 -35
  235. package/esm2020/lib/ui/components/nodata/nodata.component.mjs +0 -67
  236. package/esm2020/lib/ui/components/spinners/loading/loading.component.mjs +0 -57
  237. package/esm2020/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +0 -84
  238. package/esm2020/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +0 -78
  239. package/esm2020/lib/ui/directives/hover.directive.mjs +0 -51
  240. package/esm2020/lib/ui/directives/native-element.directive.mjs +0 -38
  241. package/esm2020/lib/ui/external/fa.module.mjs +0 -46
  242. package/esm2020/lib/ui/external/kendo.module.mjs +0 -91
  243. package/esm2020/lib/ui/forms/components/address/address.component.mjs +0 -242
  244. package/esm2020/lib/ui/forms/components/company/company.component.mjs +0 -142
  245. package/esm2020/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.mjs +0 -99
  246. package/esm2020/lib/ui/forms/components/urlslug/urlslug.component.mjs +0 -136
  247. package/esm2020/lib/ui/forms/contact-us/contact-us.mjs +0 -212
  248. package/esm2020/lib/ui/pipes/filesize.pipe.mjs +0 -42
  249. package/esm2020/lib/ui/pipes/replace-text.pipe.mjs +0 -37
  250. package/esm2020/lib/ui/pipes/safeHtml.pipe.mjs +0 -34
  251. package/esm2020/lib/ui/ui.module.mjs +0 -197
  252. package/esm2020/lib/ui/validation/form-validation-summary.component.mjs +0 -89
  253. package/esm2020/lib/ui/validation/item-validation-summary.component.mjs +0 -59
  254. package/fesm2015/osovitny-anatoly.mjs.map +0 -1
  255. package/fesm2020/osovitny-anatoly.mjs +0 -5760
  256. package/fesm2020/osovitny-anatoly.mjs.map +0 -1
@@ -0,0 +1,60 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
9
+
10
+ Created:
11
+ 02 Aug 2022
12
+
13
+ Copyright (c) 2017-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ //Node
17
+ import { Injectable } from '@angular/core';
18
+ //App
19
+ import { BaseApiService } from '../base/base-api.service';
20
+ import { Consts } from '../consts';
21
+ import * as i0 from "@angular/core";
22
+ import * as i1 from "@angular/common/http";
23
+ export class CoreApiService extends BaseApiService {
24
+ http;
25
+ constructor(http) {
26
+ super(http);
27
+ this.http = http;
28
+ this.baseUrl = Consts.coreApiPath;
29
+ }
30
+ getTimezonesJsonFile(done) {
31
+ this.getExternalJsonFile('anatoly', 'timezones.json').subscribe({
32
+ next: (data) => {
33
+ if (done)
34
+ done(data);
35
+ }
36
+ });
37
+ }
38
+ getUSStatesJsonFile(done) {
39
+ this.getExternalJsonFile('anatoly', 'usStates.json').subscribe({
40
+ next: (data) => {
41
+ if (done)
42
+ done(data);
43
+ }
44
+ });
45
+ }
46
+ getCountriesJsonFile(done) {
47
+ this.getExternalJsonFile('anatoly', 'countries.json').subscribe({
48
+ next: (data) => {
49
+ if (done)
50
+ done(data);
51
+ }
52
+ });
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: CoreApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
55
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: CoreApiService });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: CoreApiService, decorators: [{
58
+ type: Injectable
59
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL3NlcnZpY2VzL2NvcmUtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUduQyxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7SUFDMUI7SUFBdEIsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDcEMsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQUk7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM5RCxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDYixJQUFJLElBQUk7b0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBSTtRQUN0QixJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3RCxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDYixJQUFJLElBQUk7b0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBSTtRQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlELElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNiLElBQUksSUFBSTtvQkFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBNUJVLGNBQWM7MkdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcbiAgICBcclxuICBDcmVhdGVkOlxyXG4gICAgMDIgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE3LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUFwaVNlcnZpY2UgfSBmcm9tICcuLi9iYXNlL2Jhc2UtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25zdHMgfSBmcm9tICcuLi9jb25zdHMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29yZUFwaVNlcnZpY2UgZXh0ZW5kcyBCYXNlQXBpU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gICAgdGhpcy5iYXNlVXJsID0gQ29uc3RzLmNvcmVBcGlQYXRoO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGltZXpvbmVzSnNvbkZpbGUoZG9uZSkge1xyXG4gICAgdGhpcy5nZXRFeHRlcm5hbEpzb25GaWxlKCdhbmF0b2x5JywgJ3RpbWV6b25lcy5qc29uJykuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoZG9uZSkgZG9uZShkYXRhKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRVU1N0YXRlc0pzb25GaWxlKGRvbmUpIHtcclxuICAgIHRoaXMuZ2V0RXh0ZXJuYWxKc29uRmlsZSgnYW5hdG9seScsICd1c1N0YXRlcy5qc29uJykuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoZG9uZSkgZG9uZShkYXRhKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDb3VudHJpZXNKc29uRmlsZShkb25lKSB7XHJcbiAgICB0aGlzLmdldEV4dGVybmFsSnNvbkZpbGUoJ2FuYXRvbHknLCAnY291bnRyaWVzLmpzb24nKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChkb25lKSBkb25lKGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,48 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
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 "../base/base-api.service";
20
+ import { Consts } from '../consts';
21
+ import * as i0 from "@angular/core";
22
+ import * as i1 from "@angular/common/http";
23
+ export class EmailsApiService extends BaseApiService {
24
+ http;
25
+ constructor(http) {
26
+ super(http);
27
+ this.http = http;
28
+ this.baseUrl = Consts.emailsApiPath;
29
+ }
30
+ sendContactUs(captcha, name, email, topic, subject, message, success, error) {
31
+ return this.post('sendContactUs', { captcha, name, email, topic, subject, message }).subscribe({
32
+ next: (data) => {
33
+ if (success)
34
+ success(data);
35
+ },
36
+ error: (e) => {
37
+ if (error)
38
+ error(e);
39
+ }
40
+ });
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: EmailsApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
43
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: EmailsApiService });
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: EmailsApiService, decorators: [{
46
+ type: Injectable
47
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWxzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2RhdGEvc2VydmljZXMvZW1haWxzLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsS0FBSztBQUNMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFHbkMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGNBQWM7SUFDNUI7SUFBdEIsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDdEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFrQixFQUFFLEtBQWdCO1FBQy9GLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdGLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNiLElBQUksT0FBTztvQkFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQUksS0FBSztvQkFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBZlUsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTYgSnVuIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEJhc2VBcGlTZXJ2aWNlIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZS1hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb25zdHMgfSBmcm9tICcuLi9jb25zdHMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRW1haWxzQXBpU2VydmljZSBleHRlbmRzIEJhc2VBcGlTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSBDb25zdHMuZW1haWxzQXBpUGF0aDtcclxuICB9XHJcblxyXG4gIHNlbmRDb250YWN0VXMoY2FwdGNoYSwgbmFtZSwgZW1haWwsIHRvcGljLCBzdWJqZWN0LCBtZXNzYWdlLCBzdWNjZXNzPzogRnVuY3Rpb24sIGVycm9yPzogRnVuY3Rpb24pIHtcclxuICAgIHJldHVybiB0aGlzLnBvc3QoJ3NlbmRDb250YWN0VXMnLCB7IGNhcHRjaGEsIG5hbWUsIGVtYWlsLCB0b3BpYywgc3ViamVjdCwgbWVzc2FnZSB9KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChzdWNjZXNzKSBzdWNjZXNzKGRhdGEpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3IpIGVycm9yKGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,41 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
9
+
10
+ Created:
11
+ 30 April 2020
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ // Node
17
+ import { Injectable } from '@angular/core';
18
+ import { BaseApiService } from '../../base/base-api.service';
19
+ import { Consts } from '../../consts';
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "@angular/common/http";
22
+ export class NotificationsApiService extends BaseApiService {
23
+ http;
24
+ constructor(http) {
25
+ super(http);
26
+ this.http = http;
27
+ this.baseUrl = Consts.notificationsApiPath;
28
+ }
29
+ retrieveNotifications() {
30
+ return this.get('retrieveNotifications');
31
+ }
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NotificationsApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
33
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NotificationsApiService, providedIn: 'root' });
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NotificationsApiService, decorators: [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'root'
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1hcGktc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9kYXRhL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1hcGktc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBUXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFLdEMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFDbkM7SUFBdEIsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztJQUM3QyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzNDLENBQUM7dUdBUlUsdUJBQXVCOzJHQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAzMCBBcHJpbCAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbi8vIFJ4SlNcclxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcclxuXHJcbi8vIEFwcFxyXG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9ub3RpZmljYXRpb25zL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHsgQmFzZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9iYXNlL2Jhc2UtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25zdHMgfSBmcm9tICcuLi8uLi9jb25zdHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc0FwaVNlcnZpY2UgZXh0ZW5kcyBCYXNlQXBpU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gICAgdGhpcy5iYXNlVXJsID0gQ29uc3RzLm5vdGlmaWNhdGlvbnNBcGlQYXRoO1xyXG4gIH1cclxuXHJcbiAgcmV0cmlldmVOb3RpZmljYXRpb25zKCk6IE9ic2VydmFibGU8SU5vdGlmaWNhdGlvbltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3JldHJpZXZlTm90aWZpY2F0aW9ucycpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,135 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
9
+
10
+ Created:
11
+ 20 Nov 2017
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 { FormControl, } from "@angular/forms";
19
+ //App
20
+ import { BaseComponent } from "./base.component";
21
+ import { Utils } from "../../../core";
22
+ import * as i0 from "@angular/core";
23
+ export class BaseEditComponent extends BaseComponent {
24
+ formGroup;
25
+ formSubmitted = false;
26
+ constructor() {
27
+ super();
28
+ }
29
+ isActionAdding() {
30
+ return !Utils.idExistsInQS();
31
+ }
32
+ isControlValid(name, frmGroup = null) {
33
+ return !this.isControlInvalid(name, frmGroup);
34
+ }
35
+ isControlInvalid(name, frmGroup = null) {
36
+ if (typeof name === "undefined" || name == "") {
37
+ return false;
38
+ }
39
+ let fg = frmGroup ? frmGroup : this.formGroup;
40
+ if (!fg) {
41
+ return false;
42
+ }
43
+ if (fg.get(name)) {
44
+ return ((this.formSubmitted && fg.get(name).invalid) ||
45
+ (fg.get(name).touched && fg.get(name).invalid));
46
+ }
47
+ return false;
48
+ }
49
+ //FormGroup functions
50
+ getFormValue(name, frmGroup = null) {
51
+ let fg = frmGroup ? frmGroup : this.formGroup;
52
+ return fg.controls[name].value;
53
+ }
54
+ setFormValue(name, value, frmGroup = null) {
55
+ let fg = frmGroup ? frmGroup : this.formGroup;
56
+ fg.controls[name].setValue(value);
57
+ }
58
+ getFormGroupValue(groupName, name, frmGroup = null) {
59
+ let fg = frmGroup ? frmGroup : this.formGroup;
60
+ return fg.controls[groupName].get(name).value;
61
+ }
62
+ setFormGroupValue(groupName, name, value, frmGroup = null) {
63
+ let fg = frmGroup ? frmGroup : this.formGroup;
64
+ fg.controls[groupName].get(name).setValue(value);
65
+ }
66
+ /**
67
+ * Add control to form group
68
+ * @param name
69
+ * @param formControl
70
+ * @param frmGroup
71
+ */
72
+ addControl(name, formControl, frmGroup = null) {
73
+ let fg = frmGroup ? frmGroup : this.formGroup;
74
+ fg.addControl(name, formControl);
75
+ }
76
+ /**
77
+ * Removes control from form group
78
+ * @param name
79
+ * @param frmGroup
80
+ */
81
+ removeControl(name, frmGroup = null) {
82
+ let fg = frmGroup ? frmGroup : this.formGroup;
83
+ if (fg.get(name)) {
84
+ fg.removeControl(name);
85
+ }
86
+ }
87
+ /**
88
+ * return new form control
89
+ * @param formState
90
+ * @param validatorOrOpts
91
+ * @param asyncValidator
92
+ */
93
+ createFormControl(formState, validatorOrOpts, asyncValidator) {
94
+ return new FormControl(formState, validatorOrOpts, asyncValidator);
95
+ }
96
+ /**
97
+ * Set error to control
98
+ * @param controlName formControl name
99
+ * @param err error expect {erroname: boolean} format
100
+ * @param frmGroup
101
+ */
102
+ setControlError(controlName, err, frmGroup = null) {
103
+ let fg = frmGroup ? frmGroup : this.formGroup;
104
+ fg.get(controlName)?.setErrors(err);
105
+ }
106
+ /**
107
+ * Set {invalid: true} for the specified form
108
+ * @param controlName form control name
109
+ * @param frmGroup
110
+ */
111
+ setInValidError(controlName, frmGroup = null) {
112
+ let fg = frmGroup ? frmGroup : this.formGroup;
113
+ fg.get(controlName)?.setErrors({ invalid: true });
114
+ }
115
+ /**
116
+ * returns formgroup controls.
117
+ * main use case is used in html pages
118
+ */
119
+ get fc() {
120
+ return this.formGroup.controls;
121
+ }
122
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaseEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
123
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BaseEditComponent, selector: "ng-component", inputs: { formGroup: "formGroup", formSubmitted: "formSubmitted" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaseEditComponent, decorators: [{
126
+ type: Component,
127
+ args: [{
128
+ template: ''
129
+ }]
130
+ }], ctorParameters: function () { return []; }, propDecorators: { formGroup: [{
131
+ type: Input
132
+ }], formSubmitted: [{
133
+ type: Input
134
+ }] } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2Jhc2UvYmFzZS1lZGl0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBR0wsV0FBVyxHQUlaLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsS0FBSztBQUNMLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt0QyxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLGFBQWE7SUFDbEQsU0FBUyxDQUFZO0lBQ3JCLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFFeEM7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVksRUFBRSxXQUFzQixJQUFJO1FBQ3JELE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsV0FBc0IsSUFBSTtRQUN2RCxJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFO1lBQzdDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1AsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUM1QyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQy9DLENBQUM7U0FDSDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHFCQUFxQjtJQUNyQixZQUFZLENBQUMsSUFBSSxFQUFFLFdBQXNCLElBQUk7UUFDM0MsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBc0IsSUFBSTtRQUNsRCxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFzQixJQUFJO1FBQzNELElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFzQixJQUFJO1FBQ2xFLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQ1IsSUFBWSxFQUNaLFdBQTRCLEVBQzVCLFdBQXNCLElBQUk7UUFFMUIsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsSUFBWSxFQUFFLFdBQXNCLElBQUk7UUFDcEQsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFOUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hCLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FDZixTQUFlLEVBQ2YsZUFJUSxFQUNSLGNBQTZEO1FBRTdELE9BQU8sSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsV0FBbUIsRUFBRSxHQUFPLEVBQUUsV0FBc0IsSUFBSTtRQUN0RSxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxXQUFtQixFQUFFLFdBQXNCLElBQUk7UUFDN0QsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO3VHQWxJbUIsaUJBQWlCOzJGQUFqQixpQkFBaUIsK0lBRjNCLEVBQUU7OzJGQUVRLGlCQUFpQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFFVSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjAgTm92IDIwMTdcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgRm9ybUdyb3VwLFxyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBGb3JtQ29udHJvbCxcclxuICBWYWxpZGF0b3JGbixcclxuICBBYnN0cmFjdENvbnRyb2xPcHRpb25zLFxyXG4gIEFzeW5jVmFsaWRhdG9yRm4sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSBcIi4vYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRWRpdENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm1TdWJtaXR0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgaXNBY3Rpb25BZGRpbmcoKSB7XHJcbiAgICByZXR1cm4gIVV0aWxzLmlkRXhpc3RzSW5RUygpO1xyXG4gIH1cclxuXHJcbiAgaXNDb250cm9sVmFsaWQobmFtZTogc3RyaW5nLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzQ29udHJvbEludmFsaWQobmFtZSwgZnJtR3JvdXApO1xyXG4gIH1cclxuXHJcbiAgaXNDb250cm9sSW52YWxpZChuYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBpZiAodHlwZW9mIG5hbWUgPT09IFwidW5kZWZpbmVkXCIgfHwgbmFtZSA9PSBcIlwiKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBpZiAoIWZnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmcuZ2V0KG5hbWUpKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgKHRoaXMuZm9ybVN1Ym1pdHRlZCAmJiBmZy5nZXQobmFtZSkuaW52YWxpZCkgfHxcclxuICAgICAgICAoZmcuZ2V0KG5hbWUpLnRvdWNoZWQgJiYgZmcuZ2V0KG5hbWUpLmludmFsaWQpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy9Gb3JtR3JvdXAgZnVuY3Rpb25zXHJcbiAgZ2V0Rm9ybVZhbHVlKG5hbWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICByZXR1cm4gZmcuY29udHJvbHNbbmFtZV0udmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtVmFsdWUobmFtZSwgdmFsdWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5jb250cm9sc1tuYW1lXS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRGb3JtR3JvdXBWYWx1ZShncm91cE5hbWUsIG5hbWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICByZXR1cm4gZmcuY29udHJvbHNbZ3JvdXBOYW1lXS5nZXQobmFtZSkudmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtR3JvdXBWYWx1ZShncm91cE5hbWUsIG5hbWUsIHZhbHVlLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgZmcuY29udHJvbHNbZ3JvdXBOYW1lXS5nZXQobmFtZSkuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGNvbnRyb2wgdG8gZm9ybSBncm91cFxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIGZvcm1Db250cm9sXHJcbiAgICogQHBhcmFtIGZybUdyb3VwXHJcbiAgICovXHJcbiAgYWRkQ29udHJvbChcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2wsXHJcbiAgICBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbFxyXG4gICkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgZmcuYWRkQ29udHJvbChuYW1lLCBmb3JtQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIGNvbnRyb2wgZnJvbSBmb3JtIGdyb3VwXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gZnJtR3JvdXBcclxuICAgKi9cclxuICByZW1vdmVDb250cm9sKG5hbWU6IHN0cmluZywgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuXHJcbiAgICBpZiAoZmcuZ2V0KG5hbWUpKSB7XHJcbiAgICAgIGZnLnJlbW92ZUNvbnRyb2wobmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiByZXR1cm4gbmV3IGZvcm0gY29udHJvbFxyXG4gICAqIEBwYXJhbSBmb3JtU3RhdGVcclxuICAgKiBAcGFyYW0gdmFsaWRhdG9yT3JPcHRzXHJcbiAgICogQHBhcmFtIGFzeW5jVmFsaWRhdG9yXHJcbiAgICovXHJcbiAgY3JlYXRlRm9ybUNvbnRyb2woXHJcbiAgICBmb3JtU3RhdGU/OiBhbnksXHJcbiAgICB2YWxpZGF0b3JPck9wdHM/OlxyXG4gICAgICB8IFZhbGlkYXRvckZuXHJcbiAgICAgIHwgVmFsaWRhdG9yRm5bXVxyXG4gICAgICB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnNcclxuICAgICAgfCBudWxsLFxyXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdIHwgbnVsbFxyXG4gICkge1xyXG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChmb3JtU3RhdGUsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGVycm9yIHRvIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgZm9ybUNvbnRyb2wgbmFtZVxyXG4gICAqIEBwYXJhbSBlcnIgZXJyb3IgZXhwZWN0IHtlcnJvbmFtZTogYm9vbGVhbn0gZm9ybWF0XHJcbiAgICogQHBhcmFtIGZybUdyb3VwXHJcbiAgICovXHJcbiAgc2V0Q29udHJvbEVycm9yKGNvbnRyb2xOYW1lOiBzdHJpbmcsIGVycjoge30sIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5nZXQoY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoZXJyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB7aW52YWxpZDogdHJ1ZX0gZm9yIHRoZSBzcGVjaWZpZWQgZm9ybVxyXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSBmb3JtIGNvbnRyb2wgbmFtZVxyXG4gICAqIEBwYXJhbSBmcm1Hcm91cFxyXG4gICAqL1xyXG4gIHNldEluVmFsaWRFcnJvcihjb250cm9sTmFtZTogc3RyaW5nLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG4gICAgZmcuZ2V0KGNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKHsgaW52YWxpZDogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHJldHVybnMgZm9ybWdyb3VwIGNvbnRyb2xzLlxyXG4gICAqIG1haW4gdXNlIGNhc2UgaXMgdXNlZCBpbiBodG1sIHBhZ2VzXHJcbiAgICovXHJcbiAgZ2V0IGZjKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,61 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
9
+
10
+ Created:
11
+ 28 Aug 2018
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ //Node
17
+ import { Component } from "@angular/core";
18
+ //App
19
+ import { Utils, Subs } from "../../../core";
20
+ import * as i0 from "@angular/core";
21
+ export class BaseComponent {
22
+ subs = new Subs();
23
+ //Component Data => usually loading from API
24
+ dataLoading = true;
25
+ dataLoaded = false;
26
+ dataFound = false;
27
+ ngOnDestroy() {
28
+ this.subs.unsubscribe();
29
+ }
30
+ getEntityId() {
31
+ return this.getValueByNameInQS("id");
32
+ }
33
+ getValueByNameInQS(name) {
34
+ let value = Utils.getValueByNameInQS(name);
35
+ if (typeof value === "undefined" || value == "")
36
+ return null;
37
+ return value;
38
+ }
39
+ dataStartedLoading() {
40
+ this.dataLoading = true;
41
+ this.dataLoaded = false;
42
+ this.dataFound = false;
43
+ }
44
+ dataLoadedAndNothingFound() {
45
+ this.dataLoadedAndFound(false);
46
+ }
47
+ dataLoadedAndFound(found = true) {
48
+ this.dataLoading = false;
49
+ this.dataLoaded = true;
50
+ this.dataFound = found;
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BaseComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaseComponent, decorators: [{
56
+ type: Component,
57
+ args: [{
58
+ template: ''
59
+ }]
60
+ }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlL2Jhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFckQsS0FBSztBQUNMLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUs1QyxNQUFNLE9BQWdCLGFBQWE7SUFDdkIsSUFBSSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7SUFFbEMsNENBQTRDO0lBQ2xDLFdBQVcsR0FBWSxJQUFJLENBQUM7SUFDNUIsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUM1QixTQUFTLEdBQVksS0FBSyxDQUFDO0lBRXJDLFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxJQUFJO1FBQzVCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsSUFBSSxLQUFLLElBQUksRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTdELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRU0seUJBQXlCO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsUUFBaUIsSUFBSTtRQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO3VHQXJDbUIsYUFBYTsyRkFBYixhQUFhLG9EQUZ2QixFQUFFOzsyRkFFUSxhQUFhO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI4IEF1ZyAyMDE4XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IFV0aWxzLCBTdWJzIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJvdGVjdGVkIHN1YnM6IFN1YnMgPSBuZXcgU3VicygpO1xyXG5cclxuICAvL0NvbXBvbmVudCBEYXRhID0+IHVzdWFsbHkgbG9hZGluZyBmcm9tIEFQSVxyXG4gIHByb3RlY3RlZCBkYXRhTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHJvdGVjdGVkIGRhdGFMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgZGF0YUZvdW5kOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RW50aXR5SWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZUJ5TmFtZUluUVMoXCJpZFwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRWYWx1ZUJ5TmFtZUluUVMobmFtZSkge1xyXG4gICAgbGV0IHZhbHVlID0gVXRpbHMuZ2V0VmFsdWVCeU5hbWVJblFTKG5hbWUpO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJ1bmRlZmluZWRcIiB8fCB2YWx1ZSA9PSBcIlwiKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGF0YVN0YXJ0ZWRMb2FkaW5nKCkge1xyXG4gICAgdGhpcy5kYXRhTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmRhdGFMb2FkZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZGF0YUZvdW5kID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGF0YUxvYWRlZEFuZE5vdGhpbmdGb3VuZCgpIHtcclxuICAgIHRoaXMuZGF0YUxvYWRlZEFuZEZvdW5kKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkYXRhTG9hZGVkQW5kRm91bmQoZm91bmQ6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICB0aGlzLmRhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLmRhdGFMb2FkZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5kYXRhRm91bmQgPSBmb3VuZDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,67 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
9
+
10
+ Created:
11
+ 24 Jan 2022
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ //Node
17
+ import { Component, EventEmitter, Input, Output } from "@angular/core";
18
+ //App
19
+ import { BaseEditComponent } from "./base-edit.component";
20
+ import * as i0 from "@angular/core";
21
+ export class BaseDialog extends BaseEditComponent {
22
+ _isOpen = false;
23
+ get isOpen() {
24
+ return this._isOpen;
25
+ }
26
+ set isOpen(value) {
27
+ if (value) {
28
+ if (this.anOnBeforeOpen) {
29
+ this.anOnBeforeOpen();
30
+ }
31
+ this.opened.emit();
32
+ }
33
+ this._isOpen = value;
34
+ }
35
+ //Events
36
+ opened = new EventEmitter();
37
+ closed = new EventEmitter();
38
+ constructor() {
39
+ super();
40
+ }
41
+ open() {
42
+ this.isOpen = true;
43
+ }
44
+ close(returnValue = "OK") {
45
+ this.isOpen = false;
46
+ this.closed.emit(returnValue);
47
+ }
48
+ cancel() {
49
+ this.isOpen = false;
50
+ this.closed.emit(-1);
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaseDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BaseDialog, selector: "ng-component", inputs: { isOpen: "isOpen" }, outputs: { opened: "opened", closed: "closed" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaseDialog, decorators: [{
56
+ type: Component,
57
+ args: [{
58
+ template: ''
59
+ }]
60
+ }], ctorParameters: function () { return []; }, propDecorators: { isOpen: [{
61
+ type: Input
62
+ }], opened: [{
63
+ type: Output
64
+ }], closed: [{
65
+ type: Output
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlL2Jhc2UuZGlhbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsS0FBSztBQUNMLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUsxRCxNQUFNLE9BQWdCLFVBQVcsU0FBUSxpQkFBaUI7SUFDaEQsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUV4QixJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLEtBQUs7UUFDZCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3ZCO1lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxRQUFRO0lBQ0UsTUFBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQy9DLE1BQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUV6RDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUlELElBQUk7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQW1CLElBQUk7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7dUdBekNtQixVQUFVOzJGQUFWLFVBQVUsMEpBRnBCLEVBQUU7OzJGQUVRLFVBQVU7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7MEVBS0ssTUFBTTtzQkFEVCxLQUFLO2dCQWlCSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI0IEphbiAyMDIyXHJcbiAgICBcclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBCYXNlRWRpdENvbXBvbmVudCB9IGZyb20gXCIuL2Jhc2UtZWRpdC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZURpYWxvZyBleHRlbmRzIEJhc2VFZGl0Q29tcG9uZW50IHtcclxuICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgaXNPcGVuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzT3BlbjtcclxuICB9XHJcbiAgc2V0IGlzT3Blbih2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGlmICh0aGlzLmFuT25CZWZvcmVPcGVuKSB7XHJcbiAgICAgICAgdGhpcy5hbk9uQmVmb3JlT3BlbigpO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIHRoaXMub3BlbmVkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9pc09wZW4gPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgQE91dHB1dCgpIG9wZW5lZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGFuT25CZWZvcmVPcGVuPygpOiB2b2lkO1xyXG5cclxuICBvcGVuKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UocmV0dXJuVmFsdWU6IGFueSA9IFwiT0tcIikge1xyXG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VkLmVtaXQocmV0dXJuVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VkLmVtaXQoLTEpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,69 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
9
+
10
+ Created:
11
+ 20 Aug 2022
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ //Node
17
+ import { Component, Input } from "@angular/core";
18
+ //App
19
+ import { BaseComponent } from "./base.component";
20
+ import * as i0 from "@angular/core";
21
+ export class BaseList extends BaseComponent {
22
+ currentFilter = null;
23
+ //Items & Pagination
24
+ items;
25
+ totalItems = 0;
26
+ pageSize = 10;
27
+ skipItems = 0;
28
+ currentPage = 1;
29
+ showNoDataIfNoDataFound = true;
30
+ loadPageOne() {
31
+ this.skipItems = 0;
32
+ this.currentPage = 1;
33
+ this.loadPage();
34
+ }
35
+ reloadPage(drop2pageOne = false) {
36
+ if (drop2pageOne) {
37
+ this.loadPageOne();
38
+ }
39
+ else {
40
+ this.loadPage();
41
+ }
42
+ }
43
+ setFilter(filter) {
44
+ this.currentFilter = filter;
45
+ this.loadPageOne();
46
+ }
47
+ //Tos
48
+ toIndex(index) {
49
+ return ((this.currentPage - 1) * this.pageSize) + index + 1;
50
+ }
51
+ //Events
52
+ onPageChange(e) {
53
+ this.pageSize = e.take;
54
+ this.skipItems = e.skip;
55
+ this.currentPage = (this.skipItems / this.pageSize) + 1;
56
+ this.loadPage();
57
+ }
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaseList, deps: null, target: i0.ɵɵFactoryTarget.Component });
59
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BaseList, selector: "ng-component", inputs: { showNoDataIfNoDataFound: "showNoDataIfNoDataFound" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaseList, decorators: [{
62
+ type: Component,
63
+ args: [{
64
+ template: ''
65
+ }]
66
+ }], propDecorators: { showNoDataIfNoDataFound: [{
67
+ type: Input
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmFzZS9iYXNlLmxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsS0FBSztBQUNMLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLakQsTUFBTSxPQUFnQixRQUFTLFNBQVEsYUFBYTtJQUNsRCxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBRXJCLG9CQUFvQjtJQUNwQixLQUFLLENBQVE7SUFDYixVQUFVLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDdEIsU0FBUyxHQUFXLENBQUMsQ0FBQztJQUN0QixXQUFXLEdBQVcsQ0FBQyxDQUFDO0lBRWYsdUJBQXVCLEdBQVksSUFBSSxDQUFDO0lBSTFDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxVQUFVLENBQUMsZUFBd0IsS0FBSztRQUM3QyxJQUFJLFlBQVksRUFBRTtZQUNoQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7YUFDSTtZQUNILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTSxTQUFTLENBQUMsTUFBVztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUs7SUFDTCxPQUFPLENBQUMsS0FBSztRQUNYLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFFBQVE7SUFDUixZQUFZLENBQUMsQ0FBTTtRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7dUdBOUNtQixRQUFROzJGQUFSLFFBQVEsMklBRmxCLEVBQUU7OzJGQUVRLFFBQVE7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OEJBV1UsdUJBQXVCO3NCQUEvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIwIEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gXCIuL2Jhc2UuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VMaXN0IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgY3VycmVudEZpbHRlciA9IG51bGw7XHJcblxyXG4gIC8vSXRlbXMgJiBQYWdpbmF0aW9uXHJcbiAgaXRlbXM6IGFueVtdO1xyXG4gIHRvdGFsSXRlbXM6IG51bWJlciA9IDA7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IDEwO1xyXG4gIHNraXBJdGVtczogbnVtYmVyID0gMDtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuXHJcbiAgQElucHV0KCkgc2hvd05vRGF0YUlmTm9EYXRhRm91bmQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgbG9hZFBhZ2U/KHBhZ2U/OiBudW1iZXIpIDogdm9pZDtcclxuXHJcbiAgcHVibGljIGxvYWRQYWdlT25lKCkge1xyXG4gICAgdGhpcy5za2lwSXRlbXMgPSAwO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLmxvYWRQYWdlKCk7ICAgICAgXHJcbiAgfSAgXHJcblxyXG4gIHB1YmxpYyByZWxvYWRQYWdlKGRyb3AycGFnZU9uZTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAoZHJvcDJwYWdlT25lKSB7XHJcbiAgICAgIHRoaXMubG9hZFBhZ2VPbmUoKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmxvYWRQYWdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RmlsdGVyKGZpbHRlcjogYW55KSB7XHJcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSBmaWx0ZXI7XHJcbiAgICB0aGlzLmxvYWRQYWdlT25lKCk7XHJcbiAgfVxyXG5cclxuICAvL1Rvc1xyXG4gIHRvSW5kZXgoaW5kZXgpIHtcclxuICAgIHJldHVybiAoKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGFnZVNpemUpICsgaW5kZXggKyAxO1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvblBhZ2VDaGFuZ2UoZTogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gZS50YWtlO1xyXG4gICAgdGhpcy5za2lwSXRlbXMgPSBlLnNraXA7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gKHRoaXMuc2tpcEl0ZW1zIC8gdGhpcy5wYWdlU2l6ZSkgKyAxO1xyXG5cclxuICAgIHRoaXMubG9hZFBhZ2UoKTtcclxuICB9XHJcbn0iXX0=
@@ -0,0 +1,31 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
9
+
10
+ Created:
11
+ 20 Aug 2022
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ //Node
17
+ import { Component } from "@angular/core";
18
+ //App
19
+ import { BaseComponent } from "./base.component";
20
+ import * as i0 from "@angular/core";
21
+ export class BasePage extends BaseComponent {
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BasePage, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BasePage, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BasePage, decorators: [{
26
+ type: Component,
27
+ args: [{
28
+ template: ''
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmFzZS9iYXNlLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUtqRCxNQUFNLE9BQWdCLFFBQVMsU0FBUSxhQUFhO3VHQUE5QixRQUFROzJGQUFSLFFBQVEsMkVBRmxCLEVBQUU7OzJGQUVRLFFBQVE7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjAgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi9iYXNlLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlUGFnZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG59Il19
@@ -0,0 +1,66 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim@osovitny.com
8
+ Anatoly Osovitny anatoly@osovitny.com
9
+
10
+ Created:
11
+ 20 Aug 2022
12
+
13
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
+ </file>
15
+ */
16
+ //Node
17
+ import { Component } from "@angular/core";
18
+ //App
19
+ import { BasePage } from "./base.page";
20
+ import * as i0 from "@angular/core";
21
+ export class BasePagedPage extends BasePage {
22
+ currentFilter = null;
23
+ //Items & Pagination
24
+ items;
25
+ totalItems = 0;
26
+ pageSize = 10;
27
+ skipItems = 0;
28
+ currentPage = 1;
29
+ loadPageOne() {
30
+ this.skipItems = 0;
31
+ this.currentPage = 1;
32
+ this.loadPage();
33
+ }
34
+ reloadPage(drop2pageOne = false) {
35
+ if (drop2pageOne) {
36
+ this.loadPageOne();
37
+ }
38
+ else {
39
+ this.loadPage();
40
+ }
41
+ }
42
+ setFilter(filter) {
43
+ this.currentFilter = filter;
44
+ this.loadPageOne();
45
+ }
46
+ //Tos
47
+ toIndex(index) {
48
+ return ((this.currentPage - 1) * this.pageSize) + index + 1;
49
+ }
50
+ //Events
51
+ onPageChange(e) {
52
+ this.pageSize = e.take;
53
+ this.skipItems = e.skip;
54
+ this.currentPage = (this.skipItems / this.pageSize) + 1;
55
+ this.loadPage();
56
+ }
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BasePagedPage, deps: null, target: i0.ɵɵFactoryTarget.Component });
58
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BasePagedPage, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BasePagedPage, decorators: [{
61
+ type: Component,
62
+ args: [{
63
+ template: ''
64
+ }]
65
+ }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5wYWdlZC5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmFzZS9iYXNlLnBhZ2VkLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFLdkMsTUFBTSxPQUFnQixhQUFjLFNBQVEsUUFBUTtJQUNsRCxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBRXJCLG9CQUFvQjtJQUNwQixLQUFLLENBQVE7SUFDYixVQUFVLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZCLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDdEIsU0FBUyxHQUFXLENBQUMsQ0FBQztJQUN0QixXQUFXLEdBQVcsQ0FBQyxDQUFDO0lBSWpCLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxVQUFVLENBQUMsZUFBd0IsS0FBSztRQUM3QyxJQUFJLFlBQVksRUFBRTtZQUNoQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7YUFDSTtZQUNILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTSxTQUFTLENBQUMsTUFBVztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUs7SUFDTCxPQUFPLENBQUMsS0FBSztRQUNYLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFFBQVE7SUFDUixZQUFZLENBQUMsQ0FBTTtRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7dUdBNUNtQixhQUFhOzJGQUFiLGFBQWEsMkVBRnZCLEVBQUU7OzJGQUVRLGFBQWE7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjAgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEJhc2VQYWdlIH0gZnJvbSBcIi4vYmFzZS5wYWdlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VQYWdlZFBhZ2UgZXh0ZW5kcyBCYXNlUGFnZSB7XHJcbiAgY3VycmVudEZpbHRlciA9IG51bGw7XHJcblxyXG4gIC8vSXRlbXMgJiBQYWdpbmF0aW9uXHJcbiAgaXRlbXM6IGFueVtdO1xyXG4gIHRvdGFsSXRlbXM6IG51bWJlciA9IDA7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IDEwO1xyXG4gIHNraXBJdGVtczogbnVtYmVyID0gMDtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuXHJcbiAgcHVibGljIGxvYWRQYWdlPyhwYWdlPzogbnVtYmVyKSA6IHZvaWQ7XHJcblxyXG4gIHB1YmxpYyBsb2FkUGFnZU9uZSgpIHtcclxuICAgIHRoaXMuc2tpcEl0ZW1zID0gMDtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5sb2FkUGFnZSgpOyAgICAgIFxyXG4gIH0gIFxyXG5cclxuICBwdWJsaWMgcmVsb2FkUGFnZShkcm9wMnBhZ2VPbmU6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgaWYgKGRyb3AycGFnZU9uZSkge1xyXG4gICAgICB0aGlzLmxvYWRQYWdlT25lKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5sb2FkUGFnZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEZpbHRlcihmaWx0ZXI6IGFueSkge1xyXG4gICAgdGhpcy5jdXJyZW50RmlsdGVyID0gZmlsdGVyO1xyXG4gICAgdGhpcy5sb2FkUGFnZU9uZSgpO1xyXG4gIH1cclxuXHJcbiAgLy9Ub3NcclxuICB0b0luZGV4KGluZGV4KSB7XHJcbiAgICByZXR1cm4gKCh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2VTaXplKSArIGluZGV4ICsgMTtcclxuICB9ICBcclxuXHJcbiAgLy9FdmVudHNcclxuICBvblBhZ2VDaGFuZ2UoZTogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gZS50YWtlO1xyXG4gICAgdGhpcy5za2lwSXRlbXMgPSBlLnNraXA7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gKHRoaXMuc2tpcEl0ZW1zIC8gdGhpcy5wYWdlU2l6ZSkgKyAxO1xyXG5cclxuICAgIHRoaXMubG9hZFBhZ2UoKTtcclxuICB9XHJcbn0iXX0=