@valtimo/dashboard 11.3.2 → 12.1.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 (247) hide show
  1. package/esm2022/lib/components/dashboard/dashboard.component.mjs +7 -7
  2. package/esm2022/lib/components/widget-dashboard/widget-dashboard.component.mjs +11 -11
  3. package/esm2022/lib/components/widget-dashboard-content/widget-dashboard-content.component.mjs +61 -19
  4. package/esm2022/lib/constants/data-features.constants.mjs +3 -2
  5. package/esm2022/lib/constants/index.mjs +2 -2
  6. package/esm2022/lib/constants/injection-tokens.mjs +2 -2
  7. package/esm2022/lib/constants/layout.constants.mjs +2 -2
  8. package/esm2022/lib/dashboard-routing.module.mjs +6 -6
  9. package/esm2022/lib/dashboard.module.mjs +6 -6
  10. package/esm2022/lib/data-sources/case-count/case-count.module.mjs +6 -6
  11. package/esm2022/lib/data-sources/case-count/case-count.specification.mjs +5 -5
  12. package/esm2022/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.mjs +8 -8
  13. package/esm2022/lib/data-sources/case-count/components/case-count-configuration/index.mjs +2 -2
  14. package/esm2022/lib/data-sources/case-count/components/index.mjs +2 -2
  15. package/esm2022/lib/data-sources/case-count/index.mjs +2 -2
  16. package/esm2022/lib/data-sources/case-count/models/case-count.model.mjs +3 -12
  17. package/esm2022/lib/data-sources/case-count/models/index.mjs +2 -2
  18. package/esm2022/lib/data-sources/case-counts/case-counts.module.mjs +76 -0
  19. package/esm2022/lib/data-sources/case-counts/case-counts.specification.mjs +77 -0
  20. package/esm2022/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.mjs +202 -0
  21. package/esm2022/lib/data-sources/case-counts/components/case-counts-configuration/index.mjs +17 -0
  22. package/esm2022/lib/data-sources/case-counts/components/index.mjs +17 -0
  23. package/esm2022/lib/data-sources/case-counts/index.mjs +20 -0
  24. package/esm2022/lib/data-sources/case-counts/models/case-counts.model.mjs +17 -0
  25. package/esm2022/lib/data-sources/case-counts/models/index.mjs +17 -0
  26. package/esm2022/lib/data-sources/case-group-by/case-group-by.module.mjs +61 -0
  27. package/esm2022/lib/data-sources/case-group-by/case-group-by.specification.mjs +89 -0
  28. package/esm2022/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.mjs +206 -0
  29. package/esm2022/lib/data-sources/case-group-by/components/case-group-by-configuration/index.mjs +17 -0
  30. package/esm2022/lib/{display-types/bar-chart → data-sources/case-group-by/components}/index.mjs +3 -6
  31. package/esm2022/lib/data-sources/case-group-by/index.mjs +20 -0
  32. package/esm2022/lib/data-sources/case-group-by/models/case-group-by.model.mjs +17 -0
  33. package/esm2022/lib/data-sources/case-group-by/models/index.mjs +17 -0
  34. package/esm2022/lib/data-sources/index.mjs +4 -3
  35. package/esm2022/lib/display-types/big-number/big-number.module.mjs +6 -6
  36. package/esm2022/lib/display-types/big-number/big-number.specification.mjs +2 -2
  37. package/esm2022/lib/display-types/big-number/components/big-number-configuration/big-number-configuration.component.mjs +7 -7
  38. package/esm2022/lib/display-types/big-number/components/big-number-configuration/index.mjs +2 -2
  39. package/esm2022/lib/display-types/big-number/components/big-number-display/big-number-display.component.mjs +6 -6
  40. package/esm2022/lib/display-types/big-number/components/big-number-display/index.mjs +2 -2
  41. package/esm2022/lib/display-types/big-number/components/index.mjs +2 -2
  42. package/esm2022/lib/display-types/big-number/index.mjs +2 -2
  43. package/esm2022/lib/display-types/big-number/models/big-number.model.mjs +2 -2
  44. package/esm2022/lib/display-types/big-number/models/index.mjs +2 -2
  45. package/esm2022/lib/display-types/donut/components/donut-configuration/donut-configuration.component.mjs +89 -0
  46. package/esm2022/lib/display-types/donut/components/donut-configuration/index.mjs +17 -0
  47. package/esm2022/lib/display-types/donut/components/donut-display/donut-display.component.mjs +72 -0
  48. package/esm2022/lib/display-types/donut/components/donut-display/index.mjs +17 -0
  49. package/esm2022/lib/display-types/donut/components/index.mjs +18 -0
  50. package/esm2022/lib/display-types/donut/donut.module.mjs +68 -0
  51. package/esm2022/lib/display-types/donut/donut.specification.mjs +55 -0
  52. package/esm2022/lib/display-types/donut/index.mjs +20 -0
  53. package/esm2022/lib/display-types/donut/models/donut.model.mjs +17 -0
  54. package/esm2022/lib/display-types/donut/models/index.mjs +17 -0
  55. package/esm2022/lib/display-types/gauge/components/gauge-configuration/gauge-configuration.component.mjs +89 -0
  56. package/esm2022/lib/display-types/gauge/components/gauge-configuration/index.mjs +17 -0
  57. package/esm2022/lib/display-types/gauge/components/gauge-display/gauge-display.component.mjs +86 -0
  58. package/esm2022/lib/display-types/gauge/components/gauge-display/index.mjs +17 -0
  59. package/esm2022/lib/display-types/gauge/components/index.mjs +18 -0
  60. package/esm2022/lib/display-types/gauge/gauge.module.mjs +60 -0
  61. package/esm2022/lib/display-types/gauge/gauge.specification.mjs +55 -0
  62. package/esm2022/lib/display-types/gauge/index.mjs +20 -0
  63. package/esm2022/lib/display-types/gauge/models/gauge.model.mjs +17 -0
  64. package/esm2022/lib/display-types/gauge/models/index.mjs +17 -0
  65. package/esm2022/lib/display-types/index.mjs +4 -3
  66. package/esm2022/lib/display-types/meter/components/index.mjs +3 -2
  67. package/esm2022/lib/display-types/meter/components/meter-configuration/index.mjs +17 -0
  68. package/esm2022/lib/display-types/meter/components/meter-configuration/meter-configuration.component.mjs +83 -0
  69. package/esm2022/lib/display-types/meter/components/meter-display/index.mjs +2 -2
  70. package/esm2022/lib/display-types/meter/components/meter-display/meter-display.component.mjs +46 -7
  71. package/esm2022/lib/display-types/meter/index.mjs +3 -3
  72. package/esm2022/lib/display-types/meter/meter.module.mjs +41 -9
  73. package/esm2022/lib/display-types/meter/meter.specification.mjs +24 -4
  74. package/esm2022/lib/display-types/meter/models/index.mjs +2 -2
  75. package/esm2022/lib/display-types/meter/models/meter.model.mjs +2 -2
  76. package/esm2022/lib/models/configuration.model.mjs +2 -2
  77. package/esm2022/lib/models/dashboard.model.mjs +2 -2
  78. package/esm2022/lib/models/data-source.model.mjs +12 -3
  79. package/esm2022/lib/models/display-type.model.mjs +2 -2
  80. package/esm2022/lib/models/index.mjs +2 -2
  81. package/esm2022/lib/models/layout.model.mjs +2 -2
  82. package/esm2022/lib/models/widget-data.model.mjs +2 -2
  83. package/esm2022/lib/models/widget-display.model.mjs +2 -2
  84. package/esm2022/lib/pipes/index.mjs +2 -2
  85. package/esm2022/lib/pipes/widget-translate/index.mjs +2 -2
  86. package/esm2022/lib/pipes/widget-translate/widget-translate-pipe.module.mjs +6 -6
  87. package/esm2022/lib/pipes/widget-translate/widget-translate.pipe.mjs +6 -6
  88. package/esm2022/lib/services/dashboard.service.mjs +6 -6
  89. package/esm2022/lib/services/index.mjs +2 -2
  90. package/esm2022/lib/services/widget-api.service.mjs +6 -6
  91. package/esm2022/lib/services/widget-layout.service.mjs +31 -85
  92. package/esm2022/lib/services/widget-translation.service.mjs +6 -6
  93. package/esm2022/lib/services/widget.service.mjs +7 -7
  94. package/esm2022/public_api.mjs +2 -2
  95. package/fesm2022/valtimo-dashboard.mjs +1909 -615
  96. package/fesm2022/valtimo-dashboard.mjs.map +1 -1
  97. package/lib/components/widget-dashboard/widget-dashboard.component.d.ts +1 -0
  98. package/lib/components/widget-dashboard/widget-dashboard.component.d.ts.map +1 -1
  99. package/lib/components/widget-dashboard-content/widget-dashboard-content.component.d.ts +9 -3
  100. package/lib/components/widget-dashboard-content/widget-dashboard-content.component.d.ts.map +1 -1
  101. package/lib/constants/data-features.constants.d.ts +1 -0
  102. package/lib/constants/data-features.constants.d.ts.map +1 -1
  103. package/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.d.ts +1 -1
  104. package/lib/data-sources/case-count/components/case-count-configuration/case-count-configuration.component.d.ts.map +1 -1
  105. package/lib/data-sources/case-count/models/case-count.model.d.ts +3 -15
  106. package/lib/data-sources/case-count/models/case-count.model.d.ts.map +1 -1
  107. package/lib/data-sources/case-counts/case-counts.module.d.ts +13 -0
  108. package/lib/data-sources/case-counts/case-counts.module.d.ts.map +1 -0
  109. package/lib/data-sources/case-counts/case-counts.specification.d.ts +3 -0
  110. package/lib/data-sources/case-counts/case-counts.specification.d.ts.map +1 -0
  111. package/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.d.ts +52 -0
  112. package/lib/data-sources/case-counts/components/case-counts-configuration/case-counts-configuration.component.d.ts.map +1 -0
  113. package/lib/data-sources/case-counts/components/case-counts-configuration/index.d.ts +2 -0
  114. package/lib/data-sources/{test/components/test-configuration → case-counts/components/case-counts-configuration}/index.d.ts.map +1 -1
  115. package/lib/data-sources/case-counts/components/index.d.ts +2 -0
  116. package/lib/data-sources/case-counts/components/index.d.ts.map +1 -0
  117. package/lib/data-sources/case-counts/index.d.ts +5 -0
  118. package/lib/data-sources/case-counts/index.d.ts.map +1 -0
  119. package/lib/data-sources/case-counts/models/case-counts.model.d.ts +16 -0
  120. package/lib/data-sources/case-counts/models/case-counts.model.d.ts.map +1 -0
  121. package/lib/data-sources/case-counts/models/index.d.ts +2 -0
  122. package/lib/data-sources/{test/components → case-counts/models}/index.d.ts.map +1 -1
  123. package/lib/data-sources/case-group-by/case-group-by.module.d.ts +13 -0
  124. package/lib/data-sources/case-group-by/case-group-by.module.d.ts.map +1 -0
  125. package/lib/data-sources/case-group-by/case-group-by.specification.d.ts +3 -0
  126. package/lib/data-sources/case-group-by/case-group-by.specification.d.ts.map +1 -0
  127. package/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.d.ts +54 -0
  128. package/lib/data-sources/case-group-by/components/case-group-by-configuration/case-group-by-configuration.component.d.ts.map +1 -0
  129. package/lib/data-sources/case-group-by/components/case-group-by-configuration/index.d.ts +2 -0
  130. package/lib/data-sources/case-group-by/components/case-group-by-configuration/index.d.ts.map +1 -0
  131. package/lib/data-sources/case-group-by/components/index.d.ts +2 -0
  132. package/lib/data-sources/case-group-by/components/index.d.ts.map +1 -0
  133. package/lib/data-sources/case-group-by/index.d.ts +5 -0
  134. package/lib/data-sources/case-group-by/index.d.ts.map +1 -0
  135. package/lib/data-sources/case-group-by/models/case-group-by.model.d.ts +19 -0
  136. package/lib/data-sources/case-group-by/models/case-group-by.model.d.ts.map +1 -0
  137. package/lib/data-sources/case-group-by/models/index.d.ts +2 -0
  138. package/lib/data-sources/{test → case-group-by}/models/index.d.ts.map +1 -1
  139. package/lib/data-sources/index.d.ts +2 -1
  140. package/lib/data-sources/index.d.ts.map +1 -1
  141. package/lib/display-types/big-number/components/big-number-configuration/big-number-configuration.component.d.ts +10 -10
  142. package/lib/display-types/big-number/components/big-number-configuration/big-number-configuration.component.d.ts.map +1 -1
  143. package/lib/display-types/donut/components/donut-configuration/donut-configuration.component.d.ts +29 -0
  144. package/lib/display-types/donut/components/donut-configuration/donut-configuration.component.d.ts.map +1 -0
  145. package/lib/display-types/donut/components/donut-configuration/index.d.ts +2 -0
  146. package/lib/display-types/{bar-chart/components/bar-chart-display → donut/components/donut-configuration}/index.d.ts.map +1 -1
  147. package/lib/display-types/donut/components/donut-display/donut-display.component.d.ts +19 -0
  148. package/lib/display-types/donut/components/donut-display/donut-display.component.d.ts.map +1 -0
  149. package/lib/display-types/donut/components/donut-display/index.d.ts +2 -0
  150. package/lib/display-types/donut/components/donut-display/index.d.ts.map +1 -0
  151. package/lib/display-types/donut/components/index.d.ts +3 -0
  152. package/lib/display-types/donut/components/index.d.ts.map +1 -0
  153. package/lib/display-types/donut/donut.module.d.ts +16 -0
  154. package/lib/display-types/donut/donut.module.d.ts.map +1 -0
  155. package/lib/display-types/donut/donut.specification.d.ts +3 -0
  156. package/lib/display-types/donut/donut.specification.d.ts.map +1 -0
  157. package/lib/display-types/donut/index.d.ts +5 -0
  158. package/lib/display-types/donut/index.d.ts.map +1 -0
  159. package/lib/display-types/donut/models/donut.model.d.ts +14 -0
  160. package/lib/display-types/donut/models/donut.model.d.ts.map +1 -0
  161. package/lib/display-types/donut/models/index.d.ts +2 -0
  162. package/lib/display-types/{bar-chart → donut}/models/index.d.ts.map +1 -1
  163. package/lib/display-types/gauge/components/gauge-configuration/gauge-configuration.component.d.ts +29 -0
  164. package/lib/display-types/gauge/components/gauge-configuration/gauge-configuration.component.d.ts.map +1 -0
  165. package/lib/display-types/gauge/components/gauge-configuration/index.d.ts +2 -0
  166. package/lib/display-types/gauge/components/gauge-configuration/index.d.ts.map +1 -0
  167. package/lib/display-types/gauge/components/gauge-display/gauge-display.component.d.ts +24 -0
  168. package/lib/display-types/gauge/components/gauge-display/gauge-display.component.d.ts.map +1 -0
  169. package/lib/display-types/gauge/components/gauge-display/index.d.ts +2 -0
  170. package/lib/display-types/gauge/components/gauge-display/index.d.ts.map +1 -0
  171. package/lib/display-types/gauge/components/index.d.ts +3 -0
  172. package/lib/display-types/gauge/components/index.d.ts.map +1 -0
  173. package/lib/display-types/gauge/gauge.module.d.ts +14 -0
  174. package/lib/display-types/gauge/gauge.module.d.ts.map +1 -0
  175. package/lib/display-types/gauge/gauge.specification.d.ts +3 -0
  176. package/lib/display-types/gauge/gauge.specification.d.ts.map +1 -0
  177. package/lib/display-types/gauge/index.d.ts +5 -0
  178. package/lib/display-types/gauge/index.d.ts.map +1 -0
  179. package/lib/display-types/gauge/models/gauge.model.d.ts +11 -0
  180. package/lib/display-types/gauge/models/gauge.model.d.ts.map +1 -0
  181. package/lib/display-types/gauge/models/index.d.ts +2 -0
  182. package/lib/display-types/{bar-chart/components → gauge/models}/index.d.ts.map +1 -1
  183. package/lib/display-types/index.d.ts +2 -1
  184. package/lib/display-types/index.d.ts.map +1 -1
  185. package/lib/display-types/meter/components/index.d.ts +1 -0
  186. package/lib/display-types/meter/components/index.d.ts.map +1 -1
  187. package/lib/display-types/meter/components/meter-configuration/index.d.ts +2 -0
  188. package/lib/display-types/meter/components/meter-configuration/index.d.ts.map +1 -0
  189. package/lib/display-types/meter/components/meter-configuration/meter-configuration.component.d.ts +26 -0
  190. package/lib/display-types/meter/components/meter-configuration/meter-configuration.component.d.ts.map +1 -0
  191. package/lib/display-types/meter/components/meter-display/meter-display.component.d.ts +11 -3
  192. package/lib/display-types/meter/components/meter-display/meter-display.component.d.ts.map +1 -1
  193. package/lib/display-types/meter/index.d.ts +1 -1
  194. package/lib/display-types/meter/index.d.ts.map +1 -1
  195. package/lib/display-types/meter/meter.module.d.ts +9 -2
  196. package/lib/display-types/meter/meter.module.d.ts.map +1 -1
  197. package/lib/display-types/meter/meter.specification.d.ts.map +1 -1
  198. package/lib/display-types/meter/models/meter.model.d.ts +7 -2
  199. package/lib/display-types/meter/models/meter.model.d.ts.map +1 -1
  200. package/lib/models/configuration.model.d.ts +2 -2
  201. package/lib/models/configuration.model.d.ts.map +1 -1
  202. package/lib/models/data-source.model.d.ts +14 -1
  203. package/lib/models/data-source.model.d.ts.map +1 -1
  204. package/lib/services/widget-layout.service.d.ts +13 -18
  205. package/lib/services/widget-layout.service.d.ts.map +1 -1
  206. package/package.json +10 -6
  207. package/esm2022/lib/data-sources/test/components/index.mjs +0 -17
  208. package/esm2022/lib/data-sources/test/components/test-configuration/index.mjs +0 -17
  209. package/esm2022/lib/data-sources/test/components/test-configuration/test-configuration.component.mjs +0 -80
  210. package/esm2022/lib/data-sources/test/index.mjs +0 -20
  211. package/esm2022/lib/data-sources/test/models/index.mjs +0 -17
  212. package/esm2022/lib/data-sources/test/models/test.model.mjs +0 -17
  213. package/esm2022/lib/data-sources/test/test.module.mjs +0 -39
  214. package/esm2022/lib/data-sources/test/test.specification.mjs +0 -44
  215. package/esm2022/lib/display-types/bar-chart/bar-chart.module.mjs +0 -36
  216. package/esm2022/lib/display-types/bar-chart/bar-chart.specification.mjs +0 -35
  217. package/esm2022/lib/display-types/bar-chart/components/bar-chart-display/bar-chart-display.component.mjs +0 -32
  218. package/esm2022/lib/display-types/bar-chart/components/bar-chart-display/index.mjs +0 -17
  219. package/esm2022/lib/display-types/bar-chart/components/index.mjs +0 -17
  220. package/esm2022/lib/display-types/bar-chart/models/bar-chart.model.mjs +0 -17
  221. package/esm2022/lib/display-types/bar-chart/models/index.mjs +0 -17
  222. package/lib/data-sources/test/components/index.d.ts +0 -2
  223. package/lib/data-sources/test/components/test-configuration/index.d.ts +0 -2
  224. package/lib/data-sources/test/components/test-configuration/test-configuration.component.d.ts +0 -26
  225. package/lib/data-sources/test/components/test-configuration/test-configuration.component.d.ts.map +0 -1
  226. package/lib/data-sources/test/index.d.ts +0 -5
  227. package/lib/data-sources/test/index.d.ts.map +0 -1
  228. package/lib/data-sources/test/models/index.d.ts +0 -2
  229. package/lib/data-sources/test/models/test.model.d.ts +0 -6
  230. package/lib/data-sources/test/models/test.model.d.ts.map +0 -1
  231. package/lib/data-sources/test/test.module.d.ts +0 -12
  232. package/lib/data-sources/test/test.module.d.ts.map +0 -1
  233. package/lib/data-sources/test/test.specification.d.ts +0 -3
  234. package/lib/data-sources/test/test.specification.d.ts.map +0 -1
  235. package/lib/display-types/bar-chart/bar-chart.module.d.ts +0 -9
  236. package/lib/display-types/bar-chart/bar-chart.module.d.ts.map +0 -1
  237. package/lib/display-types/bar-chart/bar-chart.specification.d.ts +0 -3
  238. package/lib/display-types/bar-chart/bar-chart.specification.d.ts.map +0 -1
  239. package/lib/display-types/bar-chart/components/bar-chart-display/bar-chart-display.component.d.ts +0 -11
  240. package/lib/display-types/bar-chart/components/bar-chart-display/bar-chart-display.component.d.ts.map +0 -1
  241. package/lib/display-types/bar-chart/components/bar-chart-display/index.d.ts +0 -2
  242. package/lib/display-types/bar-chart/components/index.d.ts +0 -2
  243. package/lib/display-types/bar-chart/index.d.ts +0 -5
  244. package/lib/display-types/bar-chart/index.d.ts.map +0 -1
  245. package/lib/display-types/bar-chart/models/bar-chart.model.d.ts +0 -8
  246. package/lib/display-types/bar-chart/models/bar-chart.model.d.ts.map +0 -1
  247. package/lib/display-types/bar-chart/models/index.d.ts +0 -2
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2015-2023 Ritense BV, the Netherlands.
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
3
  *
