@igo2/geo 1.14.1 → 1.14.3

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 (871) hide show
  1. package/esm2020/igo2-geo.mjs +4 -4
  2. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +301 -299
  3. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +306 -268
  4. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +247 -247
  5. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +79 -79
  6. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +208 -208
  7. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +78 -78
  8. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +216 -216
  9. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +94 -94
  10. package/esm2020/lib/catalog/catalog.module.mjs +52 -52
  11. package/esm2020/lib/catalog/index.mjs +4 -4
  12. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +94 -94
  13. package/esm2020/lib/catalog/shared/catalog.enum.mjs +15 -15
  14. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  15. package/esm2020/lib/catalog/shared/catalog.service.mjs +605 -605
  16. package/esm2020/lib/catalog/shared/index.mjs +4 -4
  17. package/esm2020/lib/datasource/datasource.module.mjs +21 -21
  18. package/esm2020/lib/datasource/index.mjs +2 -2
  19. package/esm2020/lib/datasource/shared/capabilities.service.mjs +430 -430
  20. package/esm2020/lib/datasource/shared/datasource.service.mjs +235 -235
  21. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  22. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  23. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  24. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +144 -144
  25. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  26. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +108 -108
  27. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +14 -14
  29. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +2 -2
  30. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +28 -28
  32. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +42 -42
  34. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  35. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +56 -56
  36. package/esm2020/lib/datasource/shared/datasources/index.mjs +35 -35
  37. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +27 -27
  39. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +11 -11
  41. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  42. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +48 -48
  43. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  44. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +14 -14
  45. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  46. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +53 -53
  47. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  48. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +71 -71
  49. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +151 -151
  50. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -205
  52. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +206 -206
  53. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  54. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +15 -15
  55. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  56. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +8 -8
  57. package/esm2020/lib/datasource/shared/index.mjs +4 -4
  58. package/esm2020/lib/datasource/shared/options/index.mjs +4 -4
  59. package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
  60. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +14 -14
  61. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +80 -80
  62. package/esm2020/lib/datasource/shared/options/options.service.mjs +2 -2
  63. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +356 -356
  64. package/esm2020/lib/datasource/utils/index.mjs +2 -2
  65. package/esm2020/lib/datasource/utils/tilegrid.mjs +19 -19
  66. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +223 -223
  67. package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
  68. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +289 -289
  69. package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
  70. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +195 -195
  71. package/esm2020/lib/directions/directions-results/index.mjs +1 -1
  72. package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  73. package/esm2020/lib/directions/directions-sources/directions-source.mjs +2 -2
  74. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +15 -15
  75. package/esm2020/lib/directions/directions-sources/index.mjs +4 -4
  76. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +98 -98
  77. package/esm2020/lib/directions/directions.component.mjs +310 -310
  78. package/esm2020/lib/directions/directions.module.mjs +101 -101
  79. package/esm2020/lib/directions/index.mjs +6 -6
  80. package/esm2020/lib/directions/shared/directions-source.service.mjs +16 -16
  81. package/esm2020/lib/directions/shared/directions.enum.mjs +27 -27
  82. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  83. package/esm2020/lib/directions/shared/directions.service.mjs +28 -28
  84. package/esm2020/lib/directions/shared/directions.utils.mjs +508 -508
  85. package/esm2020/lib/directions/shared/index.mjs +5 -5
  86. package/esm2020/lib/directions/shared/store.mjs +23 -23
  87. package/esm2020/lib/download/download-button/download-button.component.mjs +60 -60
  88. package/esm2020/lib/download/download-button/index.mjs +1 -1
  89. package/esm2020/lib/download/download.module.mjs +41 -41
  90. package/esm2020/lib/download/index.mjs +2 -2
  91. package/esm2020/lib/download/shared/download.interface.mjs +1 -1
  92. package/esm2020/lib/download/shared/download.service.mjs +64 -64
  93. package/esm2020/lib/download/shared/index.mjs +2 -2
  94. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +54 -54
  95. package/esm2020/lib/draw/draw/draw-popup.component.mjs +590 -590
  96. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +47 -47
  97. package/esm2020/lib/draw/draw/draw.component.mjs +1298 -1298
  98. package/esm2020/lib/draw/draw/draw.module.mjs +112 -112
  99. package/esm2020/lib/draw/drawingTool.module.mjs +19 -19
  100. package/esm2020/lib/draw/index.mjs +2 -2
  101. package/esm2020/lib/draw/shared/draw-icon.service.mjs +26 -26
  102. package/esm2020/lib/draw/shared/draw-style.service.mjs +189 -189
  103. package/esm2020/lib/draw/shared/draw.enum.mjs +36 -36
  104. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  105. package/esm2020/lib/draw/shared/draw.utils.mjs +121 -121
  106. package/esm2020/lib/draw/shared/index.mjs +5 -5
  107. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +404 -404
  108. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +53 -53
  109. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +47 -47
  110. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +111 -111
  111. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +33 -33
  112. package/esm2020/lib/feature/feature.module.mjs +27 -27
  113. package/esm2020/lib/feature/index.mjs +3 -3
  114. package/esm2020/lib/feature/shared/feature.enums.mjs +8 -8
  115. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  116. package/esm2020/lib/feature/shared/feature.utils.mjs +346 -346
  117. package/esm2020/lib/feature/shared/index.mjs +6 -6
  118. package/esm2020/lib/feature/shared/store.mjs +123 -123
  119. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +112 -112
  120. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +93 -93
  121. package/esm2020/lib/feature/shared/strategies/index.mjs +5 -5
  122. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +103 -103
  123. package/esm2020/lib/feature/shared/strategies/loading.mjs +132 -132
  124. package/esm2020/lib/feature/shared/strategies/selection.mjs +369 -369
  125. package/esm2020/lib/feature/shared/strategies.utils.mjs +36 -36
  126. package/esm2020/lib/filter/filter.module.mjs +288 -288
  127. package/esm2020/lib/filter/index.mjs +15 -15
  128. package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
  129. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +139 -139
  130. package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
  131. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +644 -644
  132. package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
  133. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1301 -1301
  134. package/esm2020/lib/filter/ogc-filter-time/index.mjs +2 -2
  135. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +176 -176
  136. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +897 -897
  137. package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
  138. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +58 -58
  139. package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
  140. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +306 -306
  141. package/esm2020/lib/filter/ogc-filterable-list/index.mjs +2 -2
  142. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +30 -30
  143. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +43 -43
  144. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +54 -54
  145. package/esm2020/lib/filter/shared/index.mjs +11 -11
  146. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +71 -71
  147. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +29 -29
  148. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  149. package/esm2020/lib/filter/shared/ogc-filter.mjs +691 -691
  150. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +45 -45
  151. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +22 -22
  152. package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
  153. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +268 -268
  154. package/esm2020/lib/filter/shared/time-filter.enum.mjs +12 -12
  155. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  156. package/esm2020/lib/filter/shared/time-filter.service.mjs +106 -106
  157. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
  158. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1088 -1088
  159. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
  160. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +207 -207
  161. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
  162. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +143 -143
  163. package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
  164. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +77 -77
  165. package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
  166. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +733 -733
  167. package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
  168. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +118 -118
  169. package/esm2020/lib/filter/time-filter-list/index.mjs +2 -2
  170. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +30 -30
  171. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +38 -38
  172. package/esm2020/lib/geo.module.mjs +101 -101
  173. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +520 -520
  174. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +188 -188
  175. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +63 -63
  176. package/esm2020/lib/geometry/geometry.module.mjs +26 -26
  177. package/esm2020/lib/geometry/index.mjs +3 -3
  178. package/esm2020/lib/geometry/shared/controls/draw.mjs +313 -313
  179. package/esm2020/lib/geometry/shared/controls/index.mjs +3 -3
  180. package/esm2020/lib/geometry/shared/controls/modify.mjs +520 -520
  181. package/esm2020/lib/geometry/shared/controls/slice.mjs +176 -176
  182. package/esm2020/lib/geometry/shared/geometry.errors.mjs +25 -25
  183. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  184. package/esm2020/lib/geometry/shared/geometry.utils.mjs +121 -121
  185. package/esm2020/lib/geometry/shared/index.mjs +4 -4
  186. package/esm2020/lib/import-export/export-button/export-button.component.mjs +63 -63
  187. package/esm2020/lib/import-export/export-button/index.mjs +1 -1
  188. package/esm2020/lib/import-export/import-export/import-export.component.mjs +1219 -1219
  189. package/esm2020/lib/import-export/import-export/index.mjs +1 -1
  190. package/esm2020/lib/import-export/import-export.module.mjs +95 -95
  191. package/esm2020/lib/import-export/index.mjs +4 -4
  192. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +134 -134
  193. package/esm2020/lib/import-export/shared/export.errors.mjs +14 -14
  194. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  195. package/esm2020/lib/import-export/shared/export.service.mjs +195 -195
  196. package/esm2020/lib/import-export/shared/export.type.mjs +3 -3
  197. package/esm2020/lib/import-export/shared/export.utils.mjs +54 -54
  198. package/esm2020/lib/import-export/shared/import.errors.mjs +38 -38
  199. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  200. package/esm2020/lib/import-export/shared/import.service.mjs +214 -214
  201. package/esm2020/lib/import-export/shared/import.utils.mjs +234 -234
  202. package/esm2020/lib/import-export/shared/index.mjs +10 -10
  203. package/esm2020/lib/import-export/style-list/index.mjs +4 -4
  204. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
  205. package/esm2020/lib/import-export/style-list/style-list.module.mjs +22 -22
  206. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +20 -20
  207. package/esm2020/lib/import-export/style-list/style-list.service.mjs +50 -50
  208. package/esm2020/lib/layer/index.mjs +10 -10
  209. package/esm2020/lib/layer/layer-item/index.mjs +1 -1
  210. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +299 -299
  211. package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
  212. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +387 -387
  213. package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
  214. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +83 -83
  215. package/esm2020/lib/layer/layer-legend-list/index.mjs +2 -2
  216. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +47 -47
  217. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +194 -194
  218. package/esm2020/lib/layer/layer-list/index.mjs +3 -3
  219. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +58 -58
  220. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1008 -1008
  221. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +18 -18
  222. package/esm2020/lib/layer/layer-list-tool/index.mjs +4 -4
  223. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +164 -164
  224. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +6 -6
  225. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  226. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +21 -21
  227. package/esm2020/lib/layer/layer.module.mjs +184 -184
  228. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  229. package/esm2020/lib/layer/shared/index.mjs +6 -6
  230. package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
  231. package/esm2020/lib/layer/shared/layer.service.mjs +185 -185
  232. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  233. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  234. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  235. package/esm2020/lib/layer/shared/layers/image-layer.mjs +67 -67
  236. package/esm2020/lib/layer/shared/layers/index.mjs +12 -12
  237. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +17 -17
  238. package/esm2020/lib/layer/shared/layers/layer.mjs +163 -163
  239. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  240. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +46 -46
  241. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  242. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +377 -377
  243. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  244. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +103 -103
  245. package/esm2020/lib/layer/shared/style.service.mjs +355 -355
  246. package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
  247. package/esm2020/lib/layer/style-modal/index.mjs +1 -1
  248. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +287 -287
  249. package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
  250. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +58 -58
  251. package/esm2020/lib/layer/utils/image-watcher.mjs +61 -61
  252. package/esm2020/lib/layer/utils/index.mjs +5 -5
  253. package/esm2020/lib/layer/utils/layer.utils.mjs +9 -9
  254. package/esm2020/lib/layer/utils/outputLegend.mjs +26 -26
  255. package/esm2020/lib/layer/utils/tile-watcher.mjs +49 -49
  256. package/esm2020/lib/layer/utils/vector-watcher.mjs +47 -47
  257. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +19 -19
  258. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +96 -96
  259. package/esm2020/lib/map/baselayers-switcher/index.mjs +2 -2
  260. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +141 -133
  261. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +78 -78
  262. package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
  263. package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +62 -62
  264. package/esm2020/lib/map/home-extent-button/index.mjs +1 -1
  265. package/esm2020/lib/map/index.mjs +13 -13
  266. package/esm2020/lib/map/info-section/index.mjs +1 -1
  267. package/esm2020/lib/map/info-section/info-section.component.mjs +29 -29
  268. package/esm2020/lib/map/map-browser/index.mjs +1 -1
  269. package/esm2020/lib/map/map-browser/map-browser.component.mjs +65 -65
  270. package/esm2020/lib/map/map-center/index.mjs +1 -1
  271. package/esm2020/lib/map/map-center/map-center.component.mjs +49 -49
  272. package/esm2020/lib/map/map.module.mjs +126 -126
  273. package/esm2020/lib/map/menu-button/index.mjs +1 -1
  274. package/esm2020/lib/map/menu-button/menu-button.component.mjs +61 -61
  275. package/esm2020/lib/map/offline-button/index.mjs +1 -1
  276. package/esm2020/lib/map/offline-button/offline-button.component.mjs +75 -75
  277. package/esm2020/lib/map/rotation-button/index.mjs +1 -1
  278. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +69 -69
  279. package/esm2020/lib/map/shared/controllers/controller.mjs +41 -41
  280. package/esm2020/lib/map/shared/controllers/geolocation.mjs +307 -307
  281. package/esm2020/lib/map/shared/controllers/index.mjs +3 -3
  282. package/esm2020/lib/map/shared/controllers/view.mjs +350 -350
  283. package/esm2020/lib/map/shared/hover-feature.directive.mjs +502 -502
  284. package/esm2020/lib/map/shared/index.mjs +13 -13
  285. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +237 -237
  286. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +106 -106
  287. package/esm2020/lib/map/shared/map.enums.mjs +5 -5
  288. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  289. package/esm2020/lib/map/shared/map.mjs +406 -406
  290. package/esm2020/lib/map/shared/map.service.mjs +28 -28
  291. package/esm2020/lib/map/shared/map.utils.mjs +463 -462
  292. package/esm2020/lib/map/shared/mapOffline.directive.mjs +162 -162
  293. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  294. package/esm2020/lib/map/shared/projection.service.mjs +64 -64
  295. package/esm2020/lib/map/shared/projection.utils.mjs +63 -63
  296. package/esm2020/lib/map/swipe-control/index.mjs +1 -1
  297. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +192 -192
  298. package/esm2020/lib/map/utils/layer-watcher.mjs +78 -78
  299. package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
  300. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +113 -113
  301. package/esm2020/lib/map/zoom-button/index.mjs +1 -1
  302. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +39 -39
  303. package/esm2020/lib/measure/index.mjs +3 -3
  304. package/esm2020/lib/measure/measure.module.mjs +19 -19
  305. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +36 -36
  306. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +179 -179
  307. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +139 -139
  308. package/esm2020/lib/measure/measurer/measurer.component.mjs +1041 -1041
  309. package/esm2020/lib/measure/measurer/measurer.module.mjs +93 -93
  310. package/esm2020/lib/measure/shared/index.mjs +3 -3
  311. package/esm2020/lib/measure/shared/measure.enum.mjs +36 -36
  312. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  313. package/esm2020/lib/measure/shared/measure.utils.mjs +488 -488
  314. package/esm2020/lib/metadata/index.mjs +2 -2
  315. package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
  316. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +133 -133
  317. package/esm2020/lib/metadata/metadata.module.mjs +54 -54
  318. package/esm2020/lib/metadata/shared/index.mjs +2 -2
  319. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  320. package/esm2020/lib/metadata/shared/metadata.service.mjs +18 -18
  321. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +104 -104
  322. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +5 -5
  323. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  324. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +166 -166
  325. package/esm2020/lib/offline/geoDB/index.mjs +4 -4
  326. package/esm2020/lib/offline/index.mjs +2 -2
  327. package/esm2020/lib/offline/shared/geo-network.service.mjs +65 -65
  328. package/esm2020/lib/offline/shared/index.mjs +1 -1
  329. package/esm2020/lib/overlay/index.mjs +1 -1
  330. package/esm2020/lib/overlay/overlay.module.mjs +22 -22
  331. package/esm2020/lib/overlay/shared/index.mjs +6 -6
  332. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +68 -68
  333. package/esm2020/lib/overlay/shared/overlay.directive.mjs +32 -32
  334. package/esm2020/lib/overlay/shared/overlay.enum.mjs +7 -7
  335. package/esm2020/lib/overlay/shared/overlay.mjs +129 -129
  336. package/esm2020/lib/overlay/shared/overlay.service.mjs +26 -26
  337. package/esm2020/lib/overlay/shared/overlay.utils.mjs +102 -102
  338. package/esm2020/lib/print/index.mjs +3 -3
  339. package/esm2020/lib/print/print/print.component.mjs +126 -123
  340. package/esm2020/lib/print/print-form/index.mjs +1 -1
  341. package/esm2020/lib/print/print-form/print-form.component.mjs +428 -405
  342. package/esm2020/lib/print/print.module.mjs +64 -64
  343. package/esm2020/lib/print/shared/geopdf.mjs +57 -57
  344. package/esm2020/lib/print/shared/index.mjs +4 -4
  345. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  346. package/esm2020/lib/print/shared/print.service.mjs +934 -861
  347. package/esm2020/lib/print/shared/print.type.mjs +29 -29
  348. package/esm2020/lib/query/index.mjs +1 -1
  349. package/esm2020/lib/query/query.module.mjs +28 -28
  350. package/esm2020/lib/query/shared/index.mjs +6 -6
  351. package/esm2020/lib/query/shared/query-search-source.mjs +34 -34
  352. package/esm2020/lib/query/shared/query-search-source.providers.mjs +21 -21
  353. package/esm2020/lib/query/shared/query.directive.mjs +260 -260
  354. package/esm2020/lib/query/shared/query.enums.mjs +29 -29
  355. package/esm2020/lib/query/shared/query.interfaces.mjs +2 -2
  356. package/esm2020/lib/query/shared/query.service.mjs +733 -619
  357. package/esm2020/lib/query/shared/query.utils.mjs +36 -36
  358. package/esm2020/lib/search/index.mjs +11 -11
  359. package/esm2020/lib/search/search-bar/search-bar.component.mjs +512 -493
  360. package/esm2020/lib/search/search-bar/search-bar.module.mjs +74 -74
  361. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +34 -34
  362. package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +118 -0
  363. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +371 -193
  364. package/esm2020/lib/search/search-results/search-results-item.component.mjs +124 -124
  365. package/esm2020/lib/search/search-results/search-results.component.mjs +340 -340
  366. package/esm2020/lib/search/search-results/search-results.module.mjs +104 -77
  367. package/esm2020/lib/search/search-selector/search-selector.component.mjs +122 -122
  368. package/esm2020/lib/search/search-selector/search-selector.module.mjs +55 -55
  369. package/esm2020/lib/search/search-settings/search-settings.component.mjs +442 -418
  370. package/esm2020/lib/search/search-settings/search-settings.module.mjs +59 -59
  371. package/esm2020/lib/search/search.module.mjs +66 -66
  372. package/esm2020/lib/search/shared/index.mjs +8 -8
  373. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +321 -321
  374. package/esm2020/lib/search/shared/search-source-service.providers.mjs +19 -19
  375. package/esm2020/lib/search/shared/search-source.service.mjs +46 -46
  376. package/esm2020/lib/search/shared/search.enums.mjs +3 -3
  377. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  378. package/esm2020/lib/search/shared/search.service.mjs +121 -118
  379. package/esm2020/lib/search/shared/search.utils.mjs +90 -90
  380. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  381. package/esm2020/lib/search/shared/sources/coordinates.mjs +153 -147
  382. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +39 -39
  383. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  384. package/esm2020/lib/search/shared/sources/icherche.mjs +767 -767
  385. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +65 -65
  386. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  387. package/esm2020/lib/search/shared/sources/ilayer.mjs +320 -320
  388. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +39 -39
  389. package/esm2020/lib/search/shared/sources/index.mjs +17 -17
  390. package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  391. package/esm2020/lib/search/shared/sources/nominatim.mjs +251 -251
  392. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +22 -22
  393. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  394. package/esm2020/lib/search/shared/sources/source.mjs +179 -179
  395. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  396. package/esm2020/lib/search/shared/sources/storedqueries.mjs +424 -424
  397. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +40 -40
  398. package/esm2020/lib/toast/index.mjs +1 -1
  399. package/esm2020/lib/toast/toast.component.mjs +112 -112
  400. package/esm2020/lib/toast/toast.module.mjs +44 -44
  401. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
  402. package/esm2020/lib/utils/commonVectorStyle.mjs +74 -74
  403. package/esm2020/lib/utils/googleLinks.mjs +12 -12
  404. package/esm2020/lib/utils/id-generator.mjs +109 -109
  405. package/esm2020/lib/utils/index.mjs +5 -5
  406. package/esm2020/lib/utils/osmLinks.mjs +9 -9
  407. package/esm2020/lib/wkt/index.mjs +1 -1
  408. package/esm2020/lib/wkt/shared/index.mjs +1 -1
  409. package/esm2020/lib/wkt/shared/wkt.service.mjs +224 -224
  410. package/esm2020/lib/wkt/wkt.module.mjs +21 -21
  411. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +47 -47
  412. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +35 -35
  413. package/esm2020/lib/workspace/confirmation-popup/index.mjs +2 -2
  414. package/esm2020/lib/workspace/index.mjs +7 -7
  415. package/esm2020/lib/workspace/shared/edition-workspace.mjs +279 -279
  416. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +656 -656
  417. package/esm2020/lib/workspace/shared/feature-workspace.mjs +34 -34
  418. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +149 -149
  419. package/esm2020/lib/workspace/shared/index.mjs +7 -7
  420. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +34 -34
  421. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +149 -149
  422. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +259 -259
  423. package/esm2020/lib/workspace/shared/workspace.utils.mjs +23 -23
  424. package/esm2020/lib/workspace/widgets/index.mjs +3 -3
  425. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +46 -46
  426. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +35 -35
  427. package/esm2020/lib/workspace/widgets/widgets.mjs +14 -14
  428. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +132 -132
  429. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +27 -27
  430. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +112 -112
  431. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +27 -27
  432. package/esm2020/lib/workspace/workspace.module.mjs +61 -61
  433. package/esm2020/public_api.mjs +54 -54
  434. package/fesm2015/igo2-geo.mjs +44993 -44364
  435. package/fesm2015/igo2-geo.mjs.map +1 -1
  436. package/fesm2020/igo2-geo.mjs +43075 -42470
  437. package/fesm2020/igo2-geo.mjs.map +1 -1
  438. package/index.d.ts +5 -5
  439. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +126 -124
  440. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +80 -73
  441. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +105 -105
  442. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +22 -22
  443. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +45 -45
  444. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +25 -25
  445. package/lib/catalog/catalog-library/catalog-library.component.d.ts +65 -65
  446. package/lib/catalog/catalog-library/catalog-library.module.d.ts +26 -26
  447. package/lib/catalog/catalog.module.d.ts +14 -14
  448. package/lib/catalog/index.d.ts +4 -4
  449. package/lib/catalog/shared/catalog.abstract.d.ts +50 -50
  450. package/lib/catalog/shared/catalog.enum.d.ts +14 -14
  451. package/lib/catalog/shared/catalog.interface.d.ts +66 -66
  452. package/lib/catalog/shared/catalog.service.d.ts +36 -36
  453. package/lib/catalog/shared/index.d.ts +4 -4
  454. package/lib/datasource/datasource.module.d.ts +8 -8
  455. package/lib/datasource/index.d.ts +2 -2
  456. package/lib/datasource/shared/capabilities.service.d.ts +37 -37
  457. package/lib/datasource/shared/datasource.service.d.ts +37 -37
  458. package/lib/datasource/shared/datasources/any-datasource.d.ts +16 -16
  459. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +15 -15
  460. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +14 -14
  461. package/lib/datasource/shared/datasources/arcgisrest-datasource.interface.d.ts +14 -14
  462. package/lib/datasource/shared/datasources/carto-datasource.d.ts +15 -15
  463. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +13 -13
  464. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +10 -10
  465. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +11 -11
  466. package/lib/datasource/shared/datasources/data.service.d.ts +3 -3
  467. package/lib/datasource/shared/datasources/datasource.d.ts +20 -20
  468. package/lib/datasource/shared/datasources/datasource.interface.d.ts +100 -100
  469. package/lib/datasource/shared/datasources/feature-datasource.d.ts +12 -12
  470. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +18 -18
  471. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +15 -15
  472. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +15 -15
  473. package/lib/datasource/shared/datasources/index.d.ts +35 -35
  474. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +10 -10
  475. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +13 -13
  476. package/lib/datasource/shared/datasources/osm-datasource.d.ts +9 -9
  477. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +7 -7
  478. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +15 -15
  479. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +14 -14
  480. package/lib/datasource/shared/datasources/tiledebug-datasource.d.ts +9 -9
  481. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +9 -9
  482. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +15 -15
  483. package/lib/datasource/shared/datasources/websocket-datasource.interface.d.ts +7 -7
  484. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +20 -20
  485. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +20 -20
  486. package/lib/datasource/shared/datasources/wfs.service.d.ts +17 -17
  487. package/lib/datasource/shared/datasources/wms-datasource.d.ts +31 -31
  488. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +32 -32
  489. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +41 -41
  490. package/lib/datasource/shared/datasources/wmts-datasource.d.ts +10 -10
  491. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +13 -13
  492. package/lib/datasource/shared/datasources/xyz-datasource.d.ts +9 -9
  493. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +11 -11
  494. package/lib/datasource/shared/index.d.ts +4 -4
  495. package/lib/datasource/shared/options/index.d.ts +4 -4
  496. package/lib/datasource/shared/options/options-api.interface.d.ts +4 -4
  497. package/lib/datasource/shared/options/options-api.providers.d.ts +10 -10
  498. package/lib/datasource/shared/options/options-api.service.d.ts +16 -16
  499. package/lib/datasource/shared/options/options.service.d.ts +6 -6
  500. package/lib/datasource/utils/esri-style-generator.d.ts +21 -21
  501. package/lib/datasource/utils/index.d.ts +2 -2
  502. package/lib/datasource/utils/tilegrid.d.ts +2 -2
  503. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +30 -30
  504. package/lib/directions/directions-buttons/index.d.ts +1 -1
  505. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -45
  506. package/lib/directions/directions-inputs/index.d.ts +1 -1
  507. package/lib/directions/directions-results/directions-results.component.d.ts +30 -30
  508. package/lib/directions/directions-results/index.d.ts +1 -1
  509. package/lib/directions/directions-sources/directions-source.d.ts +7 -7
  510. package/lib/directions/directions-sources/directions-source.interface.d.ts +11 -11
  511. package/lib/directions/directions-sources/directions-source.provider.d.ts +11 -11
  512. package/lib/directions/directions-sources/index.d.ts +4 -4
  513. package/lib/directions/directions-sources/osrm-directions-source.d.ts +23 -23
  514. package/lib/directions/directions.component.d.ts +56 -56
  515. package/lib/directions/directions.module.d.ts +26 -26
  516. package/lib/directions/index.d.ts +6 -6
  517. package/lib/directions/shared/directions-source.service.d.ts +11 -11
  518. package/lib/directions/shared/directions.enum.d.ts +22 -22
  519. package/lib/directions/shared/directions.interface.d.ts +126 -126
  520. package/lib/directions/shared/directions.service.d.ts +13 -13
  521. package/lib/directions/shared/directions.utils.d.ts +42 -42
  522. package/lib/directions/shared/index.d.ts +5 -5
  523. package/lib/directions/shared/store.d.ts +18 -18
  524. package/lib/download/download-button/download-button.component.d.ts +18 -18
  525. package/lib/download/download-button/index.d.ts +1 -1
  526. package/lib/download/download.module.d.ts +14 -14
  527. package/lib/download/index.d.ts +2 -2
  528. package/lib/download/shared/download.interface.d.ts +10 -10
  529. package/lib/download/shared/download.service.d.ts +11 -11
  530. package/lib/download/shared/index.d.ts +2 -2
  531. package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -14
  532. package/lib/draw/draw/draw-popup.component.d.ts +63 -63
  533. package/lib/draw/draw/draw-shorcuts.component.d.ts +5 -5
  534. package/lib/draw/draw/draw.component.d.ts +239 -239
  535. package/lib/draw/draw/draw.module.d.ts +34 -34
  536. package/lib/draw/drawingTool.module.d.ts +7 -7
  537. package/lib/draw/index.d.ts +2 -2
  538. package/lib/draw/shared/draw-icon.service.d.ts +12 -12
  539. package/lib/draw/shared/draw-style.service.d.ts +36 -36
  540. package/lib/draw/shared/draw.enum.d.ts +32 -32
  541. package/lib/draw/shared/draw.interface.d.ts +40 -40
  542. package/lib/draw/shared/draw.utils.d.ts +35 -35
  543. package/lib/draw/shared/index.d.ts +5 -5
  544. package/lib/feature/feature-details/feature-details.component.d.ts +60 -60
  545. package/lib/feature/feature-details/feature-details.directive.d.ts +19 -19
  546. package/lib/feature/feature-details/feature-details.module.d.ts +15 -15
  547. package/lib/feature/feature-form/feature-form.component.d.ts +50 -50
  548. package/lib/feature/feature-form/feature-form.module.d.ts +12 -12
  549. package/lib/feature/feature.module.d.ts +9 -9
  550. package/lib/feature/index.d.ts +3 -3
  551. package/lib/feature/shared/feature.enums.d.ts +7 -7
  552. package/lib/feature/shared/feature.interfaces.d.ts +74 -74
  553. package/lib/feature/shared/feature.utils.d.ts +104 -104
  554. package/lib/feature/shared/index.d.ts +6 -6
  555. package/lib/feature/shared/store.d.ts +71 -71
  556. package/lib/feature/shared/strategies/in-map-extent.d.ts +52 -52
  557. package/lib/feature/shared/strategies/in-map-resolution.d.ts +52 -52
  558. package/lib/feature/shared/strategies/index.d.ts +5 -5
  559. package/lib/feature/shared/strategies/loading-layer.d.ts +59 -59
  560. package/lib/feature/shared/strategies/loading.d.ts +75 -75
  561. package/lib/feature/shared/strategies/selection.d.ts +176 -176
  562. package/lib/feature/shared/strategies.utils.d.ts +17 -17
  563. package/lib/filter/filter.module.d.ts +53 -53
  564. package/lib/filter/index.d.ts +15 -15
  565. package/lib/filter/ogc-filter-button/index.d.ts +1 -1
  566. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +20 -20
  567. package/lib/filter/ogc-filter-form/index.d.ts +1 -1
  568. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +65 -65
  569. package/lib/filter/ogc-filter-selection/index.d.ts +1 -1
  570. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +93 -93
  571. package/lib/filter/ogc-filter-time/index.d.ts +2 -2
  572. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +39 -39
  573. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +86 -86
  574. package/lib/filter/ogc-filterable-form/index.d.ts +1 -1
  575. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +15 -15
  576. package/lib/filter/ogc-filterable-item/index.d.ts +1 -1
  577. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +41 -41
  578. package/lib/filter/ogc-filterable-list/index.d.ts +2 -2
  579. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +14 -14
  580. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +10 -10
  581. package/lib/filter/shared/filterable-datasource.pipe.d.ts +10 -10
  582. package/lib/filter/shared/index.d.ts +11 -11
  583. package/lib/filter/shared/ogc-filter-time.service.d.ts +19 -19
  584. package/lib/filter/shared/ogc-filter.d.ts +29 -29
  585. package/lib/filter/shared/ogc-filter.enum.d.ts +27 -27
  586. package/lib/filter/shared/ogc-filter.interface.d.ts +200 -200
  587. package/lib/filter/shared/ogc-filter.service.d.ts +11 -11
  588. package/lib/filter/shared/spatial-filter.enum.d.ts +19 -19
  589. package/lib/filter/shared/spatial-filter.interface.d.ts +10 -10
  590. package/lib/filter/shared/spatial-filter.service.d.ts +37 -37
  591. package/lib/filter/shared/time-filter.enum.d.ts +10 -10
  592. package/lib/filter/shared/time-filter.interface.d.ts +29 -29
  593. package/lib/filter/shared/time-filter.service.d.ts +11 -11
  594. package/lib/filter/spatial-filter/spatial-filter-item/index.d.ts +1 -1
  595. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +166 -166
  596. package/lib/filter/spatial-filter/spatial-filter-list/index.d.ts +1 -1
  597. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +58 -58
  598. package/lib/filter/spatial-filter/spatial-filter-type/index.d.ts +1 -1
  599. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +45 -45
  600. package/lib/filter/time-filter-button/index.d.ts +1 -1
  601. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +20 -20
  602. package/lib/filter/time-filter-form/index.d.ts +1 -1
  603. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +77 -77
  604. package/lib/filter/time-filter-item/index.d.ts +1 -1
  605. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +28 -28
  606. package/lib/filter/time-filter-list/index.d.ts +2 -2
  607. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +14 -14
  608. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +12 -12
  609. package/lib/geo.module.d.ts +28 -28
  610. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +206 -206
  611. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +88 -88
  612. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +19 -19
  613. package/lib/geometry/geometry.module.d.ts +8 -8
  614. package/lib/geometry/index.d.ts +3 -3
  615. package/lib/geometry/shared/controls/draw.d.ts +150 -150
  616. package/lib/geometry/shared/controls/index.d.ts +3 -3
  617. package/lib/geometry/shared/controls/modify.d.ts +228 -228
  618. package/lib/geometry/shared/controls/slice.d.ts +99 -99
  619. package/lib/geometry/shared/geometry.errors.d.ts +11 -11
  620. package/lib/geometry/shared/geometry.interfaces.d.ts +13 -13
  621. package/lib/geometry/shared/geometry.utils.d.ts +45 -45
  622. package/lib/geometry/shared/index.d.ts +4 -4
  623. package/lib/import-export/export-button/export-button.component.d.ts +16 -16
  624. package/lib/import-export/export-button/index.d.ts +1 -1
  625. package/lib/import-export/import-export/import-export.component.d.ts +104 -104
  626. package/lib/import-export/import-export/index.d.ts +1 -1
  627. package/lib/import-export/import-export.module.d.ts +26 -26
  628. package/lib/import-export/index.d.ts +4 -4
  629. package/lib/import-export/shared/drop-geo-file.directive.d.ts +36 -36
  630. package/lib/import-export/shared/export.errors.d.ts +8 -8
  631. package/lib/import-export/shared/export.interface.d.ts +11 -11
  632. package/lib/import-export/shared/export.service.d.ts +30 -30
  633. package/lib/import-export/shared/export.type.d.ts +16 -16
  634. package/lib/import-export/shared/export.utils.d.ts +19 -19
  635. package/lib/import-export/shared/import.errors.d.ts +20 -20
  636. package/lib/import-export/shared/import.interface.d.ts +8 -8
  637. package/lib/import-export/shared/import.service.d.ts +31 -31
  638. package/lib/import-export/shared/import.utils.d.ts +18 -18
  639. package/lib/import-export/shared/index.d.ts +10 -10
  640. package/lib/import-export/style-list/index.d.ts +4 -4
  641. package/lib/import-export/style-list/style-list.interface.d.ts +6 -6
  642. package/lib/import-export/style-list/style-list.module.d.ts +8 -8
  643. package/lib/import-export/style-list/style-list.provider.d.ts +15 -15
  644. package/lib/import-export/style-list/style-list.service.d.ts +18 -18
  645. package/lib/layer/index.d.ts +10 -10
  646. package/lib/layer/layer-item/index.d.ts +1 -1
  647. package/lib/layer/layer-item/layer-item.component.d.ts +62 -62
  648. package/lib/layer/layer-legend/index.d.ts +1 -1
  649. package/lib/layer/layer-legend/layer-legend.component.d.ts +90 -90
  650. package/lib/layer/layer-legend-item/index.d.ts +1 -1
  651. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +22 -22
  652. package/lib/layer/layer-legend-list/index.d.ts +2 -2
  653. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +16 -16
  654. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +31 -31
  655. package/lib/layer/layer-list/index.d.ts +3 -3
  656. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +19 -19
  657. package/lib/layer/layer-list/layer-list.component.d.ts +127 -127
  658. package/lib/layer/layer-list/layer-list.enum.d.ts +15 -15
  659. package/lib/layer/layer-list-tool/index.d.ts +4 -4
  660. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +32 -32
  661. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +5 -5
  662. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +8 -8
  663. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +14 -14
  664. package/lib/layer/layer.module.d.ts +36 -36
  665. package/lib/layer/shared/clusterParam.d.ts +13 -13
  666. package/lib/layer/shared/index.d.ts +6 -6
  667. package/lib/layer/shared/layer.enums.d.ts +1 -1
  668. package/lib/layer/shared/layer.service.d.ts +30 -30
  669. package/lib/layer/shared/layers/any-layer.d.ts +6 -6
  670. package/lib/layer/shared/layers/any-layer.interface.d.ts +6 -6
  671. package/lib/layer/shared/layers/image-layer.d.ts +22 -22
  672. package/lib/layer/shared/layers/image-layer.interface.d.ts +19 -19
  673. package/lib/layer/shared/layers/index.d.ts +12 -12
  674. package/lib/layer/shared/layers/layer.d.ts +62 -62
  675. package/lib/layer/shared/layers/layer.interface.d.ts +109 -107
  676. package/lib/layer/shared/layers/tile-layer.d.ts +31 -31
  677. package/lib/layer/shared/layers/tile-layer.interface.d.ts +20 -20
  678. package/lib/layer/shared/layers/vector-layer.d.ts +78 -78
  679. package/lib/layer/shared/layers/vector-layer.interface.d.ts +41 -41
  680. package/lib/layer/shared/layers/vectortile-layer.d.ts +28 -28
  681. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +18 -18
  682. package/lib/layer/shared/style.service.d.ts +57 -57
  683. package/lib/layer/shared/vector-style.interface.d.ts +38 -38
  684. package/lib/layer/style-modal/index.d.ts +1 -1
  685. package/lib/layer/style-modal/style-modal.component.d.ts +42 -42
  686. package/lib/layer/track-feature-button/index.d.ts +1 -1
  687. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +15 -15
  688. package/lib/layer/utils/image-watcher.d.ts +17 -17
  689. package/lib/layer/utils/index.d.ts +5 -5
  690. package/lib/layer/utils/layer.utils.d.ts +2 -2
  691. package/lib/layer/utils/outputLegend.d.ts +7 -7
  692. package/lib/layer/utils/tile-watcher.d.ts +14 -14
  693. package/lib/layer/utils/vector-watcher.d.ts +13 -13
  694. package/lib/map/baselayers-switcher/baselayers-switcher.animation.d.ts +2 -2
  695. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +21 -21
  696. package/lib/map/baselayers-switcher/index.d.ts +2 -2
  697. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +29 -26
  698. package/lib/map/geolocate-button/geolocate-button.component.d.ts +22 -22
  699. package/lib/map/geolocate-button/index.d.ts +1 -1
  700. package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -20
  701. package/lib/map/home-extent-button/index.d.ts +1 -1
  702. package/lib/map/index.d.ts +13 -13
  703. package/lib/map/info-section/index.d.ts +1 -1
  704. package/lib/map/info-section/info-section.component.d.ts +7 -7
  705. package/lib/map/map-browser/index.d.ts +1 -1
  706. package/lib/map/map-browser/map-browser.component.d.ts +25 -25
  707. package/lib/map/map-center/index.d.ts +1 -1
  708. package/lib/map/map-center/map-center.component.d.ts +31 -31
  709. package/lib/map/map.module.d.ts +28 -28
  710. package/lib/map/menu-button/index.d.ts +1 -1
  711. package/lib/map/menu-button/menu-button.component.d.ts +17 -17
  712. package/lib/map/offline-button/index.d.ts +1 -1
  713. package/lib/map/offline-button/offline-button.component.d.ts +23 -23
  714. package/lib/map/rotation-button/index.d.ts +1 -1
  715. package/lib/map/rotation-button/rotation-button.component.d.ts +17 -17
  716. package/lib/map/shared/controllers/controller.d.ts +29 -29
  717. package/lib/map/shared/controllers/geolocation.d.ts +112 -112
  718. package/lib/map/shared/controllers/index.d.ts +3 -3
  719. package/lib/map/shared/controllers/view.d.ts +200 -200
  720. package/lib/map/shared/hover-feature.directive.d.ts +132 -132
  721. package/lib/map/shared/index.d.ts +13 -13
  722. package/lib/map/shared/linkedLayers.utils.d.ts +17 -17
  723. package/lib/map/shared/map-pointer-position.directive.d.ts +71 -71
  724. package/lib/map/shared/map.d.ts +135 -135
  725. package/lib/map/shared/map.enums.d.ts +4 -4
  726. package/lib/map/shared/map.interface.d.ts +57 -57
  727. package/lib/map/shared/map.service.d.ts +19 -19
  728. package/lib/map/shared/map.utils.d.ts +90 -89
  729. package/lib/map/shared/mapOffline.directive.d.ts +21 -21
  730. package/lib/map/shared/projection.interfaces.d.ts +29 -29
  731. package/lib/map/shared/projection.service.d.ts +19 -19
  732. package/lib/map/shared/projection.utils.d.ts +19 -19
  733. package/lib/map/swipe-control/index.d.ts +1 -1
  734. package/lib/map/swipe-control/swipe-control.component.d.ts +97 -97
  735. package/lib/map/utils/layer-watcher.d.ts +20 -20
  736. package/lib/map/wake-lock-button/index.d.ts +1 -1
  737. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +30 -30
  738. package/lib/map/zoom-button/index.d.ts +1 -1
  739. package/lib/map/zoom-button/zoom-button.component.d.ts +12 -12
  740. package/lib/measure/index.d.ts +3 -3
  741. package/lib/measure/measure.module.d.ts +7 -7
  742. package/lib/measure/measurer/measure-format.pipe.d.ts +15 -15
  743. package/lib/measure/measurer/measurer-dialog.component.d.ts +14 -14
  744. package/lib/measure/measurer/measurer-item.component.d.ts +66 -66
  745. package/lib/measure/measurer/measurer.component.d.ts +405 -405
  746. package/lib/measure/measurer/measurer.module.d.ts +25 -25
  747. package/lib/measure/shared/index.d.ts +3 -3
  748. package/lib/measure/shared/measure.enum.d.ts +33 -33
  749. package/lib/measure/shared/measure.interfaces.d.ts +21 -21
  750. package/lib/measure/shared/measure.utils.d.ts +180 -180
  751. package/lib/metadata/index.d.ts +2 -2
  752. package/lib/metadata/metadata-button/index.d.ts +1 -1
  753. package/lib/metadata/metadata-button/metadata-button.component.d.ts +26 -26
  754. package/lib/metadata/metadata.module.d.ts +15 -15
  755. package/lib/metadata/shared/index.d.ts +2 -2
  756. package/lib/metadata/shared/metadata.interface.d.ts +13 -13
  757. package/lib/metadata/shared/metadata.service.d.ts +8 -8
  758. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +14 -14
  759. package/lib/offline/geoDB/geoDB.enums.d.ts +4 -4
  760. package/lib/offline/geoDB/geoDB.interface.d.ts +19 -19
  761. package/lib/offline/geoDB/geoDB.service.d.ts +37 -37
  762. package/lib/offline/geoDB/index.d.ts +4 -4
  763. package/lib/offline/index.d.ts +2 -2
  764. package/lib/offline/shared/geo-network.service.d.ts +28 -28
  765. package/lib/offline/shared/index.d.ts +1 -1
  766. package/lib/overlay/index.d.ts +1 -1
  767. package/lib/overlay/overlay.module.d.ts +9 -9
  768. package/lib/overlay/shared/index.d.ts +6 -6
  769. package/lib/overlay/shared/overlay-marker-style.utils.d.ts +11 -11
  770. package/lib/overlay/shared/overlay.d.ts +81 -81
  771. package/lib/overlay/shared/overlay.directive.d.ts +18 -18
  772. package/lib/overlay/shared/overlay.enum.d.ts +6 -6
  773. package/lib/overlay/shared/overlay.service.d.ts +14 -14
  774. package/lib/overlay/shared/overlay.utils.d.ts +17 -17
  775. package/lib/print/index.d.ts +3 -3
  776. package/lib/print/print/print.component.d.ts +35 -35
  777. package/lib/print/print-form/index.d.ts +1 -1
  778. package/lib/print/print-form/print-form.component.d.ts +97 -97
  779. package/lib/print/print.module.d.ts +19 -19
  780. package/lib/print/shared/geopdf.d.ts +1 -1
  781. package/lib/print/shared/index.d.ts +4 -4
  782. package/lib/print/shared/print.interface.d.ts +22 -22
  783. package/lib/print/shared/print.service.d.ts +168 -159
  784. package/lib/print/shared/print.type.d.ts +45 -45
  785. package/lib/query/index.d.ts +1 -1
  786. package/lib/query/query.module.d.ts +11 -11
  787. package/lib/query/shared/index.d.ts +6 -6
  788. package/lib/query/shared/query-search-source.d.ts +17 -17
  789. package/lib/query/shared/query-search-source.providers.d.ts +17 -17
  790. package/lib/query/shared/query.directive.d.ts +105 -105
  791. package/lib/query/shared/query.enums.d.ts +26 -26
  792. package/lib/query/shared/query.interfaces.d.ts +35 -28
  793. package/lib/query/shared/query.service.d.ts +56 -54
  794. package/lib/query/shared/query.utils.d.ts +27 -27
  795. package/lib/search/index.d.ts +11 -11
  796. package/lib/search/search-bar/search-bar.component.d.ts +230 -220
  797. package/lib/search/search-bar/search-bar.module.d.ts +23 -23
  798. package/lib/search/search-bar/search-url-param.directive.d.ts +13 -13
  799. package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -0
  800. package/lib/search/search-results/search-results-add-button.component.d.ts +76 -58
  801. package/lib/search/search-results/search-results-item.component.d.ts +47 -48
  802. package/lib/search/search-results/search-results.component.d.ts +161 -161
  803. package/lib/search/search-results/search-results.module.d.ts +28 -21
  804. package/lib/search/search-selector/search-selector.component.d.ts +58 -58
  805. package/lib/search/search-selector/search-selector.module.d.ts +19 -19
  806. package/lib/search/search-settings/search-settings.component.d.ts +102 -96
  807. package/lib/search/search-settings/search-settings.module.d.ts +20 -20
  808. package/lib/search/search.module.d.ts +14 -14
  809. package/lib/search/shared/index.d.ts +8 -8
  810. package/lib/search/shared/search-pointer-summary.directive.d.ts +133 -133
  811. package/lib/search/shared/search-source-service.providers.d.ts +15 -15
  812. package/lib/search/shared/search-source.service.d.ts +32 -32
  813. package/lib/search/shared/search.enums.d.ts +1 -1
  814. package/lib/search/shared/search.interfaces.d.ts +29 -29
  815. package/lib/search/shared/search.service.d.ts +53 -51
  816. package/lib/search/shared/search.utils.d.ts +39 -39
  817. package/lib/search/shared/sources/coordinates.d.ts +40 -40
  818. package/lib/search/shared/sources/coordinates.interfaces.d.ts +12 -12
  819. package/lib/search/shared/sources/coordinates.providers.d.ts +31 -31
  820. package/lib/search/shared/sources/icherche.d.ts +96 -96
  821. package/lib/search/shared/sources/icherche.interfaces.d.ts +30 -30
  822. package/lib/search/shared/sources/icherche.providers.d.ts +46 -46
  823. package/lib/search/shared/sources/ilayer.d.ts +55 -55
  824. package/lib/search/shared/sources/ilayer.interfaces.d.ts +47 -47
  825. package/lib/search/shared/sources/ilayer.providers.d.ts +31 -31
  826. package/lib/search/shared/sources/index.d.ts +17 -17
  827. package/lib/search/shared/sources/nominatim.d.ts +45 -45
  828. package/lib/search/shared/sources/nominatim.interfaces.d.ts +10 -10
  829. package/lib/search/shared/sources/nominatim.providers.d.ts +18 -18
  830. package/lib/search/shared/sources/source.d.ts +108 -108
  831. package/lib/search/shared/sources/source.interfaces.d.ts +47 -47
  832. package/lib/search/shared/sources/storedqueries.d.ts +73 -73
  833. package/lib/search/shared/sources/storedqueries.interfaces.d.ts +42 -42
  834. package/lib/search/shared/sources/storedqueries.providers.d.ts +32 -32
  835. package/lib/toast/index.d.ts +1 -1
  836. package/lib/toast/toast.component.d.ts +33 -33
  837. package/lib/toast/toast.module.d.ts +14 -14
  838. package/lib/utils/commonVectorStyle.d.ts +14 -14
  839. package/lib/utils/commonVectorStyle.interface.d.ts +16 -16
  840. package/lib/utils/googleLinks.d.ts +5 -5
  841. package/lib/utils/id-generator.d.ts +54 -54
  842. package/lib/utils/index.d.ts +5 -5
  843. package/lib/utils/osmLinks.d.ts +4 -4
  844. package/lib/wkt/index.d.ts +1 -1
  845. package/lib/wkt/shared/index.d.ts +1 -1
  846. package/lib/wkt/shared/wkt.service.d.ts +19 -19
  847. package/lib/wkt/wkt.module.d.ts +8 -8
  848. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -23
  849. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -14
  850. package/lib/workspace/confirmation-popup/index.d.ts +2 -2
  851. package/lib/workspace/index.d.ts +7 -7
  852. package/lib/workspace/shared/edition-workspace.d.ts +82 -82
  853. package/lib/workspace/shared/edition-workspace.service.d.ts +52 -52
  854. package/lib/workspace/shared/feature-workspace.d.ts +18 -18
  855. package/lib/workspace/shared/feature-workspace.service.d.ts +19 -19
  856. package/lib/workspace/shared/index.d.ts +7 -7
  857. package/lib/workspace/shared/wfs-workspace.d.ts +18 -18
  858. package/lib/workspace/shared/wfs-workspace.service.d.ts +19 -19
  859. package/lib/workspace/shared/wms-workspace.service.d.ts +22 -22
  860. package/lib/workspace/shared/workspace.utils.d.ts +10 -10
  861. package/lib/workspace/widgets/index.d.ts +3 -3
  862. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +29 -29
  863. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +14 -14
  864. package/lib/workspace/widgets/widgets.d.ts +9 -9
  865. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +32 -32
  866. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +11 -11
  867. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +26 -26
  868. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +11 -11
  869. package/lib/workspace/workspace.module.d.ts +14 -14
  870. package/package.json +4 -4
  871. package/public_api.d.ts +51 -51
