@igo2/geo 1.14.3 → 1.14.4

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 (876) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/esm2020/igo2-geo.mjs +4 -4
  7. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +300 -300
  8. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +305 -305
  9. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +246 -246
  10. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +79 -79
  11. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +208 -208
  12. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +78 -78
  13. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +216 -216
  14. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +94 -94
  15. package/esm2020/lib/catalog/catalog.module.mjs +52 -52
  16. package/esm2020/lib/catalog/index.mjs +4 -4
  17. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +94 -94
  18. package/esm2020/lib/catalog/shared/catalog.enum.mjs +15 -15
  19. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  20. package/esm2020/lib/catalog/shared/catalog.service.mjs +605 -605
  21. package/esm2020/lib/catalog/shared/index.mjs +5 -5
  22. package/esm2020/lib/datasource/datasource.module.mjs +21 -21
  23. package/esm2020/lib/datasource/index.mjs +3 -3
  24. package/esm2020/lib/datasource/shared/capabilities.service.mjs +431 -431
  25. package/esm2020/lib/datasource/shared/datasource.service.mjs +235 -235
  26. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  27. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  29. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +144 -144
  30. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +108 -108
  32. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +14 -14
  34. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +2 -2
  35. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  36. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +28 -28
  37. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +42 -42
  39. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +56 -56
  41. package/esm2020/lib/datasource/shared/datasources/index.mjs +36 -36
  42. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  43. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +27 -27
  44. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  45. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +11 -11
  46. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  47. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +48 -48
  48. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  49. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +14 -14
  50. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +53 -53
  52. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  53. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +71 -71
  54. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +151 -151
  55. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  56. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -205
  57. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +206 -206
  58. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  59. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +15 -15
  60. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  61. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +8 -8
  62. package/esm2020/lib/datasource/shared/index.mjs +4 -4
  63. package/esm2020/lib/datasource/shared/options/index.mjs +4 -4
  64. package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
  65. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +14 -14
  66. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +80 -80
  67. package/esm2020/lib/datasource/shared/options/options.service.mjs +2 -2
  68. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +356 -356
  69. package/esm2020/lib/datasource/utils/index.mjs +2 -2
  70. package/esm2020/lib/datasource/utils/tilegrid.mjs +19 -19
  71. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +223 -223
  72. package/esm2020/lib/directions/directions-buttons/index.mjs +2 -2
  73. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +289 -289
  74. package/esm2020/lib/directions/directions-inputs/index.mjs +2 -2
  75. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +195 -195
  76. package/esm2020/lib/directions/directions-results/index.mjs +2 -2
  77. package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  78. package/esm2020/lib/directions/directions-sources/directions-source.mjs +2 -2
  79. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +15 -15
  80. package/esm2020/lib/directions/directions-sources/index.mjs +5 -5
  81. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +99 -99
  82. package/esm2020/lib/directions/directions.component.mjs +310 -310
  83. package/esm2020/lib/directions/directions.module.mjs +101 -101
  84. package/esm2020/lib/directions/index.mjs +7 -7
  85. package/esm2020/lib/directions/shared/directions-source.service.mjs +17 -17
  86. package/esm2020/lib/directions/shared/directions.enum.mjs +28 -28
  87. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  88. package/esm2020/lib/directions/shared/directions.service.mjs +28 -28
  89. package/esm2020/lib/directions/shared/directions.utils.mjs +508 -508
  90. package/esm2020/lib/directions/shared/index.mjs +6 -6
  91. package/esm2020/lib/directions/shared/store.mjs +23 -23
  92. package/esm2020/lib/download/download-button/download-button.component.mjs +60 -60
  93. package/esm2020/lib/download/download-button/index.mjs +2 -2
  94. package/esm2020/lib/download/download.module.mjs +41 -41
  95. package/esm2020/lib/download/index.mjs +3 -3
  96. package/esm2020/lib/download/shared/download.interface.mjs +2 -2
  97. package/esm2020/lib/download/shared/download.service.mjs +64 -64
  98. package/esm2020/lib/download/shared/index.mjs +3 -3
  99. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +54 -54
  100. package/esm2020/lib/draw/draw/draw-popup.component.mjs +590 -590
  101. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +47 -47
  102. package/esm2020/lib/draw/draw/draw.component.mjs +1298 -1298
  103. package/esm2020/lib/draw/draw/draw.module.mjs +112 -112
  104. package/esm2020/lib/draw/drawingTool.module.mjs +19 -19
  105. package/esm2020/lib/draw/index.mjs +3 -3
  106. package/esm2020/lib/draw/shared/draw-icon.service.mjs +26 -26
  107. package/esm2020/lib/draw/shared/draw-style.service.mjs +189 -189
  108. package/esm2020/lib/draw/shared/draw.enum.mjs +36 -36
  109. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  110. package/esm2020/lib/draw/shared/draw.utils.mjs +121 -121
  111. package/esm2020/lib/draw/shared/index.mjs +5 -5
  112. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +404 -404
  113. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +53 -53
  114. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +47 -47
  115. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +111 -111
  116. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +33 -33
  117. package/esm2020/lib/feature/feature.module.mjs +27 -27
  118. package/esm2020/lib/feature/index.mjs +3 -3
  119. package/esm2020/lib/feature/shared/feature.enums.mjs +9 -9
  120. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  121. package/esm2020/lib/feature/shared/feature.utils.mjs +346 -346
  122. package/esm2020/lib/feature/shared/index.mjs +6 -6
  123. package/esm2020/lib/feature/shared/store.mjs +123 -123
  124. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +112 -112
  125. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +93 -93
  126. package/esm2020/lib/feature/shared/strategies/index.mjs +5 -5
  127. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +103 -103
  128. package/esm2020/lib/feature/shared/strategies/loading.mjs +132 -132
  129. package/esm2020/lib/feature/shared/strategies/selection.mjs +369 -369
  130. package/esm2020/lib/feature/shared/strategies.utils.mjs +36 -36
  131. package/esm2020/lib/filter/filter.module.mjs +288 -288
  132. package/esm2020/lib/filter/index.mjs +15 -15
  133. package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
  134. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +139 -139
  135. package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
  136. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +644 -644
  137. package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
  138. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1301 -1301
  139. package/esm2020/lib/filter/ogc-filter-time/index.mjs +2 -2
  140. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +176 -176
  141. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +897 -897
  142. package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
  143. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +58 -58
  144. package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
  145. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +306 -306
  146. package/esm2020/lib/filter/ogc-filterable-list/index.mjs +2 -2
  147. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +30 -30
  148. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +43 -43
  149. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +54 -54
  150. package/esm2020/lib/filter/shared/index.mjs +11 -11
  151. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +71 -71
  152. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +29 -29
  153. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  154. package/esm2020/lib/filter/shared/ogc-filter.mjs +691 -691
  155. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +45 -45
  156. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +22 -22
  157. package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
  158. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +268 -268
  159. package/esm2020/lib/filter/shared/time-filter.enum.mjs +12 -12
  160. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  161. package/esm2020/lib/filter/shared/time-filter.service.mjs +106 -106
  162. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
  163. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1088 -1088
  164. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
  165. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +207 -207
  166. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
  167. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +143 -143
  168. package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
  169. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +77 -77
  170. package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
  171. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +733 -733
  172. package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
  173. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +118 -118
  174. package/esm2020/lib/filter/time-filter-list/index.mjs +2 -2
  175. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +30 -30
  176. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +38 -38
  177. package/esm2020/lib/geo.module.mjs +101 -101
  178. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +520 -520
  179. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +188 -188
  180. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +63 -63
  181. package/esm2020/lib/geometry/geometry.module.mjs +26 -26
  182. package/esm2020/lib/geometry/index.mjs +3 -3
  183. package/esm2020/lib/geometry/shared/controls/draw.mjs +313 -313
  184. package/esm2020/lib/geometry/shared/controls/index.mjs +4 -4
  185. package/esm2020/lib/geometry/shared/controls/modify.mjs +520 -520
  186. package/esm2020/lib/geometry/shared/controls/slice.mjs +176 -176
  187. package/esm2020/lib/geometry/shared/geometry.errors.mjs +25 -25
  188. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  189. package/esm2020/lib/geometry/shared/geometry.utils.mjs +121 -121
  190. package/esm2020/lib/geometry/shared/index.mjs +5 -5
  191. package/esm2020/lib/import-export/export-button/export-button.component.mjs +63 -63
  192. package/esm2020/lib/import-export/export-button/index.mjs +2 -2
  193. package/esm2020/lib/import-export/import-export/import-export.component.mjs +1219 -1219
  194. package/esm2020/lib/import-export/import-export/index.mjs +2 -2
  195. package/esm2020/lib/import-export/import-export.module.mjs +95 -95
  196. package/esm2020/lib/import-export/index.mjs +4 -4
  197. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +134 -134
  198. package/esm2020/lib/import-export/shared/export.errors.mjs +15 -15
  199. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  200. package/esm2020/lib/import-export/shared/export.service.mjs +194 -194
  201. package/esm2020/lib/import-export/shared/export.type.mjs +3 -3
  202. package/esm2020/lib/import-export/shared/export.utils.mjs +54 -54
  203. package/esm2020/lib/import-export/shared/import.errors.mjs +38 -38
  204. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  205. package/esm2020/lib/import-export/shared/import.service.mjs +214 -214
  206. package/esm2020/lib/import-export/shared/import.utils.mjs +234 -234
  207. package/esm2020/lib/import-export/shared/index.mjs +11 -11
  208. package/esm2020/lib/import-export/style-list/index.mjs +4 -4
  209. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
  210. package/esm2020/lib/import-export/style-list/style-list.module.mjs +22 -22
  211. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +20 -20
  212. package/esm2020/lib/import-export/style-list/style-list.service.mjs +50 -50
  213. package/esm2020/lib/layer/index.mjs +10 -10
  214. package/esm2020/lib/layer/layer-item/index.mjs +1 -1
  215. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +299 -299
  216. package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
  217. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +387 -387
  218. package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
  219. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +83 -83
  220. package/esm2020/lib/layer/layer-legend-list/index.mjs +2 -2
  221. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +47 -47
  222. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +194 -194
  223. package/esm2020/lib/layer/layer-list/index.mjs +3 -3
  224. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +58 -58
  225. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1008 -1008
  226. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +18 -18
  227. package/esm2020/lib/layer/layer-list-tool/index.mjs +4 -4
  228. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +164 -164
  229. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +6 -6
  230. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  231. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +21 -21
  232. package/esm2020/lib/layer/layer.module.mjs +184 -184
  233. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  234. package/esm2020/lib/layer/shared/index.mjs +6 -6
  235. package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
  236. package/esm2020/lib/layer/shared/layer.service.mjs +185 -185
  237. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  238. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  239. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  240. package/esm2020/lib/layer/shared/layers/image-layer.mjs +67 -67
  241. package/esm2020/lib/layer/shared/layers/index.mjs +13 -13
  242. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +16 -16
  243. package/esm2020/lib/layer/shared/layers/layer.mjs +163 -163
  244. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  245. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +46 -46
  246. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  247. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +377 -377
  248. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  249. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +103 -103
  250. package/esm2020/lib/layer/shared/style.service.mjs +355 -355
  251. package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
  252. package/esm2020/lib/layer/style-modal/index.mjs +1 -1
  253. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +287 -287
  254. package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
  255. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +58 -58
  256. package/esm2020/lib/layer/utils/image-watcher.mjs +61 -61
  257. package/esm2020/lib/layer/utils/index.mjs +5 -5
  258. package/esm2020/lib/layer/utils/layer.utils.mjs +9 -9
  259. package/esm2020/lib/layer/utils/outputLegend.mjs +26 -26
  260. package/esm2020/lib/layer/utils/tile-watcher.mjs +49 -49
  261. package/esm2020/lib/layer/utils/vector-watcher.mjs +47 -47
  262. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +19 -19
  263. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +96 -96
  264. package/esm2020/lib/map/baselayers-switcher/index.mjs +2 -2
  265. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +140 -140
  266. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +78 -78
  267. package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
  268. package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +62 -62
  269. package/esm2020/lib/map/home-extent-button/index.mjs +1 -1
  270. package/esm2020/lib/map/index.mjs +13 -13
  271. package/esm2020/lib/map/info-section/index.mjs +1 -1
  272. package/esm2020/lib/map/info-section/info-section.component.mjs +29 -29
  273. package/esm2020/lib/map/map-browser/index.mjs +1 -1
  274. package/esm2020/lib/map/map-browser/map-browser.component.mjs +65 -65
  275. package/esm2020/lib/map/map-center/index.mjs +1 -1
  276. package/esm2020/lib/map/map-center/map-center.component.mjs +49 -49
  277. package/esm2020/lib/map/map.module.mjs +126 -126
  278. package/esm2020/lib/map/menu-button/index.mjs +1 -1
  279. package/esm2020/lib/map/menu-button/menu-button.component.mjs +61 -61
  280. package/esm2020/lib/map/offline-button/index.mjs +1 -1
  281. package/esm2020/lib/map/offline-button/offline-button.component.mjs +75 -75
  282. package/esm2020/lib/map/rotation-button/index.mjs +1 -1
  283. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +69 -69
  284. package/esm2020/lib/map/shared/controllers/controller.mjs +41 -41
  285. package/esm2020/lib/map/shared/controllers/geolocation.mjs +307 -307
  286. package/esm2020/lib/map/shared/controllers/index.mjs +3 -3
  287. package/esm2020/lib/map/shared/controllers/view.mjs +350 -350
  288. package/esm2020/lib/map/shared/hover-feature.directive.mjs +502 -502
  289. package/esm2020/lib/map/shared/index.mjs +13 -13
  290. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +237 -237
  291. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +106 -106
  292. package/esm2020/lib/map/shared/map.enums.mjs +5 -5
  293. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  294. package/esm2020/lib/map/shared/map.mjs +412 -407
  295. package/esm2020/lib/map/shared/map.service.mjs +28 -28
  296. package/esm2020/lib/map/shared/map.utils.mjs +462 -462
  297. package/esm2020/lib/map/shared/mapOffline.directive.mjs +162 -162
  298. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  299. package/esm2020/lib/map/shared/projection.service.mjs +64 -64
  300. package/esm2020/lib/map/shared/projection.utils.mjs +63 -63
  301. package/esm2020/lib/map/swipe-control/index.mjs +1 -1
  302. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +192 -192
  303. package/esm2020/lib/map/utils/layer-watcher.mjs +78 -78
  304. package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
  305. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +113 -113
  306. package/esm2020/lib/map/zoom-button/index.mjs +1 -1
  307. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +39 -39
  308. package/esm2020/lib/measure/index.mjs +3 -3
  309. package/esm2020/lib/measure/measure.module.mjs +19 -19
  310. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +36 -36
  311. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +179 -179
  312. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +139 -139
  313. package/esm2020/lib/measure/measurer/measurer.component.mjs +1041 -1041
  314. package/esm2020/lib/measure/measurer/measurer.module.mjs +93 -93
  315. package/esm2020/lib/measure/shared/index.mjs +4 -4
  316. package/esm2020/lib/measure/shared/measure.enum.mjs +36 -36
  317. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  318. package/esm2020/lib/measure/shared/measure.utils.mjs +488 -488
  319. package/esm2020/lib/metadata/index.mjs +2 -2
  320. package/esm2020/lib/metadata/metadata-button/index.mjs +2 -2
  321. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +134 -134
  322. package/esm2020/lib/metadata/metadata.module.mjs +54 -54
  323. package/esm2020/lib/metadata/shared/index.mjs +3 -3
  324. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  325. package/esm2020/lib/metadata/shared/metadata.service.mjs +19 -19
  326. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +104 -104
  327. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +5 -5
  328. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  329. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +166 -166
  330. package/esm2020/lib/offline/geoDB/index.mjs +5 -5
  331. package/esm2020/lib/offline/index.mjs +2 -2
  332. package/esm2020/lib/offline/shared/geo-network.service.mjs +65 -65
  333. package/esm2020/lib/offline/shared/index.mjs +2 -2
  334. package/esm2020/lib/overlay/index.mjs +2 -2
  335. package/esm2020/lib/overlay/overlay.module.mjs +22 -22
  336. package/esm2020/lib/overlay/shared/index.mjs +6 -6
  337. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +68 -68
  338. package/esm2020/lib/overlay/shared/overlay.directive.mjs +32 -32
  339. package/esm2020/lib/overlay/shared/overlay.enum.mjs +7 -7
  340. package/esm2020/lib/overlay/shared/overlay.mjs +129 -129
  341. package/esm2020/lib/overlay/shared/overlay.service.mjs +26 -26
  342. package/esm2020/lib/overlay/shared/overlay.utils.mjs +102 -102
  343. package/esm2020/lib/print/index.mjs +4 -4
  344. package/esm2020/lib/print/print/print.component.mjs +125 -125
  345. package/esm2020/lib/print/print-form/index.mjs +2 -2
  346. package/esm2020/lib/print/print-form/print-form.component.mjs +427 -427
  347. package/esm2020/lib/print/print.module.mjs +64 -64
  348. package/esm2020/lib/print/shared/geopdf.mjs +57 -57
  349. package/esm2020/lib/print/shared/index.mjs +5 -5
  350. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  351. package/esm2020/lib/print/shared/print.service.mjs +933 -933
  352. package/esm2020/lib/print/shared/print.type.mjs +29 -29
  353. package/esm2020/lib/query/index.mjs +2 -2
  354. package/esm2020/lib/query/query.module.mjs +28 -28
  355. package/esm2020/lib/query/shared/index.mjs +7 -7
  356. package/esm2020/lib/query/shared/query-search-source.mjs +34 -34
  357. package/esm2020/lib/query/shared/query-search-source.providers.mjs +21 -21
  358. package/esm2020/lib/query/shared/query.directive.mjs +260 -260
  359. package/esm2020/lib/query/shared/query.enums.mjs +30 -30
  360. package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
  361. package/esm2020/lib/query/shared/query.service.mjs +732 -732
  362. package/esm2020/lib/query/shared/query.utils.mjs +36 -36
  363. package/esm2020/lib/search/index.mjs +11 -11
  364. package/esm2020/lib/search/search-bar/search-bar.component.mjs +511 -511
  365. package/esm2020/lib/search/search-bar/search-bar.module.mjs +74 -74
  366. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +34 -34
  367. package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +117 -117
  368. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +370 -370
  369. package/esm2020/lib/search/search-results/search-results-item.component.mjs +123 -123
  370. package/esm2020/lib/search/search-results/search-results.component.mjs +339 -339
  371. package/esm2020/lib/search/search-results/search-results.module.mjs +103 -103
  372. package/esm2020/lib/search/search-selector/search-selector.component.mjs +122 -122
  373. package/esm2020/lib/search/search-selector/search-selector.module.mjs +55 -55
  374. package/esm2020/lib/search/search-settings/search-settings.component.mjs +441 -441
  375. package/esm2020/lib/search/search-settings/search-settings.module.mjs +59 -59
  376. package/esm2020/lib/search/search.module.mjs +66 -66
  377. package/esm2020/lib/search/shared/index.mjs +9 -9
  378. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +321 -321
  379. package/esm2020/lib/search/shared/search-source-service.providers.mjs +19 -19
  380. package/esm2020/lib/search/shared/search-source.service.mjs +46 -46
  381. package/esm2020/lib/search/shared/search.enums.mjs +3 -3
  382. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  383. package/esm2020/lib/search/shared/search.service.mjs +120 -120
  384. package/esm2020/lib/search/shared/search.utils.mjs +90 -90
  385. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  386. package/esm2020/lib/search/shared/sources/coordinates.mjs +153 -153
  387. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +39 -39
  388. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  389. package/esm2020/lib/search/shared/sources/icherche.mjs +767 -767
  390. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +65 -65
  391. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  392. package/esm2020/lib/search/shared/sources/ilayer.mjs +320 -320
  393. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +39 -39
  394. package/esm2020/lib/search/shared/sources/index.mjs +17 -17
  395. package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +2 -2
  396. package/esm2020/lib/search/shared/sources/nominatim.mjs +252 -252
  397. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +22 -22
  398. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  399. package/esm2020/lib/search/shared/sources/source.mjs +178 -178
  400. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  401. package/esm2020/lib/search/shared/sources/storedqueries.mjs +425 -425
  402. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +40 -40
  403. package/esm2020/lib/toast/index.mjs +2 -2
  404. package/esm2020/lib/toast/toast.component.mjs +112 -112
  405. package/esm2020/lib/toast/toast.module.mjs +44 -44
  406. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
  407. package/esm2020/lib/utils/commonVectorStyle.mjs +74 -74
  408. package/esm2020/lib/utils/googleLinks.mjs +12 -12
  409. package/esm2020/lib/utils/id-generator.mjs +109 -109
  410. package/esm2020/lib/utils/index.mjs +5 -5
  411. package/esm2020/lib/utils/osmLinks.mjs +9 -9
  412. package/esm2020/lib/wkt/index.mjs +2 -2
  413. package/esm2020/lib/wkt/shared/index.mjs +2 -2
  414. package/esm2020/lib/wkt/shared/wkt.service.mjs +224 -224
  415. package/esm2020/lib/wkt/wkt.module.mjs +21 -21
  416. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +47 -47
  417. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +35 -35
  418. package/esm2020/lib/workspace/confirmation-popup/index.mjs +2 -2
  419. package/esm2020/lib/workspace/index.mjs +8 -8
  420. package/esm2020/lib/workspace/shared/edition-workspace.mjs +279 -279
  421. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +656 -656
  422. package/esm2020/lib/workspace/shared/feature-workspace.mjs +34 -34
  423. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +149 -149
  424. package/esm2020/lib/workspace/shared/index.mjs +8 -8
  425. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +34 -34
  426. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +149 -149
  427. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +259 -259
  428. package/esm2020/lib/workspace/shared/workspace.utils.mjs +23 -23
  429. package/esm2020/lib/workspace/widgets/index.mjs +4 -4
  430. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +46 -46
  431. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +35 -35
  432. package/esm2020/lib/workspace/widgets/widgets.mjs +15 -15
  433. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +132 -132
  434. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +27 -27
  435. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +112 -112
  436. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +27 -27
  437. package/esm2020/lib/workspace/workspace.module.mjs +61 -61
  438. package/esm2020/public_api.mjs +54 -54
  439. package/fesm2015/igo2-geo.mjs +44992 -44987
  440. package/fesm2015/igo2-geo.mjs.map +1 -1
  441. package/fesm2020/igo2-geo.mjs +43034 -43029
  442. package/fesm2020/igo2-geo.mjs.map +1 -1
  443. package/index.d.ts +5 -5
  444. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +126 -126
  445. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +80 -80
  446. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +105 -105
  447. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +22 -22
  448. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +45 -45
  449. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +25 -25
  450. package/lib/catalog/catalog-library/catalog-library.component.d.ts +65 -65
  451. package/lib/catalog/catalog-library/catalog-library.module.d.ts +26 -26
  452. package/lib/catalog/catalog.module.d.ts +14 -14
  453. package/lib/catalog/index.d.ts +4 -4
  454. package/lib/catalog/shared/catalog.abstract.d.ts +50 -50
  455. package/lib/catalog/shared/catalog.enum.d.ts +14 -14
  456. package/lib/catalog/shared/catalog.interface.d.ts +66 -66
  457. package/lib/catalog/shared/catalog.service.d.ts +36 -36
  458. package/lib/catalog/shared/index.d.ts +4 -4
  459. package/lib/datasource/datasource.module.d.ts +8 -8
  460. package/lib/datasource/index.d.ts +2 -2
  461. package/lib/datasource/shared/capabilities.service.d.ts +37 -37
  462. package/lib/datasource/shared/datasource.service.d.ts +37 -37
  463. package/lib/datasource/shared/datasources/any-datasource.d.ts +16 -16
  464. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +15 -15
  465. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +14 -14
  466. package/lib/datasource/shared/datasources/arcgisrest-datasource.interface.d.ts +14 -14
  467. package/lib/datasource/shared/datasources/carto-datasource.d.ts +15 -15
  468. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +13 -13
  469. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +10 -10
  470. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +11 -11
  471. package/lib/datasource/shared/datasources/data.service.d.ts +3 -3
  472. package/lib/datasource/shared/datasources/datasource.d.ts +20 -20
  473. package/lib/datasource/shared/datasources/datasource.interface.d.ts +100 -100
  474. package/lib/datasource/shared/datasources/feature-datasource.d.ts +12 -12
  475. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +18 -18
  476. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +15 -15
  477. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +15 -15
  478. package/lib/datasource/shared/datasources/index.d.ts +35 -35
  479. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +10 -10
  480. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +13 -13
  481. package/lib/datasource/shared/datasources/osm-datasource.d.ts +9 -9
  482. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +7 -7
  483. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +15 -15
  484. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +14 -14
  485. package/lib/datasource/shared/datasources/tiledebug-datasource.d.ts +9 -9
  486. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +9 -9
  487. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +15 -15
  488. package/lib/datasource/shared/datasources/websocket-datasource.interface.d.ts +7 -7
  489. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +20 -20
  490. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +20 -20
  491. package/lib/datasource/shared/datasources/wfs.service.d.ts +17 -17
  492. package/lib/datasource/shared/datasources/wms-datasource.d.ts +31 -31
  493. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +32 -32
  494. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +41 -41
  495. package/lib/datasource/shared/datasources/wmts-datasource.d.ts +10 -10
  496. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +13 -13
  497. package/lib/datasource/shared/datasources/xyz-datasource.d.ts +9 -9
  498. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +11 -11
  499. package/lib/datasource/shared/index.d.ts +4 -4
  500. package/lib/datasource/shared/options/index.d.ts +4 -4
  501. package/lib/datasource/shared/options/options-api.interface.d.ts +4 -4
  502. package/lib/datasource/shared/options/options-api.providers.d.ts +10 -10
  503. package/lib/datasource/shared/options/options-api.service.d.ts +16 -16
  504. package/lib/datasource/shared/options/options.service.d.ts +6 -6
  505. package/lib/datasource/utils/esri-style-generator.d.ts +21 -21
  506. package/lib/datasource/utils/index.d.ts +2 -2
  507. package/lib/datasource/utils/tilegrid.d.ts +2 -2
  508. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +30 -30
  509. package/lib/directions/directions-buttons/index.d.ts +1 -1
  510. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -45
  511. package/lib/directions/directions-inputs/index.d.ts +1 -1
  512. package/lib/directions/directions-results/directions-results.component.d.ts +30 -30
  513. package/lib/directions/directions-results/index.d.ts +1 -1
  514. package/lib/directions/directions-sources/directions-source.d.ts +7 -7
  515. package/lib/directions/directions-sources/directions-source.interface.d.ts +11 -11
  516. package/lib/directions/directions-sources/directions-source.provider.d.ts +11 -11
  517. package/lib/directions/directions-sources/index.d.ts +4 -4
  518. package/lib/directions/directions-sources/osrm-directions-source.d.ts +23 -23
  519. package/lib/directions/directions.component.d.ts +56 -56
  520. package/lib/directions/directions.module.d.ts +26 -26
  521. package/lib/directions/index.d.ts +6 -6
  522. package/lib/directions/shared/directions-source.service.d.ts +11 -11
  523. package/lib/directions/shared/directions.enum.d.ts +22 -22
  524. package/lib/directions/shared/directions.interface.d.ts +126 -126
  525. package/lib/directions/shared/directions.service.d.ts +13 -13
  526. package/lib/directions/shared/directions.utils.d.ts +42 -42
  527. package/lib/directions/shared/index.d.ts +5 -5
  528. package/lib/directions/shared/store.d.ts +18 -18
  529. package/lib/download/download-button/download-button.component.d.ts +18 -18
  530. package/lib/download/download-button/index.d.ts +1 -1
  531. package/lib/download/download.module.d.ts +14 -14
  532. package/lib/download/index.d.ts +2 -2
  533. package/lib/download/shared/download.interface.d.ts +10 -10
  534. package/lib/download/shared/download.service.d.ts +11 -11
  535. package/lib/download/shared/index.d.ts +2 -2
  536. package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -14
  537. package/lib/draw/draw/draw-popup.component.d.ts +63 -63
  538. package/lib/draw/draw/draw-shorcuts.component.d.ts +5 -5
  539. package/lib/draw/draw/draw.component.d.ts +239 -239
  540. package/lib/draw/draw/draw.module.d.ts +34 -34
  541. package/lib/draw/drawingTool.module.d.ts +7 -7
  542. package/lib/draw/index.d.ts +2 -2
  543. package/lib/draw/shared/draw-icon.service.d.ts +12 -12
  544. package/lib/draw/shared/draw-style.service.d.ts +36 -36
  545. package/lib/draw/shared/draw.enum.d.ts +32 -32
  546. package/lib/draw/shared/draw.interface.d.ts +40 -40
  547. package/lib/draw/shared/draw.utils.d.ts +35 -35
  548. package/lib/draw/shared/index.d.ts +5 -5
  549. package/lib/feature/feature-details/feature-details.component.d.ts +60 -60
  550. package/lib/feature/feature-details/feature-details.directive.d.ts +19 -19
  551. package/lib/feature/feature-details/feature-details.module.d.ts +15 -15
  552. package/lib/feature/feature-form/feature-form.component.d.ts +50 -50
  553. package/lib/feature/feature-form/feature-form.module.d.ts +12 -12
  554. package/lib/feature/feature.module.d.ts +9 -9
  555. package/lib/feature/index.d.ts +3 -3
  556. package/lib/feature/shared/feature.enums.d.ts +7 -7
  557. package/lib/feature/shared/feature.interfaces.d.ts +74 -74
  558. package/lib/feature/shared/feature.utils.d.ts +104 -104
  559. package/lib/feature/shared/index.d.ts +6 -6
  560. package/lib/feature/shared/store.d.ts +71 -71
  561. package/lib/feature/shared/strategies/in-map-extent.d.ts +52 -52
  562. package/lib/feature/shared/strategies/in-map-resolution.d.ts +52 -52
  563. package/lib/feature/shared/strategies/index.d.ts +5 -5
  564. package/lib/feature/shared/strategies/loading-layer.d.ts +59 -59
  565. package/lib/feature/shared/strategies/loading.d.ts +75 -75
  566. package/lib/feature/shared/strategies/selection.d.ts +176 -176
  567. package/lib/feature/shared/strategies.utils.d.ts +17 -17
  568. package/lib/filter/filter.module.d.ts +53 -53
  569. package/lib/filter/index.d.ts +15 -15
  570. package/lib/filter/ogc-filter-button/index.d.ts +1 -1
  571. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +20 -20
  572. package/lib/filter/ogc-filter-form/index.d.ts +1 -1
  573. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +65 -65
  574. package/lib/filter/ogc-filter-selection/index.d.ts +1 -1
  575. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +93 -93
  576. package/lib/filter/ogc-filter-time/index.d.ts +2 -2
  577. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +39 -39
  578. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +86 -86
  579. package/lib/filter/ogc-filterable-form/index.d.ts +1 -1
  580. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +15 -15
  581. package/lib/filter/ogc-filterable-item/index.d.ts +1 -1
  582. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +41 -41
  583. package/lib/filter/ogc-filterable-list/index.d.ts +2 -2
  584. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +14 -14
  585. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +10 -10
  586. package/lib/filter/shared/filterable-datasource.pipe.d.ts +10 -10
  587. package/lib/filter/shared/index.d.ts +11 -11
  588. package/lib/filter/shared/ogc-filter-time.service.d.ts +19 -19
  589. package/lib/filter/shared/ogc-filter.d.ts +29 -29
  590. package/lib/filter/shared/ogc-filter.enum.d.ts +27 -27
  591. package/lib/filter/shared/ogc-filter.interface.d.ts +200 -200
  592. package/lib/filter/shared/ogc-filter.service.d.ts +11 -11
  593. package/lib/filter/shared/spatial-filter.enum.d.ts +19 -19
  594. package/lib/filter/shared/spatial-filter.interface.d.ts +10 -10
  595. package/lib/filter/shared/spatial-filter.service.d.ts +37 -37
  596. package/lib/filter/shared/time-filter.enum.d.ts +10 -10
  597. package/lib/filter/shared/time-filter.interface.d.ts +29 -29
  598. package/lib/filter/shared/time-filter.service.d.ts +11 -11
  599. package/lib/filter/spatial-filter/spatial-filter-item/index.d.ts +1 -1
  600. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +166 -166
  601. package/lib/filter/spatial-filter/spatial-filter-list/index.d.ts +1 -1
  602. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +58 -58
  603. package/lib/filter/spatial-filter/spatial-filter-type/index.d.ts +1 -1
  604. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +45 -45
  605. package/lib/filter/time-filter-button/index.d.ts +1 -1
  606. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +20 -20
  607. package/lib/filter/time-filter-form/index.d.ts +1 -1
  608. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +77 -77
  609. package/lib/filter/time-filter-item/index.d.ts +1 -1
  610. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +28 -28
  611. package/lib/filter/time-filter-list/index.d.ts +2 -2
  612. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +14 -14
  613. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +12 -12
  614. package/lib/geo.module.d.ts +28 -28
  615. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +206 -206
  616. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +88 -88
  617. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +19 -19
  618. package/lib/geometry/geometry.module.d.ts +8 -8
  619. package/lib/geometry/index.d.ts +3 -3
  620. package/lib/geometry/shared/controls/draw.d.ts +150 -150
  621. package/lib/geometry/shared/controls/index.d.ts +3 -3
  622. package/lib/geometry/shared/controls/modify.d.ts +228 -228
  623. package/lib/geometry/shared/controls/slice.d.ts +99 -99
  624. package/lib/geometry/shared/geometry.errors.d.ts +11 -11
  625. package/lib/geometry/shared/geometry.interfaces.d.ts +13 -13
  626. package/lib/geometry/shared/geometry.utils.d.ts +45 -45
  627. package/lib/geometry/shared/index.d.ts +4 -4
  628. package/lib/import-export/export-button/export-button.component.d.ts +16 -16
  629. package/lib/import-export/export-button/index.d.ts +1 -1
  630. package/lib/import-export/import-export/import-export.component.d.ts +104 -104
  631. package/lib/import-export/import-export/index.d.ts +1 -1
  632. package/lib/import-export/import-export.module.d.ts +26 -26
  633. package/lib/import-export/index.d.ts +4 -4
  634. package/lib/import-export/shared/drop-geo-file.directive.d.ts +36 -36
  635. package/lib/import-export/shared/export.errors.d.ts +8 -8
  636. package/lib/import-export/shared/export.interface.d.ts +11 -11
  637. package/lib/import-export/shared/export.service.d.ts +30 -30
  638. package/lib/import-export/shared/export.type.d.ts +16 -16
  639. package/lib/import-export/shared/export.utils.d.ts +19 -19
  640. package/lib/import-export/shared/import.errors.d.ts +20 -20
  641. package/lib/import-export/shared/import.interface.d.ts +8 -8
  642. package/lib/import-export/shared/import.service.d.ts +31 -31
  643. package/lib/import-export/shared/import.utils.d.ts +18 -18
  644. package/lib/import-export/shared/index.d.ts +10 -10
  645. package/lib/import-export/style-list/index.d.ts +4 -4
  646. package/lib/import-export/style-list/style-list.interface.d.ts +6 -6
  647. package/lib/import-export/style-list/style-list.module.d.ts +8 -8
  648. package/lib/import-export/style-list/style-list.provider.d.ts +15 -15
  649. package/lib/import-export/style-list/style-list.service.d.ts +18 -18
  650. package/lib/layer/index.d.ts +10 -10
  651. package/lib/layer/layer-item/index.d.ts +1 -1
  652. package/lib/layer/layer-item/layer-item.component.d.ts +62 -62
  653. package/lib/layer/layer-legend/index.d.ts +1 -1
  654. package/lib/layer/layer-legend/layer-legend.component.d.ts +90 -90
  655. package/lib/layer/layer-legend-item/index.d.ts +1 -1
  656. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +22 -22
  657. package/lib/layer/layer-legend-list/index.d.ts +2 -2
  658. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +16 -16
  659. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +31 -31
  660. package/lib/layer/layer-list/index.d.ts +3 -3
  661. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +19 -19
  662. package/lib/layer/layer-list/layer-list.component.d.ts +127 -127
  663. package/lib/layer/layer-list/layer-list.enum.d.ts +15 -15
  664. package/lib/layer/layer-list-tool/index.d.ts +4 -4
  665. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +32 -32
  666. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +5 -5
  667. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +8 -8
  668. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +14 -14
  669. package/lib/layer/layer.module.d.ts +36 -36
  670. package/lib/layer/shared/clusterParam.d.ts +13 -13
  671. package/lib/layer/shared/index.d.ts +6 -6
  672. package/lib/layer/shared/layer.enums.d.ts +1 -1
  673. package/lib/layer/shared/layer.service.d.ts +30 -30
  674. package/lib/layer/shared/layers/any-layer.d.ts +6 -6
  675. package/lib/layer/shared/layers/any-layer.interface.d.ts +6 -6
  676. package/lib/layer/shared/layers/image-layer.d.ts +22 -22
  677. package/lib/layer/shared/layers/image-layer.interface.d.ts +19 -19
  678. package/lib/layer/shared/layers/index.d.ts +12 -12
  679. package/lib/layer/shared/layers/layer.d.ts +62 -62
  680. package/lib/layer/shared/layers/layer.interface.d.ts +109 -109
  681. package/lib/layer/shared/layers/tile-layer.d.ts +31 -31
  682. package/lib/layer/shared/layers/tile-layer.interface.d.ts +20 -20
  683. package/lib/layer/shared/layers/vector-layer.d.ts +78 -78
  684. package/lib/layer/shared/layers/vector-layer.interface.d.ts +41 -41
  685. package/lib/layer/shared/layers/vectortile-layer.d.ts +28 -28
  686. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +18 -18
  687. package/lib/layer/shared/style.service.d.ts +57 -57
  688. package/lib/layer/shared/vector-style.interface.d.ts +38 -38
  689. package/lib/layer/style-modal/index.d.ts +1 -1
  690. package/lib/layer/style-modal/style-modal.component.d.ts +42 -42
  691. package/lib/layer/track-feature-button/index.d.ts +1 -1
  692. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +15 -15
  693. package/lib/layer/utils/image-watcher.d.ts +17 -17
  694. package/lib/layer/utils/index.d.ts +5 -5
  695. package/lib/layer/utils/layer.utils.d.ts +2 -2
  696. package/lib/layer/utils/outputLegend.d.ts +7 -7
  697. package/lib/layer/utils/tile-watcher.d.ts +14 -14
  698. package/lib/layer/utils/vector-watcher.d.ts +13 -13
  699. package/lib/map/baselayers-switcher/baselayers-switcher.animation.d.ts +2 -2
  700. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +21 -21
  701. package/lib/map/baselayers-switcher/index.d.ts +2 -2
  702. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +29 -29
  703. package/lib/map/geolocate-button/geolocate-button.component.d.ts +22 -22
  704. package/lib/map/geolocate-button/index.d.ts +1 -1
  705. package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -20
  706. package/lib/map/home-extent-button/index.d.ts +1 -1
  707. package/lib/map/index.d.ts +13 -13
  708. package/lib/map/info-section/index.d.ts +1 -1
  709. package/lib/map/info-section/info-section.component.d.ts +7 -7
  710. package/lib/map/map-browser/index.d.ts +1 -1
  711. package/lib/map/map-browser/map-browser.component.d.ts +25 -25
  712. package/lib/map/map-center/index.d.ts +1 -1
  713. package/lib/map/map-center/map-center.component.d.ts +31 -31
  714. package/lib/map/map.module.d.ts +28 -28
  715. package/lib/map/menu-button/index.d.ts +1 -1
  716. package/lib/map/menu-button/menu-button.component.d.ts +17 -17
  717. package/lib/map/offline-button/index.d.ts +1 -1
  718. package/lib/map/offline-button/offline-button.component.d.ts +23 -23
  719. package/lib/map/rotation-button/index.d.ts +1 -1
  720. package/lib/map/rotation-button/rotation-button.component.d.ts +17 -17
  721. package/lib/map/shared/controllers/controller.d.ts +29 -29
  722. package/lib/map/shared/controllers/geolocation.d.ts +112 -112
  723. package/lib/map/shared/controllers/index.d.ts +3 -3
  724. package/lib/map/shared/controllers/view.d.ts +200 -200
  725. package/lib/map/shared/hover-feature.directive.d.ts +132 -132
  726. package/lib/map/shared/index.d.ts +13 -13
  727. package/lib/map/shared/linkedLayers.utils.d.ts +17 -17
  728. package/lib/map/shared/map-pointer-position.directive.d.ts +71 -71
  729. package/lib/map/shared/map.d.ts +135 -135
  730. package/lib/map/shared/map.enums.d.ts +4 -4
  731. package/lib/map/shared/map.interface.d.ts +57 -57
  732. package/lib/map/shared/map.service.d.ts +19 -19
  733. package/lib/map/shared/map.utils.d.ts +90 -90
  734. package/lib/map/shared/mapOffline.directive.d.ts +21 -21
  735. package/lib/map/shared/projection.interfaces.d.ts +29 -29
  736. package/lib/map/shared/projection.service.d.ts +19 -19
  737. package/lib/map/shared/projection.utils.d.ts +19 -19
  738. package/lib/map/swipe-control/index.d.ts +1 -1
  739. package/lib/map/swipe-control/swipe-control.component.d.ts +97 -97
  740. package/lib/map/utils/layer-watcher.d.ts +20 -20
  741. package/lib/map/wake-lock-button/index.d.ts +1 -1
  742. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +30 -30
  743. package/lib/map/zoom-button/index.d.ts +1 -1
  744. package/lib/map/zoom-button/zoom-button.component.d.ts +12 -12
  745. package/lib/measure/index.d.ts +3 -3
  746. package/lib/measure/measure.module.d.ts +7 -7
  747. package/lib/measure/measurer/measure-format.pipe.d.ts +15 -15
  748. package/lib/measure/measurer/measurer-dialog.component.d.ts +14 -14
  749. package/lib/measure/measurer/measurer-item.component.d.ts +66 -66
  750. package/lib/measure/measurer/measurer.component.d.ts +405 -405
  751. package/lib/measure/measurer/measurer.module.d.ts +25 -25
  752. package/lib/measure/shared/index.d.ts +3 -3
  753. package/lib/measure/shared/measure.enum.d.ts +33 -33
  754. package/lib/measure/shared/measure.interfaces.d.ts +21 -21
  755. package/lib/measure/shared/measure.utils.d.ts +180 -180
  756. package/lib/metadata/index.d.ts +2 -2
  757. package/lib/metadata/metadata-button/index.d.ts +1 -1
  758. package/lib/metadata/metadata-button/metadata-button.component.d.ts +26 -26
  759. package/lib/metadata/metadata.module.d.ts +15 -15
  760. package/lib/metadata/shared/index.d.ts +2 -2
  761. package/lib/metadata/shared/metadata.interface.d.ts +13 -13
  762. package/lib/metadata/shared/metadata.service.d.ts +8 -8
  763. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +14 -14
  764. package/lib/offline/geoDB/geoDB.enums.d.ts +4 -4
  765. package/lib/offline/geoDB/geoDB.interface.d.ts +19 -19
  766. package/lib/offline/geoDB/geoDB.service.d.ts +37 -37
  767. package/lib/offline/geoDB/index.d.ts +4 -4
  768. package/lib/offline/index.d.ts +2 -2
  769. package/lib/offline/shared/geo-network.service.d.ts +28 -28
  770. package/lib/offline/shared/index.d.ts +1 -1
  771. package/lib/overlay/index.d.ts +1 -1
  772. package/lib/overlay/overlay.module.d.ts +9 -9
  773. package/lib/overlay/shared/index.d.ts +6 -6
  774. package/lib/overlay/shared/overlay-marker-style.utils.d.ts +11 -11
  775. package/lib/overlay/shared/overlay.d.ts +81 -81
  776. package/lib/overlay/shared/overlay.directive.d.ts +18 -18
  777. package/lib/overlay/shared/overlay.enum.d.ts +6 -6
  778. package/lib/overlay/shared/overlay.service.d.ts +14 -14
  779. package/lib/overlay/shared/overlay.utils.d.ts +17 -17
  780. package/lib/print/index.d.ts +3 -3
  781. package/lib/print/print/print.component.d.ts +35 -35
  782. package/lib/print/print-form/index.d.ts +1 -1
  783. package/lib/print/print-form/print-form.component.d.ts +97 -97
  784. package/lib/print/print.module.d.ts +19 -19
  785. package/lib/print/shared/geopdf.d.ts +1 -1
  786. package/lib/print/shared/index.d.ts +4 -4
  787. package/lib/print/shared/print.interface.d.ts +22 -22
  788. package/lib/print/shared/print.service.d.ts +168 -168
  789. package/lib/print/shared/print.type.d.ts +45 -45
  790. package/lib/query/index.d.ts +1 -1
  791. package/lib/query/query.module.d.ts +11 -11
  792. package/lib/query/shared/index.d.ts +6 -6
  793. package/lib/query/shared/query-search-source.d.ts +17 -17
  794. package/lib/query/shared/query-search-source.providers.d.ts +17 -17
  795. package/lib/query/shared/query.directive.d.ts +105 -105
  796. package/lib/query/shared/query.enums.d.ts +26 -26
  797. package/lib/query/shared/query.interfaces.d.ts +35 -35
  798. package/lib/query/shared/query.service.d.ts +56 -56
  799. package/lib/query/shared/query.utils.d.ts +27 -27
  800. package/lib/search/index.d.ts +11 -11
  801. package/lib/search/search-bar/search-bar.component.d.ts +230 -230
  802. package/lib/search/search-bar/search-bar.module.d.ts +23 -23
  803. package/lib/search/search-bar/search-url-param.directive.d.ts +13 -13
  804. package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -32
  805. package/lib/search/search-results/search-results-add-button.component.d.ts +76 -76
  806. package/lib/search/search-results/search-results-item.component.d.ts +47 -47
  807. package/lib/search/search-results/search-results.component.d.ts +161 -161
  808. package/lib/search/search-results/search-results.module.d.ts +28 -28
  809. package/lib/search/search-selector/search-selector.component.d.ts +58 -58
  810. package/lib/search/search-selector/search-selector.module.d.ts +19 -19
  811. package/lib/search/search-settings/search-settings.component.d.ts +102 -102
  812. package/lib/search/search-settings/search-settings.module.d.ts +20 -20
  813. package/lib/search/search.module.d.ts +14 -14
  814. package/lib/search/shared/index.d.ts +8 -8
  815. package/lib/search/shared/search-pointer-summary.directive.d.ts +133 -133
  816. package/lib/search/shared/search-source-service.providers.d.ts +15 -15
  817. package/lib/search/shared/search-source.service.d.ts +32 -32
  818. package/lib/search/shared/search.enums.d.ts +1 -1
  819. package/lib/search/shared/search.interfaces.d.ts +29 -29
  820. package/lib/search/shared/search.service.d.ts +53 -53
  821. package/lib/search/shared/search.utils.d.ts +39 -39
  822. package/lib/search/shared/sources/coordinates.d.ts +40 -40
  823. package/lib/search/shared/sources/coordinates.interfaces.d.ts +12 -12
  824. package/lib/search/shared/sources/coordinates.providers.d.ts +31 -31
  825. package/lib/search/shared/sources/icherche.d.ts +96 -96
  826. package/lib/search/shared/sources/icherche.interfaces.d.ts +30 -30
  827. package/lib/search/shared/sources/icherche.providers.d.ts +46 -46
  828. package/lib/search/shared/sources/ilayer.d.ts +55 -55
  829. package/lib/search/shared/sources/ilayer.interfaces.d.ts +47 -47
  830. package/lib/search/shared/sources/ilayer.providers.d.ts +31 -31
  831. package/lib/search/shared/sources/index.d.ts +17 -17
  832. package/lib/search/shared/sources/nominatim.d.ts +45 -45
  833. package/lib/search/shared/sources/nominatim.interfaces.d.ts +10 -10
  834. package/lib/search/shared/sources/nominatim.providers.d.ts +18 -18
  835. package/lib/search/shared/sources/source.d.ts +108 -108
  836. package/lib/search/shared/sources/source.interfaces.d.ts +47 -47
  837. package/lib/search/shared/sources/storedqueries.d.ts +73 -73
  838. package/lib/search/shared/sources/storedqueries.interfaces.d.ts +42 -42
  839. package/lib/search/shared/sources/storedqueries.providers.d.ts +32 -32
  840. package/lib/toast/index.d.ts +1 -1
  841. package/lib/toast/toast.component.d.ts +33 -33
  842. package/lib/toast/toast.module.d.ts +14 -14
  843. package/lib/utils/commonVectorStyle.d.ts +14 -14
  844. package/lib/utils/commonVectorStyle.interface.d.ts +16 -16
  845. package/lib/utils/googleLinks.d.ts +5 -5
  846. package/lib/utils/id-generator.d.ts +54 -54
  847. package/lib/utils/index.d.ts +5 -5
  848. package/lib/utils/osmLinks.d.ts +4 -4
  849. package/lib/wkt/index.d.ts +1 -1
  850. package/lib/wkt/shared/index.d.ts +1 -1
  851. package/lib/wkt/shared/wkt.service.d.ts +19 -19
  852. package/lib/wkt/wkt.module.d.ts +8 -8
  853. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -23
  854. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -14
  855. package/lib/workspace/confirmation-popup/index.d.ts +2 -2
  856. package/lib/workspace/index.d.ts +7 -7
  857. package/lib/workspace/shared/edition-workspace.d.ts +82 -82
  858. package/lib/workspace/shared/edition-workspace.service.d.ts +52 -52
  859. package/lib/workspace/shared/feature-workspace.d.ts +18 -18
  860. package/lib/workspace/shared/feature-workspace.service.d.ts +19 -19
  861. package/lib/workspace/shared/index.d.ts +7 -7
  862. package/lib/workspace/shared/wfs-workspace.d.ts +18 -18
  863. package/lib/workspace/shared/wfs-workspace.service.d.ts +19 -19
  864. package/lib/workspace/shared/wms-workspace.service.d.ts +22 -22
  865. package/lib/workspace/shared/workspace.utils.d.ts +10 -10
  866. package/lib/workspace/widgets/index.d.ts +3 -3
  867. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +29 -29
  868. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +14 -14
  869. package/lib/workspace/widgets/widgets.d.ts +9 -9
  870. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +32 -32
  871. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +11 -11
  872. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +26 -26
  873. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +11 -11
  874. package/lib/workspace/workspace.module.d.ts +14 -14
  875. package/package.json +4 -4
  876. package/public_api.d.ts +51 -51
