@igo2/geo 18.0.1-next.2 → 18.0.2

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 (512) hide show
  1. package/esm2022/igo2-geo.mjs +5 -0
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +234 -0
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +272 -0
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +246 -0
  5. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +19 -0
  6. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +136 -0
  7. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +60 -0
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +232 -0
  9. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +24 -0
  10. package/esm2022/lib/catalog/catalog-library/index.mjs +4 -0
  11. package/esm2022/lib/catalog/catalog.module.mjs +26 -0
  12. package/esm2022/lib/catalog/index.mjs +6 -0
  13. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +32 -0
  14. package/esm2022/lib/catalog/shared/catalog.enum.mjs +16 -0
  15. package/esm2022/lib/catalog/shared/catalog.interface.mjs +2 -0
  16. package/esm2022/lib/catalog/shared/catalog.service.mjs +706 -0
  17. package/esm2022/lib/catalog/shared/catalogs.mjs +75 -0
  18. package/esm2022/lib/catalog/shared/index.mjs +5 -0
  19. package/esm2022/lib/datasource/index.mjs +3 -0
  20. package/esm2022/lib/datasource/shared/capabilities.interface.mjs +17 -0
  21. package/esm2022/lib/datasource/shared/capabilities.service.mjs +441 -0
  22. package/esm2022/lib/datasource/shared/datasource.service.mjs +258 -0
  23. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +2 -0
  24. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +2 -0
  25. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +2 -0
  26. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +222 -0
  27. package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +2 -0
  28. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +118 -0
  29. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +2 -0
  30. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +24 -0
  31. package/esm2022/lib/datasource/shared/datasources/data.service.mjs +3 -0
  32. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +2 -0
  33. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +42 -0
  34. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +2 -0
  35. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +52 -0
  36. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +2 -0
  37. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +70 -0
  38. package/esm2022/lib/datasource/shared/datasources/index.mjs +36 -0
  39. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +2 -0
  40. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +33 -0
  41. package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +2 -0
  42. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +14 -0
  43. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +2 -0
  44. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +60 -0
  45. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +2 -0
  46. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +17 -0
  47. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +2 -0
  48. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +56 -0
  49. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +2 -0
  50. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +137 -0
  51. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +170 -0
  52. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +2 -0
  53. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +227 -0
  54. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +224 -0
  55. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +2 -0
  56. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +18 -0
  57. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +2 -0
  58. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +11 -0
  59. package/esm2022/lib/datasource/shared/index.mjs +6 -0
  60. package/esm2022/lib/datasource/shared/options/index.mjs +5 -0
  61. package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +2 -0
  62. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +15 -0
  63. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +85 -0
  64. package/esm2022/lib/datasource/shared/options/options.service.mjs +3 -0
  65. package/esm2022/lib/datasource/utils/index.mjs +2 -0
  66. package/esm2022/lib/datasource/utils/tilegrid.mjs +20 -0
  67. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +246 -0
  68. package/esm2022/lib/directions/directions-buttons/index.mjs +2 -0
  69. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +312 -0
  70. package/esm2022/lib/directions/directions-inputs/index.mjs +2 -0
  71. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +192 -0
  72. package/esm2022/lib/directions/directions-results/index.mjs +2 -0
  73. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +5 -0
  74. package/esm2022/lib/directions/directions-sources/directions-source.mjs +3 -0
  75. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +23 -0
  76. package/esm2022/lib/directions/directions-sources/index.mjs +5 -0
  77. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +159 -0
  78. package/esm2022/lib/directions/directions.component.mjs +437 -0
  79. package/esm2022/lib/directions/directions.module.mjs +46 -0
  80. package/esm2022/lib/directions/directions.provider.mjs +16 -0
  81. package/esm2022/lib/directions/index.mjs +8 -0
  82. package/esm2022/lib/directions/shared/directions-source.service.mjs +18 -0
  83. package/esm2022/lib/directions/shared/directions.enum.mjs +72 -0
  84. package/esm2022/lib/directions/shared/directions.interface.mjs +2 -0
  85. package/esm2022/lib/directions/shared/directions.service.mjs +239 -0
  86. package/esm2022/lib/directions/shared/directions.utils.mjs +522 -0
  87. package/esm2022/lib/directions/shared/index.mjs +6 -0
  88. package/esm2022/lib/directions/shared/store.mjs +21 -0
  89. package/esm2022/lib/download/download-button/download-button.component.mjs +48 -0
  90. package/esm2022/lib/download/download-button/index.mjs +2 -0
  91. package/esm2022/lib/download/download.module.mjs +24 -0
  92. package/esm2022/lib/download/index.mjs +3 -0
  93. package/esm2022/lib/download/shared/download.interface.mjs +2 -0
  94. package/esm2022/lib/download/shared/download.service.mjs +67 -0
  95. package/esm2022/lib/download/shared/index.mjs +3 -0
  96. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +42 -0
  97. package/esm2022/lib/draw/draw/draw-popup.component.mjs +421 -0
  98. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +28 -0
  99. package/esm2022/lib/draw/draw/draw.component.mjs +1136 -0
  100. package/esm2022/lib/draw/draw/draw.module.mjs +19 -0
  101. package/esm2022/lib/draw/drawingTool.module.mjs +18 -0
  102. package/esm2022/lib/draw/index.mjs +3 -0
  103. package/esm2022/lib/draw/shared/draw-icon.service.mjs +30 -0
  104. package/esm2022/lib/draw/shared/draw.enum.mjs +21 -0
  105. package/esm2022/lib/draw/shared/draw.interface.mjs +2 -0
  106. package/esm2022/lib/draw/shared/draw.utils.mjs +125 -0
  107. package/esm2022/lib/draw/shared/index.mjs +5 -0
  108. package/esm2022/lib/environment/environment.interface.mjs +2 -0
  109. package/esm2022/lib/environment/index.mjs +2 -0
  110. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +306 -0
  111. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +56 -0
  112. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +26 -0
  113. package/esm2022/lib/feature/feature-details/index.mjs +4 -0
  114. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +101 -0
  115. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +19 -0
  116. package/esm2022/lib/feature/feature.module.mjs +26 -0
  117. package/esm2022/lib/feature/index.mjs +5 -0
  118. package/esm2022/lib/feature/shared/feature-store.utils.mjs +28 -0
  119. package/esm2022/lib/feature/shared/feature.enums.mjs +9 -0
  120. package/esm2022/lib/feature/shared/feature.interfaces.mjs +2 -0
  121. package/esm2022/lib/feature/shared/feature.utils.mjs +332 -0
  122. package/esm2022/lib/feature/shared/index.mjs +8 -0
  123. package/esm2022/lib/feature/shared/store.mjs +143 -0
  124. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +216 -0
  125. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +119 -0
  126. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +99 -0
  127. package/esm2022/lib/feature/shared/strategies/index.mjs +8 -0
  128. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +103 -0
  129. package/esm2022/lib/feature/shared/strategies/loading.mjs +136 -0
  130. package/esm2022/lib/feature/shared/strategies/search.mjs +158 -0
  131. package/esm2022/lib/feature/shared/strategies/selection.mjs +385 -0
  132. package/esm2022/lib/feature/shared/strategies.utils.mjs +37 -0
  133. package/esm2022/lib/filter/filter.module.mjs +131 -0
  134. package/esm2022/lib/filter/index.mjs +17 -0
  135. package/esm2022/lib/filter/ogc-filter-button/index.mjs +2 -0
  136. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +141 -0
  137. package/esm2022/lib/filter/ogc-filter-form/index.mjs +2 -0
  138. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +325 -0
  139. package/esm2022/lib/filter/ogc-filter-selection/index.mjs +2 -0
  140. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +787 -0
  141. package/esm2022/lib/filter/ogc-filter-time/index.mjs +3 -0
  142. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +201 -0
  143. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +665 -0
  144. package/esm2022/lib/filter/ogc-filterable-form/index.mjs +2 -0
  145. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +66 -0
  146. package/esm2022/lib/filter/ogc-filterable-item/index.mjs +2 -0
  147. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +244 -0
  148. package/esm2022/lib/filter/ogc-filterable-list/index.mjs +3 -0
  149. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +39 -0
  150. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +32 -0
  151. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +63 -0
  152. package/esm2022/lib/filter/shared/index.mjs +12 -0
  153. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +72 -0
  154. package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +30 -0
  155. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +2 -0
  156. package/esm2022/lib/filter/shared/ogc-filter.mjs +756 -0
  157. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +47 -0
  158. package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +23 -0
  159. package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +2 -0
  160. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +282 -0
  161. package/esm2022/lib/filter/shared/time-filter.enum.mjs +13 -0
  162. package/esm2022/lib/filter/shared/time-filter.interface.mjs +2 -0
  163. package/esm2022/lib/filter/shared/time-filter.service.mjs +107 -0
  164. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +2 -0
  165. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +875 -0
  166. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +2 -0
  167. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +191 -0
  168. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +2 -0
  169. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +120 -0
  170. package/esm2022/lib/filter/time-filter-button/index.mjs +2 -0
  171. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +70 -0
  172. package/esm2022/lib/filter/time-filter-form/index.mjs +2 -0
  173. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +537 -0
  174. package/esm2022/lib/filter/time-filter-item/index.mjs +2 -0
  175. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +90 -0
  176. package/esm2022/lib/filter/time-filter-list/index.mjs +3 -0
  177. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +39 -0
  178. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +24 -0
  179. package/esm2022/lib/geo.module.mjs +63 -0
  180. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +559 -0
  181. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +170 -0
  182. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +24 -0
  183. package/esm2022/lib/geometry/geometry-form-field/index.mjs +4 -0
  184. package/esm2022/lib/geometry/geometry.module.mjs +18 -0
  185. package/esm2022/lib/geometry/index.mjs +3 -0
  186. package/esm2022/lib/geometry/shared/controls/draw.mjs +340 -0
  187. package/esm2022/lib/geometry/shared/controls/index.mjs +4 -0
  188. package/esm2022/lib/geometry/shared/controls/modify.mjs +538 -0
  189. package/esm2022/lib/geometry/shared/controls/slice.mjs +190 -0
  190. package/esm2022/lib/geometry/shared/geometry.errors.mjs +24 -0
  191. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +2 -0
  192. package/esm2022/lib/geometry/shared/geometry.utils.mjs +113 -0
  193. package/esm2022/lib/geometry/shared/index.mjs +5 -0
  194. package/esm2022/lib/import-export/export-button/export-button.component.mjs +49 -0
  195. package/esm2022/lib/import-export/export-button/index.mjs +2 -0
  196. package/esm2022/lib/import-export/import-export/import-export.component.mjs +876 -0
  197. package/esm2022/lib/import-export/import-export/index.mjs +2 -0
  198. package/esm2022/lib/import-export/import-export.module.mjs +31 -0
  199. package/esm2022/lib/import-export/index.mjs +5 -0
  200. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +114 -0
  201. package/esm2022/lib/import-export/shared/export.errors.mjs +15 -0
  202. package/esm2022/lib/import-export/shared/export.interface.mjs +2 -0
  203. package/esm2022/lib/import-export/shared/export.service.mjs +378 -0
  204. package/esm2022/lib/import-export/shared/export.type.mjs +13 -0
  205. package/esm2022/lib/import-export/shared/export.utils.mjs +51 -0
  206. package/esm2022/lib/import-export/shared/import.errors.mjs +39 -0
  207. package/esm2022/lib/import-export/shared/import.interface.mjs +2 -0
  208. package/esm2022/lib/import-export/shared/import.service.mjs +221 -0
  209. package/esm2022/lib/import-export/shared/import.utils.mjs +203 -0
  210. package/esm2022/lib/import-export/shared/index.mjs +11 -0
  211. package/esm2022/lib/layer/index.mjs +16 -0
  212. package/esm2022/lib/layer/layer-group/index.mjs +2 -0
  213. package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
  214. package/esm2022/lib/layer/layer-item/index.mjs +2 -0
  215. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +196 -0
  216. package/esm2022/lib/layer/layer-legend/index.mjs +2 -0
  217. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +287 -0
  218. package/esm2022/lib/layer/layer-legend-item/index.mjs +2 -0
  219. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +85 -0
  220. package/esm2022/lib/layer/layer-legend-list/index.mjs +3 -0
  221. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +54 -0
  222. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +104 -0
  223. package/esm2022/lib/layer/layer-list/index.mjs +2 -0
  224. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +232 -0
  225. package/esm2022/lib/layer/layer-list-tool/index.mjs +4 -0
  226. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +92 -0
  227. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -0
  228. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +61 -0
  229. package/esm2022/lib/layer/layer-search/index.mjs +2 -0
  230. package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
  231. package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
  232. package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +26 -0
  233. package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
  234. package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
  235. package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
  236. package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
  237. package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
  238. package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
  239. package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
  240. package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
  241. package/esm2022/lib/layer/layer.module.mjs +107 -0
  242. package/esm2022/lib/layer/shared/clusterParam.mjs +2 -0
  243. package/esm2022/lib/layer/shared/index.mjs +6 -0
  244. package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
  245. package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
  246. package/esm2022/lib/layer/shared/layer.enums.mjs +2 -0
  247. package/esm2022/lib/layer/shared/layer.service.mjs +315 -0
  248. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +2 -0
  249. package/esm2022/lib/layer/shared/layers/any-layer.mjs +2 -0
  250. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +2 -0
  251. package/esm2022/lib/layer/shared/layers/image-layer.mjs +75 -0
  252. package/esm2022/lib/layer/shared/layers/index.mjs +18 -0
  253. package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
  254. package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
  255. package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
  256. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +7 -0
  257. package/esm2022/lib/layer/shared/layers/layer.mjs +178 -0
  258. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +2 -0
  259. package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
  260. package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
  261. package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
  262. package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
  263. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +2 -0
  264. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +55 -0
  265. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +2 -0
  266. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +576 -0
  267. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +2 -0
  268. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +112 -0
  269. package/esm2022/lib/layer/track-feature-button/index.mjs +2 -0
  270. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +54 -0
  271. package/esm2022/lib/layer/utils/image-watcher.mjs +62 -0
  272. package/esm2022/lib/layer/utils/index.mjs +6 -0
  273. package/esm2022/lib/layer/utils/layer.utils.mjs +57 -0
  274. package/esm2022/lib/layer/utils/outputLegend.mjs +32 -0
  275. package/esm2022/lib/layer/utils/tile-watcher.mjs +52 -0
  276. package/esm2022/lib/layer/utils/vector-watcher.mjs +50 -0
  277. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +20 -0
  278. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +87 -0
  279. package/esm2022/lib/map/baselayers-switcher/index.mjs +3 -0
  280. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +122 -0
  281. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +78 -0
  282. package/esm2022/lib/map/geolocate-button/index.mjs +2 -0
  283. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +73 -0
  284. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +2 -0
  285. package/esm2022/lib/map/home-extent-button/index.mjs +3 -0
  286. package/esm2022/lib/map/index.mjs +14 -0
  287. package/esm2022/lib/map/info-section/index.mjs +2 -0
  288. package/esm2022/lib/map/info-section/info-section.component.mjs +15 -0
  289. package/esm2022/lib/map/map-browser/index.mjs +2 -0
  290. package/esm2022/lib/map/map-browser/map-browser.component.mjs +67 -0
  291. package/esm2022/lib/map/map-center/index.mjs +2 -0
  292. package/esm2022/lib/map/map-center/map-center.component.mjs +56 -0
  293. package/esm2022/lib/map/map.module.mjs +89 -0
  294. package/esm2022/lib/map/menu-button/index.mjs +2 -0
  295. package/esm2022/lib/map/menu-button/menu-button.component.mjs +57 -0
  296. package/esm2022/lib/map/offline-button/index.mjs +2 -0
  297. package/esm2022/lib/map/offline-button/offline-button.component.mjs +53 -0
  298. package/esm2022/lib/map/rotation-button/index.mjs +2 -0
  299. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +58 -0
  300. package/esm2022/lib/map/shared/controllers/controller.mjs +44 -0
  301. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +8 -0
  302. package/esm2022/lib/map/shared/controllers/geolocation.mjs +431 -0
  303. package/esm2022/lib/map/shared/controllers/index.mjs +5 -0
  304. package/esm2022/lib/map/shared/controllers/view.mjs +361 -0
  305. package/esm2022/lib/map/shared/hover-feature.directive.mjs +481 -0
  306. package/esm2022/lib/map/shared/index.mjs +15 -0
  307. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +238 -0
  308. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +122 -0
  309. package/esm2022/lib/map/shared/map.abstract.mjs +24 -0
  310. package/esm2022/lib/map/shared/map.enums.mjs +6 -0
  311. package/esm2022/lib/map/shared/map.interface.mjs +2 -0
  312. package/esm2022/lib/map/shared/map.mjs +201 -0
  313. package/esm2022/lib/map/shared/map.service.mjs +29 -0
  314. package/esm2022/lib/map/shared/map.utils.mjs +455 -0
  315. package/esm2022/lib/map/shared/mapOffline.directive.mjs +114 -0
  316. package/esm2022/lib/map/shared/projection.interfaces.mjs +2 -0
  317. package/esm2022/lib/map/shared/projection.service.mjs +67 -0
  318. package/esm2022/lib/map/shared/projection.utils.mjs +122 -0
  319. package/esm2022/lib/map/swipe-control/index.mjs +2 -0
  320. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +211 -0
  321. package/esm2022/lib/map/utils/index.mjs +2 -0
  322. package/esm2022/lib/map/utils/layer-watcher.mjs +112 -0
  323. package/esm2022/lib/map/wake-lock-button/index.mjs +2 -0
  324. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +103 -0
  325. package/esm2022/lib/map/zoom-button/index.mjs +2 -0
  326. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +35 -0
  327. package/esm2022/lib/measure/index.mjs +3 -0
  328. package/esm2022/lib/measure/measure.module.mjs +20 -0
  329. package/esm2022/lib/measure/measurer/index.mjs +6 -0
  330. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +40 -0
  331. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +38 -0
  332. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +143 -0
  333. package/esm2022/lib/measure/measurer/measurer.component.mjs +948 -0
  334. package/esm2022/lib/measure/measurer/measurer.module.mjs +20 -0
  335. package/esm2022/lib/measure/shared/index.mjs +4 -0
  336. package/esm2022/lib/measure/shared/measure.enum.mjs +37 -0
  337. package/esm2022/lib/measure/shared/measure.interfaces.mjs +2 -0
  338. package/esm2022/lib/measure/shared/measure.utils.mjs +497 -0
  339. package/esm2022/lib/metadata/index.mjs +4 -0
  340. package/esm2022/lib/metadata/metadata-button/index.mjs +2 -0
  341. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +96 -0
  342. package/esm2022/lib/metadata/metadata.module.mjs +29 -0
  343. package/esm2022/lib/metadata/shared/index.mjs +3 -0
  344. package/esm2022/lib/metadata/shared/metadata.interface.mjs +2 -0
  345. package/esm2022/lib/metadata/shared/metadata.service.mjs +18 -0
  346. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +130 -0
  347. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +6 -0
  348. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +2 -0
  349. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +172 -0
  350. package/esm2022/lib/offline/geoDB/index.mjs +5 -0
  351. package/esm2022/lib/offline/index.mjs +6 -0
  352. package/esm2022/lib/offline/layerDB/index.mjs +3 -0
  353. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +2 -0
  354. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +83 -0
  355. package/esm2022/lib/offline/offline.interface.mjs +2 -0
  356. package/esm2022/lib/offline/offline.provider.mjs +50 -0
  357. package/esm2022/lib/offline/shared/geo-network.service.mjs +79 -0
  358. package/esm2022/lib/offline/shared/index.mjs +2 -0
  359. package/esm2022/lib/overlay/index.mjs +2 -0
  360. package/esm2022/lib/overlay/shared/index.mjs +4 -0
  361. package/esm2022/lib/overlay/shared/overlay.enum.mjs +8 -0
  362. package/esm2022/lib/overlay/shared/overlay.mjs +139 -0
  363. package/esm2022/lib/overlay/shared/overlay.utils.mjs +17 -0
  364. package/esm2022/lib/print/index.mjs +4 -0
  365. package/esm2022/lib/print/print/print.component.mjs +116 -0
  366. package/esm2022/lib/print/print-form/index.mjs +2 -0
  367. package/esm2022/lib/print/print-form/print-form.component.mjs +320 -0
  368. package/esm2022/lib/print/print.module.mjs +20 -0
  369. package/esm2022/lib/print/shared/geopdf.mjs +68 -0
  370. package/esm2022/lib/print/shared/index.mjs +5 -0
  371. package/esm2022/lib/print/shared/print.interface.mjs +2 -0
  372. package/esm2022/lib/print/shared/print.service.mjs +1136 -0
  373. package/esm2022/lib/print/shared/print.type.mjs +30 -0
  374. package/esm2022/lib/query/index.mjs +2 -0
  375. package/esm2022/lib/query/query.module.mjs +27 -0
  376. package/esm2022/lib/query/shared/index.mjs +8 -0
  377. package/esm2022/lib/query/shared/query-search-source.mjs +35 -0
  378. package/esm2022/lib/query/shared/query-search-source.providers.mjs +22 -0
  379. package/esm2022/lib/query/shared/query.directive.mjs +290 -0
  380. package/esm2022/lib/query/shared/query.enums.mjs +32 -0
  381. package/esm2022/lib/query/shared/query.interfaces.mjs +2 -0
  382. package/esm2022/lib/query/shared/query.service.mjs +753 -0
  383. package/esm2022/lib/query/shared/query.utils.mjs +45 -0
  384. package/esm2022/lib/search/index.mjs +10 -0
  385. package/esm2022/lib/search/search-bar/search-bar.component.mjs +483 -0
  386. package/esm2022/lib/search/search-bar/search-bar.module.mjs +19 -0
  387. package/esm2022/lib/search/search-results/index.mjs +5 -0
  388. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +101 -0
  389. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +433 -0
  390. package/esm2022/lib/search/search-results/search-results-item.component.mjs +119 -0
  391. package/esm2022/lib/search/search-results/search-results.component.mjs +297 -0
  392. package/esm2022/lib/search/search-results/search-results.directive.mjs +7 -0
  393. package/esm2022/lib/search/search-results/search-results.module.mjs +20 -0
  394. package/esm2022/lib/search/search-selector/search-selector.component.mjs +118 -0
  395. package/esm2022/lib/search/search-selector/search-selector.module.mjs +19 -0
  396. package/esm2022/lib/search/search-settings/search-settings.component.mjs +264 -0
  397. package/esm2022/lib/search/search-settings/search-settings.module.mjs +19 -0
  398. package/esm2022/lib/search/search.module.mjs +77 -0
  399. package/esm2022/lib/search/shared/index.mjs +10 -0
  400. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +328 -0
  401. package/esm2022/lib/search/shared/search-source-service.providers.mjs +20 -0
  402. package/esm2022/lib/search/shared/search-source.service.mjs +56 -0
  403. package/esm2022/lib/search/shared/search.enums.mjs +4 -0
  404. package/esm2022/lib/search/shared/search.interfaces.mjs +2 -0
  405. package/esm2022/lib/search/shared/search.provider.mjs +20 -0
  406. package/esm2022/lib/search/shared/search.service.mjs +149 -0
  407. package/esm2022/lib/search/shared/search.utils.mjs +92 -0
  408. package/esm2022/lib/search/shared/sources/cadastre.mjs +142 -0
  409. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +32 -0
  410. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +2 -0
  411. package/esm2022/lib/search/shared/sources/coordinates.mjs +168 -0
  412. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +52 -0
  413. package/esm2022/lib/search/shared/sources/icherche-icons.mjs +32 -0
  414. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +2 -0
  415. package/esm2022/lib/search/shared/sources/icherche.mjs +816 -0
  416. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +87 -0
  417. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +2 -0
  418. package/esm2022/lib/search/shared/sources/ilayer.mjs +339 -0
  419. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +58 -0
  420. package/esm2022/lib/search/shared/sources/index.mjs +23 -0
  421. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +2 -0
  422. package/esm2022/lib/search/shared/sources/nominatim.mjs +263 -0
  423. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +31 -0
  424. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +13 -0
  425. package/esm2022/lib/search/shared/sources/source.mjs +221 -0
  426. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +2 -0
  427. package/esm2022/lib/search/shared/sources/storedqueries.mjs +454 -0
  428. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +56 -0
  429. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
  430. package/esm2022/lib/search/shared/sources/workspace.mjs +192 -0
  431. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +31 -0
  432. package/esm2022/lib/style/index.mjs +5 -0
  433. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +360 -0
  434. package/esm2022/lib/style/shared/datasource/index.mjs +2 -0
  435. package/esm2022/lib/style/shared/feature/feature-style.mjs +162 -0
  436. package/esm2022/lib/style/shared/feature/index.mjs +2 -0
  437. package/esm2022/lib/style/shared/font.enum.mjs +17 -0
  438. package/esm2022/lib/style/shared/index.mjs +5 -0
  439. package/esm2022/lib/style/shared/overlay/index.mjs +3 -0
  440. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +39 -0
  441. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
  442. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +78 -0
  443. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +27 -0
  444. package/esm2022/lib/style/shared/vector/index.mjs +4 -0
  445. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +2 -0
  446. package/esm2022/lib/style/style-list/index.mjs +5 -0
  447. package/esm2022/lib/style/style-list/style-list.interface.mjs +2 -0
  448. package/esm2022/lib/style/style-list/style-list.module.mjs +23 -0
  449. package/esm2022/lib/style/style-list/style-list.provider.mjs +21 -0
  450. package/esm2022/lib/style/style-list/style-list.service.mjs +52 -0
  451. package/esm2022/lib/style/style-modal/drawing/index.mjs +2 -0
  452. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +193 -0
  453. package/esm2022/lib/style/style-modal/index.mjs +5 -0
  454. package/esm2022/lib/style/style-modal/layer/index.mjs +2 -0
  455. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +142 -0
  456. package/esm2022/lib/style/style-modal/layer-button/index.mjs +2 -0
  457. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +44 -0
  458. package/esm2022/lib/style/style-modal/shared/index.mjs +2 -0
  459. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
  460. package/esm2022/lib/style/style-service/draw-style.service.mjs +255 -0
  461. package/esm2022/lib/style/style-service/index.mjs +3 -0
  462. package/esm2022/lib/style/style-service/style.service.mjs +393 -0
  463. package/esm2022/lib/style/style.module.mjs +46 -0
  464. package/esm2022/lib/toast/index.mjs +2 -0
  465. package/esm2022/lib/toast/toast.component.mjs +99 -0
  466. package/esm2022/lib/toast/toast.module.mjs +24 -0
  467. package/esm2022/lib/utils/googleLinks.mjs +13 -0
  468. package/esm2022/lib/utils/id-generator.mjs +112 -0
  469. package/esm2022/lib/utils/index.mjs +5 -0
  470. package/esm2022/lib/utils/osmLinks.mjs +9 -0
  471. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +3 -0
  472. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +2 -0
  473. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +64 -0
  474. package/esm2022/lib/wkt/index.mjs +2 -0
  475. package/esm2022/lib/wkt/shared/index.mjs +2 -0
  476. package/esm2022/lib/wkt/shared/wkt.service.mjs +235 -0
  477. package/esm2022/lib/wkt/wkt.module.mjs +25 -0
  478. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +36 -0
  479. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +19 -0
  480. package/esm2022/lib/workspace/confirmation-popup/index.mjs +3 -0
  481. package/esm2022/lib/workspace/index.mjs +8 -0
  482. package/esm2022/lib/workspace/shared/edition-workspace.mjs +301 -0
  483. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +720 -0
  484. package/esm2022/lib/workspace/shared/feature-workspace.mjs +41 -0
  485. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +113 -0
  486. package/esm2022/lib/workspace/shared/index.mjs +8 -0
  487. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +41 -0
  488. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +121 -0
  489. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +248 -0
  490. package/esm2022/lib/workspace/shared/workspace.utils.mjs +188 -0
  491. package/esm2022/lib/workspace/widgets/index.mjs +4 -0
  492. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +48 -0
  493. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +19 -0
  494. package/esm2022/lib/workspace/widgets/widgets.mjs +15 -0
  495. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +172 -0
  496. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +19 -0
  497. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +137 -0
  498. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +19 -0
  499. package/esm2022/lib/workspace/workspace.module.mjs +32 -0
  500. package/esm2022/public_api.mjs +56 -0
  501. package/fesm2022/igo2-geo.mjs +717 -691
  502. package/fesm2022/igo2-geo.mjs.map +1 -1
  503. package/lib/datasource/shared/datasources/datasource.d.ts +2 -2
  504. package/lib/directions/shared/directions.service.d.ts +0 -1
  505. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  506. package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
  507. package/lib/style/style-list/style-list.provider.d.ts +8 -1
  508. package/lib/style/style-list/style-list.service.d.ts +1 -1
  509. package/package.json +16 -14
  510. package/src/lib/layer/layer-list/layer-list.theme.scss +1 -2
  511. package/src/lib/map/menu-button/menu-button.theming.scss +3 -3
  512. package/src/style/style.scss +1 -1