@@ -1,91 +1,91 @@
1
- import { FEATURE } from '../../feature/shared/feature.enums';
2
- /**
3
- * Function that checks whether a search source implements TextSearch
4
- * @param source Search source
5
- * @returns True if the search source implements TextSearch
6
- */
7
- export function sourceCanSearch(source) {
8
- return source.search !== undefined;
9
- }
10
- /**
11
- * Function that checks whether a search source implements ReverseSearch
12
- * @param source Search source
13
- * @returns True if the search source implements ReverseSearch
14
- */
15
- export function sourceCanReverseSearch(source) {
16
- return source.reverseSearch !== undefined;
17
- }
18
- /**
19
- * Function that checks whether a search source implements ReverseSearch AND is shown in the pointer summary
20
- * @param source Search source
21
- * @returns True if the search source implements ReverseSearch AND is shown in the pointer summary
22
- */
23
- export function sourceCanReverseSearchAsSummary(source) {
24
- return source.reverseSearch !== undefined && source.showInPointerSummary === true;
25
- }
26
- /**
27
- * Return a search result out of an Feature. This is used to adapt
28
- * the IGO query module to the new Feature/SearchResult interfaces
29
- * @param feature feature
30
- * @param source Search source
31
- * @returns SearchResult
32
- */
33
- export function featureToSearchResult(feature, source) {
34
- if (feature.properties) {
35
- delete feature.properties.geometry;
36
- delete feature.properties.GEOMETRIE;
37
- delete feature.properties.boundedBy;
38
- delete feature.properties.shape;
39
- delete feature.properties.SHAPE;
40
- delete feature.properties.SHAPE_S;
41
- delete feature.properties.SHAPE_L;
42
- delete feature.properties.SHAPE_P;
43
- delete feature.properties.the_geom;
44
- delete feature.properties.geom;
45
- delete feature.properties.geom32198;
46
- }
47
- feature.sourceId = source.getId();
48
- return {
49
- source,
50
- data: feature,
51
- meta: {
52
- dataType: FEATURE,
53
- id: feature.meta.id,
54
- title: feature.meta.title,
55
- icon: feature.meta.icon || 'map-marker'
56
- }
57
- };
58
- }
59
- export function findDiff(str1, str2) {
60
- let diff = '';
61
- str2.split('').forEach((val, i) => {
62
- if (val !== str1.charAt(i)) {
63
- diff += val;
64
- }
65
- });
66
- return diff;
67
- }
68
- /**
69
- * Return a score calculation based on "from" term with the "to" term,
70
- * where the perfect match is 100 and a total difference is 0 or under.
71
- * @param from string
72
- * @param to string
73
- * @param caseSensitive boolean
74
- * @returns number
75
- */
76
- export function computeTermSimilarity(from, to, caseSensitive = false) {
77
- if (!from || !to) {
78
- return 0;
79
- }
80
- const termFrom = caseSensitive ? from : from.toLowerCase();
81
- const termTo = caseSensitive ? to : to.toLowerCase();
82
- const fromToDiff = findDiff(termFrom, termTo);
83
- const toFromDiff = findDiff(termTo, termFrom);
84
- const totalDiff = fromToDiff + toFromDiff;
85
- let delta = 0;
86
- if (totalDiff.length) {
87
- delta = totalDiff.length / termFrom.length * 100;
88
- }
89
- return 100 - Math.floor(delta);
90
- }
1
+ import { FEATURE } from '../../feature/shared/feature.enums';
2
+ /**
3
+ * Function that checks whether a search source implements TextSearch
4
+ * @param source Search source
5
+ * @returns True if the search source implements TextSearch
6
+ */
7
+ export function sourceCanSearch(source) {
8
+ return source.search !== undefined;
9
+ }
10
+ /**
11
+ * Function that checks whether a search source implements ReverseSearch
12
+ * @param source Search source
13
+ * @returns True if the search source implements ReverseSearch
14
+ */
15
+ export function sourceCanReverseSearch(source) {
16
+ return source.reverseSearch !== undefined;
17
+ }
18
+ /**
19
+ * Function that checks whether a search source implements ReverseSearch AND is shown in the pointer summary
20
+ * @param source Search source
21
+ * @returns True if the search source implements ReverseSearch AND is shown in the pointer summary
22
+ */
23
+ export function sourceCanReverseSearchAsSummary(source) {
24
+ return source.reverseSearch !== undefined && source.showInPointerSummary === true;
25
+ }
26
+ /**
27
+ * Return a search result out of an Feature. This is used to adapt
28
+ * the IGO query module to the new Feature/SearchResult interfaces
29
+ * @param feature feature
30
+ * @param source Search source
31
+ * @returns SearchResult
32
+ */
33
+ export function featureToSearchResult(feature, source) {
34
+ if (feature.properties) {
35
+ delete feature.properties.geometry;
36
+ delete feature.properties.GEOMETRIE;
37
+ delete feature.properties.boundedBy;
38
+ delete feature.properties.shape;
39
+ delete feature.properties.SHAPE;
40
+ delete feature.properties.SHAPE_S;
41
+ delete feature.properties.SHAPE_L;
42
+ delete feature.properties.SHAPE_P;
43
+ delete feature.properties.the_geom;
44
+ delete feature.properties.geom;
45
+ delete feature.properties.geom32198;
46
+ }
47
+ feature.sourceId = source.getId();
48
+ return {
49
+ source,
50
+ data: feature,
51
+ meta: {
52
+ dataType: FEATURE,
53
+ id: feature.meta.id,
54
+ title: feature.meta.title,
55
+ icon: feature.meta.icon || 'map-marker'
56
+ }
57
+ };
58
+ }
59
+ export function findDiff(str1, str2) {
60
+ let diff = '';
61
+ str2.split('').forEach((val, i) => {
62
+ if (val !== str1.charAt(i)) {
63
+ diff += val;
64
+ }
65
+ });
66
+ return diff;
67
+ }
68
+ /**
69
+ * Return a score calculation based on "from" term with the "to" term,
70
+ * where the perfect match is 100 and a total difference is 0 or under.
71
+ * @param from string
72
+ * @param to string
73
+ * @param caseSensitive boolean
74
+ * @returns number
75
+ */
76
+ export function computeTermSimilarity(from, to, caseSensitive = false) {
77
+ if (!from || !to) {
78
+ return 0;
79
+ }
80
+ const termFrom = caseSensitive ? from : from.toLowerCase();
81
+ const termTo = caseSensitive ? to : to.toLowerCase();
82
+ const fromToDiff = findDiff(termFrom, termTo);
83
+ const toFromDiff = findDiff(termTo, termFrom);
84
+ const totalDiff = fromToDiff + toFromDiff;
85
+ let delta = 0;
86
+ if (totalDiff.length) {
87
+ delta = totalDiff.length / termFrom.length * 100;
88
+ }
89
+ return 100 - Math.floor(delta);
90
+ }
91
91
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2gudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSzdEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQW9CO0lBQ2xELE9BQVEsTUFBYyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUM7QUFDOUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBb0I7SUFDekQsT0FBUSxNQUFjLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUNyRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxNQUFvQjtJQUNsRSxPQUFRLE1BQWMsQ0FBQyxhQUFhLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLENBQUM7QUFDN0YsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsT0FBZ0IsRUFDaEIsTUFBb0I7SUFFcEIsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1FBQ3RCLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNoQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDL0IsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztLQUNyQztJQUNELE9BQU8sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLE9BQU87UUFDTCxNQUFNO1FBQ04sSUFBSSxFQUFFLE9BQU87UUFDYixJQUFJLEVBQUU7WUFDSixRQUFRLEVBQUUsT0FBTztZQUNqQixFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFZO1lBQzdCLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDekIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVk7U0FDeEM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBWSxFQUFFLElBQVk7SUFDakQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDaEMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQixJQUFJLElBQUksR0FBRyxDQUFDO1NBQ2I7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUdEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxnQkFBeUIsS0FBSztJQUM1RSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7SUFDRCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFFMUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFO1FBQ3BCLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkVBVFVSRSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4vc2VhcmNoLmludGVyZmFjZXMnO1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgY2hlY2tzIHdoZXRoZXIgYSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgVGV4dFNlYXJjaFxuICogQHBhcmFtIHNvdXJjZSBTZWFyY2ggc291cmNlXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgVGV4dFNlYXJjaFxuICovXG5leHBvcnQgZnVuY3Rpb24gc291cmNlQ2FuU2VhcmNoKHNvdXJjZTogU2VhcmNoU291cmNlKTogYm9vbGVhbiB7XG4gIHJldHVybiAoc291cmNlIGFzIGFueSkuc2VhcmNoICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdGhhdCBjaGVja3Mgd2hldGhlciBhIHNlYXJjaCBzb3VyY2UgaW1wbGVtZW50cyBSZXZlcnNlU2VhcmNoXG4gKiBAcGFyYW0gc291cmNlIFNlYXJjaCBzb3VyY2VcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHNlYXJjaCBzb3VyY2UgaW1wbGVtZW50cyBSZXZlcnNlU2VhcmNoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoKHNvdXJjZTogU2VhcmNoU291cmNlKTogYm9vbGVhbiB7XG4gIHJldHVybiAoc291cmNlIGFzIGFueSkucmV2ZXJzZVNlYXJjaCAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgY2hlY2tzIHdoZXRoZXIgYSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaCBBTkQgaXMgc2hvd24gaW4gdGhlIHBvaW50ZXIgc3VtbWFyeVxuICogQHBhcmFtIHNvdXJjZSBTZWFyY2ggc291cmNlXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaCBBTkQgaXMgc2hvd24gaW4gdGhlIHBvaW50ZXIgc3VtbWFyeVxuICovXG5leHBvcnQgZnVuY3Rpb24gc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeShzb3VyY2U6IFNlYXJjaFNvdXJjZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKHNvdXJjZSBhcyBhbnkpLnJldmVyc2VTZWFyY2ggIT09IHVuZGVmaW5lZCAmJiBzb3VyY2Uuc2hvd0luUG9pbnRlclN1bW1hcnkgPT09IHRydWU7XG59XG5cbi8qKlxuICogUmV0dXJuIGEgc2VhcmNoIHJlc3VsdCBvdXQgb2YgYW4gRmVhdHVyZS4gVGhpcyBpcyB1c2VkIHRvIGFkYXB0XG4gKiB0aGUgSUdPIHF1ZXJ5IG1vZHVsZSB0byB0aGUgbmV3IEZlYXR1cmUvU2VhcmNoUmVzdWx0IGludGVyZmFjZXNcbiAqIEBwYXJhbSBmZWF0dXJlIGZlYXR1cmVcbiAqIEBwYXJhbSBzb3VyY2UgU2VhcmNoIHNvdXJjZVxuICogQHJldHVybnMgU2VhcmNoUmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlVG9TZWFyY2hSZXN1bHQoXG4gIGZlYXR1cmU6IEZlYXR1cmUsXG4gIHNvdXJjZTogU2VhcmNoU291cmNlXG4pOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xuICBpZiAoZmVhdHVyZS5wcm9wZXJ0aWVzKSB7XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5nZW9tZXRyeTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLkdFT01FVFJJRTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLmJvdW5kZWRCeTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLnNoYXBlO1xuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuU0hBUEU7XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5TSEFQRV9TO1xuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuU0hBUEVfTDtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlNIQVBFX1A7XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy50aGVfZ2VvbTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLmdlb207XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5nZW9tMzIxOTg7XG4gIH1cbiAgZmVhdHVyZS5zb3VyY2VJZCA9IHNvdXJjZS5nZXRJZCgpO1xuICByZXR1cm4ge1xuICAgIHNvdXJjZSxcbiAgICBkYXRhOiBmZWF0dXJlLFxuICAgIG1ldGE6IHtcbiAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxuICAgICAgaWQ6IGZlYXR1cmUubWV0YS5pZCBhcyBzdHJpbmcsXG4gICAgICB0aXRsZTogZmVhdHVyZS5tZXRhLnRpdGxlLFxuICAgICAgaWNvbjogZmVhdHVyZS5tZXRhLmljb24gfHwgJ21hcC1tYXJrZXInXG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZERpZmYoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpe1xuICBsZXQgZGlmZiA9ICcnO1xuICBzdHIyLnNwbGl0KCcnKS5mb3JFYWNoKCh2YWwsIGkpID0+IHtcbiAgICBpZiAodmFsICE9PSBzdHIxLmNoYXJBdChpKSkge1xuICAgICAgZGlmZiArPSB2YWw7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGRpZmY7XG59XG5cblxuLyoqXG4gKiBSZXR1cm4gYSBzY29yZSBjYWxjdWxhdGlvbiBiYXNlZCBvbiBcImZyb21cIiB0ZXJtIHdpdGggdGhlIFwidG9cIiB0ZXJtLFxuICogd2hlcmUgdGhlIHBlcmZlY3QgbWF0Y2ggaXMgMTAwIGFuZCBhIHRvdGFsIGRpZmZlcmVuY2UgaXMgMCBvciB1bmRlci5cbiAqIEBwYXJhbSBmcm9tIHN0cmluZ1xuICogQHBhcmFtIHRvIHN0cmluZ1xuICogQHBhcmFtIGNhc2VTZW5zaXRpdmUgYm9vbGVhblxuICogQHJldHVybnMgbnVtYmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlVGVybVNpbWlsYXJpdHkoZnJvbSwgdG8sIGNhc2VTZW5zaXRpdmU6IGJvb2xlYW4gPSBmYWxzZSk6IG51bWJlciB7XG4gIGlmICghZnJvbSB8fCAhdG8pIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBjb25zdCB0ZXJtRnJvbSA9IGNhc2VTZW5zaXRpdmUgPyBmcm9tIDogZnJvbS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCB0ZXJtVG8gPSBjYXNlU2Vuc2l0aXZlID8gdG8gOiB0by50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBmcm9tVG9EaWZmID0gZmluZERpZmYodGVybUZyb20sIHRlcm1Ubyk7XG4gIGNvbnN0IHRvRnJvbURpZmYgPSBmaW5kRGlmZih0ZXJtVG8sIHRlcm1Gcm9tKTtcbiAgY29uc3QgdG90YWxEaWZmID0gZnJvbVRvRGlmZiArIHRvRnJvbURpZmY7XG5cbiAgbGV0IGRlbHRhID0gMDtcbiAgaWYgKHRvdGFsRGlmZi5sZW5ndGgpIHtcbiAgICBkZWx0YSA9IHRvdGFsRGlmZi5sZW5ndGggLyB0ZXJtRnJvbS5sZW5ndGggKiAxMDA7XG4gIH1cblxuICByZXR1cm4gMTAwIC0gTWF0aC5mbG9vcihkZWx0YSk7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZXMuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc291cmNlcy9jb29yZGluYXRlcy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBpbnRlcmZhY2UgQ29vcmRpbmF0ZXNEYXRhIHtcbiAgY29vcmQ6IFtudW1iZXIsIG51bWJlcl07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29vcmRpbmF0ZXNSZXNwb25zZSB7XG4gIGZlYXR1cmVzOiBDb29yZGluYXRlc0RhdGFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb29yZGluYXRlc1JldmVyc2VEYXRhIHtcbiAgY29vcmQ6IFtudW1iZXIsIG51bWJlcl07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29vcmRpbmF0ZXNSZXZlcnNlUmVzcG9uc2Uge1xuICBmZWF0dXJlczogQ29vcmRpbmF0ZXNEYXRhW107XG59XG4iXX0=
@@ -1,147 +1,153 @@
1
- import { __decorate } from "tslib";
2
- import { Injectable, Inject } from '@angular/core';
3
- import { BehaviorSubject, of } from 'rxjs';
4
- import * as olproj from 'ol/proj';
5
- import { fromCircle } from 'ol/geom/Polygon';
6
- import OlCircle from 'ol/geom/Circle';
7
- import * as olformat from 'ol/format';
8
- import { FEATURE } from '../../../feature';
9
- import { SearchSource } from './source';
10
- import { GoogleLinks } from '../../../utils/googleLinks';
11
- import { lonLatConversion, roundCoordTo, convertDDToDMS } from '../../../map/shared/map.utils';
12
- import { OsmLinks } from '../../../utils';
13
- import { Cacheable } from 'ts-cacheable';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "@igo2/core";
16
- export class CoordinatesSearchResultFormatter {
17
- constructor(languageService) {
18
- this.languageService = languageService;
19
- }
20
- formatResult(result) {
21
- return result;
22
- }
23
- }
24
- CoordinatesSearchResultFormatter.ɵfac = function CoordinatesSearchResultFormatter_Factory(t) { return new (t || CoordinatesSearchResultFormatter)(i0.ɵɵinject(i1.LanguageService)); };
25
- CoordinatesSearchResultFormatter.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CoordinatesSearchResultFormatter, factory: CoordinatesSearchResultFormatter.ɵfac });
26
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CoordinatesSearchResultFormatter, [{
27
- type: Injectable
28
- }], function () { return [{ type: i1.LanguageService }]; }, null); })();
29
- /**
30
- * CoordinatesReverse search source
31
- */
32
- export class CoordinatesReverseSearchSource extends SearchSource {
33
- constructor(options, languageService, storageService, projections) {
34
- super(options, storageService);
35
- this.languageService = languageService;
36
- this.title$ = new BehaviorSubject('');
37
- this.projections = projections;
38
- this.languageService.translate
39
- .get(this.options.title)
40
- .subscribe(title => this.title$.next(title));
41
- }
42
- get title() {
43
- return this.title$.getValue();
44
- }
45
- getId() {
46
- return CoordinatesReverseSearchSource.id;
47
- }
48
- getType() {
49
- return CoordinatesReverseSearchSource.type;
50
- }
51
- getDefaultOptions() {
52
- return {
53
- title: 'igo.geo.search.coordinates.name',
54
- order: 1,
55
- showInSettings: false
56
- };
57
- }
58
- /**
59
- * Search a location by coordinates
60
- * @param lonLat Location coordinates
61
- * @param options options of ReverseSearchOptions (distance, conf, zoom, params)
62
- * @returns Observable of <SearchResult<Feature>[]
63
- */
64
- reverseSearch(lonLat, options) {
65
- return of([this.dataToResult(lonLat, options)]);
66
- }
67
- dataToResult(data, options) {
68
- const dataDMS = convertDDToDMS(data);
69
- const convertedCoord = lonLatConversion(data, this.projections);
70
- const coords = convertedCoord.reduce((obj, item) => (obj[item.alias] = item.igo2CoordFormat, obj), {});
71
- const roundedCoordString = roundCoordTo(data, 6).join(', ');
72
- const roundedCoordStringDMS = dataDMS.join(', ');
73
- let geometry = {
74
- type: 'Point',
75
- coordinates: [data[0], data[1]]
76
- };
77
- const properties = {};
78
- let subtitleHtml = '';
79
- if (options.distance) {
80
- const radiusKey = this.languageService.translate.instant('igo.geo.search.coordinates.radius');
81
- properties[radiusKey] = options.distance;
82
- subtitleHtml = '<br><small>Rayon: ' + options.distance + ' m</small>';
83
- // Create polygon
84
- const center = olproj.transform([data[0], data[1]], 'EPSG:4326', 'EPSG:3857');
85
- const circleGeometry = new OlCircle(center, options.distance);
86
- const polygonGeometry = fromCircle(circleGeometry);
87
- const writer = new olformat.GeoJSON();
88
- geometry = JSON.parse(writer.writeGeometry(polygonGeometry.transform('EPSG:3857', 'EPSG:4326')));
89
- }
90
- if (options.conf) {
91
- const confKey = this.languageService.translate.instant('igo.geo.search.coordinates.conf');
92
- properties[confKey] = options.conf;
93
- subtitleHtml += subtitleHtml === '' ? '<br>' : '<small> - </small>';
94
- subtitleHtml += '<small>Confiance: ' + options.conf + '%</small>';
95
- }
96
- const coordKey = this.languageService.translate.instant('igo.geo.search.coordinates.coord');
97
- properties[coordKey] = roundedCoordString;
98
- const coordKeyDMS = this.languageService.translate.instant('igo.geo.search.coordinates.coordDMS');
99
- properties[coordKeyDMS] = roundedCoordStringDMS;
100
- return {
101
- source: this,
102
- data: {
103
- type: FEATURE,
104
- projection: 'EPSG:4326',
105
- geometry,
106
- extent: undefined,
107
- properties: Object.assign(properties, coords, {
108
- GoogleMaps: GoogleLinks.getGoogleMapsCoordLink(data[0], data[1]),
109
- GoogleStreetView: GoogleLinks.getGoogleStreetViewLink(data[0], data[1]),
110
- OpenStreetMap: OsmLinks.getOpenStreetMapLink(data[0], data[1], 14),
111
- Route: '<span class="routing"> <u>' + this.languageService.translate.instant('igo.geo.seeRouting') + '</u> </span>'
112
- }),
113
- meta: {
114
- id: data[0].toString() + ',' + data[1].toString(),
115
- title: roundedCoordString
116
- }
117
- },
118
- meta: {
119
- dataType: FEATURE,
120
- id: data[0].toString() + ',' + data[1].toString(),
121
- title: roundedCoordString,
122
- titleHtml: roundedCoordString + subtitleHtml,
123
- icon: 'map-marker',
124
- score: 100, // every coord exists
125
- }
126
- };
127
- }
128
- }
129
- CoordinatesReverseSearchSource.id = 'coordinatesreverse';
130
- CoordinatesReverseSearchSource.type = FEATURE;
131
- CoordinatesReverseSearchSource.ɵfac = function CoordinatesReverseSearchSource_Factory(t) { return new (t || CoordinatesReverseSearchSource)(i0.ɵɵinject('options'), i0.ɵɵinject(i1.LanguageService), i0.ɵɵinject(i1.StorageService), i0.ɵɵinject('projections')); };
132
- CoordinatesReverseSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CoordinatesReverseSearchSource, factory: CoordinatesReverseSearchSource.ɵfac });
133
- __decorate([
134
- Cacheable({
135
- maxCacheCount: 20
136
- })
137
- ], CoordinatesReverseSearchSource.prototype, "reverseSearch", null);
138
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CoordinatesReverseSearchSource, [{
139
- type: Injectable
140
- }], function () { return [{ type: undefined, decorators: [{
141
- type: Inject,
142
- args: ['options']
143
- }] }, { type: i1.LanguageService }, { type: i1.StorageService }, { type: undefined, decorators: [{
144
- type: Inject,
145
- args: ['projections']
146
- }] }]; }, { reverseSearch: [] }); })();
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvY29vcmRpbmF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUE0QixNQUFNLGtCQUFrQixDQUFDO0FBR3JFLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sVUFBVSxDQUFDO0FBSXZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHekMsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFBRyxDQUFDO0lBRXhELFlBQVksQ0FBQyxNQUE2QjtRQUN4QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztnSEFMVSxnQ0FBZ0M7c0ZBQWhDLGdDQUFnQyxXQUFoQyxnQ0FBZ0M7dUZBQWhDLGdDQUFnQztjQUQ1QyxVQUFVOztB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QUNsQixLQUFLLEVBQUUsR0FBRyxFQUFFLHFCQUFxQjthQUNsQztTQUNGLENBQUM7SUFDSixDQUFDOztBQXBJTSxpQ0FBRSxHQUFHLG9CQUFvQixDQUFDO0FBQzFCLG1DQUFJLEdBQUcsT0FBTyxDQUFDOzRHQUhYLDhCQUE4QixjQWMvQixTQUFTLGdGQUdULGFBQWE7b0ZBakJaLDhCQUE4QixXQUE5Qiw4QkFBOEI7QUFtRHpDO0lBSEMsU0FBUyxDQUFDO1FBQ1QsYUFBYSxFQUFFLEVBQUU7S0FDbEIsQ0FBQzttRUFNRDt1RkF4RFUsOEJBQThCO2NBRDFDLFVBQVU7O3NCQWVOLE1BQU07dUJBQUMsU0FBUzs7c0JBR2hCLE1BQU07dUJBQUMsYUFBYTt3QkFrQ3ZCLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcbmltcG9ydCB7IGZyb21DaXJjbGUgfSBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IE9sQ2lyY2xlIGZyb20gJ29sL2dlb20vQ2lyY2xlJztcbmltcG9ydCAqIGFzIG9sZm9ybWF0IGZyb20gJ29sL2Zvcm1hdCc7XG5cbmltcG9ydCB7IEZFQVRVUkUsIEZlYXR1cmUsIEZlYXR1cmVHZW9tZXRyeSB9IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUnO1xuXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi9zZWFyY2guaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UsIFJldmVyc2VTZWFyY2ggfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VPcHRpb25zLCBSZXZlcnNlU2VhcmNoT3B0aW9ucyB9IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBHb29nbGVMaW5rcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2dvb2dsZUxpbmtzJztcbmltcG9ydCB7IFByb2plY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL3Byb2plY3Rpb24uaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBsb25MYXRDb252ZXJzaW9uLCByb3VuZENvb3JkVG8sIGNvbnZlcnRERFRvRE1TIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3NoYXJlZC9tYXAudXRpbHMnO1xuaW1wb3J0IHsgT3NtTGlua3MgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBDYWNoZWFibGUgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29vcmRpbmF0ZXNTZWFyY2hSZXN1bHRGb3JtYXR0ZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7fVxuXG4gIGZvcm1hdFJlc3VsdChyZXN1bHQ6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPik6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPiB7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuLyoqXG4gKiBDb29yZGluYXRlc1JldmVyc2Ugc2VhcmNoIHNvdXJjZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29vcmRpbmF0ZXNSZXZlcnNlU2VhcmNoU291cmNlIGV4dGVuZHMgU2VhcmNoU291cmNlXG4gIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaCB7XG4gIHN0YXRpYyBpZCA9ICdjb29yZGluYXRlc3JldmVyc2UnO1xuICBzdGF0aWMgdHlwZSA9IEZFQVRVUkU7XG5cbiAgcHJpdmF0ZSBwcm9qZWN0aW9ucztcblxuICB0aXRsZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ29wdGlvbnMnKSBvcHRpb25zOiBTZWFyY2hTb3VyY2VPcHRpb25zLFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ3Byb2plY3Rpb25zJykgcHJvamVjdGlvbnM6IFByb2plY3Rpb25bXSxcbiAgKSB7XG4gICAgc3VwZXIob3B0aW9ucywgc3RvcmFnZVNlcnZpY2UpO1xuICAgIHRoaXMucHJvamVjdGlvbnMgPSBwcm9qZWN0aW9ucztcbiAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGVcbiAgICAgIC5nZXQodGhpcy5vcHRpb25zLnRpdGxlKVxuICAgICAgLnN1YnNjcmliZSh0aXRsZSA9PiB0aGlzLnRpdGxlJC5uZXh0KHRpdGxlKSk7XG4gIH1cblxuICBnZXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBDb29yZGluYXRlc1JldmVyc2VTZWFyY2hTb3VyY2UuaWQ7XG4gIH1cblxuICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIENvb3JkaW5hdGVzUmV2ZXJzZVNlYXJjaFNvdXJjZS50eXBlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERlZmF1bHRPcHRpb25zKCk6IFNlYXJjaFNvdXJjZU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLm5hbWUnLFxuICAgICAgb3JkZXI6IDEsXG4gICAgICBzaG93SW5TZXR0aW5nczogZmFsc2VcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBhIGxvY2F0aW9uIGJ5IGNvb3JkaW5hdGVzXG4gICAqIEBwYXJhbSBsb25MYXQgTG9jYXRpb24gY29vcmRpbmF0ZXNcbiAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyBvZiBSZXZlcnNlU2VhcmNoT3B0aW9ucyAoZGlzdGFuY2UsIGNvbmYsIHpvb20sIHBhcmFtcylcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiA8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W11cbiAgICovXG4gIEBDYWNoZWFibGUoe1xuICAgIG1heENhY2hlQ291bnQ6IDIwXG4gIH0pXG4gIHJldmVyc2VTZWFyY2goXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIG9wdGlvbnM/OiBSZXZlcnNlU2VhcmNoT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdPiB7XG4gICAgcmV0dXJuIG9mKFt0aGlzLmRhdGFUb1Jlc3VsdChsb25MYXQsIG9wdGlvbnMpXSk7XG4gIH1cblxuICBwcml2YXRlIGRhdGFUb1Jlc3VsdChkYXRhOiBbbnVtYmVyLCBudW1iZXJdLCBvcHRpb25zOiBSZXZlcnNlU2VhcmNoT3B0aW9ucyk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPiB7XG4gICAgY29uc3QgZGF0YURNUyA9IGNvbnZlcnRERFRvRE1TKGRhdGEpO1xuICAgIGNvbnN0IGNvbnZlcnRlZENvb3JkID0gbG9uTGF0Q29udmVyc2lvbihkYXRhLCB0aGlzLnByb2plY3Rpb25zKTtcbiAgICBjb25zdCBjb29yZHMgPSBjb252ZXJ0ZWRDb29yZC5yZWR1Y2UoKG9iaiwgaXRlbSkgPT4gKFxuICAgICAgb2JqW2l0ZW0uYWxpYXNdID0gaXRlbS5pZ28yQ29vcmRGb3JtYXQsIG9iaiksIHt9KTtcblxuICAgIGNvbnN0IHJvdW5kZWRDb29yZFN0cmluZyA9IHJvdW5kQ29vcmRUbyhkYXRhLCA2KS5qb2luKCcsICcpO1xuICAgIGNvbnN0IHJvdW5kZWRDb29yZFN0cmluZ0RNUyA9IGRhdGFETVMuam9pbignLCAnKTtcblxuICAgIGxldCBnZW9tZXRyeTogRmVhdHVyZUdlb21ldHJ5ID0ge1xuICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgIGNvb3JkaW5hdGVzOiBbZGF0YVswXSwgZGF0YVsxXV1cbiAgICB9O1xuXG4gICAgY29uc3QgcHJvcGVydGllcyA9IHt9O1xuICAgIGxldCBzdWJ0aXRsZUh0bWwgPSAnJztcbiAgICBpZiAob3B0aW9ucy5kaXN0YW5jZSkge1xuICAgICAgY29uc3QgcmFkaXVzS2V5ID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLnJhZGl1cycpO1xuICAgICAgcHJvcGVydGllc1tyYWRpdXNLZXldID0gb3B0aW9ucy5kaXN0YW5jZTtcbiAgICAgIHN1YnRpdGxlSHRtbCA9ICc8YnI+PHNtYWxsPlJheW9uOiAnICsgb3B0aW9ucy5kaXN0YW5jZSArICcgbTwvc21hbGw+JztcblxuICAgICAgLy8gQ3JlYXRlIHBvbHlnb25cbiAgICAgIGNvbnN0IGNlbnRlciA9IG9scHJvai50cmFuc2Zvcm0oW2RhdGFbMF0sIGRhdGFbMV1dLCAnRVBTRzo0MzI2JywgJ0VQU0c6Mzg1NycpO1xuICAgICAgY29uc3QgY2lyY2xlR2VvbWV0cnkgPSBuZXcgT2xDaXJjbGUoY2VudGVyLCBvcHRpb25zLmRpc3RhbmNlKTtcbiAgICAgIGNvbnN0IHBvbHlnb25HZW9tZXRyeSA9IGZyb21DaXJjbGUoY2lyY2xlR2VvbWV0cnkpO1xuICAgICAgY29uc3Qgd3JpdGVyID0gbmV3IG9sZm9ybWF0Lkdlb0pTT04oKTtcbiAgICAgIGdlb21ldHJ5ID0gSlNPTi5wYXJzZSh3cml0ZXIud3JpdGVHZW9tZXRyeShwb2x5Z29uR2VvbWV0cnkudHJhbnNmb3JtKCdFUFNHOjM4NTcnLCAnRVBTRzo0MzI2JykpKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5jb25mKSB7XG4gICAgICBjb25zdCBjb25mS2V5ID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLmNvbmYnKTtcbiAgICAgIHByb3BlcnRpZXNbY29uZktleV0gPSBvcHRpb25zLmNvbmY7XG4gICAgICBzdWJ0aXRsZUh0bWwgKz0gc3VidGl0bGVIdG1sID09PSAnJyA/ICc8YnI+JyA6ICc8c21hbGw+IC0gPC9zbWFsbD4nO1xuICAgICAgc3VidGl0bGVIdG1sICs9ICc8c21hbGw+Q29uZmlhbmNlOiAnICsgb3B0aW9ucy5jb25mICsgJyU8L3NtYWxsPic7XG4gICAgfVxuXG4gICAgY29uc3QgY29vcmRLZXkgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWFyY2guY29vcmRpbmF0ZXMuY29vcmQnKTtcbiAgICBwcm9wZXJ0aWVzW2Nvb3JkS2V5XSA9IHJvdW5kZWRDb29yZFN0cmluZztcblxuICAgIGNvbnN0IGNvb3JkS2V5RE1TID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLmNvb3JkRE1TJyk7XG4gICAgcHJvcGVydGllc1tjb29yZEtleURNU10gPSByb3VuZGVkQ29vcmRTdHJpbmdETVM7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc291cmNlOiB0aGlzLFxuICAgICAgZGF0YToge1xuICAgICAgICB0eXBlOiBGRUFUVVJFLFxuICAgICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcbiAgICAgICAgZ2VvbWV0cnksXG4gICAgICAgIGV4dGVudDogdW5kZWZpbmVkLFxuICAgICAgICBwcm9wZXJ0aWVzOiBPYmplY3QuYXNzaWduKFxuICAgICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgICAgY29vcmRzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIEdvb2dsZU1hcHM6IEdvb2dsZUxpbmtzLmdldEdvb2dsZU1hcHNDb29yZExpbmsoZGF0YVswXSwgZGF0YVsxXSksXG4gICAgICAgICAgICBHb29nbGVTdHJlZXRWaWV3OiBHb29nbGVMaW5rcy5nZXRHb29nbGVTdHJlZXRWaWV3TGluayhcbiAgICAgICAgICAgICAgZGF0YVswXSxcbiAgICAgICAgICAgICAgZGF0YVsxXVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIE9wZW5TdHJlZXRNYXA6IE9zbUxpbmtzLmdldE9wZW5TdHJlZXRNYXBMaW5rKGRhdGFbMF0sIGRhdGFbMV0sIDE0KSxcbiAgICAgICAgICAgIFJvdXRlOiAnPHNwYW4gY2xhc3M9XCJyb3V0aW5nXCI+IDx1PicgKyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWVSb3V0aW5nJykgKyAnPC91PiA8L3NwYW4+J1xuICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICAgICAgbWV0YToge1xuICAgICAgICAgIGlkOiBkYXRhWzBdLnRvU3RyaW5nKCkgKyAnLCcgKyBkYXRhWzFdLnRvU3RyaW5nKCksXG4gICAgICAgICAgdGl0bGU6IHJvdW5kZWRDb29yZFN0cmluZ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbWV0YToge1xuICAgICAgICBkYXRhVHlwZTogRkVBVFVSRSxcbiAgICAgICAgaWQ6IGRhdGFbMF0udG9TdHJpbmcoKSArICcsJyArIGRhdGFbMV0udG9TdHJpbmcoKSxcbiAgICAgICAgdGl0bGU6IHJvdW5kZWRDb29yZFN0cmluZyxcbiAgICAgICAgdGl0bGVIdG1sOiByb3VuZGVkQ29vcmRTdHJpbmcgKyBzdWJ0aXRsZUh0bWwsXG4gICAgICAgIGljb246ICdtYXAtbWFya2VyJyxcbiAgICAgICAgc2NvcmU6IDEwMCwgLy8gZXZlcnkgY29vcmQgZXhpc3RzXG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIl19
1
+ import { __decorate } from "tslib";
2
+ import { Injectable, Inject } from '@angular/core';
3
+ import { BehaviorSubject, of } from 'rxjs';
4
+ import * as olproj from 'ol/proj';
5
+ import { fromCircle } from 'ol/geom/Polygon';
6
+ import OlCircle from 'ol/geom/Circle';
7
+ import * as olformat from 'ol/format';
8
+ import { FEATURE } from '../../../feature';
9
+ import { SearchSource } from './source';
10
+ import { GoogleLinks } from '../../../utils/googleLinks';
11
+ import { lonLatConversion, roundCoordTo, convertDDToDMS } from '../../../map/shared/map.utils';
12
+ import { OsmLinks } from '../../../utils';
13
+ import { Cacheable } from 'ts-cacheable';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@igo2/core";
16
+ export class CoordinatesSearchResultFormatter {
17
+ constructor(languageService) {
18
+ this.languageService = languageService;
19
+ }
20
+ formatResult(result) {
21
+ return result;
22
+ }
23
+ }
24
+ CoordinatesSearchResultFormatter.ɵfac = function CoordinatesSearchResultFormatter_Factory(t) { return new (t || CoordinatesSearchResultFormatter)(i0.ɵɵinject(i1.LanguageService)); };
25
+ CoordinatesSearchResultFormatter.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CoordinatesSearchResultFormatter, factory: CoordinatesSearchResultFormatter.ɵfac });
26
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CoordinatesSearchResultFormatter, [{
27
+ type: Injectable
28
+ }], function () { return [{ type: i1.LanguageService }]; }, null); })();
29
+ /**
30
+ * CoordinatesReverse search source
31
+ */
32
+ export class CoordinatesReverseSearchSource extends SearchSource {
33
+ constructor(options, languageService, storageService, projections) {
34
+ super(options, storageService);
35
+ this.languageService = languageService;
36
+ this.title$ = new BehaviorSubject('');
37
+ this.projections = projections;
38
+ this.languageService.language$.subscribe(() => {
39
+ this.title$.next(this.languageService.translate.instant(this.options.title));
40
+ });
41
+ }
42
+ get title() {
43
+ return this.title$.getValue();
44
+ }
45
+ getId() {
46
+ return CoordinatesReverseSearchSource.id;
47
+ }
48
+ getType() {
49
+ return CoordinatesReverseSearchSource.type;
50
+ }
51
+ getDefaultOptions() {
52
+ return {
53
+ title: 'igo.geo.search.coordinates.name',
54
+ order: 1,
55
+ showInSettings: false
56
+ };
57
+ }
58
+ /**
59
+ * Search a location by coordinates
60
+ * @param lonLat Location coordinates
61
+ * @param options options of ReverseSearchOptions (distance, conf, zoom, params)
62
+ * @returns Observable of <SearchResult<Feature>[]
63
+ */
64
+ reverseSearch(lonLat, options, reverseSearchCoordsFormatEnabled) {
65
+ return of([this.dataToResult(lonLat, options, reverseSearchCoordsFormatEnabled)]);
66
+ }
67
+ dataToResult(data, options, reverseSearchCoordsFormatEnabled) {
68
+ const dataDMS = convertDDToDMS(data);
69
+ const convertedCoord = lonLatConversion(data, this.projections);
70
+ const coords = convertedCoord.reduce((obj, item) => (obj[item.alias] = item.igo2CoordFormat, obj), {});
71
+ const roundedCoordString = (!reverseSearchCoordsFormatEnabled) ?
72
+ roundCoordTo(data, 6).join(', ') : roundCoordTo(data, 6).reverse().join(', ');
73
+ const roundedCoordStringDMS = (!reverseSearchCoordsFormatEnabled) ?
74
+ dataDMS.join(', ') : dataDMS.reverse().join(', ');
75
+ let geometry = {
76
+ type: 'Point',
77
+ coordinates: [data[0], data[1]]
78
+ };
79
+ const properties = {};
80
+ let subtitleHtml = '';
81
+ if (options.distance) {
82
+ const radiusKey = this.languageService.translate.instant('igo.geo.search.coordinates.radius');
83
+ properties[radiusKey] = options.distance;
84
+ subtitleHtml = '<br><small>Rayon: ' + options.distance + ' m</small>';
85
+ // Create polygon
86
+ const center = olproj.transform([data[0], data[1]], 'EPSG:4326', 'EPSG:3857');
87
+ const circleGeometry = new OlCircle(center, options.distance);
88
+ const polygonGeometry = fromCircle(circleGeometry);
89
+ const writer = new olformat.GeoJSON();
90
+ geometry = JSON.parse(writer.writeGeometry(polygonGeometry.transform('EPSG:3857', 'EPSG:4326')));
91
+ }
92
+ if (options.conf) {
93
+ const confKey = this.languageService.translate.instant('igo.geo.search.coordinates.conf');
94
+ properties[confKey] = options.conf;
95
+ subtitleHtml += subtitleHtml === '' ? '<br>' : '<small> - </small>';
96
+ subtitleHtml += '<small>Confiance: ' + options.conf + '%</small>';
97
+ }
98
+ const coordKey = (!reverseSearchCoordsFormatEnabled) ?
99
+ this.languageService.translate.instant('igo.geo.search.coordinates.coord') :
100
+ this.languageService.translate.instant('igo.geo.search.coordinates.reversedCoord');
101
+ properties[coordKey] = roundedCoordString;
102
+ const coordKeyDMS = (!reverseSearchCoordsFormatEnabled) ?
103
+ this.languageService.translate.instant('igo.geo.search.coordinates.coordDMS') :
104
+ this.languageService.translate.instant('igo.geo.search.coordinates.reversedCoordDMS');
105
+ properties[coordKeyDMS] = roundedCoordStringDMS;
106
+ return {
107
+ source: this,
108
+ data: {
109
+ type: FEATURE,
110
+ projection: 'EPSG:4326',
111
+ geometry,
112
+ extent: undefined,
113
+ properties: Object.assign(properties, coords, {
114
+ GoogleMaps: GoogleLinks.getGoogleMapsCoordLink(data[0], data[1]),
115
+ GoogleStreetView: GoogleLinks.getGoogleStreetViewLink(data[0], data[1]),
116
+ OpenStreetMap: OsmLinks.getOpenStreetMapLink(data[0], data[1], 14),
117
+ Route: '<span class="routing"> <u>' + this.languageService.translate.instant('igo.geo.seeRouting') + '</u> </span>'
118
+ }),
119
+ meta: {
120
+ id: data[0].toString() + ',' + data[1].toString(),
121
+ title: roundedCoordString
122
+ }
123
+ },
124
+ meta: {
125
+ dataType: FEATURE,
126
+ id: data[0].toString() + ',' + data[1].toString(),
127
+ title: roundedCoordString,
128
+ titleHtml: roundedCoordString + subtitleHtml,
129
+ icon: 'map-marker',
130
+ score: 100, // every coord exists
131
+ }
132
+ };
133
+ }
134
+ }
135
+ CoordinatesReverseSearchSource.id = 'coordinatesreverse';
136
+ CoordinatesReverseSearchSource.type = FEATURE;
137
+ CoordinatesReverseSearchSource.ɵfac = function CoordinatesReverseSearchSource_Factory(t) { return new (t || CoordinatesReverseSearchSource)(i0.ɵɵinject('options'), i0.ɵɵinject(i1.LanguageService), i0.ɵɵinject(i1.StorageService), i0.ɵɵinject('projections')); };
138
+ CoordinatesReverseSearchSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CoordinatesReverseSearchSource, factory: CoordinatesReverseSearchSource.ɵfac });
139
+ __decorate([
140
+ Cacheable({
141
+ maxCacheCount: 20
142
+ })
143
+ ], CoordinatesReverseSearchSource.prototype, "reverseSearch", null);
144
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CoordinatesReverseSearchSource, [{
145
+ type: Injectable
146
+ }], function () { return [{ type: undefined, decorators: [{
147
+ type: Inject,
148
+ args: ['options']
149
+ }] }, { type: i1.LanguageService }, { type: i1.StorageService }, { type: undefined, decorators: [{
150
+ type: Inject,
151
+ args: ['projections']
152
+ }] }]; }, { reverseSearch: [] }); })();
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvY29vcmRpbmF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUE0QixNQUFNLGtCQUFrQixDQUFDO0FBR3JFLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sVUFBVSxDQUFDO0FBSXZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHekMsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFBRyxDQUFDO0lBRXhELFlBQVksQ0FBQyxNQUE2QjtRQUN4QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztnSEFMVSxnQ0FBZ0M7c0ZBQWhDLGdDQUFnQyxXQUFoQyxnQ0FBZ0M7dUZBQWhDLGdDQUFnQztjQUQ1QyxVQUFVOztB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QUFDLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ2xFLEtBQUssRUFBRSw0QkFBNEIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxjQUFjO2lCQUNwSCxDQUNGO2dCQUNELElBQUksRUFBRTtvQkFDSixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO29CQUNqRCxLQUFLLEVBQUUsa0JBQWtCO2lCQUMxQjthQUNGO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUNqRCxLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixTQUFTLEVBQUUsa0JBQWtCLEdBQUcsWUFBWTtnQkFDNUMsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLEtBQUssRUFBRSxHQUFHLEVBQUUscUJBQXFCO2FBQ2xDO1NBQ0YsQ0FBQztJQUNKLENBQUM7O0FBOUlNLGlDQUFFLEdBQUcsb0JBQW9CLENBQUM7QUFDMUIsbUNBQUksR0FBRyxPQUFPLENBQUM7NEdBSFgsOEJBQThCLGNBYy9CLFNBQVMsZ0ZBR1QsYUFBYTtvRkFqQlosOEJBQThCLFdBQTlCLDhCQUE4QjtBQW1EekM7SUFIQyxTQUFTLENBQUM7UUFDVCxhQUFhLEVBQUUsRUFBRTtLQUNsQixDQUFDO21FQU9EO3VGQXpEVSw4QkFBOEI7Y0FEMUMsVUFBVTs7c0JBZU4sTUFBTTt1QkFBQyxTQUFTOztzQkFHaEIsTUFBTTt1QkFBQyxhQUFhO3dCQWtDdkIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgZnJvbUNpcmNsZSB9IGZyb20gJ29sL2dlb20vUG9seWdvbic7XG5pbXBvcnQgT2xDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xuaW1wb3J0ICogYXMgb2xmb3JtYXQgZnJvbSAnb2wvZm9ybWF0JztcblxuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZSwgRmVhdHVyZUdlb21ldHJ5IH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZSc7XG5cbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NlYXJjaC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSwgUmV2ZXJzZVNlYXJjaCB9IGZyb20gJy4vc291cmNlJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZU9wdGlvbnMsIFJldmVyc2VTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEdvb2dsZUxpbmtzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZ29vZ2xlTGlua3MnO1xuaW1wb3J0IHsgUHJvamVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21hcC9zaGFyZWQvcHJvamVjdGlvbi5pbnRlcmZhY2VzJztcbmltcG9ydCB7IGxvbkxhdENvbnZlcnNpb24sIHJvdW5kQ29vcmRUbywgY29udmVydEREVG9ETVMgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC51dGlscyc7XG5pbXBvcnQgeyBPc21MaW5rcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IENhY2hlYWJsZSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHt9XG5cbiAgZm9ybWF0UmVzdWx0KHJlc3VsdDogU2VhcmNoUmVzdWx0PEZlYXR1cmU+KTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+IHtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4vKipcbiAqIENvb3JkaW5hdGVzUmV2ZXJzZSBzZWFyY2ggc291cmNlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlc1JldmVyc2VTZWFyY2hTb3VyY2UgZXh0ZW5kcyBTZWFyY2hTb3VyY2VcbiAgaW1wbGVtZW50cyBSZXZlcnNlU2VhcmNoIHtcbiAgc3RhdGljIGlkID0gJ2Nvb3JkaW5hdGVzcmV2ZXJzZSc7XG4gIHN0YXRpYyB0eXBlID0gRkVBVFVSRTtcblxuICBwcml2YXRlIHByb2plY3Rpb25zO1xuXG4gIHRpdGxlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRpdGxlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnb3B0aW9ucycpIG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnMsXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgQEluamVjdCgncHJvamVjdGlvbnMnKSBwcm9qZWN0aW9uczogUHJvamVjdGlvbltdXG4gICkge1xuICAgIHN1cGVyKG9wdGlvbnMsIHN0b3JhZ2VTZXJ2aWNlKTtcbiAgICB0aGlzLnByb2plY3Rpb25zID0gcHJvamVjdGlvbnM7XG4gICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UubGFuZ3VhZ2UkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnRpdGxlJC5uZXh0KHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KHRoaXMub3B0aW9ucy50aXRsZSkpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQ29vcmRpbmF0ZXNSZXZlcnNlU2VhcmNoU291cmNlLmlkO1xuICB9XG5cbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBDb29yZGluYXRlc1JldmVyc2VTZWFyY2hTb3VyY2UudHlwZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdpZ28uZ2VvLnNlYXJjaC5jb29yZGluYXRlcy5uYW1lJyxcbiAgICAgIG9yZGVyOiAxLFxuICAgICAgc2hvd0luU2V0dGluZ3M6IGZhbHNlXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggYSBsb2NhdGlvbiBieSBjb29yZGluYXRlc1xuICAgKiBAcGFyYW0gbG9uTGF0IExvY2F0aW9uIGNvb3JkaW5hdGVzXG4gICAqIEBwYXJhbSBvcHRpb25zIG9wdGlvbnMgb2YgUmV2ZXJzZVNlYXJjaE9wdGlvbnMgKGRpc3RhbmNlLCBjb25mLCB6b29tLCBwYXJhbXMpXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdXG4gICAqL1xuICBAQ2FjaGVhYmxlKHtcbiAgICBtYXhDYWNoZUNvdW50OiAyMFxuICB9KVxuICByZXZlcnNlU2VhcmNoKFxuICAgIGxvbkxhdDogW251bWJlciwgbnVtYmVyXSxcbiAgICBvcHRpb25zPzogUmV2ZXJzZVNlYXJjaE9wdGlvbnMsXG4gICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQ/OiBib29sZWFuXG4gICk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W10+IHtcbiAgICByZXR1cm4gb2YoW3RoaXMuZGF0YVRvUmVzdWx0KGxvbkxhdCwgb3B0aW9ucywgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQpXSk7XG4gIH1cblxuICBwcml2YXRlIGRhdGFUb1Jlc3VsdChkYXRhOiBbbnVtYmVyLCBudW1iZXJdLCBvcHRpb25zOiBSZXZlcnNlU2VhcmNoT3B0aW9ucyxcbiAgICByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZDogYm9vbGVhbik6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPiB7XG5cbiAgICBjb25zdCBkYXRhRE1TID0gY29udmVydEREVG9ETVMoZGF0YSk7XG4gICAgY29uc3QgY29udmVydGVkQ29vcmQgPSBsb25MYXRDb252ZXJzaW9uKGRhdGEsIHRoaXMucHJvamVjdGlvbnMpO1xuICAgIGNvbnN0IGNvb3JkcyA9IGNvbnZlcnRlZENvb3JkLnJlZHVjZSgob2JqLCBpdGVtKSA9PiAoXG4gICAgICBvYmpbaXRlbS5hbGlhc10gPSBpdGVtLmlnbzJDb29yZEZvcm1hdCwgb2JqKSwge30pO1xuXG4gICAgY29uc3Qgcm91bmRlZENvb3JkU3RyaW5nID0gKCFyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCkgP1xuICAgICAgcm91bmRDb29yZFRvKGRhdGEsIDYpLmpvaW4oJywgJykgOiByb3VuZENvb3JkVG8oZGF0YSwgNikucmV2ZXJzZSgpLmpvaW4oJywgJyk7XG5cbiAgICBjb25zdCByb3VuZGVkQ29vcmRTdHJpbmdETVMgPSAoIXJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkKSA/XG4gICAgICBkYXRhRE1TLmpvaW4oJywgJykgOiBkYXRhRE1TLnJldmVyc2UoKS5qb2luKCcsICcpO1xuXG4gICAgbGV0IGdlb21ldHJ5OiBGZWF0dXJlR2VvbWV0cnkgPSB7XG4gICAgICB0eXBlOiAnUG9pbnQnLFxuICAgICAgY29vcmRpbmF0ZXM6IFtkYXRhWzBdLCBkYXRhWzFdXVxuICAgIH07XG5cbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge307XG4gICAgbGV0IHN1YnRpdGxlSHRtbCA9ICcnO1xuICAgIGlmIChvcHRpb25zLmRpc3RhbmNlKSB7XG4gICAgICBjb25zdCByYWRpdXNLZXkgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWFyY2guY29vcmRpbmF0ZXMucmFkaXVzJyk7XG4gICAgICBwcm9wZXJ0aWVzW3JhZGl1c0tleV0gPSBvcHRpb25zLmRpc3RhbmNlO1xuICAgICAgc3VidGl0bGVIdG1sID0gJzxicj48c21hbGw+UmF5b246ICcgKyBvcHRpb25zLmRpc3RhbmNlICsgJyBtPC9zbWFsbD4nO1xuXG4gICAgICAvLyBDcmVhdGUgcG9seWdvblxuICAgICAgY29uc3QgY2VudGVyID0gb2xwcm9qLnRyYW5zZm9ybShbZGF0YVswXSwgZGF0YVsxXV0sICdFUFNHOjQzMjYnLCAnRVBTRzozODU3Jyk7XG4gICAgICBjb25zdCBjaXJjbGVHZW9tZXRyeSA9IG5ldyBPbENpcmNsZShjZW50ZXIsIG9wdGlvbnMuZGlzdGFuY2UpO1xuICAgICAgY29uc3QgcG9seWdvbkdlb21ldHJ5ID0gZnJvbUNpcmNsZShjaXJjbGVHZW9tZXRyeSk7XG4gICAgICBjb25zdCB3cml0ZXIgPSBuZXcgb2xmb3JtYXQuR2VvSlNPTigpO1xuICAgICAgZ2VvbWV0cnkgPSBKU09OLnBhcnNlKHdyaXRlci53cml0ZUdlb21ldHJ5KHBvbHlnb25HZW9tZXRyeS50cmFuc2Zvcm0oJ0VQU0c6Mzg1NycsICdFUFNHOjQzMjYnKSkpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmNvbmYpIHtcbiAgICAgIGNvbnN0IGNvbmZLZXkgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWFyY2guY29vcmRpbmF0ZXMuY29uZicpO1xuICAgICAgcHJvcGVydGllc1tjb25mS2V5XSA9IG9wdGlvbnMuY29uZjtcbiAgICAgIHN1YnRpdGxlSHRtbCArPSBzdWJ0aXRsZUh0bWwgPT09ICcnID8gJzxicj4nIDogJzxzbWFsbD4gLSA8L3NtYWxsPic7XG4gICAgICBzdWJ0aXRsZUh0bWwgKz0gJzxzbWFsbD5Db25maWFuY2U6ICcgKyBvcHRpb25zLmNvbmYgKyAnJTwvc21hbGw+JztcbiAgICB9XG5cbiAgICBjb25zdCBjb29yZEtleSA9ICghcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQpID9cbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLnNlYXJjaC5jb29yZGluYXRlcy5jb29yZCcpOlxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLnJldmVyc2VkQ29vcmQnKTtcbiAgICBwcm9wZXJ0aWVzW2Nvb3JkS2V5XSA9IHJvdW5kZWRDb29yZFN0cmluZztcblxuICAgIGNvbnN0IGNvb3JkS2V5RE1TID0gKCFyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCkgP1xuICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5zZWFyY2guY29vcmRpbmF0ZXMuY29vcmRETVMnKTpcbiAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLnJldmVyc2VkQ29vcmRETVMnKTtcbiAgICBwcm9wZXJ0aWVzW2Nvb3JkS2V5RE1TXSA9IHJvdW5kZWRDb29yZFN0cmluZ0RNUztcblxuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2U6IHRoaXMsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxuICAgICAgICBnZW9tZXRyeSxcbiAgICAgICAgZXh0ZW50OiB1bmRlZmluZWQsXG4gICAgICAgIHByb3BlcnRpZXM6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgcHJvcGVydGllcyxcbiAgICAgICAgICBjb29yZHMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgR29vZ2xlTWFwczogR29vZ2xlTGlua3MuZ2V0R29vZ2xlTWFwc0Nvb3JkTGluayhkYXRhWzBdLCBkYXRhWzFdKSxcbiAgICAgICAgICAgIEdvb2dsZVN0cmVldFZpZXc6IEdvb2dsZUxpbmtzLmdldEdvb2dsZVN0cmVldFZpZXdMaW5rKFxuICAgICAgICAgICAgICBkYXRhWzBdLFxuICAgICAgICAgICAgICBkYXRhWzFdXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgT3BlblN0cmVldE1hcDogT3NtTGlua3MuZ2V0T3BlblN0cmVldE1hcExpbmsoZGF0YVswXSwgZGF0YVsxXSwgMTQpLFxuICAgICAgICAgICAgUm91dGU6ICc8c3BhbiBjbGFzcz1cInJvdXRpbmdcIj4gPHU+JyArIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLnNlZVJvdXRpbmcnKSArICc8L3U+IDwvc3Bhbj4nXG4gICAgICAgICAgfVxuICAgICAgICApLFxuICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgaWQ6IGRhdGFbMF0udG9TdHJpbmcoKSArICcsJyArIGRhdGFbMV0udG9TdHJpbmcoKSxcbiAgICAgICAgICB0aXRsZTogcm91bmRlZENvb3JkU3RyaW5nXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBtZXRhOiB7XG4gICAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxuICAgICAgICBpZDogZGF0YVswXS50b1N0cmluZygpICsgJywnICsgZGF0YVsxXS50b1N0cmluZygpLFxuICAgICAgICB0aXRsZTogcm91bmRlZENvb3JkU3RyaW5nLFxuICAgICAgICB0aXRsZUh0bWw6IHJvdW5kZWRDb29yZFN0cmluZyArIHN1YnRpdGxlSHRtbCxcbiAgICAgICAgaWNvbjogJ21hcC1tYXJrZXInLFxuICAgICAgICBzY29yZTogMTAwLCAvLyBldmVyeSBjb29yZCBleGlzdHNcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG4iXX0=