4
4
  * Licensed under EUPL, Version 1.2 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -72,14 +72,14 @@ export class DashboardComponent {
72
72
  }
73
73
  });
74
74
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardComponent, deps: [{ token: i1.TaskService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DashboardComponent, selector: "valtimo-dashboard", viewQueries: [{ propertyName: "taskDetail", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content container-fluid\" *ngIf=\"{loading: loading$ | async} as obs\">\n <h4 class=\"title\">\n {{ 'dashboard.openTasks.title' | translate }}\n <sup *ngIf=\"obs.loading === false\" class=\"ml-1 badge badge-pill badge-primary\">{{\n openTasks?.length\n }}</sup>\n </h4>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"openTasks\"\n [fields]=\"openTaskFields\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n ></valtimo-list>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getOpenTasks()\"\n (assignmentOfTaskChanged)=\"getOpenTasks()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i4.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i1.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: ["formSubmit", "assignmentOfTaskChanged"] }, { kind: "component", type: i4.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardComponent, deps: [{ token: i1.TaskService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DashboardComponent, selector: "valtimo-dashboard", viewQueries: [{ propertyName: "taskDetail", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content container-fluid\" *ngIf=\"{loading: loading$ | async} as obs\">\n <h4 class=\"title\">\n {{ 'dashboard.openTasks.title' | translate }}\n <sup *ngIf=\"obs.loading === false\" class=\"ml-1 badge badge-pill badge-primary\">{{\n openTasks?.length\n }}</sup>\n </h4>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"openTasks\"\n [fields]=\"openTaskFields\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n ></valtimo-list>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getOpenTasks()\"\n (assignmentOfTaskChanged)=\"getOpenTasks()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i4.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i1.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: ["formSubmit", "assignmentOfTaskChanged"] }, { kind: "component", type: i4.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardComponent, decorators: [{
79
79
  type: Component,
80
- args: [{ selector: 'valtimo-dashboard', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content container-fluid\" *ngIf=\"{loading: loading$ | async} as obs\">\n <h4 class=\"title\">\n {{ 'dashboard.openTasks.title' | translate }}\n <sup *ngIf=\"obs.loading === false\" class=\"ml-1 badge badge-pill badge-primary\">{{\n openTasks?.length\n }}</sup>\n </h4>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"openTasks\"\n [fields]=\"openTaskFields\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n ></valtimo-list>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getOpenTasks()\"\n (assignmentOfTaskChanged)=\"getOpenTasks()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n" }]
81
- }], ctorParameters: function () { return [{ type: i1.TaskService }, { type: i2.ActivatedRoute }]; }, propDecorators: { taskDetail: [{
80
+ args: [{ selector: 'valtimo-dashboard', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content container-fluid\" *ngIf=\"{loading: loading$ | async} as obs\">\n <h4 class=\"title\">\n {{ 'dashboard.openTasks.title' | translate }}\n <sup *ngIf=\"obs.loading === false\" class=\"ml-1 badge badge-pill badge-primary\">{{\n openTasks?.length\n }}</sup>\n </h4>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"openTasks\"\n [fields]=\"openTaskFields\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n ></valtimo-list>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getOpenTasks()\"\n (assignmentOfTaskChanged)=\"getOpenTasks()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n" }]
81
+ }], ctorParameters: () => [{ type: i1.TaskService }, { type: i2.ActivatedRoute }], propDecorators: { taskDetail: [{
82
82
  type: ViewChild,
83
83
  args: ['taskDetail']
84
84
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFNBQVMsRUFBVSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHM0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRXBDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNyRCxNQUFNLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDO0FBTzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFxQjdCLFlBQ21CLFdBQXdCLEVBQ3hCLEtBQXFCO1FBRHJCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBcEJqQyxtQkFBYyxHQUFHO1lBQ3RCO2dCQUNFLEdBQUcsRUFBRSxTQUFTO2dCQUNkLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLE1BQU07Z0JBQ1gsS0FBSyxFQUFFLE1BQU07YUFDZDtZQUNEO2dCQUNFLEdBQUcsRUFBRSwwQkFBMEI7Z0JBQy9CLEtBQUssRUFBRSxVQUFVO2FBQ2xCO1NBQ0YsQ0FBQztRQUdGLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztJQUszQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2xFLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQUk7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBa0I7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0RCxNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQzlCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBRTlELElBQUksY0FBYyxFQUFFO2dCQUNsQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDdkM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBeERVLGtCQUFrQjttR0FBbEIsa0JBQWtCLG1LQzlCL0IsdStDQTBDQTs7NEZEWmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLG1CQUFtQjsrSEFxQkosVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUYXNrLCBUYXNrRGV0YWlsTW9kYWxDb21wb25lbnQsIFRhc2tTZXJ2aWNlfSBmcm9tICdAdmFsdGltby90YXNrJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5tb21lbnQubG9jYWxlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5nS2V5JykgfHwgJycpO1xubW9tZW50LmRlZmF1bHRGb3JtYXQgPSAnREQgTU1NIFlZWVkgSEg6bW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRhc2hib2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXNoYm9hcmQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgcHJvY2Vzc0RlZmluaXRpb25zOiBBcnJheTxhbnk+O1xuICBwdWJsaWMgb3BlblRhc2tzOiBBcnJheTxhbnk+O1xuICBwdWJsaWMgb3BlblRhc2tGaWVsZHMgPSBbXG4gICAge1xuICAgICAga2V5OiAnY3JlYXRlZCcsXG4gICAgICBsYWJlbDogJ0NyZWF0ZWQnLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnbmFtZScsXG4gICAgICBsYWJlbDogJ05hbWUnLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAndmFsdGltb0Fzc2lnbmVlLmZ1bGxOYW1lJyxcbiAgICAgIGxhYmVsOiAnQXNzaWduZWUnLFxuICAgIH0sXG4gIF07XG4gIEBWaWV3Q2hpbGQoJ3Rhc2tEZXRhaWwnKSB0YXNrRGV0YWlsOiBUYXNrRGV0YWlsTW9kYWxDb21wb25lbnQ7XG5cbiAgbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFza1NlcnZpY2U6IFRhc2tTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldE9wZW5UYXNrcygpO1xuICB9XG5cbiAgcHVibGljIGdldE9wZW5UYXNrcygpIHtcbiAgICB0aGlzLnRhc2tTZXJ2aWNlLmdldFRhc2tzKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgIHRoaXMub3BlblRhc2tzID0gcmVzcG9uc2U7XG4gICAgICB0aGlzLm9wZW5UYXNrcy5tYXAodGFzayA9PiB7XG4gICAgICAgIHRhc2suY3JlYXRlZCA9IG1vbWVudCh0YXNrLmNyZWF0ZWQpLmZvcm1hdCgnREQgTU1NIFlZWVkgSEg6bW0nKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jaGVja1JvdXRlRm9yVGFza0lkKHJlc3BvbnNlKTtcbiAgICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcm93T3BlblRhc2tDbGljayh0YXNrKSB7XG4gICAgaWYgKCF0YXNrLmVuZFRpbWUpIHtcbiAgICAgIHRoaXMudGFza0RldGFpbC5vcGVuVGFza0RldGFpbHModGFzayk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1JvdXRlRm9yVGFza0lkKHRhc2tzOiBBcnJheTxUYXNrPik6IHZvaWQge1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIGNvbnN0IHRhc2tJZCA9IHBhcmFtcz8udGFza0lkO1xuICAgICAgY29uc3QgZmluZFRhc2tGcm9tSWQgPSB0YXNrcy5maW5kKHRhc2sgPT4gdGFzay5pZCA9PT0gdGFza0lkKTtcblxuICAgICAgaWYgKGZpbmRUYXNrRnJvbUlkKSB7XG4gICAgICAgIHRoaXMucm93T3BlblRhc2tDbGljayhmaW5kVGFza0Zyb21JZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cIm1haW4tY29udGVudCBjb250YWluZXItZmx1aWRcIiAqbmdJZj1cIntsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jfSBhcyBvYnNcIj5cbiAgPGg0IGNsYXNzPVwidGl0bGVcIj5cbiAgICB7eyAnZGFzaGJvYXJkLm9wZW5UYXNrcy50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8c3VwICpuZ0lmPVwib2JzLmxvYWRpbmcgPT09IGZhbHNlXCIgY2xhc3M9XCJtbC0xIGJhZGdlIGJhZGdlLXBpbGwgYmFkZ2UtcHJpbWFyeVwiPnt7XG4gICAgICBvcGVuVGFza3M/Lmxlbmd0aFxuICAgIH19PC9zdXA+XG4gIDwvaDQ+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYnMubG9hZGluZyA9PT0gZmFsc2U7IGVsc2UgbG9hZGluZ1wiPlxuICAgIDx2YWx0aW1vLXdpZGdldD5cbiAgICAgIDx2YWx0aW1vLWxpc3RcbiAgICAgICAgW2l0ZW1zXT1cIm9wZW5UYXNrc1wiXG4gICAgICAgIFtmaWVsZHNdPVwib3BlblRhc2tGaWVsZHNcIlxuICAgICAgICAocm93Q2xpY2tlZCk9XCJyb3dPcGVuVGFza0NsaWNrKCRldmVudClcIlxuICAgICAgPjwvdmFsdGltby1saXN0PlxuICAgIDwvdmFsdGltby13aWRnZXQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8dmFsdGltby10YXNrLWRldGFpbC1tb2RhbFxuICAgICN0YXNrRGV0YWlsXG4gICAgKGZvcm1TdWJtaXQpPVwiZ2V0T3BlblRhc2tzKClcIlxuICAgIChhc3NpZ25tZW50T2ZUYXNrQ2hhbmdlZCk9XCJnZXRPcGVuVGFza3MoKVwiXG4gID48L3ZhbHRpbW8tdGFzay1kZXRhaWwtbW9kYWw+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICA8dmFsdGltby1zcGlubmVyPjwvdmFsdGltby1zcGlubmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFNBQVMsRUFBVSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHM0QsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRXBDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNyRCxNQUFNLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDO0FBTzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFxQjdCLFlBQ21CLFdBQXdCLEVBQ3hCLEtBQXFCO1FBRHJCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBcEJqQyxtQkFBYyxHQUFHO1lBQ3RCO2dCQUNFLEdBQUcsRUFBRSxTQUFTO2dCQUNkLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLE1BQU07Z0JBQ1gsS0FBSyxFQUFFLE1BQU07YUFDZDtZQUNEO2dCQUNFLEdBQUcsRUFBRSwwQkFBMEI7Z0JBQy9CLEtBQUssRUFBRSxVQUFVO2FBQ2xCO1NBQ0YsQ0FBQztRQUdGLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztJQUszQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2xFLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQUk7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQWtCO1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLE1BQU0sQ0FBQztZQUM5QixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztZQUU5RCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F4RFUsa0JBQWtCO2tHQUFsQixrQkFBa0IsbUtDOUIvQix1K0NBMENBOzsyRkRaYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsbUJBQW1COzZHQXFCSixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1Rhc2ssIFRhc2tEZXRhaWxNb2RhbENvbXBvbmVudCwgVGFza1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3Rhc2snO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbm1vbWVudC5sb2NhbGUobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmdLZXknKSB8fCAnJyk7XG5tb21lbnQuZGVmYXVsdEZvcm1hdCA9ICdERCBNTU0gWVlZWSBISDptbSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZGFzaGJvYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBwcm9jZXNzRGVmaW5pdGlvbnM6IEFycmF5PGFueT47XG4gIHB1YmxpYyBvcGVuVGFza3M6IEFycmF5PGFueT47XG4gIHB1YmxpYyBvcGVuVGFza0ZpZWxkcyA9IFtcbiAgICB7XG4gICAgICBrZXk6ICdjcmVhdGVkJyxcbiAgICAgIGxhYmVsOiAnQ3JlYXRlZCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICduYW1lJyxcbiAgICAgIGxhYmVsOiAnTmFtZScsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICd2YWx0aW1vQXNzaWduZWUuZnVsbE5hbWUnLFxuICAgICAgbGFiZWw6ICdBc3NpZ25lZScsXG4gICAgfSxcbiAgXTtcbiAgQFZpZXdDaGlsZCgndGFza0RldGFpbCcpIHRhc2tEZXRhaWw6IFRhc2tEZXRhaWxNb2RhbENvbXBvbmVudDtcblxuICBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YXNrU2VydmljZTogVGFza1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0T3BlblRhc2tzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3BlblRhc2tzKCkge1xuICAgIHRoaXMudGFza1NlcnZpY2UuZ2V0VGFza3MoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgdGhpcy5vcGVuVGFza3MgPSByZXNwb25zZTtcbiAgICAgIHRoaXMub3BlblRhc2tzLm1hcCh0YXNrID0+IHtcbiAgICAgICAgdGFzay5jcmVhdGVkID0gbW9tZW50KHRhc2suY3JlYXRlZCkuZm9ybWF0KCdERCBNTU0gWVlZWSBISDptbScpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmNoZWNrUm91dGVGb3JUYXNrSWQocmVzcG9uc2UpO1xuICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByb3dPcGVuVGFza0NsaWNrKHRhc2spIHtcbiAgICBpZiAoIXRhc2suZW5kVGltZSkge1xuICAgICAgdGhpcy50YXNrRGV0YWlsLm9wZW5UYXNrRGV0YWlscyh0YXNrKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrUm91dGVGb3JUYXNrSWQodGFza3M6IEFycmF5PFRhc2s+KTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgY29uc3QgdGFza0lkID0gcGFyYW1zPy50YXNrSWQ7XG4gICAgICBjb25zdCBmaW5kVGFza0Zyb21JZCA9IHRhc2tzLmZpbmQodGFzayA9PiB0YXNrLmlkID09PSB0YXNrSWQpO1xuXG4gICAgICBpZiAoZmluZFRhc2tGcm9tSWQpIHtcbiAgICAgICAgdGhpcy5yb3dPcGVuVGFza0NsaWNrKGZpbmRUYXNrRnJvbUlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50IGNvbnRhaW5lci1mbHVpZFwiICpuZ0lmPVwie2xvYWRpbmc6IGxvYWRpbmckIHwgYXN5bmN9IGFzIG9ic1wiPlxuICA8aDQgY2xhc3M9XCJ0aXRsZVwiPlxuICAgIHt7ICdkYXNoYm9hcmQub3BlblRhc2tzLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDxzdXAgKm5nSWY9XCJvYnMubG9hZGluZyA9PT0gZmFsc2VcIiBjbGFzcz1cIm1sLTEgYmFkZ2UgYmFkZ2UtcGlsbCBiYWRnZS1wcmltYXJ5XCI+e3tcbiAgICAgIG9wZW5UYXNrcz8ubGVuZ3RoXG4gICAgfX08L3N1cD5cbiAgPC9oND5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5sb2FkaW5nID09PSBmYWxzZTsgZWxzZSBsb2FkaW5nXCI+XG4gICAgPHZhbHRpbW8td2lkZ2V0PlxuICAgICAgPHZhbHRpbW8tbGlzdFxuICAgICAgICBbaXRlbXNdPVwib3BlblRhc2tzXCJcbiAgICAgICAgW2ZpZWxkc109XCJvcGVuVGFza0ZpZWxkc1wiXG4gICAgICAgIChyb3dDbGlja2VkKT1cInJvd09wZW5UYXNrQ2xpY2soJGV2ZW50KVwiXG4gICAgICA+PC92YWx0aW1vLWxpc3Q+XG4gICAgPC92YWx0aW1vLXdpZGdldD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDx2YWx0aW1vLXRhc2stZGV0YWlsLW1vZGFsXG4gICAgI3Rhc2tEZXRhaWxcbiAgICAoZm9ybVN1Ym1pdCk9XCJnZXRPcGVuVGFza3MoKVwiXG4gICAgKGFzc2lnbm1lbnRPZlRhc2tDaGFuZ2VkKT1cImdldE9wZW5UYXNrcygpXCJcbiAgPjwvdmFsdGltby10YXNrLWRldGFpbC1tb2RhbD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gIDx2YWx0aW1vLXNwaW5uZXI+PC92YWx0aW1vLXNwaW5uZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2015-2023 Ritense BV, the Netherlands.
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
3
  *
4
4
  * Licensed under EUPL, Version 1.2 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { Component, ViewEncapsulation } from '@angular/core';
17
- import { BehaviorSubject, take, tap } from 'rxjs';
17
+ import { BehaviorSubject, tap } from 'rxjs';
18
18
  import * as i0 from "@angular/core";
19
19
  import * as i1 from "../../services";
20
20
  import * as i2 from "../../services/widget-api.service";
@@ -36,23 +36,23 @@ export class WidgetDashboardComponent {
36
36
  data: [],
37
37
  loading: true,
38
38
  });
39
+ this.selectedDashboardKey$ = new BehaviorSubject('');
39
40
  }
40
41
  onTabSelected(dashboardKey) {
42
+ this.selectedDashboardKey$.next(dashboardKey);
43
+ this.activeWidgetData$.next({ data: [], loading: true });
41
44
  this.widgetApiService
42
45
  .getWidgetData(dashboardKey)
43
- .pipe(tap(() => {
44
- this.activeWidgetData$.next({ data: [], loading: true });
45
- }), take(1))
46
46
  .subscribe((data) => this.activeWidgetData$.next({ data, loading: false }));
47
47
  }
48
48
  trackByIndex(index) {
49
49
  return index;
50
50
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetDashboardComponent, deps: [{ token: i1.DashboardService }, { token: i2.WidgetApiService }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WidgetDashboardComponent, selector: "valtimo-widget-dashboard", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngIf=\"dashboards$ | async as dashboards\" class=\"dashboards-container\">\n <valtimo-no-results\n *ngIf=\"!dashboards.length\"\n [title]=\"'dashboard.noDashboards' | translate\"\n ></valtimo-no-results>\n\n <div *ngIf=\"dashboards.length === 1\">\n <h4>{{ dashboards[0].title }}</h4>\n\n <valtimo-widget-dashboard-content\n [dashboard]=\"dashboards[0]\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </div>\n\n <div *ngIf=\"dashboards.length > 1\">\n <cds-tabs>\n <cds-tab\n *ngFor=\"let dashboard of dashboards; trackBy: trackByIndex\"\n [heading]=\"dashboard.title\"\n (selected)=\"onTabSelected(dashboard.key)\"\n >\n <valtimo-widget-dashboard-content\n [dashboard]=\"dashboard\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </cds-tab>\n </cds-tabs>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.dashboards-container .cds--tab-content{outline:0;padding:0}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "component", type: i6.WidgetDashboardContentComponent, selector: "valtimo-widget-dashboard-content", inputs: ["widgetData", "dashboard"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: WidgetDashboardComponent, deps: [{ token: i1.DashboardService }, { token: i2.WidgetApiService }], target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: WidgetDashboardComponent, selector: "valtimo-widget-dashboard", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngIf=\"dashboards$ | async as dashboards\" class=\"dashboards-container\">\n <valtimo-no-results\n *ngIf=\"!dashboards.length\"\n [title]=\"'dashboard.noDashboards' | translate\"\n [description]=\"'dashboard.noDashboardsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-dashboards.svg\"\n ></valtimo-no-results>\n\n <div *ngIf=\"dashboards.length === 1\">\n <h4>{{ dashboards[0].title }}</h4>\n\n <valtimo-widget-dashboard-content\n [dashboard]=\"dashboards[0]\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </div>\n\n <div *ngIf=\"dashboards.length > 1\">\n <cds-tabs>\n <cds-tab\n *ngFor=\"let dashboard of dashboards; trackBy: trackByIndex\"\n [heading]=\"dashboard.title\"\n (selected)=\"onTabSelected(dashboard.key)\"\n >\n <valtimo-widget-dashboard-content\n *ngIf=\"(selectedDashboardKey$ | async) === dashboard.key\"\n [dashboard]=\"dashboard\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </cds-tab>\n </cds-tabs>\n </div>\n</div>\n", styles: [".dashboards-container .cds--tab-content{outline:0;padding:0}.dashboards-container .valtimo-no-results,.widget-container .valtimo-no-results{flex-wrap:wrap;align-items:flex-start;align-content:center;flex-direction:column;gap:16px!important}.dashboards-container .valtimo-no-results__content,.widget-container .valtimo-no-results__content{gap:16px!important;max-width:500px;line-height:20px}.dashboards-container .valtimo-no-results img,.widget-container .valtimo-no-results img{padding-left:0!important}.dashboards-container .valtimo-no-results span,.dashboards-container .valtimo-no-results h4,.widget-container .valtimo-no-results span,.widget-container .valtimo-no-results h4{width:100%!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i6.WidgetDashboardContentComponent, selector: "valtimo-widget-dashboard-content", inputs: ["widgetData", "dashboard"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetDashboardComponent, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: WidgetDashboardComponent, decorators: [{
55
55
  type: Component,
56
- args: [{ selector: 'valtimo-widget-dashboard', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngIf=\"dashboards$ | async as dashboards\" class=\"dashboards-container\">\n <valtimo-no-results\n *ngIf=\"!dashboards.length\"\n [title]=\"'dashboard.noDashboards' | translate\"\n ></valtimo-no-results>\n\n <div *ngIf=\"dashboards.length === 1\">\n <h4>{{ dashboards[0].title }}</h4>\n\n <valtimo-widget-dashboard-content\n [dashboard]=\"dashboards[0]\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </div>\n\n <div *ngIf=\"dashboards.length > 1\">\n <cds-tabs>\n <cds-tab\n *ngFor=\"let dashboard of dashboards; trackBy: trackByIndex\"\n [heading]=\"dashboard.title\"\n (selected)=\"onTabSelected(dashboard.key)\"\n >\n <valtimo-widget-dashboard-content\n [dashboard]=\"dashboard\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </cds-tab>\n </cds-tabs>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.dashboards-container .cds--tab-content{outline:0;padding:0}\n"] }]
57
- }], ctorParameters: function () { return [{ type: i1.DashboardService }, { type: i2.WidgetApiService }]; } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvd2lkZ2V0LWRhc2hib2FyZC93aWRnZXQtZGFzaGJvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQWMsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBVzVELE1BQU0sT0FBTyx3QkFBd0I7SUFhbkMsWUFDbUIsZ0JBQWtDLEVBQ2xDLGdCQUFrQztRQURsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFkOUMsZ0JBQVcsR0FBaUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDM0YsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ2Msc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQXlDO1lBQzlGLElBQUksRUFBRSxFQUFFO1lBQ1IsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7SUFLQSxDQUFDO0lBRUcsYUFBYSxDQUFDLFlBQW9CO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsYUFBYSxDQUFDLFlBQVksQ0FBQzthQUMzQixJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLElBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWE7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOytHQWhDVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixnRUMzQnJDLHNsREE4Q0E7OzRGRG5CYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UsMEJBQTBCLGlCQUdyQixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgdGFrZSwgdGFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RGFzaGJvYXJkLCBXaWRnZXREYXRhfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtEYXNoYm9hcmRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1dpZGdldEFwaVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpZGdldC1hcGkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2lkZ2V0LWRhc2hib2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXREYXNoYm9hcmRDb21wb25lbnQge1xuICBwdWJsaWMgZGFzaGJvYXJkcyQ6IE9ic2VydmFibGU8QXJyYXk8RGFzaGJvYXJkPj4gPSB0aGlzLmRhc2hib2FyZFNlcnZpY2UuZ2V0RGFzaGJvYXJkcygpLnBpcGUoXG4gICAgdGFwKGRhc2hib2FyZHMgPT4ge1xuICAgICAgaWYgKGRhc2hib2FyZHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRoaXMub25UYWJTZWxlY3RlZChkYXNoYm9hcmRzWzBdLmtleSk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZVdpZGdldERhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7ZGF0YTogV2lkZ2V0RGF0YVtdOyBsb2FkaW5nOiBib29sZWFufT4oe1xuICAgIGRhdGE6IFtdLFxuICAgIGxvYWRpbmc6IHRydWUsXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGFzaGJvYXJkU2VydmljZTogRGFzaGJvYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldEFwaVNlcnZpY2U6IFdpZGdldEFwaVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBvblRhYlNlbGVjdGVkKGRhc2hib2FyZEtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy53aWRnZXRBcGlTZXJ2aWNlXG4gICAgICAuZ2V0V2lkZ2V0RGF0YShkYXNoYm9hcmRLZXkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZVdpZGdldERhdGEkLm5leHQoe2RhdGE6IFtdLCBsb2FkaW5nOiB0cnVlfSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBXaWRnZXREYXRhW10pID0+IHRoaXMuYWN0aXZlV2lkZ2V0RGF0YSQubmV4dCh7ZGF0YSwgbG9hZGluZzogZmFsc2V9KSk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2ICpuZ0lmPVwiZGFzaGJvYXJkcyQgfCBhc3luYyBhcyBkYXNoYm9hcmRzXCIgY2xhc3M9XCJkYXNoYm9hcmRzLWNvbnRhaW5lclwiPlxuICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgKm5nSWY9XCIhZGFzaGJvYXJkcy5sZW5ndGhcIlxuICAgIFt0aXRsZV09XCInZGFzaGJvYXJkLm5vRGFzaGJvYXJkcycgfCB0cmFuc2xhdGVcIlxuICA+PC92YWx0aW1vLW5vLXJlc3VsdHM+XG5cbiAgPGRpdiAqbmdJZj1cImRhc2hib2FyZHMubGVuZ3RoID09PSAxXCI+XG4gICAgPGg0Pnt7IGRhc2hib2FyZHNbMF0udGl0bGUgfX08L2g0PlxuXG4gICAgPHZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50XG4gICAgICBbZGFzaGJvYXJkXT1cImRhc2hib2FyZHNbMF1cIlxuICAgICAgW3dpZGdldERhdGFdPVwiYWN0aXZlV2lkZ2V0RGF0YSQgfCBhc3luY1wiXG4gICAgPjwvdmFsdGltby13aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJkYXNoYm9hcmRzLmxlbmd0aCA+IDFcIj5cbiAgICA8Y2RzLXRhYnM+XG4gICAgICA8Y2RzLXRhYlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGFzaGJvYXJkIG9mIGRhc2hib2FyZHM7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiXG4gICAgICAgIFtoZWFkaW5nXT1cImRhc2hib2FyZC50aXRsZVwiXG4gICAgICAgIChzZWxlY3RlZCk9XCJvblRhYlNlbGVjdGVkKGRhc2hib2FyZC5rZXkpXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50XG4gICAgICAgICAgW2Rhc2hib2FyZF09XCJkYXNoYm9hcmRcIlxuICAgICAgICAgIFt3aWRnZXREYXRhXT1cImFjdGl2ZVdpZGdldERhdGEkIHwgYXN5bmNcIlxuICAgICAgICA+PC92YWx0aW1vLXdpZGdldC1kYXNoYm9hcmQtY29udGVudD5cbiAgICAgIDwvY2RzLXRhYj5cbiAgICA8L2Nkcy10YWJzPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
56
+ args: [{ selector: 'valtimo-widget-dashboard', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngIf=\"dashboards$ | async as dashboards\" class=\"dashboards-container\">\n <valtimo-no-results\n *ngIf=\"!dashboards.length\"\n [title]=\"'dashboard.noDashboards' | translate\"\n [description]=\"'dashboard.noDashboardsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-dashboards.svg\"\n ></valtimo-no-results>\n\n <div *ngIf=\"dashboards.length === 1\">\n <h4>{{ dashboards[0].title }}</h4>\n\n <valtimo-widget-dashboard-content\n [dashboard]=\"dashboards[0]\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </div>\n\n <div *ngIf=\"dashboards.length > 1\">\n <cds-tabs>\n <cds-tab\n *ngFor=\"let dashboard of dashboards; trackBy: trackByIndex\"\n [heading]=\"dashboard.title\"\n (selected)=\"onTabSelected(dashboard.key)\"\n >\n <valtimo-widget-dashboard-content\n *ngIf=\"(selectedDashboardKey$ | async) === dashboard.key\"\n [dashboard]=\"dashboard\"\n [widgetData]=\"activeWidgetData$ | async\"\n ></valtimo-widget-dashboard-content>\n </cds-tab>\n </cds-tabs>\n </div>\n</div>\n", styles: [".dashboards-container .cds--tab-content{outline:0;padding:0}.dashboards-container .valtimo-no-results,.widget-container .valtimo-no-results{flex-wrap:wrap;align-items:flex-start;align-content:center;flex-direction:column;gap:16px!important}.dashboards-container .valtimo-no-results__content,.widget-container .valtimo-no-results__content{gap:16px!important;max-width:500px;line-height:20px}.dashboards-container .valtimo-no-results img,.widget-container .valtimo-no-results img{padding-left:0!important}.dashboards-container .valtimo-no-results span,.dashboards-container .valtimo-no-results h4,.widget-container .valtimo-no-results span,.widget-container .valtimo-no-results h4{width:100%!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
57
+ }], ctorParameters: () => [{ type: i1.DashboardService }, { type: i2.WidgetApiService }] });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvd2lkZ2V0LWRhc2hib2FyZC93aWRnZXQtZGFzaGJvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQWMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFXdEQsTUFBTSxPQUFPLHdCQUF3QjtJQWVuQyxZQUNtQixnQkFBa0MsRUFDbEMsZ0JBQWtDO1FBRGxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWhCOUMsZ0JBQVcsR0FBaUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDM0YsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNjLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUF5QztZQUM5RixJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBRWEsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7SUFLckUsQ0FBQztJQUVHLGFBQWEsQ0FBQyxZQUFvQjtRQUN2QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsYUFBYSxDQUFDLFlBQVksQ0FBQzthQUMzQixTQUFTLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFhO1FBQy9CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0EvQlUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsZ0VDM0JyQywreERBaURBOzsyRkR0QmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLDBCQUEwQixpQkFHckIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Rhc2hib2FyZCwgV2lkZ2V0RGF0YX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7RGFzaGJvYXJkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtXaWRnZXRBcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aWRnZXQtYXBpLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXdpZGdldC1kYXNoYm9hcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0RGFzaGJvYXJkQ29tcG9uZW50IHtcbiAgcHVibGljIGRhc2hib2FyZHMkOiBPYnNlcnZhYmxlPEFycmF5PERhc2hib2FyZD4+ID0gdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmdldERhc2hib2FyZHMoKS5waXBlKFxuICAgIHRhcChkYXNoYm9hcmRzID0+IHtcbiAgICAgIGlmIChkYXNoYm9hcmRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICB0aGlzLm9uVGFiU2VsZWN0ZWQoZGFzaGJvYXJkc1swXS5rZXkpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVXaWRnZXREYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8e2RhdGE6IFdpZGdldERhdGFbXTsgbG9hZGluZzogYm9vbGVhbn0+KHtcbiAgICBkYXRhOiBbXSxcbiAgICBsb2FkaW5nOiB0cnVlLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWREYXNoYm9hcmRLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhc2hib2FyZFNlcnZpY2U6IERhc2hib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aWRnZXRBcGlTZXJ2aWNlOiBXaWRnZXRBcGlTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgb25UYWJTZWxlY3RlZChkYXNoYm9hcmRLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWREYXNoYm9hcmRLZXkkLm5leHQoZGFzaGJvYXJkS2V5KTtcbiAgICB0aGlzLmFjdGl2ZVdpZGdldERhdGEkLm5leHQoe2RhdGE6IFtdLCBsb2FkaW5nOiB0cnVlfSk7XG5cbiAgICB0aGlzLndpZGdldEFwaVNlcnZpY2VcbiAgICAgIC5nZXRXaWRnZXREYXRhKGRhc2hib2FyZEtleSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IFdpZGdldERhdGFbXSkgPT4gdGhpcy5hY3RpdmVXaWRnZXREYXRhJC5uZXh0KHtkYXRhLCBsb2FkaW5nOiBmYWxzZX0pKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgKm5nSWY9XCJkYXNoYm9hcmRzJCB8IGFzeW5jIGFzIGRhc2hib2FyZHNcIiBjbGFzcz1cImRhc2hib2FyZHMtY29udGFpbmVyXCI+XG4gIDx2YWx0aW1vLW5vLXJlc3VsdHNcbiAgICAqbmdJZj1cIiFkYXNoYm9hcmRzLmxlbmd0aFwiXG4gICAgW3RpdGxlXT1cIidkYXNoYm9hcmQubm9EYXNoYm9hcmRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2Rlc2NyaXB0aW9uXT1cIidkYXNoYm9hcmQubm9EYXNoYm9hcmRzRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICBpbGx1c3RyYXRpb249XCJ2YWx0aW1vLWxheW91dC9pbWcvbm8tZGFzaGJvYXJkcy5zdmdcIlxuICA+PC92YWx0aW1vLW5vLXJlc3VsdHM+XG5cbiAgPGRpdiAqbmdJZj1cImRhc2hib2FyZHMubGVuZ3RoID09PSAxXCI+XG4gICAgPGg0Pnt7IGRhc2hib2FyZHNbMF0udGl0bGUgfX08L2g0PlxuXG4gICAgPHZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50XG4gICAgICBbZGFzaGJvYXJkXT1cImRhc2hib2FyZHNbMF1cIlxuICAgICAgW3dpZGdldERhdGFdPVwiYWN0aXZlV2lkZ2V0RGF0YSQgfCBhc3luY1wiXG4gICAgPjwvdmFsdGltby13aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJkYXNoYm9hcmRzLmxlbmd0aCA+IDFcIj5cbiAgICA8Y2RzLXRhYnM+XG4gICAgICA8Y2RzLXRhYlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGFzaGJvYXJkIG9mIGRhc2hib2FyZHM7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiXG4gICAgICAgIFtoZWFkaW5nXT1cImRhc2hib2FyZC50aXRsZVwiXG4gICAgICAgIChzZWxlY3RlZCk9XCJvblRhYlNlbGVjdGVkKGRhc2hib2FyZC5rZXkpXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50XG4gICAgICAgICAgKm5nSWY9XCIoc2VsZWN0ZWREYXNoYm9hcmRLZXkkIHwgYXN5bmMpID09PSBkYXNoYm9hcmQua2V5XCJcbiAgICAgICAgICBbZGFzaGJvYXJkXT1cImRhc2hib2FyZFwiXG4gICAgICAgICAgW3dpZGdldERhdGFdPVwiYWN0aXZlV2lkZ2V0RGF0YSQgfCBhc3luY1wiXG4gICAgICAgID48L3ZhbHRpbW8td2lkZ2V0LWRhc2hib2FyZC1jb250ZW50PlxuICAgICAgPC9jZHMtdGFiPlxuICAgIDwvY2RzLXRhYnM+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2015-2023 Ritense BV, the Netherlands.
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
3
  *
4
4
  * Licensed under EUPL, Version 1.2 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -15,8 +15,10 @@
15
15
  */
16
16
  import { Component, Input, ViewChild, ViewChildren, ViewContainerRef, } from '@angular/core';
17
17
  import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
18
- import { take } from 'rxjs/operators';
18
+ import { delay, map, take } from 'rxjs/operators';
19
19
  import { WidgetLayoutService } from '../../services/widget-layout.service';
20
+ import { WIDGET_1X_HEIGHT } from '../../constants';
21
+ import Muuri from 'muuri';
20
22
  import * as i0 from "@angular/core";
21
23
  import * as i1 from "../../services/widget-layout.service";
22
24
  import * as i2 from "../../services";
@@ -26,27 +28,38 @@ import * as i5 from "@valtimo/components";
26
28
  import * as i6 from "@ngx-translate/core";
27
29
  export class WidgetDashboardContentComponent {
28
30
  set widgetData(value) {
29
- this.isLoading$.next(value.loading);
31
+ this._isLoading$.next(value.loading);
30
32
  this._widgetData$.next(value.data);
31
33
  }
32
34
  set dashboard(value) {
33
35
  this.setWidgetConfigurations(value);
34
36
  }
37
+ get _muuriInitialized$() {
38
+ return this._muuri$.pipe(map(muuri => !!muuri));
39
+ }
35
40
  constructor(layoutService, widgetService, renderer) {
36
41
  this.layoutService = layoutService;
37
42
  this.widgetService = widgetService;
38
43
  this.renderer = renderer;
39
- this.isLoading$ = new BehaviorSubject(true);
44
+ this._isLoading$ = new BehaviorSubject(true);
40
45
  this._widgetData$ = new BehaviorSubject([]);
41
46
  this.widgetConfigurations$ = new BehaviorSubject(null);
42
47
  this._subscriptions = new Subscription();
48
+ this._muuri$ = this.layoutService.muuriSubject$;
49
+ this._creatingMuuri = false;
50
+ this._noResults$ = new BehaviorSubject(false);
51
+ this.loaded$ = combineLatest([
52
+ this._isLoading$,
53
+ this._muuriInitialized$,
54
+ this._noResults$,
55
+ ]).pipe(map(([isLoading, muuriInitialized, noResults]) => !isLoading && (muuriInitialized || noResults)), delay(400));
43
56
  }
44
57
  ngAfterViewInit() {
45
58
  this._observer = new ResizeObserver(event => {
46
59
  this.observerMutation(event);
47
60
  });
48
61
  this._observer.observe(this._widgetContainerRef.nativeElement);
49
- this.openPackResultSubscription();
62
+ this.openWidgetSizeSubscription();
50
63
  this.renderWidgets();
51
64
  }
52
65
  ngOnDestroy() {
@@ -66,17 +79,34 @@ export class WidgetDashboardContentComponent {
66
79
  this.layoutService.setWidgetContainerWidth(widgetContainerWidth);
67
80
  }
68
81
  }
69
- openPackResultSubscription() {
70
- this._subscriptions.add(this.layoutService.widgetPackResult$.subscribe(packResult => {
71
- this.renderer.setStyle(this._widgetContainerRef.nativeElement, 'height', `${packResult.height}px`);
82
+ openWidgetSizeSubscription() {
83
+ this._subscriptions.add(combineLatest([
84
+ this.layoutService.amountOfColumns$,
85
+ this.widgetConfigurations$,
86
+ this.widgetService.supportedDisplayTypes$,
87
+ this._muuri$,
88
+ ]).subscribe(([amountOfColumns, widgetConfigurations, supportedDisplayTypes, muuri]) => {
72
89
  this._widgetConfigurationRefs.toArray().forEach(widgetConfigurationRef => {
73
90
  const nativeElement = widgetConfigurationRef.nativeElement;
74
- const configPackResult = packResult.items.find(result => result.item.configurationKey === nativeElement.id);
75
- this.renderer.setStyle(nativeElement, 'height', `${configPackResult?.height}px`);
76
- this.renderer.setStyle(nativeElement, 'width', `${configPackResult?.width}px`);
77
- this.renderer.setStyle(nativeElement, 'left', `${configPackResult?.x}px`);
78
- this.renderer.setStyle(nativeElement, 'top', `${configPackResult?.y}px`);
91
+ const widgetConfiguration = widgetConfigurations.find(config => config.key === nativeElement.id);
92
+ const specification = supportedDisplayTypes.find(type => type.displayTypeKey === widgetConfiguration.displayType);
93
+ const widthPercentage = specification.width > amountOfColumns
94
+ ? 100
95
+ : (specification.width / amountOfColumns) * 100;
96
+ this.renderer.setStyle(nativeElement, 'height', `${WIDGET_1X_HEIGHT * specification.height}px`);
97
+ this.renderer.setStyle(nativeElement, 'width', `${widthPercentage}%`);
79
98
  });
99
+ if (widgetConfigurations.length > 0) {
100
+ if (!muuri) {
101
+ this.initMuuri();
102
+ }
103
+ else {
104
+ this.layoutService.triggerMuuriLayout();
105
+ }
106
+ }
107
+ else {
108
+ this._noResults$.next(true);
109
+ }
80
110
  }));
81
111
  }
82
112
  renderWidgets() {
@@ -100,13 +130,25 @@ export class WidgetDashboardContentComponent {
100
130
  });
101
131
  }));
102
132
  }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetDashboardContentComponent, deps: [{ token: i1.WidgetLayoutService }, { token: i2.WidgetService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WidgetDashboardContentComponent, selector: "valtimo-widget-dashboard-content", inputs: { widgetData: "widgetData", dashboard: "dashboard" }, providers: [WidgetLayoutService], viewQueries: [{ propertyName: "_widgetContainerRef", first: true, predicate: ["widgetContainer"], descendants: true }, { propertyName: "_widgetConfigurationRefs", predicate: ["widgetConfiguration"], descendants: true }, { propertyName: "_widgetConfigurationContentVcRefs", predicate: ["widgetConfigurationContent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div #widgetContainer [class.loading]=\"isLoading$ | async\" class=\"widget-container\">\n <ng-container *ngIf=\"widgetConfigurations$ | async as widgetConfigurations\">\n <ng-container *ngFor=\"let config of widgetConfigurations\">\n <div #widgetConfiguration [id]=\"config.key\" class=\"widget-configuration\">\n <div class=\"widget-configuration-content\">\n <ng-container #widgetConfigurationContent></ng-container>\n </div>\n </div>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"!widgetConfigurations.length\"\n [title]=\"'dashboard.noWidgets' | translate\"\n ></valtimo-no-results>\n </ng-container>\n</div>\n\n<cds-loading *ngIf=\"isLoading$ | async\" class=\"widget-loader\"></cds-loading>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.widget-container{margin-top:16px;width:calc(100% + 16px);margin-left:-8px;position:relative}.widget-configuration{position:absolute;display:flex;justify-content:center;align-items:center}.widget-configuration-content{width:calc(100% - 16px);height:calc(100% - 16px);background-color:#fff}.widget-loader{display:flex;justify-content:center;padding-top:32px}.loading{display:none}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
133
+ initMuuri() {
134
+ if (!this._widgetContainerRef || this._creatingMuuri)
135
+ return;
136
+ this._creatingMuuri = true;
137
+ this.layoutService.setMuuri(new Muuri(this._widgetContainerRef.nativeElement, {
138
+ layout: {
139
+ fillGaps: true,
140
+ },
141
+ layoutOnResize: false,
142
+ }));
143
+ this._creatingMuuri = false;
144
+ }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: WidgetDashboardContentComponent, deps: [{ token: i1.WidgetLayoutService }, { token: i2.WidgetService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: WidgetDashboardContentComponent, selector: "valtimo-widget-dashboard-content", inputs: { widgetData: "widgetData", dashboard: "dashboard" }, providers: [WidgetLayoutService], viewQueries: [{ propertyName: "_widgetContainerRef", first: true, predicate: ["widgetContainer"], descendants: true }, { propertyName: "_widgetConfigurationRefs", predicate: ["widgetConfiguration"], descendants: true }, { propertyName: "_widgetConfigurationContentVcRefs", predicate: ["widgetConfigurationContent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{loaded: loaded$ | async} as obs\">\n <div *ngIf=\"!obs.loaded\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-container>\n\n<div\n #widgetContainer\n class=\"widget-container\"\n [ngClass]=\"{'widget-container__visible': loaded$ | async}\"\n>\n <ng-container *ngIf=\"widgetConfigurations$ | async as widgetConfigurations\">\n <ng-container *ngFor=\"let config of widgetConfigurations\">\n <div #widgetConfiguration [id]=\"config.key\" class=\"widget-configuration\">\n <div class=\"widget-configuration-content\">\n <ng-container #widgetConfigurationContent></ng-container>\n </div>\n </div>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"!widgetConfigurations.length\"\n [title]=\"'dashboard.noWidgets' | translate\"\n [description]=\"'dashboard.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n </ng-container>\n</div>\n", styles: [":host{position:relative}.widget-container{margin-top:16px;width:calc(100% + 16px);margin-left:-8px;position:relative;visibility:hidden}.widget-container__visible{visibility:visible}.widget-configuration{position:absolute;display:flex;justify-content:center;align-items:center}.widget-configuration-content{width:calc(100% - 16px);height:calc(100% - 16px);background-color:#fff}.loading-container{padding-top:32px;position:absolute;top:0;display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
105
147
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetDashboardContentComponent, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: WidgetDashboardContentComponent, decorators: [{
107
149
  type: Component,
108
- args: [{ selector: 'valtimo-widget-dashboard-content', providers: [WidgetLayoutService], template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div #widgetContainer [class.loading]=\"isLoading$ | async\" class=\"widget-container\">\n <ng-container *ngIf=\"widgetConfigurations$ | async as widgetConfigurations\">\n <ng-container *ngFor=\"let config of widgetConfigurations\">\n <div #widgetConfiguration [id]=\"config.key\" class=\"widget-configuration\">\n <div class=\"widget-configuration-content\">\n <ng-container #widgetConfigurationContent></ng-container>\n </div>\n </div>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"!widgetConfigurations.length\"\n [title]=\"'dashboard.noWidgets' | translate\"\n ></valtimo-no-results>\n </ng-container>\n</div>\n\n<cds-loading *ngIf=\"isLoading$ | async\" class=\"widget-loader\"></cds-loading>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.widget-container{margin-top:16px;width:calc(100% + 16px);margin-left:-8px;position:relative}.widget-configuration{position:absolute;display:flex;justify-content:center;align-items:center}.widget-configuration-content{width:calc(100% - 16px);height:calc(100% - 16px);background-color:#fff}.widget-loader{display:flex;justify-content:center;padding-top:32px}.loading{display:none}\n"] }]
109
- }], ctorParameters: function () { return [{ type: i1.WidgetLayoutService }, { type: i2.WidgetService }, { type: i0.Renderer2 }]; }, propDecorators: { _widgetConfigurationRefs: [{
150
+ args: [{ selector: 'valtimo-widget-dashboard-content', providers: [WidgetLayoutService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{loaded: loaded$ | async} as obs\">\n <div *ngIf=\"!obs.loaded\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-container>\n\n<div\n #widgetContainer\n class=\"widget-container\"\n [ngClass]=\"{'widget-container__visible': loaded$ | async}\"\n>\n <ng-container *ngIf=\"widgetConfigurations$ | async as widgetConfigurations\">\n <ng-container *ngFor=\"let config of widgetConfigurations\">\n <div #widgetConfiguration [id]=\"config.key\" class=\"widget-configuration\">\n <div class=\"widget-configuration-content\">\n <ng-container #widgetConfigurationContent></ng-container>\n </div>\n </div>\n </ng-container>\n\n <valtimo-no-results\n *ngIf=\"!widgetConfigurations.length\"\n [title]=\"'dashboard.noWidgets' | translate\"\n [description]=\"'dashboard.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n </ng-container>\n</div>\n", styles: [":host{position:relative}.widget-container{margin-top:16px;width:calc(100% + 16px);margin-left:-8px;position:relative;visibility:hidden}.widget-container__visible{visibility:visible}.widget-configuration{position:absolute;display:flex;justify-content:center;align-items:center}.widget-configuration-content{width:calc(100% - 16px);height:calc(100% - 16px);background-color:#fff}.loading-container{padding-top:32px;position:absolute;top:0;display:flex;width:100%;justify-content:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
151
+ }], ctorParameters: () => [{ type: i1.WidgetLayoutService }, { type: i2.WidgetService }, { type: i0.Renderer2 }], propDecorators: { _widgetConfigurationRefs: [{
110
152
  type: ViewChildren,
111
153
  args: ['widgetConfiguration']
112
154
  }], _widgetConfigurationContentVcRefs: [{
@@ -120,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
120
162
  }], dashboard: [{
121
163
  type: Input
122
164
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUVMLFNBQVMsRUFHVCxLQUFLLEVBSUwsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7QUFRekUsTUFBTSxPQUFPLCtCQUErQjtJQVcxQyxJQUFhLFVBQVUsQ0FBQyxLQUE2QztRQUNuRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFhLFNBQVMsQ0FBQyxLQUFnQjtRQUNyQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FB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MjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtEYXNoYm9hcmQsIERhc2hib2FyZFdpZGdldENvbmZpZ3VyYXRpb24sIERpc3BsYXlDb21wb25lbnQsIFdpZGdldERhdGF9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1dpZGdldFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7V2lkZ2V0TGF5b3V0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2lkZ2V0LWxheW91dC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby13aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1dpZGdldExheW91dFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXREYXNoYm9hcmRDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZHJlbignd2lkZ2V0Q29uZmlndXJhdGlvbicpIHByaXZhdGUgX3dpZGdldENvbmZpZ3VyYXRpb25SZWZzOiBRdWVyeUxpc3Q8XG4gICAgRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD5cbiAgPjtcbiAgQFZpZXdDaGlsZHJlbignd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnQnLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pXG4gIHByaXZhdGUgX3dpZGdldENvbmZpZ3VyYXRpb25Db250ZW50VmNSZWZzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj47XG4gIEBWaWV3Q2hpbGQoJ3dpZGdldENvbnRhaW5lcicpIHByaXZhdGUgX3dpZGdldENvbnRhaW5lclJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzTG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIF93aWRnZXREYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2lkZ2V0RGF0YVtdPihbXSk7XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldERhdGEodmFsdWU6IHtkYXRhOiBXaWRnZXREYXRhW107IGxvYWRpbmc6IGJvb2xlYW59KSB7XG4gICAgdGhpcy5pc0xvYWRpbmckLm5leHQodmFsdWUubG9hZGluZyk7XG4gICAgdGhpcy5fd2lkZ2V0RGF0YSQubmV4dCh2YWx1ZS5kYXRhKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgZGFzaGJvYXJkKHZhbHVlOiBEYXNoYm9hcmQpIHtcbiAgICB0aGlzLnNldFdpZGdldENvbmZpZ3VyYXRpb25zKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRDb25maWd1cmF0aW9ucyQgPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8RGFzaGJvYXJkV2lkZ2V0Q29uZmlndXJhdGlvbj4gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIF9vYnNlcnZlciE6IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0U2VydmljZTogV2lkZ2V0TGF5b3V0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFNlcnZpY2U6IFdpZGdldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGV2ZW50ID0+IHtcbiAgICAgIHRoaXMub2JzZXJ2ZXJNdXRhdGlvbihldmVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl93aWRnZXRDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5vcGVuUGFja1Jlc3VsdFN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMucmVuZGVyV2lkZ2V0cygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucz8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkZ2V0Q29uZmlndXJhdGlvbnMoZGFzaGJvYXJkOiBEYXNoYm9hcmQpOiB2b2lkIHtcbiAgICB0aGlzLndpZGdldFNlcnZpY2Uuc3VwcG9ydGVkRGlzcGxheVR5cGVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzdXBwb3J0ZWREaXNwbGF5VHlwZXMgPT4ge1xuICAgICAgY29uc3Qgc3VwcG9ydGVkV2lkZ2V0Q29uZmlndXJhdGlvbnMgPVxuICAgICAgICBkYXNoYm9hcmQud2lkZ2V0cz8uZmlsdGVyKHdpZGdldENvbmZpZ3VyYXRpb24gPT5cbiAgICAgICAgICBzdXBwb3J0ZWREaXNwbGF5VHlwZXMuZmluZChcbiAgICAgICAgICAgIHR5cGUgPT4gdHlwZS5kaXNwbGF5VHlwZUtleSA9PT0gd2lkZ2V0Q29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVxuICAgICAgICAgIClcbiAgICAgICAgKSB8fCBbXTtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRXaWRnZXRDb25maWd1cmF0aW9ucyhzdXBwb3J0ZWRXaWRnZXRDb25maWd1cmF0aW9ucyk7XG4gICAgICB0aGlzLndpZGdldENvbmZpZ3VyYXRpb25zJC5uZXh0KHN1cHBvcnRlZFdpZGdldENvbmZpZ3VyYXRpb25zKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZXJNdXRhdGlvbihldmVudDogQXJyYXk8UmVzaXplT2JzZXJ2ZXJFbnRyeT4pOiB2b2lkIHtcbiAgICBjb25zdCB3aWRnZXRDb250YWluZXJXaWR0aCA9IGV2ZW50WzBdPy5ib3JkZXJCb3hTaXplWzBdPy5pbmxpbmVTaXplO1xuXG4gICAgaWYgKHR5cGVvZiB3aWRnZXRDb250YWluZXJXaWR0aCA9PT0gJ251bWJlcicgJiYgd2lkZ2V0Q29udGFpbmVyV2lkdGggIT09IDApIHtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRXaWRnZXRDb250YWluZXJXaWR0aCh3aWRnZXRDb250YWluZXJXaWR0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUGFja1Jlc3VsdFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS53aWRnZXRQYWNrUmVzdWx0JC5zdWJzY3JpYmUocGFja1Jlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgdGhpcy5fd2lkZ2V0Q29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgICAgYCR7cGFja1Jlc3VsdC5oZWlnaHR9cHhgXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlndXJhdGlvblJlZnMudG9BcnJheSgpLmZvckVhY2god2lkZ2V0Q29uZmlndXJhdGlvblJlZiA9PiB7XG4gICAgICAgICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHdpZGdldENvbmZpZ3VyYXRpb25SZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICBjb25zdCBjb25maWdQYWNrUmVzdWx0ID0gcGFja1Jlc3VsdC5pdGVtcy5maW5kKFxuICAgICAgICAgICAgcmVzdWx0ID0+IHJlc3VsdC5pdGVtLmNvbmZpZ3VyYXRpb25LZXkgPT09IG5hdGl2ZUVsZW1lbnQuaWRcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2NvbmZpZ1BhY2tSZXN1bHQ/LmhlaWdodH1weGApO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7Y29uZmlnUGFja1Jlc3VsdD8ud2lkdGh9cHhgKTtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7Y29uZmlnUGFja1Jlc3VsdD8ueH1weGApO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke2NvbmZpZ1BhY2tSZXN1bHQ/Lnl9cHhgKTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcldpZGdldHMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy53aWRnZXRDb25maWd1cmF0aW9ucyQsXG4gICAgICAgIHRoaXMud2lkZ2V0U2VydmljZS5zdXBwb3J0ZWREaXNwbGF5VHlwZXMkLFxuICAgICAgICB0aGlzLl93aWRnZXREYXRhJCxcbiAgICAgIF0pLnN1YnNjcmliZSgoW2NvbmZpZ3VyYXRpb25zLCBkaXNwbGF5VHlwZXMsIGRhdGFdKSA9PiB7XG4gICAgICAgIGNvbmZpZ3VyYXRpb25zPy5mb3JFYWNoKChjb25maWd1cmF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRpc3BsYXlUeXBlID0gZGlzcGxheVR5cGVzLmZpbmQoXG4gICAgICAgICAgICB0eXBlID0+IHR5cGUuZGlzcGxheVR5cGVLZXkgPT09IGNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGVcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHZjUmVmID0gdGhpcy5fd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnRWY1JlZnMudG9BcnJheSgpW2luZGV4XTtcblxuICAgICAgICAgIGlmIChkaXNwbGF5VHlwZSAmJiBkYXRhKSB7XG4gICAgICAgICAgICB2Y1JlZi5jbGVhcigpO1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50SW5zdGFuY2U6IENvbXBvbmVudFJlZjxEaXNwbGF5Q29tcG9uZW50PiA9IHZjUmVmLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgICAgICAgZGlzcGxheVR5cGUuZGlzcGxheUNvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNldElucHV0KCdkaXNwbGF5VHlwZUtleScsIGNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGUpO1xuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2Uuc2V0SW5wdXQoJ2Rpc3BsYXlUeXBlUHJvcGVydGllcycsIHtcbiAgICAgICAgICAgICAgLi4uY29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVByb3BlcnRpZXMsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2Uuc2V0SW5wdXQoXG4gICAgICAgICAgICAgICdkYXRhJyxcbiAgICAgICAgICAgICAgZGF0YS5maW5kKGRhdGFJdGVtID0+IGRhdGFJdGVtLmtleSA9PT0gY29uZmlndXJhdGlvbi5rZXkpPy5kYXRhXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiAjd2lkZ2V0Q29udGFpbmVyIFtjbGFzcy5sb2FkaW5nXT1cImlzTG9hZGluZyQgfCBhc3luY1wiIGNsYXNzPVwid2lkZ2V0LWNvbnRhaW5lclwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0Q29uZmlndXJhdGlvbnMkIHwgYXN5bmMgYXMgd2lkZ2V0Q29uZmlndXJhdGlvbnNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb25maWcgb2Ygd2lkZ2V0Q29uZmlndXJhdGlvbnNcIj5cbiAgICAgIDxkaXYgI3dpZGdldENvbmZpZ3VyYXRpb24gW2lkXT1cImNvbmZpZy5rZXlcIiBjbGFzcz1cIndpZGdldC1jb25maWd1cmF0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtY29uZmlndXJhdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAjd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnQ+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgICAqbmdJZj1cIiF3aWRnZXRDb25maWd1cmF0aW9ucy5sZW5ndGhcIlxuICAgICAgW3RpdGxlXT1cIidkYXNoYm9hcmQubm9XaWRnZXRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvdmFsdGltby1uby1yZXN1bHRzPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48Y2RzLWxvYWRpbmcgKm5nSWY9XCJpc0xvYWRpbmckIHwgYXN5bmNcIiBjbGFzcz1cIndpZGdldC1sb2FkZXJcIj48L2Nkcy1sb2FkaW5nPlxuIl19
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQvd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUVMLFNBQVMsRUFHVCxLQUFLLEVBSUwsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7QUFRMUIsTUFBTSxPQUFPLCtCQUErQjtJQVcxQyxJQUFhLFVBQVUsQ0FBQyxLQUE2QztRQUNuRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FB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SyxDQUFDO0lBQzlCLENBQUM7OEdBaExVLCtCQUErQjtrR0FBL0IsK0JBQStCLHlIQUYvQixDQUFDLG1CQUFtQixDQUFDLHVWQU1tQixnQkFBZ0IsNkJDOUNyRSw2b0RBNENBOzsyRkRGYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0Usa0NBQWtDLGFBR2pDLENBQUMsbUJBQW1CLENBQUM7NElBR2Esd0JBQXdCO3NCQUFwRSxZQUFZO3VCQUFDLHFCQUFxQjtnQkFJM0IsaUNBQWlDO3NCQUR4QyxZQUFZO3VCQUFDLDRCQUE0QixFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDO2dCQUU5QixtQkFBbUI7c0JBQXhELFNBQVM7dUJBQUMsaUJBQWlCO2dCQUtmLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheSwgbWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Rhc2hib2FyZCwgRGFzaGJvYXJkV2lkZ2V0Q29uZmlndXJhdGlvbiwgRGlzcGxheUNvbXBvbmVudCwgV2lkZ2V0RGF0YX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V2lkZ2V0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtXaWRnZXRMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aWRnZXQtbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtXSURHRVRfMVhfSEVJR0hUfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IE11dXJpIGZyb20gJ211dXJpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby13aWRnZXQtZGFzaGJvYXJkLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2lkZ2V0LWRhc2hib2FyZC1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1dpZGdldExheW91dFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXREYXNoYm9hcmRDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZHJlbignd2lkZ2V0Q29uZmlndXJhdGlvbicpIHByaXZhdGUgX3dpZGdldENvbmZpZ3VyYXRpb25SZWZzOiBRdWVyeUxpc3Q8XG4gICAgRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD5cbiAgPjtcbiAgQFZpZXdDaGlsZHJlbignd2lkZ2V0Q29uZmlndXJhdGlvbkNvbnRlbnQnLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pXG4gIHByaXZhdGUgX3dpZGdldENvbmZpZ3VyYXRpb25Db250ZW50VmNSZWZzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj47XG4gIEBWaWV3Q2hpbGQoJ3dpZGdldENvbnRhaW5lcicpIHByaXZhdGUgX3dpZGdldENvbnRhaW5lclJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaXNMb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgX3dpZGdldERhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXaWRnZXREYXRhW10+KFtdKTtcblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0RGF0YSh2YWx1ZToge2RhdGE6IFdpZGdldERhdGFbXTsgbG9hZGluZzogYm9vbGVhbn0pIHtcbiAgICB0aGlzLl9pc0xvYWRpbmckLm5leHQodmFsdWUubG9hZGluZyk7XG4gICAgdGhpcy5fd2lkZ2V0RGF0YSQubmV4dCh2YWx1ZS5kYXRhKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgZGFzaGJvYXJkKHZhbHVlOiBEYXNoYm9hcmQpIHtcbiAgICB0aGlzLnNldFdpZGdldENvbmZpZ3VyYXRpb25zKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRDb25maWd1cmF0aW9ucyQgPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8RGFzaGJvYXJkV2lkZ2V0Q29uZmlndXJhdGlvbj4gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIF9vYnNlcnZlciE6IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX211dXJpJCA9IHRoaXMubGF5b3V0U2VydmljZS5tdXVyaVN1YmplY3QkO1xuXG4gIHByaXZhdGUgX2NyZWF0aW5nTXV1cmkgPSBmYWxzZTtcblxuICBwcml2YXRlIGdldCBfbXV1cmlJbml0aWFsaXplZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX211dXJpJC5waXBlKG1hcChtdXVyaSA9PiAhIW11dXJpKSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9ub1Jlc3VsdHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxvYWRlZCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9pc0xvYWRpbmckLFxuICAgIHRoaXMuX211dXJpSW5pdGlhbGl6ZWQkLFxuICAgIHRoaXMuX25vUmVzdWx0cyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKFxuICAgICAgKFtpc0xvYWRpbmcsIG11dXJpSW5pdGlhbGl6ZWQsIG5vUmVzdWx0c10pID0+ICFpc0xvYWRpbmcgJiYgKG11dXJpSW5pdGlhbGl6ZWQgfHwgbm9SZXN1bHRzKVxuICAgICksXG4gICAgZGVsYXkoNDAwKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0U2VydmljZTogV2lkZ2V0TGF5b3V0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFNlcnZpY2U6IFdpZGdldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGV2ZW50ID0+IHtcbiAgICAgIHRoaXMub2JzZXJ2ZXJNdXRhdGlvbihldmVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl93aWRnZXRDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5vcGVuV2lkZ2V0U2l6ZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMucmVuZGVyV2lkZ2V0cygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucz8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkZ2V0Q29uZmlndXJhdGlvbnMoZGFzaGJvYXJkOiBEYXNoYm9hcmQpOiB2b2lkIHtcbiAgICB0aGlzLndpZGdldFNlcnZpY2Uuc3VwcG9ydGVkRGlzcGxheVR5cGVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzdXBwb3J0ZWREaXNwbGF5VHlwZXMgPT4ge1xuICAgICAgY29uc3Qgc3VwcG9ydGVkV2lkZ2V0Q29uZmlndXJhdGlvbnMgPVxuICAgICAgICBkYXNoYm9hcmQud2lkZ2V0cz8uZmlsdGVyKHdpZGdldENvbmZpZ3VyYXRpb24gPT5cbiAgICAgICAgICBzdXBwb3J0ZWREaXNwbGF5VHlwZXMuZmluZChcbiAgICAgICAgICAgIHR5cGUgPT4gdHlwZS5kaXNwbGF5VHlwZUtleSA9PT0gd2lkZ2V0Q29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVxuICAgICAgICAgIClcbiAgICAgICAgKSB8fCBbXTtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRXaWRnZXRDb25maWd1cmF0aW9ucyhzdXBwb3J0ZWRXaWRnZXRDb25maWd1cmF0aW9ucyk7XG4gICAgICB0aGlzLndpZGdldENvbmZpZ3VyYXRpb25zJC5uZXh0KHN1cHBvcnRlZFdpZGdldENvbmZpZ3VyYXRpb25zKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZXJNdXRhdGlvbihldmVudDogQXJyYXk8UmVzaXplT2JzZXJ2ZXJFbnRyeT4pOiB2b2lkIHtcbiAgICBjb25zdCB3aWRnZXRDb250YWluZXJXaWR0aCA9IGV2ZW50WzBdPy5ib3JkZXJCb3hTaXplWzBdPy5pbmxpbmVTaXplO1xuXG4gICAgaWYgKHR5cGVvZiB3aWRnZXRDb250YWluZXJXaWR0aCA9PT0gJ251bWJlcicgJiYgd2lkZ2V0Q29udGFpbmVyV2lkdGggIT09IDApIHtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5zZXRXaWRnZXRDb250YWluZXJXaWR0aCh3aWRnZXRDb250YWluZXJXaWR0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuV2lkZ2V0U2l6ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuYW1vdW50T2ZDb2x1bW5zJCxcbiAgICAgICAgdGhpcy53aWRnZXRDb25maWd1cmF0aW9ucyQsXG4gICAgICAgIHRoaXMud2lkZ2V0U2VydmljZS5zdXBwb3J0ZWREaXNwbGF5VHlwZXMkLFxuICAgICAgICB0aGlzLl9tdXVyaSQsXG4gICAgICBdKS5zdWJzY3JpYmUoKFthbW91bnRPZkNvbHVtbnMsIHdpZGdldENvbmZpZ3VyYXRpb25zLCBzdXBwb3J0ZWREaXNwbGF5VHlwZXMsIG11dXJpXSkgPT4ge1xuICAgICAgICB0aGlzLl93aWRnZXRDb25maWd1cmF0aW9uUmVmcy50b0FycmF5KCkuZm9yRWFjaCh3aWRnZXRDb25maWd1cmF0aW9uUmVmID0+IHtcbiAgICAgICAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gd2lkZ2V0Q29uZmlndXJhdGlvblJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgIGNvbnN0IHdpZGdldENvbmZpZ3VyYXRpb24gPSB3aWRnZXRDb25maWd1cmF0aW9ucy5maW5kKFxuICAgICAgICAgICAgY29uZmlnID0+IGNvbmZpZy5rZXkgPT09IG5hdGl2ZUVsZW1lbnQuaWRcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHNwZWNpZmljYXRpb24gPSBzdXBwb3J0ZWREaXNwbGF5VHlwZXMuZmluZChcbiAgICAgICAgICAgIHR5cGUgPT4gdHlwZS5kaXNwbGF5VHlwZUtleSA9PT0gd2lkZ2V0Q29uZmlndXJhdGlvbi5kaXNwbGF5VHlwZVxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3Qgd2lkdGhQZXJjZW50YWdlID1cbiAgICAgICAgICAgIHNwZWNpZmljYXRpb24ud2lkdGggPiBhbW91bnRPZkNvbHVtbnNcbiAgICAgICAgICAgICAgPyAxMDBcbiAgICAgICAgICAgICAgOiAoc3BlY2lmaWNhdGlvbi53aWR0aCAvIGFtb3VudE9mQ29sdW1ucykgKiAxMDA7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgICAgIGAke1dJREdFVF8xWF9IRUlHSFQgKiBzcGVjaWZpY2F0aW9uLmhlaWdodH1weGBcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGhQZXJjZW50YWdlfSVgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHdpZGdldENvbmZpZ3VyYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBpZiAoIW11dXJpKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRNdXVyaSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UudHJpZ2dlck11dXJpTGF5b3V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX25vUmVzdWx0cyQubmV4dCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJXaWRnZXRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMud2lkZ2V0Q29uZmlndXJhdGlvbnMkLFxuICAgICAgICB0aGlzLndpZGdldFNlcnZpY2Uuc3VwcG9ydGVkRGlzcGxheVR5cGVzJCxcbiAgICAgICAgdGhpcy5fd2lkZ2V0RGF0YSQsXG4gICAgICBdKS5zdWJzY3JpYmUoKFtjb25maWd1cmF0aW9ucywgZGlzcGxheVR5cGVzLCBkYXRhXSkgPT4ge1xuICAgICAgICBjb25maWd1cmF0aW9ucz8uZm9yRWFjaCgoY29uZmlndXJhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCBkaXNwbGF5VHlwZSA9IGRpc3BsYXlUeXBlcy5maW5kKFxuICAgICAgICAgICAgdHlwZSA9PiB0eXBlLmRpc3BsYXlUeXBlS2V5ID09PSBjb25maWd1cmF0aW9uLmRpc3BsYXlUeXBlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCB2Y1JlZiA9IHRoaXMuX3dpZGdldENvbmZpZ3VyYXRpb25Db250ZW50VmNSZWZzLnRvQXJyYXkoKVtpbmRleF07XG5cbiAgICAgICAgICBpZiAoZGlzcGxheVR5cGUgJiYgZGF0YSkge1xuICAgICAgICAgICAgdmNSZWYuY2xlYXIoKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlOiBDb21wb25lbnRSZWY8RGlzcGxheUNvbXBvbmVudD4gPSB2Y1JlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgICAgIGRpc3BsYXlUeXBlLmRpc3BsYXlDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5zZXRJbnB1dCgnZGlzcGxheVR5cGVLZXknLCBjb25maWd1cmF0aW9uLmRpc3BsYXlUeXBlKTtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNldElucHV0KCdkaXNwbGF5VHlwZVByb3BlcnRpZXMnLCB7XG4gICAgICAgICAgICAgIC4uLmNvbmZpZ3VyYXRpb24uZGlzcGxheVR5cGVQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNldElucHV0KFxuICAgICAgICAgICAgICAnZGF0YScsXG4gICAgICAgICAgICAgIGRhdGEuZmluZChkYXRhSXRlbSA9PiBkYXRhSXRlbS5rZXkgPT09IGNvbmZpZ3VyYXRpb24ua2V5KT8uZGF0YVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0TXV1cmkoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl93aWRnZXRDb250YWluZXJSZWYgfHwgdGhpcy5fY3JlYXRpbmdNdXVyaSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fY3JlYXRpbmdNdXVyaSA9IHRydWU7XG5cbiAgICB0aGlzLmxheW91dFNlcnZpY2Uuc2V0TXV1cmkoXG4gICAgICBuZXcgTXV1cmkodGhpcy5fd2lkZ2V0Q29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgZmlsbEdhcHM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxheW91dE9uUmVzaXplOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuX2NyZWF0aW5nTXV1cmkgPSBmYWxzZTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwie2xvYWRlZDogbG9hZGVkJCB8IGFzeW5jfSBhcyBvYnNcIj5cbiAgPGRpdiAqbmdJZj1cIiFvYnMubG9hZGVkXCIgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgIDxjZHMtbG9hZGluZz48L2Nkcy1sb2FkaW5nPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2XG4gICN3aWRnZXRDb250YWluZXJcbiAgY2xhc3M9XCJ3aWRnZXQtY29udGFpbmVyXCJcbiAgW25nQ2xhc3NdPVwieyd3aWRnZXQtY29udGFpbmVyX192aXNpYmxlJzogbG9hZGVkJCB8IGFzeW5jfVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXRDb25maWd1cmF0aW9ucyQgfCBhc3luYyBhcyB3aWRnZXRDb25maWd1cmF0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbmZpZyBvZiB3aWRnZXRDb25maWd1cmF0aW9uc1wiPlxuICAgICAgPGRpdiAjd2lkZ2V0Q29uZmlndXJhdGlvbiBbaWRdPVwiY29uZmlnLmtleVwiIGNsYXNzPVwid2lkZ2V0LWNvbmZpZ3VyYXRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndpZGdldC1jb25maWd1cmF0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICN3aWRnZXRDb25maWd1cmF0aW9uQ29udGVudD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx2YWx0aW1vLW5vLXJlc3VsdHNcbiAgICAgICpuZ0lmPVwiIXdpZGdldENvbmZpZ3VyYXRpb25zLmxlbmd0aFwiXG4gICAgICBbdGl0bGVdPVwiJ2Rhc2hib2FyZC5ub1dpZGdldHMnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtkZXNjcmlwdGlvbl09XCInZGFzaGJvYXJkLm5vV2lkZ2V0c0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBpbGx1c3RyYXRpb249XCJ2YWx0aW1vLWxheW91dC9pbWcvbm8td2lkZ2V0cy5zdmdcIlxuICAgID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2015-2023 Ritense BV, the Netherlands.
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
3
  *
4
4
  * Licensed under EUPL, Version 1.2 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
16
16
  const DATA_FEATURES = {
17
17
  NUMBER: 'number',
18
18
  TOTAL: 'total',
19
+ NUMBERS: 'numbers',
19
20
  };
20
21
  export { DATA_FEATURES };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mZWF0dXJlcy5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbnN0YW50cy9kYXRhLWZlYXR1cmVzLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEtBQUssRUFBRSxPQUFPO0NBQ2YsQ0FBQztBQUVGLE9BQU8sRUFBQyxhQUFhLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmNvbnN0IERBVEFfRkVBVFVSRVMgPSB7XG4gIE5VTUJFUjogJ251bWJlcicsXG4gIFRPVEFMOiAndG90YWwnLFxufTtcblxuZXhwb3J0IHtEQVRBX0ZFQVRVUkVTfTtcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mZWF0dXJlcy5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbnN0YW50cy9kYXRhLWZlYXR1cmVzLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7Q0FDbkIsQ0FBQztBQUVGLE9BQU8sRUFBQyxhQUFhLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmNvbnN0IERBVEFfRkVBVFVSRVMgPSB7XG4gIE5VTUJFUjogJ251bWJlcicsXG4gIFRPVEFMOiAndG90YWwnLFxuICBOVU1CRVJTOiAnbnVtYmVycycsXG59O1xuXG5leHBvcnQge0RBVEFfRkVBVFVSRVN9O1xuIl19
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2015-2023 Ritense BV, the Netherlands.
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
3
  *
4
4
  * Licensed under EUPL, Version 1.2 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -16,4 +16,4 @@
16
16
  export * from './data-features.constants';
17
17
  export * from './injection-tokens';
18
18
  export * from './layout.constants';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbnN0YW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWZlYXR1cmVzLmNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdGlvbi10b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQuY29uc3RhbnRzJztcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rhc2hib2FyZC9zcmMvbGliL2NvbnN0YW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWZlYXR1cmVzLmNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdGlvbi10b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQuY29uc3RhbnRzJztcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2015-2023 Ritense BV, the Netherlands.
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
3
  *
4
4
  * Licensed under EUPL, Version 1.2 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -17,4 +17,4 @@ import { InjectionToken } from '@angular/core';
17
17
  const DISPLAY_TYPE_TOKEN = new InjectionToken('Supported display types');
18
18
  const DATA_SOURCE_TOKEN = new InjectionToken('Supported data sources');
19
19
  export { DISPLAY_TYPE_TOKEN, DATA_SOURCE_TOKEN };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29uc3RhbnRzL2luamVjdGlvbi10b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQzNDLHlCQUF5QixDQUMxQixDQUFDO0FBRUYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDMUMsd0JBQXdCLENBQ3pCLENBQUM7QUFFRixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhU291cmNlU3BlY2lmaWNhdGlvbiwgRGlzcGxheVR5cGVTcGVjaWZpY2F0aW9ufSBmcm9tICcuLi9tb2RlbHMnO1xuXG5jb25zdCBESVNQTEFZX1RZUEVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48RGlzcGxheVR5cGVTcGVjaWZpY2F0aW9uIHwgbnVsbD4oXG4gICdTdXBwb3J0ZWQgZGlzcGxheSB0eXBlcydcbik7XG5cbmNvbnN0IERBVEFfU09VUkNFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPERhdGFTb3VyY2VTcGVjaWZpY2F0aW9uIHwgbnVsbD4oXG4gICdTdXBwb3J0ZWQgZGF0YSBzb3VyY2VzJ1xuKTtcblxuZXhwb3J0IHtESVNQTEFZX1RZUEVfVE9LRU4sIERBVEFfU09VUkNFX1RPS0VOfTtcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29uc3RhbnRzL2luamVjdGlvbi10b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQzNDLHlCQUF5QixDQUMxQixDQUFDO0FBRUYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDMUMsd0JBQXdCLENBQ3pCLENBQUM7QUFFRixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhU291cmNlU3BlY2lmaWNhdGlvbiwgRGlzcGxheVR5cGVTcGVjaWZpY2F0aW9ufSBmcm9tICcuLi9tb2RlbHMnO1xuXG5jb25zdCBESVNQTEFZX1RZUEVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48RGlzcGxheVR5cGVTcGVjaWZpY2F0aW9uIHwgbnVsbD4oXG4gICdTdXBwb3J0ZWQgZGlzcGxheSB0eXBlcydcbik7XG5cbmNvbnN0IERBVEFfU09VUkNFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPERhdGFTb3VyY2VTcGVjaWZpY2F0aW9uIHwgbnVsbD4oXG4gICdTdXBwb3J0ZWQgZGF0YSBzb3VyY2VzJ1xuKTtcblxuZXhwb3J0IHtESVNQTEFZX1RZUEVfVE9LRU4sIERBVEFfU09VUkNFX1RPS0VOfTtcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2015-2023 Ritense BV, the Netherlands.
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
3
  *
4
4
  * Licensed under EUPL, Version 1.2 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -16,4 +16,4 @@
16
16
  const WIDGET_1X_HEIGHT = 220;
17
17
  const WIDGET_1X_MIN_WIDTH = 275;
18
18
  export { WIDGET_1X_HEIGHT, WIDGET_1X_MIN_WIDTH };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29uc3RhbnRzL2xheW91dC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUM3QixNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztBQUVoQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmNvbnN0IFdJREdFVF8xWF9IRUlHSFQgPSAyMjA7XG5jb25zdCBXSURHRVRfMVhfTUlOX1dJRFRIID0gMjc1O1xuXG5leHBvcnQge1dJREdFVF8xWF9IRUlHSFQsIFdJREdFVF8xWF9NSU5fV0lEVEh9O1xuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGFzaGJvYXJkL3NyYy9saWIvY29uc3RhbnRzL2xheW91dC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUM3QixNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztBQUVoQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmNvbnN0IFdJREdFVF8xWF9IRUlHSFQgPSAyMjA7XG5jb25zdCBXSURHRVRfMVhfTUlOX1dJRFRIID0gMjc1O1xuXG5leHBvcnQge1dJREdFVF8xWF9IRUlHSFQsIFdJREdFVF8xWF9NSU5fV0lEVEh9O1xuIl19
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2015-2023 Ritense BV, the Netherlands.
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
3
  *
4
4
  * Licensed under EUPL, Version 1.2 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -30,11 +30,11 @@ const routes = [
30
30
  },
31
31
  ];
32
32
  export class DashboardRoutingModule {
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
34
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DashboardRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] }); }
35
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
34
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: DashboardRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] }); }
35
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardRoutingModule, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DashboardRoutingModule, decorators: [{
38
38
  type: NgModule,
39
39
  args: [{
40
40
  declarations: [],
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
42
42
  exports: [RouterModule],
43
43
  }]
44
44
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kYXNoYm9hcmQvc3JjL2xpYi9kYXNoYm9hcmQtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDOzs7QUFFbEcsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSx3QkFBd0I7UUFDbkMsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDL0IsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFDO0tBQ3BFO0NBQ0YsQ0FBQztBQU9GLE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLFlBSHZCLFlBQVksOEJBQ1osWUFBWTtnSEFFWCxzQkFBc0IsWUFIdkIsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzNDLFlBQVk7OzRGQUVYLHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlLCBSb3V0ZXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1JPTEVfVVNFUn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7QXV0aEd1YXJkU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vc2VjdXJpdHknO1xuaW1wb3J0IHtXaWRnZXREYXNoYm9hcmRDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IFdpZGdldERhc2hib2FyZENvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGRhdGE6IHt0aXRsZTogJ0Rhc2hib2FyZCcsIHJvbGVzOiBbUk9MRV9VU0VSXSwgaGlkZVBhZ2VUaXRsZTogdHJ1ZX0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kYXNoYm9hcmQvc3JjL2xpYi9kYXNoYm9hcmQtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDOzs7QUFFbEcsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSx3QkFBd0I7UUFDbkMsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7UUFDL0IsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFDO0tBQ3BFO0NBQ0YsQ0FBQztBQU9GLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjsrR0FBdEIsc0JBQXNCLFlBSHZCLFlBQVksOEJBQ1osWUFBWTsrR0FFWCxzQkFBc0IsWUFIdkIsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzNDLFlBQVk7OzJGQUVYLHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlLCBSb3V0ZXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1JPTEVfVVNFUn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7QXV0aEd1YXJkU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vc2VjdXJpdHknO1xuaW1wb3J0IHtXaWRnZXREYXNoYm9hcmRDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXQtZGFzaGJvYXJkL3dpZGdldC1kYXNoYm9hcmQuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IFdpZGdldERhc2hib2FyZENvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGRhdGE6IHt0aXRsZTogJ0Rhc2hib2FyZCcsIHJvbGVzOiBbUk9MRV9VU0VSXSwgaGlkZVBhZ2VUaXRsZTogdHJ1ZX0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRSb3V0aW5nTW9kdWxlIHt9XG4iXX0=