@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,65 +0,0 @@
1
- import { ChangeDetectorRef, Component, ContentChildren, Input, QueryList, TemplateRef, ViewChild } from "@angular/core";
2
- import { ObjectUtils } from "../../utils/object.utils";
3
- import { UnorderedListTemplateDirective } from "../../directives/unordered-list-template.directive";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "../../directives/unordered-list-item.directive";
7
- import * as i3 from "../../pipes/translate.pipe";
8
- import * as i4 from "../../pipes/entries.pipe";
9
- export class UnorderedListComponent {
10
- constructor(cdr) {
11
- this.cdr = cdr;
12
- this.keyPrefix = "";
13
- this.listStyle = "table";
14
- this.path = "";
15
- this.level = 0;
16
- }
17
- ngOnChanges(changes) {
18
- this.isArray = ObjectUtils.isArray(this.data);
19
- this.isObject = ObjectUtils.isObject(this.data);
20
- }
21
- ngAfterContentInit() {
22
- const templates = this.templateDirectives.toArray();
23
- this.templates = this.templates ? this.templates.concat(templates) : templates;
24
- this.cdr.detectChanges();
25
- }
26
- ngAfterViewInit() {
27
- this.defaultTemplates = {
28
- key: this.defaultKeyTemplate,
29
- value: this.defaultValueTemplate,
30
- item: this.defaultItemTemplate
31
- };
32
- this.cdr.detectChanges();
33
- }
34
- }
35
- UnorderedListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UnorderedListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
- UnorderedListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UnorderedListComponent, selector: "unordered-list", inputs: { data: "data", keyPrefix: "keyPrefix", listStyle: "listStyle", path: "path", level: "level", templates: "templates" }, queries: [{ propertyName: "templateDirectives", predicate: UnorderedListTemplateDirective }], viewQueries: [{ propertyName: "defaultKeyTemplate", first: true, predicate: ["defaultKeyTemplate"], descendants: true }, { propertyName: "defaultValueTemplate", first: true, predicate: ["defaultValueTemplate"], descendants: true }, { propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template let-keyPrefix=\"keyPrefix\" let-key=\"item.key\" let-isArray=\"isArray\" #defaultKeyTemplate>\r\n {{ (keyPrefix ? keyPrefix + key : key) | translate }}:\r\n</ng-template>\r\n<ng-template let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-val=\"item.value\" let-path=\"path\"\r\n let-templates=\"templates\" let-isObject=\"valueIsObject\" let-isArray=\"valueIsArray\" #defaultValueTemplate>\r\n <ng-template #value>\r\n <span [innerHTML]=\"val\"></span>\r\n </ng-template>\r\n <unordered-list [data]=\"val\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level + 1\"\r\n [templates]=\"templates\"\r\n *ngIf=\"(isObject || isArray); else value\"></unordered-list>\r\n</ng-template>\r\n<ng-template let-item=\"item\" let-data=\"data\" let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-path=\"path\" let-level=\"level\" let-templates=\"templates\" #defaultItemTemplate>\r\n <ng-template #itemKey>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"key\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-template #itemValue>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"value\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"!isArray\">\r\n <th *ngIf=\"listStyle == 'table'; else itemKey\">\r\n <ng-container [ngTemplateOutlet]=\"itemKey\"></ng-container>\r\n </th>\r\n </ng-container>\r\n <td *ngIf=\"listStyle == 'table'; else itemValue\">\r\n <ng-container [ngTemplateOutlet]=\"itemValue\"></ng-container>\r\n </td>\r\n</ng-template>\r\n<ng-template #value>\r\n <span [innerHTML]=\"data\"></span>\r\n</ng-template>\r\n<ng-container *ngIf=\"(isObject || isArray); else value\" [ngSwitch]=\"listStyle\">\r\n <ul [ngClass]=\"'level-' + level\" *ngSwitchCase=\"'list'\">\r\n <li *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </li>\r\n </ul>\r\n <table [ngClass]=\"'level-' + level\" *ngSwitchDefault>\r\n <tr *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </tr>\r\n </table>\r\n</ng-container>\r\n", components: [{ type: UnorderedListComponent, selector: "unordered-list", inputs: ["data", "keyPrefix", "listStyle", "path", "level", "templates"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.UnorderedListItemDirective, selector: "[unorderedListItem]", inputs: ["unorderedListItem", "type", "data", "keyPrefix", "listStyle", "path", "level", "templates", "defaultTemplates"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": i3.TranslatePipe, "entries": i4.EntriesPipe } });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UnorderedListComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: "unordered-list", template: "<ng-template let-keyPrefix=\"keyPrefix\" let-key=\"item.key\" let-isArray=\"isArray\" #defaultKeyTemplate>\r\n {{ (keyPrefix ? keyPrefix + key : key) | translate }}:\r\n</ng-template>\r\n<ng-template let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-val=\"item.value\" let-path=\"path\"\r\n let-templates=\"templates\" let-isObject=\"valueIsObject\" let-isArray=\"valueIsArray\" #defaultValueTemplate>\r\n <ng-template #value>\r\n <span [innerHTML]=\"val\"></span>\r\n </ng-template>\r\n <unordered-list [data]=\"val\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level + 1\"\r\n [templates]=\"templates\"\r\n *ngIf=\"(isObject || isArray); else value\"></unordered-list>\r\n</ng-template>\r\n<ng-template let-item=\"item\" let-data=\"data\" let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-path=\"path\" let-level=\"level\" let-templates=\"templates\" #defaultItemTemplate>\r\n <ng-template #itemKey>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"key\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-template #itemValue>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"value\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"!isArray\">\r\n <th *ngIf=\"listStyle == 'table'; else itemKey\">\r\n <ng-container [ngTemplateOutlet]=\"itemKey\"></ng-container>\r\n </th>\r\n </ng-container>\r\n <td *ngIf=\"listStyle == 'table'; else itemValue\">\r\n <ng-container [ngTemplateOutlet]=\"itemValue\"></ng-container>\r\n </td>\r\n</ng-template>\r\n<ng-template #value>\r\n <span [innerHTML]=\"data\"></span>\r\n</ng-template>\r\n<ng-container *ngIf=\"(isObject || isArray); else value\" [ngSwitch]=\"listStyle\">\r\n <ul [ngClass]=\"'level-' + level\" *ngSwitchCase=\"'list'\">\r\n <li *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </li>\r\n </ul>\r\n <table [ngClass]=\"'level-' + level\" *ngSwitchDefault>\r\n <tr *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </tr>\r\n </table>\r\n</ng-container>\r\n" }]
40
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
41
- type: Input
42
- }], keyPrefix: [{
43
- type: Input
44
- }], listStyle: [{
45
- type: Input
46
- }], path: [{
47
- type: Input
48
- }], level: [{
49
- type: Input
50
- }], templates: [{
51
- type: Input
52
- }], templateDirectives: [{
53
- type: ContentChildren,
54
- args: [UnorderedListTemplateDirective]
55
- }], defaultKeyTemplate: [{
56
- type: ViewChild,
57
- args: ["defaultKeyTemplate"]
58
- }], defaultValueTemplate: [{
59
- type: ViewChild,
60
- args: ["defaultValueTemplate"]
61
- }], defaultItemTemplate: [{
62
- type: ViewChild,
63
- args: ["defaultItemTemplate"]
64
- }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9jb21wb25lbnRzL3Vub3JkZXJlZC1saXN0L3Vub3JkZXJlZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvY29tcG9uZW50cy91bm9yZGVyZWQtbGlzdC91bm9yZGVyZWQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUVMLFNBQVMsRUFDTSxXQUFXLEVBQUUsU0FBUyxFQUN4QyxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sb0RBQW9ELENBQUM7Ozs7OztBQU1sRyxNQUFNLE9BQU8sc0JBQXNCO0lBdUIvQixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxrQkFBa0I7UUFDZCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQy9FLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUc7WUFDcEIsR0FBRyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDNUIsS0FBSyxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDaEMsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUI7U0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7bUhBaERRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHlOQWFkLDhCQUE4Qix3WUNoQ25ELG0vSEErRUEsdUJENURhLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNJLGdCQUFnQjt3R0FLakIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT0Usa0JBQWtCO3NCQUR6QixlQUFlO3VCQUFDLDhCQUE4QjtnQkFJdkMsa0JBQWtCO3NCQUR6QixTQUFTO3VCQUFDLG9CQUFvQjtnQkFHdkIsb0JBQW9CO3NCQUQzQixTQUFTO3VCQUFDLHNCQUFzQjtnQkFHekIsbUJBQW1CO3NCQUQxQixTQUFTO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlckNvbnRlbnRJbml0LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29udGVudENoaWxkcmVuLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtVbm9yZGVyZWRMaXN0U3R5bGUsIFVub3JkZXJlZExpc3RUZW1wbGF0ZXMsIFVub3JkZXJlZExpc3RUZW1wbGF0ZX0gZnJvbSBcIi4uLy4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcbmltcG9ydCB7VW5vcmRlcmVkTGlzdFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwidW5vcmRlcmVkLWxpc3RcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdW5vcmRlcmVkLWxpc3QuY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5vcmRlcmVkTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgZGF0YTogYW55O1xyXG4gICAgQElucHV0KCkga2V5UHJlZml4OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBsaXN0U3R5bGU6IFVub3JkZXJlZExpc3RTdHlsZTtcclxuICAgIEBJbnB1dCgpIHBhdGg6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGxldmVsOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSB0ZW1wbGF0ZXM6IFVub3JkZXJlZExpc3RUZW1wbGF0ZVtdO1xyXG5cclxuICAgIGlzQXJyYXk6IGJvb2xlYW47XHJcbiAgICBpc09iamVjdDogYm9vbGVhbjtcclxuICAgIGRlZmF1bHRUZW1wbGF0ZXM6IFVub3JkZXJlZExpc3RUZW1wbGF0ZXM7XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihVbm9yZGVyZWRMaXN0VGVtcGxhdGVEaXJlY3RpdmUpXHJcbiAgICBwcml2YXRlIHRlbXBsYXRlRGlyZWN0aXZlczogUXVlcnlMaXN0PFVub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZT47XHJcblxyXG4gICAgQFZpZXdDaGlsZChcImRlZmF1bHRLZXlUZW1wbGF0ZVwiKVxyXG4gICAgcHJpdmF0ZSBkZWZhdWx0S2V5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBAVmlld0NoaWxkKFwiZGVmYXVsdFZhbHVlVGVtcGxhdGVcIilcclxuICAgIHByaXZhdGUgZGVmYXVsdFZhbHVlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBAVmlld0NoaWxkKFwiZGVmYXVsdEl0ZW1UZW1wbGF0ZVwiKVxyXG4gICAgcHJpdmF0ZSBkZWZhdWx0SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHRoaXMua2V5UHJlZml4ID0gXCJcIjtcclxuICAgICAgICB0aGlzLmxpc3RTdHlsZSA9IFwidGFibGVcIjtcclxuICAgICAgICB0aGlzLnBhdGggPSBcIlwiO1xyXG4gICAgICAgIHRoaXMubGV2ZWwgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzQXJyYXkgPSBPYmplY3RVdGlscy5pc0FycmF5KHRoaXMuZGF0YSk7XHJcbiAgICAgICAgdGhpcy5pc09iamVjdCA9IE9iamVjdFV0aWxzLmlzT2JqZWN0KHRoaXMuZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlcyA9IHRoaXMudGVtcGxhdGVEaXJlY3RpdmVzLnRvQXJyYXkoKTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlcyA9IHRoaXMudGVtcGxhdGVzID8gdGhpcy50ZW1wbGF0ZXMuY29uY2F0KHRlbXBsYXRlcykgOiB0ZW1wbGF0ZXM7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMgPSB7XHJcbiAgICAgICAgICAgIGtleTogdGhpcy5kZWZhdWx0S2V5VGVtcGxhdGUsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmRlZmF1bHRWYWx1ZVRlbXBsYXRlLFxyXG4gICAgICAgICAgICBpdGVtOiB0aGlzLmRlZmF1bHRJdGVtVGVtcGxhdGVcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgbGV0LWtleVByZWZpeD1cImtleVByZWZpeFwiIGxldC1rZXk9XCJpdGVtLmtleVwiIGxldC1pc0FycmF5PVwiaXNBcnJheVwiICNkZWZhdWx0S2V5VGVtcGxhdGU+XHJcbiAgICB7eyAoa2V5UHJlZml4ID8ga2V5UHJlZml4ICsga2V5IDoga2V5KSB8IHRyYW5zbGF0ZSB9fTpcclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlIGxldC1rZXlQcmVmaXg9XCJrZXlQcmVmaXhcIiBsZXQtbGlzdFN0eWxlPVwibGlzdFN0eWxlXCIgbGV0LXZhbD1cIml0ZW0udmFsdWVcIiBsZXQtcGF0aD1cInBhdGhcIlxyXG4gICAgICAgICAgICAgbGV0LXRlbXBsYXRlcz1cInRlbXBsYXRlc1wiIGxldC1pc09iamVjdD1cInZhbHVlSXNPYmplY3RcIiBsZXQtaXNBcnJheT1cInZhbHVlSXNBcnJheVwiICNkZWZhdWx0VmFsdWVUZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdmFsdWU+XHJcbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJ2YWxcIj48L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPHVub3JkZXJlZC1saXN0IFtkYXRhXT1cInZhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2tleVByZWZpeF09XCJrZXlQcmVmaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsaXN0U3R5bGVdPVwibGlzdFN0eWxlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGF0aF09XCJwYXRoXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVzXT1cInRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIoaXNPYmplY3QgfHwgaXNBcnJheSk7IGVsc2UgdmFsdWVcIj48L3Vub3JkZXJlZC1saXN0PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWRhdGE9XCJkYXRhXCIgbGV0LWtleVByZWZpeD1cImtleVByZWZpeFwiIGxldC1saXN0U3R5bGU9XCJsaXN0U3R5bGVcIiBsZXQtcGF0aD1cInBhdGhcIiBsZXQtbGV2ZWw9XCJsZXZlbFwiIGxldC10ZW1wbGF0ZXM9XCJ0ZW1wbGF0ZXNcIiAjZGVmYXVsdEl0ZW1UZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaXRlbUtleT5cclxuICAgICAgICA8bmctY29udGFpbmVyIFt1bm9yZGVyZWRMaXN0SXRlbV09XCJpdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJrZXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBba2V5UHJlZml4XT1cImtleVByZWZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbGlzdFN0eWxlXT1cImxpc3RTdHlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcGF0aF09XCJwYXRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtsZXZlbF09XCJsZXZlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVzXT1cInRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFRlbXBsYXRlc109XCJkZWZhdWx0VGVtcGxhdGVzXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICNpdGVtVmFsdWU+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbdW5vcmRlcmVkTGlzdEl0ZW1dPVwiaXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBba2V5UHJlZml4XT1cImtleVByZWZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbGlzdFN0eWxlXT1cImxpc3RTdHlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcGF0aF09XCJwYXRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtsZXZlbF09XCJsZXZlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVzXT1cInRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFRlbXBsYXRlc109XCJkZWZhdWx0VGVtcGxhdGVzXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0FycmF5XCI+XHJcbiAgICAgICAgPHRoICpuZ0lmPVwibGlzdFN0eWxlID09ICd0YWJsZSc7IGVsc2UgaXRlbUtleVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1LZXlcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RoPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8dGQgKm5nSWY9XCJsaXN0U3R5bGUgPT0gJ3RhYmxlJzsgZWxzZSBpdGVtVmFsdWVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1WYWx1ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC90ZD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICN2YWx1ZT5cclxuICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZGF0YVwiPjwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIihpc09iamVjdCB8fCBpc0FycmF5KTsgZWxzZSB2YWx1ZVwiIFtuZ1N3aXRjaF09XCJsaXN0U3R5bGVcIj5cclxuICAgIDx1bCBbbmdDbGFzc109XCInbGV2ZWwtJyArIGxldmVsXCIgKm5nU3dpdGNoQ2FzZT1cIidsaXN0J1wiPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhIHwgZW50cmllc1wiIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3NMaXN0XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW3Vub3JkZXJlZExpc3RJdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJpdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5UHJlZml4XT1cImtleVByZWZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpc3RTdHlsZV09XCJsaXN0U3R5bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoXT1cInBhdGggPyBwYXRoICsgJy4nICsgaXRlbS5rZXkgOiBpdGVtLmtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xldmVsXT1cImxldmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVzXT1cInRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRUZW1wbGF0ZXNdPVwiZGVmYXVsdFRlbXBsYXRlc1wiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gICAgPHRhYmxlIFtuZ0NsYXNzXT1cIidsZXZlbC0nICsgbGV2ZWxcIiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhIHwgZW50cmllc1wiIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3NMaXN0XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW3Vub3JkZXJlZExpc3RJdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJpdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5UHJlZml4XT1cImtleVByZWZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpc3RTdHlsZV09XCJsaXN0U3R5bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXRoXT1cInBhdGggPyBwYXRoICsgJy4nICsgaXRlbS5rZXkgOiBpdGVtLmtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xldmVsXT1cImxldmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVzXT1cInRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRUZW1wbGF0ZXNdPVwiZGVmYXVsdFRlbXBsYXRlc1wiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L3RhYmxlPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
@@ -1,82 +0,0 @@
1
- import { Directive, EventEmitter, HostBinding, HostListener, Inject, Input, Output } from "@angular/core";
2
- import { TOASTER_SERVICE } from "../common-types";
3
- import * as i0 from "@angular/core";
4
- export class AsyncMethodBase {
5
- constructor(toaster) {
6
- this.toaster = toaster;
7
- this.onSuccess = new EventEmitter();
8
- this.onError = new EventEmitter();
9
- }
10
- get isDisabled() {
11
- return this.disabled;
12
- }
13
- get isLoading() {
14
- return this.loading;
15
- }
16
- getMethod() {
17
- return async () => null;
18
- }
19
- click(ev) {
20
- if (ev) {
21
- ev.preventDefault();
22
- ev.stopPropagation();
23
- }
24
- if (this.disabled)
25
- return;
26
- this.callMethod();
27
- }
28
- callMethod() {
29
- if (this.loading)
30
- return true;
31
- this.loading = true;
32
- const method = this.getMethod();
33
- const result = !method ? null : method(this.context);
34
- if (!(result instanceof Promise)) {
35
- this.loading = false;
36
- return false;
37
- }
38
- result.then(result => {
39
- this.loading = false;
40
- if (result) {
41
- this.onSuccess.emit(result);
42
- this.toaster.success(result.message, result.context);
43
- }
44
- }, reason => {
45
- if (!reason || !reason.message)
46
- throw new Error("Reason must implement IAsyncMessage interface");
47
- this.loading = false;
48
- this.onError.emit(reason);
49
- this.toaster.error(reason.message, reason.context);
50
- });
51
- return true;
52
- }
53
- }
54
- AsyncMethodBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AsyncMethodBase, deps: [{ token: TOASTER_SERVICE }], target: i0.ɵɵFactoryTarget.Directive });
55
- AsyncMethodBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: AsyncMethodBase, selector: "[__asmb__]", inputs: { disabled: "disabled", context: "context" }, outputs: { onSuccess: "onSuccess", onError: "onError" }, host: { listeners: { "click": "click($event)" }, properties: { "class.disabled": "this.isDisabled", "class.loading": "this.isLoading" } }, ngImport: i0 });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AsyncMethodBase, decorators: [{
57
- type: Directive,
58
- args: [{
59
- selector: "[__asmb__]"
60
- }]
61
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
62
- type: Inject,
63
- args: [TOASTER_SERVICE]
64
- }] }]; }, propDecorators: { disabled: [{
65
- type: Input
66
- }], context: [{
67
- type: Input
68
- }], onSuccess: [{
69
- type: Output
70
- }], onError: [{
71
- type: Output
72
- }], isDisabled: [{
73
- type: HostBinding,
74
- args: ["class.disabled"]
75
- }], isLoading: [{
76
- type: HostBinding,
77
- args: ["class.loading"]
78
- }], click: [{
79
- type: HostListener,
80
- args: ["click", ["$event"]]
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtbWV0aG9kLmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvYXN5bmMtbWV0aG9kLmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQThDLGVBQWUsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQUs3RixNQUFNLE9BQU8sZUFBZTtJQW9CeEIsWUFBK0MsT0FBd0I7UUFBeEIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDbkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0lBQ3JELENBQUM7SUFiRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBT1MsU0FBUztRQUNmLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUdELEtBQUssQ0FBQyxFQUFTO1FBQ1gsSUFBSSxFQUFFLEVBQUU7WUFDSixFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQyxNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxDQUFDLE1BQU0sWUFBWSxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3hEO1FBQ0wsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ1IsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2dCQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs0R0E5RFEsZUFBZSxrQkFvQkosZUFBZTtnR0FwQjFCLGVBQWU7MkZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtpQkFDekI7OzBCQXFCZ0IsTUFBTTsyQkFBQyxlQUFlOzRDQWxCMUIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUtILFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTXpCLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxlQUFlO2dCQWU1QixLQUFLO3NCQURKLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgT3V0cHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FzeW5jTWV0aG9kLCBJQXN5bmNNZXNzYWdlLCBJVG9hc3RlclNlcnZpY2UsIFRPQVNURVJfU0VSVklDRX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbX19hc21iX19dXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEFzeW5jTWV0aG9kQmFzZSB7XHJcblxyXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBjb250ZXh0OiBhbnk7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uU3VjY2VzczogRXZlbnRFbWl0dGVyPElBc3luY01lc3NhZ2U+O1xyXG4gICAgQE91dHB1dCgpIG9uRXJyb3I6IEV2ZW50RW1pdHRlcjxJQXN5bmNNZXNzYWdlPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgbG9hZGluZzogYm9vbGVhbjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5kaXNhYmxlZFwiKVxyXG4gICAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MubG9hZGluZ1wiKVxyXG4gICAgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoVE9BU1RFUl9TRVJWSUNFKSBwcm90ZWN0ZWQgdG9hc3RlcjogSVRvYXN0ZXJTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5vblN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPElBc3luY01lc3NhZ2U+KCk7XHJcbiAgICAgICAgdGhpcy5vbkVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxJQXN5bmNNZXNzYWdlPigpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRNZXRob2QoKTogQXN5bmNNZXRob2Qge1xyXG4gICAgICAgIHJldHVybiBhc3luYyAoKSA9PiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiLCBbXCIkZXZlbnRcIl0pXHJcbiAgICBjbGljayhldjogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZXYpIHtcclxuICAgICAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5jYWxsTWV0aG9kKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbE1ldGhvZCgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5sb2FkaW5nKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IG1ldGhvZCA9IHRoaXMuZ2V0TWV0aG9kKCk7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gIW1ldGhvZCA/IG51bGwgOiBtZXRob2QodGhpcy5jb250ZXh0KTtcclxuICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXN1bHQudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vblN1Y2Nlc3MuZW1pdChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MocmVzdWx0Lm1lc3NhZ2UsIHJlc3VsdC5jb250ZXh0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIHJlYXNvbiA9PiB7XHJcbiAgICAgICAgICAgIGlmICghcmVhc29uIHx8ICFyZWFzb24ubWVzc2FnZSlcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlYXNvbiBtdXN0IGltcGxlbWVudCBJQXN5bmNNZXNzYWdlIGludGVyZmFjZVwiKTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMub25FcnJvci5lbWl0KHJlYXNvbik7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3Rlci5lcnJvcihyZWFzb24ubWVzc2FnZSwgcmVhc29uLmNvbnRleHQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,51 +0,0 @@
1
- import { Directive, ElementRef, Input, Renderer2 } from "@angular/core";
2
- import { HttpClient } from "@angular/common/http";
3
- import { FileUtils } from "../utils/file.utils";
4
- import { UniversalService } from "../services/universal.service";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- import * as i2 from "../services/universal.service";
8
- const defaultClass = "default-image";
9
- const loadingClass = "loading-image";
10
- export class BackgroundDirective {
11
- constructor(http, element, renderer, universal) {
12
- this.http = http;
13
- this.element = element;
14
- this.renderer = renderer;
15
- this.universal = universal;
16
- }
17
- ngOnChanges(changes) {
18
- if (this.universal.isServer) {
19
- this.setBackground(this.background);
20
- return;
21
- }
22
- this.renderer.removeClass(this.element.nativeElement, defaultClass);
23
- this.renderer.addClass(this.element.nativeElement, loadingClass);
24
- FileUtils.readDataFromUrl(this.http, this.background).then(url => {
25
- this.setBackground(url);
26
- }, () => {
27
- this.renderer.removeClass(this.element.nativeElement, loadingClass);
28
- this.renderer.addClass(this.element.nativeElement, defaultClass);
29
- });
30
- }
31
- setBackground(url) {
32
- this.renderer.removeClass(this.element.nativeElement, loadingClass);
33
- this.renderer.setStyle(this.element.nativeElement, "background-image", `url('${url}')`);
34
- if (!this.backgroundSize)
35
- return;
36
- this.renderer.setStyle(this.element.nativeElement, "background-size", this.backgroundSize);
37
- }
38
- }
39
- BackgroundDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: BackgroundDirective, deps: [{ token: i1.HttpClient }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.UniversalService }], target: i0.ɵɵFactoryTarget.Directive });
40
- BackgroundDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: BackgroundDirective, selector: "[background]", inputs: { background: "background", backgroundSize: "backgroundSize" }, usesOnChanges: true, ngImport: i0 });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: BackgroundDirective, decorators: [{
42
- type: Directive,
43
- args: [{
44
- selector: "[background]"
45
- }]
46
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.UniversalService }]; }, propDecorators: { background: [{
47
- type: Input
48
- }], backgroundSize: [{
49
- type: Input
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvYmFja2dyb3VuZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUUvRCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUM7QUFDckMsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDO0FBS3JDLE1BQU0sT0FBTyxtQkFBbUI7SUFLNUIsWUFBb0IsSUFBZ0IsRUFBVSxPQUFtQixFQUFVLFFBQW1CLEVBQVUsU0FBMkI7UUFBL0csU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFFbkksQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BDLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2pFLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzdELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGFBQWEsQ0FBQyxHQUFXO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvRixDQUFDOztnSEE3QlEsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztpQkFDM0I7aUxBR1ksVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlc30gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHtGaWxlVXRpbHN9IGZyb20gXCIuLi91dGlscy9maWxlLnV0aWxzXCI7XHJcbmltcG9ydCB7VW5pdmVyc2FsU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcblxyXG5jb25zdCBkZWZhdWx0Q2xhc3MgPSBcImRlZmF1bHQtaW1hZ2VcIjtcclxuY29uc3QgbG9hZGluZ0NsYXNzID0gXCJsb2FkaW5nLWltYWdlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIltiYWNrZ3JvdW5kXVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYWNrZ3JvdW5kRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBiYWNrZ3JvdW5kU2l6ZTogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy51bml2ZXJzYWwuaXNTZXJ2ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRCYWNrZ3JvdW5kKHRoaXMuYmFja2dyb3VuZCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgZGVmYXVsdENsYXNzKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBsb2FkaW5nQ2xhc3MpO1xyXG4gICAgICAgIEZpbGVVdGlscy5yZWFkRGF0YUZyb21VcmwodGhpcy5odHRwLCB0aGlzLmJhY2tncm91bmQpLnRoZW4odXJsID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRCYWNrZ3JvdW5kKHVybCk7XHJcbiAgICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBsb2FkaW5nQ2xhc3MpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBkZWZhdWx0Q2xhc3MpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0QmFja2dyb3VuZCh1cmw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGxvYWRpbmdDbGFzcyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgXCJiYWNrZ3JvdW5kLWltYWdlXCIsIGB1cmwoJyR7dXJsfScpYCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmJhY2tncm91bmRTaXplKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgXCJiYWNrZ3JvdW5kLXNpemVcIiwgdGhpcy5iYWNrZ3JvdW5kU2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,67 +0,0 @@
1
- import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Inject, Input, Output, Renderer2 } from "@angular/core";
2
- import { ICON_SERVICE } from "../common-types";
3
- import * as i0 from "@angular/core";
4
- export class IconDirective {
5
- constructor(element, renderer, icons) {
6
- this.element = element;
7
- this.renderer = renderer;
8
- this.icons = icons;
9
- this.renderer.addClass(this.element.nativeElement, "svg-icon");
10
- this.activeChange = new EventEmitter();
11
- }
12
- get isActive() {
13
- return this.active;
14
- }
15
- ngOnInit() {
16
- this.iconsLoaded = this.icons.iconsLoaded.subscribe(() => this.changeIcon());
17
- }
18
- ngOnDestroy() {
19
- if (this.iconsLoaded)
20
- this.iconsLoaded.unsubscribe();
21
- }
22
- ngOnChanges(changes) {
23
- if (changes.icon) {
24
- this.renderer.removeClass(this.element.nativeElement, `svg-icon-${changes.icon.previousValue}`);
25
- this.renderer.addClass(this.element.nativeElement, `svg-icon-${changes.icon.currentValue}`);
26
- }
27
- this.changeIcon();
28
- }
29
- click() {
30
- this.active = !this.active;
31
- this.activeChange.emit(this.active);
32
- this.changeIcon();
33
- }
34
- changeIcon() {
35
- this.icons.getIcon(this.icon, this.activeIcon || `${this.icon}-active`, this.active).then(icon => {
36
- if (this.icons.isDisabled)
37
- return;
38
- this.element.nativeElement.innerHTML = icon;
39
- });
40
- }
41
- }
42
- IconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: IconDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ICON_SERVICE }], target: i0.ɵɵFactoryTarget.Directive });
43
- IconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: IconDirective, selector: "[icon]", inputs: { icon: "icon", activeIcon: "activeIcon", active: "active" }, outputs: { activeChange: "activeChange" }, host: { listeners: { "click": "click()" }, properties: { "class.active": "this.isActive" } }, usesOnChanges: true, ngImport: i0 });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: IconDirective, decorators: [{
45
- type: Directive,
46
- args: [{
47
- selector: "[icon]"
48
- }]
49
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
50
- type: Inject,
51
- args: [ICON_SERVICE]
52
- }] }]; }, propDecorators: { icon: [{
53
- type: Input
54
- }], activeIcon: [{
55
- type: Input
56
- }], active: [{
57
- type: Input
58
- }], activeChange: [{
59
- type: Output
60
- }], isActive: [{
61
- type: HostBinding,
62
- args: ["class.active"]
63
- }], click: [{
64
- type: HostListener,
65
- args: ["click"]
66
- }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEVBQ04sU0FBUyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxZQUFZLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFLM0QsTUFBTSxPQUFPLGFBQWE7SUFjdEIsWUFBb0IsT0FBbUIsRUFBVSxRQUFtQixFQUFnQyxLQUFtQjtRQUFuRyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFnQyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25ILElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUNwRCxDQUFDO0lBVkQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFTRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxXQUFXO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxZQUFZLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNoRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxZQUFZLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztTQUMvRjtRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBR0QsS0FBSztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLFVBQVU7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3RixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtnQkFBRSxPQUFPO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzswR0FoRFEsYUFBYSxxRUFjd0QsWUFBWTs4RkFkakYsYUFBYTsyRkFBYixhQUFhO2tCQUh6QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxRQUFRO2lCQUNyQjs7MEJBZTBFLE1BQU07MkJBQUMsWUFBWTs0Q0FaakYsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBR0gsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLGNBQWM7Z0JBOEIzQixLQUFLO3NCQURKLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBJbmplY3QsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFJlbmRlcmVyMixcclxuICAgIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtJQ09OX1NFUlZJQ0UsIElJY29uU2VydmljZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbaWNvbl1cIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWNvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBJbnB1dCgpIGljb246IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGFjdGl2ZUljb246IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGFjdGl2ZTogYm9vbGVhbjtcclxuICAgIEBPdXRwdXQoKSBhY3RpdmVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5hY3RpdmVcIilcclxuICAgIGdldCBpc0FjdGl2ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGljb25zTG9hZGVkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIEBJbmplY3QoSUNPTl9TRVJWSUNFKSBwcml2YXRlIGljb25zOiBJSWNvblNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBcInN2Zy1pY29uXCIpO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaWNvbnNMb2FkZWQgPSB0aGlzLmljb25zLmljb25zTG9hZGVkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoYW5nZUljb24oKSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaWNvbnNMb2FkZWQpXHJcbiAgICAgICAgICAgIHRoaXMuaWNvbnNMb2FkZWQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuaWNvbikge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBgc3ZnLWljb24tJHtjaGFuZ2VzLmljb24ucHJldmlvdXNWYWx1ZX1gKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgYHN2Zy1pY29uLSR7Y2hhbmdlcy5pY29uLmN1cnJlbnRWYWx1ZX1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VJY29uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIpXHJcbiAgICBjbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZSA9ICF0aGlzLmFjdGl2ZTtcclxuICAgICAgICB0aGlzLmFjdGl2ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlKTtcclxuICAgICAgICB0aGlzLmNoYW5nZUljb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoYW5nZUljb24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pY29ucy5nZXRJY29uKHRoaXMuaWNvbiwgdGhpcy5hY3RpdmVJY29uIHx8IGAke3RoaXMuaWNvbn0tYWN0aXZlYCwgdGhpcy5hY3RpdmUpLnRoZW4oaWNvbiA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmljb25zLmlzRGlzYWJsZWQpIHJldHVybjtcclxuICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gaWNvbjtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,90 +0,0 @@
1
- import { Directive, Input, TemplateRef, ViewContainerRef } from "@angular/core";
2
- import { ObjectUtils } from "../utils/object.utils";
3
- import * as i0 from "@angular/core";
4
- export class NgxTemplateOutletDirective {
5
- constructor(_viewContainerRef) {
6
- this._viewContainerRef = _viewContainerRef;
7
- }
8
- static hasContextShapeChanged(ctxChange) {
9
- const prevCtxKeys = Object.keys(ctxChange.previousValue || {});
10
- const currCtxKeys = Object.keys(ctxChange.currentValue || {});
11
- if (prevCtxKeys.length === currCtxKeys.length) {
12
- for (const propName of currCtxKeys) {
13
- if (prevCtxKeys.indexOf(propName) === -1) {
14
- return true;
15
- }
16
- }
17
- return false;
18
- }
19
- else {
20
- return true;
21
- }
22
- }
23
- ngOnChanges(changes) {
24
- const recreateView = this.shouldRecreateView(changes);
25
- if (recreateView) {
26
- if (this.viewRef)
27
- this._viewContainerRef.remove(this._viewContainerRef.indexOf(this.viewRef));
28
- if (this.ngxTemplateOutlet)
29
- this.viewRef = this._viewContainerRef.createEmbeddedView(this.ngxTemplateOutlet, {});
30
- }
31
- this.ngDoCheck();
32
- }
33
- ngDoCheck() {
34
- if (!this.viewRef)
35
- return;
36
- const context = this.viewRef.context;
37
- this.updateExistingContext(this.context, context);
38
- this.updateExistingContext(this.additionalContext, context);
39
- context.$implicit = context;
40
- }
41
- shouldRecreateView(changes) {
42
- const ctxChange = changes["context"];
43
- const aCtxChange = changes["additionalContext"];
44
- return !!changes["ngxTemplateOutlet"]
45
- || (ctxChange && NgxTemplateOutletDirective.hasContextShapeChanged(ctxChange))
46
- || (aCtxChange && NgxTemplateOutletDirective.hasContextShapeChanged(aCtxChange));
47
- }
48
- updateExistingContext(ctx, context) {
49
- if (!ctx)
50
- return;
51
- let ctxProto = Object.getPrototypeOf(ctx);
52
- if (ctxProto == Object.prototype) {
53
- ctxProto = ctx;
54
- }
55
- const props = Object.getOwnPropertyNames(ctxProto);
56
- for (const propName of props) {
57
- const desc = Object.getOwnPropertyDescriptor(ctxProto, propName);
58
- // Copy if its a getter and it is not $implicit
59
- if (desc.get && propName !== "$implicit") {
60
- Object.defineProperty(context, propName, desc);
61
- continue;
62
- }
63
- const func = ObjectUtils.isFunction(desc.value) ? desc.value.bind(ctx) : null;
64
- if (func && func !== ctxProto.constructor) {
65
- context[propName] = func;
66
- }
67
- }
68
- for (const propName of Object.keys(ctx)) {
69
- const desc = Object.getOwnPropertyDescriptor(ctxProto, propName);
70
- if (desc && desc.get && !desc.set)
71
- continue;
72
- context[propName] = ctx[propName];
73
- }
74
- }
75
- }
76
- NgxTemplateOutletDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxTemplateOutletDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
77
- NgxTemplateOutletDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: { context: "context", additionalContext: "additionalContext", ngxTemplateOutlet: "ngxTemplateOutlet" }, usesOnChanges: true, ngImport: i0 });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxTemplateOutletDirective, decorators: [{
79
- type: Directive,
80
- args: [{
81
- selector: "[ngxTemplateOutlet]"
82
- }]
83
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { context: [{
84
- type: Input
85
- }], additionalContext: [{
86
- type: Input
87
- }], ngxTemplateOutlet: [{
88
- type: Input
89
- }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRlbXBsYXRlLW91dGxldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvbmd4LXRlbXBsYXRlLW91dGxldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBSUwsV0FBVyxFQUNYLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBS2xELE1BQU0sT0FBTywwQkFBMEI7SUF3Qm5DLFlBQW9CLGlCQUFtQztRQUFuQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO0lBQUcsQ0FBQztJQWhCbkQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLFNBQXVCO1FBQ3pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUM7UUFFOUQsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDM0MsS0FBSyxNQUFNLFFBQVEsSUFBSSxXQUFXLEVBQUU7Z0JBQ2hDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDdEMsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7YUFDSjtZQUNELE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUlELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQs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QUFJLENBQUMsR0FBRztnQkFBRSxTQUFTO1lBQzVDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDOzt1SEE5RVEsMEJBQTBCOzJHQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO2lCQUNsQzt1R0FLbUIsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBQ1UsaUJBQWlCO3NCQUFoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIERpcmVjdGl2ZSwgRG9DaGVjayxcclxuICAgIEVtYmVkZGVkVmlld1JlZixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgU2ltcGxlQ2hhbmdlLFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwiW25neFRlbXBsYXRlT3V0bGV0XVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hUZW1wbGF0ZU91dGxldERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRG9DaGVjayB7XHJcblxyXG4gICAgcHJpdmF0ZSB2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcclxuXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgY29udGV4dDogT2JqZWN0O1xyXG4gICAgQElucHV0KCkgcHVibGljIGFkZGl0aW9uYWxDb250ZXh0OiBPYmplY3Q7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbmd4VGVtcGxhdGVPdXRsZXQ6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgaGFzQ29udGV4dFNoYXBlQ2hhbmdlZChjdHhDaGFuZ2U6IFNpbXBsZUNoYW5nZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHByZXZDdHhLZXlzID0gT2JqZWN0LmtleXMoY3R4Q2hhbmdlLnByZXZpb3VzVmFsdWUgfHwge30pO1xyXG4gICAgICAgIGNvbnN0IGN1cnJDdHhLZXlzID0gT2JqZWN0LmtleXMoY3R4Q2hhbmdlLmN1cnJlbnRWYWx1ZSB8fCB7fSk7XHJcblxyXG4gICAgICAgIGlmIChwcmV2Q3R4S2V5cy5sZW5ndGggPT09IGN1cnJDdHhLZXlzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIGN1cnJDdHhLZXlzKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAocHJldkN0eEtleXMuaW5kZXhPZihwcm9wTmFtZSkgPT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBjb25zdCByZWNyZWF0ZVZpZXcgPSB0aGlzLnNob3VsZFJlY3JlYXRlVmlldyhjaGFuZ2VzKTtcclxuICAgICAgICBpZiAocmVjcmVhdGVWaWV3KSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnZpZXdSZWYpXHJcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLnJlbW92ZSh0aGlzLl92aWV3Q29udGFpbmVyUmVmLmluZGV4T2YodGhpcy52aWV3UmVmKSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm5neFRlbXBsYXRlT3V0bGV0KVxyXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5uZ3hUZW1wbGF0ZU91dGxldCwge30pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5nRG9DaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMudmlld1JlZikgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnZpZXdSZWYuY29udGV4dDtcclxuICAgICAgICB0aGlzLnVwZGF0ZUV4aXN0aW5nQ29udGV4dCh0aGlzLmNvbnRleHQsIGNvbnRleHQpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRXhpc3RpbmdDb250ZXh0KHRoaXMuYWRkaXRpb25hbENvbnRleHQsIGNvbnRleHQpO1xyXG4gICAgICAgIGNvbnRleHQuJGltcGxpY2l0ID0gY29udGV4dDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNob3VsZFJlY3JlYXRlVmlldyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgY3R4Q2hhbmdlID0gY2hhbmdlc1tcImNvbnRleHRcIl07XHJcbiAgICAgICAgY29uc3QgYUN0eENoYW5nZSA9IGNoYW5nZXNbXCJhZGRpdGlvbmFsQ29udGV4dFwiXTtcclxuICAgICAgICByZXR1cm4gISFjaGFuZ2VzW1wibmd4VGVtcGxhdGVPdXRsZXRcIl1cclxuICAgICAgICAgICAgfHwgKGN0eENoYW5nZSAmJiBOZ3hUZW1wbGF0ZU91dGxldERpcmVjdGl2ZS5oYXNDb250ZXh0U2hhcGVDaGFuZ2VkKGN0eENoYW5nZSkpXHJcbiAgICAgICAgICAgIHx8IChhQ3R4Q2hhbmdlICYmIE5neFRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlLmhhc0NvbnRleHRTaGFwZUNoYW5nZWQoYUN0eENoYW5nZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlRXhpc3RpbmdDb250ZXh0KGN0eDogYW55LCBjb250ZXh0OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWN0eCkgcmV0dXJuO1xyXG4gICAgICAgIGxldCBjdHhQcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdHgpO1xyXG4gICAgICAgIGlmIChjdHhQcm90byA9PSBPYmplY3QucHJvdG90eXBlKSB7XHJcbiAgICAgICAgICAgIGN0eFByb3RvID0gY3R4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBwcm9wcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGN0eFByb3RvKTtcclxuICAgICAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIHByb3BzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGN0eFByb3RvLCBwcm9wTmFtZSk7XHJcbiAgICAgICAgICAgIC8vIENvcHkgaWYgaXRzIGEgZ2V0dGVyIGFuZCBpdCBpcyBub3QgJGltcGxpY2l0XHJcbiAgICAgICAgICAgIGlmIChkZXNjLmdldCAmJiBwcm9wTmFtZSAhPT0gXCIkaW1wbGljaXRcIikge1xyXG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnRleHQsIHByb3BOYW1lLCBkZXNjKTtcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmM6IEZ1bmN0aW9uID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihkZXNjLnZhbHVlKSA/IGRlc2MudmFsdWUuYmluZChjdHgpIDogbnVsbDtcclxuICAgICAgICAgICAgaWYgKGZ1bmMgJiYgZnVuYyAhPT0gY3R4UHJvdG8uY29uc3RydWN0b3IpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRleHRbcHJvcE5hbWVdID0gZnVuYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIE9iamVjdC5rZXlzKGN0eCkpIHtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGN0eFByb3RvLCBwcm9wTmFtZSk7XHJcbiAgICAgICAgICAgIGlmIChkZXNjICYmIGRlc2MuZ2V0ICYmICFkZXNjLnNldCkgY29udGludWU7XHJcbiAgICAgICAgICAgIGNvbnRleHRbcHJvcE5hbWVdID0gY3R4W3Byb3BOYW1lXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,84 +0,0 @@
1
- import { Directive, EventEmitter, Input, NgZone, Output } from "@angular/core";
2
- import { PaginationItemContext } from "../common-types";
3
- import { TimerUtils } from "../utils/timer.utils";
4
- import * as i0 from "@angular/core";
5
- export class PaginationDirective {
6
- constructor(zone) {
7
- this.zone = zone;
8
- this.pageChange = new EventEmitter();
9
- this.onRefresh = new EventEmitter();
10
- this.updateTimer = TimerUtils.createTimeout(() => this.loadData(), this.updateTime);
11
- }
12
- get total() {
13
- return this.data ? this.data.total : 0;
14
- }
15
- get items() {
16
- return this.data ? this.data.items : [];
17
- }
18
- ngOnChanges(changes) {
19
- if (!changes.loader && !changes.itemsPerPage && !changes.page)
20
- return;
21
- this.page = isNaN(this.page) || this.page < 1 ? 1 : this.page;
22
- this.itemsPerPage = isNaN(this.itemsPerPage) || this.itemsPerPage < 1 ? 20 : this.itemsPerPage;
23
- this.waitFor = this.waitFor || Promise.resolve(true);
24
- this.refresh();
25
- }
26
- refresh(time) {
27
- time = isNaN(time) || time <= 0 ? this.updateTime : time;
28
- this.updateTimer.time = isNaN(time) || time <= 0 ? 100 : time;
29
- this.waitFor.then(() => {
30
- this.updateTimer.run();
31
- });
32
- }
33
- paginate(page) {
34
- this.page = page;
35
- this.pageChange.emit(page);
36
- this.refresh();
37
- }
38
- loadData() {
39
- if (!this.loader)
40
- return;
41
- this.loader(this.page, this.itemsPerPage).then(data => {
42
- this.maxPage = !data || data.total <= 0 ? 1 : Math.floor((data.total - 1) / this.itemsPerPage) + 1;
43
- this.data = data;
44
- const baseIndex = (this.page - 1) * this.itemsPerPage;
45
- const items = (data.items || []);
46
- data.items = items.map((item, index) => {
47
- const ix = baseIndex + index;
48
- return item instanceof PaginationItemContext
49
- ? item
50
- : new PaginationItemContext(item, items, items.length, index, ix);
51
- });
52
- if (this.page > this.maxPage) {
53
- this.paginate(this.maxPage);
54
- return;
55
- }
56
- this.zone.run(() => this.onRefresh.emit(this));
57
- });
58
- }
59
- }
60
- PaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PaginationDirective, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
61
- PaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: PaginationDirective, selector: "[pagination]", inputs: { loader: ["pagination", "loader"], page: "page", itemsPerPage: "itemsPerPage", updateTime: "updateTime", waitFor: "waitFor" }, outputs: { pageChange: "pageChange", onRefresh: "onRefresh" }, exportAs: ["pagination"], usesOnChanges: true, ngImport: i0 });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PaginationDirective, decorators: [{
63
- type: Directive,
64
- args: [{
65
- selector: "[pagination]",
66
- exportAs: "pagination"
67
- }]
68
- }], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { loader: [{
69
- type: Input,
70
- args: ["pagination"]
71
- }], page: [{
72
- type: Input
73
- }], itemsPerPage: [{
74
- type: Input
75
- }], updateTime: [{
76
- type: Input
77
- }], waitFor: [{
78
- type: Input
79
- }], pageChange: [{
80
- type: Output
81
- }], onRefresh: [{
82
- type: Output
83
- }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBZ0QscUJBQXFCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBTWhELE1BQU0sT0FBTyxtQkFBbUI7SUF3QjVCLFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUExQkQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQXNCRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElB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SUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDNUIsT0FBTzthQUNWO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2dIQXZFUSxtQkFBbUI7b0dBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsWUFBWTtpQkFDekI7NkZBV3dCLE1BQU07c0JBQTFCLEtBQUs7dUJBQUMsWUFBWTtnQkFDVixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdab25lLCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlc30gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJUGFnaW5hdGlvbkRhdGEsIElUaW1lciwgUGFnaW5hdGlvbkRhdGFMb2FkZXIsIFBhZ2luYXRpb25JdGVtQ29udGV4dH0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge1RpbWVyVXRpbHN9IGZyb20gXCIuLi91dGlscy90aW1lci51dGlsc1wiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbcGFnaW5hdGlvbl1cIixcclxuICAgIGV4cG9ydEFzOiBcInBhZ2luYXRpb25cIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgZ2V0IHRvdGFsKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YSA/IHRoaXMuZGF0YS50b3RhbCA6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGl0ZW1zKCk6IGFueVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhID8gdGhpcy5kYXRhLml0ZW1zIDogW107XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KFwicGFnaW5hdGlvblwiKSBsb2FkZXI6IFBhZ2luYXRpb25EYXRhTG9hZGVyO1xyXG4gICAgQElucHV0KCkgcGFnZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgaXRlbXNQZXJQYWdlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSB1cGRhdGVUaW1lOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSB3YWl0Rm9yOiBQcm9taXNlPGFueT47XHJcblxyXG4gICAgQE91dHB1dCgpIHBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+O1xyXG4gICAgQE91dHB1dCgpIG9uUmVmcmVzaDogRXZlbnRFbWl0dGVyPFBhZ2luYXRpb25EaXJlY3RpdmU+O1xyXG5cclxuICAgIG1heFBhZ2U6IG51bWJlcjtcclxuXHJcbiAgICBwcml2YXRlIGRhdGE6IElQYWdpbmF0aW9uRGF0YTtcclxuICAgIHByaXZhdGUgdXBkYXRlVGltZXI6IElUaW1lcjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IE5nWm9uZSkge1xyXG4gICAgICAgIHRoaXMucGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gICAgICAgIHRoaXMub25SZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdpbmF0aW9uRGlyZWN0aXZlPigpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlVGltZXIgPSBUaW1lclV0aWxzLmNyZWF0ZVRpbWVvdXQoKCkgPT4gdGhpcy5sb2FkRGF0YSgpLCB0aGlzLnVwZGF0ZVRpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWNoYW5nZXMubG9hZGVyICYmICFjaGFuZ2VzLml0ZW1zUGVyUGFnZSAmJiAhY2hhbmdlcy5wYWdlKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5wYWdlID0gaXNOYU4odGhpcy5wYWdlKSB8fCB0aGlzLnBhZ2UgPCAxID8gMSA6IHRoaXMucGFnZTtcclxuICAgICAgICB0aGlzLml0ZW1zUGVyUGFnZSA9IGlzTmFOKHRoaXMuaXRlbXNQZXJQYWdlKSB8fCB0aGlzLml0ZW1zUGVyUGFnZSA8IDEgPyAyMCA6IHRoaXMuaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgIHRoaXMud2FpdEZvciA9IHRoaXMud2FpdEZvciB8fCBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVmcmVzaCh0aW1lPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGltZSA9IGlzTmFOKHRpbWUpIHx8IHRpbWUgPD0gMCA/IHRoaXMudXBkYXRlVGltZSA6IHRpbWU7XHJcbiAgICAgICAgdGhpcy51cGRhdGVUaW1lci50aW1lID0gaXNOYU4odGltZSkgfHwgdGltZSA8PSAwID8gMTAwIDogdGltZTtcclxuICAgICAgICB0aGlzLndhaXRGb3IudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZXIucnVuKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcGFnaW5hdGUocGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnZTtcclxuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdChwYWdlKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2goKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGxvYWREYXRhKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5sb2FkZXIpIHJldHVybjtcclxuICAgICAgICB0aGlzLmxvYWRlcih0aGlzLnBhZ2UsIHRoaXMuaXRlbXNQZXJQYWdlKS50aGVuKGRhdGEgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1heFBhZ2UgPSAhZGF0YSB8fCBkYXRhLnRvdGFsIDw9IDAgPyAxIDogTWF0aC5mbG9vcigoZGF0YS50b3RhbCAtIDEpIC8gdGhpcy5pdGVtc1BlclBhZ2UpICsgMTtcclxuICAgICAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcclxuICAgICAgICAgICAgY29uc3QgYmFzZUluZGV4ID0gKHRoaXMucGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2U7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gKGRhdGEuaXRlbXMgfHwgW10pO1xyXG4gICAgICAgICAgICBkYXRhLml0ZW1zID0gaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaXggPSBiYXNlSW5kZXggKyBpbmRleDtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgUGFnaW5hdGlvbkl0ZW1Db250ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgPyBpdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgOiBuZXcgUGFnaW5hdGlvbkl0ZW1Db250ZXh0KGl0ZW0sIGl0ZW1zLCBpdGVtcy5sZW5ndGgsIGluZGV4LCBpeCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wYWdlID4gdGhpcy5tYXhQYWdlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRlKHRoaXMubWF4UGFnZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB0aGlzLm9uUmVmcmVzaC5lbWl0KHRoaXMpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,50 +0,0 @@
1
- import { Directive, ViewContainerRef, TemplateRef, Input } from "@angular/core";
2
- import { HttpClient } from "@angular/common/http";
3
- import { ResourceIfContext } from "../common-types";
4
- import { FileUtils } from "../utils/file.utils";
5
- import { UniversalService } from "../services/universal.service";
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common/http";
8
- import * as i2 from "../services/universal.service";
9
- export class ResourceIfDirective {
10
- constructor(http, viewContainer, templateRef, universal) {
11
- this.http = http;
12
- this.viewContainer = viewContainer;
13
- this.templateRef = templateRef;
14
- this.universal = universal;
15
- this.context = new ResourceIfContext();
16
- }
17
- set resourceIf(resource) {
18
- this.resource = resource;
19
- this.renderView();
20
- }
21
- get resourceIf() {
22
- return this.resource;
23
- }
24
- get url() {
25
- return this.context.url;
26
- }
27
- renderView() {
28
- this.context = new ResourceIfContext();
29
- this.context.resource = this.resource;
30
- this.viewContainer.clear();
31
- if (this.universal.isBrowser && this.resource) {
32
- FileUtils.readDataFromUrl(this.http, this.resource).then(url => {
33
- this.context.url = url;
34
- this.viewContainer.createEmbeddedView(this.templateRef, this.context);
35
- }, console.log);
36
- }
37
- }
38
- }
39
- ResourceIfDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ResourceIfDirective, deps: [{ token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i2.UniversalService }], target: i0.ɵɵFactoryTarget.Directive });
40
- ResourceIfDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: ResourceIfDirective, selector: "[resourceIf]", inputs: { resourceIf: "resourceIf" }, exportAs: ["resourceIf"], ngImport: i0 });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ResourceIfDirective, decorators: [{
42
- type: Directive,
43
- args: [{
44
- selector: "[resourceIf]",
45
- exportAs: "resourceIf"
46
- }]
47
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i2.UniversalService }]; }, propDecorators: { resourceIf: [{
48
- type: Input
49
- }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtaWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9kaXJlY3RpdmVzL3Jlc291cmNlLWlmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQU0vRCxNQUFNLE9BQU8sbUJBQW1CO0lBbUI1QixZQUFvQixJQUFnQixFQUFVLGFBQStCLEVBQVUsV0FBNkIsRUFBVSxTQUEyQjtRQUFySSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDckosSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQWhCRCxJQUNJLFVBQVUsQ0FBQyxRQUFnQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUM1QixDQUFDO0lBTU8sVUFBVTtRQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDM0MsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ25CO0lBQ0wsQ0FBQzs7Z0hBakNRLG1CQUFtQjtvR0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxZQUFZO2lCQUN6Qjt5TEFPTyxVQUFVO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgVGVtcGxhdGVSZWYsIElucHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge1Jlc291cmNlSWZDb250ZXh0fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7RmlsZVV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvZmlsZS51dGlsc1wiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy91bml2ZXJzYWwuc2VydmljZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbcmVzb3VyY2VJZl1cIixcclxuICAgIGV4cG9ydEFzOiBcInJlc291cmNlSWZcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VJZkRpcmVjdGl2ZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBjb250ZXh0OiBSZXNvdXJjZUlmQ29udGV4dDtcclxuICAgIHByaXZhdGUgcmVzb3VyY2U6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHJlc291cmNlSWYocmVzb3VyY2U6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMucmVzb3VyY2UgPSByZXNvdXJjZTtcclxuICAgICAgICB0aGlzLnJlbmRlclZpZXcoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcmVzb3VyY2VJZigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlc291cmNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB1cmwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LnVybDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiwgcHJpdmF0ZSB1bml2ZXJzYWw6IFVuaXZlcnNhbFNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQgPSBuZXcgUmVzb3VyY2VJZkNvbnRleHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbmRlclZpZXcoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0ID0gbmV3IFJlc291cmNlSWZDb250ZXh0KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnJlc291cmNlID0gdGhpcy5yZXNvdXJjZTtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICBpZiAodGhpcy51bml2ZXJzYWwuaXNCcm93c2VyICYmIHRoaXMucmVzb3VyY2UpIHtcclxuICAgICAgICAgICAgRmlsZVV0aWxzLnJlYWREYXRhRnJvbVVybCh0aGlzLmh0dHAsIHRoaXMucmVzb3VyY2UpLnRoZW4odXJsID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC51cmwgPSB1cmw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHRoaXMuY29udGV4dCk7XHJcbiAgICAgICAgICAgIH0sIGNvbnNvbGUubG9nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19