@osovitny/anatoly 2.15.11 → 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 +5120 -5972
  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 -45
  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 -35
  233. package/esm2020/lib/ui/components/identity/signout-button.component.mjs +0 -35
  234. package/esm2020/lib/ui/components/identity/signup-button.component.mjs +0 -34
  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 -193
  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 -5757
  256. package/fesm2020/osovitny-anatoly.mjs.map +0 -1
@@ -1,142 +0,0 @@
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 { Component, Input } from '@angular/core';
18
- //App
19
- import { BaseEditComponent } from '../../../components';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "@angular/forms";
22
- import * as i2 from "@angular/common";
23
- import * as i3 from "../../../components/card/card.component";
24
- import * as i4 from "../../../components/card/card-header.component";
25
- import * as i5 from "../../../components/card/card-body.component";
26
- import * as i6 from "../../../directives/native-element.directive";
27
- import * as i7 from "../../../validation/item-validation-summary.component";
28
- function CompanyComponent_anatoly_card_header_1_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelement(0, "anatoly-card-header", 13);
30
- } if (rf & 2) {
31
- const ctx_r0 = i0.ɵɵnextContext();
32
- i0.ɵɵproperty("title", ctx_r0.title);
33
- } }
34
- const _c0 = function (a0) { return { "has-error": a0 }; };
35
- export class CompanyComponent extends BaseEditComponent {
36
- get company() {
37
- return this._company;
38
- }
39
- set company(value) {
40
- this._company = value;
41
- if (value) {
42
- this.init();
43
- }
44
- }
45
- constructor(fb) {
46
- super();
47
- this.fb = fb;
48
- this.formGroupGenerated = false;
49
- //Inputs
50
- this.title = 'Company / Organization';
51
- this.isTitleVisible = true;
52
- }
53
- ngOnInit() {
54
- this.createFormGroup();
55
- this.init();
56
- }
57
- createFormGroup() {
58
- this.formGroup.addControl('company_name', this.fb.control('', []));
59
- this.formGroup.addControl('company_phone', this.fb.control('', []));
60
- this.formGroup.addControl('company_email', this.fb.control('', []));
61
- this.formGroup.addControl('company_websiteUrl', this.fb.control('', []));
62
- this.formGroupGenerated = true;
63
- }
64
- init() {
65
- if (!this.formGroupGenerated) {
66
- return;
67
- }
68
- if (this._company !== undefined) {
69
- let company = JSON.parse(this._company);
70
- this.setFormValue('company_name', company.name);
71
- this.setFormValue('company_phone', company.phone);
72
- this.setFormValue('company_email', company.email);
73
- this.setFormValue('company_websiteUrl', company.websiteUrl);
74
- }
75
- }
76
- getCompany() {
77
- const data = {
78
- name: this.getFormValue('company_name') || null,
79
- phone: this.getFormValue('company_phone') || null,
80
- email: this.getFormValue('company_email') || null,
81
- websiteUrl: this.getFormValue('company_websiteUrl') || null
82
- };
83
- return JSON.stringify(data);
84
- }
85
- }
86
- CompanyComponent.ɵfac = function CompanyComponent_Factory(t) { return new (t || CompanyComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder)); };
87
- CompanyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CompanyComponent, selectors: [["anatoly-forms-company"]], inputs: { title: "title", isTitleVisible: "isTitleVisible", company: "company" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 24, vars: 22, consts: [["classes", "card-primary card-outline"], [3, "title", 4, "ngIf"], [1, "row", 3, "formGroup"], [1, "form-group", "col-6", 3, "ngClass"], [1, "col-form-label"], ["type", "text", "formControlName", "company_name", "placeholder", "Company Name", 1, "form-control"], ["controlName", "company_name", "controlTitle", "Company Name", 3, "formGroup", "formSubmitted"], ["type", "tel", "formControlName", "company_phone", "placeholder", "Company Phone", 1, "form-control"], ["controlName", "company_phone", "controlTitle", "Company Phone", 3, "formGroup", "formSubmitted"], ["type", "email", "formControlName", "company_email", "placeholder", "Company Email", 1, "form-control"], ["controlName", "company_email", "controlTitle", "Company Email", 3, "formGroup", "formSubmitted"], ["type", "url", "placeholder", "https://example.com", "pattern", "https://.*", "size", "30", "formControlName", "company_websiteUrl", 1, "form-control"], ["controlName", "company_websiteUrl", "controlTitle", "Company website url", 3, "formGroup", "formSubmitted"], [3, "title"]], template: function CompanyComponent_Template(rf, ctx) { if (rf & 1) {
88
- i0.ɵɵelementStart(0, "anatoly-card", 0);
89
- i0.ɵɵtemplate(1, CompanyComponent_anatoly_card_header_1_Template, 1, 1, "anatoly-card-header", 1);
90
- i0.ɵɵelementStart(2, "anatoly-card-body")(3, "div", 2)(4, "div", 3)(5, "label", 4);
91
- i0.ɵɵtext(6, "Name");
92
- i0.ɵɵelementEnd();
93
- i0.ɵɵelement(7, "input", 5)(8, "anatoly-item-validation-summary", 6);
94
- i0.ɵɵelementEnd();
95
- i0.ɵɵelementStart(9, "div", 3)(10, "label", 4);
96
- i0.ɵɵtext(11, "Phone");
97
- i0.ɵɵelementEnd();
98
- i0.ɵɵelement(12, "input", 7)(13, "anatoly-item-validation-summary", 8);
99
- i0.ɵɵelementEnd();
100
- i0.ɵɵelementStart(14, "div", 3)(15, "label", 4);
101
- i0.ɵɵtext(16, "Email");
102
- i0.ɵɵelementEnd();
103
- i0.ɵɵelement(17, "input", 9)(18, "anatoly-item-validation-summary", 10);
104
- i0.ɵɵelementEnd();
105
- i0.ɵɵelementStart(19, "div", 3)(20, "label", 4);
106
- i0.ɵɵtext(21, "Website Url");
107
- i0.ɵɵelementEnd();
108
- i0.ɵɵelement(22, "input", 11)(23, "anatoly-item-validation-summary", 12);
109
- i0.ɵɵelementEnd()()()();
110
- } if (rf & 2) {
111
- i0.ɵɵadvance(1);
112
- i0.ɵɵproperty("ngIf", ctx.isTitleVisible);
113
- i0.ɵɵadvance(2);
114
- i0.ɵɵproperty("formGroup", ctx.formGroup);
115
- i0.ɵɵadvance(1);
116
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(14, _c0, ctx.isControlInvalid("company_name")));
117
- i0.ɵɵadvance(4);
118
- i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
119
- i0.ɵɵadvance(1);
120
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c0, ctx.isControlInvalid("company_phone")));
121
- i0.ɵɵadvance(4);
122
- i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
123
- i0.ɵɵadvance(1);
124
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c0, ctx.isControlInvalid("company_email")));
125
- i0.ɵɵadvance(4);
126
- i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
127
- i0.ɵɵadvance(1);
128
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(20, _c0, ctx.isControlInvalid("company_websiteUrl")));
129
- i0.ɵɵadvance(4);
130
- i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted);
131
- } }, dependencies: [i2.NgClass, i2.NgIf, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.PatternValidator, i1.FormGroupDirective, i1.FormControlName, i3.CardComponent, i4.CardHeaderComponent, i5.CardBodyComponent, i6.NativeElementDirective, i7.ItemValidationSummaryComponent], encapsulation: 2 });
132
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompanyComponent, [{
133
- type: Component,
134
- args: [{ selector: 'anatoly-forms-company', template: "<anatoly-card classes='card-primary card-outline'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title'></anatoly-card-header>\r\n <anatoly-card-body>\r\n <div [formGroup]='formGroup' class='row'>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_name') }\">\r\n <label class='col-form-label'>Name</label>\r\n <input type='text' class='form-control' formControlName='company_name' placeholder='Company Name'>\r\n <anatoly-item-validation-summary controlName='company_name'\r\n controlTitle='Company Name'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_phone') }\">\r\n <label class='col-form-label'>Phone</label>\r\n <input type='tel' class='form-control' formControlName='company_phone' placeholder='Company Phone'>\r\n <anatoly-item-validation-summary controlName='company_phone'\r\n controlTitle='Company Phone'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_email') }\">\r\n <label class='col-form-label'>Email</label>\r\n <input type='email' class='form-control' formControlName='company_email' placeholder='Company Email'>\r\n <anatoly-item-validation-summary controlName='company_email'\r\n controlTitle='Company Email'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_websiteUrl') }\">\r\n <label class='col-form-label'>Website Url</label>\r\n <input type='url' placeholder='https://example.com' pattern='https://.*' size='30'\r\n class='form-control' formControlName='company_websiteUrl'>\r\n <anatoly-item-validation-summary controlName='company_websiteUrl'\r\n controlTitle='Company website url'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
135
- }], function () { return [{ type: i1.FormBuilder }]; }, { title: [{
136
- type: Input
137
- }], isTitleVisible: [{
138
- type: Input
139
- }], company: [{
140
- type: Input
141
- }] }); })();
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy9jb21wYW55L2NvbXBhbnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvY29tcGFueS9jb21wYW55LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELEtBQUs7QUFDTCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7OztJQ3BCdEQsMENBQWtGOzs7SUFBdEMsb0NBQWU7OztBRDBCN0QsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGlCQUFpQjtJQVVyRCxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUV0QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELFlBQW9CLEVBQWU7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFEVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBbEJuQyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFM0IsUUFBUTtRQUNDLFVBQUssR0FBRyx3QkFBd0IsQ0FBQztRQUNqQyxtQkFBYyxHQUFHLElBQUksQ0FBQztJQWdCL0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDNUIsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMvQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV4QyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxJQUFJLEdBQUc7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJO1lBQy9DLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUk7WUFDakQsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSTtZQUNqRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUk7U0FDNUQsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOztnRkFoRVUsZ0JBQWdCO21FQUFoQixnQkFBZ0I7UUMzQjdCLHVDQUFrRDtRQUNoRCxpR0FBa0Y7UUFDbEYseUNBQW1CLGFBQUEsYUFBQSxlQUFBO1FBR2lCLG9CQUFJO1FBQUEsaUJBQVE7UUFDMUMsMkJBQWtHLHlDQUFBO1FBTXBHLGlCQUFNO1FBQ04sOEJBQTRGLGdCQUFBO1FBQzVELHNCQUFLO1FBQUEsaUJBQVE7UUFDM0MsNEJBQW1HLDBDQUFBO1FBTXJHLGlCQUFNO1FBQ04sK0JBQTRGLGdCQUFBO1FBQzVELHNCQUFLO1FBQUEsaUJBQVE7UUFDM0MsNEJBQXFHLDJDQUFBO1FBTXZHLGlCQUFNO1FBQ04sK0JBQWlHLGdCQUFBO1FBQ2pFLDRCQUFXO1FBQUEsaUJBQVE7UUFDakQsNkJBQ2lFLDJDQUFBO1FBTW5FLGlCQUFNLEVBQUEsRUFBQSxFQUFBOztRQXZDWSxlQUFvQjtRQUFwQix5Q0FBb0I7UUFFbEMsZUFBdUI7UUFBdkIseUNBQXVCO1FBQ0csZUFBNEQ7UUFBNUQsMkZBQTREO1FBS3ZELGVBQXVCO1FBQXZCLHlDQUF1QixvQ0FBQTtRQUk1QixlQUE2RDtRQUE3RCw0RkFBNkQ7UUFLeEQsZUFBdUI7UUFBdkIseUNBQXVCLG9DQUFBO1FBSTVCLGVBQTZEO1FBQTdELDRGQUE2RDtRQUt4RCxlQUF1QjtRQUF2Qix5Q0FBdUIsb0NBQUE7UUFJNUIsZUFBa0U7UUFBbEUsaUdBQWtFO1FBTTdELGVBQXVCO1FBQXZCLHlDQUF1QixvQ0FBQTs7dUZEVm5ELGdCQUFnQjtjQUo1QixTQUFTOzJCQUNFLHVCQUF1Qjs4REFVeEIsS0FBSztrQkFBYixLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUdGLE9BQU87a0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAwMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBCYXNlRWRpdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWZvcm1zLWNvbXBhbnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wYW55LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcGFueUNvbXBvbmVudCBleHRlbmRzIEJhc2VFZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvL1ByaXZhdGVcclxuICBwcml2YXRlIF9jb21wYW55O1xyXG5cclxuICBmb3JtR3JvdXBHZW5lcmF0ZWQgPSBmYWxzZTtcclxuXHJcbiAgLy9JbnB1dHNcclxuICBASW5wdXQoKSB0aXRsZSA9ICdDb21wYW55IC8gT3JnYW5pemF0aW9uJztcclxuICBASW5wdXQoKSBpc1RpdGxlVmlzaWJsZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGNvbXBhbnkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29tcGFueTtcclxuICB9XHJcbiAgc2V0IGNvbXBhbnkodmFsdWUpIHtcclxuICAgIHRoaXMuX2NvbXBhbnkgPSB2YWx1ZTtcclxuXHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVGb3JtR3JvdXAoKSB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdjb21wYW55X25hbWUnLCB0aGlzLmZiLmNvbnRyb2woJycsIFtdKSk7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdjb21wYW55X3Bob25lJywgdGhpcy5mYi5jb250cm9sKCcnLCBbXSkpO1xyXG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnY29tcGFueV9lbWFpbCcsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2NvbXBhbnlfd2Vic2l0ZVVybCcsIHRoaXMuZmIuY29udHJvbCgnJywgW10pKTtcclxuXHJcbiAgICB0aGlzLmZvcm1Hcm91cEdlbmVyYXRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwR2VuZXJhdGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fY29tcGFueSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGxldCBjb21wYW55ID0gSlNPTi5wYXJzZSh0aGlzLl9jb21wYW55KTtcclxuXHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlKCdjb21wYW55X25hbWUnLCBjb21wYW55Lm5hbWUpO1xyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgnY29tcGFueV9waG9uZScsIGNvbXBhbnkucGhvbmUpO1xyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgnY29tcGFueV9lbWFpbCcsIGNvbXBhbnkuZW1haWwpO1xyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgnY29tcGFueV93ZWJzaXRlVXJsJywgY29tcGFueS53ZWJzaXRlVXJsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbXBhbnkoKSB7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICBuYW1lOiB0aGlzLmdldEZvcm1WYWx1ZSgnY29tcGFueV9uYW1lJykgfHwgbnVsbCxcclxuICAgICAgcGhvbmU6IHRoaXMuZ2V0Rm9ybVZhbHVlKCdjb21wYW55X3Bob25lJykgfHwgbnVsbCxcclxuICAgICAgZW1haWw6IHRoaXMuZ2V0Rm9ybVZhbHVlKCdjb21wYW55X2VtYWlsJykgfHwgbnVsbCxcclxuICAgICAgd2Vic2l0ZVVybDogdGhpcy5nZXRGb3JtVmFsdWUoJ2NvbXBhbnlfd2Vic2l0ZVVybCcpIHx8IG51bGxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEpO1xyXG4gIH1cclxufVxyXG4iLCI8YW5hdG9seS1jYXJkIGNsYXNzZXM9J2NhcmQtcHJpbWFyeSBjYXJkLW91dGxpbmUnPlxyXG4gIDxhbmF0b2x5LWNhcmQtaGVhZGVyICpuZ0lmPSdpc1RpdGxlVmlzaWJsZScgW3RpdGxlXT0ndGl0bGUnPjwvYW5hdG9seS1jYXJkLWhlYWRlcj5cclxuICA8YW5hdG9seS1jYXJkLWJvZHk+XHJcbiAgICA8ZGl2ICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJyAgY2xhc3M9J3Jvdyc+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTYnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnY29tcGFueV9uYW1lJykgfVwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz0nY29sLWZvcm0tbGFiZWwnPk5hbWU8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J2NvbXBhbnlfbmFtZScgcGxhY2Vob2xkZXI9J0NvbXBhbnkgTmFtZSc+XHJcbiAgICAgICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkgY29udHJvbE5hbWU9J2NvbXBhbnlfbmFtZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J0NvbXBhbnkgTmFtZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz0nZm9ybS1ncm91cCBjb2wtNicgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKCdjb21wYW55X3Bob25lJykgfVwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz0nY29sLWZvcm0tbGFiZWwnPlBob25lPC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndGVsJyBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J2NvbXBhbnlfcGhvbmUnIHBsYWNlaG9sZGVyPSdDb21wYW55IFBob25lJz5cclxuICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBjb250cm9sTmFtZT0nY29tcGFueV9waG9uZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J0NvbXBhbnkgUGhvbmUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTYnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnY29tcGFueV9lbWFpbCcpIH1cIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9J2NvbC1mb3JtLWxhYmVsJz5FbWFpbDwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9J2VtYWlsJyBjbGFzcz0nZm9ybS1jb250cm9sJyBmb3JtQ29udHJvbE5hbWU9J2NvbXBhbnlfZW1haWwnIHBsYWNlaG9sZGVyPSdDb21wYW55IEVtYWlsJz5cclxuICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBjb250cm9sTmFtZT0nY29tcGFueV9lbWFpbCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sVGl0bGU9J0NvbXBhbnkgRW1haWwnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnPlxyXG4gICAgICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9J2Zvcm0tZ3JvdXAgY29sLTYnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZCgnY29tcGFueV93ZWJzaXRlVXJsJykgfVwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz0nY29sLWZvcm0tbGFiZWwnPldlYnNpdGUgVXJsPC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT0ndXJsJyBwbGFjZWhvbGRlcj0naHR0cHM6Ly9leGFtcGxlLmNvbScgcGF0dGVybj0naHR0cHM6Ly8uKicgc2l6ZT0nMzAnXHJcbiAgICAgICAgICAgICAgIGNsYXNzPSdmb3JtLWNvbnRyb2wnIGZvcm1Db250cm9sTmFtZT0nY29tcGFueV93ZWJzaXRlVXJsJz5cclxuICAgICAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBjb250cm9sTmFtZT0nY29tcGFueV93ZWJzaXRlVXJsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUaXRsZT0nQ29tcGFueSB3ZWJzaXRlIHVybCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtU3VibWl0dGVkXT0nZm9ybVN1Ym1pdHRlZCc+XHJcbiAgICAgICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L2FuYXRvbHktY2FyZC1ib2R5PlxyXG48L2FuYXRvbHktY2FyZD5cclxuIl19
@@ -1,99 +0,0 @@
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 { Component, Input } from '@angular/core';
18
- //App
19
- import { BaseEditComponent } from '../../../../components/base/base-edit.component';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "../../../../../data/services/core-api.service";
22
- import * as i2 from "../../../../../core/services/appcontext.service";
23
- import * as i3 from "@angular/common";
24
- import * as i4 from "@angular/forms";
25
- import * as i5 from "../../../../directives/native-element.directive";
26
- function TimezoneDropdownlist_label_1_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelementStart(0, "label", 4);
28
- i0.ɵɵtext(1, "Timezone");
29
- i0.ɵɵelementEnd();
30
- } }
31
- function TimezoneDropdownlist_option_3_Template(rf, ctx) { if (rf & 1) {
32
- i0.ɵɵelementStart(0, "option", 5);
33
- i0.ɵɵtext(1);
34
- i0.ɵɵelementEnd();
35
- } if (rf & 2) {
36
- const timezone_r2 = ctx.$implicit;
37
- i0.ɵɵproperty("value", timezone_r2.code);
38
- i0.ɵɵadvance(1);
39
- i0.ɵɵtextInterpolate2(" (", timezone_r2.offset, ") ", timezone_r2.name, " ");
40
- } }
41
- export class TimezoneDropdownlist extends BaseEditComponent {
42
- constructor(api, appContext) {
43
- super();
44
- this.api = api;
45
- this.appContext = appContext;
46
- //Inputs
47
- this.title = 'Timezone';
48
- this.isTitleVisible = true;
49
- this.controlName = 'timezone';
50
- }
51
- ngOnInit() {
52
- this.setValues();
53
- }
54
- setValues() {
55
- this.api.getTimezonesJsonFile(data => {
56
- this.timezoneListItems = data.reverse();
57
- });
58
- try {
59
- let timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
60
- this.setFormValue(this.controlName, timeZone);
61
- }
62
- catch {
63
- }
64
- let context = this.appContext.current;
65
- let timeZone = context?.account?.timezone;
66
- if (timeZone) {
67
- this.setFormValue(this.controlName, timeZone);
68
- }
69
- }
70
- }
71
- TimezoneDropdownlist.ɵfac = function TimezoneDropdownlist_Factory(t) { return new (t || TimezoneDropdownlist)(i0.ɵɵdirectiveInject(i1.CoreApiService), i0.ɵɵdirectiveInject(i2.AppContextService)); };
72
- TimezoneDropdownlist.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TimezoneDropdownlist, selectors: [["anatoly-forms-timezone-dropdownlist"]], inputs: { title: "title", isTitleVisible: "isTitleVisible", controlName: "controlName", controlTitle: "controlTitle" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 4, consts: [[1, "form-group", 3, "formGroup"], ["class", "col-form-label", 4, "ngIf"], [1, "form-control", 3, "formControlName"], [3, "value", 4, "ngFor", "ngForOf"], [1, "col-form-label"], [3, "value"]], template: function TimezoneDropdownlist_Template(rf, ctx) { if (rf & 1) {
73
- i0.ɵɵelementStart(0, "div", 0);
74
- i0.ɵɵtemplate(1, TimezoneDropdownlist_label_1_Template, 2, 0, "label", 1);
75
- i0.ɵɵelementStart(2, "select", 2);
76
- i0.ɵɵtemplate(3, TimezoneDropdownlist_option_3_Template, 2, 3, "option", 3);
77
- i0.ɵɵelementEnd()();
78
- } if (rf & 2) {
79
- i0.ɵɵproperty("formGroup", ctx.formGroup);
80
- i0.ɵɵadvance(1);
81
- i0.ɵɵproperty("ngIf", ctx.isTitleVisible);
82
- i0.ɵɵadvance(1);
83
- i0.ɵɵproperty("formControlName", ctx.controlName);
84
- i0.ɵɵadvance(1);
85
- i0.ɵɵproperty("ngForOf", ctx.timezoneListItems);
86
- } }, dependencies: [i3.NgForOf, i3.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i5.NativeElementDirective], encapsulation: 2 });
87
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimezoneDropdownlist, [{
88
- type: Component,
89
- args: [{ selector: 'anatoly-forms-timezone-dropdownlist', template: "<div [formGroup]='formGroup' class='form-group'>\r\n <label *ngIf='isTitleVisible' class='col-form-label'>Timezone</label>\r\n <select [formControlName]='controlName' class='form-control'>\r\n <option *ngFor='let timezone of timezoneListItems'\r\n [value]='timezone.code'>\r\n ({{timezone.offset}}) {{timezone.name}}\r\n </option>\r\n </select>\r\n</div>\r\n" }]
90
- }], function () { return [{ type: i1.CoreApiService }, { type: i2.AppContextService }]; }, { title: [{
91
- type: Input
92
- }], isTitleVisible: [{
93
- type: Input
94
- }], controlName: [{
95
- type: Input
96
- }], controlTitle: [{
97
- type: Input
98
- }] }); })();
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUuZHJvcGRvd25saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvZHJvcGRvd25saXN0cy90aW1lem9uZS90aW1lem9uZS5kcm9wZG93bmxpc3QudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy9kcm9wZG93bmxpc3RzL3RpbWV6b25lL3RpbWV6b25lLmRyb3Bkb3dubGlzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELEtBQUs7QUFDTCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7Ozs7SUNuQmxGLGdDQUFxRDtJQUFBLHdCQUFRO0lBQUEsaUJBQVE7OztJQUVuRSxpQ0FDZ0M7SUFDOUIsWUFDRjtJQUFBLGlCQUFTOzs7SUFGRCx3Q0FBdUI7SUFDN0IsZUFDRjtJQURFLDRFQUNGOztBRDZCSixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsaUJBQWlCO0lBU3pELFlBQ1UsR0FBbUIsRUFDbkIsVUFBNkI7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFGQSxRQUFHLEdBQUgsR0FBRyxDQUFnQjtRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQVJ2QyxRQUFRO1FBQ0MsVUFBSyxHQUFHLFVBQVUsQ0FBQztRQUNuQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixnQkFBVyxHQUFHLFVBQVUsQ0FBQztJQU9sQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUk7WUFDRixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUMvQztRQUNELE1BQU07U0FDTDtRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3RDLElBQUksUUFBUSxHQUFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBRTFDLElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzs7d0ZBckNVLG9CQUFvQjt1RUFBcEIsb0JBQW9CO1FDbkNqQyw4QkFBZ0Q7UUFDOUMseUVBQXFFO1FBQ3JFLGlDQUE2RDtRQUMzRCwyRUFHUztRQUNYLGlCQUFTLEVBQUE7O1FBUE4seUNBQXVCO1FBQ2xCLGVBQW9CO1FBQXBCLHlDQUFvQjtRQUNwQixlQUErQjtRQUEvQixpREFBK0I7UUFDUixlQUFvQjtRQUFwQiwrQ0FBb0I7O3VGRGdDeEMsb0JBQW9CO2NBSmhDLFNBQVM7MkJBQ0UscUNBQXFDO2lHQU90QyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMDIgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE3LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBCYXNlRWRpdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvYmFzZS9iYXNlLWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvcmVBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGF0YS9zZXJ2aWNlcy9jb3JlLWFwaS5zZXJ2aWNlJztcclxuXHJcbmludGVyZmFjZSBUaW1lem9uZSB7XHJcbiAgY29kZTogc3RyaW5nLFxyXG4gIG5hbWU6IHN0cmluZyxcclxuICBvZmZzZXQ6IHN0cmluZyxcclxuICBvZmZzZXRfc2Vjb25kczogbnVtYmVyXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1mb3Jtcy10aW1lem9uZS1kcm9wZG93bmxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lem9uZS5kcm9wZG93bmxpc3QuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWV6b25lRHJvcGRvd25saXN0IGV4dGVuZHMgQmFzZUVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHRpbWV6b25lTGlzdEl0ZW1zOiBUaW1lem9uZVtdO1xyXG5cclxuICAvL0lucHV0c1xyXG4gIEBJbnB1dCgpIHRpdGxlID0gJ1RpbWV6b25lJztcclxuICBASW5wdXQoKSBpc1RpdGxlVmlzaWJsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgY29udHJvbE5hbWUgPSAndGltZXpvbmUnO1xyXG4gIEBJbnB1dCgpIGNvbnRyb2xUaXRsZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXBpOiBDb3JlQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0VmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLmFwaS5nZXRUaW1lem9uZXNKc29uRmlsZShkYXRhID0+IHtcclxuICAgICAgdGhpcy50aW1lem9uZUxpc3RJdGVtcyA9IGRhdGEucmV2ZXJzZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IHRpbWVab25lID0gSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lO1xyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSh0aGlzLmNvbnRyb2xOYW1lLCB0aW1lWm9uZSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCB7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGNvbnRleHQgPSB0aGlzLmFwcENvbnRleHQuY3VycmVudDtcclxuICAgIGxldCB0aW1lWm9uZSA9IGNvbnRleHQ/LmFjY291bnQ/LnRpbWV6b25lO1xyXG5cclxuICAgIGlmICh0aW1lWm9uZSkge1xyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSh0aGlzLmNvbnRyb2xOYW1lLCB0aW1lWm9uZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCcgY2xhc3M9J2Zvcm0tZ3JvdXAnPlxyXG4gIDxsYWJlbCAqbmdJZj0naXNUaXRsZVZpc2libGUnIGNsYXNzPSdjb2wtZm9ybS1sYWJlbCc+VGltZXpvbmU8L2xhYmVsPlxyXG4gIDxzZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09J2NvbnRyb2xOYW1lJyBjbGFzcz0nZm9ybS1jb250cm9sJz5cclxuICAgIDxvcHRpb24gKm5nRm9yPSdsZXQgdGltZXpvbmUgb2YgdGltZXpvbmVMaXN0SXRlbXMnXHJcbiAgICAgICAgICAgIFt2YWx1ZV09J3RpbWV6b25lLmNvZGUnPlxyXG4gICAgICAoe3t0aW1lem9uZS5vZmZzZXR9fSkgIHt7dGltZXpvbmUubmFtZX19XHJcbiAgICA8L29wdGlvbj5cclxuICA8L3NlbGVjdD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,136 +0,0 @@
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 { Component, Input, EventEmitter, Output } from '@angular/core';
18
- //App
19
- import { BaseEditComponent } from '../../../components/base/base-edit.component';
20
- import { Utils } from '../../../../core/utils';
21
- import * as i0 from "@angular/core";
22
- import * as i1 from "@angular/common";
23
- import * as i2 from "@angular/forms";
24
- import * as i3 from "../../../directives/native-element.directive";
25
- import * as i4 from "../../../validation/item-validation-summary.component";
26
- function UrlSlugComponent_label_4_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelementStart(0, "label", 7);
28
- i0.ɵɵtext(1);
29
- i0.ɵɵelementStart(2, "span", 8);
30
- i0.ɵɵtext(3);
31
- i0.ɵɵelementEnd()();
32
- } if (rf & 2) {
33
- const ctx_r0 = i0.ɵɵnextContext();
34
- i0.ɵɵadvance(1);
35
- i0.ɵɵtextInterpolate1(" ", ctx_r0.title, " ");
36
- i0.ɵɵadvance(2);
37
- i0.ɵɵtextInterpolate(ctx_r0.urlPrefix);
38
- } }
39
- function UrlSlugComponent_div_6_Template(rf, ctx) { if (rf & 1) {
40
- i0.ɵɵelementStart(0, "div", 9)(1, "a", 10);
41
- i0.ɵɵtext(2, "Go");
42
- i0.ɵɵelementEnd()();
43
- } if (rf & 2) {
44
- const ctx_r1 = i0.ɵɵnextContext();
45
- i0.ɵɵadvance(1);
46
- i0.ɵɵpropertyInterpolate2("href", "", ctx_r1.urlPrefix, "", ctx_r1.hrefGo, "", i0.ɵɵsanitizeUrl);
47
- } }
48
- const _c0 = function (a0) { return { "has-error": a0 }; };
49
- export class UrlSlugComponent extends BaseEditComponent {
50
- constructor() {
51
- super();
52
- this.firstValue = true;
53
- //Inputs
54
- this.title = 'Permalink:';
55
- this.isTitleVisible = true;
56
- this.isGoButtonVisible = true;
57
- //Outputs
58
- this.generating = new EventEmitter();
59
- }
60
- ngOnInit() {
61
- this.startWatching();
62
- }
63
- generateUrlSlug(text) {
64
- let slugedText = Utils.slugify(text);
65
- let event = { urlSlug: slugedText };
66
- this.generating.emit(event);
67
- this.setFormValue(this.controlName, event.urlSlug);
68
- }
69
- startWatching() {
70
- this.subs.sink = this.formGroup.get(this.watchedControlName).valueChanges.subscribe({
71
- next: (value) => {
72
- if (this.firstValue) {
73
- this.firstValue = false;
74
- return;
75
- }
76
- this.generateUrlSlug(value);
77
- }
78
- });
79
- this.subs.sink = this.formGroup.get(this.controlName).valueChanges.subscribe({
80
- next: (value) => {
81
- this.hrefGo = value;
82
- }
83
- });
84
- }
85
- //Events
86
- onUrlSlugChange() {
87
- let text = this.getFormValue(this.controlName);
88
- this.generateUrlSlug(text);
89
- }
90
- }
91
- UrlSlugComponent.ɵfac = function UrlSlugComponent_Factory(t) { return new (t || UrlSlugComponent)(); };
92
- UrlSlugComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UrlSlugComponent, selectors: [["anatoly-forms-urlslug"]], inputs: { title: "title", isTitleVisible: "isTitleVisible", controlName: "controlName", controlTitle: "controlTitle", class: "class", watchedControlName: "watchedControlName", urlPrefix: "urlPrefix", isGoButtonVisible: "isGoButtonVisible" }, outputs: { generating: "generating" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 14, consts: [[3, "formGroup", "ngClass"], [1, "d-flex", "align-items-end"], [3, "formGroup", "formSubmitted", "controlName", "controlTitle"], [1, "form-group"], ["class", "col-form-label", 4, "ngIf"], ["type", "text", "placeholder", "Type url slug here", 1, "form-control", 3, "formControlName", "focusout"], ["class", "form-group flex-shrink-1", 4, "ngIf"], [1, "col-form-label"], [1, "urlPrefix"], [1, "form-group", "flex-shrink-1"], ["target", "_blank", 1, "btn", "btn-primary", 3, "href"]], template: function UrlSlugComponent_Template(rf, ctx) { if (rf & 1) {
93
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
94
- i0.ɵɵelement(2, "anatoly-item-validation-summary", 2);
95
- i0.ɵɵelementStart(3, "div", 3);
96
- i0.ɵɵtemplate(4, UrlSlugComponent_label_4_Template, 4, 2, "label", 4);
97
- i0.ɵɵelementStart(5, "input", 5);
98
- i0.ɵɵlistener("focusout", function UrlSlugComponent_Template_input_focusout_5_listener() { return ctx.onUrlSlugChange(); });
99
- i0.ɵɵelementEnd()();
100
- i0.ɵɵtemplate(6, UrlSlugComponent_div_6_Template, 3, 2, "div", 6);
101
- i0.ɵɵelementEnd()();
102
- } if (rf & 2) {
103
- i0.ɵɵclassMapInterpolate1("permalink form-group ", ctx.class, "");
104
- i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(12, _c0, ctx.isControlInvalid(ctx.controlName)));
105
- i0.ɵɵadvance(2);
106
- i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted)("controlName", ctx.controlName)("controlTitle", ctx.controlTitle);
107
- i0.ɵɵadvance(2);
108
- i0.ɵɵproperty("ngIf", ctx.isTitleVisible);
109
- i0.ɵɵadvance(1);
110
- i0.ɵɵproperty("formControlName", ctx.controlName);
111
- i0.ɵɵadvance(1);
112
- i0.ɵɵproperty("ngIf", ctx.isGoButtonVisible);
113
- } }, dependencies: [i1.NgClass, i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i3.NativeElementDirective, i4.ItemValidationSummaryComponent], encapsulation: 2 });
114
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UrlSlugComponent, [{
115
- type: Component,
116
- args: [{ selector: 'anatoly-forms-urlslug', template: "<div [formGroup]='formGroup' [ngClass]=\"{'has-error': isControlInvalid(controlName)}\"\r\n class=\"permalink form-group {{class}}\">\r\n <div class=\"d-flex align-items-end\">\r\n <anatoly-item-validation-summary [formGroup]='formGroup' [formSubmitted]='formSubmitted' [controlName]='controlName'\r\n [controlTitle]='controlTitle'>\r\n </anatoly-item-validation-summary>\r\n <div class=\"form-group\">\r\n <label *ngIf='isTitleVisible' class='col-form-label'>\r\n {{ title }}\r\n <span class=\"urlPrefix\">{{ urlPrefix }}</span>\r\n </label>\r\n <input type='text' class='form-control' [formControlName]='controlName' placeholder='Type url slug here'\r\n (focusout)='onUrlSlugChange()' />\r\n </div>\r\n\r\n <div class=\"form-group flex-shrink-1\" *ngIf=\"isGoButtonVisible\">\r\n <a href=\"{{urlPrefix}}{{hrefGo}}\" target=\"_blank\" class=\"btn btn-primary\">Go</a>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
117
- }], function () { return []; }, { title: [{
118
- type: Input
119
- }], isTitleVisible: [{
120
- type: Input
121
- }], controlName: [{
122
- type: Input
123
- }], controlTitle: [{
124
- type: Input
125
- }], class: [{
126
- type: Input
127
- }], watchedControlName: [{
128
- type: Input
129
- }], urlPrefix: [{
130
- type: Input
131
- }], isGoButtonVisible: [{
132
- type: Input
133
- }], generating: [{
134
- type: Output
135
- }] }); })();
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsc2x1Zy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy91cmxzbHVnL3VybHNsdWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvdXJsc2x1Zy91cmxzbHVnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTFGLEtBQUs7QUFDTCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7SUNkekMsZ0NBQXFEO0lBQ25ELFlBQ0E7SUFBQSwrQkFBd0I7SUFBQSxZQUFlO0lBQUEsaUJBQU8sRUFBQTs7O0lBRDlDLGVBQ0E7SUFEQSw2Q0FDQTtJQUF3QixlQUFlO0lBQWYsc0NBQWU7OztJQU0zQyw4QkFBZ0UsWUFBQTtJQUNZLGtCQUFFO0lBQUEsaUJBQUksRUFBQTs7O0lBQTdFLGVBQThCO0lBQTlCLGdHQUE4Qjs7O0FEV3ZDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxpQkFBaUI7SUFpQnJEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFqQlYsZUFBVSxHQUFZLElBQUksQ0FBQztRQUczQixRQUFRO1FBQ0MsVUFBSyxHQUFXLFlBQVksQ0FBQztRQUM3QixtQkFBYyxHQUFHLElBQUksQ0FBQztRQU10QixzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFFbEMsU0FBUztRQUNDLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUk3RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sZUFBZSxDQUFDLElBQUk7UUFDMUIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLEtBQUssR0FBRyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUVwQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7WUFDbEYsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztvQkFDeEIsT0FBTztpQkFDUjtnQkFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztZQUMzRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUN0QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7SUFDUixlQUFlO1FBQ2IsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOztnRkF6RFUsZ0JBQWdCO21FQUFoQixnQkFBZ0I7UUMzQjdCLDhCQUN5QyxhQUFBO1FBRXJDLHFEQUVrQztRQUNsQyw4QkFBd0I7UUFDdEIscUVBR1E7UUFDUixnQ0FDbUM7UUFBakMsa0dBQVkscUJBQWlCLElBQUM7UUFEaEMsaUJBQ21DLEVBQUE7UUFHckMsaUVBRU07UUFDUixpQkFBTSxFQUFBOztRQWpCTixpRUFBc0M7UUFEbkMseUNBQXVCLCtFQUFBO1FBR1MsZUFBdUI7UUFBdkIseUNBQXVCLG9DQUFBLGdDQUFBLGtDQUFBO1FBSTlDLGVBQW9CO1FBQXBCLHlDQUFvQjtRQUlZLGVBQStCO1FBQS9CLGlEQUErQjtRQUlsQyxlQUF1QjtRQUF2Qiw0Q0FBdUI7O3VGRFlyRCxnQkFBZ0I7Y0FKNUIsU0FBUzsyQkFDRSx1QkFBdUI7c0NBUXhCLEtBQUs7a0JBQWIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFHSSxVQUFVO2tCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDAyIEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNy0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQmFzZUVkaXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Jhc2UvYmFzZS1lZGl0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FuYXRvbHktZm9ybXMtdXJsc2x1ZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VybHNsdWcuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcmxTbHVnQ29tcG9uZW50IGV4dGVuZHMgQmFzZUVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGZpcnN0VmFsdWU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGhyZWZHbzogc3RyaW5nO1xyXG5cclxuICAvL0lucHV0c1xyXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnUGVybWFsaW5rOic7XHJcbiAgQElucHV0KCkgaXNUaXRsZVZpc2libGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY29udHJvbFRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZztcclxuICBASW5wdXQoKSB3YXRjaGVkQ29udHJvbE5hbWU6IHN0cmluZztcclxuICBASW5wdXQoKSB1cmxQcmVmaXg6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0dvQnV0dG9uVmlzaWJsZSA9IHRydWU7XHJcbiAgXHJcbiAgLy9PdXRwdXRzXHJcbiAgQE91dHB1dCgpIGdlbmVyYXRpbmc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3RhcnRXYXRjaGluZygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZVVybFNsdWcodGV4dCkge1xyXG4gICAgbGV0IHNsdWdlZFRleHQgPSBVdGlscy5zbHVnaWZ5KHRleHQpO1xyXG4gICAgbGV0IGV2ZW50ID0geyB1cmxTbHVnOiBzbHVnZWRUZXh0IH07XHJcblxyXG4gICAgdGhpcy5nZW5lcmF0aW5nLmVtaXQoZXZlbnQpO1xyXG5cclxuICAgIHRoaXMuc2V0Rm9ybVZhbHVlKHRoaXMuY29udHJvbE5hbWUsICBldmVudC51cmxTbHVnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhcnRXYXRjaGluZygpIHtcclxuICAgIHRoaXMuc3Vicy5zaW5rID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMud2F0Y2hlZENvbnRyb2xOYW1lKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlyc3RWYWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5maXJzdFZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgIHRoaXMuZ2VuZXJhdGVVcmxTbHVnKHZhbHVlKTsgXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc3Vicy5zaW5rID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuY29udHJvbE5hbWUpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAodmFsdWUpID0+IHtcclxuICAgICAgICB0aGlzLmhyZWZHbyA9IHZhbHVlOyBcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0V2ZW50c1xyXG4gIG9uVXJsU2x1Z0NoYW5nZSgpe1xyXG4gICAgbGV0IHRleHQgPSB0aGlzLmdldEZvcm1WYWx1ZSh0aGlzLmNvbnRyb2xOYW1lKTtcclxuICAgIHRoaXMuZ2VuZXJhdGVVcmxTbHVnKHRleHQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZChjb250cm9sTmFtZSl9XCJcclxuICBjbGFzcz1cInBlcm1hbGluayBmb3JtLWdyb3VwIHt7Y2xhc3N9fVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kXCI+XHJcbiAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBbZm9ybUdyb3VwXT0nZm9ybUdyb3VwJyBbZm9ybVN1Ym1pdHRlZF09J2Zvcm1TdWJtaXR0ZWQnIFtjb250cm9sTmFtZV09J2NvbnRyb2xOYW1lJ1xyXG4gICAgICBbY29udHJvbFRpdGxlXT0nY29udHJvbFRpdGxlJz5cclxuICAgIDwvYW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeT5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgIDxsYWJlbCAqbmdJZj0naXNUaXRsZVZpc2libGUnIGNsYXNzPSdjb2wtZm9ybS1sYWJlbCc+XHJcbiAgICAgICAge3sgdGl0bGUgfX1cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInVybFByZWZpeFwiPnt7IHVybFByZWZpeCB9fTwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgPGlucHV0IHR5cGU9J3RleHQnIGNsYXNzPSdmb3JtLWNvbnRyb2wnIFtmb3JtQ29udHJvbE5hbWVdPSdjb250cm9sTmFtZScgcGxhY2Vob2xkZXI9J1R5cGUgdXJsIHNsdWcgaGVyZSdcclxuICAgICAgICAoZm9jdXNvdXQpPSdvblVybFNsdWdDaGFuZ2UoKScgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGZsZXgtc2hyaW5rLTFcIiAqbmdJZj1cImlzR29CdXR0b25WaXNpYmxlXCI+XHJcbiAgICAgIDxhIGhyZWY9XCJ7e3VybFByZWZpeH19e3tocmVmR299fVwiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+R288L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==