@igo2/integration 1.15.3 → 16.0.0-rc.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 (275) hide show
  1. package/{esm2020 → esm2022}/igo2-integration.mjs +4 -4
  2. package/esm2022/lib/about/about-tool/about-tool.component.mjs +205 -0
  3. package/{esm2020 → esm2022}/lib/about/about-tool/index.mjs +2 -2
  4. package/{esm2020 → esm2022}/lib/about/about.module.mjs +55 -55
  5. package/{esm2020 → esm2022}/lib/about/index.mjs +2 -2
  6. package/esm2022/lib/analytics/analytics-listener.service.mjs +156 -0
  7. package/{esm2020 → esm2022}/lib/analytics/analytics.module.mjs +16 -16
  8. package/{esm2020 → esm2022}/lib/analytics/index.mjs +2 -2
  9. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +133 -0
  10. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +24 -0
  11. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +103 -0
  12. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +24 -0
  13. package/esm2022/lib/catalog/catalog.module.mjs +19 -0
  14. package/esm2022/lib/catalog/catalog.state.mjs +58 -0
  15. package/{esm2020 → esm2022}/lib/catalog/index.mjs +6 -6
  16. package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +36 -0
  17. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +51 -0
  18. package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +24 -0
  19. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +43 -0
  20. package/{esm2020 → esm2022}/lib/context/context.module.mjs +39 -39
  21. package/esm2022/lib/context/context.state.mjs +96 -0
  22. package/{esm2020 → esm2022}/lib/context/index.mjs +6 -6
  23. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +116 -0
  24. package/{esm2020 → esm2022}/lib/directions/directions-tool/index.mjs +2 -2
  25. package/{esm2020 → esm2022}/lib/directions/directions.module.mjs +26 -26
  26. package/esm2022/lib/directions/directions.state.mjs +69 -0
  27. package/{esm2020 → esm2022}/lib/directions/index.mjs +3 -3
  28. package/esm2022/lib/draw/draw.module.mjs +18 -0
  29. package/esm2022/lib/draw/draw.state.mjs +42 -0
  30. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +77 -0
  31. package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +23 -0
  32. package/{esm2020 → esm2022}/lib/draw/index.mjs +3 -3
  33. package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +10 -10
  34. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +46 -0
  35. package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/index.mjs +2 -2
  36. package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +10 -10
  37. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +46 -0
  38. package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/index.mjs +2 -2
  39. package/{esm2020 → esm2022}/lib/filter/filter.module.mjs +51 -51
  40. package/{esm2020 → esm2022}/lib/filter/index.mjs +6 -6
  41. package/{esm2020 → esm2022}/lib/filter/ogc-filter-tool/index.mjs +2 -2
  42. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +25 -0
  43. package/{esm2020 → esm2022}/lib/filter/spatial-filter-tool/index.mjs +2 -2
  44. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +605 -0
  45. package/{esm2020 → esm2022}/lib/filter/time-filter-tool/index.mjs +2 -2
  46. package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +25 -0
  47. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +154 -0
  48. package/{esm2020 → esm2022}/lib/import-export/import-export-tool/index.mjs +2 -2
  49. package/{esm2020 → esm2022}/lib/import-export/import-export.module.mjs +51 -51
  50. package/esm2022/lib/import-export/import-export.state.mjs +39 -0
  51. package/{esm2020 → esm2022}/lib/import-export/index.mjs +3 -3
  52. package/{esm2020 → esm2022}/lib/integration.module.mjs +72 -72
  53. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +524 -0
  54. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +92 -0
  55. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +231 -0
  56. package/{esm2020 → esm2022}/lib/map/advanced-map-tool/index.mjs +2 -2
  57. package/{esm2020 → esm2022}/lib/map/index.mjs +9 -9
  58. package/esm2022/lib/map/layer-list-tool.state.mjs +40 -0
  59. package/{esm2020 → esm2022}/lib/map/map-details-tool/index.mjs +2 -2
  60. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +269 -0
  61. package/{esm2020 → esm2022}/lib/map/map-legend/index.mjs +2 -2
  62. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +285 -0
  63. package/{esm2020 → esm2022}/lib/map/map-proximity-tool/index.mjs +2 -2
  64. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +220 -0
  65. package/esm2022/lib/map/map-proximity.state.mjs +180 -0
  66. package/{esm2020 → esm2022}/lib/map/map-tool/index.mjs +2 -2
  67. package/esm2022/lib/map/map-tool/map-tool.component.mjs +140 -0
  68. package/{esm2020 → esm2022}/lib/map/map-tools/index.mjs +2 -2
  69. package/esm2022/lib/map/map-tools/map-tools.component.mjs +521 -0
  70. package/esm2022/lib/map/map.module.mjs +168 -0
  71. package/esm2022/lib/map/map.state.mjs +56 -0
  72. package/{esm2020 → esm2022}/lib/measure/index.mjs +4 -4
  73. package/esm2022/lib/measure/measure.module.mjs +18 -0
  74. package/esm2022/lib/measure/measure.state.mjs +40 -0
  75. package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +54 -0
  76. package/{esm2020 → esm2022}/lib/measure/measurer-tool/measurer-tool.module.mjs +23 -25
  77. package/{esm2020 → esm2022}/lib/print/index.mjs +2 -2
  78. package/{esm2020 → esm2022}/lib/print/print-tool/index.mjs +2 -2
  79. package/esm2022/lib/print/print-tool/print-tool.component.mjs +35 -0
  80. package/{esm2020 → esm2022}/lib/print/print.module.mjs +26 -26
  81. package/{esm2020 → esm2022}/lib/search/index.mjs +7 -7
  82. package/esm2022/lib/search/query.state.mjs +48 -0
  83. package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +72 -0
  84. package/{esm2020 → esm2022}/lib/search/search-bar/search-bar.module.mjs +22 -22
  85. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +631 -0
  86. package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +65 -0
  87. package/esm2022/lib/search/search.module.mjs +19 -0
  88. package/esm2022/lib/search/search.state.mjs +145 -0
  89. package/{esm2020 → esm2022}/lib/storage/index.mjs +2 -2
  90. package/{esm2020 → esm2022}/lib/storage/storage.module.mjs +16 -16
  91. package/esm2022/lib/storage/storage.state.mjs +25 -0
  92. package/{esm2020 → esm2022}/lib/tool/index.mjs +2 -2
  93. package/{esm2020 → esm2022}/lib/tool/tool.module.mjs +16 -16
  94. package/esm2022/lib/tool/tool.state.mjs +56 -0
  95. package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
  96. package/esm2022/lib/workspace/shared/edition-actions.service.mjs +74 -0
  97. package/esm2022/lib/workspace/shared/feature-actions.service.mjs +66 -0
  98. package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +3 -3
  99. package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +76 -0
  100. package/esm2022/lib/workspace/shared/workspace.utils.mjs +162 -0
  101. package/{esm2020 → esm2022}/lib/workspace/workspace-button/index.mjs +2 -2
  102. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +76 -0
  103. package/esm2022/lib/workspace/workspace.module.mjs +38 -0
  104. package/esm2022/lib/workspace/workspace.state.mjs +204 -0
  105. package/{esm2020 → esm2022}/public_api.mjs +34 -34
  106. package/{fesm2020 → fesm2022}/igo2-integration.mjs +6522 -6139
  107. package/fesm2022/igo2-integration.mjs.map +1 -0
  108. package/index.d.ts +5 -5
  109. package/lib/about/about-tool/about-tool.component.d.ts +34 -34
  110. package/lib/about/about-tool/index.d.ts +1 -1
  111. package/lib/about/about.module.d.ts +16 -16
  112. package/lib/about/index.d.ts +1 -1
  113. package/lib/analytics/analytics-listener.service.d.ts +33 -33
  114. package/lib/analytics/analytics.module.d.ts +6 -6
  115. package/lib/analytics/index.d.ts +1 -1
  116. package/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.d.ts +57 -57
  117. package/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.d.ts +12 -12
  118. package/lib/catalog/catalog-library-tool/catalog-library-tool.component.d.ts +50 -50
  119. package/lib/catalog/catalog-library-tool/catalog-library-tool.module.d.ts +12 -12
  120. package/lib/catalog/catalog.module.d.ts +8 -8
  121. package/lib/catalog/catalog.state.d.ts +37 -37
  122. package/lib/catalog/index.d.ts +5 -5
  123. package/lib/context/context-editor-tool/context-editor-tool.component.d.ts +9 -9
  124. package/lib/context/context-manager-tool/context-manager-tool.component.d.ts +15 -15
  125. package/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.d.ts +5 -5
  126. package/lib/context/context-share-tool/context-share-tool.component.d.ts +13 -13
  127. package/lib/context/context.module.d.ts +11 -11
  128. package/lib/context/context.state.d.ts +37 -37
  129. package/lib/context/index.d.ts +5 -5
  130. package/lib/directions/directions-tool/directions-tool.component.d.ts +54 -54
  131. package/lib/directions/directions-tool/index.d.ts +1 -1
  132. package/lib/directions/directions.module.d.ts +10 -10
  133. package/lib/directions/directions.state.d.ts +28 -28
  134. package/lib/directions/index.d.ts +2 -2
  135. package/lib/draw/draw.module.d.ts +8 -8
  136. package/lib/draw/draw.state.d.ts +16 -16
  137. package/lib/draw/drawing-tool/drawing-tool.component.d.ts +31 -31
  138. package/lib/draw/drawing-tool/drawing-tool.module.d.ts +11 -0
  139. package/lib/draw/index.d.ts +2 -2
  140. package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.d.ts +2 -2
  141. package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.d.ts +12 -12
  142. package/lib/filter/active-ogc-filter-tool/index.d.ts +1 -1
  143. package/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.d.ts +2 -2
  144. package/lib/filter/active-time-filter-tool/active-time-filter-tool.component.d.ts +12 -12
  145. package/lib/filter/active-time-filter-tool/index.d.ts +1 -1
  146. package/lib/filter/filter.module.d.ts +15 -15
  147. package/lib/filter/index.d.ts +5 -5
  148. package/lib/filter/ogc-filter-tool/index.d.ts +1 -1
  149. package/lib/filter/ogc-filter-tool/ogc-filter-tool.component.d.ts +6 -6
  150. package/lib/filter/spatial-filter-tool/index.d.ts +1 -1
  151. package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +82 -82
  152. package/lib/filter/time-filter-tool/index.d.ts +1 -1
  153. package/lib/filter/time-filter-tool/time-filter-tool.component.d.ts +6 -6
  154. package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +33 -33
  155. package/lib/import-export/import-export-tool/index.d.ts +1 -1
  156. package/lib/import-export/import-export.module.d.ts +15 -15
  157. package/lib/import-export/import-export.state.d.ts +24 -24
  158. package/lib/import-export/index.d.ts +2 -2
  159. package/lib/integration.module.d.ts +20 -20
  160. package/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.d.ts +97 -97
  161. package/lib/map/advanced-map-tool/advanced-map-tool.component.d.ts +12 -12
  162. package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +65 -65
  163. package/lib/map/advanced-map-tool/index.d.ts +1 -1
  164. package/lib/map/index.d.ts +8 -8
  165. package/lib/map/layer-list-tool.state.d.ts +19 -19
  166. package/lib/map/map-details-tool/index.d.ts +1 -1
  167. package/lib/map/map-details-tool/map-details-tool.component.d.ts +38 -38
  168. package/lib/map/map-legend/index.d.ts +1 -1
  169. package/lib/map/map-legend/map-legend-tool.component.d.ts +40 -40
  170. package/lib/map/map-proximity-tool/index.d.ts +1 -1
  171. package/lib/map/map-proximity-tool/map-proximity-tool.component.d.ts +36 -36
  172. package/lib/map/map-proximity.state.d.ts +31 -31
  173. package/lib/map/map-tool/index.d.ts +1 -1
  174. package/lib/map/map-tool/map-tool.component.d.ts +27 -27
  175. package/lib/map/map-tools/index.d.ts +1 -1
  176. package/lib/map/map-tools/map-tools.component.d.ts +66 -66
  177. package/lib/map/map.module.d.ts +38 -38
  178. package/lib/map/map.state.d.ts +24 -24
  179. package/lib/measure/index.d.ts +3 -3
  180. package/lib/measure/measure.module.d.ts +7 -7
  181. package/lib/measure/measure.state.d.ts +16 -16
  182. package/lib/measure/measurer-tool/measurer-tool.component.d.ts +24 -24
  183. package/lib/measure/measurer-tool/measurer-tool.module.d.ts +11 -11
  184. package/lib/print/index.d.ts +1 -1
  185. package/lib/print/print-tool/index.d.ts +1 -1
  186. package/lib/print/print-tool/print-tool.component.d.ts +10 -10
  187. package/lib/print/print.module.d.ts +10 -10
  188. package/lib/search/index.d.ts +6 -6
  189. package/lib/search/query.state.d.ts +26 -20
  190. package/lib/search/search-bar/search-bar-binding.directive.d.ts +20 -20
  191. package/lib/search/search-bar/search-bar.module.d.ts +11 -11
  192. package/lib/search/search-results-tool/search-results-tool.component.d.ts +100 -100
  193. package/lib/search/search-results-tool/search-results-tool.module.d.ts +18 -18
  194. package/lib/search/search.module.d.ts +8 -8
  195. package/lib/search/search.state.d.ts +62 -60
  196. package/lib/storage/index.d.ts +1 -1
  197. package/lib/storage/storage.module.d.ts +6 -6
  198. package/lib/storage/storage.state.d.ts +12 -12
  199. package/lib/tool/index.d.ts +1 -1
  200. package/lib/tool/tool.module.d.ts +6 -6
  201. package/lib/tool/tool.state.d.ts +22 -22
  202. package/lib/workspace/index.d.ts +3 -3
  203. package/lib/workspace/shared/edition-actions.service.d.ts +28 -26
  204. package/lib/workspace/shared/feature-actions.service.d.ts +27 -25
  205. package/lib/workspace/shared/index.d.ts +2 -2
  206. package/lib/workspace/shared/wfs-actions.service.d.ts +29 -27
  207. package/lib/workspace/shared/workspace.utils.d.ts +9 -2
  208. package/lib/workspace/workspace-button/index.d.ts +1 -1
  209. package/lib/workspace/workspace-button/workspace-button.component.d.ts +21 -21
  210. package/lib/workspace/workspace.module.d.ts +12 -12
  211. package/lib/workspace/workspace.state.d.ts +63 -63
  212. package/locale/en.integration.json +126 -0
  213. package/locale/fr.integration.json +126 -0
  214. package/package.json +14 -18
  215. package/public_api.d.ts +31 -31
  216. package/esm2020/lib/about/about-tool/about-tool.component.mjs +0 -185
  217. package/esm2020/lib/analytics/analytics-listener.service.mjs +0 -127
  218. package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +0 -113
  219. package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +0 -29
  220. package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +0 -89
  221. package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +0 -29
  222. package/esm2020/lib/catalog/catalog.module.mjs +0 -24
  223. package/esm2020/lib/catalog/catalog.state.mjs +0 -54
  224. package/esm2020/lib/context/context-editor-tool/context-editor-tool.component.mjs +0 -34
  225. package/esm2020/lib/context/context-manager-tool/context-manager-tool.component.mjs +0 -44
  226. package/esm2020/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +0 -25
  227. package/esm2020/lib/context/context-share-tool/context-share-tool.component.mjs +0 -34
  228. package/esm2020/lib/context/context.state.mjs +0 -88
  229. package/esm2020/lib/directions/directions-tool/directions-tool.component.mjs +0 -84
  230. package/esm2020/lib/directions/directions.state.mjs +0 -64
  231. package/esm2020/lib/draw/draw.module.mjs +0 -21
  232. package/esm2020/lib/draw/draw.state.mjs +0 -39
  233. package/esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs +0 -72
  234. package/esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +0 -44
  235. package/esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +0 -44
  236. package/esm2020/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +0 -25
  237. package/esm2020/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +0 -535
  238. package/esm2020/lib/filter/time-filter-tool/time-filter-tool.component.mjs +0 -25
  239. package/esm2020/lib/import-export/import-export-tool/import-export-tool.component.mjs +0 -141
  240. package/esm2020/lib/import-export/import-export.state.mjs +0 -41
  241. package/esm2020/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +0 -472
  242. package/esm2020/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +0 -89
  243. package/esm2020/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +0 -218
  244. package/esm2020/lib/map/layer-list-tool.state.mjs +0 -42
  245. package/esm2020/lib/map/map-details-tool/map-details-tool.component.mjs +0 -256
  246. package/esm2020/lib/map/map-legend/map-legend-tool.component.mjs +0 -275
  247. package/esm2020/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +0 -203
  248. package/esm2020/lib/map/map-proximity.state.mjs +0 -167
  249. package/esm2020/lib/map/map-tool/map-tool.component.mjs +0 -130
  250. package/esm2020/lib/map/map-tools/map-tools.component.mjs +0 -495
  251. package/esm2020/lib/map/map.module.mjs +0 -144
  252. package/esm2020/lib/map/map.state.mjs +0 -47
  253. package/esm2020/lib/measure/measure.module.mjs +0 -20
  254. package/esm2020/lib/measure/measure.state.mjs +0 -35
  255. package/esm2020/lib/measure/measurer-tool/measurer-tool.component.mjs +0 -45
  256. package/esm2020/lib/print/print-tool/print-tool.component.mjs +0 -33
  257. package/esm2020/lib/search/query.state.mjs +0 -34
  258. package/esm2020/lib/search/search-bar/search-bar-binding.directive.mjs +0 -61
  259. package/esm2020/lib/search/search-results-tool/search-results-tool.component.mjs +0 -593
  260. package/esm2020/lib/search/search-results-tool/search-results-tool.module.mjs +0 -65
  261. package/esm2020/lib/search/search.module.mjs +0 -24
  262. package/esm2020/lib/search/search.state.mjs +0 -132
  263. package/esm2020/lib/storage/storage.state.mjs +0 -23
  264. package/esm2020/lib/tool/tool.state.mjs +0 -52
  265. package/esm2020/lib/workspace/shared/edition-actions.service.mjs +0 -156
  266. package/esm2020/lib/workspace/shared/feature-actions.service.mjs +0 -144
  267. package/esm2020/lib/workspace/shared/wfs-actions.service.mjs +0 -158
  268. package/esm2020/lib/workspace/shared/workspace.utils.mjs +0 -7
  269. package/esm2020/lib/workspace/workspace-button/workspace-button.component.mjs +0 -69
  270. package/esm2020/lib/workspace/workspace.module.mjs +0 -37
  271. package/esm2020/lib/workspace/workspace.state.mjs +0 -188
  272. package/fesm2015/igo2-integration.mjs +0 -6759
  273. package/fesm2015/igo2-integration.mjs.map +0 -1
  274. package/fesm2020/igo2-integration.mjs.map +0 -1
  275. package/ngcc.config.js +0 -3
