@stemy/ngx-utils 13.6.17 → 17.0.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 (268) hide show
  1. package/esm2022/ngx-utils/common-types.mjs +123 -0
  2. package/esm2022/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +210 -0
  3. package/esm2022/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
  4. package/esm2022/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
  5. package/esm2022/ngx-utils/directives/async-method.base.mjs +82 -0
  6. package/{esm2020 → esm2022}/ngx-utils/directives/async-method.directive.mjs +21 -21
  7. package/esm2022/ngx-utils/directives/background.directive.mjs +51 -0
  8. package/{esm2020 → esm2022}/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -20
  9. package/{esm2020 → esm2022}/ngx-utils/directives/global-template.directive.mjs +30 -30
  10. package/esm2022/ngx-utils/directives/icon.directive.mjs +67 -0
  11. package/esm2022/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
  12. package/{esm2020 → esm2022}/ngx-utils/directives/pagination-item.directive.mjs +34 -34
  13. package/esm2022/ngx-utils/directives/pagination.directive.mjs +84 -0
  14. package/esm2022/ngx-utils/directives/resource-if.directive.mjs +50 -0
  15. package/esm2022/ngx-utils/directives/sticky-class.directive.mjs +34 -0
  16. package/{esm2020 → esm2022}/ngx-utils/directives/sticky.directive.mjs +55 -55
  17. package/{esm2020 → esm2022}/ngx-utils/directives/unordered-list-item.directive.mjs +79 -79
  18. package/{esm2020 → esm2022}/ngx-utils/directives/unordered-list-template.directive.mjs +20 -20
  19. package/{esm2020 → esm2022}/ngx-utils/ngx-utils.imports.mjs +174 -174
  20. package/esm2022/ngx-utils/ngx-utils.module.mjs +202 -0
  21. package/esm2022/ngx-utils/pipes/chunk.pipe.mjs +25 -0
  22. package/{esm2020 → esm2022}/ngx-utils/pipes/entries.pipe.mjs +28 -28
  23. package/{esm2020 → esm2022}/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -31
  24. package/esm2022/ngx-utils/pipes/filter.pipe.mjs +37 -0
  25. package/esm2022/ngx-utils/pipes/find.pipe.mjs +29 -0
  26. package/{esm2020 → esm2022}/ngx-utils/pipes/format-number.pipe.mjs +21 -21
  27. package/{esm2020 → esm2022}/ngx-utils/pipes/get-offset.pipe.mjs +17 -17
  28. package/{esm2020 → esm2022}/ngx-utils/pipes/get-type.pipe.mjs +16 -16
  29. package/esm2022/ngx-utils/pipes/global-template.pipe.mjs +41 -0
  30. package/{esm2020 → esm2022}/ngx-utils/pipes/group-by.pipe.mjs +27 -27
  31. package/{esm2020 → esm2022}/ngx-utils/pipes/is-type.pipe.mjs +16 -16
  32. package/{esm2020 → esm2022}/ngx-utils/pipes/join.pipe.mjs +19 -19
  33. package/{esm2020 → esm2022}/ngx-utils/pipes/keys.pipe.mjs +22 -22
  34. package/{esm2020 → esm2022}/ngx-utils/pipes/map.pipe.mjs +29 -29
  35. package/{esm2020 → esm2022}/ngx-utils/pipes/max.pipe.mjs +26 -26
  36. package/{esm2020 → esm2022}/ngx-utils/pipes/min.pipe.mjs +26 -26
  37. package/{esm2020 → esm2022}/ngx-utils/pipes/pop.pipe.mjs +16 -16
  38. package/{esm2020 → esm2022}/ngx-utils/pipes/reduce.pipe.mjs +30 -30
  39. package/esm2022/ngx-utils/pipes/remap.pipe.mjs +32 -0
  40. package/{esm2020 → esm2022}/ngx-utils/pipes/replace.pipe.mjs +17 -17
  41. package/esm2022/ngx-utils/pipes/reverse.pipe.mjs +24 -0
  42. package/{esm2020 → esm2022}/ngx-utils/pipes/round.pipe.mjs +21 -21
  43. package/esm2022/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
  44. package/{esm2020 → esm2022}/ngx-utils/pipes/shift.pipe.mjs +16 -16
  45. package/{esm2020 → esm2022}/ngx-utils/pipes/split.pipe.mjs +16 -16
  46. package/esm2022/ngx-utils/pipes/translate.pipe.mjs +86 -0
  47. package/{esm2020 → esm2022}/ngx-utils/pipes/values.pipe.mjs +22 -22
  48. package/esm2022/ngx-utils/plugins/resize-event.plugin.mjs +78 -0
  49. package/esm2022/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
  50. package/{esm2020 → esm2022}/ngx-utils/services/acl.service.mjs +84 -83
  51. package/esm2022/ngx-utils/services/api.service.mjs +42 -0
  52. package/{esm2020 → esm2022}/ngx-utils/services/auth.service.mjs +13 -13
  53. package/esm2022/ngx-utils/services/base-http.client.mjs +47 -0
  54. package/esm2022/ngx-utils/services/base-http.service.mjs +305 -0
  55. package/esm2022/ngx-utils/services/config.service.mjs +130 -0
  56. package/esm2022/ngx-utils/services/error-handler.service.mjs +49 -0
  57. package/{esm2020 → esm2022}/ngx-utils/services/events.service.mjs +26 -26
  58. package/{esm2020 → esm2022}/ngx-utils/services/formatter.service.mjs +49 -49
  59. package/esm2022/ngx-utils/services/global-template.service.mjs +37 -0
  60. package/esm2022/ngx-utils/services/icon.service.mjs +26 -0
  61. package/esm2022/ngx-utils/services/language.service.mjs +124 -0
  62. package/{esm2020 → esm2022}/ngx-utils/services/local-http.service.mjs +47 -47
  63. package/{esm2020 → esm2022}/ngx-utils/services/open-api.service.mjs +40 -40
  64. package/{esm2020 → esm2022}/ngx-utils/services/promise.service.mjs +55 -55
  65. package/esm2022/ngx-utils/services/state.service.mjs +177 -0
  66. package/{esm2020 → esm2022}/ngx-utils/services/static-language.service.mjs +166 -166
  67. package/esm2022/ngx-utils/services/storage.service.mjs +49 -0
  68. package/{esm2020 → esm2022}/ngx-utils/services/toaster.service.mjs +32 -32
  69. package/esm2022/ngx-utils/services/translated-url.serializer.mjs +73 -0
  70. package/esm2022/ngx-utils/services/universal.service.mjs +81 -0
  71. package/{esm2020 → esm2022}/ngx-utils/services/wasm.service.mjs +46 -46
  72. package/esm2022/ngx-utils/utils/ajax-request-handler.mjs +40 -0
  73. package/esm2022/ngx-utils/utils/array.utils.mjs +107 -0
  74. package/esm2022/ngx-utils/utils/auth.guard.mjs +181 -0
  75. package/esm2022/ngx-utils/utils/cached-factory.mjs +30 -0
  76. package/esm2022/ngx-utils/utils/canvas.utils.mjs +388 -0
  77. package/esm2022/ngx-utils/utils/date.utils.mjs +29 -0
  78. package/{esm2020 → esm2022}/ngx-utils/utils/file-system.mjs +24 -24
  79. package/esm2022/ngx-utils/utils/file.utils.mjs +90 -0
  80. package/{esm2020 → esm2022}/ngx-utils/utils/generic-value.mjs +20 -20
  81. package/esm2022/ngx-utils/utils/geometry.mjs +132 -0
  82. package/{esm2020 → esm2022}/ngx-utils/utils/initializer.mjs +20 -20
  83. package/esm2022/ngx-utils/utils/jsonfn.mjs +45 -0
  84. package/esm2022/ngx-utils/utils/loader.utils.mjs +55 -0
  85. package/esm2022/ngx-utils/utils/math.utils.mjs +44 -0
  86. package/esm2022/ngx-utils/utils/object.utils.mjs +320 -0
  87. package/{esm2020 → esm2022}/ngx-utils/utils/observable.utils.mjs +63 -63
  88. package/esm2022/ngx-utils/utils/reflect.utils.mjs +33 -0
  89. package/esm2022/ngx-utils/utils/set.utils.mjs +20 -0
  90. package/esm2022/ngx-utils/utils/string.utils.mjs +41 -0
  91. package/{esm2020 → esm2022}/ngx-utils/utils/timer.utils.mjs +51 -51
  92. package/esm2022/ngx-utils/utils/unique.utils.mjs +24 -0
  93. package/esm2022/ngx-utils/utils/vector.mjs +77 -0
  94. package/esm2022/ngx-utils/utils/wasi.mjs +159 -0
  95. package/esm2022/ngx-utils/utils/wasm-worker-proxy.mjs +99 -0
  96. package/{esm2020 → esm2022}/ngx-utils/utils/with-options-provider.mjs +23 -23
  97. package/{esm2020 → esm2022}/public_api.mjs +93 -93
  98. package/{esm2020 → esm2022}/stemy-ngx-utils.mjs +4 -4
  99. package/esm2022/tools/config.mjs +71 -0
  100. package/{esm2020 → esm2022}/tools/public_api.mjs +1 -1
  101. package/{esm2020 → esm2022}/tools/stemy-ngx-utils-tools.mjs +4 -4
  102. package/{fesm2020 → fesm2022}/stemy-ngx-utils-tools.mjs +71 -71
  103. package/{fesm2015 → fesm2022}/stemy-ngx-utils-tools.mjs.map +1 -1
  104. package/{fesm2020 → fesm2022}/stemy-ngx-utils.mjs +5639 -5636
  105. package/fesm2022/stemy-ngx-utils.mjs.map +1 -0
  106. package/{stemy-ngx-utils.d.ts → index.d.ts} +5 -5
  107. package/ng.mjs +5 -0
  108. package/ngx-utils/common-types.d.ts +378 -378
  109. package/ngx-utils/components/dynamic-table/dynamic-table.component.d.ts +56 -56
  110. package/ngx-utils/components/pagination-menu/pagination-menu.component.d.ts +31 -31
  111. package/ngx-utils/components/unordered-list/unordered-list.component.d.ts +25 -25
  112. package/ngx-utils/directives/async-method.base.d.ts +19 -19
  113. package/ngx-utils/directives/async-method.directive.d.ts +9 -9
  114. package/ngx-utils/directives/background.directive.d.ts +17 -17
  115. package/ngx-utils/directives/dynamic-table-template.directive.d.ts +11 -11
  116. package/ngx-utils/directives/global-template.directive.d.ts +13 -13
  117. package/ngx-utils/directives/icon.directive.d.ts +23 -23
  118. package/ngx-utils/directives/ngx-template-outlet.directive.d.ts +17 -17
  119. package/ngx-utils/directives/pagination-item.directive.d.ts +15 -15
  120. package/ngx-utils/directives/pagination.directive.d.ts +25 -25
  121. package/ngx-utils/directives/resource-if.directive.d.ts +19 -19
  122. package/ngx-utils/directives/sticky-class.directive.d.ts +15 -15
  123. package/ngx-utils/directives/sticky.directive.d.ts +19 -19
  124. package/ngx-utils/directives/unordered-list-item.directive.d.ts +28 -28
  125. package/ngx-utils/directives/unordered-list-template.directive.d.ts +11 -11
  126. package/ngx-utils/ngx-utils.imports.d.ts +74 -0
  127. package/ngx-utils/ngx-utils.module.d.ts +58 -58
  128. package/ngx-utils/pipes/chunk.pipe.d.ts +7 -7
  129. package/ngx-utils/pipes/entries.pipe.d.ts +12 -12
  130. package/ngx-utils/pipes/extra-item-properties.pipe.d.ts +8 -8
  131. package/ngx-utils/pipes/filter.pipe.d.ts +8 -8
  132. package/ngx-utils/pipes/find.pipe.d.ts +8 -8
  133. package/ngx-utils/pipes/format-number.pipe.d.ts +10 -10
  134. package/ngx-utils/pipes/get-offset.pipe.d.ts +7 -7
  135. package/ngx-utils/pipes/get-type.pipe.d.ts +7 -7
  136. package/ngx-utils/pipes/global-template.pipe.d.ts +16 -16
  137. package/ngx-utils/pipes/group-by.pipe.d.ts +8 -8
  138. package/ngx-utils/pipes/is-type.pipe.d.ts +7 -7
  139. package/ngx-utils/pipes/join.pipe.d.ts +7 -7
  140. package/ngx-utils/pipes/keys.pipe.d.ts +7 -7
  141. package/ngx-utils/pipes/map.pipe.d.ts +8 -8
  142. package/ngx-utils/pipes/max.pipe.d.ts +7 -7
  143. package/ngx-utils/pipes/min.pipe.d.ts +7 -7
  144. package/ngx-utils/pipes/pop.pipe.d.ts +7 -7
  145. package/ngx-utils/pipes/reduce.pipe.d.ts +8 -8
  146. package/ngx-utils/pipes/remap.pipe.d.ts +7 -7
  147. package/ngx-utils/pipes/replace.pipe.d.ts +7 -7
  148. package/ngx-utils/pipes/reverse.pipe.d.ts +7 -7
  149. package/ngx-utils/pipes/round.pipe.d.ts +10 -10
  150. package/ngx-utils/pipes/safe-html.pipe.d.ts +10 -10
  151. package/ngx-utils/pipes/shift.pipe.d.ts +7 -7
  152. package/ngx-utils/pipes/split.pipe.d.ts +7 -7
  153. package/ngx-utils/pipes/translate.pipe.d.ts +19 -19
  154. package/ngx-utils/pipes/values.pipe.d.ts +7 -7
  155. package/ngx-utils/plugins/resize-event.plugin.d.ts +17 -17
  156. package/ngx-utils/plugins/scroll-event.plugin.d.ts +13 -13
  157. package/ngx-utils/services/acl.service.d.ts +14 -14
  158. package/ngx-utils/services/api.service.d.ts +17 -17
  159. package/ngx-utils/services/auth.service.d.ts +8 -8
  160. package/ngx-utils/services/base-http.client.d.ts +15 -15
  161. package/ngx-utils/services/base-http.service.d.ts +53 -53
  162. package/ngx-utils/services/config.service.d.ts +30 -30
  163. package/ngx-utils/services/error-handler.service.d.ts +13 -13
  164. package/ngx-utils/services/events.service.d.ts +14 -14
  165. package/ngx-utils/services/formatter.service.d.ts +15 -15
  166. package/ngx-utils/services/global-template.service.d.ts +19 -19
  167. package/ngx-utils/services/icon.service.d.ts +13 -13
  168. package/ngx-utils/services/language.service.d.ts +21 -21
  169. package/ngx-utils/services/local-http.service.d.ts +14 -14
  170. package/ngx-utils/services/open-api.service.d.ts +11 -11
  171. package/ngx-utils/services/promise.service.d.ts +19 -19
  172. package/ngx-utils/services/state.service.d.ts +49 -49
  173. package/ngx-utils/services/static-language.service.d.ts +46 -46
  174. package/ngx-utils/services/storage.service.d.ts +15 -15
  175. package/ngx-utils/services/toaster.service.d.ts +13 -13
  176. package/ngx-utils/services/translated-url.serializer.d.ts +19 -19
  177. package/ngx-utils/services/universal.service.d.ts +28 -28
  178. package/ngx-utils/services/wasm.service.d.ts +25 -25
  179. package/ngx-utils/utils/ajax-request-handler.d.ts +11 -11
  180. package/ngx-utils/utils/array.utils.d.ts +11 -11
  181. package/ngx-utils/utils/auth.guard.d.ts +29 -29
  182. package/ngx-utils/utils/cached-factory.d.ts +2 -2
  183. package/ngx-utils/utils/canvas.utils.d.ts +13 -13
  184. package/ngx-utils/utils/date.utils.d.ts +8 -8
  185. package/ngx-utils/utils/file-system.d.ts +16 -16
  186. package/ngx-utils/utils/file.utils.d.ts +14 -14
  187. package/ngx-utils/utils/generic-value.d.ts +8 -8
  188. package/ngx-utils/utils/geometry.d.ts +50 -50
  189. package/ngx-utils/utils/initializer.d.ts +12 -12
  190. package/ngx-utils/utils/jsonfn.d.ts +6 -6
  191. package/ngx-utils/utils/loader.utils.d.ts +7 -7
  192. package/ngx-utils/utils/math.utils.d.ts +8 -8
  193. package/ngx-utils/utils/object.utils.d.ts +35 -35
  194. package/ngx-utils/utils/observable.utils.d.ts +13 -13
  195. package/ngx-utils/utils/reflect.utils.d.ts +9 -9
  196. package/ngx-utils/utils/set.utils.d.ts +4 -4
  197. package/ngx-utils/utils/string.utils.d.ts +9 -9
  198. package/ngx-utils/utils/timer.utils.d.ts +6 -6
  199. package/ngx-utils/utils/unique.utils.d.ts +5 -5
  200. package/ngx-utils/utils/vector.d.ts +23 -23
  201. package/ngx-utils/utils/wasi.d.ts +26 -26
  202. package/ngx-utils/utils/wasm-worker-proxy.d.ts +17 -17
  203. package/ngx-utils/utils/with-options-provider.d.ts +3 -3
  204. package/package.json +21 -29
  205. package/public_api.d.ts +93 -93
  206. package/tools/config.d.ts +7 -7
  207. package/tools/{stemy-ngx-utils-tools.d.ts → index.d.ts} +5 -5
  208. package/tools/public_api.d.ts +1 -1
  209. package/esm2020/ngx-utils/common-types.mjs +0 -123
  210. package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +0 -210
  211. package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +0 -101
  212. package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +0 -65
  213. package/esm2020/ngx-utils/directives/async-method.base.mjs +0 -82
  214. package/esm2020/ngx-utils/directives/background.directive.mjs +0 -51
  215. package/esm2020/ngx-utils/directives/icon.directive.mjs +0 -67
  216. package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +0 -90
  217. package/esm2020/ngx-utils/directives/pagination.directive.mjs +0 -84
  218. package/esm2020/ngx-utils/directives/resource-if.directive.mjs +0 -50
  219. package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +0 -34
  220. package/esm2020/ngx-utils/ngx-utils.module.mjs +0 -204
  221. package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +0 -25
  222. package/esm2020/ngx-utils/pipes/filter.pipe.mjs +0 -37
  223. package/esm2020/ngx-utils/pipes/find.pipe.mjs +0 -29
  224. package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +0 -41
  225. package/esm2020/ngx-utils/pipes/remap.pipe.mjs +0 -32
  226. package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +0 -24
  227. package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +0 -34
  228. package/esm2020/ngx-utils/pipes/translate.pipe.mjs +0 -86
  229. package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +0 -78
  230. package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +0 -39
  231. package/esm2020/ngx-utils/services/api.service.mjs +0 -42
  232. package/esm2020/ngx-utils/services/base-http.client.mjs +0 -47
  233. package/esm2020/ngx-utils/services/base-http.service.mjs +0 -305
  234. package/esm2020/ngx-utils/services/config.service.mjs +0 -130
  235. package/esm2020/ngx-utils/services/error-handler.service.mjs +0 -49
  236. package/esm2020/ngx-utils/services/global-template.service.mjs +0 -37
  237. package/esm2020/ngx-utils/services/icon.service.mjs +0 -26
  238. package/esm2020/ngx-utils/services/language.service.mjs +0 -124
  239. package/esm2020/ngx-utils/services/state.service.mjs +0 -173
  240. package/esm2020/ngx-utils/services/storage.service.mjs +0 -49
  241. package/esm2020/ngx-utils/services/translated-url.serializer.mjs +0 -73
  242. package/esm2020/ngx-utils/services/universal.service.mjs +0 -81
  243. package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +0 -40
  244. package/esm2020/ngx-utils/utils/array.utils.mjs +0 -107
  245. package/esm2020/ngx-utils/utils/auth.guard.mjs +0 -181
  246. package/esm2020/ngx-utils/utils/cached-factory.mjs +0 -30
  247. package/esm2020/ngx-utils/utils/canvas.utils.mjs +0 -388
  248. package/esm2020/ngx-utils/utils/date.utils.mjs +0 -29
  249. package/esm2020/ngx-utils/utils/file.utils.mjs +0 -90
  250. package/esm2020/ngx-utils/utils/geometry.mjs +0 -132
  251. package/esm2020/ngx-utils/utils/jsonfn.mjs +0 -45
  252. package/esm2020/ngx-utils/utils/loader.utils.mjs +0 -55
  253. package/esm2020/ngx-utils/utils/math.utils.mjs +0 -44
  254. package/esm2020/ngx-utils/utils/object.utils.mjs +0 -320
  255. package/esm2020/ngx-utils/utils/reflect.utils.mjs +0 -33
  256. package/esm2020/ngx-utils/utils/set.utils.mjs +0 -20
  257. package/esm2020/ngx-utils/utils/string.utils.mjs +0 -41
  258. package/esm2020/ngx-utils/utils/unique.utils.mjs +0 -24
  259. package/esm2020/ngx-utils/utils/vector.mjs +0 -77
  260. package/esm2020/ngx-utils/utils/wasi.mjs +0 -159
  261. package/esm2020/ngx-utils/utils/wasm-worker-proxy.mjs +0 -99
  262. package/esm2020/tools/config.mjs +0 -71
  263. package/fesm2015/stemy-ngx-utils-tools.mjs +0 -77
  264. package/fesm2015/stemy-ngx-utils.mjs +0 -5894
  265. package/fesm2015/stemy-ngx-utils.mjs.map +0 -1
  266. package/fesm2020/stemy-ngx-utils-tools.mjs.map +0 -1
  267. package/fesm2020/stemy-ngx-utils.mjs.map +0 -1
  268. package/tools/package.json +0 -10