@@ -1,442 +1,442 @@
1
- import { Component, Output, EventEmitter, ChangeDetectionStrategy, HostListener, Input } from '@angular/core';
2
- import { sourceCanReverseSearchAsSummary, sourceCanSearch, sourceCanReverseSearch } from '../shared/search.utils';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../shared/search-source.service";
5
- import * as i2 from "@igo2/core";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/material/tooltip";
8
- import * as i5 from "@angular/material/icon";
9
- import * as i6 from "@angular/material/button";
10
- import * as i7 from "@angular/material/menu";
11
- import * as i8 from "@angular/material/radio";
12
- import * as i9 from "@angular/material/checkbox";
13
- import * as i10 from "@angular/material/divider";
14
- import * as i11 from "@angular/material/slide-toggle";
15
- import * as i12 from "@ngx-translate/core";
16
- function SearchSettingsComponent_div_6_Template(rf, ctx) { if (rf & 1) {
17
- const _r5 = i0.ɵɵgetCurrentView();
18
- i0.ɵɵelementStart(0, "div", 8)(1, "button", 9);
19
- i0.ɵɵlistener("click", function SearchSettingsComponent_div_6_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.checkUncheckAllSources($event)); });
20
- i0.ɵɵtext(2);
21
- i0.ɵɵpipe(3, "translate");
22
- i0.ɵɵpipe(4, "translate");
23
- i0.ɵɵelementEnd()();
24
- } if (rf & 2) {
25
- const ctx_r1 = i0.ɵɵnextContext();
26
- i0.ɵɵadvance(2);
27
- i0.ɵɵtextInterpolate(!ctx_r1.searchSourcesAllEnabled ? i0.ɵɵpipeBind1(3, 1, "igo.geo.search.searchSources.unselectAll") : i0.ɵɵpipeBind1(4, 3, "igo.geo.search.searchSources.selectAll"));
28
- } }
29
- function SearchSettingsComponent_ng_container_7_button_3_Template(rf, ctx) { if (rf & 1) {
30
- i0.ɵɵelementStart(0, "button", 15);
31
- i0.ɵɵtext(1);
32
- i0.ɵɵelementEnd();
33
- } if (rf & 2) {
34
- const source_r6 = i0.ɵɵnextContext().$implicit;
35
- const _r9 = i0.ɵɵreference(6);
36
- i0.ɵɵproperty("matMenuTriggerFor", _r9);
37
- i0.ɵɵadvance(1);
38
- i0.ɵɵtextInterpolate1("", source_r6.title, " ");
39
- } }
40
- function SearchSettingsComponent_ng_container_7_button_4_Template(rf, ctx) { if (rf & 1) {
41
- i0.ɵɵelementStart(0, "button", 16);
42
- i0.ɵɵtext(1);
43
- i0.ɵɵelementEnd();
44
- } if (rf & 2) {
45
- const source_r6 = i0.ɵɵnextContext().$implicit;
46
- i0.ɵɵadvance(1);
47
- i0.ɵɵtextInterpolate1(" ", source_r6.title, " ");
48
- } }
49
- function SearchSettingsComponent_ng_container_7_ng_container_7_span_6_mat_radio_button_2_Template(rf, ctx) { if (rf & 1) {
50
- const _r22 = i0.ɵɵgetCurrentView();
51
- i0.ɵɵelementStart(0, "mat-radio-button", 22);
52
- i0.ɵɵlistener("click", function SearchSettingsComponent_ng_container_7_ng_container_7_span_6_mat_radio_button_2_Template_mat_radio_button_click_0_listener($event) { return $event.stopPropagation(); })("change", function SearchSettingsComponent_ng_container_7_ng_container_7_span_6_mat_radio_button_2_Template_mat_radio_button_change_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r22); const settingValue_r18 = restoredCtx.$implicit; const setting_r13 = i0.ɵɵnextContext(2).$implicit; const source_r6 = i0.ɵɵnextContext().$implicit; const ctx_r20 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r20.settingsValueCheckedRadioButton($event, source_r6, setting_r13, settingValue_r18)); });
53
- i0.ɵɵtext(1);
54
- i0.ɵɵpipe(2, "translate");
55
- i0.ɵɵelementEnd();
56
- } if (rf & 2) {
57
- const settingValue_r18 = ctx.$implicit;
58
- const ctx_r17 = i0.ɵɵnextContext(4);
59
- i0.ɵɵproperty("value", settingValue_r18)("matTooltip", ctx_r17.getAvailableHashtagsValues(settingValue_r18))("checked", settingValue_r18.enabled);
60
- i0.ɵɵadvance(1);
61
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 4, settingValue_r18.title), " ");
62
- } }
63
- function SearchSettingsComponent_ng_container_7_ng_container_7_span_6_Template(rf, ctx) { if (rf & 1) {
64
- i0.ɵɵelementStart(0, "span")(1, "mat-radio-group", 20);
65
- i0.ɵɵtemplate(2, SearchSettingsComponent_ng_container_7_ng_container_7_span_6_mat_radio_button_2_Template, 3, 6, "mat-radio-button", 21);
66
- i0.ɵɵelementEnd()();
67
- } if (rf & 2) {
68
- const setting_r13 = i0.ɵɵnextContext().$implicit;
69
- i0.ɵɵadvance(1);
70
- i0.ɵɵproperty("value", setting_r13);
71
- i0.ɵɵadvance(1);
72
- i0.ɵɵproperty("ngForOf", setting_r13.values);
73
- } }
74
- function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_div_1_Template(rf, ctx) { if (rf & 1) {
75
- const _r29 = i0.ɵɵgetCurrentView();
76
- i0.ɵɵelementStart(0, "div", 8)(1, "button", 9);
77
- i0.ɵɵlistener("click", function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_div_1_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r29); const setting_r13 = i0.ɵɵnextContext(2).$implicit; const source_r6 = i0.ɵɵnextContext().$implicit; const ctx_r27 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r27.checkUncheckAll($event, source_r6, setting_r13)); });
78
- i0.ɵɵtext(2);
79
- i0.ɵɵpipe(3, "translate");
80
- i0.ɵɵpipe(4, "translate");
81
- i0.ɵɵelementEnd()();
82
- } if (rf & 2) {
83
- const setting_r13 = i0.ɵɵnextContext(2).$implicit;
84
- i0.ɵɵadvance(2);
85
- i0.ɵɵtextInterpolate(setting_r13.allEnabled || setting_r13.allEnabled === undefined ? i0.ɵɵpipeBind1(3, 1, "igo.geo.search.searchSources.settings.unselectAll") : i0.ɵɵpipeBind1(4, 3, "igo.geo.search.searchSources.settings.selectAll"));
86
- } }
87
- function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_mat_checkbox_2_Template(rf, ctx) { if (rf & 1) {
88
- const _r36 = i0.ɵɵgetCurrentView();
89
- i0.ɵɵelementStart(0, "mat-checkbox", 24);
90
- i0.ɵɵlistener("click", function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_mat_checkbox_2_Template_mat_checkbox_click_0_listener($event) { return $event.stopPropagation(); })("change", function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_mat_checkbox_2_Template_mat_checkbox_change_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r36); const settingValue_r32 = restoredCtx.$implicit; const setting_r13 = i0.ɵɵnextContext(2).$implicit; const source_r6 = i0.ɵɵnextContext().$implicit; const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.settingsValueCheckedCheckbox($event, source_r6, setting_r13, settingValue_r32)); });
91
- i0.ɵɵtext(1);
92
- i0.ɵɵpipe(2, "translate");
93
- i0.ɵɵelementEnd();
94
- } if (rf & 2) {
95
- const settingValue_r32 = ctx.$implicit;
96
- const setting_r13 = i0.ɵɵnextContext(2).$implicit;
97
- const ctx_r26 = i0.ɵɵnextContext(2);
98
- i0.ɵɵstyleProp("display", ctx_r26.displayBlock);
99
- i0.ɵɵproperty("checked", settingValue_r32.enabled)("value", setting_r13)("matTooltip", ctx_r26.getAvailableHashtagsValues(settingValue_r32));
100
- i0.ɵɵadvance(1);
101
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 6, settingValue_r32.title), " ");
102
- } }
103
- function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_Template(rf, ctx) { if (rf & 1) {
104
- i0.ɵɵelementStart(0, "span");
105
- i0.ɵɵtemplate(1, SearchSettingsComponent_ng_container_7_ng_container_7_span_7_div_1_Template, 5, 5, "div", 5);
106
- i0.ɵɵtemplate(2, SearchSettingsComponent_ng_container_7_ng_container_7_span_7_mat_checkbox_2_Template, 3, 8, "mat-checkbox", 23);
107
- i0.ɵɵelementEnd();
108
- } if (rf & 2) {
109
- const setting_r13 = i0.ɵɵnextContext().$implicit;
110
- const ctx_r16 = i0.ɵɵnextContext(2);
111
- i0.ɵɵadvance(1);
112
- i0.ɵɵproperty("ngIf", setting_r13.values.length > 3);
113
- i0.ɵɵadvance(1);
114
- i0.ɵɵproperty("ngForOf", ctx_r16.getAvailableValues(setting_r13));
115
- } }
116
- function SearchSettingsComponent_ng_container_7_ng_container_7_Template(rf, ctx) { if (rf & 1) {
117
- i0.ɵɵelementContainerStart(0);
118
- i0.ɵɵelementStart(1, "button", 15);
119
- i0.ɵɵtext(2);
120
- i0.ɵɵpipe(3, "translate");
121
- i0.ɵɵelementEnd();
122
- i0.ɵɵelementStart(4, "mat-menu", 17, 18);
123
- i0.ɵɵtemplate(6, SearchSettingsComponent_ng_container_7_ng_container_7_span_6_Template, 3, 2, "span", 19);
124
- i0.ɵɵtemplate(7, SearchSettingsComponent_ng_container_7_ng_container_7_span_7_Template, 3, 2, "span", 19);
125
- i0.ɵɵelementEnd();
126
- i0.ɵɵelementContainerEnd();
127
- } if (rf & 2) {
128
- const setting_r13 = ctx.$implicit;
129
- const _r14 = i0.ɵɵreference(5);
130
- i0.ɵɵadvance(1);
131
- i0.ɵɵproperty("matMenuTriggerFor", _r14);
132
- i0.ɵɵadvance(1);
133
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.geo.search.searchSources.settings." + setting_r13.title), " ");
134
- i0.ɵɵadvance(2);
135
- i0.ɵɵproperty("ngSwitch", setting_r13.type);
136
- i0.ɵɵadvance(2);
137
- i0.ɵɵproperty("ngSwitchCase", "radiobutton");
138
- i0.ɵɵadvance(1);
139
- i0.ɵɵproperty("ngSwitchCase", "checkbox");
140
- } }
141
- function SearchSettingsComponent_ng_container_7_Template(rf, ctx) { if (rf & 1) {
142
- const _r42 = i0.ɵɵgetCurrentView();
143
- i0.ɵɵelementContainerStart(0);
144
- i0.ɵɵelementStart(1, "span", 10)(2, "mat-checkbox", 11);
145
- i0.ɵɵlistener("click", function SearchSettingsComponent_ng_container_7_Template_mat_checkbox_click_2_listener($event) { return $event.stopPropagation(); })("change", function SearchSettingsComponent_ng_container_7_Template_mat_checkbox_change_2_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r42); const source_r6 = restoredCtx.$implicit; const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.onCheckSearchSource($event, source_r6)); });
146
- i0.ɵɵelementEnd();
147
- i0.ɵɵtemplate(3, SearchSettingsComponent_ng_container_7_button_3_Template, 2, 2, "button", 12);
148
- i0.ɵɵtemplate(4, SearchSettingsComponent_ng_container_7_button_4_Template, 2, 1, "button", 13);
149
- i0.ɵɵelementEnd();
150
- i0.ɵɵelementStart(5, "mat-menu", null, 14);
151
- i0.ɵɵtemplate(7, SearchSettingsComponent_ng_container_7_ng_container_7_Template, 8, 7, "ng-container", 6);
152
- i0.ɵɵelementEnd();
153
- i0.ɵɵelementContainerEnd();
154
- } if (rf & 2) {
155
- const source_r6 = ctx.$implicit;
156
- i0.ɵɵadvance(2);
157
- i0.ɵɵproperty("checked", source_r6.enabled)("value", source_r6);
158
- i0.ɵɵadvance(1);
159
- i0.ɵɵproperty("ngIf", source_r6.settings.length > 0);
160
- i0.ɵɵadvance(1);
161
- i0.ɵɵproperty("ngIf", source_r6.settings.length === 0);
162
- i0.ɵɵadvance(3);
163
- i0.ɵɵproperty("ngForOf", source_r6.settings);
164
- } }
165
- function SearchSettingsComponent_span_8_Template(rf, ctx) { if (rf & 1) {
166
- const _r44 = i0.ɵɵgetCurrentView();
167
- i0.ɵɵelementStart(0, "span");
168
- i0.ɵɵelement(1, "mat-divider");
169
- i0.ɵɵelementStart(2, "span", 25)(3, "mat-slide-toggle", 26);
170
- i0.ɵɵlistener("change", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_change_3_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r43 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r43.changePointerReverseSearch($event)); })("click", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_click_3_listener($event) { return $event.stopPropagation(); });
171
- i0.ɵɵpipe(4, "translate");
172
- i0.ɵɵtext(5);
173
- i0.ɵɵpipe(6, "translate");
174
- i0.ɵɵelementEnd();
175
- i0.ɵɵelementStart(7, "mat-slide-toggle", 26);
176
- i0.ɵɵlistener("change", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_change_7_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r46 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r46.changeSearchResultsGeometry($event)); })("click", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_click_7_listener($event) { return $event.stopPropagation(); });
177
- i0.ɵɵpipe(8, "translate");
178
- i0.ɵɵtext(9);
179
- i0.ɵɵpipe(10, "translate");
180
- i0.ɵɵelementEnd();
181
- i0.ɵɵelementStart(11, "mat-slide-toggle", 26);
182
- i0.ɵɵlistener("change", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_change_11_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r48 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r48.reverseSearchCoordsFormat($event)); })("click", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_click_11_listener($event) { return $event.stopPropagation(); });
183
- i0.ɵɵpipe(12, "translate");
184
- i0.ɵɵpipe(13, "translate");
185
- i0.ɵɵtext(14);
186
- i0.ɵɵpipe(15, "translate");
187
- i0.ɵɵelementEnd()()();
188
- } if (rf & 2) {
189
- const ctx_r3 = i0.ɵɵnextContext();
190
- i0.ɵɵadvance(3);
191
- i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(4, 12, "igo.geo.search.pointerSearchSummary.tooltip"))("checked", ctx_r3.pointerSummaryEnabled)("labelPosition", "after");
192
- i0.ɵɵadvance(2);
193
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 14, "igo.geo.search.pointerSearchSummary.title"), " ");
194
- i0.ɵɵadvance(2);
195
- i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(8, 16, "igo.geo.search.searchResultsGeometry.tooltip"))("checked", ctx_r3.searchResultsGeometryEnabled)("labelPosition", "after");
196
- i0.ɵɵadvance(2);
197
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 18, "igo.geo.search.searchResultsGeometry.title"), " ");
198
- i0.ɵɵadvance(2);
199
- i0.ɵɵproperty("matTooltip", ctx_r3.reverseSearchCoordsFormatEnabled ? i0.ɵɵpipeBind1(12, 20, "igo.geo.search.reverseCoordFormat.tooltipLatLon") : i0.ɵɵpipeBind1(13, 22, "igo.geo.search.reverseCoordFormat.tooltipLonLat"))("checked", ctx_r3.reverseSearchCoordsFormatEnabled)("labelPosition", "after");
200
- i0.ɵɵadvance(3);
201
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 24, "igo.geo.search.reverseCoordFormat.title"), " ");
202
- } }
203
- /**
204
- * This component allows a user to select a search type yo enable. In it's
205
- * current version, only one search type can be selected at once (radio). If
206
- * this component were to support more than one search source enabled (checkbox),
207
- * the searchbar component would require a small change to it's
208
- * placeholder getter. The search source service already supports having
209
- * more than one search source enabled.
210
- */
211
- export class SearchSettingsComponent {
212
- constructor(searchSourceService, mediaService, storageService) {
213
- this.searchSourceService = searchSourceService;
214
- this.mediaService = mediaService;
215
- this.storageService = storageService;
216
- this.hasPointerReverseSearchSource = false;
217
- this.searchSourcesAllEnabled = false;
218
- this.buffer = [];
219
- this.lastKeyTime = Date.now();
220
- this.displayBlock = 'block';
221
- this.pointerSummaryEnabled = false;
222
- this.searchResultsGeometryEnabled = false;
223
- this.reverseSearchCoordsFormatEnabled = false;
224
- /**
225
- * Event emitted when the enabled search source changes
226
- */
227
- this.searchSourceChange = new EventEmitter();
228
- /**
229
- * Event emitted when the pointer summary is activated
230
- */
231
- this.pointerSummaryStatus = new EventEmitter();
232
- /**
233
- * Event emitted when the show geometry summary is changed
234
- */
235
- this.searchResultsGeometryStatus = new EventEmitter();
236
- /**
237
- * Event emitted when the coords format is changed
238
- */
239
- this.reverseSearchCoordsFormatStatus = new EventEmitter();
240
- }
241
- get isTouchScreen() {
242
- return this.mediaService.isTouchScreen();
243
- }
244
- handleKeyboardEvent(event) {
245
- if (event.key === 'F2') {
246
- this.pointerSummaryEnabled = !this.pointerSummaryEnabled;
247
- this.pointerSummaryStatus.emit(this.pointerSummaryEnabled);
248
- }
249
- }
250
- ngOnInit() {
251
- this.hasPointerReverseSearchSource = this.hasReverseSearchSourcesForPointerSummary();
252
- }
253
- /**
254
- * Get all search sources
255
- * @internal
256
- */
257
- getSearchSources() {
258
- const textSearchSources = this.searchSourceService
259
- .getSources()
260
- .filter(sourceCanSearch)
261
- .filter((s) => s.available && s.getId() !== 'map' && s.showInSettings);
262
- const reverseSearchSources = this.searchSourceService
263
- .getSources()
264
- .filter(sourceCanReverseSearch)
265
- .filter((s) => s.available && s.getId() !== 'map' && s.showInSettings);
266
- const sources = textSearchSources.concat(reverseSearchSources);
267
- this.computeSourcesCheckAllBehavior(sources);
268
- return sources;
269
- }
270
- /**
271
- * Get all search sources usable for pointer summary
272
- * @internal
273
- */
274
- hasReverseSearchSourcesForPointerSummary() {
275
- if (this.searchSourceService
276
- .getEnabledSources()
277
- .filter(sourceCanReverseSearchAsSummary).length) {
278
- return true;
279
- }
280
- else {
281
- return false;
282
- }
283
- }
284
- /**
285
- * Triggered when a setting is checked (checkbox style)
286
- * @internal
287
- */
288
- settingsValueCheckedCheckbox(event, source, setting, settingValue) {
289
- settingValue.enabled = event.checked;
290
- source.setParamFromSetting(setting);
291
- this.searchSourceChange.emit(source);
292
- }
293
- /**
294
- * Defining the action to do for check/uncheck checkboxes (settings)
295
- * return true if all checkbox must be checked
296
- * return false if all checkbox must be unchecked
297
- * @internal
298
- */
299
- computeSettingCheckAllBehavior(setting) {
300
- if (setting.allEnabled === undefined) {
301
- if (setting.values.find((settingValue) => settingValue.enabled)) {
302
- setting.allEnabled = false;
303
- }
304
- else {
305
- setting.allEnabled = true;
306
- }
307
- }
308
- else {
309
- setting.allEnabled = !setting.allEnabled;
310
- }
311
- }
312
- /**
313
- * Defining the action to do for check/uncheck checkboxes (sources)
314
- * return true if all checkbox must be checked
315
- * return false if all checkbox must be unchecked
316
- * @internal
317
- */
318
- computeSourcesCheckAllBehavior(sources) {
319
- const enabledSourcesCnt = sources.filter((source) => source.enabled).length;
320
- const disabledSourcesCnt = sources.filter((source) => !source.enabled)
321
- .length;
322
- this.searchSourcesAllEnabled =
323
- enabledSourcesCnt >= disabledSourcesCnt ? false : true;
324
- }
325
- /**
326
- * Triggered when the check all / uncheck all type is clicked,
327
- * @internal
328
- */
329
- checkUncheckAll(event, source, setting) {
330
- event.stopPropagation();
331
- this.computeSettingCheckAllBehavior(setting);
332
- setting.values.forEach((settingValue) => {
333
- settingValue.enabled = setting.allEnabled;
334
- });
335
- source.setParamFromSetting(setting);
336
- this.searchSourceChange.emit(source);
337
- }
338
- /**
339
- * Triggered when the check all / uncheck all type is clicked,
340
- * @internal
341
- */
342
- checkUncheckAllSources(event) {
343
- event.stopPropagation();
344
- this.getSearchSources().map((source) => {
345
- source.enabled = this.searchSourcesAllEnabled;
346
- this.searchSourceChange.emit(source);
347
- });
348
- }
349
- /**
350
- * Triggered when a setting is checked (radiobutton style)
351
- * @internal
352
- */
353
- settingsValueCheckedRadioButton(event, source, setting, settingValue) {
354
- setting.values.forEach((conf) => {
355
- if (conf.value !== settingValue.value) {
356
- conf.enabled = !event.source.checked;
357
- }
358
- else {
359
- conf.enabled = event.source.checked;
360
- }
361
- });
362
- source.setParamFromSetting(setting);
363
- this.searchSourceChange.emit(source);
364
- }
365
- onCheckSearchSource(event, source) {
366
- source.enabled = event.checked;
367
- const storage = (this.storageService.get(source.getId() + '.options') || {});
368
- storage.enabled = source.enabled;
369
- this.storageService.set(source.getId() + '.options', storage);
370
- this.searchSourceChange.emit(source);
371
- }
372
- getAvailableValues(setting) {
373
- return setting.values.filter((s) => s.available !== false);
374
- }
375
- getAvailableHashtagsValues(setting) {
376
- if (setting.hashtags) {
377
- return setting.hashtags.map((h) => '#' + h).join(', ');
378
- }
379
- return;
380
- }
381
- stopPropagation(event) {
382
- event.stopPropagation();
383
- }
384
- changePointerReverseSearch(event) {
385
- this.pointerSummaryEnabled = event.checked;
386
- this.pointerSummaryStatus.emit(this.pointerSummaryEnabled);
387
- }
388
- changeSearchResultsGeometry(event) {
389
- this.searchResultsGeometryEnabled = event.checked;
390
- this.searchResultsGeometryStatus.emit(this.searchResultsGeometryEnabled);
391
- }
392
- reverseSearchCoordsFormat(event) {
393
- this.reverseSearchCoordsFormatEnabled = event.checked;
394
- this.reverseSearchCoordsFormatStatus.emit(this.reverseSearchCoordsFormatEnabled);
395
- }
396
- }
397
- SearchSettingsComponent.ɵfac = function SearchSettingsComponent_Factory(t) { return new (t || SearchSettingsComponent)(i0.ɵɵdirectiveInject(i1.SearchSourceService), i0.ɵɵdirectiveInject(i2.MediaService), i0.ɵɵdirectiveInject(i2.StorageService)); };
398
- SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchSettingsComponent, selectors: [["igo-search-settings"]], hostBindings: function SearchSettingsComponent_HostBindings(rf, ctx) { if (rf & 1) {
399
- i0.ɵɵlistener("keydown", function SearchSettingsComponent_keydown_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); }, false, i0.ɵɵresolveDocument);
400
- } }, inputs: { pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled" }, outputs: { searchSourceChange: "searchSourceChange", pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus" }, decls: 9, vars: 7, consts: [[1, "igo-search-settings"], ["mat-icon-button", "", "color", "primary", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "igo-search-settings-button", 3, "matTooltip", "matMenuTriggerFor"], ["svgIcon", "chevron-down"], [1, "no-border-radius"], ["searchSettingsMenu", "matMenu"], ["class", "checkAllButton", 4, "ngIf"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "checkAllButton"], ["mat-raised-button", "", 3, "click"], [1, "igo-search-settings-search-source"], [1, "igo-search-settings-checkbox", 3, "checked", "value", "click", "change"], ["mat-menu-item", "", 3, "matMenuTriggerFor", 4, "ngIf"], ["mat-menu-item", "", 4, "ngIf"], ["sub_menu", "matMenu"], ["mat-menu-item", "", 3, "matMenuTriggerFor"], ["mat-menu-item", ""], ["yPosition", "above", 3, "ngSwitch"], ["test_sub_menu", "matMenu"], [4, "ngSwitchCase"], [1, "igo-search-settings-radio-group", 3, "value"], ["class", "mat-typography", 3, "value", "matTooltip", "checked", "click", "change", 4, "ngFor", "ngForOf"], [1, "mat-typography", 3, "value", "matTooltip", "checked", "click", "change"], ["class", "mat-menu-item", 3, "display", "checked", "value", "matTooltip", "click", "change", 4, "ngFor", "ngForOf"], [1, "mat-menu-item", 3, "checked", "value", "matTooltip", "click", "change"], [1, "pointer-summary-slide-toggle-container", "mat-typography"], ["tooltip-position", "below", "matTooltipShowDelay", "500", 1, "search-option", 3, "matTooltip", "checked", "labelPosition", "change", "click"]], template: function SearchSettingsComponent_Template(rf, ctx) { if (rf & 1) {
401
- i0.ɵɵelementStart(0, "div", 0)(1, "button", 1);
402
- i0.ɵɵpipe(2, "translate");
403
- i0.ɵɵelement(3, "mat-icon", 2);
404
- i0.ɵɵelementEnd();
405
- i0.ɵɵelementStart(4, "mat-menu", 3, 4);
406
- i0.ɵɵtemplate(6, SearchSettingsComponent_div_6_Template, 5, 5, "div", 5);
407
- i0.ɵɵtemplate(7, SearchSettingsComponent_ng_container_7_Template, 8, 5, "ng-container", 6);
408
- i0.ɵɵtemplate(8, SearchSettingsComponent_span_8_Template, 16, 26, "span", 7);
409
- i0.ɵɵelementEnd()();
410
- } if (rf & 2) {
411
- const _r0 = i0.ɵɵreference(5);
412
- i0.ɵɵadvance(1);
413
- i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 5, "igo.geo.search.menu.tooltip"))("matMenuTriggerFor", _r0);
414
- i0.ɵɵadvance(5);
415
- i0.ɵɵproperty("ngIf", ctx.getSearchSources().length > 4);
416
- i0.ɵɵadvance(1);
417
- i0.ɵɵproperty("ngForOf", ctx.getSearchSources());
418
- i0.ɵɵadvance(1);
419
- i0.ɵɵproperty("ngIf", ctx.hasPointerReverseSearchSource && !ctx.isTouchScreen);
420
- } }, dependencies: [i3.NgForOf, i3.NgIf, i3.NgSwitch, i3.NgSwitchCase, i4.MatTooltip, i5.MatIcon, i6.MatButton, i7.MatMenu, i7.MatMenuItem, i7.MatMenuTrigger, i8.MatRadioGroup, i8.MatRadioButton, i9.MatCheckbox, i10.MatDivider, i11.MatSlideToggle, i12.TranslatePipe], styles: [".checkAllButton[_ngcontent-%COMP%]{text-align:center;padding:0 5px}.igo-search-settings-button[_ngcontent-%COMP%] div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.igo-search-settings-radio-group[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{margin:5px}.igo-search-settings-checkbox[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{display:flex}.igo-search-settings-search-source[_ngcontent-%COMP%]{display:flex;width:100%}.igo-search-settings-search-source[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:flex;margin-left:5px;margin-right:5px}.search-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container[_ngcontent-%COMP%]{overflow-x:hidden}.pointer-summary-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{margin:10px}"], changeDetection: 0 });
421
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSettingsComponent, [{
422
- type: Component,
423
- args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-settings\">\n\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\">\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\n </button>\n <mat-menu\n #searchSettingsMenu=\"matMenu\"\n class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length>4\">\n <button mat-raised-button\n (click)=\"checkUncheckAllSources($event)\">{{!searchSourcesAllEnabled ? ('igo.geo.search.searchSources.unselectAll' | translate): ('igo.geo.search.searchSources.selectAll' | translate)}}</button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"source\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\">\n </mat-checkbox>\n <button *ngIf=\"source.settings.length\u00A0>\u00A00\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item>{{source.title}}\n </button>\n <button\n mat-menu-item\n *ngIf=\"source.settings.length\u00A0===\u00A00\">\n {{source.title}}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"test_sub_menu\">\n {{'igo.geo.search.searchSources.settings.'+ setting.title | translate}}\n </button>\n <mat-menu #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\">\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\">\n <mat-radio-button *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedRadioButton($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length\u00A0>\u00A03\">\n <button mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\">{{setting.allEnabled || setting.allEnabled === undefined ? ('igo.geo.search.searchSources.settings.unselectAll' | translate): ('igo.geo.search.searchSources.settings.selectAll' | translate)}}</button>\n </div>\n <mat-checkbox *ngFor=\"let settingValue of getAvailableValues(setting)\"\n class=\"mat-menu-item\"\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"setting\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedCheckbox($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-checkbox>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <span *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\">\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container mat-typography\">\n <mat-slide-toggle class=\"search-option\" (change)=\"changePointerReverseSearch($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.pointerSearchSummary.tooltip' | translate\"\n (click)=\"$event.stopPropagation()\" [checked]=\"pointerSummaryEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.pointerSearchSummary.title' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle class=\"search-option\" (change)=\"changeSearchResultsGeometry($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.searchResultsGeometry.tooltip' | translate\"\n (click)=\"$event.stopPropagation()\" [checked]=\"searchResultsGeometryEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.searchResultsGeometry.title' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle class=\"search-option\" (change)=\"reverseSearchCoordsFormat($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"reverseSearchCoordsFormatEnabled ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\"\n (click)=\"$event.stopPropagation()\" [checked]=\"reverseSearchCoordsFormatEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.reverseCoordFormat.title' | translate}}\n </mat-slide-toggle>\n </span>\n </span>\n </mat-menu>\n</div>\n", styles: [".checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-button ::ng-deep div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group{display:flex;flex-direction:column}.igo-search-settings-radio-group mat-radio-button{margin:5px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px}\n"] }]
424
- }], function () { return [{ type: i1.SearchSourceService }, { type: i2.MediaService }, { type: i2.StorageService }]; }, { pointerSummaryEnabled: [{
425
- type: Input
426
- }], searchResultsGeometryEnabled: [{
427
- type: Input
428
- }], reverseSearchCoordsFormatEnabled: [{
429
- type: Input
430
- }], searchSourceChange: [{
431
- type: Output
432
- }], pointerSummaryStatus: [{
433
- type: Output
434
- }], searchResultsGeometryStatus: [{
435
- type: Output
436
- }], reverseSearchCoordsFormatStatus: [{
437
- type: Output
438
- }], handleKeyboardEvent: [{
439
- type: HostListener,
440
- args: ['document:keydown', ['$event']]
441
- }] }); })();
1
+ import { Component, Output, EventEmitter, ChangeDetectionStrategy, HostListener, Input } from '@angular/core';
2
+ import { sourceCanReverseSearchAsSummary, sourceCanSearch, sourceCanReverseSearch } from '../shared/search.utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../shared/search-source.service";
5
+ import * as i2 from "@igo2/core";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/material/tooltip";
8
+ import * as i5 from "@angular/material/icon";
9
+ import * as i6 from "@angular/material/button";
10
+ import * as i7 from "@angular/material/menu";
11
+ import * as i8 from "@angular/material/radio";
12
+ import * as i9 from "@angular/material/checkbox";
13
+ import * as i10 from "@angular/material/divider";
14
+ import * as i11 from "@angular/material/slide-toggle";
15
+ import * as i12 from "@ngx-translate/core";
16
+ function SearchSettingsComponent_div_6_Template(rf, ctx) { if (rf & 1) {
17
+ const _r5 = i0.ɵɵgetCurrentView();
18
+ i0.ɵɵelementStart(0, "div", 8)(1, "button", 9);
19
+ i0.ɵɵlistener("click", function SearchSettingsComponent_div_6_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.checkUncheckAllSources($event)); });
20
+ i0.ɵɵtext(2);
21
+ i0.ɵɵpipe(3, "translate");
22
+ i0.ɵɵpipe(4, "translate");
23
+ i0.ɵɵelementEnd()();
24
+ } if (rf & 2) {
25
+ const ctx_r1 = i0.ɵɵnextContext();
26
+ i0.ɵɵadvance(2);
27
+ i0.ɵɵtextInterpolate(!ctx_r1.searchSourcesAllEnabled ? i0.ɵɵpipeBind1(3, 1, "igo.geo.search.searchSources.unselectAll") : i0.ɵɵpipeBind1(4, 3, "igo.geo.search.searchSources.selectAll"));
28
+ } }
29
+ function SearchSettingsComponent_ng_container_7_button_3_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵelementStart(0, "button", 15);
31
+ i0.ɵɵtext(1);
32
+ i0.ɵɵelementEnd();
33
+ } if (rf & 2) {
34
+ const source_r6 = i0.ɵɵnextContext().$implicit;
35
+ const _r9 = i0.ɵɵreference(6);
36
+ i0.ɵɵproperty("matMenuTriggerFor", _r9);
37
+ i0.ɵɵadvance(1);
38
+ i0.ɵɵtextInterpolate1("", source_r6.title, " ");
39
+ } }
40
+ function SearchSettingsComponent_ng_container_7_button_4_Template(rf, ctx) { if (rf & 1) {
41
+ i0.ɵɵelementStart(0, "button", 16);
42
+ i0.ɵɵtext(1);
43
+ i0.ɵɵelementEnd();
44
+ } if (rf & 2) {
45
+ const source_r6 = i0.ɵɵnextContext().$implicit;
46
+ i0.ɵɵadvance(1);
47
+ i0.ɵɵtextInterpolate1(" ", source_r6.title, " ");
48
+ } }
49
+ function SearchSettingsComponent_ng_container_7_ng_container_7_span_6_mat_radio_button_2_Template(rf, ctx) { if (rf & 1) {
50
+ const _r22 = i0.ɵɵgetCurrentView();
51
+ i0.ɵɵelementStart(0, "mat-radio-button", 22);
52
+ i0.ɵɵlistener("click", function SearchSettingsComponent_ng_container_7_ng_container_7_span_6_mat_radio_button_2_Template_mat_radio_button_click_0_listener($event) { return $event.stopPropagation(); })("change", function SearchSettingsComponent_ng_container_7_ng_container_7_span_6_mat_radio_button_2_Template_mat_radio_button_change_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r22); const settingValue_r18 = restoredCtx.$implicit; const setting_r13 = i0.ɵɵnextContext(2).$implicit; const source_r6 = i0.ɵɵnextContext().$implicit; const ctx_r20 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r20.settingsValueCheckedRadioButton($event, source_r6, setting_r13, settingValue_r18)); });
53
+ i0.ɵɵtext(1);
54
+ i0.ɵɵpipe(2, "translate");
55
+ i0.ɵɵelementEnd();
56
+ } if (rf & 2) {
57
+ const settingValue_r18 = ctx.$implicit;
58
+ const ctx_r17 = i0.ɵɵnextContext(4);
59
+ i0.ɵɵproperty("value", settingValue_r18)("matTooltip", ctx_r17.getAvailableHashtagsValues(settingValue_r18))("checked", settingValue_r18.enabled);
60
+ i0.ɵɵadvance(1);
61
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 4, settingValue_r18.title), " ");
62
+ } }
63
+ function SearchSettingsComponent_ng_container_7_ng_container_7_span_6_Template(rf, ctx) { if (rf & 1) {
64
+ i0.ɵɵelementStart(0, "span")(1, "mat-radio-group", 20);
65
+ i0.ɵɵtemplate(2, SearchSettingsComponent_ng_container_7_ng_container_7_span_6_mat_radio_button_2_Template, 3, 6, "mat-radio-button", 21);
66
+ i0.ɵɵelementEnd()();
67
+ } if (rf & 2) {
68
+ const setting_r13 = i0.ɵɵnextContext().$implicit;
69
+ i0.ɵɵadvance(1);
70
+ i0.ɵɵproperty("value", setting_r13);
71
+ i0.ɵɵadvance(1);
72
+ i0.ɵɵproperty("ngForOf", setting_r13.values);
73
+ } }
74
+ function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_div_1_Template(rf, ctx) { if (rf & 1) {
75
+ const _r29 = i0.ɵɵgetCurrentView();
76
+ i0.ɵɵelementStart(0, "div", 8)(1, "button", 9);
77
+ i0.ɵɵlistener("click", function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_div_1_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r29); const setting_r13 = i0.ɵɵnextContext(2).$implicit; const source_r6 = i0.ɵɵnextContext().$implicit; const ctx_r27 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r27.checkUncheckAll($event, source_r6, setting_r13)); });
78
+ i0.ɵɵtext(2);
79
+ i0.ɵɵpipe(3, "translate");
80
+ i0.ɵɵpipe(4, "translate");
81
+ i0.ɵɵelementEnd()();
82
+ } if (rf & 2) {
83
+ const setting_r13 = i0.ɵɵnextContext(2).$implicit;
84
+ i0.ɵɵadvance(2);
85
+ i0.ɵɵtextInterpolate(setting_r13.allEnabled || setting_r13.allEnabled === undefined ? i0.ɵɵpipeBind1(3, 1, "igo.geo.search.searchSources.settings.unselectAll") : i0.ɵɵpipeBind1(4, 3, "igo.geo.search.searchSources.settings.selectAll"));
86
+ } }
87
+ function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_mat_checkbox_2_Template(rf, ctx) { if (rf & 1) {
88
+ const _r36 = i0.ɵɵgetCurrentView();
89
+ i0.ɵɵelementStart(0, "mat-checkbox", 24);
90
+ i0.ɵɵlistener("click", function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_mat_checkbox_2_Template_mat_checkbox_click_0_listener($event) { return $event.stopPropagation(); })("change", function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_mat_checkbox_2_Template_mat_checkbox_change_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r36); const settingValue_r32 = restoredCtx.$implicit; const setting_r13 = i0.ɵɵnextContext(2).$implicit; const source_r6 = i0.ɵɵnextContext().$implicit; const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.settingsValueCheckedCheckbox($event, source_r6, setting_r13, settingValue_r32)); });
91
+ i0.ɵɵtext(1);
92
+ i0.ɵɵpipe(2, "translate");
93
+ i0.ɵɵelementEnd();
94
+ } if (rf & 2) {
95
+ const settingValue_r32 = ctx.$implicit;
96
+ const setting_r13 = i0.ɵɵnextContext(2).$implicit;
97
+ const ctx_r26 = i0.ɵɵnextContext(2);
98
+ i0.ɵɵstyleProp("display", ctx_r26.displayBlock);
99
+ i0.ɵɵproperty("checked", settingValue_r32.enabled)("value", setting_r13)("matTooltip", ctx_r26.getAvailableHashtagsValues(settingValue_r32));
100
+ i0.ɵɵadvance(1);
101
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 6, settingValue_r32.title), " ");
102
+ } }
103
+ function SearchSettingsComponent_ng_container_7_ng_container_7_span_7_Template(rf, ctx) { if (rf & 1) {
104
+ i0.ɵɵelementStart(0, "span");
105
+ i0.ɵɵtemplate(1, SearchSettingsComponent_ng_container_7_ng_container_7_span_7_div_1_Template, 5, 5, "div", 5);
106
+ i0.ɵɵtemplate(2, SearchSettingsComponent_ng_container_7_ng_container_7_span_7_mat_checkbox_2_Template, 3, 8, "mat-checkbox", 23);
107
+ i0.ɵɵelementEnd();
108
+ } if (rf & 2) {
109
+ const setting_r13 = i0.ɵɵnextContext().$implicit;
110
+ const ctx_r16 = i0.ɵɵnextContext(2);
111
+ i0.ɵɵadvance(1);
112
+ i0.ɵɵproperty("ngIf", setting_r13.values.length > 3);
113
+ i0.ɵɵadvance(1);
114
+ i0.ɵɵproperty("ngForOf", ctx_r16.getAvailableValues(setting_r13));
115
+ } }
116
+ function SearchSettingsComponent_ng_container_7_ng_container_7_Template(rf, ctx) { if (rf & 1) {
117
+ i0.ɵɵelementContainerStart(0);
118
+ i0.ɵɵelementStart(1, "button", 15);
119
+ i0.ɵɵtext(2);
120
+ i0.ɵɵpipe(3, "translate");
121
+ i0.ɵɵelementEnd();
122
+ i0.ɵɵelementStart(4, "mat-menu", 17, 18);
123
+ i0.ɵɵtemplate(6, SearchSettingsComponent_ng_container_7_ng_container_7_span_6_Template, 3, 2, "span", 19);
124
+ i0.ɵɵtemplate(7, SearchSettingsComponent_ng_container_7_ng_container_7_span_7_Template, 3, 2, "span", 19);
125
+ i0.ɵɵelementEnd();
126
+ i0.ɵɵelementContainerEnd();
127
+ } if (rf & 2) {
128
+ const setting_r13 = ctx.$implicit;
129
+ const _r14 = i0.ɵɵreference(5);
130
+ i0.ɵɵadvance(1);
131
+ i0.ɵɵproperty("matMenuTriggerFor", _r14);
132
+ i0.ɵɵadvance(1);
133
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.geo.search.searchSources.settings." + setting_r13.title), " ");
134
+ i0.ɵɵadvance(2);
135
+ i0.ɵɵproperty("ngSwitch", setting_r13.type);
136
+ i0.ɵɵadvance(2);
137
+ i0.ɵɵproperty("ngSwitchCase", "radiobutton");
138
+ i0.ɵɵadvance(1);
139
+ i0.ɵɵproperty("ngSwitchCase", "checkbox");
140
+ } }
141
+ function SearchSettingsComponent_ng_container_7_Template(rf, ctx) { if (rf & 1) {
142
+ const _r42 = i0.ɵɵgetCurrentView();
143
+ i0.ɵɵelementContainerStart(0);
144
+ i0.ɵɵelementStart(1, "span", 10)(2, "mat-checkbox", 11);
145
+ i0.ɵɵlistener("click", function SearchSettingsComponent_ng_container_7_Template_mat_checkbox_click_2_listener($event) { return $event.stopPropagation(); })("change", function SearchSettingsComponent_ng_container_7_Template_mat_checkbox_change_2_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r42); const source_r6 = restoredCtx.$implicit; const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.onCheckSearchSource($event, source_r6)); });
146
+ i0.ɵɵelementEnd();
147
+ i0.ɵɵtemplate(3, SearchSettingsComponent_ng_container_7_button_3_Template, 2, 2, "button", 12);
148
+ i0.ɵɵtemplate(4, SearchSettingsComponent_ng_container_7_button_4_Template, 2, 1, "button", 13);
149
+ i0.ɵɵelementEnd();
150
+ i0.ɵɵelementStart(5, "mat-menu", null, 14);
151
+ i0.ɵɵtemplate(7, SearchSettingsComponent_ng_container_7_ng_container_7_Template, 8, 7, "ng-container", 6);
152
+ i0.ɵɵelementEnd();
153
+ i0.ɵɵelementContainerEnd();
154
+ } if (rf & 2) {
155
+ const source_r6 = ctx.$implicit;
156
+ i0.ɵɵadvance(2);
157
+ i0.ɵɵproperty("checked", source_r6.enabled)("value", source_r6);
158
+ i0.ɵɵadvance(1);
159
+ i0.ɵɵproperty("ngIf", source_r6.settings.length > 0);
160
+ i0.ɵɵadvance(1);
161
+ i0.ɵɵproperty("ngIf", source_r6.settings.length === 0);
162
+ i0.ɵɵadvance(3);
163
+ i0.ɵɵproperty("ngForOf", source_r6.settings);
164
+ } }
165
+ function SearchSettingsComponent_span_8_Template(rf, ctx) { if (rf & 1) {
166
+ const _r44 = i0.ɵɵgetCurrentView();
167
+ i0.ɵɵelementStart(0, "span");
168
+ i0.ɵɵelement(1, "mat-divider");
169
+ i0.ɵɵelementStart(2, "span", 25)(3, "mat-slide-toggle", 26);
170
+ i0.ɵɵlistener("change", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_change_3_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r43 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r43.changePointerReverseSearch($event)); })("click", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_click_3_listener($event) { return $event.stopPropagation(); });
171
+ i0.ɵɵpipe(4, "translate");
172
+ i0.ɵɵtext(5);
173
+ i0.ɵɵpipe(6, "translate");
174
+ i0.ɵɵelementEnd();
175
+ i0.ɵɵelementStart(7, "mat-slide-toggle", 26);
176
+ i0.ɵɵlistener("change", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_change_7_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r46 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r46.changeSearchResultsGeometry($event)); })("click", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_click_7_listener($event) { return $event.stopPropagation(); });
177
+ i0.ɵɵpipe(8, "translate");
178
+ i0.ɵɵtext(9);
179
+ i0.ɵɵpipe(10, "translate");
180
+ i0.ɵɵelementEnd();
181
+ i0.ɵɵelementStart(11, "mat-slide-toggle", 26);
182
+ i0.ɵɵlistener("change", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_change_11_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r48 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r48.reverseSearchCoordsFormat($event)); })("click", function SearchSettingsComponent_span_8_Template_mat_slide_toggle_click_11_listener($event) { return $event.stopPropagation(); });
183
+ i0.ɵɵpipe(12, "translate");
184
+ i0.ɵɵpipe(13, "translate");
185
+ i0.ɵɵtext(14);
186
+ i0.ɵɵpipe(15, "translate");
187
+ i0.ɵɵelementEnd()()();
188
+ } if (rf & 2) {
189
+ const ctx_r3 = i0.ɵɵnextContext();
190
+ i0.ɵɵadvance(3);
191
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(4, 12, "igo.geo.search.pointerSearchSummary.tooltip"))("checked", ctx_r3.pointerSummaryEnabled)("labelPosition", "after");
192
+ i0.ɵɵadvance(2);
193
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 14, "igo.geo.search.pointerSearchSummary.title"), " ");
194
+ i0.ɵɵadvance(2);
195
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(8, 16, "igo.geo.search.searchResultsGeometry.tooltip"))("checked", ctx_r3.searchResultsGeometryEnabled)("labelPosition", "after");
196
+ i0.ɵɵadvance(2);
197
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 18, "igo.geo.search.searchResultsGeometry.title"), " ");
198
+ i0.ɵɵadvance(2);
199
+ i0.ɵɵproperty("matTooltip", ctx_r3.reverseSearchCoordsFormatEnabled ? i0.ɵɵpipeBind1(12, 20, "igo.geo.search.reverseCoordFormat.tooltipLatLon") : i0.ɵɵpipeBind1(13, 22, "igo.geo.search.reverseCoordFormat.tooltipLonLat"))("checked", ctx_r3.reverseSearchCoordsFormatEnabled)("labelPosition", "after");
200
+ i0.ɵɵadvance(3);
201
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 24, "igo.geo.search.reverseCoordFormat.title"), " ");
202
+ } }
203
+ /**
204
+ * This component allows a user to select a search type yo enable. In it's
205
+ * current version, only one search type can be selected at once (radio). If
206
+ * this component were to support more than one search source enabled (checkbox),
207
+ * the searchbar component would require a small change to it's
208
+ * placeholder getter. The search source service already supports having
209
+ * more than one search source enabled.
210
+ */
211
+ export class SearchSettingsComponent {
212
+ constructor(searchSourceService, mediaService, storageService) {
213
+ this.searchSourceService = searchSourceService;
214
+ this.mediaService = mediaService;
215
+ this.storageService = storageService;
216
+ this.hasPointerReverseSearchSource = false;
217
+ this.searchSourcesAllEnabled = false;
218
+ this.buffer = [];
219
+ this.lastKeyTime = Date.now();
220
+ this.displayBlock = 'block';
221
+ this.pointerSummaryEnabled = false;
222
+ this.searchResultsGeometryEnabled = false;
223
+ this.reverseSearchCoordsFormatEnabled = false;
224
+ /**
225
+ * Event emitted when the enabled search source changes
226
+ */
227
+ this.searchSourceChange = new EventEmitter();
228
+ /**
229
+ * Event emitted when the pointer summary is activated
230
+ */
231
+ this.pointerSummaryStatus = new EventEmitter();
232
+ /**
233
+ * Event emitted when the show geometry summary is changed
234
+ */
235
+ this.searchResultsGeometryStatus = new EventEmitter();
236
+ /**
237
+ * Event emitted when the coords format is changed
238
+ */
239
+ this.reverseSearchCoordsFormatStatus = new EventEmitter();
240
+ }
241
+ get isTouchScreen() {
242
+ return this.mediaService.isTouchScreen();
243
+ }
244
+ handleKeyboardEvent(event) {
245
+ if (event.key === 'F2') {
246
+ this.pointerSummaryEnabled = !this.pointerSummaryEnabled;
247
+ this.pointerSummaryStatus.emit(this.pointerSummaryEnabled);
248
+ }
249
+ }
250
+ ngOnInit() {
251
+ this.hasPointerReverseSearchSource = this.hasReverseSearchSourcesForPointerSummary();
252
+ }
253
+ /**
254
+ * Get all search sources
255
+ * @internal
256
+ */
257
+ getSearchSources() {
258
+ const textSearchSources = this.searchSourceService
259
+ .getSources()
260
+ .filter(sourceCanSearch)
261
+ .filter((s) => s.available && s.getId() !== 'map' && s.showInSettings);
262
+ const reverseSearchSources = this.searchSourceService
263
+ .getSources()
264
+ .filter(sourceCanReverseSearch)
265
+ .filter((s) => s.available && s.getId() !== 'map' && s.showInSettings);
266
+ const sources = textSearchSources.concat(reverseSearchSources);
267
+ this.computeSourcesCheckAllBehavior(sources);
268
+ return sources;
269
+ }
270
+ /**
271
+ * Get all search sources usable for pointer summary
272
+ * @internal
273
+ */
274
+ hasReverseSearchSourcesForPointerSummary() {
275
+ if (this.searchSourceService
276
+ .getEnabledSources()
277
+ .filter(sourceCanReverseSearchAsSummary).length) {
278
+ return true;
279
+ }
280
+ else {
281
+ return false;
282
+ }
283
+ }
284
+ /**
285
+ * Triggered when a setting is checked (checkbox style)
286
+ * @internal
287
+ */
288
+ settingsValueCheckedCheckbox(event, source, setting, settingValue) {
289
+ settingValue.enabled = event.checked;
290
+ source.setParamFromSetting(setting);
291
+ this.searchSourceChange.emit(source);
292
+ }
293
+ /**
294
+ * Defining the action to do for check/uncheck checkboxes (settings)
295
+ * return true if all checkbox must be checked
296
+ * return false if all checkbox must be unchecked
297
+ * @internal
298
+ */
299
+ computeSettingCheckAllBehavior(setting) {
300
+ if (setting.allEnabled === undefined) {
301
+ if (setting.values.find((settingValue) => settingValue.enabled)) {
302
+ setting.allEnabled = false;
303
+ }
304
+ else {
305
+ setting.allEnabled = true;
306
+ }
307
+ }
308
+ else {
309
+ setting.allEnabled = !setting.allEnabled;
310
+ }
311
+ }
312
+ /**
313
+ * Defining the action to do for check/uncheck checkboxes (sources)
314
+ * return true if all checkbox must be checked
315
+ * return false if all checkbox must be unchecked
316
+ * @internal
317
+ */
318
+ computeSourcesCheckAllBehavior(sources) {
319
+ const enabledSourcesCnt = sources.filter((source) => source.enabled).length;
320
+ const disabledSourcesCnt = sources.filter((source) => !source.enabled)
321
+ .length;
322
+ this.searchSourcesAllEnabled =
323
+ enabledSourcesCnt >= disabledSourcesCnt ? false : true;
324
+ }
325
+ /**
326
+ * Triggered when the check all / uncheck all type is clicked,
327
+ * @internal
328
+ */
329
+ checkUncheckAll(event, source, setting) {
330
+ event.stopPropagation();
331
+ this.computeSettingCheckAllBehavior(setting);
332
+ setting.values.forEach((settingValue) => {
333
+ settingValue.enabled = setting.allEnabled;
334
+ });
335
+ source.setParamFromSetting(setting);
336
+ this.searchSourceChange.emit(source);
337
+ }
338
+ /**
339
+ * Triggered when the check all / uncheck all type is clicked,
340
+ * @internal
341
+ */
342
+ checkUncheckAllSources(event) {
343
+ event.stopPropagation();
344
+ this.getSearchSources().map((source) => {
345
+ source.enabled = this.searchSourcesAllEnabled;
346
+ this.searchSourceChange.emit(source);
347
+ });
348
+ }
349
+ /**
350
+ * Triggered when a setting is checked (radiobutton style)
351
+ * @internal
352
+ */
353
+ settingsValueCheckedRadioButton(event, source, setting, settingValue) {
354
+ setting.values.forEach((conf) => {
355
+ if (conf.value !== settingValue.value) {
356
+ conf.enabled = !event.source.checked;
357
+ }
358
+ else {
359
+ conf.enabled = event.source.checked;
360
+ }
361
+ });
362
+ source.setParamFromSetting(setting);
363
+ this.searchSourceChange.emit(source);
364
+ }
365
+ onCheckSearchSource(event, source) {
366
+ source.enabled = event.checked;
367
+ const storage = (this.storageService.get(source.getId() + '.options') || {});
368
+ storage.enabled = source.enabled;
369
+ this.storageService.set(source.getId() + '.options', storage);
370
+ this.searchSourceChange.emit(source);
371
+ }
372
+ getAvailableValues(setting) {
373
+ return setting.values.filter((s) => s.available !== false);
374
+ }
375
+ getAvailableHashtagsValues(setting) {
376
+ if (setting.hashtags) {
377
+ return setting.hashtags.map((h) => '#' + h).join(', ');
378
+ }
379
+ return;
380
+ }
381
+ stopPropagation(event) {
382
+ event.stopPropagation();
383
+ }
384
+ changePointerReverseSearch(event) {
385
+ this.pointerSummaryEnabled = event.checked;
386
+ this.pointerSummaryStatus.emit(this.pointerSummaryEnabled);
387
+ }
388
+ changeSearchResultsGeometry(event) {
389
+ this.searchResultsGeometryEnabled = event.checked;
390
+ this.searchResultsGeometryStatus.emit(this.searchResultsGeometryEnabled);
391
+ }
392
+ reverseSearchCoordsFormat(event) {
393
+ this.reverseSearchCoordsFormatEnabled = event.checked;
394
+ this.reverseSearchCoordsFormatStatus.emit(this.reverseSearchCoordsFormatEnabled);
395
+ }
396
+ }
397
+ SearchSettingsComponent.ɵfac = function SearchSettingsComponent_Factory(t) { return new (t || SearchSettingsComponent)(i0.ɵɵdirectiveInject(i1.SearchSourceService), i0.ɵɵdirectiveInject(i2.MediaService), i0.ɵɵdirectiveInject(i2.StorageService)); };
398
+ SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchSettingsComponent, selectors: [["igo-search-settings"]], hostBindings: function SearchSettingsComponent_HostBindings(rf, ctx) { if (rf & 1) {
399
+ i0.ɵɵlistener("keydown", function SearchSettingsComponent_keydown_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); }, false, i0.ɵɵresolveDocument);
400
+ } }, inputs: { pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled" }, outputs: { searchSourceChange: "searchSourceChange", pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus" }, decls: 9, vars: 7, consts: [[1, "igo-search-settings"], ["mat-icon-button", "", "color", "primary", "tooltip-position", "below", "matTooltipShowDelay", "500", 1, "igo-search-settings-button", 3, "matTooltip", "matMenuTriggerFor"], ["svgIcon", "chevron-down"], [1, "no-border-radius"], ["searchSettingsMenu", "matMenu"], ["class", "checkAllButton", 4, "ngIf"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "checkAllButton"], ["mat-raised-button", "", 3, "click"], [1, "igo-search-settings-search-source"], [1, "igo-search-settings-checkbox", 3, "checked", "value", "click", "change"], ["mat-menu-item", "", 3, "matMenuTriggerFor", 4, "ngIf"], ["mat-menu-item", "", 4, "ngIf"], ["sub_menu", "matMenu"], ["mat-menu-item", "", 3, "matMenuTriggerFor"], ["mat-menu-item", ""], ["yPosition", "above", 3, "ngSwitch"], ["test_sub_menu", "matMenu"], [4, "ngSwitchCase"], [1, "igo-search-settings-radio-group", 3, "value"], ["class", "mat-typography", 3, "value", "matTooltip", "checked", "click", "change", 4, "ngFor", "ngForOf"], [1, "mat-typography", 3, "value", "matTooltip", "checked", "click", "change"], ["class", "mat-menu-item", 3, "display", "checked", "value", "matTooltip", "click", "change", 4, "ngFor", "ngForOf"], [1, "mat-menu-item", 3, "checked", "value", "matTooltip", "click", "change"], [1, "pointer-summary-slide-toggle-container", "mat-typography"], ["tooltip-position", "below", "matTooltipShowDelay", "500", 1, "search-option", 3, "matTooltip", "checked", "labelPosition", "change", "click"]], template: function SearchSettingsComponent_Template(rf, ctx) { if (rf & 1) {
401
+ i0.ɵɵelementStart(0, "div", 0)(1, "button", 1);
402
+ i0.ɵɵpipe(2, "translate");
403
+ i0.ɵɵelement(3, "mat-icon", 2);
404
+ i0.ɵɵelementEnd();
405
+ i0.ɵɵelementStart(4, "mat-menu", 3, 4);
406
+ i0.ɵɵtemplate(6, SearchSettingsComponent_div_6_Template, 5, 5, "div", 5);
407
+ i0.ɵɵtemplate(7, SearchSettingsComponent_ng_container_7_Template, 8, 5, "ng-container", 6);
408
+ i0.ɵɵtemplate(8, SearchSettingsComponent_span_8_Template, 16, 26, "span", 7);
409
+ i0.ɵɵelementEnd()();
410
+ } if (rf & 2) {
411
+ const _r0 = i0.ɵɵreference(5);
412
+ i0.ɵɵadvance(1);
413
+ i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 5, "igo.geo.search.menu.tooltip"))("matMenuTriggerFor", _r0);
414
+ i0.ɵɵadvance(5);
415
+ i0.ɵɵproperty("ngIf", ctx.getSearchSources().length > 4);
416
+ i0.ɵɵadvance(1);
417
+ i0.ɵɵproperty("ngForOf", ctx.getSearchSources());
418
+ i0.ɵɵadvance(1);
419
+ i0.ɵɵproperty("ngIf", ctx.hasPointerReverseSearchSource && !ctx.isTouchScreen);
420
+ } }, dependencies: [i3.NgForOf, i3.NgIf, i3.NgSwitch, i3.NgSwitchCase, i4.MatTooltip, i5.MatIcon, i6.MatButton, i7.MatMenu, i7.MatMenuItem, i7.MatMenuTrigger, i8.MatRadioGroup, i8.MatRadioButton, i9.MatCheckbox, i10.MatDivider, i11.MatSlideToggle, i12.TranslatePipe], styles: [".checkAllButton[_ngcontent-%COMP%]{text-align:center;padding:0 5px}.igo-search-settings-button[_ngcontent-%COMP%] div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.igo-search-settings-radio-group[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{margin:5px}.igo-search-settings-checkbox[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{display:flex}.igo-search-settings-search-source[_ngcontent-%COMP%]{display:flex;width:100%}.igo-search-settings-search-source[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:flex;margin-left:5px;margin-right:5px}.search-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container[_ngcontent-%COMP%]{overflow-x:hidden}.pointer-summary-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{margin:10px}"], changeDetection: 0 });
421
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSettingsComponent, [{
422
+ type: Component,
423
+ args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-settings\">\n\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\">\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\n </button>\n <mat-menu\n #searchSettingsMenu=\"matMenu\"\n class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length>4\">\n <button mat-raised-button\n (click)=\"checkUncheckAllSources($event)\">{{!searchSourcesAllEnabled ? ('igo.geo.search.searchSources.unselectAll' | translate): ('igo.geo.search.searchSources.selectAll' | translate)}}</button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"source\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\">\n </mat-checkbox>\n <button *ngIf=\"source.settings.length\u00A0>\u00A00\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item>{{source.title}}\n </button>\n <button\n mat-menu-item\n *ngIf=\"source.settings.length\u00A0===\u00A00\">\n {{source.title}}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"test_sub_menu\">\n {{'igo.geo.search.searchSources.settings.'+ setting.title | translate}}\n </button>\n <mat-menu #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\">\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\">\n <mat-radio-button *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedRadioButton($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length\u00A0>\u00A03\">\n <button mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\">{{setting.allEnabled || setting.allEnabled === undefined ? ('igo.geo.search.searchSources.settings.unselectAll' | translate): ('igo.geo.search.searchSources.settings.selectAll' | translate)}}</button>\n </div>\n <mat-checkbox *ngFor=\"let settingValue of getAvailableValues(setting)\"\n class=\"mat-menu-item\"\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"setting\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedCheckbox($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-checkbox>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <span *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\">\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container mat-typography\">\n <mat-slide-toggle class=\"search-option\" (change)=\"changePointerReverseSearch($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.pointerSearchSummary.tooltip' | translate\"\n (click)=\"$event.stopPropagation()\" [checked]=\"pointerSummaryEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.pointerSearchSummary.title' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle class=\"search-option\" (change)=\"changeSearchResultsGeometry($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.searchResultsGeometry.tooltip' | translate\"\n (click)=\"$event.stopPropagation()\" [checked]=\"searchResultsGeometryEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.searchResultsGeometry.title' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle class=\"search-option\" (change)=\"reverseSearchCoordsFormat($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"reverseSearchCoordsFormatEnabled ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\"\n (click)=\"$event.stopPropagation()\" [checked]=\"reverseSearchCoordsFormatEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.reverseCoordFormat.title' | translate}}\n </mat-slide-toggle>\n </span>\n </span>\n </mat-menu>\n</div>\n", styles: [".checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-button ::ng-deep div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group{display:flex;flex-direction:column}.igo-search-settings-radio-group mat-radio-button{margin:5px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px}\n"] }]
424
+ }], function () { return [{ type: i1.SearchSourceService }, { type: i2.MediaService }, { type: i2.StorageService }]; }, { pointerSummaryEnabled: [{
425
+ type: Input
426
+ }], searchResultsGeometryEnabled: [{
427
+ type: Input
428
+ }], reverseSearchCoordsFormatEnabled: [{
429
+ type: Input
430
+ }], searchSourceChange: [{
431
+ type: Output
432
+ }], pointerSummaryStatus: [{
433
+ type: Output
434
+ }], searchResultsGeometryStatus: [{
435
+ type: Output
436
+ }], reverseSearchCoordsFormatStatus: [{
437
+ type: Output
438
+ }], handleKeyboardEvent: [{
439
+ type: HostListener,
440
+ args: ['document:keydown', ['$event']]
441
+ }] }); })();
442
442
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFFdkIsWUFBWSxFQUNaLEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGVBQWUsRUFDZixzQkFBc0IsRUFDdkIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQ1I1Qiw4QkFBZ0UsZ0JBQUE7SUFFNUQsMEtBQVMsZUFBQSxxQ0FBOEIsQ0FBQSxJQUFDO0lBQUMsWUFBZ0o7OztJQUFBLGlCQUFTLEVBQUE7OztJQUF6SixlQUFnSjtJQUFoSix5TEFBZ0o7OztJQVd2TCxrQ0FFZ0I7SUFBQSxZQUNoQjtJQUFBLGlCQUFTOzs7O0lBRlAsdUNBQThCO0lBQ2hCLGVBQ2hCO0lBRGdCLCtDQUNoQjs7O0lBQ0Esa0NBRXVDO0lBQ3JDLFlBQ0Y7SUFBQSxpQkFBUzs7O0lBRFAsZUFDRjtJQURFLGdEQUNGOzs7O0lBZ0JVLDRDQU1vRjtJQURsRiw0S0FBUyx3QkFBd0IsSUFBQyxvWUFDeEIsZUFBQSx5RkFBc0UsQ0FBQSxJQUQ5QztJQUVsQyxZQUNGOztJQUFBLGlCQUFtQjs7OztJQU5qQix3Q0FBc0Isb0VBQUEscUNBQUE7SUFLdEIsZUFDRjtJQURFLDZFQUNGOzs7SUFaSiw0QkFBb0MsMEJBQUE7SUFJaEMsd0lBUW1CO0lBQ3JCLGlCQUFr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QUksQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNuRixDQUFDOzs4RkEvTlUsdUJBQXVCOzBFQUF2Qix1QkFBdUI7OEdBQXZCLCtCQUEyQjs7UUN4Q3hDLDhCQUFpQyxnQkFBQTs7UUFVN0IsOEJBQTRDO1FBQzlDLGlCQUFTO1FBQ1Qsc0NBRTJCO1FBQ3pCLHdFQUdNO1FBQ0osMEZBK0RlO1FBQ2YsNEVBcUJPO1FBQ1gsaUJBQVcsRUFBQTs7O1FBakdULGVBQXdEO1FBQXhELGdGQUF3RCwwQkFBQTtRQU8zQixlQUFpQztRQUFqQyx3REFBaUM7UUFJM0IsZUFBcUI7UUFBckIsZ0RBQXFCO1FBZ0UvQyxlQUFxRDtRQUFyRCw4RUFBcUQ7O3VGRDNDckQsdUJBQXVCO2NBTm5DLFNBQVM7MkJBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OEhBZXRDLHFCQUFxQjtrQkFBN0IsS0FBSztZQUNHLDRCQUE0QjtrQkFBcEMsS0FBSztZQUNHLGdDQUFnQztrQkFBeEMsS0FBSztZQUtJLGtCQUFrQjtrQkFBM0IsTUFBTTtZQUtHLG9CQUFvQjtrQkFBN0IsTUFBTTtZQUtHLDJCQUEyQjtrQkFBcEMsTUFBTTtZQUtHLCtCQUErQjtrQkFBeEMsTUFBTTtZQUdQLG1CQUFtQjtrQkFEbEIsWUFBWTttQkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0UmFkaW9DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPbkluaXQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uL3NoYXJlZC9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQge1xuICBTZWFyY2hTb3VyY2VTZXR0aW5ncyxcbiAgU2V0dGluZ09wdGlvbnNcbn0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeSxcbiAgc291cmNlQ2FuU2VhcmNoLFxuICBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoXG59IGZyb20gJy4uL3NoYXJlZC9zZWFyY2gudXRpbHMnO1xuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGFsbG93cyBhIHVzZXIgdG8gc2VsZWN0IGEgc2VhcmNoIHR5cGUgeW8gZW5hYmxlLiBJbiBpdCdzXG4gKiBjdXJyZW50IHZlcnNpb24sIG9ubHkgb25lIHNlYXJjaCB0eXBlIGNhbiBiZSBzZWxlY3RlZCBhdCBvbmNlIChyYWRpbykuIElmXG4gKiB0aGlzIGNvbXBvbmVudCB3ZXJlIHRvIHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQgKGNoZWNrYm94KSxcbiAqIHRoZSBzZWFyY2hiYXIgY29tcG9uZW50IHdvdWxkIHJlcXVpcmUgYSBzbWFsbCBjaGFuZ2UgdG8gaXQnc1xuICogcGxhY2Vob2xkZXIgZ2V0dGVyLiBUaGUgc2VhcmNoIHNvdXJjZSBzZXJ2aWNlIGFscmVhZHkgc3VwcG9ydHMgaGF2aW5nXG4gKiBtb3JlIHRoYW4gb25lIHNlYXJjaCBzb3VyY2UgZW5hYmxlZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1zZXR0aW5ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoU2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNlYXJjaFNvdXJjZXNBbGxFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGJ1ZmZlciA9IFtdO1xuICBwdWJsaWMgbGFzdEtleVRpbWUgPSBEYXRlLm5vdygpO1xuXG4gIHB1YmxpYyBkaXNwbGF5QmxvY2sgPSAnYmxvY2snO1xuXG4gIGdldCBpc1RvdWNoU2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1lZGlhU2VydmljZS5pc1RvdWNoU2NyZWVuKCk7XG4gIH1cblxuICBASW5wdXQoKSBwb2ludGVyU3VtbWFyeUVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGVuYWJsZWQgc2VhcmNoIHNvdXJjZSBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KCkgc2VhcmNoU291cmNlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hTb3VyY2U+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcG9pbnRlciBzdW1tYXJ5IGlzIGFjdGl2YXRlZFxuICAgKi9cbiAgQE91dHB1dCgpIHBvaW50ZXJTdW1tYXJ5U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNob3cgZ2VvbWV0cnkgc3VtbWFyeSBpcyBjaGFuZ2VkXG4gICAqL1xuICBAT3V0cHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGNvb3JkcyBmb3JtYXQgaXMgY2hhbmdlZFxuICAgKi9cbiAgQE91dHB1dCgpIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRjInKSB7XG4gICAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCA9ICF0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZDtcbiAgICAgIHRoaXMucG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCh0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2UgPSB0aGlzLmhhc1JldmVyc2VTZWFyY2hTb3VyY2VzRm9yUG9pbnRlclN1bW1hcnkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIHNlYXJjaCBzb3VyY2VzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0U2VhcmNoU291cmNlcygpOiBTZWFyY2hTb3VyY2VbXSB7XG4gICAgY29uc3QgdGV4dFNlYXJjaFNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgICAgIC5nZXRTb3VyY2VzKClcbiAgICAgIC5maWx0ZXIoc291cmNlQ2FuU2VhcmNoKVxuICAgICAgLmZpbHRlcigocykgPT4gcy5hdmFpbGFibGUgJiYgcy5nZXRJZCgpICE9PSAnbWFwJyAmJiBzLnNob3dJblNldHRpbmdzKTtcblxuICAgIGNvbnN0IHJldmVyc2VTZWFyY2hTb3VyY2VzID0gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXG4gICAgICAuZ2V0U291cmNlcygpXG4gICAgICAuZmlsdGVyKHNvdXJjZUNhblJldmVyc2VTZWFyY2gpXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xuICAgIGNvbnN0IHNvdXJjZXMgPSB0ZXh0U2VhcmNoU291cmNlcy5jb25jYXQocmV2ZXJzZVNlYXJjaFNvdXJjZXMpO1xuICAgIHRoaXMuY29tcHV0ZVNvdXJjZXNDaGVja0FsbEJlaGF2aW9yKHNvdXJjZXMpO1xuICAgIHJldHVybiBzb3VyY2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgc2VhcmNoIHNvdXJjZXMgdXNhYmxlIGZvciBwb2ludGVyIHN1bW1hcnlcbiAgICogQGludGVybmFsXG4gICAqL1xuICBoYXNSZXZlcnNlU2VhcmNoU291cmNlc0ZvclBvaW50ZXJTdW1tYXJ5KCk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxuICAgICAgICAuZ2V0RW5hYmxlZFNvdXJjZXMoKVxuICAgICAgICAuZmlsdGVyKHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnkpLmxlbmd0aFxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gYSBzZXR0aW5nIGlzIGNoZWNrZWQgKGNoZWNrYm94IHN0eWxlKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldHRpbmdzVmFsdWVDaGVja2VkQ2hlY2tib3goXG4gICAgZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlLFxuICAgIHNvdXJjZTogU2VhcmNoU291cmNlLFxuICAgIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLFxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcbiAgKSB7XG4gICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmluZyB0aGUgYWN0aW9uIHRvIGRvIGZvciBjaGVjay91bmNoZWNrIGNoZWNrYm94ZXMgKHNldHRpbmdzKVxuICAgKiByZXR1cm4gdHJ1ZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSBjaGVja2VkXG4gICAqIHJldHVybiBmYWxzZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSB1bmNoZWNrZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb21wdXRlU2V0dGluZ0NoZWNrQWxsQmVoYXZpb3Ioc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcbiAgICBpZiAoc2V0dGluZy5hbGxFbmFibGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChzZXR0aW5nLnZhbHVlcy5maW5kKChzZXR0aW5nVmFsdWUpID0+IHNldHRpbmdWYWx1ZS5lbmFibGVkKSkge1xuICAgICAgICBzZXR0aW5nLmFsbEVuYWJsZWQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9ICFzZXR0aW5nLmFsbEVuYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlZmluaW5nIHRoZSBhY3Rpb24gdG8gZG8gZm9yIGNoZWNrL3VuY2hlY2sgY2hlY2tib3hlcyAoc291cmNlcylcbiAgICogcmV0dXJuIHRydWUgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgY2hlY2tlZFxuICAgKiByZXR1cm4gZmFsc2UgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgdW5jaGVja2VkXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29tcHV0ZVNvdXJjZXNDaGVja0FsbEJlaGF2aW9yKHNvdXJjZXM6IFNlYXJjaFNvdXJjZVtdKSB7XG4gICAgY29uc3QgZW5hYmxlZFNvdXJjZXNDbnQgPSBzb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UuZW5hYmxlZCkubGVuZ3RoO1xuICAgIGNvbnN0IGRpc2FibGVkU291cmNlc0NudCA9IHNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+ICFzb3VyY2UuZW5hYmxlZClcbiAgICAgIC5sZW5ndGg7XG4gICAgdGhpcy5zZWFyY2hTb3VyY2VzQWxsRW5hYmxlZCA9XG4gICAgICBlbmFibGVkU291cmNlc0NudCA+PSBkaXNhYmxlZFNvdXJjZXNDbnQgPyBmYWxzZSA6IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdGhlIGNoZWNrIGFsbCAvIHVuY2hlY2sgYWxsIHR5cGUgaXMgY2xpY2tlZCxcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjaGVja1VuY2hlY2tBbGwoZXZlbnQsIHNvdXJjZTogU2VhcmNoU291cmNlLCBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY29tcHV0ZVNldHRpbmdDaGVja0FsbEJlaGF2aW9yKHNldHRpbmcpO1xuICAgIHNldHRpbmcudmFsdWVzLmZvckVhY2goKHNldHRpbmdWYWx1ZSkgPT4ge1xuICAgICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBzZXR0aW5nLmFsbEVuYWJsZWQ7XG4gICAgfSk7XG4gICAgc291cmNlLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZyk7XG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHRoZSBjaGVjayBhbGwgLyB1bmNoZWNrIGFsbCB0eXBlIGlzIGNsaWNrZWQsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY2hlY2tVbmNoZWNrQWxsU291cmNlcyhldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZ2V0U2VhcmNoU291cmNlcygpLm1hcCgoc291cmNlKSA9PiB7XG4gICAgICBzb3VyY2UuZW5hYmxlZCA9IHRoaXMuc2VhcmNoU291cmNlc0FsbEVuYWJsZWQ7XG4gICAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gYSBzZXR0aW5nIGlzIGNoZWNrZWQgKHJhZGlvYnV0dG9uIHN0eWxlKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldHRpbmdzVmFsdWVDaGVja2VkUmFkaW9CdXR0b24oXG4gICAgZXZlbnQ6IE1hdFJhZGlvQ2hhbmdlLFxuICAgIHNvdXJjZTogU2VhcmNoU291cmNlLFxuICAgIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLFxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcbiAgKSB7XG4gICAgc2V0dGluZy52YWx1ZXMuZm9yRWFjaCgoY29uZikgPT4ge1xuICAgICAgaWYgKGNvbmYudmFsdWUgIT09IHNldHRpbmdWYWx1ZS52YWx1ZSkge1xuICAgICAgICBjb25mLmVuYWJsZWQgPSAhZXZlbnQuc291cmNlLmNoZWNrZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25mLmVuYWJsZWQgPSBldmVudC5zb3VyY2UuY2hlY2tlZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzb3VyY2Uuc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nKTtcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gIH1cblxuICBvbkNoZWNrU2VhcmNoU291cmNlKGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSwgc291cmNlOiBTZWFyY2hTb3VyY2UpIHtcbiAgICBzb3VyY2UuZW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgY29uc3Qgc3RvcmFnZSA9ICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChzb3VyY2UuZ2V0SWQoKSArICcub3B0aW9ucycpIHx8IHt9KSBhcyBTZXR0aW5nT3B0aW9ucztcbiAgICBzdG9yYWdlLmVuYWJsZWQgPSBzb3VyY2UuZW5hYmxlZDtcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChcbiAgICAgIHNvdXJjZS5nZXRJZCgpICsgJy5vcHRpb25zJyxcbiAgICAgIHN0b3JhZ2VcbiAgICApO1xuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcbiAgfVxuXG4gIGdldEF2YWlsYWJsZVZhbHVlcyhzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xuICAgIHJldHVybiBzZXR0aW5nLnZhbHVlcy5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICE9PSBmYWxzZSk7XG4gIH1cblxuICBnZXRBdmFpbGFibGVIYXNodGFnc1ZhbHVlcyhzZXR0aW5nOiBTZXR0aW5nT3B0aW9ucykge1xuICAgIGlmIChzZXR0aW5nLmhhc2h0YWdzKSB7XG4gICAgICByZXR1cm4gc2V0dGluZy5oYXNodGFncy5tYXAoKGgpID0+ICcjJyArIGgpLmpvaW4oJywgJyk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIHN0b3BQcm9wYWdhdGlvbihldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgY2hhbmdlUG9pbnRlclJldmVyc2VTZWFyY2goZXZlbnQpIHtcbiAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgdGhpcy5wb2ludGVyU3VtbWFyeVN0YXR1cy5lbWl0KHRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkKTtcbiAgfVxuXG4gIGNoYW5nZVNlYXJjaFJlc3VsdHNHZW9tZXRyeShldmVudCkge1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgdGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMuZW1pdCh0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQpO1xuICB9XG5cbiAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdChldmVudCkge1xuICAgIHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cy5lbWl0KHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5nc1wiPlxuXG4gIDxidXR0b25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3MtYnV0dG9uXCJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uc2VhcmNoLm1lbnUudG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzZWFyY2hTZXR0aW5nc01lbnVcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNoZXZyb24tZG93blwiPjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LW1lbnVcbiAgICAjc2VhcmNoU2V0dGluZ3NNZW51PVwibWF0TWVudVwiXG4gICAgY2xhc3M9XCJuby1ib3JkZXItcmFkaXVzXCI+XG4gICAgPGRpdiBjbGFzcz1cImNoZWNrQWxsQnV0dG9uXCIgKm5nSWY9XCJnZXRTZWFyY2hTb3VyY2VzKCkubGVuZ3RoPjRcIj5cbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cImNoZWNrVW5jaGVja0FsbFNvdXJjZXMoJGV2ZW50KVwiPnt7IXNlYXJjaFNvdXJjZXNBbGxFbmFibGVkICA/ICgnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy51bnNlbGVjdEFsbCcgfCB0cmFuc2xhdGUpOiAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSl9fTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc291cmNlIG9mIGdldFNlYXJjaFNvdXJjZXMoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3Mtc2VhcmNoLXNvdXJjZVwiPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1jaGVja2JveFwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJzb3VyY2UuZW5hYmxlZFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwic291cmNlXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrU2VhcmNoU291cmNlKCRldmVudCwgc291cmNlKVwiPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJzb3VyY2Uuc2V0dGluZ3MubGVuZ3RowqA+wqAwXCJcbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdWJfbWVudVwiXG4gICAgICAgICAgICBtYXQtbWVudS1pdGVtPnt7c291cmNlLnRpdGxlfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAqbmdJZj1cInNvdXJjZS5zZXR0aW5ncy5sZW5ndGjCoD09PcKgMFwiPlxuICAgICAgICAgICAge3tzb3VyY2UudGl0bGV9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPG1hdC1tZW51ICNzdWJfbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNldHRpbmcgb2Ygc291cmNlLnNldHRpbmdzXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJ0ZXN0X3N1Yl9tZW51XCI+XG4gICAgICAgICAgICAgICAge3snaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy4nKyBzZXR0aW5nLnRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtbWVudSAjdGVzdF9zdWJfbWVudT1cIm1hdE1lbnVcIlxuICAgICAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJzZXR0aW5nLnR5cGVcIlxuICAgICAgICAgICAgICAgIHlQb3NpdGlvbj1cImFib3ZlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidyYWRpb2J1dHRvbidcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtcmFkaW8tZ3JvdXBcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLXJhZGlvLWdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gKm5nRm9yPVwibGV0IHNldHRpbmdWYWx1ZSBvZiBzZXR0aW5nLnZhbHVlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0QXZhaWxhYmxlSGFzaHRhZ3NWYWx1ZXMoc2V0dGluZ1ZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2V0dGluZ1ZhbHVlLmVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0dGluZ3NWYWx1ZUNoZWNrZWRSYWRpb0J1dHRvbigkZXZlbnQsIHNvdXJjZSwgc2V0dGluZywgc2V0dGluZ1ZhbHVlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7c2V0dGluZ1ZhbHVlLnRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tBbGxCdXR0b25cIiAqbmdJZj1cInNldHRpbmcudmFsdWVzLmxlbmd0aMKgPsKgM1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoZWNrVW5jaGVja0FsbCgkZXZlbnQsIHNvdXJjZSwgc2V0dGluZylcIj57e3NldHRpbmcuYWxsRW5hYmxlZCB8fCBzZXR0aW5nLmFsbEVuYWJsZWQgPT09IHVuZGVmaW5lZCAgPyAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MudW5zZWxlY3RBbGwnIHwgdHJhbnNsYXRlKTogKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNldHRpbmdzLnNlbGVjdEFsbCcgfCB0cmFuc2xhdGUpfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlIG9mIGdldEF2YWlsYWJsZVZhbHVlcyhzZXR0aW5nKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LW1lbnUtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImRpc3BsYXlCbG9ja1wiXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNldHRpbmdWYWx1ZS5lbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJnZXRBdmFpbGFibGVIYXNodGFnc1ZhbHVlcyhzZXR0aW5nVmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0dGluZ3NWYWx1ZUNoZWNrZWRDaGVja2JveCgkZXZlbnQsIHNvdXJjZSwgc2V0dGluZywgc2V0dGluZ1ZhbHVlKVwiPlxuICAgICAgICAgICAgICAgICAgICB7e3NldHRpbmdWYWx1ZS50aXRsZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8c3BhbiAqbmdJZj1cImhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlICYmICFpc1RvdWNoU2NyZWVuXCI+XG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInBvaW50ZXItc3VtbWFyeS1zbGlkZS10b2dnbGUtY29udGFpbmVyIG1hdC10eXBvZ3JhcGh5XCI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9XCJzZWFyY2gtb3B0aW9uXCIgKGNoYW5nZSk9XCJjaGFuZ2VQb2ludGVyUmV2ZXJzZVNlYXJjaCgkZXZlbnQpXCIgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIiBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5zZWFyY2gucG9pbnRlclNlYXJjaFN1bW1hcnkudG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFtjaGVja2VkXT1cInBvaW50ZXJTdW1tYXJ5RW5hYmxlZFwiIFtsYWJlbFBvc2l0aW9uXT1cIidhZnRlcidcIj5cbiAgICAgICAgICAgIHt7J2lnby5nZW8uc2VhcmNoLnBvaW50ZXJTZWFyY2hTdW1tYXJ5LnRpdGxlJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPVwic2VhcmNoLW9wdGlvblwiIChjaGFuZ2UpPVwiY2hhbmdlU2VhcmNoUmVzdWx0c0dlb21ldHJ5KCRldmVudClcIiB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNlYXJjaC5zZWFyY2hSZXN1bHRzR2VvbWV0cnkudG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFtjaGVja2VkXT1cInNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWRcIiBbbGFiZWxQb3NpdGlvbl09XCInYWZ0ZXInXCI+XG4gICAgICAgICAgICB7eydpZ28uZ2VvLnNlYXJjaC5zZWFyY2hSZXN1bHRzR2VvbWV0cnkudGl0bGUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9XCJzZWFyY2gtb3B0aW9uXCIgKGNoYW5nZSk9XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0KCRldmVudClcIiB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCA/ICgnaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRvb2x0aXBMYXRMb24nIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoJ2lnby5nZW8uc2VhcmNoLnJldmVyc2VDb29yZEZvcm1hdC50b29sdGlwTG9uTGF0JyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFtjaGVja2VkXT1cInJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkXCIgW2xhYmVsUG9zaXRpb25dPVwiJ2FmdGVyJ1wiPlxuICAgICAgICAgICAge3snaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRpdGxlJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gIDwvbWF0LW1lbnU+XG48L2Rpdj5cbiJdfQ==