@@ -0,0 +1,285 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, Input, ChangeDetectorRef } from '@angular/core';
3
+ import { BehaviorSubject, ReplaySubject, combineLatest } from 'rxjs';
4
+ import { map, debounceTime } from 'rxjs/operators';
5
+ import { ToolComponent } from '@igo2/common';
6
+ import { SearchSourceService, sourceCanSearch } from '@igo2/geo';
7
+ import { ToolState } from './../../tool/tool.state';
8
+ import { MapState } from './../map.state';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./../map.state";
11
+ import * as i2 from "./../../tool/tool.state";
12
+ import * as i3 from "@igo2/geo";
13
+ import * as i4 from "@angular/common";
14
+ import * as i5 from "@angular/material/list";
15
+ import * as i6 from "@angular/material/icon";
16
+ import * as i7 from "@ngx-translate/core";
17
+ function MapLegendToolComponent_igo_layer_legend_list_0_Template(rf, ctx) { if (rf & 1) {
18
+ const _r6 = i0.ɵɵgetCurrentView();
19
+ i0.ɵɵelementStart(0, "igo-layer-legend-list", 4);
20
+ i0.ɵɵlistener("allLegendsShown", function MapLegendToolComponent_igo_layer_legend_list_0_Template_igo_layer_legend_list_allLegendsShown_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.onShowAllLegends($event)); });
21
+ i0.ɵɵpipe(1, "async");
22
+ i0.ɵɵelementEnd();
23
+ } if (rf & 2) {
24
+ const ctx_r0 = i0.ɵɵnextContext();
25
+ i0.ɵɵproperty("excludeBaseLayers", ctx_r0.excludeBaseLayers)("allowShowAllLegends", ctx_r0.allowShowAllLegends)("updateLegendOnResolutionChange", ctx_r0.updateLegendOnResolutionChange)("showAllLegendsValue", i0.ɵɵpipeBind1(1, 4, ctx_r0.showAllLegendsValue$));
26
+ } }
27
+ function MapLegendToolComponent_1_ng_template_0_Template(rf, ctx) { }
28
+ function MapLegendToolComponent_1_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵtemplate(0, MapLegendToolComponent_1_ng_template_0_Template, 0, 0, "ng-template");
30
+ } }
31
+ function MapLegendToolComponent_p_3_Template(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵelementStart(0, "p", 5);
33
+ i0.ɵɵtext(1);
34
+ i0.ɵɵpipe(2, "async");
35
+ i0.ɵɵpipe(3, "translate");
36
+ i0.ɵɵpipe(4, "translate");
37
+ i0.ɵɵelementEnd();
38
+ } if (rf & 2) {
39
+ const ctx_r2 = i0.ɵɵnextContext();
40
+ i0.ɵɵadvance(1);
41
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r2.visibleLayers$).length ? i0.ɵɵpipeBind1(3, 3, "igo.integration.mapTool.noLayersInRange") : i0.ɵɵpipeBind1(4, 5, "igo.integration.mapTool.noLayersVisible"), "\n");
42
+ } }
43
+ function MapLegendToolComponent_ng_template_6_mat_list_0_p_4_Template(rf, ctx) { if (rf & 1) {
44
+ i0.ɵɵelementStart(0, "p", 5);
45
+ i0.ɵɵtext(1);
46
+ i0.ɵɵpipe(2, "translate");
47
+ i0.ɵɵelementEnd();
48
+ } if (rf & 2) {
49
+ i0.ɵɵadvance(1);
50
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "igo.integration.mapTool.customize"), " ");
51
+ } }
52
+ function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_5_Template(rf, ctx) { if (rf & 1) {
53
+ const _r14 = i0.ɵɵgetCurrentView();
54
+ i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 7);
55
+ i0.ɵɵnamespaceSVG();
56
+ i0.ɵɵelementStart(2, "svg", 8);
57
+ i0.ɵɵelement(3, "path", 9);
58
+ i0.ɵɵelementEnd()();
59
+ i0.ɵɵnamespaceHTML();
60
+ i0.ɵɵelementStart(4, "span", 10);
61
+ i0.ɵɵlistener("click", function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_5_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r13.searchEmit()); });
62
+ i0.ɵɵtext(5);
63
+ i0.ɵɵpipe(6, "translate");
64
+ i0.ɵɵelementEnd()();
65
+ } if (rf & 2) {
66
+ i0.ɵɵadvance(5);
67
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.search-tool"), " ");
68
+ } }
69
+ function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_6_Template(rf, ctx) { if (rf & 1) {
70
+ const _r16 = i0.ɵɵgetCurrentView();
71
+ i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 7);
72
+ i0.ɵɵnamespaceSVG();
73
+ i0.ɵɵelementStart(2, "svg", 8);
74
+ i0.ɵɵelement(3, "path", 11);
75
+ i0.ɵɵelementEnd()();
76
+ i0.ɵɵnamespaceHTML();
77
+ i0.ɵɵelementStart(4, "span", 12);
78
+ i0.ɵɵlistener("click", function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_6_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r15.catalogEmit()); });
79
+ i0.ɵɵtext(5);
80
+ i0.ɵɵpipe(6, "translate");
81
+ i0.ɵɵelementEnd()();
82
+ } if (rf & 2) {
83
+ i0.ɵɵadvance(5);
84
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.catalog-tool"), " ");
85
+ } }
86
+ function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_7_Template(rf, ctx) { if (rf & 1) {
87
+ const _r18 = i0.ɵɵgetCurrentView();
88
+ i0.ɵɵelementStart(0, "mat-list-item")(1, "mat-icon", 7);
89
+ i0.ɵɵnamespaceSVG();
90
+ i0.ɵɵelementStart(2, "svg", 8);
91
+ i0.ɵɵelement(3, "path", 13);
92
+ i0.ɵɵelementEnd()();
93
+ i0.ɵɵnamespaceHTML();
94
+ i0.ɵɵelementStart(4, "span", 14);
95
+ i0.ɵɵlistener("click", function MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_7_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r17.contextEmit()); });
96
+ i0.ɵɵtext(5);
97
+ i0.ɵɵpipe(6, "translate");
98
+ i0.ɵɵelementEnd()();
99
+ } if (rf & 2) {
100
+ i0.ɵɵadvance(5);
101
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 1, "igo.integration.mapTool.context-tool"), " ");
102
+ } }
103
+ function MapLegendToolComponent_ng_template_6_mat_list_0_Template(rf, ctx) { if (rf & 1) {
104
+ i0.ɵɵelementStart(0, "mat-list")(1, "p", 5);
105
+ i0.ɵɵtext(2);
106
+ i0.ɵɵpipe(3, "translate");
107
+ i0.ɵɵelementEnd();
108
+ i0.ɵɵtemplate(4, MapLegendToolComponent_ng_template_6_mat_list_0_p_4_Template, 3, 3, "p", 2);
109
+ i0.ɵɵtemplate(5, MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_5_Template, 7, 3, "mat-list-item", 6);
110
+ i0.ɵɵtemplate(6, MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_6_Template, 7, 3, "mat-list-item", 6);
111
+ i0.ɵɵtemplate(7, MapLegendToolComponent_ng_template_6_mat_list_0_mat_list_item_7_Template, 7, 3, "mat-list-item", 6);
112
+ i0.ɵɵelementEnd();
113
+ } if (rf & 2) {
114
+ const ctx_r8 = i0.ɵɵnextContext(2);
115
+ i0.ɵɵadvance(2);
116
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.integration.mapTool.empty"), " ");
117
+ i0.ɵɵadvance(2);
118
+ i0.ɵɵproperty("ngIf", ctx_r8.layerAdditionAllowed && (ctx_r8.searchToolInToolbar || ctx_r8.catalogToolInToolbar || ctx_r8.contextToolInToolbar));
119
+ i0.ɵɵadvance(1);
120
+ i0.ɵɵproperty("ngIf", ctx_r8.layerAdditionAllowed && ctx_r8.searchToolInToolbar);
121
+ i0.ɵɵadvance(1);
122
+ i0.ɵɵproperty("ngIf", ctx_r8.layerAdditionAllowed && ctx_r8.catalogToolInToolbar);
123
+ i0.ɵɵadvance(1);
124
+ i0.ɵɵproperty("ngIf", ctx_r8.layerAdditionAllowed && ctx_r8.contextToolInToolbar);
125
+ } }
126
+ function MapLegendToolComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
127
+ i0.ɵɵtemplate(0, MapLegendToolComponent_ng_template_6_mat_list_0_Template, 8, 7, "mat-list", 6);
128
+ } if (rf & 2) {
129
+ const ctx_r4 = i0.ɵɵnextContext();
130
+ i0.ɵɵproperty("ngIf", ctx_r4.delayedShowEmptyMapContent);
131
+ } }
132
+ export let MapLegendToolComponent = class MapLegendToolComponent {
133
+ mapState;
134
+ toolState;
135
+ searchSourceService;
136
+ cdRef;
137
+ delayedShowEmptyMapContent = false;
138
+ layers$ = new BehaviorSubject([]);
139
+ showAllLegendsValue$ = new BehaviorSubject(false);
140
+ change$ = new ReplaySubject(1);
141
+ resolution$$;
142
+ visibleOrInRangeLayers$$;
143
+ updateLegendOnResolutionChange = false;
144
+ layerAdditionAllowed = true;
145
+ allowShowAllLegends = false;
146
+ showAllLegendsValue = false;
147
+ layerListControls = {};
148
+ get map() {
149
+ return this.mapState.map;
150
+ }
151
+ get visibleOrInRangeLayers$() {
152
+ return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.visible$.value && layer.isInResolutionsRange$.value)));
153
+ }
154
+ get visibleLayers$() {
155
+ return this.layers$.pipe(map((layers) => layers.filter((layer) => layer.visible$.value)));
156
+ }
157
+ get excludeBaseLayers() {
158
+ return this.layerListControls.excludeBaseLayers || false;
159
+ }
160
+ get searchToolInToolbar() {
161
+ return (this.toolState.toolbox.getToolbar().indexOf('searchResults') !== -1 &&
162
+ this.searchSourceService
163
+ .getSources()
164
+ .filter(sourceCanSearch)
165
+ .filter((s) => s.available && s.getType() === 'Layer').length > 0);
166
+ }
167
+ get catalogToolInToolbar() {
168
+ return this.toolState.toolbox.getToolbar().indexOf('catalog') !== -1;
169
+ }
170
+ get contextToolInToolbar() {
171
+ return this.toolState.toolbox.getToolbar().indexOf('contextManager') !== -1;
172
+ }
173
+ constructor(mapState, toolState, searchSourceService, cdRef) {
174
+ this.mapState = mapState;
175
+ this.toolState = toolState;
176
+ this.searchSourceService = searchSourceService;
177
+ this.cdRef = cdRef;
178
+ }
179
+ ngOnInit() {
180
+ this.resolution$$ = combineLatest([
181
+ this.map.layers$,
182
+ this.map.viewController.resolution$
183
+ ])
184
+ .pipe(debounceTime(10))
185
+ .subscribe((bunch) => {
186
+ this.layers$.next(bunch[0].filter((layer) => layer.showInLayerList !== false &&
187
+ (!this.excludeBaseLayers || !layer.baseLayer)));
188
+ });
189
+ if (this.allowShowAllLegends) {
190
+ this.mapState.showAllLegendsValue =
191
+ this.mapState.showAllLegendsValue !== undefined
192
+ ? this.mapState.showAllLegendsValue
193
+ : this.showAllLegendsValue || false;
194
+ this.showAllLegendsValue$.next(this.mapState.showAllLegendsValue);
195
+ }
196
+ else {
197
+ this.showAllLegendsValue$.next(false);
198
+ }
199
+ // prevent message to be shown too quickly. Waiting for layers
200
+ setTimeout(() => {
201
+ this.delayedShowEmptyMapContent = true;
202
+ this.cdRef.detectChanges();
203
+ }, 250);
204
+ }
205
+ onShowAllLegends(event) {
206
+ this.mapState.showAllLegendsValue = event;
207
+ this.showAllLegendsValue$.next(event);
208
+ }
209
+ showAllLegend() {
210
+ if (this.layers$.getValue().length === 0) {
211
+ return false;
212
+ }
213
+ else if (this.layers$.getValue().length !== 0 &&
214
+ this.allowShowAllLegends === false) {
215
+ let visibleOrInRangeLayers;
216
+ this.visibleOrInRangeLayers$$ = this.visibleOrInRangeLayers$.subscribe((value) => {
217
+ value.length === 0
218
+ ? (visibleOrInRangeLayers = false)
219
+ : (visibleOrInRangeLayers = true);
220
+ });
221
+ if (visibleOrInRangeLayers === false) {
222
+ return false;
223
+ }
224
+ }
225
+ return true;
226
+ }
227
+ ngOnDestroy() {
228
+ this.resolution$$.unsubscribe();
229
+ if (this.visibleOrInRangeLayers$$) {
230
+ this.visibleOrInRangeLayers$$.unsubscribe();
231
+ }
232
+ }
233
+ searchEmit() {
234
+ this.toolState.toolbox.activateTool('searchResults');
235
+ }
236
+ catalogEmit() {
237
+ this.toolState.toolbox.activateTool('catalog');
238
+ }
239
+ contextEmit() {
240
+ this.toolState.toolbox.activateTool('contextManager');
241
+ }
242
+ static ɵfac = function MapLegendToolComponent_Factory(t) { return new (t || MapLegendToolComponent)(i0.ɵɵdirectiveInject(i1.MapState), i0.ɵɵdirectiveInject(i2.ToolState), i0.ɵɵdirectiveInject(i3.SearchSourceService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
243
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapLegendToolComponent, selectors: [["igo-map-legend-tool"]], inputs: { updateLegendOnResolutionChange: "updateLegendOnResolutionChange", layerAdditionAllowed: "layerAdditionAllowed", allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue", layerListControls: "layerListControls" }, decls: 8, vars: 10, consts: [["igoLayerLegendListBinding", "", 3, "excludeBaseLayers", "allowShowAllLegends", "updateLegendOnResolutionChange", "showAllLegendsValue", "allLegendsShown", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["class", "map-empty mat-typography", 4, "ngIf"], ["emptyLayers", ""], ["igoLayerLegendListBinding", "", 3, "excludeBaseLayers", "allowShowAllLegends", "updateLegendOnResolutionChange", "showAllLegendsValue", "allLegendsShown"], [1, "map-empty", "mat-typography"], [4, "ngIf"], ["matListItemIcon", ""], ["viewBox", "0 0 24 24", "fit", "", "height", "100%", "width", "100%", "preserveAspectRatio", "xMidYMid meet", "focusable", "false"], ["d", "M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"], ["matListItemTitle", "", 1, "search-tool", "mat-typography", 3, "click"], ["d", "M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z"], ["matListItemTitle", "", 1, "catalog-tool", "mat-typography", 3, "click"], ["d", "M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"], ["matListItemTitle", "", 1, "context-tool", "mat-typography", 3, "click"]], template: function MapLegendToolComponent_Template(rf, ctx) { if (rf & 1) {
244
+ i0.ɵɵtemplate(0, MapLegendToolComponent_igo_layer_legend_list_0_Template, 2, 6, "igo-layer-legend-list", 0);
245
+ i0.ɵɵtemplate(1, MapLegendToolComponent_1_Template, 1, 0, null, 1);
246
+ i0.ɵɵpipe(2, "async");
247
+ i0.ɵɵtemplate(3, MapLegendToolComponent_p_3_Template, 5, 7, "p", 2);
248
+ i0.ɵɵpipe(4, "async");
249
+ i0.ɵɵpipe(5, "async");
250
+ i0.ɵɵtemplate(6, MapLegendToolComponent_ng_template_6_Template, 1, 1, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
251
+ } if (rf & 2) {
252
+ const _r3 = i0.ɵɵreference(7);
253
+ i0.ɵɵproperty("ngIf", ctx.showAllLegend());
254
+ i0.ɵɵadvance(1);
255
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 4, ctx.layers$).length !== 0)("ngIfElse", _r3);
256
+ i0.ɵɵadvance(2);
257
+ i0.ɵɵproperty("ngIf", !ctx.allowShowAllLegends && i0.ɵɵpipeBind1(4, 6, ctx.layers$).length !== 0 && i0.ɵɵpipeBind1(5, 8, ctx.visibleOrInRangeLayers$).length === 0);
258
+ } }, dependencies: [i4.NgIf, i5.MatList, i5.MatListItem, i5.MatListItemIcon, i5.MatListItemTitle, i6.MatIcon, i3.LayerLegendListComponent, i3.LayerLegendListBindingDirective, i4.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%] .map-empty[_ngcontent-%COMP%], [_nghost-%COMP%] .search-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .catalog-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .context-tool[_ngcontent-%COMP%]{margin:10px}[_nghost-%COMP%] .map-empty[_ngcontent-%COMP%]{text-align:justify}[_nghost-%COMP%] .search-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .catalog-tool[_ngcontent-%COMP%], [_nghost-%COMP%] .context-tool[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] mat-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{font-weight:700}[_nghost-%COMP%] mat-list-item[_ngcontent-%COMP%] .mdc-list-item__primary-text{font-size:smaller}[_nghost-%COMP%] mat-list.mat-mdc-list-base[_ngcontent-%COMP%] mat-list-item.mat-mdc-list-item[_ngcontent-%COMP%] div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}"] });
259
+ };
260
+ MapLegendToolComponent = __decorate([
261
+ ToolComponent({
262
+ name: 'mapLegend',
263
+ title: 'igo.integration.tools.legend',
264
+ icon: 'format-list-bulleted-type'
265
+ }),
266
+ __metadata("design:paramtypes", [MapState,
267
+ ToolState,
268
+ SearchSourceService,
269
+ ChangeDetectorRef])
270
+ ], MapLegendToolComponent);
271
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapLegendToolComponent, [{
272
+ type: Component,
273
+ args: [{ selector: 'igo-map-legend-tool', template: "<igo-layer-legend-list\r\n *ngIf=\"showAllLegend()\"\r\n igoLayerLegendListBinding\r\n [excludeBaseLayers]=\"excludeBaseLayers\"\r\n [allowShowAllLegends]=\"allowShowAllLegends\"\r\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\r\n [showAllLegendsValue]=\"showAllLegendsValue$ | async\"\r\n (allLegendsShown)=\"onShowAllLegends($event)\"\r\n>\r\n</igo-layer-legend-list>\r\n<ng-template\r\n *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\r\n></ng-template>\r\n\r\n<p\r\n class=\"map-empty mat-typography\"\r\n *ngIf=\"\r\n !allowShowAllLegends &&\r\n (layers$ | async).length !== 0 &&\r\n (visibleOrInRangeLayers$ | async).length === 0\r\n \"\r\n>\r\n {{\r\n (visibleLayers$ | async).length\r\n ? ('igo.integration.mapTool.noLayersInRange' | translate)\r\n : ('igo.integration.mapTool.noLayersVisible' | translate)\r\n }}\r\n</p>\r\n\r\n<ng-template #emptyLayers>\r\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\r\n <p class=\"map-empty mat-typography\">\r\n {{ 'igo.integration.mapTool.empty' | translate }}\r\n </p>\r\n <p\r\n *ngIf=\"\r\n layerAdditionAllowed &&\r\n (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\r\n \"\r\n class=\"map-empty mat-typography\"\r\n >\r\n {{ 'igo.integration.mapTool.customize' | translate }}\r\n </p>\r\n\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"search-tool mat-typography\"\r\n (click)=\"searchEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.search-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"catalog-tool mat-typography\"\r\n (click)=\"catalogEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.catalog-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\r\n <mat-icon matListItemIcon>\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fit=\"\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n preserveAspectRatio=\"xMidYMid meet\"\r\n focusable=\"false\"\r\n >\r\n <path\r\n d=\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"\r\n ></path></svg\r\n ></mat-icon>\r\n <span\r\n matListItemTitle\r\n class=\"context-tool mat-typography\"\r\n (click)=\"contextEmit()\"\r\n >\r\n {{ 'igo.integration.mapTool.context-tool' | translate }}\r\n </span>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [":host .map-empty,:host .search-tool,:host .catalog-tool,:host .context-tool{margin:10px}:host .map-empty{text-align:justify}:host .search-tool,:host .catalog-tool,:host .context-tool{cursor:pointer}:host mat-list mat-list-item h4{font-weight:700}:host mat-list-item ::ng-deep .mdc-list-item__primary-text{font-size:smaller}:host mat-list.mat-mdc-list-base mat-list-item.mat-mdc-list-item ::ng-deep div.mdc-list-item__content div.mdc-list-item__primary-text{padding-left:5px}\n"] }]
274
+ }], function () { return [{ type: i1.MapState }, { type: i2.ToolState }, { type: i3.SearchSourceService }, { type: i0.ChangeDetectorRef }]; }, { updateLegendOnResolutionChange: [{
275
+ type: Input
276
+ }], layerAdditionAllowed: [{
277
+ type: Input
278
+ }], allowShowAllLegends: [{
279
+ type: Input
280
+ }], showAllLegendsValue: [{
281
+ type: Input
282
+ }], layerListControls: [{
283
+ type: Input
284
+ }] }); })();
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC1sZWdlbmQvbWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC1sZWdlbmQvbWFwLWxlZ2VuZC10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGVBQWUsRUFDZixhQUFhLEVBQ2IsYUFBYSxFQUNkLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFJTCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNoQixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztJQzFCMUMsZ0RBUUM7SUFEQyw4TkFBbUIsZUFBQSwrQkFBd0IsQ0FBQSxJQUFDOztJQUU5QyxpQkFBd0I7OztJQU50Qiw0REFBdUMsbURBQUEseUVBQUEsMEVBQUE7Ozs7SUFPekMsc0ZBRWU7OztJQUVmLDRCQU9DO0lBQ0MsWUFLRjs7OztJQUFBLGlCQUFJOzs7SUFMRixlQUtGO0lBTEUsd05BS0Y7OztJQU9JLDRCQU1DO0lBQ0MsWUFDRjs7SUFBQSxpQkFBSTs7SUFERixlQUNGO0lBREUsMEZBQ0Y7Ozs7SUFFQSxxQ0FBbUUs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QUFzQjtZQ3RDbkMsMkdBU3dCO1lBQ3hCLGtFQUVlOztZQUVmLG1FQWFJOzs7WUFFSix3SEFrRmM7OztZQTlHWCwwQ0FBcUI7WUFVckIsZUFBc0M7WUFBdEMscUVBQXNDLGlCQUFBO1lBS3RDLGVBSUY7WUFKRSxtS0FJRjs7O0FEa0JZLHNCQUFzQjtJQVZsQyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsV0FBVztRQUNqQixLQUFLLEVBQUUsOEJBQThCO1FBQ3JDLElBQUksRUFBRSwyQkFBMkI7S0FDbEMsQ0FBQztxQ0FvRW9CLFFBQVE7UUFDUCxTQUFTO1FBQ0MsbUJBQW1CO1FBQ2pDLGlCQUFpQjtHQWpFdkIsc0JBQXNCLENBbUpsQzt1RkFuSlksc0JBQXNCO2NBTGxDLFNBQVM7MkJBQ0UscUJBQXFCO3FKQWN0Qiw4QkFBOEI7a0JBQXRDLEtBQUs7WUFFRyxvQkFBb0I7a0JBQTVCLEtBQUs7WUFFRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFFRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFFRyxpQkFBaUI7a0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIENoYW5nZURldGVjdG9yUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgT2JzZXJ2YWJsZSxcclxuICBTdWJzY3JpcHRpb24sXHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIFJlcGxheVN1YmplY3QsXHJcbiAgY29tYmluZUxhdGVzdFxyXG59IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFRvb2xDb21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIExheWVyLFxyXG4gIElnb01hcCxcclxuICBMYXllckxpc3RDb250cm9sc09wdGlvbnMsXHJcbiAgU2VhcmNoU291cmNlU2VydmljZSxcclxuICBzb3VyY2VDYW5TZWFyY2hcclxufSBmcm9tICdAaWdvMi9nZW8nO1xyXG5cclxuaW1wb3J0IHsgVG9vbFN0YXRlIH0gZnJvbSAnLi8uLi8uLi90b29sL3Rvb2wuc3RhdGUnO1xyXG5pbXBvcnQgeyBNYXBTdGF0ZSB9IGZyb20gJy4vLi4vbWFwLnN0YXRlJztcclxuXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnbWFwTGVnZW5kJyxcclxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5sZWdlbmQnLFxyXG4gIGljb246ICdmb3JtYXQtbGlzdC1idWxsZXRlZC10eXBlJ1xyXG59KVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1tYXAtbGVnZW5kLXRvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtbGVnZW5kLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21hcC1sZWdlbmQtdG9vbC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXBMZWdlbmRUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBkZWxheWVkU2hvd0VtcHR5TWFwQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBsYXllcnMkOiBCZWhhdmlvclN1YmplY3Q8TGF5ZXJbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcclxuICBzaG93QWxsTGVnZW5kc1ZhbHVlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgY2hhbmdlJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHZvaWQ+KDEpO1xyXG5cclxuICBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgdmlzaWJsZU9ySW5SYW5nZUxheWVycyQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIEBJbnB1dCgpIHVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBsYXllckFkZGl0aW9uQWxsb3dlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGFsbG93U2hvd0FsbExlZ2VuZHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgc2hvd0FsbExlZ2VuZHNWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBsYXllckxpc3RDb250cm9sczogTGF5ZXJMaXN0Q29udHJvbHNPcHRpb25zID0ge307XHJcblxyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFN0YXRlLm1hcDtcclxuICB9XHJcblxyXG4gIGdldCB2aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCgpOiBPYnNlcnZhYmxlPExheWVyW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycyQucGlwZShcclxuICAgICAgbWFwKChsYXllcnMpID0+XHJcbiAgICAgICAgbGF5ZXJzLmZpbHRlcihcclxuICAgICAgICAgIChsYXllcikgPT4gbGF5ZXIudmlzaWJsZSQudmFsdWUgJiYgbGF5ZXIuaXNJblJlc29sdXRpb25zUmFuZ2UkLnZhbHVlXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZpc2libGVMYXllcnMkKCk6IE9ic2VydmFibGU8TGF5ZXJbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXJzJC5waXBlKFxyXG4gICAgICBtYXAoKGxheWVycykgPT4gbGF5ZXJzLmZpbHRlcigobGF5ZXIpID0+IGxheWVyLnZpc2libGUkLnZhbHVlKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgZXhjbHVkZUJhc2VMYXllcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXllckxpc3RDb250cm9scy5leGNsdWRlQmFzZUxheWVycyB8fCBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldCBzZWFyY2hUb29sSW5Ub29sYmFyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5nZXRUb29sYmFyKCkuaW5kZXhPZignc2VhcmNoUmVzdWx0cycpICE9PSAtMSAmJlxyXG4gICAgICB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcclxuICAgICAgICAuZ2V0U291cmNlcygpXHJcbiAgICAgICAgLmZpbHRlcihzb3VyY2VDYW5TZWFyY2gpXHJcbiAgICAgICAgLmZpbHRlcigocykgPT4gcy5hdmFpbGFibGUgJiYgcy5nZXRUeXBlKCkgPT09ICdMYXllcicpLmxlbmd0aCA+IDBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgY2F0YWxvZ1Rvb2xJblRvb2xiYXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sU3RhdGUudG9vbGJveC5nZXRUb29sYmFyKCkuaW5kZXhPZignY2F0YWxvZycpICE9PSAtMTtcclxuICB9XHJcblxyXG4gIGdldCBjb250ZXh0VG9vbEluVG9vbGJhcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmdldFRvb2xiYXIoKS5pbmRleE9mKCdjb250ZXh0TWFuYWdlcicpICE9PSAtMTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1hcFN0YXRlOiBNYXBTdGF0ZSxcclxuICAgIHByaXZhdGUgdG9vbFN0YXRlOiBUb29sU3RhdGUsXHJcbiAgICBwcml2YXRlIHNlYXJjaFNvdXJjZVNlcnZpY2U6IFNlYXJjaFNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICB0aGlzLm1hcC5sYXllcnMkLFxyXG4gICAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJFxyXG4gICAgXSlcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwKSlcclxuICAgICAgLnN1YnNjcmliZSgoYnVuY2g6IFtMYXllcltdLCBudW1iZXJdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sYXllcnMkLm5leHQoXHJcbiAgICAgICAgICBidW5jaFswXS5maWx0ZXIoXHJcbiAgICAgICAgICAgIChsYXllcikgPT5cclxuICAgICAgICAgICAgICBsYXllci5zaG93SW5MYXllckxpc3QgIT09IGZhbHNlICYmXHJcbiAgICAgICAgICAgICAgKCF0aGlzLmV4Y2x1ZGVCYXNlTGF5ZXJzIHx8ICFsYXllci5iYXNlTGF5ZXIpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuYWxsb3dTaG93QWxsTGVnZW5kcykge1xyXG4gICAgICB0aGlzLm1hcFN0YXRlLnNob3dBbGxMZWdlbmRzVmFsdWUgPVxyXG4gICAgICAgIHRoaXMubWFwU3RhdGUuc2hvd0FsbExlZ2VuZHNWYWx1ZSAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICA/IHRoaXMubWFwU3RhdGUuc2hvd0FsbExlZ2VuZHNWYWx1ZVxyXG4gICAgICAgICAgOiB0aGlzLnNob3dBbGxMZWdlbmRzVmFsdWUgfHwgZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd0FsbExlZ2VuZHNWYWx1ZSQubmV4dCh0aGlzLm1hcFN0YXRlLnNob3dBbGxMZWdlbmRzVmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93QWxsTGVnZW5kc1ZhbHVlJC5uZXh0KGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBwcmV2ZW50IG1lc3NhZ2UgdG8gYmUgc2hvd24gdG9vIHF1aWNrbHkuIFdhaXRpbmcgZm9yIGxheWVyc1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVsYXllZFNob3dFbXB0eU1hcENvbnRlbnQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sIDI1MCk7XHJcbiAgfVxyXG5cclxuICBvblNob3dBbGxMZWdlbmRzKGV2ZW50KSB7XHJcbiAgICB0aGlzLm1hcFN0YXRlLnNob3dBbGxMZWdlbmRzVmFsdWUgPSBldmVudDtcclxuICAgIHRoaXMuc2hvd0FsbExlZ2VuZHNWYWx1ZSQubmV4dChldmVudCk7XHJcbiAgfVxyXG5cclxuICBzaG93QWxsTGVnZW5kKCkge1xyXG4gICAgaWYgKHRoaXMubGF5ZXJzJC5nZXRWYWx1ZSgpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICB0aGlzLmxheWVycyQuZ2V0VmFsdWUoKS5sZW5ndGggIT09IDAgJiZcclxuICAgICAgdGhpcy5hbGxvd1Nob3dBbGxMZWdlbmRzID09PSBmYWxzZVxyXG4gICAgKSB7XHJcbiAgICAgIGxldCB2aXNpYmxlT3JJblJhbmdlTGF5ZXJzO1xyXG4gICAgICB0aGlzLnZpc2libGVPckluUmFuZ2VMYXllcnMkJCA9IHRoaXMudmlzaWJsZU9ySW5SYW5nZUxheWVycyQuc3Vic2NyaWJlKFxyXG4gICAgICAgICh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgdmFsdWUubGVuZ3RoID09PSAwXHJcbiAgICAgICAgICAgID8gKHZpc2libGVPckluUmFuZ2VMYXllcnMgPSBmYWxzZSlcclxuICAgICAgICAgICAgOiAodmlzaWJsZU9ySW5SYW5nZUxheWVycyA9IHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuXHJcbiAgICAgIGlmICh2aXNpYmxlT3JJblJhbmdlTGF5ZXJzID09PSBmYWxzZSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzb2x1dGlvbiQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICBpZiAodGhpcy52aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCQpIHtcclxuICAgICAgdGhpcy52aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlYXJjaEVtaXQoKSB7XHJcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnc2VhcmNoUmVzdWx0cycpO1xyXG4gIH1cclxuXHJcbiAgY2F0YWxvZ0VtaXQoKSB7XHJcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnY2F0YWxvZycpO1xyXG4gIH1cclxuXHJcbiAgY29udGV4dEVtaXQoKSB7XHJcbiAgICB0aGlzLnRvb2xTdGF0ZS50b29sYm94LmFjdGl2YXRlVG9vbCgnY29udGV4dE1hbmFnZXInKTtcclxuICB9XHJcbn1cclxuIiwiPGlnby1sYXllci1sZWdlbmQtbGlzdFxyXG4gICpuZ0lmPVwic2hvd0FsbExlZ2VuZCgpXCJcclxuICBpZ29MYXllckxlZ2VuZExpc3RCaW5kaW5nXHJcbiAgW2V4Y2x1ZGVCYXNlTGF5ZXJzXT1cImV4Y2x1ZGVCYXNlTGF5ZXJzXCJcclxuICBbYWxsb3dTaG93QWxsTGVnZW5kc109XCJhbGxvd1Nob3dBbGxMZWdlbmRzXCJcclxuICBbdXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlXT1cInVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZVwiXHJcbiAgW3Nob3dBbGxMZWdlbmRzVmFsdWVdPVwic2hvd0FsbExlZ2VuZHNWYWx1ZSQgfCBhc3luY1wiXHJcbiAgKGFsbExlZ2VuZHNTaG93bik9XCJvblNob3dBbGxMZWdlbmRzKCRldmVudClcIlxyXG4+XHJcbjwvaWdvLWxheWVyLWxlZ2VuZC1saXN0PlxyXG48bmctdGVtcGxhdGVcclxuICAqbmdJZj1cIihsYXllcnMkIHwgYXN5bmMpLmxlbmd0aCAhPT0gMDsgZWxzZSBlbXB0eUxheWVyc1wiXHJcbj48L25nLXRlbXBsYXRlPlxyXG5cclxuPHBcclxuICBjbGFzcz1cIm1hcC1lbXB0eSBtYXQtdHlwb2dyYXBoeVwiXHJcbiAgKm5nSWY9XCJcclxuICAgICFhbGxvd1Nob3dBbGxMZWdlbmRzICYmXHJcbiAgICAobGF5ZXJzJCB8IGFzeW5jKS5sZW5ndGggIT09IDAgJiZcclxuICAgICh2aXNpYmxlT3JJblJhbmdlTGF5ZXJzJCB8IGFzeW5jKS5sZW5ndGggPT09IDBcclxuICBcIlxyXG4+XHJcbiAge3tcclxuICAgICh2aXNpYmxlTGF5ZXJzJCB8IGFzeW5jKS5sZW5ndGhcclxuICAgICAgPyAoJ2lnby5pbnRlZ3JhdGlvbi5tYXBUb29sLm5vTGF5ZXJzSW5SYW5nZScgfCB0cmFuc2xhdGUpXHJcbiAgICAgIDogKCdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5ub0xheWVyc1Zpc2libGUnIHwgdHJhbnNsYXRlKVxyXG4gIH19XHJcbjwvcD5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZW1wdHlMYXllcnM+XHJcbiAgPG1hdC1saXN0ICpuZ0lmPVwiZGVsYXllZFNob3dFbXB0eU1hcENvbnRlbnRcIj5cclxuICAgIDxwIGNsYXNzPVwibWFwLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5lbXB0eScgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvcD5cclxuICAgIDxwXHJcbiAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgbGF5ZXJBZGRpdGlvbkFsbG93ZWQgJiZcclxuICAgICAgICAoc2VhcmNoVG9vbEluVG9vbGJhciB8fCBjYXRhbG9nVG9vbEluVG9vbGJhciB8fCBjb250ZXh0VG9vbEluVG9vbGJhcilcclxuICAgICAgXCJcclxuICAgICAgY2xhc3M9XCJtYXAtZW1wdHkgbWF0LXR5cG9ncmFwaHlcIlxyXG4gICAgPlxyXG4gICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuY3VzdG9taXplJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9wPlxyXG5cclxuICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwibGF5ZXJBZGRpdGlvbkFsbG93ZWQgJiYgc2VhcmNoVG9vbEluVG9vbGJhclwiPlxyXG4gICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uPlxyXG4gICAgICAgIDxzdmdcclxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgZml0PVwiXCJcclxuICAgICAgICAgIGhlaWdodD1cIjEwMCVcIlxyXG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcclxuICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcclxuICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICBkPVwiTTkuNSwzQTYuNSw2LjUgMCAwLDEgMTYsOS41QzE2LDExLjExIDE1LjQxLDEyLjU5IDE0LjQ0LDEzLjczTDE0LjcxLDE0SDE1LjVMMjAuNSwxOUwxOSwyMC41TDE0LDE1LjVWMTQuNzFMMTMuNzMsMTQuNDRDMTIuNTksMTUuNDEgMTEuMTEsMTYgOS41LDE2QTYuNSw2LjUgMCAwLDEgMyw5LjVBNi41LDYuNSAwIDAsMSA5LjUsM005LjUsNUM3LDUgNSw3IDUsOS41QzUsMTIgNywxNCA5LjUsMTRDMTIsMTQgMTQsMTIgMTQsOS41QzE0LDcgMTIsNSA5LjUsNVpcIlxyXG4gICAgICAgICAgPjwvcGF0aD48L3N2Z1xyXG4gICAgICA+PC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBtYXRMaXN0SXRlbVRpdGxlXHJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2gtdG9vbCBtYXQtdHlwb2dyYXBoeVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNlYXJjaEVtaXQoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyAnaWdvLmludGVncmF0aW9uLm1hcFRvb2wuc2VhcmNoLXRvb2wnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwibGF5ZXJBZGRpdGlvbkFsbG93ZWQgJiYgY2F0YWxvZ1Rvb2xJblRvb2xiYXJcIj5cclxuICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj5cclxuICAgICAgICA8c3ZnXHJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgIGZpdD1cIlwiXHJcbiAgICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcclxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXHJcbiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXHJcbiAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk0xNywxNEgxOVYxN0gyMlYxOUgxOVYyMkgxN1YxOUgxNFYxN0gxN1YxNE0xMSwxNkwyLDlMMTEsMkwyMCw5TDExLDE2TTExLDE4LjU0TDEyLDE3Ljc1VjE4QzEyLDE4LjcxIDEyLjEyLDE5LjM5IDEyLjM1LDIwTDExLDIxLjA3TDIsMTQuMDdMMy42MiwxMi44MUwxMSwxOC41NFpcIlxyXG4gICAgICAgICAgPjwvcGF0aD48L3N2Z1xyXG4gICAgICA+PC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBtYXRMaXN0SXRlbVRpdGxlXHJcbiAgICAgICAgY2xhc3M9XCJjYXRhbG9nLXRvb2wgbWF0LXR5cG9ncmFwaHlcIlxyXG4gICAgICAgIChjbGljayk9XCJjYXRhbG9nRW1pdCgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5jYXRhbG9nLXRvb2wnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwibGF5ZXJBZGRpdGlvbkFsbG93ZWQgJiYgY29udGV4dFRvb2xJblRvb2xiYXJcIj5cclxuICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj5cclxuICAgICAgICA8c3ZnXHJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgIGZpdD1cIlwiXHJcbiAgICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcclxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXHJcbiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXHJcbiAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk0xMiwxNy4yN0wxOC4xOCwyMUwxNi41NCwxMy45N0wyMiw5LjI0TDE0LjgxLDguNjJMMTIsMkw5LjE5LDguNjJMMiw5LjI0TDcuNDUsMTMuOTdMNS44MiwyMUwxMiwxNy4yN1pcIlxyXG4gICAgICAgICAgPjwvcGF0aD48L3N2Z1xyXG4gICAgICA+PC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBtYXRMaXN0SXRlbVRpdGxlXHJcbiAgICAgICAgY2xhc3M9XCJjb250ZXh0LXRvb2wgbWF0LXR5cG9ncmFwaHlcIlxyXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0RW1pdCgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7ICdpZ28uaW50ZWdyYXRpb24ubWFwVG9vbC5jb250ZXh0LXRvb2wnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICA8L21hdC1saXN0PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './map-proximity-tool.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21hcC9tYXAtcHJveGltaXR5LXRvb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwLXByb3hpbWl0eS10b29sLmNvbXBvbmVudCc7XHJcbiJdfQ==
1
+ export * from './map-proximity-tool.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL21hcC9tYXAtcHJveGltaXR5LXRvb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwLXByb3hpbWl0eS10b29sLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,220 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, ViewChild } from '@angular/core';
3
+ import { EntityTableComponent, ToolComponent } from '@igo2/common';
4
+ import { LanguageService, MessageService } from '@igo2/core';
5
+ import { NumberUtils, Clipboard } from '@igo2/utils';
6
+ import { MapProximityState } from '../map-proximity.state';
7
+ import { MapState } from '../map.state';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../map.state";
10
+ import * as i2 from "../map-proximity.state";
11
+ import * as i3 from "@igo2/core";
12
+ import * as i4 from "@angular/forms";
13
+ import * as i5 from "@angular/material/form-field";
14
+ import * as i6 from "@angular/material/input";
15
+ import * as i7 from "@angular/common";
16
+ import * as i8 from "@angular/material/icon";
17
+ import * as i9 from "@angular/material/radio";
18
+ import * as i10 from "@angular/material/button";
19
+ import * as i11 from "@igo2/common";
20
+ import * as i12 from "@ngx-translate/core";
21
+ const _c0 = ["table"];
22
+ function MapProximityToolComponent_mat_form_field_3_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementStart(0, "mat-form-field", 14);
24
+ i0.ɵɵelement(1, "textarea", 15, 16);
25
+ i0.ɵɵpipe(3, "translate");
26
+ i0.ɵɵelementEnd();
27
+ } if (rf & 2) {
28
+ const coord_r4 = ctx.ngIf;
29
+ i0.ɵɵadvance(1);
30
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.map-proximity-tool.lon"))("value", coord_r4[0]);
31
+ } }
32
+ function MapProximityToolComponent_mat_form_field_5_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "mat-form-field", 17);
34
+ i0.ɵɵelement(1, "textarea", 15, 16);
35
+ i0.ɵɵpipe(3, "translate");
36
+ i0.ɵɵelementEnd();
37
+ } if (rf & 2) {
38
+ const coord2_r6 = ctx.ngIf;
39
+ i0.ɵɵadvance(1);
40
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 2, "igo.integration.map-proximity-tool.lat"))("value", coord2_r6[1]);
41
+ } }
42
+ function MapProximityToolComponent_button_7_Template(rf, ctx) { if (rf & 1) {
43
+ const _r9 = i0.ɵɵgetCurrentView();
44
+ i0.ɵɵelementStart(0, "button", 18);
45
+ i0.ɵɵlistener("click", function MapProximityToolComponent_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.copyTextToClipboard()); });
46
+ i0.ɵɵelement(1, "mat-icon", 19);
47
+ i0.ɵɵelementEnd();
48
+ } }
49
+ export let MapProximityToolComponent = class MapProximityToolComponent {
50
+ mapState;
51
+ mapProximityState;
52
+ languageService;
53
+ messageService;
54
+ subs$$ = [];
55
+ table;
56
+ get maxDistance() {
57
+ return this.mapProximityState.proximityRadiusValue$.value;
58
+ }
59
+ set maxDistance(value) {
60
+ this.mapProximityState.proximityRadiusValue$.next(value);
61
+ }
62
+ get map() {
63
+ return this.mapState.map;
64
+ }
65
+ userDefinedMapCenter;
66
+ userDefinedFollowPosition;
67
+ /**
68
+ * Table template
69
+ * @internal
70
+ */
71
+ tableTemplate;
72
+ constructor(mapState, mapProximityState, languageService, messageService) {
73
+ this.mapState = mapState;
74
+ this.mapProximityState = mapProximityState;
75
+ this.languageService = languageService;
76
+ this.messageService = messageService;
77
+ this.tableTemplate = {
78
+ selection: true,
79
+ selectMany: false,
80
+ selectionCheckbox: false,
81
+ sort: true,
82
+ columns: [
83
+ {
84
+ name: 'element',
85
+ title: this.languageService.translate.instant('igo.integration.map-proximity-tool.feature'),
86
+ valueAccessor: (localFeature) => {
87
+ return localFeature.properties.element;
88
+ }
89
+ },
90
+ {
91
+ name: 'distance',
92
+ title: this.languageService.translate.instant('igo.integration.map-proximity-tool.distance'),
93
+ valueAccessor: (localFeature) => {
94
+ return `${NumberUtils.roundToNDecimal(localFeature.properties.distance, 1)}m`;
95
+ }
96
+ }
97
+ ]
98
+ };
99
+ }
100
+ ngOnInit() {
101
+ this.mapProximityState.enabled$.next(true);
102
+ this.userDefinedFollowPosition =
103
+ this.map.geolocationController.followPosition === true;
104
+ this.userDefinedMapCenter = this.map.mapCenter$.value === true;
105
+ this.subs$$.push(this.mapProximityState.proximitylocationType$.subscribe((v) => {
106
+ this.map.mapCenter$.next(v !== 'geolocation');
107
+ if (v === 'geolocation') {
108
+ this.map.geolocationController.followPosition = true;
109
+ }
110
+ else {
111
+ this.map.geolocationController.followPosition = false;
112
+ }
113
+ }));
114
+ }
115
+ ngOnDestroy() {
116
+ this.mapProximityState.enabled$.next(false);
117
+ this.map.mapCenter$.next(this.userDefinedMapCenter);
118
+ this.subs$$.map((s) => s.unsubscribe());
119
+ this.map.geolocationController.followPosition =
120
+ this.userDefinedFollowPosition;
121
+ }
122
+ onLocationTypeChange(e) {
123
+ this.mapProximityState.proximitylocationType$.next(e.value);
124
+ }
125
+ /**
126
+ * Copy the coordinates to a clipboard
127
+ */
128
+ copyTextToClipboard() {
129
+ const successful = Clipboard.copy(this.mapProximityState.currentPositionCoordinate$?.value.toString());
130
+ if (successful) {
131
+ this.messageService.success('igo.integration.map-proximity-tool.copyMsg', 'igo.integration.map-proximity-tool.copyTitle');
132
+ }
133
+ }
134
+ static ɵfac = function MapProximityToolComponent_Factory(t) { return new (t || MapProximityToolComponent)(i0.ɵɵdirectiveInject(i1.MapState), i0.ɵɵdirectiveInject(i2.MapProximityState), i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.MessageService)); };
135
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapProximityToolComponent, selectors: [["igo-map-proximity-tool"]], viewQuery: function MapProximityToolComponent_Query(rf, ctx) { if (rf & 1) {
136
+ i0.ɵɵviewQuery(_c0, 7);
137
+ } if (rf & 2) {
138
+ let _t;
139
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
140
+ } }, decls: 31, vars: 35, consts: [[1, "table-compact", 3, "store", "template"], ["table", ""], ["class", "coordinates", 4, "ngIf"], ["class", "coordinates2", 4, "ngIf"], ["mat-icon-button", "", 3, "click", 4, "ngIf"], [1, "title-container"], [1, "title", "mat-typography"], [1, "igo-input-container", "mat-typography"], [3, "change"], ["value", "geolocation", 3, "checked"], ["value", "mapCenter", 3, "checked"], [1, "radius-unit"], ["floatLabel", "always", 1, "radius-field"], ["type", "number", "pattern", "[0-9]*", "matInput", "", 3, "ngModel", "placeholder", "ngModelChange"], [1, "coordinates"], ["matInput", "", "readonly", "", "rows", "1", 3, "placeholder", "value"], ["textArea", ""], [1, "coordinates2"], ["mat-icon-button", "", 3, "click"], ["svgIcon", "content-copy"]], template: function MapProximityToolComponent_Template(rf, ctx) { if (rf & 1) {
141
+ i0.ɵɵelement(0, "igo-entity-table", 0, 1)(2, "br");
142
+ i0.ɵɵtemplate(3, MapProximityToolComponent_mat_form_field_3_Template, 4, 4, "mat-form-field", 2);
143
+ i0.ɵɵpipe(4, "async");
144
+ i0.ɵɵtemplate(5, MapProximityToolComponent_mat_form_field_5_Template, 4, 4, "mat-form-field", 3);
145
+ i0.ɵɵpipe(6, "async");
146
+ i0.ɵɵtemplate(7, MapProximityToolComponent_button_7_Template, 2, 0, "button", 4);
147
+ i0.ɵɵpipe(8, "async");
148
+ i0.ɵɵpipe(9, "async");
149
+ i0.ɵɵelementStart(10, "div", 5)(11, "mat-label", 6);
150
+ i0.ɵɵtext(12);
151
+ i0.ɵɵpipe(13, "translate");
152
+ i0.ɵɵelementEnd()();
153
+ i0.ɵɵelementStart(14, "div", 7)(15, "mat-radio-group", 8);
154
+ i0.ɵɵlistener("change", function MapProximityToolComponent_Template_mat_radio_group_change_15_listener($event) { return ctx.onLocationTypeChange($event); });
155
+ i0.ɵɵelementStart(16, "mat-radio-button", 9);
156
+ i0.ɵɵpipe(17, "async");
157
+ i0.ɵɵtext(18);
158
+ i0.ɵɵpipe(19, "translate");
159
+ i0.ɵɵelementEnd();
160
+ i0.ɵɵelementStart(20, "mat-radio-button", 10);
161
+ i0.ɵɵpipe(21, "async");
162
+ i0.ɵɵtext(22);
163
+ i0.ɵɵpipe(23, "translate");
164
+ i0.ɵɵelementEnd()()();
165
+ i0.ɵɵelementStart(24, "div", 11)(25, "mat-form-field", 12)(26, "mat-label");
166
+ i0.ɵɵtext(27);
167
+ i0.ɵɵpipe(28, "translate");
168
+ i0.ɵɵelementEnd();
169
+ i0.ɵɵelementStart(29, "input", 13);
170
+ i0.ɵɵlistener("ngModelChange", function MapProximityToolComponent_Template_input_ngModelChange_29_listener($event) { return ctx.maxDistance = $event; });
171
+ i0.ɵɵpipe(30, "translate");
172
+ i0.ɵɵelementEnd()()();
173
+ } if (rf & 2) {
174
+ i0.ɵɵproperty("store", ctx.mapProximityState.proximityFeatureStore)("template", ctx.tableTemplate);
175
+ i0.ɵɵadvance(3);
176
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(4, 13, ctx.mapProximityState.currentPositionCoordinate$));
177
+ i0.ɵɵadvance(2);
178
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(6, 15, ctx.mapProximityState.currentPositionCoordinate$));
179
+ i0.ɵɵadvance(2);
180
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(8, 17, ctx.mapProximityState.currentPositionCoordinate$) && i0.ɵɵpipeBind1(9, 19, ctx.mapProximityState.currentPositionCoordinate$).length);
181
+ i0.ɵɵadvance(5);
182
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 21, "igo.integration.map-proximity-tool.method"));
183
+ i0.ɵɵadvance(4);
184
+ i0.ɵɵproperty("checked", i0.ɵɵpipeBind1(17, 23, ctx.mapProximityState.proximitylocationType$) === "geolocation");
185
+ i0.ɵɵadvance(2);
186
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 25, "igo.integration.map-proximity-tool.geolocation"));
187
+ i0.ɵɵadvance(2);
188
+ i0.ɵɵproperty("checked", i0.ɵɵpipeBind1(21, 27, ctx.mapProximityState.proximitylocationType$) === "mapCenter");
189
+ i0.ɵɵadvance(2);
190
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 29, "igo.integration.map-proximity-tool.mapCenter"));
191
+ i0.ɵɵadvance(5);
192
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(28, 31, "igo.integration.map-proximity-tool.radiusM"));
193
+ i0.ɵɵadvance(2);
194
+ i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(30, 33, "igo.integration.map-proximity-tool.radiusM"));
195
+ i0.ɵɵproperty("ngModel", ctx.maxDistance);
196
+ } }, dependencies: [i4.DefaultValueAccessor, i4.NumberValueAccessor, i4.NgControlStatus, i4.PatternValidator, i4.NgModel, i5.MatFormField, i5.MatLabel, i6.MatInput, i7.NgIf, i8.MatIcon, i9.MatRadioGroup, i9.MatRadioButton, i10.MatIconButton, i11.EntityTableComponent, i7.AsyncPipe, i12.TranslatePipe], styles: ["[_nghost-%COMP%] .table-compact[_ngcontent-%COMP%]{height:auto}[_nghost-%COMP%] .table-compact[_ngcontent-%COMP%] .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}[_nghost-%COMP%] textarea[_ngcontent-%COMP%]{resize:none}[_nghost-%COMP%] mat-form-field[_ngcontent-%COMP%]{padding:10px 15px}[_nghost-%COMP%] mat-form-field.coordinates[_ngcontent-%COMP%]{width:110px}[_nghost-%COMP%] mat-form-field.coordinates2[_ngcontent-%COMP%]{width:100px;padding:0 10px 0 3px}[_nghost-%COMP%] mat-form-field.igo-input-container[_ngcontent-%COMP%]{width:60%;padding:0 15px}[_nghost-%COMP%] .radius-unit[_ngcontent-%COMP%]{display:flex;width:90%;margin-left:2px;padding:5px}[_nghost-%COMP%] .radius-unit[_ngcontent-%COMP%] mat-form-field.radius-field[_ngcontent-%COMP%]{display:flex;flex-flow:column nowrap;width:100%}[_nghost-%COMP%] .title-container[_ngcontent-%COMP%]{padding:10px}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{margin-left:5px;font-size:initial}[_nghost-%COMP%] .mat-mdc-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .mat-mdc-radio-button[_ngcontent-%COMP%]{display:inline-flex;position:relative;margin-left:12px}"] });
197
+ };
198
+ MapProximityToolComponent = __decorate([
199
+ ToolComponent({
200
+ name: 'map-proximity',
201
+ title: 'igo.integration.tools.closestFeature',
202
+ icon: 'radius'
203
+ })
204
+ /**
205
+ * Tool to handle the advanced map tools
206
+ */
207
+ ,
208
+ __metadata("design:paramtypes", [MapState,
209
+ MapProximityState,
210
+ LanguageService,
211
+ MessageService])
212
+ ], MapProximityToolComponent);
213
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapProximityToolComponent, [{
214
+ type: Component,
215
+ args: [{ selector: 'igo-map-proximity-tool', template: "<igo-entity-table\r\n #table\r\n class=\"table-compact\"\r\n [store]=\"mapProximityState.proximityFeatureStore\"\r\n [template]=\"tableTemplate\"\r\n></igo-entity-table>\r\n<br />\r\n<mat-form-field\r\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord\"\r\n class=\"coordinates\"\r\n>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"'igo.integration.map-proximity-tool.lon' | translate\"\r\n [value]=\"coord[0]\"\r\n ></textarea>\r\n</mat-form-field>\r\n<mat-form-field\r\n *ngIf=\"mapProximityState.currentPositionCoordinate$ | async as coord2\"\r\n class=\"coordinates2\"\r\n>\r\n <textarea\r\n #textArea\r\n matInput\r\n readonly\r\n rows=\"1\"\r\n [placeholder]=\"'igo.integration.map-proximity-tool.lat' | translate\"\r\n [value]=\"coord2[1]\"\r\n ></textarea>\r\n</mat-form-field>\r\n\r\n<button\r\n *ngIf=\"\r\n (mapProximityState.currentPositionCoordinate$ | async) &&\r\n (mapProximityState.currentPositionCoordinate$ | async).length\r\n \"\r\n mat-icon-button\r\n (click)=\"copyTextToClipboard()\"\r\n>\r\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\r\n</button>\r\n<div class=\"title-container\">\r\n <mat-label class=\"title mat-typography\">{{\r\n 'igo.integration.map-proximity-tool.method' | translate\r\n }}</mat-label>\r\n</div>\r\n<div class=\"igo-input-container mat-typography\">\r\n <mat-radio-group (change)=\"onLocationTypeChange($event)\">\r\n <mat-radio-button\r\n [checked]=\"\r\n (mapProximityState.proximitylocationType$ | async) === 'geolocation'\r\n \"\r\n value=\"geolocation\"\r\n >{{\r\n 'igo.integration.map-proximity-tool.geolocation' | translate\r\n }}</mat-radio-button\r\n >\r\n <mat-radio-button\r\n [checked]=\"\r\n (mapProximityState.proximitylocationType$ | async) === 'mapCenter'\r\n \"\r\n value=\"mapCenter\"\r\n >{{\r\n 'igo.integration.map-proximity-tool.mapCenter' | translate\r\n }}</mat-radio-button\r\n >\r\n </mat-radio-group>\r\n</div>\r\n\r\n<div class=\"radius-unit\">\r\n <mat-form-field class=\"radius-field\" floatLabel=\"always\">\r\n <mat-label>{{\r\n 'igo.integration.map-proximity-tool.radiusM' | translate\r\n }}</mat-label>\r\n <input\r\n type=\"number\"\r\n pattern=\"[0-9]*\"\r\n [(ngModel)]=\"maxDistance\"\r\n matInput\r\n placeholder=\"{{\r\n 'igo.integration.map-proximity-tool.radiusM' | translate\r\n }}\"\r\n />\r\n </mat-form-field>\r\n</div>\r\n", styles: [":host .table-compact{height:auto}:host .table-compact ::ng-deep .mat-mdc-header-cell.mat-column-selectionCheckbox{width:52px}:host textarea{resize:none}:host mat-form-field{padding:10px 15px}:host mat-form-field.coordinates{width:110px}:host mat-form-field.coordinates2{width:100px;padding:0 10px 0 3px}:host mat-form-field.igo-input-container{width:60%;padding:0 15px}:host .radius-unit{display:flex;width:90%;margin-left:2px;padding:5px}:host .radius-unit mat-form-field.radius-field{display:flex;flex-flow:column nowrap;width:100%}:host .title-container{padding:10px}:host .title{margin-left:5px;font-size:initial}:host .mat-mdc-radio-group{display:flex;flex-direction:column}:host .mat-mdc-radio-button{display:inline-flex;position:relative;margin-left:12px}\n"] }]
216
+ }], function () { return [{ type: i1.MapState }, { type: i2.MapProximityState }, { type: i3.LanguageService }, { type: i3.MessageService }]; }, { table: [{
217
+ type: ViewChild,
218
+ args: ['table', { static: true }]
219
+ }] }); })();
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXByb3hpbWl0eS10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvbWFwL21hcC1wcm94aW1pdHktdG9vbC9tYXAtcHJveGltaXR5LXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9tYXAvbWFwLXByb3hpbWl0eS10b29sL21hcC1wcm94aW1pdHktdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFDTCxvQkFBb0IsRUFFcEIsYUFBYSxFQUNkLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNMeEMsMENBR0M7SUFDQyxtQ0FPWTs7SUFDZCxpQkFBaUI7OztJQUhiLGVBQW9FO0lBQXBFLDRGQUFvRSxzQkFBQTs7O0lBSXhFLDBDQUdDO0lBQ0MsbUNBT1k7O0lBQ2QsaUJBQWlCOzs7SUFIYixlQUFvRTtJQUFwRSw0RkFBb0UsdUJBQUE7Ozs7SUFLeEUsa0NBT0M7SUFEQyx5S0FBUyxlQUFBLDRCQUFxQixDQUFBLElBQUM7SUFFL0IsK0JBQTRDO0lBQzlDLGlCQUFTOztBRGpCRixXQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUF5QjtJQXVCM0I7SUFDQTtJQUNDO0lBQ0E7SUF6QkYs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M0IsaUJBUUUsRUFBQSxFQUFBOztZQWxGSixtRUFBaUQsK0JBQUE7WUFLaEQsZUFBMkQ7WUFBM0QsOEZBQTJEO1lBYTNELGVBQTJEO1lBQTNELDhGQUEyRDtZQWMzRCxlQUdEO1lBSEMsZ0xBR0Q7WUFPd0MsZUFFdEM7WUFGc0MseUZBRXRDO1lBS0UsZUFFQztZQUZELGdIQUVDO1lBRUEsZUFFQztZQUZELDhGQUVDO1lBR0YsZUFFQztZQUZELDhHQUVDO1lBRUEsZUFFQztZQUZELDRGQUVDO1lBT08sZUFFVDtZQUZTLDBGQUVUO1lBTUEsZUFFRztZQUZILDZHQUVHO1lBSkgseUNBQXlCOzs7QUR0RGxCLHlCQUF5QjtJQWJyQyxhQUFhLENBQUM7UUFDYixJQUFJLEVBQUUsZUFBZTtRQUNyQixLQUFLLEVBQUUsc0NBQXNDO1FBQzdDLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQztJQUNGOztPQUVHOztxQ0E2QmtCLFFBQVE7UUFDQyxpQkFBaUI7UUFDbEIsZUFBZTtRQUNoQixjQUFjO0dBMUI3Qix5QkFBeUIsQ0F1R3JDO3VGQXZHWSx5QkFBeUI7Y0FMckMsU0FBUzsyQkFDRSx3QkFBd0I7c0pBTUksS0FBSztrQkFBMUMsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFJhZGlvQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQge1xyXG4gIEVudGl0eVRhYmxlQ29tcG9uZW50LFxyXG4gIEVudGl0eVRhYmxlVGVtcGxhdGUsXHJcbiAgVG9vbENvbXBvbmVudFxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgRmVhdHVyZSwgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHsgTnVtYmVyVXRpbHMsIENsaXBib2FyZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1hcFByb3hpbWl0eVN0YXRlIH0gZnJvbSAnLi4vbWFwLXByb3hpbWl0eS5zdGF0ZSc7XHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vbWFwLnN0YXRlJztcclxuQFRvb2xDb21wb25lbnQoe1xyXG4gIG5hbWU6ICdtYXAtcHJveGltaXR5JyxcclxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5jbG9zZXN0RmVhdHVyZScsXHJcbiAgaWNvbjogJ3JhZGl1cydcclxufSlcclxuLyoqXHJcbiAqIFRvb2wgdG8gaGFuZGxlIHRoZSBhZHZhbmNlZCBtYXAgdG9vbHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW1hcC1wcm94aW1pdHktdG9vbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1wcm94aW1pdHktdG9vbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWFwLXByb3hpbWl0eS10b29sLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hcFByb3hpbWl0eVRvb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdWJzJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgQFZpZXdDaGlsZCgndGFibGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZTogRW50aXR5VGFibGVDb21wb25lbnQ7XHJcblxyXG4gIGdldCBtYXhEaXN0YW5jZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLnByb3hpbWl0eVJhZGl1c1ZhbHVlJC52YWx1ZTtcclxuICB9XHJcbiAgc2V0IG1heERpc3RhbmNlKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMubWFwUHJveGltaXR5U3RhdGUucHJveGltaXR5UmFkaXVzVmFsdWUkLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xyXG4gIH1cclxuICBwdWJsaWMgdXNlckRlZmluZWRNYXBDZW50ZXI6IGJvb2xlYW47XHJcbiAgcHVibGljIHVzZXJEZWZpbmVkRm9sbG93UG9zaXRpb246IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogVGFibGUgdGVtcGxhdGVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwdWJsaWMgdGFibGVUZW1wbGF0ZTogRW50aXR5VGFibGVUZW1wbGF0ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgbWFwU3RhdGU6IE1hcFN0YXRlLFxyXG4gICAgcHVibGljIG1hcFByb3hpbWl0eVN0YXRlOiBNYXBQcm94aW1pdHlTdGF0ZSxcclxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy50YWJsZVRlbXBsYXRlID0ge1xyXG4gICAgICBzZWxlY3Rpb246IHRydWUsXHJcbiAgICAgIHNlbGVjdE1hbnk6IGZhbHNlLFxyXG4gICAgICBzZWxlY3Rpb25DaGVja2JveDogZmFsc2UsXHJcbiAgICAgIHNvcnQ6IHRydWUsXHJcbiAgICAgIGNvbHVtbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnZWxlbWVudCcsXHJcbiAgICAgICAgICB0aXRsZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmZlYXR1cmUnXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdmFsdWVBY2Nlc3NvcjogKGxvY2FsRmVhdHVyZTogRmVhdHVyZSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbG9jYWxGZWF0dXJlLnByb3BlcnRpZXMuZWxlbWVudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdkaXN0YW5jZScsXHJcbiAgICAgICAgICB0aXRsZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmRpc3RhbmNlJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIHZhbHVlQWNjZXNzb3I6IChsb2NhbEZlYXR1cmU6IEZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke051bWJlclV0aWxzLnJvdW5kVG9ORGVjaW1hbChcclxuICAgICAgICAgICAgICBsb2NhbEZlYXR1cmUucHJvcGVydGllcy5kaXN0YW5jZSxcclxuICAgICAgICAgICAgICAxXHJcbiAgICAgICAgICAgICl9bWA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLmVuYWJsZWQkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLnVzZXJEZWZpbmVkRm9sbG93UG9zaXRpb24gPVxyXG4gICAgICB0aGlzLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZm9sbG93UG9zaXRpb24gPT09IHRydWU7XHJcbiAgICB0aGlzLnVzZXJEZWZpbmVkTWFwQ2VudGVyID0gdGhpcy5tYXAubWFwQ2VudGVyJC52YWx1ZSA9PT0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnN1YnMkJC5wdXNoKFxyXG4gICAgICB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLnByb3hpbWl0eWxvY2F0aW9uVHlwZSQuc3Vic2NyaWJlKCh2KSA9PiB7XHJcbiAgICAgICAgdGhpcy5tYXAubWFwQ2VudGVyJC5uZXh0KHYgIT09ICdnZW9sb2NhdGlvbicpO1xyXG4gICAgICAgIGlmICh2ID09PSAnZ2VvbG9jYXRpb24nKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZm9sbG93UG9zaXRpb24gPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZm9sbG93UG9zaXRpb24gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLmVuYWJsZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5tYXAubWFwQ2VudGVyJC5uZXh0KHRoaXMudXNlckRlZmluZWRNYXBDZW50ZXIpO1xyXG4gICAgdGhpcy5zdWJzJCQubWFwKChzKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5tYXAuZ2VvbG9jYXRpb25Db250cm9sbGVyLmZvbGxvd1Bvc2l0aW9uID1cclxuICAgICAgdGhpcy51c2VyRGVmaW5lZEZvbGxvd1Bvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgb25Mb2NhdGlvblR5cGVDaGFuZ2UoZTogTWF0UmFkaW9DaGFuZ2UpIHtcclxuICAgIHRoaXMubWFwUHJveGltaXR5U3RhdGUucHJveGltaXR5bG9jYXRpb25UeXBlJC5uZXh0KGUudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29weSB0aGUgY29vcmRpbmF0ZXMgdG8gYSBjbGlwYm9hcmRcclxuICAgKi9cclxuICBjb3B5VGV4dFRvQ2xpcGJvYXJkKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3VjY2Vzc2Z1bCA9IENsaXBib2FyZC5jb3B5KFxyXG4gICAgICB0aGlzLm1hcFByb3hpbWl0eVN0YXRlLmN1cnJlbnRQb3NpdGlvbkNvb3JkaW5hdGUkPy52YWx1ZS50b1N0cmluZygpXHJcbiAgICApO1xyXG4gICAgaWYgKHN1Y2Nlc3NmdWwpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKFxyXG4gICAgICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmNvcHlNc2cnLFxyXG4gICAgICAgICdpZ28uaW50ZWdyYXRpb24ubWFwLXByb3hpbWl0eS10b29sLmNvcHlUaXRsZSdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGlnby1lbnRpdHktdGFibGVcclxuICAjdGFibGVcclxuICBjbGFzcz1cInRhYmxlLWNvbXBhY3RcIlxyXG4gIFtzdG9yZV09XCJtYXBQcm94aW1pdHlTdGF0ZS5wcm94aW1pdHlGZWF0dXJlU3RvcmVcIlxyXG4gIFt0ZW1wbGF0ZV09XCJ0YWJsZVRlbXBsYXRlXCJcclxuPjwvaWdvLWVudGl0eS10YWJsZT5cclxuPGJyIC8+XHJcbjxtYXQtZm9ybS1maWVsZFxyXG4gICpuZ0lmPVwibWFwUHJveGltaXR5U3RhdGUuY3VycmVudFBvc2l0aW9uQ29vcmRpbmF0ZSQgfCBhc3luYyBhcyBjb29yZFwiXHJcbiAgY2xhc3M9XCJjb29yZGluYXRlc1wiXHJcbj5cclxuICA8dGV4dGFyZWFcclxuICAgICN0ZXh0QXJlYVxyXG4gICAgbWF0SW5wdXRcclxuICAgIHJlYWRvbmx5XHJcbiAgICByb3dzPVwiMVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wubG9uJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbdmFsdWVdPVwiY29vcmRbMF1cIlxyXG4gID48L3RleHRhcmVhPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG48bWF0LWZvcm0tZmllbGRcclxuICAqbmdJZj1cIm1hcFByb3hpbWl0eVN0YXRlLmN1cnJlbnRQb3NpdGlvbkNvb3JkaW5hdGUkIHwgYXN5bmMgYXMgY29vcmQyXCJcclxuICBjbGFzcz1cImNvb3JkaW5hdGVzMlwiXHJcbj5cclxuICA8dGV4dGFyZWFcclxuICAgICN0ZXh0QXJlYVxyXG4gICAgbWF0SW5wdXRcclxuICAgIHJlYWRvbmx5XHJcbiAgICByb3dzPVwiMVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wubGF0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbdmFsdWVdPVwiY29vcmQyWzFdXCJcclxuICA+PC90ZXh0YXJlYT5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbjxidXR0b25cclxuICAqbmdJZj1cIlxyXG4gICAgKG1hcFByb3hpbWl0eVN0YXRlLmN1cnJlbnRQb3NpdGlvbkNvb3JkaW5hdGUkIHwgYXN5bmMpICYmXHJcbiAgICAobWFwUHJveGltaXR5U3RhdGUuY3VycmVudFBvc2l0aW9uQ29vcmRpbmF0ZSQgfCBhc3luYykubGVuZ3RoXHJcbiAgXCJcclxuICBtYXQtaWNvbi1idXR0b25cclxuICAoY2xpY2spPVwiY29weVRleHRUb0NsaXBib2FyZCgpXCJcclxuPlxyXG4gIDxtYXQtaWNvbiBzdmdJY29uPVwiY29udGVudC1jb3B5XCI+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcbjxkaXYgY2xhc3M9XCJ0aXRsZS1jb250YWluZXJcIj5cclxuICA8bWF0LWxhYmVsIGNsYXNzPVwidGl0bGUgbWF0LXR5cG9ncmFwaHlcIj57e1xyXG4gICAgJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wubWV0aG9kJyB8IHRyYW5zbGF0ZVxyXG4gIH19PC9tYXQtbGFiZWw+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lciBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIDxtYXQtcmFkaW8tZ3JvdXAgKGNoYW5nZSk9XCJvbkxvY2F0aW9uVHlwZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICBbY2hlY2tlZF09XCJcclxuICAgICAgICAobWFwUHJveGltaXR5U3RhdGUucHJveGltaXR5bG9jYXRpb25UeXBlJCB8IGFzeW5jKSA9PT0gJ2dlb2xvY2F0aW9uJ1xyXG4gICAgICBcIlxyXG4gICAgICB2YWx1ZT1cImdlb2xvY2F0aW9uXCJcclxuICAgICAgPnt7XHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wuZ2VvbG9jYXRpb24nIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PC9tYXQtcmFkaW8tYnV0dG9uXHJcbiAgICA+XHJcbiAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICBbY2hlY2tlZF09XCJcclxuICAgICAgICAobWFwUHJveGltaXR5U3RhdGUucHJveGltaXR5bG9jYXRpb25UeXBlJCB8IGFzeW5jKSA9PT0gJ21hcENlbnRlcidcclxuICAgICAgXCJcclxuICAgICAgdmFsdWU9XCJtYXBDZW50ZXJcIlxyXG4gICAgICA+e3tcclxuICAgICAgICAnaWdvLmludGVncmF0aW9uLm1hcC1wcm94aW1pdHktdG9vbC5tYXBDZW50ZXInIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PC9tYXQtcmFkaW8tYnV0dG9uXHJcbiAgICA+XHJcbiAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInJhZGl1cy11bml0XCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicmFkaXVzLWZpZWxkXCIgZmxvYXRMYWJlbD1cImFsd2F5c1wiPlxyXG4gICAgPG1hdC1sYWJlbD57e1xyXG4gICAgICAnaWdvLmludGVncmF0aW9uLm1hcC1wcm94aW1pdHktdG9vbC5yYWRpdXNNJyB8IHRyYW5zbGF0ZVxyXG4gICAgfX08L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgcGF0dGVybj1cIlswLTldKlwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwibWF4RGlzdGFuY2VcIlxyXG4gICAgICBtYXRJbnB1dFxyXG4gICAgICBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi5tYXAtcHJveGltaXR5LXRvb2wucmFkaXVzTScgfCB0cmFuc2xhdGVcclxuICAgICAgfX1cIlxyXG4gICAgLz5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Rpdj5cclxuIl19