@@ -1,26 +1,26 @@
1
- import { EventEmitter, Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class EventsService {
4
- constructor() {
5
- this.eventForwarded = new EventEmitter();
6
- this.stickyUpdated = new EventEmitter();
7
- this.languageChanged = new EventEmitter();
8
- this.sticky = false;
9
- }
10
- get isSticky() {
11
- return this.sticky;
12
- }
13
- event(e) {
14
- this.eventForwarded.emit(e);
15
- }
16
- updateSticky(sticky) {
17
- this.sticky = sticky;
18
- this.stickyUpdated.emit(sticky);
19
- }
20
- }
21
- EventsServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
- EventsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EventsService });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EventsService, decorators: [{
24
- type: Injectable
25
- }], ctorParameters: function () { return []; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUd2RCxNQUFNLE9BQU8sYUFBYTtJQVl0QjtRQUNJLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFURCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQVNELEtBQUssQ0FBQyxDQUFRO1FBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFlO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OzBHQTFCUSxhQUFhOzhHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRXZlbnRzU2VydmljZSB7XHJcblxyXG4gICAgcmVhZG9ubHkgZXZlbnRGb3J3YXJkZWQ6IEV2ZW50RW1pdHRlcjxFdmVudD47XHJcbiAgICByZWFkb25seSBzdGlja3lVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcbiAgICByZWFkb25seSBsYW5ndWFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIHByaXZhdGUgc3RpY2t5OiBib29sZWFuO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNTdGlja3koKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RpY2t5O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuZXZlbnRGb3J3YXJkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gICAgICAgIHRoaXMuc3RpY2t5VXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgICAgICB0aGlzLmxhbmd1YWdlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgICAgIHRoaXMuc3RpY2t5ID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmV2ZW50Rm9yd2FyZGVkLmVtaXQoZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlU3RpY2t5KHN0aWNreTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3RpY2t5ID0gc3RpY2t5O1xyXG4gICAgICAgIHRoaXMuc3RpY2t5VXBkYXRlZC5lbWl0KHN0aWNreSk7XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { EventEmitter, Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class EventsService {
4
+ get isSticky() {
5
+ return this.sticky;
6
+ }
7
+ constructor() {
8
+ this.eventForwarded = new EventEmitter();
9
+ this.stickyUpdated = new EventEmitter();
10
+ this.languageChanged = new EventEmitter();
11
+ this.sticky = false;
12
+ }
13
+ event(e) {
14
+ this.eventForwarded.emit(e);
15
+ }
16
+ updateSticky(sticky) {
17
+ this.sticky = sticky;
18
+ this.stickyUpdated.emit(sticky);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventsService }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventsService, decorators: [{
24
+ type: Injectable
25
+ }], ctorParameters: () => [] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUd2RCxNQUFNLE9BQU8sYUFBYTtJQVF0QixJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVEO1FBQ0ksSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFRO1FBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFlO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7K0dBMUJRLGFBQWE7bUhBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRXZlbnRzU2VydmljZSB7XHJcblxyXG4gICAgcmVhZG9ubHkgZXZlbnRGb3J3YXJkZWQ6IEV2ZW50RW1pdHRlcjxFdmVudD47XHJcbiAgICByZWFkb25seSBzdGlja3lVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcbiAgICByZWFkb25seSBsYW5ndWFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIHByaXZhdGUgc3RpY2t5OiBib29sZWFuO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNTdGlja3koKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RpY2t5O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuZXZlbnRGb3J3YXJkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gICAgICAgIHRoaXMuc3RpY2t5VXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgICAgICB0aGlzLmxhbmd1YWdlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgICAgIHRoaXMuc3RpY2t5ID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmV2ZW50Rm9yd2FyZGVkLmVtaXQoZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlU3RpY2t5KHN0aWNreTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3RpY2t5ID0gc3RpY2t5O1xyXG4gICAgICAgIHRoaXMuc3RpY2t5VXBkYXRlZC5lbWl0KHN0aWNreSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,49 +1,49 @@
1
- import { Inject, Injectable } from "@angular/core";
2
- import { LANGUAGE_SERVICE } from "../common-types";
3
- import { ObjectUtils } from "../utils/object.utils";
4
- import { MathUtils } from "../utils/math.utils";
5
- import * as i0 from "@angular/core";
6
- export class FormatterService {
7
- constructor(language) {
8
- this.language = language;
9
- }
10
- get defaultPrecision() {
11
- return 2;
12
- }
13
- get defaultNumberFormat() {
14
- return `num + ' mm'`;
15
- }
16
- get defaultDivider() {
17
- return 1;
18
- }
19
- roundNumber(value, precision, divider) {
20
- return MathUtils.round(value, this.getPrecision(precision), divider || this.defaultDivider);
21
- }
22
- formatNumber(value, format, precision, divider, minDigits) {
23
- precision = this.getPrecision(precision);
24
- minDigits = minDigits ?? precision;
25
- divider = divider || this.defaultDivider;
26
- const num = ObjectUtils.isNumber(value) ? value : parseFloat(value) || 0;
27
- const str = (num / divider).toLocaleString(this.language.currentLanguage, {
28
- minimumFractionDigits: minDigits,
29
- maximumFractionDigits: precision,
30
- useGrouping: false
31
- });
32
- return ObjectUtils.evaluate(format || this.defaultNumberFormat, { num: str });
33
- }
34
- formatMillimeter(value, precision, divider) {
35
- return this.formatNumber(value, `num + ' mm'`, precision, divider);
36
- }
37
- getPrecision(precision) {
38
- return ObjectUtils.isNumber(precision) ? precision : this.defaultPrecision;
39
- }
40
- }
41
- FormatterServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormatterService, deps: [{ token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
42
- FormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormatterService });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormatterService, decorators: [{
44
- type: Injectable
45
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
46
- type: Inject,
47
- args: [LANGUAGE_SERVICE]
48
- }] }]; } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUc5QyxNQUFNLE9BQU8sZ0JBQWdCO0lBY3pCLFlBQTZDLFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBRXZFLENBQUM7SUFkRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNuQixPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBTUQsV0FBVyxDQUFDLEtBQWEsRUFBRSxTQUFrQixFQUFFLE9BQWdCO1FBQzNELE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBc0IsRUFBRSxNQUFlLEVBQUUsU0FBa0IsRUFBRSxPQUFnQixFQUFFLFNBQWtCO1FBQzFHLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLFNBQVMsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDO1FBQ25DLE9BQU8sR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUN6QyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBUyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBUyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO1lBQ3RFLHFCQUFxQixFQUFFLFNBQVM7WUFDaEMscUJBQXFCLEVBQUUsU0FBUztZQUNoQyxXQUFXLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7UUFDSCxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsU0FBa0IsRUFBRSxPQUFnQjtRQUNoRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVTLFlBQVksQ0FBQyxTQUFpQjtRQUNwQyxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9FLENBQUM7OzZHQXpDUSxnQkFBZ0Isa0JBY0wsZ0JBQWdCO2lIQWQzQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBZU0sTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJTGFuZ3VhZ2VTZXJ2aWNlLCBMQU5HVUFHRV9TRVJWSUNFfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuaW1wb3J0IHtNYXRoVXRpbHN9IGZyb20gXCIuLi91dGlscy9tYXRoLnV0aWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXR0ZXJTZXJ2aWNlIHtcclxuXHJcbiAgICBnZXQgZGVmYXVsdFByZWNpc2lvbigpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiAyO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZWZhdWx0TnVtYmVyRm9ybWF0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGBudW0gKyAnIG1tJ2A7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRlZmF1bHREaXZpZGVyKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMQU5HVUFHRV9TRVJWSUNFKSBwdWJsaWMgbGFuZ3VhZ2U6IElMYW5ndWFnZVNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcm91bmROdW1iZXIodmFsdWU6IG51bWJlciwgcHJlY2lzaW9uPzogbnVtYmVyLCBkaXZpZGVyPzogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gTWF0aFV0aWxzLnJvdW5kKHZhbHVlLCB0aGlzLmdldFByZWNpc2lvbihwcmVjaXNpb24pLCBkaXZpZGVyIHx8IHRoaXMuZGVmYXVsdERpdmlkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBmb3JtYXQ/OiBzdHJpbmcsIHByZWNpc2lvbj86IG51bWJlciwgZGl2aWRlcj86IG51bWJlciwgbWluRGlnaXRzPzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICBwcmVjaXNpb24gPSB0aGlzLmdldFByZWNpc2lvbihwcmVjaXNpb24pO1xyXG4gICAgICAgIG1pbkRpZ2l0cyA9IG1pbkRpZ2l0cyA/PyBwcmVjaXNpb247XHJcbiAgICAgICAgZGl2aWRlciA9IGRpdmlkZXIgfHwgdGhpcy5kZWZhdWx0RGl2aWRlcjtcclxuICAgICAgICBjb25zdCBudW0gPSBPYmplY3RVdGlscy5pc051bWJlcih2YWx1ZSkgPyA8bnVtYmVyPnZhbHVlIDogcGFyc2VGbG9hdCg8c3RyaW5nPnZhbHVlKSB8fCAwO1xyXG4gICAgICAgIGNvbnN0IHN0ciA9IChudW0gLyBkaXZpZGVyKS50b0xvY2FsZVN0cmluZyh0aGlzLmxhbmd1YWdlLmN1cnJlbnRMYW5ndWFnZSwge1xyXG4gICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG1pbkRpZ2l0cyxcclxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBwcmVjaXNpb24sXHJcbiAgICAgICAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBPYmplY3RVdGlscy5ldmFsdWF0ZShmb3JtYXQgfHwgdGhpcy5kZWZhdWx0TnVtYmVyRm9ybWF0LCB7bnVtOiBzdHJ9KTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtYXRNaWxsaW1ldGVyKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbj86IG51bWJlciwgZGl2aWRlcj86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlLCBgbnVtICsgJyBtbSdgLCBwcmVjaXNpb24sIGRpdmlkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRQcmVjaXNpb24ocHJlY2lzaW9uOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBPYmplY3RVdGlscy5pc051bWJlcihwcmVjaXNpb24pID8gcHJlY2lzaW9uIDogdGhpcy5kZWZhdWx0UHJlY2lzaW9uO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
1
+ import { Inject, Injectable } from "@angular/core";
2
+ import { LANGUAGE_SERVICE } from "../common-types";
3
+ import { ObjectUtils } from "../utils/object.utils";
4
+ import { MathUtils } from "../utils/math.utils";
5
+ import * as i0 from "@angular/core";
6
+ export class FormatterService {
7
+ get defaultPrecision() {
8
+ return 2;
9
+ }
10
+ get defaultNumberFormat() {
11
+ return `num + ' mm'`;
12
+ }
13
+ get defaultDivider() {
14
+ return 1;
15
+ }
16
+ constructor(language) {
17
+ this.language = language;
18
+ }
19
+ roundNumber(value, precision, divider) {
20
+ return MathUtils.round(value, this.getPrecision(precision), divider || this.defaultDivider);
21
+ }
22
+ formatNumber(value, format, precision, divider, minDigits) {
23
+ precision = this.getPrecision(precision);
24
+ minDigits = minDigits ?? precision;
25
+ divider = divider || this.defaultDivider;
26
+ const num = ObjectUtils.isNumber(value) ? value : parseFloat(value) || 0;
27
+ const str = (num / divider).toLocaleString(this.language.currentLanguage, {
28
+ minimumFractionDigits: minDigits,
29
+ maximumFractionDigits: precision,
30
+ useGrouping: false
31
+ });
32
+ return ObjectUtils.evaluate(format || this.defaultNumberFormat, { num: str });
33
+ }
34
+ formatMillimeter(value, precision, divider) {
35
+ return this.formatNumber(value, `num + ' mm'`, precision, divider);
36
+ }
37
+ getPrecision(precision) {
38
+ return ObjectUtils.isNumber(precision) ? precision : this.defaultPrecision;
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormatterService, deps: [{ token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormatterService }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormatterService, decorators: [{
44
+ type: Injectable
45
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
46
+ type: Inject,
47
+ args: [LANGUAGE_SERVICE]
48
+ }] }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUc5QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ25CLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUE2QyxRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUV2RSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWEsRUFBRSxTQUFrQixFQUFFLE9BQWdCO1FBQzNELE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBc0IsRUFBRSxNQUFlLEVBQUUsU0FBa0IsRUFBRSxPQUFnQixFQUFFLFNBQWtCO1FBQzFHLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLFNBQVMsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDO1FBQ25DLE9BQU8sR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUN6QyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBUyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBUyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO1lBQ3RFLHFCQUFxQixFQUFFLFNBQVM7WUFDaEMscUJBQXFCLEVBQUUsU0FBUztZQUNoQyxXQUFXLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7UUFDSCxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsU0FBa0IsRUFBRSxPQUFnQjtRQUNoRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVTLFlBQVksQ0FBQyxTQUFpQjtRQUNwQyxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9FLENBQUM7K0dBekNRLGdCQUFnQixrQkFjTCxnQkFBZ0I7bUhBZDNCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBZU0sTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJTGFuZ3VhZ2VTZXJ2aWNlLCBMQU5HVUFHRV9TRVJWSUNFfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuaW1wb3J0IHtNYXRoVXRpbHN9IGZyb20gXCIuLi91dGlscy9tYXRoLnV0aWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXR0ZXJTZXJ2aWNlIHtcclxuXHJcbiAgICBnZXQgZGVmYXVsdFByZWNpc2lvbigpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiAyO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZWZhdWx0TnVtYmVyRm9ybWF0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGBudW0gKyAnIG1tJ2A7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRlZmF1bHREaXZpZGVyKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMQU5HVUFHRV9TRVJWSUNFKSBwdWJsaWMgbGFuZ3VhZ2U6IElMYW5ndWFnZVNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcm91bmROdW1iZXIodmFsdWU6IG51bWJlciwgcHJlY2lzaW9uPzogbnVtYmVyLCBkaXZpZGVyPzogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gTWF0aFV0aWxzLnJvdW5kKHZhbHVlLCB0aGlzLmdldFByZWNpc2lvbihwcmVjaXNpb24pLCBkaXZpZGVyIHx8IHRoaXMuZGVmYXVsdERpdmlkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBmb3JtYXQ/OiBzdHJpbmcsIHByZWNpc2lvbj86IG51bWJlciwgZGl2aWRlcj86IG51bWJlciwgbWluRGlnaXRzPzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICBwcmVjaXNpb24gPSB0aGlzLmdldFByZWNpc2lvbihwcmVjaXNpb24pO1xyXG4gICAgICAgIG1pbkRpZ2l0cyA9IG1pbkRpZ2l0cyA/PyBwcmVjaXNpb247XHJcbiAgICAgICAgZGl2aWRlciA9IGRpdmlkZXIgfHwgdGhpcy5kZWZhdWx0RGl2aWRlcjtcclxuICAgICAgICBjb25zdCBudW0gPSBPYmplY3RVdGlscy5pc051bWJlcih2YWx1ZSkgPyA8bnVtYmVyPnZhbHVlIDogcGFyc2VGbG9hdCg8c3RyaW5nPnZhbHVlKSB8fCAwO1xyXG4gICAgICAgIGNvbnN0IHN0ciA9IChudW0gLyBkaXZpZGVyKS50b0xvY2FsZVN0cmluZyh0aGlzLmxhbmd1YWdlLmN1cnJlbnRMYW5ndWFnZSwge1xyXG4gICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG1pbkRpZ2l0cyxcclxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBwcmVjaXNpb24sXHJcbiAgICAgICAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBPYmplY3RVdGlscy5ldmFsdWF0ZShmb3JtYXQgfHwgdGhpcy5kZWZhdWx0TnVtYmVyRm9ybWF0LCB7bnVtOiBzdHJ9KTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtYXRNaWxsaW1ldGVyKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbj86IG51bWJlciwgZGl2aWRlcj86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlLCBgbnVtICsgJyBtbSdgLCBwcmVjaXNpb24sIGRpdmlkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRQcmVjaXNpb24ocHJlY2lzaW9uOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBPYmplY3RVdGlscy5pc051bWJlcihwcmVjaXNpb24pID8gcHJlY2lzaW9uIDogdGhpcy5kZWZhdWx0UHJlY2lzaW9uO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { EventEmitter, Injectable } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class GlobalTemplateService {
5
+ constructor() {
6
+ this.templatesUpdated = new EventEmitter();
7
+ this.globalTemplates = {};
8
+ this.componentModifiers = {};
9
+ }
10
+ get(id, component) {
11
+ const template = this.globalTemplates[id];
12
+ if (!template)
13
+ return undefined;
14
+ const modifier = this.componentModifiers[id];
15
+ if (ObjectUtils.isFunction(modifier) && component) {
16
+ modifier(component);
17
+ }
18
+ return template;
19
+ }
20
+ add(id, template) {
21
+ this.globalTemplates[id] = template;
22
+ this.templatesUpdated.emit();
23
+ }
24
+ remove(id) {
25
+ delete this.globalTemplates[id];
26
+ this.templatesUpdated.emit();
27
+ }
28
+ addComponentModifier(id, modifier) {
29
+ this.componentModifiers[id] = modifier;
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalTemplateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalTemplateService }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalTemplateService, decorators: [{
35
+ type: Injectable
36
+ }], ctorParameters: () => [] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXRlbXBsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3NlcnZpY2VzL2dsb2JhbC10ZW1wbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFJbEQsTUFBTSxPQUFPLHFCQUFxQjtJQU85QjtRQUNJLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hELElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFVLEVBQUUsU0FBZTtRQUMzQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDaEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNoRCxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxHQUFHLENBQUMsRUFBVSxFQUFFLFFBQTBCO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVU7UUFDYixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxFQUFVLEVBQUUsUUFBaUM7UUFDOUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUMzQyxDQUFDOytHQW5DUSxxQkFBcUI7bUhBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5pbXBvcnQge0dsb2JhbENvbXBvbmVudE1vZGlmaWVyLCBJR2xvYmFsVGVtcGxhdGVzfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBHbG9iYWxUZW1wbGF0ZVNlcnZpY2UgaW1wbGVtZW50cyBJR2xvYmFsVGVtcGxhdGVzIHtcclxuXHJcbiAgICByZWFkb25seSB0ZW1wbGF0ZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8dm9pZD47XHJcblxyXG4gICAgcHJvdGVjdGVkIGdsb2JhbFRlbXBsYXRlczogeyBbaWQ6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT4gfTtcclxuICAgIHByb3RlY3RlZCBjb21wb25lbnRNb2RpZmllcnM6IHsgW2lkOiBzdHJpbmddOiBHbG9iYWxDb21wb25lbnRNb2RpZmllciB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVzVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgICAgIHRoaXMuZ2xvYmFsVGVtcGxhdGVzID0ge307XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRNb2RpZmllcnMgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQoaWQ6IHN0cmluZywgY29tcG9uZW50PzogYW55KTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLmdsb2JhbFRlbXBsYXRlc1tpZF07XHJcbiAgICAgICAgaWYgKCF0ZW1wbGF0ZSkgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICBjb25zdCBtb2RpZmllciA9IHRoaXMuY29tcG9uZW50TW9kaWZpZXJzW2lkXTtcclxuICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihtb2RpZmllcikgJiYgY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIG1vZGlmaWVyKGNvbXBvbmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0ZW1wbGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBhZGQoaWQ6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmdsb2JhbFRlbXBsYXRlc1tpZF0gPSB0ZW1wbGF0ZTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlc1VwZGF0ZWQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZShpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMuZ2xvYmFsVGVtcGxhdGVzW2lkXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlc1VwZGF0ZWQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZENvbXBvbmVudE1vZGlmaWVyKGlkOiBzdHJpbmcsIG1vZGlmaWVyOiBHbG9iYWxDb21wb25lbnRNb2RpZmllcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50TW9kaWZpZXJzW2lkXSA9IG1vZGlmaWVyO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { EventEmitter, Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class IconService {
4
+ get isDisabled() {
5
+ return this.disabled;
6
+ }
7
+ set isDisabled(value) {
8
+ this.disabled = value;
9
+ this.iconsLoaded.emit();
10
+ }
11
+ constructor() {
12
+ this.iconsLoaded = new EventEmitter();
13
+ this.disabled = false;
14
+ }
15
+ getIcon(icon, activeIcon, active) {
16
+ icon = typeof icons == "undefined" ? icon : (icons[icon] || icon);
17
+ activeIcon = typeof icons == "undefined" ? activeIcon : (icons[activeIcon] || icon);
18
+ return Promise.resolve(active ? activeIcon : icon);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconService }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconService, decorators: [{
24
+ type: Injectable
25
+ }], ctorParameters: () => [] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9zZXJ2aWNlcy9pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBUXZELE1BQU0sT0FBTyxXQUFXO0lBRXBCLElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFNRDtRQUNJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVksRUFBRSxVQUFrQixFQUFFLE1BQWU7UUFDckQsSUFBSSxHQUFHLE9BQU8sS0FBSyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNsRSxVQUFVLEdBQUcsT0FBTyxLQUFLLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3BGLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0F4QlEsV0FBVzttSEFBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudEVtaXR0ZXIsIEluamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SUljb25TZXJ2aWNlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5kZWNsYXJlIGNvbnN0IGljb25zOiB7XHJcbiAgICBbaWNvbjogc3RyaW5nXTogc3RyaW5nO1xyXG59O1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSWNvblNlcnZpY2UgaW1wbGVtZW50cyBJSWNvblNlcnZpY2Uge1xyXG5cclxuICAgIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc0Rpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuaWNvbnNMb2FkZWQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uc0xvYWRlZDogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgcHJvdGVjdGVkIGRpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuaWNvbnNMb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SWNvbihpY29uOiBzdHJpbmcsIGFjdGl2ZUljb246IHN0cmluZywgYWN0aXZlOiBib29sZWFuKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICBpY29uID0gdHlwZW9mIGljb25zID09IFwidW5kZWZpbmVkXCIgPyBpY29uIDogKGljb25zW2ljb25dIHx8IGljb24pO1xyXG4gICAgICAgIGFjdGl2ZUljb24gPSB0eXBlb2YgaWNvbnMgPT0gXCJ1bmRlZmluZWRcIiA/IGFjdGl2ZUljb24gOiAoaWNvbnNbYWN0aXZlSWNvbl0gfHwgaWNvbik7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShhY3RpdmUgPyBhY3RpdmVJY29uIDogaWNvbik7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,124 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { BehaviorSubject, combineLatest } from "rxjs";
3
+ import { map } from "rxjs/operators";
4
+ import { StaticLanguageService } from "./static-language.service";
5
+ import * as i0 from "@angular/core";
6
+ export class LanguageService extends StaticLanguageService {
7
+ get currentLanguage() {
8
+ return this.currentLang || this.defaultLanguage;
9
+ }
10
+ set currentLanguage(lang) {
11
+ this.useLanguage(lang).then(() => {
12
+ this.events.languageChanged.emit(lang);
13
+ });
14
+ }
15
+ get settings() {
16
+ const settings = this.languageSettings.value;
17
+ return !settings ? {} : settings.settings[this.currentLanguage] || {};
18
+ }
19
+ get $settings() {
20
+ this.loadSettings().then(s => this.languageSettings.next(s));
21
+ return combineLatest([this.languageSettings, this.events.languageChanged]).pipe(map(([settings, lang]) => {
22
+ return !settings ? {} : settings.settings[lang] || {};
23
+ }));
24
+ }
25
+ initService() {
26
+ this.client.setExtraRequestParam("language", "de");
27
+ this.translationRequests = {};
28
+ this.languageSettings = new BehaviorSubject(null);
29
+ if (this.universal.isServer)
30
+ return;
31
+ window["setLanguage"] = (lang) => {
32
+ this.currentLanguage = lang;
33
+ };
34
+ }
35
+ async initFromSettings() {
36
+ const defaultLanguage = this.defaultLanguage;
37
+ const settings = await this.loadSettings();
38
+ this.languageSettings.next(settings);
39
+ const devLanguages = settings.devLanguages || [];
40
+ this.languageList = (settings.languages || []).filter(lang => {
41
+ const unavailable = settings.settings[lang]?.unavailable;
42
+ if (unavailable) {
43
+ const parts = unavailable.split("/");
44
+ const value = parts[0] || parts[1];
45
+ const flags = parts.length > 1 ? parts[parts.length - 1] : "g";
46
+ if (new RegExp(value, flags).test(this.config.baseDomain))
47
+ return false;
48
+ }
49
+ return devLanguages.indexOf(lang) < 0;
50
+ });
51
+ if (this.languageList.length === 0) {
52
+ this.languageList = [defaultLanguage];
53
+ }
54
+ const lang = this.languages.indexOf(defaultLanguage) < 0 ? settings.defaultLanguage || this.languageList[0] : defaultLanguage;
55
+ await this.useLanguage(lang);
56
+ this.events.languageChanged.emit(lang);
57
+ }
58
+ async getTranslation(key, params = null) {
59
+ if (!key)
60
+ return "";
61
+ try {
62
+ const lowerKey = key.toLocaleLowerCase();
63
+ const dict = await this.loadDictionary();
64
+ if (lowerKey in dict) {
65
+ return this.interpolate(dict[lowerKey], params);
66
+ }
67
+ return this.interpolate(key, params);
68
+ }
69
+ catch (reason) {
70
+ console.log("ERROR IN TRANSLATIONS", reason);
71
+ return key;
72
+ }
73
+ }
74
+ async useLanguage(lang) {
75
+ lang = this.languages.indexOf(lang) < 0 ? this.languages[0] : lang;
76
+ this.client.setExtraRequestParam("language", lang);
77
+ if (lang == this.currentLang)
78
+ return this.dictionary;
79
+ this.storage.set("language", lang);
80
+ this.currentLang = lang;
81
+ const dict = await this.loadDictionary();
82
+ this.translations[lang] = dict;
83
+ return dict;
84
+ }
85
+ loadDictionary() {
86
+ const lang = this.currentLanguage;
87
+ this.translationRequests[lang] = this.translationRequests[lang] || new Promise(resolve => {
88
+ this.httpClient.get(`${this.config.translationUrl}${lang}`).toPromise().then(response => {
89
+ response = response || {};
90
+ resolve(Object.keys(response).reduce((result, key) => {
91
+ result[key.toLocaleLowerCase()] = response[key];
92
+ return result;
93
+ }, {}));
94
+ }, () => {
95
+ resolve({});
96
+ });
97
+ });
98
+ return this.translationRequests[lang];
99
+ }
100
+ loadSettings() {
101
+ this.settingsPromise = this.settingsPromise || (this.client.get(`${this.config.translationUrl}languageSettings`).toPromise())
102
+ .then((settings) => {
103
+ return settings;
104
+ }, () => {
105
+ return {
106
+ languages: ["de", "en", "hu"],
107
+ devLanguages: [],
108
+ defaultLanguage: "de",
109
+ settings: {
110
+ de: {},
111
+ hu: {},
112
+ en: {}
113
+ }
114
+ };
115
+ });
116
+ return this.settingsPromise;
117
+ }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LanguageService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
119
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LanguageService }); }
120
+ }
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LanguageService, decorators: [{
122
+ type: Injectable
123
+ }] });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvbGFuZ3VhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFHaEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEscUJBQXFCO0lBTXRELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxJQUFZO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztRQUM3QyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0Is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QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFUyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLGtCQUFrQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDeEgsSUFBSSxDQUNELENBQUMsUUFBMkIsRUFBRSxFQUFFO1lBQzVCLE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDSixPQUFPO2dCQUNILFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2dCQUM3QixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLFFBQVEsRUFBRTtvQkFDTixFQUFFLEVBQUUsRUFBRTtvQkFDTixFQUFFLEVBQUUsRUFBRTtvQkFDTixFQUFFLEVBQUUsRUFBRTtpQkFDVDthQUNKLENBQUM7UUFDTixDQUFDLENBQ0osQ0FBQztRQUNOLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDOytHQTFIUSxlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge21hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7SUxhbmd1YWdlU2V0dGluZywgSUxhbmd1YWdlU2V0dGluZ3MsIElUcmFuc2xhdGlvbnN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtTdGF0aWNMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL3N0YXRpYy1sYW5ndWFnZS5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZVNlcnZpY2UgZXh0ZW5kcyBTdGF0aWNMYW5ndWFnZVNlcnZpY2Uge1xyXG5cclxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGlvblJlcXVlc3RzOiBJVHJhbnNsYXRpb25zO1xyXG4gICAgcHJvdGVjdGVkIHNldHRpbmdzUHJvbWlzZTogUHJvbWlzZTxJTGFuZ3VhZ2VTZXR0aW5ncz47XHJcbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2VTZXR0aW5nczogQmVoYXZpb3JTdWJqZWN0PElMYW5ndWFnZVNldHRpbmdzPjtcclxuXHJcbiAgICBnZXQgY3VycmVudExhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExhbmcgfHwgdGhpcy5kZWZhdWx0TGFuZ3VhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGN1cnJlbnRMYW5ndWFnZShsYW5nOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnVzZUxhbmd1YWdlKGxhbmcpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmV2ZW50cy5sYW5ndWFnZUNoYW5nZWQuZW1pdChsYW5nKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc2V0dGluZ3MoKTogSUxhbmd1YWdlU2V0dGluZyB7XHJcbiAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLmxhbmd1YWdlU2V0dGluZ3MudmFsdWU7XHJcbiAgICAgICAgcmV0dXJuICFzZXR0aW5ncyA/IHt9IDogc2V0dGluZ3Muc2V0dGluZ3NbdGhpcy5jdXJyZW50TGFuZ3VhZ2VdIHx8IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCAkc2V0dGluZ3MoKTogT2JzZXJ2YWJsZTxJTGFuZ3VhZ2VTZXR0aW5nPiB7XHJcbiAgICAgICAgdGhpcy5sb2FkU2V0dGluZ3MoKS50aGVuKHMgPT4gdGhpcy5sYW5ndWFnZVNldHRpbmdzLm5leHQocykpO1xyXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLmxhbmd1YWdlU2V0dGluZ3MsIHRoaXMuZXZlbnRzLmxhbmd1YWdlQ2hhbmdlZF0pLnBpcGUobWFwKChbc2V0dGluZ3MsIGxhbmddKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAhc2V0dGluZ3MgPyB7fSA6IHNldHRpbmdzLnNldHRpbmdzW2xhbmcgYXMgc3RyaW5nXSB8fCB7fTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGluaXRTZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2xpZW50LnNldEV4dHJhUmVxdWVzdFBhcmFtKFwibGFuZ3VhZ2VcIiwgXCJkZVwiKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uUmVxdWVzdHMgPSB7fTtcclxuICAgICAgICB0aGlzLmxhbmd1YWdlU2V0dGluZ3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElMYW5ndWFnZVNldHRpbmdzPihudWxsKTtcclxuICAgICAgICBpZiAodGhpcy51bml2ZXJzYWwuaXNTZXJ2ZXIpIHJldHVybjtcclxuICAgICAgICB3aW5kb3dbXCJzZXRMYW5ndWFnZVwiXSA9IChsYW5nOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSBsYW5nO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaW5pdEZyb21TZXR0aW5ncygpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRMYW5ndWFnZSA9IHRoaXMuZGVmYXVsdExhbmd1YWdlO1xyXG4gICAgICAgIGNvbnN0IHNldHRpbmdzID0gYXdhaXQgdGhpcy5sb2FkU2V0dGluZ3MoKTtcclxuICAgICAgICB0aGlzLmxhbmd1YWdlU2V0dGluZ3MubmV4dChzZXR0aW5ncyk7XHJcbiAgICAgICAgY29uc3QgZGV2TGFuZ3VhZ2VzID0gc2V0dGluZ3MuZGV2TGFuZ3VhZ2VzIHx8IFtdO1xyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VMaXN0ID0gKHNldHRpbmdzLmxhbmd1YWdlcyB8fCBbXSkuZmlsdGVyKGxhbmcgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB1bmF2YWlsYWJsZSA9IHNldHRpbmdzLnNldHRpbmdzW2xhbmddPy51bmF2YWlsYWJsZTtcclxuICAgICAgICAgICAgaWYgKHVuYXZhaWxhYmxlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHVuYXZhaWxhYmxlLnNwbGl0KFwiL1wiKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFydHNbMF0gfHwgcGFydHNbMV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmbGFncyA9IHBhcnRzLmxlbmd0aCA+IDEgPyBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSA6IFwiZ1wiO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5ldyBSZWdFeHAodmFsdWUsIGZsYWdzKS50ZXN0KHRoaXMuY29uZmlnLmJhc2VEb21haW4pKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGRldkxhbmd1YWdlcy5pbmRleE9mKGxhbmcpIDwgMDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAodGhpcy5sYW5ndWFnZUxpc3QubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VMaXN0ID0gW2RlZmF1bHRMYW5ndWFnZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGxhbmcgPSB0aGlzLmxhbmd1YWdlcy5pbmRleE9mKGRlZmF1bHRMYW5ndWFnZSkgPCAwID8gc2V0dGluZ3MuZGVmYXVsdExhbmd1YWdlIHx8IHRoaXMubGFuZ3VhZ2VMaXN0WzBdIDogZGVmYXVsdExhbmd1YWdlO1xyXG4gICAgICAgIGF3YWl0IHRoaXMudXNlTGFuZ3VhZ2UobGFuZyk7XHJcbiAgICAgICAgdGhpcy5ldmVudHMubGFuZ3VhZ2VDaGFuZ2VkLmVtaXQobGFuZyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIHBhcmFtczogYW55ID0gbnVsbCk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgaWYgKCFrZXkpIHJldHVybiBcIlwiO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxvd2VyS2V5ID0ga2V5LnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRpY3QgPSBhd2FpdCB0aGlzLmxvYWREaWN0aW9uYXJ5KCk7XHJcbiAgICAgICAgICAgIGlmIChsb3dlcktleSBpbiBkaWN0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZShkaWN0W2xvd2VyS2V5XSwgcGFyYW1zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZShrZXksIHBhcmFtcyk7XHJcbiAgICAgICAgfSBjYXRjaCAocmVhc29uKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRVJST1IgSU4gVFJBTlNMQVRJT05TXCIsIHJlYXNvbik7XHJcbiAgICAgICAgICAgIHJldHVybiBrZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyB1c2VMYW5ndWFnZShsYW5nOiBzdHJpbmcpOiBQcm9taXNlPElUcmFuc2xhdGlvbnM+IHtcclxuICAgICAgICBsYW5nID0gdGhpcy5sYW5ndWFnZXMuaW5kZXhPZihsYW5nKSA8IDAgPyB0aGlzLmxhbmd1YWdlc1swXSA6IGxhbmc7XHJcbiAgICAgICAgdGhpcy5jbGllbnQuc2V0RXh0cmFSZXF1ZXN0UGFyYW0oXCJsYW5ndWFnZVwiLCBsYW5nKTtcclxuICAgICAgICBpZiAobGFuZyA9PSB0aGlzLmN1cnJlbnRMYW5nKSByZXR1cm4gdGhpcy5kaWN0aW9uYXJ5O1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZS5zZXQoXCJsYW5ndWFnZVwiLCBsYW5nKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMYW5nID0gbGFuZztcclxuICAgICAgICBjb25zdCBkaWN0ID0gYXdhaXQgdGhpcy5sb2FkRGljdGlvbmFyeSgpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRpb25zW2xhbmddID0gZGljdDtcclxuICAgICAgICByZXR1cm4gZGljdDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgbG9hZERpY3Rpb25hcnkoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBsYW5nID0gdGhpcy5jdXJyZW50TGFuZ3VhZ2U7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblJlcXVlc3RzW2xhbmddID0gdGhpcy50cmFuc2xhdGlvblJlcXVlc3RzW2xhbmddIHx8IG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnLnRyYW5zbGF0aW9uVXJsfSR7bGFuZ31gKS50b1Byb21pc2UoKS50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UgfHwge307XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKE9iamVjdC5rZXlzKHJlc3BvbnNlKS5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleS50b0xvY2FsZUxvd2VyQ2FzZSgpXSA9IHJlc3BvbnNlW2tleV07XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgICAgIH0sIHt9KSk7XHJcbiAgICAgICAgICAgIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoe30pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvblJlcXVlc3RzW2xhbmddO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBsb2FkU2V0dGluZ3MoKTogUHJvbWlzZTxJTGFuZ3VhZ2VTZXR0aW5ncz4ge1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NQcm9taXNlID0gdGhpcy5zZXR0aW5nc1Byb21pc2UgfHwgKHRoaXMuY2xpZW50LmdldChgJHt0aGlzLmNvbmZpZy50cmFuc2xhdGlvblVybH1sYW5ndWFnZVNldHRpbmdzYCkudG9Qcm9taXNlKCkpXHJcbiAgICAgICAgICAgIC50aGVuKFxyXG4gICAgICAgICAgICAgICAgKHNldHRpbmdzOiBJTGFuZ3VhZ2VTZXR0aW5ncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXR0aW5ncztcclxuICAgICAgICAgICAgICAgIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZXM6IFtcImRlXCIsIFwiZW5cIiwgXCJodVwiXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGV2TGFuZ3VhZ2VzOiBbXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdExhbmd1YWdlOiBcImRlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZToge30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodToge30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbjoge31cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NQcm9taXNlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,47 +1,47 @@
1
- import { Injectable } from "@angular/core";
2
- import { BaseHttpService } from "./base-http.service";
3
- import * as i0 from "@angular/core";
4
- export class LocalHttpService extends BaseHttpService {
5
- get name() {
6
- return "local-http";
7
- }
8
- get withCredentials() {
9
- return false;
10
- }
11
- initService() {
12
- this.images = {};
13
- }
14
- url(url) {
15
- if (!url)
16
- return url;
17
- const config = this.configs.config;
18
- const baseUrl = config.cdnUrl || config.baseUrl || "";
19
- return url.startsWith("data:") || url.startsWith("http") || url.startsWith("//")
20
- ? url
21
- : `${baseUrl}${url}`;
22
- }
23
- get(url, options) {
24
- this.cache[url] = this.cache[url] || this.getPromise(url, options);
25
- return this.cache[url];
26
- }
27
- getImage(url) {
28
- if (this.universal.isServer)
29
- return Promise.resolve(null);
30
- if (!url)
31
- return Promise.resolve(new Image());
32
- this.images[url] = this.images[url] || new Promise((resolve, reject) => {
33
- const image = new Image();
34
- image.crossOrigin = "Anonymous";
35
- image.src = this.url(url);
36
- image.onload = () => resolve(image);
37
- image.onerror = reject;
38
- });
39
- return this.images[url];
40
- }
41
- }
42
- LocalHttpServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LocalHttpService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
43
- LocalHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LocalHttpService });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LocalHttpService, decorators: [{
45
- type: Injectable
46
- }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9zZXJ2aWNlcy9sb2NhbC1odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBR3BELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO0lBSWpELElBQUksSUFBSTtRQUNKLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDekIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVTLFdBQVc7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ1gsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNuQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3RELE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQzVFLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEdBQUcsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLE9BQXlCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsR0FBRztZQUNKLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyRixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzFCLEtBQUssQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQixLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDOzs2R0E3Q1EsZ0JBQWdCO2lIQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7SVJlcXVlc3RPcHRpb25zfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7QmFzZUh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9iYXNlLWh0dHAuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTG9jYWxIdHRwU2VydmljZSBleHRlbmRzIEJhc2VIdHRwU2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBpbWFnZXM6IHsgW3VybDogc3RyaW5nXTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB9O1xyXG5cclxuICAgIGdldCBuYW1lKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIFwibG9jYWwtaHR0cFwiO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgd2l0aENyZWRlbnRpYWxzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW5pdFNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pbWFnZXMgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICB1cmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdXJsKSByZXR1cm4gdXJsO1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlncy5jb25maWc7XHJcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IGNvbmZpZy5jZG5VcmwgfHwgY29uZmlnLmJhc2VVcmwgfHwgXCJcIjtcclxuICAgICAgICByZXR1cm4gdXJsLnN0YXJ0c1dpdGgoXCJkYXRhOlwiKSB8fCB1cmwuc3RhcnRzV2l0aChcImh0dHBcIikgfHwgdXJsLnN0YXJ0c1dpdGgoXCIvL1wiKVxyXG4gICAgICAgICAgICA/IHVybFxyXG4gICAgICAgICAgICA6IGAke2Jhc2VVcmx9JHt1cmx9YDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRoaXMuY2FjaGVbdXJsXSA9IHRoaXMuY2FjaGVbdXJsXSB8fCB0aGlzLmdldFByb21pc2UodXJsLCBvcHRpb25zKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWNoZVt1cmxdO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEltYWdlKHVybDogc3RyaW5nKTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB7XHJcbiAgICAgICAgaWYgKHRoaXMudW5pdmVyc2FsLmlzU2VydmVyKVxyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xyXG4gICAgICAgIGlmICghdXJsKVxyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBJbWFnZSgpKTtcclxuXHJcbiAgICAgICAgdGhpcy5pbWFnZXNbdXJsXSA9IHRoaXMuaW1hZ2VzW3VybF0gfHwgbmV3IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xyXG4gICAgICAgICAgICBpbWFnZS5jcm9zc09yaWdpbiA9IFwiQW5vbnltb3VzXCI7XHJcbiAgICAgICAgICAgIGltYWdlLnNyYyA9IHRoaXMudXJsKHVybCk7XHJcbiAgICAgICAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoaW1hZ2UpO1xyXG4gICAgICAgICAgICBpbWFnZS5vbmVycm9yID0gcmVqZWN0O1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5pbWFnZXNbdXJsXTtcclxuICAgIH1cclxufVxyXG4iXX0=
1
+ import { Injectable } from "@angular/core";
2
+ import { BaseHttpService } from "./base-http.service";
3
+ import * as i0 from "@angular/core";
4
+ export class LocalHttpService extends BaseHttpService {
5
+ get name() {
6
+ return "local-http";
7
+ }
8
+ get withCredentials() {
9
+ return false;
10
+ }
11
+ initService() {
12
+ this.images = {};
13
+ }
14
+ url(url) {
15
+ if (!url)
16
+ return url;
17
+ const config = this.configs.config;
18
+ const baseUrl = config.cdnUrl || config.baseUrl || "";
19
+ return url.startsWith("data:") || url.startsWith("http") || url.startsWith("//")
20
+ ? url
21
+ : `${baseUrl}${url}`;
22
+ }
23
+ get(url, options) {
24
+ this.cache[url] = this.cache[url] || this.getPromise(url, options);
25
+ return this.cache[url];
26
+ }
27
+ getImage(url) {
28
+ if (this.universal.isServer)
29
+ return Promise.resolve(null);
30
+ if (!url)
31
+ return Promise.resolve(new Image());
32
+ this.images[url] = this.images[url] || new Promise((resolve, reject) => {
33
+ const image = new Image();
34
+ image.crossOrigin = "Anonymous";
35
+ image.src = this.url(url);
36
+ image.onload = () => resolve(image);
37
+ image.onerror = reject;
38
+ });
39
+ return this.images[url];
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalHttpService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalHttpService }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocalHttpService, decorators: [{
45
+ type: Injectable
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9zZXJ2aWNlcy9sb2NhbC1odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBR3BELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO0lBSWpELElBQUksSUFBSTtRQUNKLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDekIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVTLFdBQVc7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ1gsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNuQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3RELE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQzVFLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEdBQUcsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLE9BQXlCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsR0FBRztZQUNKLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyRixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzFCLEtBQUssQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQixLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQTdDUSxnQkFBZ0I7bUhBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7SVJlcXVlc3RPcHRpb25zfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7QmFzZUh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9iYXNlLWh0dHAuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTG9jYWxIdHRwU2VydmljZSBleHRlbmRzIEJhc2VIdHRwU2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBpbWFnZXM6IHsgW3VybDogc3RyaW5nXTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB9O1xyXG5cclxuICAgIGdldCBuYW1lKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIFwibG9jYWwtaHR0cFwiO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgd2l0aENyZWRlbnRpYWxzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW5pdFNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pbWFnZXMgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICB1cmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdXJsKSByZXR1cm4gdXJsO1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlncy5jb25maWc7XHJcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IGNvbmZpZy5jZG5VcmwgfHwgY29uZmlnLmJhc2VVcmwgfHwgXCJcIjtcclxuICAgICAgICByZXR1cm4gdXJsLnN0YXJ0c1dpdGgoXCJkYXRhOlwiKSB8fCB1cmwuc3RhcnRzV2l0aChcImh0dHBcIikgfHwgdXJsLnN0YXJ0c1dpdGgoXCIvL1wiKVxyXG4gICAgICAgICAgICA/IHVybFxyXG4gICAgICAgICAgICA6IGAke2Jhc2VVcmx9JHt1cmx9YDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRoaXMuY2FjaGVbdXJsXSA9IHRoaXMuY2FjaGVbdXJsXSB8fCB0aGlzLmdldFByb21pc2UodXJsLCBvcHRpb25zKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWNoZVt1cmxdO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEltYWdlKHVybDogc3RyaW5nKTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB7XHJcbiAgICAgICAgaWYgKHRoaXMudW5pdmVyc2FsLmlzU2VydmVyKVxyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xyXG4gICAgICAgIGlmICghdXJsKVxyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBJbWFnZSgpKTtcclxuXHJcbiAgICAgICAgdGhpcy5pbWFnZXNbdXJsXSA9IHRoaXMuaW1hZ2VzW3VybF0gfHwgbmV3IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xyXG4gICAgICAgICAgICBpbWFnZS5jcm9zc09yaWdpbiA9IFwiQW5vbnltb3VzXCI7XHJcbiAgICAgICAgICAgIGltYWdlLnNyYyA9IHRoaXMudXJsKHVybCk7XHJcbiAgICAgICAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoaW1hZ2UpO1xyXG4gICAgICAgICAgICBpbWFnZS5vbmVycm9yID0gcmVqZWN0O1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5pbWFnZXNbdXJsXTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,40 +1,40 @@
1
- import { Inject, Injectable } from "@angular/core";
2
- import { API_SERVICE } from "../common-types";
3
- import * as i0 from "@angular/core";
4
- export class OpenApiService {
5
- constructor(api) {
6
- this.api = api;
7
- }
8
- getSchemas() {
9
- this.schemasPromise = this.schemasPromise || new Promise((resolve => {
10
- this.api.get("api-docs").then(res => {
11
- const schemas = res.components?.schemas || res.definitions || {};
12
- Object.values(schemas).forEach(schema => {
13
- Object.keys(schema.properties || {}).forEach(p => {
14
- schema.properties[p].id = p;
15
- });
16
- });
17
- resolve(schemas);
18
- }, () => {
19
- resolve({});
20
- });
21
- }));
22
- return this.schemasPromise;
23
- }
24
- async getSchema(name) {
25
- const schemas = await this.getSchemas();
26
- const schema = schemas[name];
27
- if (!schema)
28
- return null;
29
- return schemas[name];
30
- }
31
- }
32
- OpenApiServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: OpenApiService, deps: [{ token: API_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
33
- OpenApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: OpenApiService });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: OpenApiService, decorators: [{
35
- type: Injectable
36
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
37
- type: Inject,
38
- args: [API_SERVICE]
39
- }] }]; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvb3Blbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsV0FBVyxFQUErQyxNQUFNLGlCQUFpQixDQUFDOztBQUcxRixNQUFNLE9BQU8sY0FBYztJQUl2QixZQUEwQyxHQUFnQjtRQUFoQixRQUFHLEdBQUgsR0FBRyxDQUFhO0lBRTFELENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNoQyxNQUFNLE9BQU8sR0FBb0IsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLElBQUksR0FBRyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7Z0JBQ2xGLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUM3QyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ2hDLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO2dCQUNILE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixDQUFDLEVBQUUsR0FBRyxFQUFFO2dCQUNKLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUN4QixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUN6QixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOzsyR0E5QlEsY0FBYyxrQkFJSCxXQUFXOytHQUp0QixjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVU7OzBCQUtNLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FQSV9TRVJWSUNFLCBJQXBpU2VydmljZSwgSU9wZW5BcGlTY2hlbWEsIElPcGVuQXBpU2NoZW1hc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT3BlbkFwaVNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgc2NoZW1hc1Byb21pc2U6IFByb21pc2U8SU9wZW5BcGlTY2hlbWFzPjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQSV9TRVJWSUNFKSByZWFkb25seSBhcGk6IElBcGlTZXJ2aWNlKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGdldFNjaGVtYXMoKTogUHJvbWlzZTxJT3BlbkFwaVNjaGVtYXM+IHtcclxuICAgICAgICB0aGlzLnNjaGVtYXNQcm9taXNlID0gdGhpcy5zY2hlbWFzUHJvbWlzZSB8fCBuZXcgUHJvbWlzZSgocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBpLmdldChcImFwaS1kb2NzXCIpLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNjaGVtYXM6IElPcGVuQXBpU2NoZW1hcyA9IHJlcy5jb21wb25lbnRzPy5zY2hlbWFzIHx8IHJlcy5kZWZpbml0aW9ucyB8fCB7fTtcclxuICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoc2NoZW1hcykuZm9yRWFjaChzY2hlbWEgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHNjaGVtYS5wcm9wZXJ0aWVzIHx8IHt9KS5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY2hlbWEucHJvcGVydGllc1twXS5pZCA9IHA7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoc2NoZW1hcyk7XHJcbiAgICAgICAgICAgIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoe30pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2NoZW1hc1Byb21pc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0U2NoZW1hKG5hbWU6IHN0cmluZyk6IFByb21pc2U8SU9wZW5BcGlTY2hlbWE+IHtcclxuICAgICAgICBjb25zdCBzY2hlbWFzID0gYXdhaXQgdGhpcy5nZXRTY2hlbWFzKCk7XHJcbiAgICAgICAgY29uc3Qgc2NoZW1hID0gc2NoZW1hc1tuYW1lXTtcclxuICAgICAgICBpZiAoIXNjaGVtYSkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgcmV0dXJuIHNjaGVtYXNbbmFtZV07XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { Inject, Injectable } from "@angular/core";
2
+ import { API_SERVICE } from "../common-types";
3
+ import * as i0 from "@angular/core";
4
+ export class OpenApiService {
5
+ constructor(api) {
6
+ this.api = api;
7
+ }
8
+ getSchemas() {
9
+ this.schemasPromise = this.schemasPromise || new Promise((resolve => {
10
+ this.api.get("api-docs").then(res => {
11
+ const schemas = res.components?.schemas || res.definitions || {};
12
+ Object.values(schemas).forEach(schema => {
13
+ Object.keys(schema.properties || {}).forEach(p => {
14
+ schema.properties[p].id = p;
15
+ });
16
+ });
17
+ resolve(schemas);
18
+ }, () => {
19
+ resolve({});
20
+ });
21
+ }));
22
+ return this.schemasPromise;
23
+ }
24
+ async getSchema(name) {
25
+ const schemas = await this.getSchemas();
26
+ const schema = schemas[name];
27
+ if (!schema)
28
+ return null;
29
+ return schemas[name];
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OpenApiService, deps: [{ token: API_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OpenApiService }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OpenApiService, decorators: [{
35
+ type: Injectable
36
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
37
+ type: Inject,
38
+ args: [API_SERVICE]
39
+ }] }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvb3Blbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsV0FBVyxFQUErQyxNQUFNLGlCQUFpQixDQUFDOztBQUcxRixNQUFNLE9BQU8sY0FBYztJQUl2QixZQUEwQyxHQUFnQjtRQUFoQixRQUFHLEdBQUgsR0FBRyxDQUFhO0lBRTFELENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNoQyxNQUFNLE9BQU8sR0FBb0IsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLElBQUksR0FBRyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7Z0JBQ2xGLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUM3QyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ2hDLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO2dCQUNILE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixDQUFDLEVBQUUsR0FBRyxFQUFFO2dCQUNKLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUN4QixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUN6QixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOytHQTlCUSxjQUFjLGtCQUlILFdBQVc7bUhBSnRCLGNBQWM7OzRGQUFkLGNBQWM7a0JBRDFCLFVBQVU7OzBCQUtNLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FQSV9TRVJWSUNFLCBJQXBpU2VydmljZSwgSU9wZW5BcGlTY2hlbWEsIElPcGVuQXBpU2NoZW1hc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT3BlbkFwaVNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgc2NoZW1hc1Byb21pc2U6IFByb21pc2U8SU9wZW5BcGlTY2hlbWFzPjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQSV9TRVJWSUNFKSByZWFkb25seSBhcGk6IElBcGlTZXJ2aWNlKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGdldFNjaGVtYXMoKTogUHJvbWlzZTxJT3BlbkFwaVNjaGVtYXM+IHtcclxuICAgICAgICB0aGlzLnNjaGVtYXNQcm9taXNlID0gdGhpcy5zY2hlbWFzUHJvbWlzZSB8fCBuZXcgUHJvbWlzZSgocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBpLmdldChcImFwaS1kb2NzXCIpLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNjaGVtYXM6IElPcGVuQXBpU2NoZW1hcyA9IHJlcy5jb21wb25lbnRzPy5zY2hlbWFzIHx8IHJlcy5kZWZpbml0aW9ucyB8fCB7fTtcclxuICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoc2NoZW1hcykuZm9yRWFjaChzY2hlbWEgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHNjaGVtYS5wcm9wZXJ0aWVzIHx8IHt9KS5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY2hlbWEucHJvcGVydGllc1twXS5pZCA9IHA7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoc2NoZW1hcyk7XHJcbiAgICAgICAgICAgIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoe30pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2NoZW1hc1Byb21pc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0U2NoZW1hKG5hbWU6IHN0cmluZyk6IFByb21pc2U8SU9wZW5BcGlTY2hlbWE+IHtcclxuICAgICAgICBjb25zdCBzY2hlbWFzID0gYXdhaXQgdGhpcy5nZXRTY2hlbWFzKCk7XHJcbiAgICAgICAgY29uc3Qgc2NoZW1hID0gc2NoZW1hc1tuYW1lXTtcclxuICAgICAgICBpZiAoIXNjaGVtYSkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgcmV0dXJuIHNjaGVtYXNbbmFtZV07XHJcbiAgICB9XHJcbn1cclxuIl19