@@ -0,0 +1,87 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injector } from '@angular/core';
3
+ import { ConfigService } from '@igo2/core/config';
4
+ import { LanguageService } from '@igo2/core/language';
5
+ import { StorageService } from '@igo2/core/storage';
6
+ import { IChercheReverseSearchSource, IChercheSearchResultFormatter, IChercheSearchSource } from './icherche';
7
+ import { SearchSource } from './source';
8
+ import { SearchSourceKind } from './source.interfaces';
9
+ /**
10
+ * ICherche search result formatter factory
11
+ * @ignore
12
+ */
13
+ export function defaultIChercheSearchResultFormatterFactory(languageService) {
14
+ return new IChercheSearchResultFormatter(languageService);
15
+ }
16
+ /**
17
+ * Function that returns a provider for the ICherche search result formatter
18
+ */
19
+ export function provideDefaultIChercheSearchResultFormatter() {
20
+ return {
21
+ provide: IChercheSearchResultFormatter,
22
+ useFactory: defaultIChercheSearchResultFormatterFactory,
23
+ deps: [LanguageService]
24
+ };
25
+ }
26
+ /**
27
+ * ICherche search source factory
28
+ * @ignore
29
+ */
30
+ export function ichercheSearchSourceFactory(http, languageService, storageService, config, formatter, injector) {
31
+ return new IChercheSearchSource(http, languageService, storageService, config.getConfig(`searchSources.${IChercheSearchSource.id}`), formatter, injector);
32
+ }
33
+ /**
34
+ * Function that returns a provider for the ICherche search source
35
+ */
36
+ export function provideIChercheSearchSource() {
37
+ return {
38
+ provide: SearchSource,
39
+ useFactory: ichercheSearchSourceFactory,
40
+ multi: true,
41
+ deps: [
42
+ HttpClient,
43
+ LanguageService,
44
+ StorageService,
45
+ ConfigService,
46
+ IChercheSearchResultFormatter,
47
+ Injector
48
+ ]
49
+ };
50
+ }
51
+ export function withIChercheSource() {
52
+ return {
53
+ kind: SearchSourceKind.ICherche,
54
+ providers: [
55
+ provideIChercheSearchSource(),
56
+ provideDefaultIChercheSearchResultFormatter()
57
+ ]
58
+ };
59
+ }
60
+ /**
61
+ * IChercheReverse search source factory
62
+ * @ignore
63
+ */
64
+ export function ichercheReverseSearchSourceFactory(http, languageService, storageService, config, injector) {
65
+ return new IChercheReverseSearchSource(http, languageService, storageService, config.getConfig(`searchSources.${IChercheReverseSearchSource.id}`), injector);
66
+ }
67
+ /**
68
+ * Function that returns a provider for the IChercheReverse search source
69
+ */
70
+ export function provideIChercheReverseSearchSource() {
71
+ return {
72
+ provide: SearchSource,
73
+ useFactory: ichercheReverseSearchSourceFactory,
74
+ multi: true,
75
+ deps: [HttpClient, LanguageService, StorageService, ConfigService, Injector]
76
+ };
77
+ }
78
+ export function withIChercheReverseSource() {
79
+ return {
80
+ kind: SearchSourceKind.IChercheReverse,
81
+ providers: [
82
+ provideIChercheReverseSearchSource(),
83
+ provideDefaultIChercheSearchResultFormatter()
84
+ ]
85
+ };
86
+ }
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNoZXJjaGUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL2ljaGVyY2hlLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDckIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQXVCLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUU7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDJDQUEyQyxDQUN6RCxlQUFnQztJQUVoQyxPQUFPLElBQUksNkJBQTZCLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDJDQUEyQztJQUN6RCxPQUFPO1FBQ0wsT0FBTyxFQUFFLDZCQUE2QjtRQUN0QyxVQUFVLEVBQUUsMkNBQTJDO1FBQ3ZELElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQztLQUN4QixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsSUFBZ0IsRUFDaEIsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsTUFBcUIsRUFDckIsU0FBd0MsRUFDeEMsUUFBa0I7SUFFbEIsT0FBTyxJQUFJLG9CQUFvQixDQUM3QixJQUFJLEVBQ0osZUFBZSxFQUNmLGNBQWMsRUFDZCxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUM1RCxTQUFTLEVBQ1QsUUFBUSxDQUNULENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE9BQU87UUFDTCxPQUFPLEVBQUUsWUFBWTtRQUNyQixVQUFVLEVBQUUsMkJBQTJCO1FBQ3ZDLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFO1lBQ0osVUFBVTtZQUNWLGVBQWU7WUFDZixjQUFjO1lBQ2QsYUFBYTtZQUNiLDZCQUE2QjtZQUM3QixRQUFRO1NBQ1Q7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0I7SUFDaEMsT0FBTztRQUNMLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRO1FBQy9CLFNBQVMsRUFBRTtZQUNULDJCQUEyQixFQUFFO1lBQzdCLDJDQUEyQyxFQUFFO1NBQzlDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsa0NBQWtDLENBQ2hELElBQWdCLEVBQ2hCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLE1BQXFCLEVBQ3JCLFFBQWtCO0lBRWxCLE9BQU8sSUFBSSwyQkFBMkIsQ0FDcEMsSUFBSSxFQUNKLGVBQWUsRUFDZixjQUFjLEVBQ2QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsMkJBQTJCLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDbkUsUUFBUSxDQUNULENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0NBQWtDO0lBQ2hELE9BQU87UUFDTCxPQUFPLEVBQUUsWUFBWTtRQUNyQixVQUFVLEVBQUUsa0NBQWtDO1FBQzlDLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQztLQUM3RSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTztRQUNMLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxlQUFlO1FBQ3RDLFNBQVMsRUFBRTtZQUNULGtDQUFrQyxFQUFFO1lBQ3BDLDJDQUEyQyxFQUFFO1NBQzlDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0b3IsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcblxuaW1wb3J0IHtcbiAgSUNoZXJjaGVSZXZlcnNlU2VhcmNoU291cmNlLFxuICBJQ2hlcmNoZVNlYXJjaFJlc3VsdEZvcm1hdHRlcixcbiAgSUNoZXJjaGVTZWFyY2hTb3VyY2Vcbn0gZnJvbSAnLi9pY2hlcmNoZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VGZWF0dXJlLCBTZWFyY2hTb3VyY2VLaW5kIH0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSUNoZXJjaGUgc2VhcmNoIHJlc3VsdCBmb3JtYXR0ZXIgZmFjdG9yeVxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdElDaGVyY2hlU2VhcmNoUmVzdWx0Rm9ybWF0dGVyRmFjdG9yeShcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2Vcbikge1xuICByZXR1cm4gbmV3IElDaGVyY2hlU2VhcmNoUmVzdWx0Rm9ybWF0dGVyKGxhbmd1YWdlU2VydmljZSk7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvdmlkZXIgZm9yIHRoZSBJQ2hlcmNoZSBzZWFyY2ggcmVzdWx0IGZvcm1hdHRlclxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURlZmF1bHRJQ2hlcmNoZVNlYXJjaFJlc3VsdEZvcm1hdHRlcigpOiBQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogSUNoZXJjaGVTZWFyY2hSZXN1bHRGb3JtYXR0ZXIsXG4gICAgdXNlRmFjdG9yeTogZGVmYXVsdElDaGVyY2hlU2VhcmNoUmVzdWx0Rm9ybWF0dGVyRmFjdG9yeSxcbiAgICBkZXBzOiBbTGFuZ3VhZ2VTZXJ2aWNlXVxuICB9O1xufVxuXG4vKipcbiAqIElDaGVyY2hlIHNlYXJjaCBzb3VyY2UgZmFjdG9yeVxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaWNoZXJjaGVTZWFyY2hTb3VyY2VGYWN0b3J5KFxuICBodHRwOiBIdHRwQ2xpZW50LFxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2UsXG4gIGZvcm1hdHRlcjogSUNoZXJjaGVTZWFyY2hSZXN1bHRGb3JtYXR0ZXIsXG4gIGluamVjdG9yOiBJbmplY3RvclxuKSB7XG4gIHJldHVybiBuZXcgSUNoZXJjaGVTZWFyY2hTb3VyY2UoXG4gICAgaHR0cCxcbiAgICBsYW5ndWFnZVNlcnZpY2UsXG4gICAgc3RvcmFnZVNlcnZpY2UsXG4gICAgY29uZmlnLmdldENvbmZpZyhgc2VhcmNoU291cmNlcy4ke0lDaGVyY2hlU2VhcmNoU291cmNlLmlkfWApLFxuICAgIGZvcm1hdHRlcixcbiAgICBpbmplY3RvclxuICApO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgSUNoZXJjaGUgc2VhcmNoIHNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUlDaGVyY2hlU2VhcmNoU291cmNlKCk6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBTZWFyY2hTb3VyY2UsXG4gICAgdXNlRmFjdG9yeTogaWNoZXJjaGVTZWFyY2hTb3VyY2VGYWN0b3J5LFxuICAgIG11bHRpOiB0cnVlLFxuICAgIGRlcHM6IFtcbiAgICAgIEh0dHBDbGllbnQsXG4gICAgICBMYW5ndWFnZVNlcnZpY2UsXG4gICAgICBTdG9yYWdlU2VydmljZSxcbiAgICAgIENvbmZpZ1NlcnZpY2UsXG4gICAgICBJQ2hlcmNoZVNlYXJjaFJlc3VsdEZvcm1hdHRlcixcbiAgICAgIEluamVjdG9yXG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aElDaGVyY2hlU291cmNlKCk6IFNlYXJjaFNvdXJjZUZlYXR1cmU8U2VhcmNoU291cmNlS2luZC5JQ2hlcmNoZT4ge1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IFNlYXJjaFNvdXJjZUtpbmQuSUNoZXJjaGUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICBwcm92aWRlSUNoZXJjaGVTZWFyY2hTb3VyY2UoKSxcbiAgICAgIHByb3ZpZGVEZWZhdWx0SUNoZXJjaGVTZWFyY2hSZXN1bHRGb3JtYXR0ZXIoKVxuICAgIF1cbiAgfTtcbn1cblxuLyoqXG4gKiBJQ2hlcmNoZVJldmVyc2Ugc2VhcmNoIHNvdXJjZSBmYWN0b3J5XG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpY2hlcmNoZVJldmVyc2VTZWFyY2hTb3VyY2VGYWN0b3J5KFxuICBodHRwOiBIdHRwQ2xpZW50LFxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2UsXG4gIGluamVjdG9yOiBJbmplY3RvclxuKSB7XG4gIHJldHVybiBuZXcgSUNoZXJjaGVSZXZlcnNlU2VhcmNoU291cmNlKFxuICAgIGh0dHAsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHN0b3JhZ2VTZXJ2aWNlLFxuICAgIGNvbmZpZy5nZXRDb25maWcoYHNlYXJjaFNvdXJjZXMuJHtJQ2hlcmNoZVJldmVyc2VTZWFyY2hTb3VyY2UuaWR9YCksXG4gICAgaW5qZWN0b3JcbiAgKTtcbn1cblxuLyoqXG4gKiBGdW5jdGlvbiB0aGF0IHJldHVybnMgYSBwcm92aWRlciBmb3IgdGhlIElDaGVyY2hlUmV2ZXJzZSBzZWFyY2ggc291cmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlSUNoZXJjaGVSZXZlcnNlU2VhcmNoU291cmNlKCkge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IFNlYXJjaFNvdXJjZSxcbiAgICB1c2VGYWN0b3J5OiBpY2hlcmNoZVJldmVyc2VTZWFyY2hTb3VyY2VGYWN0b3J5LFxuICAgIG11bHRpOiB0cnVlLFxuICAgIGRlcHM6IFtIdHRwQ2xpZW50LCBMYW5ndWFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlLCBDb25maWdTZXJ2aWNlLCBJbmplY3Rvcl1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhJQ2hlcmNoZVJldmVyc2VTb3VyY2UoKTogU2VhcmNoU291cmNlRmVhdHVyZTxTZWFyY2hTb3VyY2VLaW5kLklDaGVyY2hlUmV2ZXJzZT4ge1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IFNlYXJjaFNvdXJjZUtpbmQuSUNoZXJjaGVSZXZlcnNlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgcHJvdmlkZUlDaGVyY2hlUmV2ZXJzZVNlYXJjaFNvdXJjZSgpLFxuICAgICAgcHJvdmlkZURlZmF1bHRJQ2hlcmNoZVNlYXJjaFJlc3VsdEZvcm1hdHRlcigpXG4gICAgXVxuICB9O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWxheWVyLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvaWxheWVyLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd21zLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEltYWdlTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9pbWFnZS1sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLy4uLy4uLy4uL3F1ZXJ5L3NoYXJlZC9xdWVyeS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3NvdXJjZS5pbnRlcmZhY2VzJztcblxuZXhwb3J0IGludGVyZmFjZSBJTGF5ZXJTZWFyY2hTb3VyY2VPcHRpb25zIGV4dGVuZHMgU2VhcmNoU291cmNlT3B0aW9ucyB7XG4gIHF1ZXJ5Rm9ybWF0PzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgeyB1cmxzOiBzdHJpbmdbXSB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGF5ZXJTZXJ2aWNlUmVzcG9uc2Uge1xuICBpdGVtczogSUxheWVyRGF0YVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMYXllckRhdGEge1xuICBzY29yZTogbnVtYmVyO1xuICBwcm9wZXJ0aWVzOiBJTGF5ZXJEYXRhU291cmNlO1xuICBoaWdobGlnaHQ6IElMYXllckRhdGFIaWdobGlnaHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxheWVyRGF0YVNvdXJjZSB7XG4gIGlkPzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBncm91cFRpdGxlOiBzdHJpbmc7XG4gIGFic3RyYWN0OiBzdHJpbmc7XG4gIGZvcm1hdD86ICd3bXMnIHwgJ3dmcyc7XG4gIHVybD86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgcXVlcnlhYmxlPzogYm9vbGVhbjtcbiAgbWV0YWRhdGFVcmw/OiBzdHJpbmc7XG4gIG1heFNjYWxlRGVub20/OiBzdHJpbmc7XG4gIG1pblNjYWxlRGVub20/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxheWVyRGF0YUhpZ2hsaWdodCB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBncm91cFRpdGxlPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUXVlcnlXTVNEYXRhU291cmNlT3B0aW9uc1xuICBleHRlbmRzIFdNU0RhdGFTb3VyY2VPcHRpb25zLFxuICAgIE9taXQ8UXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMsICd1cmwnPiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIElMYXllckl0ZW1SZXNwb25zZSBleHRlbmRzIEltYWdlTGF5ZXJPcHRpb25zIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc291cmNlT3B0aW9uczogUXVlcnlXTVNEYXRhU291cmNlT3B0aW9ucztcbiAgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cbiJdfQ==
@@ -0,0 +1,339 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { HttpClient, HttpParams } from '@angular/common/http';
3
+ import { Inject, Injectable } from '@angular/core';
4
+ import { LanguageService } from '@igo2/core/language';
5
+ import { StorageService } from '@igo2/core/storage';
6
+ import { ObjectUtils, customCacheHasher } from '@igo2/utils';
7
+ import { BehaviorSubject, Observable, of } from 'rxjs';
8
+ import { map } from 'rxjs/operators';
9
+ import { Cacheable } from 'ts-cacheable';
10
+ import { LAYER } from '../../../layer/shared/layer.enums';
11
+ import { getResolutionFromScale } from '../../../map/shared/map.utils';
12
+ import { computeTermSimilarity } from '../search.utils';
13
+ import { QueryFormat } from './../../../query/shared/query.enums';
14
+ import { SearchSource } from './source';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "@igo2/core/language";
17
+ import * as i2 from "@angular/common/http";
18
+ import * as i3 from "@igo2/core/storage";
19
+ export class ILayerSearchResultFormatter {
20
+ languageService;
21
+ constructor(languageService) {
22
+ this.languageService = languageService;
23
+ }
24
+ formatResult(data) {
25
+ const allowedKey = [
26
+ 'title',
27
+ 'abstract',
28
+ 'groupTitle',
29
+ 'metadataUrl',
30
+ 'downloadUrl',
31
+ 'urlInfo',
32
+ 'name'
33
+ ];
34
+ const property = Object.entries(data.properties)
35
+ .filter(([key]) => allowedKey.indexOf(key) !== -1)
36
+ .reduce((out, entries) => {
37
+ const [key, value] = entries;
38
+ let newKey;
39
+ try {
40
+ newKey = this.languageService.translate.instant('igo.geo.search.ilayer.properties.' + key);
41
+ }
42
+ catch {
43
+ newKey = key;
44
+ }
45
+ out[newKey] = value ? value : '';
46
+ return out;
47
+ }, {});
48
+ const dataR = Object.assign({}, data);
49
+ dataR.properties = property;
50
+ return dataR;
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ILayerSearchResultFormatter, deps: [{ token: i1.LanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
53
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ILayerSearchResultFormatter });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ILayerSearchResultFormatter, decorators: [{
56
+ type: Injectable
57
+ }], ctorParameters: () => [{ type: i1.LanguageService }] });
58
+ /**
59
+ * ILayer search source
60
+ */
61
+ export class ILayerSearchSource extends SearchSource {
62
+ http;
63
+ languageService;
64
+ formatter;
65
+ static id = 'ilayer';
66
+ static type = LAYER;
67
+ title$ = new BehaviorSubject('');
68
+ get title() {
69
+ return this.title$.getValue();
70
+ }
71
+ constructor(http, languageService, storageService, options, formatter) {
72
+ super(options, storageService);
73
+ this.http = http;
74
+ this.languageService = languageService;
75
+ this.formatter = formatter;
76
+ this.languageService.language$.subscribe(() => {
77
+ this.title$.next(this.languageService.translate.instant(this.options.title));
78
+ });
79
+ }
80
+ getId() {
81
+ return ILayerSearchSource.id;
82
+ }
83
+ getType() {
84
+ return ILayerSearchSource.type;
85
+ }
86
+ getDefaultOptions() {
87
+ const limit = this.options.params && this.options.params.limit
88
+ ? Number(this.options.params.limit)
89
+ : undefined;
90
+ const ecmax = this.options.params && this.options.params.ecmax
91
+ ? Number(this.options.params.ecmax)
92
+ : undefined;
93
+ const showAdvancedParams = this.options.showAdvancedSettings;
94
+ return {
95
+ title: 'igo.geo.search.ilayer.name',
96
+ searchUrl: 'https://geoegl.msp.gouv.qc.ca/apis/layers/search',
97
+ settings: [
98
+ {
99
+ type: 'checkbox',
100
+ title: 'results type',
101
+ name: 'type',
102
+ values: [
103
+ {
104
+ title: 'igo.geo.search.ilayer.type.layer',
105
+ value: 'layer',
106
+ enabled: true,
107
+ hashtags: ['layer', 'layers', 'couche', 'couches']
108
+ },
109
+ {
110
+ title: 'igo.geo.search.ilayer.type.groupLayer',
111
+ value: 'group',
112
+ enabled: false,
113
+ hashtags: ['gr-layer', 'gr-layers', 'gr-couche', 'gr-couches']
114
+ }
115
+ ]
116
+ },
117
+ {
118
+ type: 'radiobutton',
119
+ title: 'results limit',
120
+ name: 'limit',
121
+ values: [
122
+ {
123
+ title: '1',
124
+ value: 1,
125
+ enabled: limit === 1
126
+ },
127
+ {
128
+ title: '5',
129
+ value: 5,
130
+ enabled: limit === 5 || !limit
131
+ },
132
+ {
133
+ title: '10',
134
+ value: 10,
135
+ enabled: limit === 10
136
+ },
137
+ {
138
+ title: '25',
139
+ value: 25,
140
+ enabled: limit === 25
141
+ },
142
+ {
143
+ title: '50',
144
+ value: 50,
145
+ enabled: limit === 50
146
+ }
147
+ ]
148
+ },
149
+ showAdvancedParams &&
150
+ {
151
+ type: 'radiobutton',
152
+ title: 'ecmax',
153
+ name: 'ecmax',
154
+ values: [
155
+ {
156
+ title: '10 %',
157
+ value: 10,
158
+ enabled: ecmax === 10
159
+ },
160
+ {
161
+ title: '30 %',
162
+ value: 30,
163
+ enabled: ecmax === 30
164
+ },
165
+ {
166
+ title: '50 %',
167
+ value: 50,
168
+ enabled: ecmax === 50 || !ecmax
169
+ },
170
+ {
171
+ title: '75 %',
172
+ value: 75,
173
+ enabled: ecmax === 75
174
+ },
175
+ {
176
+ title: '100 %',
177
+ value: 100,
178
+ enabled: ecmax === 100
179
+ }
180
+ ]
181
+ }
182
+ ].filter(Boolean)
183
+ };
184
+ }
185
+ /**
186
+ * Search a layer by name or keyword
187
+ * @param term Layer name or keyword
188
+ * @returns Observable of <SearchResult<LayerOptions>[]
189
+ */
190
+ search(term, options) {
191
+ const params = this.computeSearchRequestParams(term, options || {});
192
+ if (!params.get('q') || !params.get('type')) {
193
+ return of([]);
194
+ }
195
+ this.options.params.page = params.get('page') || '1';
196
+ return this.getSearch(term, params);
197
+ }
198
+ getSearch(term, params) {
199
+ return this.http
200
+ .get(this.searchUrl, { params })
201
+ .pipe(map((response) => this.extractResults(response, term)));
202
+ }
203
+ computeSearchRequestParams(term, options) {
204
+ return new HttpParams({
205
+ fromObject: ObjectUtils.removeUndefined(Object.assign({
206
+ q: this.computeTerm(term)
207
+ }, this.params, this.computeOptionsParam(term, options || {}).params, {
208
+ page: options.page
209
+ }))
210
+ });
211
+ }
212
+ /**
213
+ * Remove hashtag from query
214
+ * @param term Query with hashtag
215
+ */
216
+ computeTerm(term) {
217
+ return term.replace(/(#[^\s]*)/g, '').replace(/[^\wÀ-ÿ !\-\(\),'#]+/g, '');
218
+ }
219
+ /**
220
+ * Add hashtag to param if valid
221
+ * @param term Query with hashtag
222
+ * @param options TextSearchOptions
223
+ */
224
+ computeOptionsParam(term, options) {
225
+ const hashtags = super.getHashtagsValid(term, 'type');
226
+ if (hashtags) {
227
+ options.params = Object.assign(options.params || {}, {
228
+ type: hashtags.join(',')
229
+ });
230
+ }
231
+ return options;
232
+ }
233
+ extractResults(response, term) {
234
+ return response.items.map((data) => this.dataToResult(data, term, response));
235
+ }
236
+ dataToResult(data, term, response) {
237
+ const layerOptions = this.computeLayerOptions(data);
238
+ const titleHtml = data.highlight.title || data.properties.title;
239
+ const groupTitle = data.highlight.groupTitle || data.properties.groupTitle;
240
+ const subtitleHtml = groupTitle
241
+ ? ' <small style="color: #6f6969"> ' + groupTitle + '</small>'
242
+ : '';
243
+ return {
244
+ source: this,
245
+ meta: {
246
+ dataType: LAYER,
247
+ id: [this.getId(), data.properties.id].join('.'),
248
+ title: data.properties.title,
249
+ titleHtml: titleHtml + subtitleHtml,
250
+ icon: data.properties.type === 'Layer' ? 'layers' : 'map',
251
+ score: data.score ||
252
+ computeTermSimilarity(term.trim(), data.properties.name),
253
+ nextPage: response.items.length % +this.options.params.limit === 0 &&
254
+ +this.options.params.page < 10
255
+ },
256
+ data: layerOptions
257
+ };
258
+ }
259
+ computeLayerOptions(data) {
260
+ const url = data.properties.url;
261
+ const queryParams = this.extractQueryParamsFromSourceUrl(url);
262
+ return ObjectUtils.removeUndefined({
263
+ sourceOptions: {
264
+ id: data.properties.id,
265
+ type: data.properties.format,
266
+ url,
267
+ queryFormat: queryParams.queryFormat,
268
+ queryHtmlTarget: queryParams.queryHtmlTarget,
269
+ params: data.properties.format === 'wms'
270
+ ? { LAYERS: data.properties.name }
271
+ : undefined,
272
+ layer: data.properties.format === 'wms' ? undefined : data.properties.name,
273
+ optionsFromCapabilities: true,
274
+ crossOrigin: 'anonymous'
275
+ },
276
+ title: data.properties.title,
277
+ maxResolution: getResolutionFromScale(Number(data.properties.maxScaleDenom)),
278
+ minResolution: getResolutionFromScale(Number(data.properties.minScaleDenom)),
279
+ metadata: {
280
+ url: data.properties.metadataUrl,
281
+ extern: data.properties.metadataUrl ? true : undefined,
282
+ abstract: data.properties.abstract || undefined
283
+ },
284
+ properties: this.formatter.formatResult(data).properties
285
+ });
286
+ }
287
+ extractQueryParamsFromSourceUrl(url) {
288
+ let queryFormat;
289
+ let queryHtmlTarget;
290
+ const formatOpt = this.options.queryFormat;
291
+ if (formatOpt) {
292
+ for (const key of Object.keys(formatOpt)) {
293
+ const value = formatOpt[key];
294
+ if (value === '*') {
295
+ queryFormat = QueryFormat[key.toUpperCase()];
296
+ break;
297
+ }
298
+ const urls = value.urls;
299
+ if (Array.isArray(urls)) {
300
+ urls.forEach((urlOpt) => {
301
+ if (url.indexOf(urlOpt) !== -1) {
302
+ queryFormat = QueryFormat[key.toUpperCase()];
303
+ }
304
+ });
305
+ break;
306
+ }
307
+ }
308
+ if (queryFormat === QueryFormat.HTML ||
309
+ queryFormat === QueryFormat.HTMLGML2) {
310
+ queryHtmlTarget = 'iframe';
311
+ }
312
+ }
313
+ return {
314
+ queryFormat,
315
+ queryHtmlTarget
316
+ };
317
+ }
318
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ILayerSearchSource, deps: [{ token: i2.HttpClient }, { token: i1.LanguageService }, { token: i3.StorageService }, { token: 'options' }, { token: ILayerSearchResultFormatter }], target: i0.ɵɵFactoryTarget.Injectable });
319
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ILayerSearchSource });
320
+ }
321
+ __decorate([
322
+ Cacheable({
323
+ maxCacheCount: 20,
324
+ cacheHasher: customCacheHasher
325
+ }),
326
+ __metadata("design:type", Function),
327
+ __metadata("design:paramtypes", [String, HttpParams]),
328
+ __metadata("design:returntype", Observable)
329
+ ], ILayerSearchSource.prototype, "getSearch", null);
330
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ILayerSearchSource, decorators: [{
331
+ type: Injectable
332
+ }], ctorParameters: () => [{ type: i2.HttpClient }, { type: i1.LanguageService }, { type: i3.StorageService }, { type: undefined, decorators: [{
333
+ type: Inject,
334
+ args: ['options']
335
+ }] }, { type: ILayerSearchResultFormatter, decorators: [{
336
+ type: Inject,
337
+ args: [ILayerSearchResultFormatter]
338
+ }] }], propDecorators: { getSearch: [] } });
339
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL2lsYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUd2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsV0FBVyxFQUVaLE1BQU0scUNBQXFDLENBQUM7QUFRN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFJeEMsTUFBTSxPQUFPLDJCQUEyQjtJQUNsQjtJQUFwQixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFBRyxDQUFDO0lBRXhELFlBQVksQ0FBQyxJQUFnQjtRQUMzQixNQUFNLFVBQVUsR0FBRztZQUNq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QUMsUUFBUSxFQUNwQyxDQUFDO2dCQUNELGVBQWUsR0FBRyxRQUFRLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPO1lBQ0wsV0FBVztZQUNYLGVBQWU7U0FDaEIsQ0FBQztJQUNKLENBQUM7d0dBOVVVLGtCQUFrQix5R0FjbkIsU0FBUyxhQUNULDJCQUEyQjs0R0FmMUIsa0JBQWtCOztBQStKckI7SUFKUCxTQUFTLENBQUM7UUFDVCxhQUFhLEVBQUUsRUFBRTtRQUNqQixXQUFXLEVBQUUsaUJBQWlCO0tBQy9CLENBQUM7OzZDQUdRLFVBQVU7b0NBQ2pCLFVBQVU7bURBUVo7NEZBMUtVLGtCQUFrQjtrQkFEOUIsVUFBVTs7MEJBZU4sTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsTUFBTTsyQkFBQywyQkFBMkI7eUNBZ0o3QixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcbmltcG9ydCB7IE9iamVjdFV0aWxzLCBjdXN0b21DYWNoZUhhc2hlciB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FjaGVhYmxlIH0gZnJvbSAndHMtY2FjaGVhYmxlJztcblxuaW1wb3J0IHsgTEFZRVIgfSBmcm9tICcuLi8uLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuZW51bXMnO1xuaW1wb3J0IHsgZ2V0UmVzb2x1dGlvbkZyb21TY2FsZSB9IGZyb20gJy4uLy4uLy4uL21hcC9zaGFyZWQvbWFwLnV0aWxzJztcbmltcG9ydCB7IFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vcXVlcnkvc2hhcmVkL3F1ZXJ5LmludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0LCBUZXh0U2VhcmNoIH0gZnJvbSAnLi4vc2VhcmNoLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgY29tcHV0ZVRlcm1TaW1pbGFyaXR5IH0gZnJvbSAnLi4vc2VhcmNoLnV0aWxzJztcbmltcG9ydCB7XG4gIFF1ZXJ5Rm9ybWF0LFxuICBRdWVyeUh0bWxUYXJnZXRcbn0gZnJvbSAnLi8uLi8uLi8uLi9xdWVyeS9zaGFyZWQvcXVlcnkuZW51bXMnO1xuaW1wb3J0IHtcbiAgSUxheWVyRGF0YSxcbiAgSUxheWVyRGF0YVNvdXJjZSxcbiAgSUxheWVySXRlbVJlc3BvbnNlLFxuICBJTGF5ZXJTZWFyY2hTb3VyY2VPcHRpb25zLFxuICBJTGF5ZXJTZXJ2aWNlUmVzcG9uc2Vcbn0gZnJvbSAnLi9pbGF5ZXIuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXR0aW5ncywgVGV4dFNlYXJjaE9wdGlvbnMgfSBmcm9tICcuL3NvdXJjZS5pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElMYXllclNlYXJjaFJlc3VsdEZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHt9XG5cbiAgZm9ybWF0UmVzdWx0KGRhdGE6IElMYXllckRhdGEpOiBJTGF5ZXJEYXRhIHtcbiAgICBjb25zdCBhbGxvd2VkS2V5ID0gW1xuICAgICAgJ3RpdGxlJyxcbiAgICAgICdhYnN0cmFjdCcsXG4gICAgICAnZ3JvdXBUaXRsZScsXG4gICAgICAnbWV0YWRhdGFVcmwnLFxuICAgICAgJ2Rvd25sb2FkVXJsJyxcbiAgICAgICd1cmxJbmZvJyxcbiAgICAgICduYW1lJ1xuICAgIF07XG5cbiAgICBjb25zdCBwcm9wZXJ0eSA9IE9iamVjdC5lbnRyaWVzKGRhdGEucHJvcGVydGllcylcbiAgICAgIC5maWx0ZXIoKFtrZXldKSA9PiBhbGxvd2VkS2V5LmluZGV4T2Yoa2V5KSAhPT0gLTEpXG4gICAgICAucmVkdWNlKChvdXQ6IFJlY29yZDxzdHJpbmcsIGFueT4sIGVudHJpZXM6IFtzdHJpbmcsIGFueV0pID0+IHtcbiAgICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gZW50cmllcztcbiAgICAgICAgbGV0IG5ld0tleTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBuZXdLZXkgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdpZ28uZ2VvLnNlYXJjaC5pbGF5ZXIucHJvcGVydGllcy4nICsga2V5XG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgbmV3S2V5ID0ga2V5O1xuICAgICAgICB9XG4gICAgICAgIG91dFtuZXdLZXldID0gdmFsdWUgPyB2YWx1ZSA6ICcnO1xuICAgICAgICByZXR1cm4gb3V0O1xuICAgICAgfSwge30pO1xuXG4gICAgY29uc3QgZGF0YVIgPSBPYmplY3QuYXNzaWduKHt9LCBkYXRhKTtcbiAgICBkYXRhUi5wcm9wZXJ0aWVzID0gcHJvcGVydHkgYXMgSUxheWVyRGF0YVNvdXJjZTtcblxuICAgIHJldHVybiBkYXRhUjtcbiAgfVxufVxuXG4vKipcbiAqIElMYXllciBzZWFyY2ggc291cmNlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJTGF5ZXJTZWFyY2hTb3VyY2UgZXh0ZW5kcyBTZWFyY2hTb3VyY2UgaW1wbGVtZW50cyBUZXh0U2VhcmNoIHtcbiAgc3RhdGljIGlkID0gJ2lsYXllcic7XG4gIHN0YXRpYyB0eXBlID0gTEFZRVI7XG5cbiAgdGl0bGUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUkLmdldFZhbHVlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgQEluamVjdCgnb3B0aW9ucycpIG9wdGlvbnM6IElMYXllclNlYXJjaFNvdXJjZU9wdGlvbnMsXG4gICAgQEluamVjdChJTGF5ZXJTZWFyY2hSZXN1bHRGb3JtYXR0ZXIpXG4gICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IElMYXllclNlYXJjaFJlc3VsdEZvcm1hdHRlclxuICApIHtcbiAgICBzdXBlcihvcHRpb25zLCBzdG9yYWdlU2VydmljZSk7XG4gICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UubGFuZ3VhZ2UkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnRpdGxlJC5uZXh0KFxuICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh0aGlzLm9wdGlvbnMudGl0bGUpXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSUxheWVyU2VhcmNoU291cmNlLmlkO1xuICB9XG5cbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBJTGF5ZXJTZWFyY2hTb3VyY2UudHlwZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBJTGF5ZXJTZWFyY2hTb3VyY2VPcHRpb25zIHtcbiAgICBjb25zdCBsaW1pdCA9XG4gICAgICB0aGlzLm9wdGlvbnMucGFyYW1zICYmIHRoaXMub3B0aW9ucy5wYXJhbXMubGltaXRcbiAgICAgICAgPyBOdW1iZXIodGhpcy5vcHRpb25zLnBhcmFtcy5saW1pdClcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZWNtYXggPVxuICAgICAgdGhpcy5vcHRpb25zLnBhcmFtcyAmJiB0aGlzLm9wdGlvbnMucGFyYW1zLmVjbWF4XG4gICAgICAgID8gTnVtYmVyKHRoaXMub3B0aW9ucy5wYXJhbXMuZWNtYXgpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3Qgc2hvd0FkdmFuY2VkUGFyYW1zID0gdGhpcy5vcHRpb25zLnNob3dBZHZhbmNlZFNldHRpbmdzO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2guaWxheWVyLm5hbWUnLFxuICAgICAgc2VhcmNoVXJsOiAnaHR0cHM6Ly9nZW9lZ2wubXNwLmdvdXYucWMuY2EvYXBpcy9sYXllcnMvc2VhcmNoJyxcbiAgICAgIHNldHRpbmdzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIHRpdGxlOiAncmVzdWx0cyB0eXBlJyxcbiAgICAgICAgICBuYW1lOiAndHlwZScsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2guaWxheWVyLnR5cGUubGF5ZXInLFxuICAgICAgICAgICAgICB2YWx1ZTogJ2xheWVyJyxcbiAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgaGFzaHRhZ3M6IFsnbGF5ZXInLCAnbGF5ZXJzJywgJ2NvdWNoZScsICdjb3VjaGVzJ11cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2guaWxheWVyLnR5cGUuZ3JvdXBMYXllcicsXG4gICAgICAgICAgICAgIHZhbHVlOiAnZ3JvdXAnLFxuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgaGFzaHRhZ3M6IFsnZ3ItbGF5ZXInLCAnZ3ItbGF5ZXJzJywgJ2dyLWNvdWNoZScsICdnci1jb3VjaGVzJ11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH0gc2F0aXNmaWVzIFNlYXJjaFNvdXJjZVNldHRpbmdzLFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3JhZGlvYnV0dG9uJyxcbiAgICAgICAgICB0aXRsZTogJ3Jlc3VsdHMgbGltaXQnLFxuICAgICAgICAgIG5hbWU6ICdsaW1pdCcsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnMScsXG4gICAgICAgICAgICAgIHZhbHVlOiAxLFxuICAgICAgICAgICAgICBlbmFibGVkOiBsaW1pdCA9PT0gMVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICc1JyxcbiAgICAgICAgICAgICAgdmFsdWU6IDUsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGxpbWl0ID09PSA1IHx8ICFsaW1pdFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6ICcxMCcsXG4gICAgICAgICAgICAgIHZhbHVlOiAxMCxcbiAgICAgICAgICAgICAgZW5hYmxlZDogbGltaXQgPT09IDEwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJzI1JyxcbiAgICAgICAgICAgICAgdmFsdWU6IDI1LFxuICAgICAgICAgICAgICBlbmFibGVkOiBsaW1pdCA9PT0gMjVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnNTAnLFxuICAgICAgICAgICAgICB2YWx1ZTogNTAsXG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGxpbWl0ID09PSA1MFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSBzYXRpc2ZpZXMgU2VhcmNoU291cmNlU2V0dGluZ3MsXG4gICAgICAgIHNob3dBZHZhbmNlZFBhcmFtcyAmJlxuICAgICAgICAgICh7XG4gICAgICAgICAgICB0eXBlOiAncmFkaW9idXR0b24nLFxuICAgICAgICAgICAgdGl0bGU6ICdlY21heCcsXG4gICAgICAgICAgICBuYW1lOiAnZWNtYXgnLFxuICAgICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJzEwICUnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAxMCxcbiAgICAgICAgICAgICAgICBlbmFibGVkOiBlY21heCA9PT0gMTBcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnMzAgJScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IDMwLFxuICAgICAgICAgICAgICAgIGVuYWJsZWQ6IGVjbWF4ID09PSAzMFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICc1MCAlJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogNTAsXG4gICAgICAgICAgICAgICAgZW5hYmxlZDogZWNtYXggPT09IDUwIHx8ICFlY21heFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICc3NSAlJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogNzUsXG4gICAgICAgICAgICAgICAgZW5hYmxlZDogZWNtYXggPT09IDc1XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJzEwMCAlJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwLFxuICAgICAgICAgICAgICAgIGVuYWJsZWQ6IGVjbWF4ID09PSAxMDBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0gc2F0aXNmaWVzIFNlYXJjaFNvdXJjZVNldHRpbmdzKVxuICAgICAgXS5maWx0ZXIoQm9vbGVhbilcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBhIGxheWVyIGJ5IG5hbWUgb3Iga2V5d29yZFxuICAgKiBAcGFyYW0gdGVybSBMYXllciBuYW1lIG9yIGtleXdvcmRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiA8U2VhcmNoUmVzdWx0PExheWVyT3B0aW9ucz5bXVxuICAgKi9cbiAgc2VhcmNoKFxuICAgIHRlcm06IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcHRpb25zPzogVGV4dFNlYXJjaE9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ8SUxheWVySXRlbVJlc3BvbnNlPltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5jb21wdXRlU2VhcmNoUmVxdWVzdFBhcmFtcyh0ZXJtLCBvcHRpb25zIHx8IHt9KTtcbiAgICBpZiAoIXBhcmFtcy5nZXQoJ3EnKSB8fCAhcGFyYW1zLmdldCgndHlwZScpKSB7XG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMucGFyYW1zLnBhZ2UgPSBwYXJhbXMuZ2V0KCdwYWdlJykgfHwgJzEnO1xuICAgIHJldHVybiB0aGlzLmdldFNlYXJjaCh0ZXJtLCBwYXJhbXMpO1xuICB9XG5cbiAgQENhY2hlYWJsZSh7XG4gICAgbWF4Q2FjaGVDb3VudDogMjAsXG4gICAgY2FjaGVIYXNoZXI6IGN1c3RvbUNhY2hlSGFzaGVyXG4gIH0pXG4gIHByaXZhdGUgZ2V0U2VhcmNoKFxuICAgIHRlcm06IHN0cmluZyxcbiAgICBwYXJhbXM6IEh0dHBQYXJhbXNcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ8SUxheWVySXRlbVJlc3BvbnNlPltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh0aGlzLnNlYXJjaFVybCwgeyBwYXJhbXMgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBJTGF5ZXJTZXJ2aWNlUmVzcG9uc2UpID0+XG4gICAgICAgICAgdGhpcy5leHRyYWN0UmVzdWx0cyhyZXNwb25zZSwgdGVybSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZVNlYXJjaFJlcXVlc3RQYXJhbXMoXG4gICAgdGVybTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zXG4gICk6IEh0dHBQYXJhbXMge1xuICAgIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7XG4gICAgICBmcm9tT2JqZWN0OiBPYmplY3RVdGlscy5yZW1vdmVVbmRlZmluZWQoXG4gICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgcTogdGhpcy5jb21wdXRlVGVybSh0ZXJtKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGhpcy5wYXJhbXMsXG4gICAgICAgICAgdGhpcy5jb21wdXRlT3B0aW9uc1BhcmFtKHRlcm0sIG9wdGlvbnMgfHwge30pLnBhcmFtcyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYWdlOiBvcHRpb25zLnBhZ2VcbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaGFzaHRhZyBmcm9tIHF1ZXJ5XG4gICAqIEBwYXJhbSB0ZXJtIFF1ZXJ5IHdpdGggaGFzaHRhZ1xuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlVGVybSh0ZXJtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0ZXJtLnJlcGxhY2UoLygjW15cXHNdKikvZywgJycpLnJlcGxhY2UoL1teXFx3w4Atw78gIVxcLVxcKFxcKSwnI10rL2csICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgaGFzaHRhZyB0byBwYXJhbSBpZiB2YWxpZFxuICAgKiBAcGFyYW0gdGVybSBRdWVyeSB3aXRoIGhhc2h0YWdcbiAgICogQHBhcmFtIG9wdGlvbnMgVGV4dFNlYXJjaE9wdGlvbnNcbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZU9wdGlvbnNQYXJhbShcbiAgICB0ZXJtOiBzdHJpbmcsXG4gICAgb3B0aW9uczogVGV4dFNlYXJjaE9wdGlvbnNcbiAgKTogVGV4dFNlYXJjaE9wdGlvbnMge1xuICAgIGNvbnN0IGhhc2h0YWdzID0gc3VwZXIuZ2V0SGFzaHRhZ3NWYWxpZCh0ZXJtLCAndHlwZScpO1xuICAgIGlmIChoYXNodGFncykge1xuICAgICAgb3B0aW9ucy5wYXJhbXMgPSBPYmplY3QuYXNzaWduKG9wdGlvbnMucGFyYW1zIHx8IHt9LCB7XG4gICAgICAgIHR5cGU6IGhhc2h0YWdzLmpvaW4oJywnKVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RSZXN1bHRzKFxuICAgIHJlc3BvbnNlOiBJTGF5ZXJTZXJ2aWNlUmVzcG9uc2UsXG4gICAgdGVybTogc3RyaW5nXG4gICk6IFNlYXJjaFJlc3VsdDxJTGF5ZXJJdGVtUmVzcG9uc2U+W10ge1xuICAgIHJldHVybiByZXNwb25zZS5pdGVtcy5tYXAoKGRhdGE6IElMYXllckRhdGEpID0+XG4gICAgICB0aGlzLmRhdGFUb1Jlc3VsdChkYXRhLCB0ZXJtLCByZXNwb25zZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRhVG9SZXN1bHQoXG4gICAgZGF0YTogSUxheWVyRGF0YSxcbiAgICB0ZXJtOiBzdHJpbmcsXG4gICAgcmVzcG9uc2U/OiBJTGF5ZXJTZXJ2aWNlUmVzcG9uc2VcbiAgKTogU2VhcmNoUmVzdWx0PElMYXllckl0ZW1SZXNwb25zZT4ge1xuICAgIGNvbnN0IGxheWVyT3B0aW9ucyA9IHRoaXMuY29tcHV0ZUxheWVyT3B0aW9ucyhkYXRhKTtcblxuICAgIGNvbnN0IHRpdGxlSHRtbCA9IGRhdGEuaGlnaGxpZ2h0LnRpdGxlIHx8IGRhdGEucHJvcGVydGllcy50aXRsZTtcbiAgICBjb25zdCBncm91cFRpdGxlID0gZGF0YS5oaWdobGlnaHQuZ3JvdXBUaXRsZSB8fCBkYXRhLnByb3BlcnRpZXMuZ3JvdXBUaXRsZTtcbiAgICBjb25zdCBzdWJ0aXRsZUh0bWwgPSBncm91cFRpdGxlXG4gICAgICA/ICcgPHNtYWxsIHN0eWxlPVwiY29sb3I6ICM2ZjY5NjlcIj4gJyArIGdyb3VwVGl0bGUgKyAnPC9zbWFsbD4nXG4gICAgICA6ICcnO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNvdXJjZTogdGhpcyxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgZGF0YVR5cGU6IExBWUVSLFxuICAgICAgICBpZDogW3RoaXMuZ2V0SWQoKSwgZGF0YS5wcm9wZXJ0aWVzLmlkXS5qb2luKCcuJyksXG4gICAgICAgIHRpdGxlOiBkYXRhLnByb3BlcnRpZXMudGl0bGUsXG4gICAgICAgIHRpdGxlSHRtbDogdGl0bGVIdG1sICsgc3VidGl0bGVIdG1sLFxuICAgICAgICBpY29uOiBkYXRhLnByb3BlcnRpZXMudHlwZSA9PT0gJ0xheWVyJyA/ICdsYXllcnMnIDogJ21hcCcsXG4gICAgICAgIHNjb3JlOlxuICAgICAgICAgIGRhdGEuc2NvcmUgfHxcbiAgICAgICAgICBjb21wdXRlVGVybVNpbWlsYXJpdHkodGVybS50cmltKCksIGRhdGEucHJvcGVydGllcy5uYW1lKSxcbiAgICAgICAgbmV4dFBhZ2U6XG4gICAgICAgICAgcmVzcG9uc2UuaXRlbXMubGVuZ3RoICUgK3RoaXMub3B0aW9ucy5wYXJhbXMubGltaXQgPT09IDAgJiZcbiAgICAgICAgICArdGhpcy5vcHRpb25zLnBhcmFtcy5wYWdlIDwgMTBcbiAgICAgIH0sXG4gICAgICBkYXRhOiBsYXllck9wdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlTGF5ZXJPcHRpb25zKGRhdGE6IElMYXllckRhdGEpOiBJTGF5ZXJJdGVtUmVzcG9uc2Uge1xuICAgIGNvbnN0IHVybCA9IGRhdGEucHJvcGVydGllcy51cmw7XG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zID1cbiAgICAgIHRoaXMuZXh0cmFjdFF1ZXJ5UGFyYW1zRnJvbVNvdXJjZVVybCh1cmwpO1xuICAgIHJldHVybiBPYmplY3RVdGlscy5yZW1vdmVVbmRlZmluZWQoe1xuICAgICAgc291cmNlT3B0aW9uczoge1xuICAgICAgICBpZDogZGF0YS5wcm9wZXJ0aWVzLmlkLFxuICAgICAgICB0eXBlOiBkYXRhLnByb3BlcnRpZXMuZm9ybWF0LFxuICAgICAgICB1cmwsXG4gICAgICAgIHF1ZXJ5Rm9ybWF0OiBxdWVyeVBhcmFtcy5xdWVyeUZvcm1hdCxcbiAgICAgICAgcXVlcnlIdG1sVGFyZ2V0OiBxdWVyeVBhcmFtcy5xdWVyeUh0bWxUYXJnZXQsXG4gICAgICAgIHBhcmFtczpcbiAgICAgICAgICBkYXRhLnByb3BlcnRpZXMuZm9ybWF0ID09PSAnd21zJ1xuICAgICAgICAgICAgPyB7IExBWUVSUzogZGF0YS5wcm9wZXJ0aWVzLm5hbWUgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGxheWVyOlxuICAgICAgICAgIGRhdGEucHJvcGVydGllcy5mb3JtYXQgPT09ICd3bXMnID8gdW5kZWZpbmVkIDogZGF0YS5wcm9wZXJ0aWVzLm5hbWUsXG4gICAgICAgIG9wdGlvbnNGcm9tQ2FwYWJpbGl0aWVzOiB0cnVlLFxuICAgICAgICBjcm9zc09yaWdpbjogJ2Fub255bW91cydcbiAgICAgIH0sXG4gICAgICB0aXRsZTogZGF0YS5wcm9wZXJ0aWVzLnRpdGxlLFxuICAgICAgbWF4UmVzb2x1dGlvbjogZ2V0UmVzb2x1dGlvbkZyb21TY2FsZShcbiAgICAgICAgTnVtYmVyKGRhdGEucHJvcGVydGllcy5tYXhTY2FsZURlbm9tKVxuICAgICAgKSxcbiAgICAgIG1pblJlc29sdXRpb246IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoXG4gICAgICAgIE51bWJlcihkYXRhLnByb3BlcnRpZXMubWluU2NhbGVEZW5vbSlcbiAgICAgICksXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICB1cmw6IGRhdGEucHJvcGVydGllcy5tZXRhZGF0YVVybCxcbiAgICAgICAgZXh0ZXJuOiBkYXRhLnByb3BlcnRpZXMubWV0YWRhdGFVcmwgPyB0cnVlIDogdW5kZWZpbmVkLFxuICAgICAgICBhYnN0cmFjdDogZGF0YS5wcm9wZXJ0aWVzLmFic3RyYWN0IHx8IHVuZGVmaW5lZFxuICAgICAgfSxcbiAgICAgIHByb3BlcnRpZXM6IHRoaXMuZm9ybWF0dGVyLmZvcm1hdFJlc3VsdChkYXRhKS5wcm9wZXJ0aWVzXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RRdWVyeVBhcmFtc0Zyb21Tb3VyY2VVcmwodXJsOiBzdHJpbmcpOiB7XG4gICAgcXVlcnlGb3JtYXQ6IFF1ZXJ5Rm9ybWF0O1xuICAgIHF1ZXJ5SHRtbFRhcmdldDogUXVlcnlIdG1sVGFyZ2V0O1xuICB9IHtcbiAgICBsZXQgcXVlcnlGb3JtYXQ7XG4gICAgbGV0IHF1ZXJ5SHRtbFRhcmdldDtcbiAgICBjb25zdCBmb3JtYXRPcHQgPSAodGhpcy5vcHRpb25zIGFzIElMYXllclNlYXJjaFNvdXJjZU9wdGlvbnMpLnF1ZXJ5Rm9ybWF0O1xuICAgIGlmIChmb3JtYXRPcHQpIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZvcm1hdE9wdCkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBmb3JtYXRPcHRba2V5XTtcbiAgICAgICAgaWYgKHZhbHVlID09PSAnKicpIHtcbiAgICAgICAgICBxdWVyeUZvcm1hdCA9IFF1ZXJ5Rm9ybWF0W2tleS50b1VwcGVyQ2FzZSgpXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVybHMgPSAodmFsdWUgYXMgYW55IGFzIHsgdXJsczogc3RyaW5nW10gfSkudXJscztcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodXJscykpIHtcbiAgICAgICAgICB1cmxzLmZvckVhY2goKHVybE9wdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHVybC5pbmRleE9mKHVybE9wdCkgIT09IC0xKSB7XG4gICAgICAgICAgICAgIHF1ZXJ5Rm9ybWF0ID0gUXVlcnlGb3JtYXRba2V5LnRvVXBwZXJDYXNlKCldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgcXVlcnlGb3JtYXQgPT09IFF1ZXJ5Rm9ybWF0LkhUTUwgfHxcbiAgICAgICAgcXVlcnlGb3JtYXQgPT09IFF1ZXJ5Rm9ybWF0LkhUTUxHTUwyXG4gICAgICApIHtcbiAgICAgICAgcXVlcnlIdG1sVGFyZ2V0ID0gJ2lmcmFtZSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHF1ZXJ5Rm9ybWF0LFxuICAgICAgcXVlcnlIdG1sVGFyZ2V0XG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,58 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { ConfigService } from '@igo2/core/config';
3
+ import { LanguageService } from '@igo2/core/language';
4
+ import { StorageService } from '@igo2/core/storage';
5
+ import { ILayerSearchResultFormatter, ILayerSearchSource } from './ilayer';
6
+ import { SearchSource } from './source';
7
+ import { SearchSourceKind } from './source.interfaces';
8
+ /**
9
+ * ILayer search result formatter factory
10
+ * @ignore
11
+ */
12
+ export function ilayerSearchResultFormatterFactory(languageService) {
13
+ return new ILayerSearchResultFormatter(languageService);
14
+ }
15
+ /**
16
+ * Function that returns a provider for the ILayer search result formatter
17
+ */
18
+ export function provideILayerSearchResultFormatter() {
19
+ return {
20
+ provide: ILayerSearchResultFormatter,
21
+ useFactory: ilayerSearchResultFormatterFactory,
22
+ deps: [LanguageService]
23
+ };
24
+ }
25
+ /**
26
+ * ILayer search source factory
27
+ * @ignore
28
+ */
29
+ export function ilayerSearchSourceFactory(http, languageService, storageService, config, formatter) {
30
+ return new ILayerSearchSource(http, languageService, storageService, config.getConfig(`searchSources.${ILayerSearchSource.id}`), formatter);
31
+ }
32
+ /**
33
+ * Function that returns a provider for the ILayer search source
34
+ */
35
+ export function provideILayerSearchSource() {
36
+ return {
37
+ provide: SearchSource,
38
+ useFactory: ilayerSearchSourceFactory,
39
+ multi: true,
40
+ deps: [
41
+ HttpClient,
42
+ LanguageService,
43
+ StorageService,
44
+ ConfigService,
45
+ ILayerSearchResultFormatter
46
+ ]
47
+ };
48
+ }
49
+ export function withILayerSource() {
50
+ return {
51
+ kind: SearchSourceKind.ILayer,
52
+ providers: [
53
+ provideILayerSearchSource(),
54
+ provideILayerSearchResultFormatter()
55
+ ]
56
+ };
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWxheWVyLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc291cmNlcy9pbGF5ZXIucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQXVCLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUU7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGtDQUFrQyxDQUNoRCxlQUFnQztJQUVoQyxPQUFPLElBQUksMkJBQTJCLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtDQUFrQztJQUNoRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLDJCQUEyQjtRQUNwQyxVQUFVLEVBQUUsa0NBQWtDO1FBQzlDLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQztLQUN4QixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsSUFBZ0IsRUFDaEIsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsTUFBcUIsRUFDckIsU0FBc0M7SUFFdEMsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLEVBQ0osZUFBZSxFQUNmLGNBQWMsRUFDZCxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUMxRCxTQUFTLENBQ1YsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTztRQUNMLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFVBQVUsRUFBRSx5QkFBeUI7UUFDckMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUU7WUFDSixVQUFVO1lBQ1YsZUFBZTtZQUNmLGNBQWM7WUFDZCxhQUFhO1lBQ2IsMkJBQTJCO1NBQzVCO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU87UUFDTCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtRQUM3QixTQUFTLEVBQUU7WUFDVCx5QkFBeUIsRUFBRTtZQUMzQixrQ0FBa0MsRUFBRTtTQUNyQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3N0b3JhZ2UnO1xuXG5pbXBvcnQgeyBJTGF5ZXJTZWFyY2hSZXN1bHRGb3JtYXR0ZXIsIElMYXllclNlYXJjaFNvdXJjZSB9IGZyb20gJy4vaWxheWVyJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4vc291cmNlJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZUZlYXR1cmUsIFNlYXJjaFNvdXJjZUtpbmQgfSBmcm9tICcuL3NvdXJjZS5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBJTGF5ZXIgc2VhcmNoIHJlc3VsdCBmb3JtYXR0ZXIgZmFjdG9yeVxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaWxheWVyU2VhcmNoUmVzdWx0Rm9ybWF0dGVyRmFjdG9yeShcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2Vcbikge1xuICByZXR1cm4gbmV3IElMYXllclNlYXJjaFJlc3VsdEZvcm1hdHRlcihsYW5ndWFnZVNlcnZpY2UpO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgSUxheWVyIHNlYXJjaCByZXN1bHQgZm9ybWF0dGVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlSUxheWVyU2VhcmNoUmVzdWx0Rm9ybWF0dGVyKCkge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IElMYXllclNlYXJjaFJlc3VsdEZvcm1hdHRlcixcbiAgICB1c2VGYWN0b3J5OiBpbGF5ZXJTZWFyY2hSZXN1bHRGb3JtYXR0ZXJGYWN0b3J5LFxuICAgIGRlcHM6IFtMYW5ndWFnZVNlcnZpY2VdXG4gIH07XG59XG5cbi8qKlxuICogSUxheWVyIHNlYXJjaCBzb3VyY2UgZmFjdG9yeVxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaWxheWVyU2VhcmNoU291cmNlRmFjdG9yeShcbiAgaHR0cDogSHR0cENsaWVudCxcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICBmb3JtYXR0ZXI6IElMYXllclNlYXJjaFJlc3VsdEZvcm1hdHRlclxuKSB7XG4gIHJldHVybiBuZXcgSUxheWVyU2VhcmNoU291cmNlKFxuICAgIGh0dHAsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHN0b3JhZ2VTZXJ2aWNlLFxuICAgIGNvbmZpZy5nZXRDb25maWcoYHNlYXJjaFNvdXJjZXMuJHtJTGF5ZXJTZWFyY2hTb3VyY2UuaWR9YCksXG4gICAgZm9ybWF0dGVyXG4gICk7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvdmlkZXIgZm9yIHRoZSBJTGF5ZXIgc2VhcmNoIHNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUlMYXllclNlYXJjaFNvdXJjZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBTZWFyY2hTb3VyY2UsXG4gICAgdXNlRmFjdG9yeTogaWxheWVyU2VhcmNoU291cmNlRmFjdG9yeSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICBkZXBzOiBbXG4gICAgICBIdHRwQ2xpZW50LFxuICAgICAgTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgU3RvcmFnZVNlcnZpY2UsXG4gICAgICBDb25maWdTZXJ2aWNlLFxuICAgICAgSUxheWVyU2VhcmNoUmVzdWx0Rm9ybWF0dGVyXG4gICAgXVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aElMYXllclNvdXJjZSgpOiBTZWFyY2hTb3VyY2VGZWF0dXJlPFNlYXJjaFNvdXJjZUtpbmQuSUxheWVyPiB7XG4gIHJldHVybiB7XG4gICAga2luZDogU2VhcmNoU291cmNlS2luZC5JTGF5ZXIsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICBwcm92aWRlSUxheWVyU2VhcmNoU291cmNlKCksXG4gICAgICBwcm92aWRlSUxheWVyU2VhcmNoUmVzdWx0Rm9ybWF0dGVyKClcbiAgICBdXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ export * from './cadastre';
2
+ export * from './cadastre.providers';
3
+ export * from './source';
4
+ export * from './source.interfaces';
5
+ export * from './icherche';
6
+ export * from './icherche.interfaces';
7
+ export * from './icherche.providers';
8
+ export * from './ilayer';
9
+ export * from './ilayer.interfaces';
10
+ export * from './ilayer.providers';
11
+ export * from './nominatim';
12
+ export * from './nominatim.interfaces';
13
+ export * from './nominatim.providers';
14
+ export * from './storedqueries';
15
+ export * from './storedqueries.interfaces';
16
+ export * from './storedqueries.providers';
17
+ export * from './coordinates';
18
+ export * from './coordinates.interfaces';
19
+ export * from './coordinates.providers';
20
+ export * from './workspace';
21
+ export * from './workspace.interfaces';
22
+ export * from './workspace.providers';
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhZGFzdHJlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FkYXN0cmUucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pY2hlcmNoZSc7XG5leHBvcnQgKiBmcm9tICcuL2ljaGVyY2hlLmludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pY2hlcmNoZS5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbGF5ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9pbGF5ZXIuaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2lsYXllci5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9ub21pbmF0aW0nO1xuZXhwb3J0ICogZnJvbSAnLi9ub21pbmF0aW0uaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL25vbWluYXRpbS5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZWRxdWVyaWVzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVkcXVlcmllcy5pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVkcXVlcmllcy5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb29yZGluYXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2Nvb3JkaW5hdGVzLmludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb29yZGluYXRlcy5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2UuaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmtzcGFjZS5wcm92aWRlcnMnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9taW5hdGltLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvbm9taW5hdGltLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTm9taW5hdGltRGF0YSB7XG4gIHBsYWNlX2lkOiBzdHJpbmc7XG4gIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICBvc21fdHlwZTogc3RyaW5nO1xuICBjbGFzczogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGxvbjogc3RyaW5nO1xuICBsYXQ6IHN0cmluZztcbiAgYm91bmRpbmdib3g6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmddO1xufVxuIl19