@igo2/geo 17.0.1-next.2 → 18.0.0-next.10

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 (418) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +4 -4
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -9
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +16 -13
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +5 -5
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +4 -4
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +4 -4
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +5 -5
  9. package/esm2022/lib/catalog/catalog.module.mjs +5 -5
  10. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  11. package/esm2022/lib/catalog/shared/catalog.service.mjs +4 -4
  12. package/esm2022/lib/datasource/shared/capabilities.service.mjs +4 -4
  13. package/esm2022/lib/datasource/shared/datasource.service.mjs +4 -4
  14. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  15. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +9 -1
  16. package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  17. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +8 -1
  18. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +8 -1
  20. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  21. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +8 -1
  22. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +8 -1
  24. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +8 -1
  26. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -1
  28. package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  31. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +8 -1
  32. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +73 -2
  37. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +4 -4
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  39. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +8 -1
  40. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -5
  41. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  42. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  43. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  44. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  45. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +4 -4
  46. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -4
  47. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +4 -4
  48. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +4 -4
  49. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
  50. package/esm2022/lib/directions/directions.component.mjs +10 -4
  51. package/esm2022/lib/directions/directions.module.mjs +5 -5
  52. package/esm2022/lib/directions/shared/directions.service.mjs +4 -4
  53. package/esm2022/lib/download/download-button/download-button.component.mjs +10 -22
  54. package/esm2022/lib/download/download.module.mjs +5 -5
  55. package/esm2022/lib/download/shared/download.service.mjs +4 -4
  56. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +4 -4
  57. package/esm2022/lib/draw/draw/draw-popup.component.mjs +4 -4
  58. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +4 -4
  59. package/esm2022/lib/draw/draw/draw.component.mjs +8 -15
  60. package/esm2022/lib/draw/draw/draw.module.mjs +5 -5
  61. package/esm2022/lib/draw/drawingTool.module.mjs +5 -5
  62. package/esm2022/lib/draw/shared/draw-icon.service.mjs +4 -4
  63. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  64. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +5 -5
  65. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +4 -4
  66. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +5 -5
  67. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +4 -4
  68. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +5 -5
  69. package/esm2022/lib/feature/feature.module.mjs +5 -5
  70. package/esm2022/lib/feature/shared/feature-store.utils.mjs +7 -6
  71. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  72. package/esm2022/lib/feature/shared/store.mjs +1 -1
  73. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +3 -3
  74. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +7 -4
  75. package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -4
  76. package/esm2022/lib/filter/filter.module.mjs +5 -5
  77. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +6 -6
  78. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +4 -4
  79. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +4 -4
  80. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +4 -4
  81. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +4 -4
  82. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +4 -4
  83. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +5 -5
  84. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -6
  85. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +4 -4
  86. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +11 -4
  87. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +4 -4
  88. package/esm2022/lib/filter/shared/ogc-filter.mjs +7 -2
  89. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +4 -4
  90. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +4 -4
  91. package/esm2022/lib/filter/shared/time-filter.service.mjs +4 -4
  92. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +4 -4
  93. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +5 -11
  94. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +5 -11
  95. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +5 -5
  96. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +15 -12
  97. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +5 -5
  98. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +7 -5
  99. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +7 -18
  100. package/esm2022/lib/geo.module.mjs +5 -5
  101. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +4 -4
  102. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +4 -4
  103. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +5 -5
  104. package/esm2022/lib/geometry/geometry.module.mjs +5 -5
  105. package/esm2022/lib/import-export/export-button/export-button.component.mjs +7 -20
  106. package/esm2022/lib/import-export/import-export/import-export.component.mjs +215 -323
  107. package/esm2022/lib/import-export/import-export.module.mjs +5 -5
  108. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +4 -4
  109. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  110. package/esm2022/lib/import-export/shared/export.service.mjs +257 -91
  111. package/esm2022/lib/import-export/shared/export.type.mjs +9 -9
  112. package/esm2022/lib/import-export/shared/export.utils.mjs +5 -1
  113. package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
  114. package/esm2022/lib/import-export/shared/import.utils.mjs +3 -3
  115. package/esm2022/lib/layer/index.mjs +10 -5
  116. package/esm2022/lib/layer/layer-group/index.mjs +2 -0
  117. package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
  118. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +62 -129
  119. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +7 -10
  120. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +4 -4
  121. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -9
  122. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +16 -23
  123. package/esm2022/lib/layer/layer-list/index.mjs +1 -3
  124. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +177 -776
  125. package/esm2022/lib/layer/layer-list-tool/index.mjs +1 -2
  126. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +52 -85
  127. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -2
  128. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +57 -17
  129. package/esm2022/lib/layer/layer-search/index.mjs +2 -0
  130. package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
  131. package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
  132. package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +25 -0
  133. package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
  134. package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
  135. package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
  136. package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
  137. package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
  138. package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
  139. package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
  140. package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
  141. package/esm2022/lib/layer/layer.module.mjs +54 -36
  142. package/esm2022/lib/layer/shared/index.mjs +2 -1
  143. package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
  144. package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
  145. package/esm2022/lib/layer/shared/layer.service.mjs +73 -27
  146. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  147. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  148. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  149. package/esm2022/lib/layer/shared/layers/image-layer.mjs +8 -3
  150. package/esm2022/lib/layer/shared/layers/index.mjs +6 -1
  151. package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
  152. package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
  153. package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
  154. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -11
  155. package/esm2022/lib/layer/shared/layers/layer.mjs +114 -118
  156. package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
  157. package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
  158. package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
  159. package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
  160. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +8 -3
  161. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +22 -19
  162. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +8 -3
  163. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +4 -4
  164. package/esm2022/lib/layer/utils/layer.utils.mjs +47 -1
  165. package/esm2022/lib/layer/utils/outputLegend.mjs +5 -1
  166. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +6 -6
  167. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +11 -9
  168. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +4 -4
  169. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +4 -4
  170. package/esm2022/lib/map/info-section/info-section.component.mjs +4 -4
  171. package/esm2022/lib/map/map-browser/map-browser.component.mjs +4 -4
  172. package/esm2022/lib/map/map-center/map-center.component.mjs +4 -4
  173. package/esm2022/lib/map/map.module.mjs +5 -5
  174. package/esm2022/lib/map/menu-button/menu-button.component.mjs +4 -4
  175. package/esm2022/lib/map/offline-button/offline-button.component.mjs +4 -4
  176. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +4 -4
  177. package/esm2022/lib/map/shared/hover-feature.directive.mjs +5 -13
  178. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +113 -123
  179. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
  180. package/esm2022/lib/map/shared/map.abstract.mjs +4 -3
  181. package/esm2022/lib/map/shared/map.mjs +7 -243
  182. package/esm2022/lib/map/shared/map.service.mjs +4 -4
  183. package/esm2022/lib/map/shared/mapOffline.directive.mjs +12 -8
  184. package/esm2022/lib/map/shared/projection.service.mjs +4 -4
  185. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +4 -4
  186. package/esm2022/lib/map/utils/index.mjs +2 -0
  187. package/esm2022/lib/map/utils/layer-watcher.mjs +45 -13
  188. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +4 -5
  189. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +4 -4
  190. package/esm2022/lib/measure/measure.module.mjs +5 -5
  191. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +4 -4
  192. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +4 -4
  193. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +4 -4
  194. package/esm2022/lib/measure/measurer/measurer.component.mjs +10 -28
  195. package/esm2022/lib/measure/measurer/measurer.module.mjs +5 -5
  196. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +11 -23
  197. package/esm2022/lib/metadata/metadata.module.mjs +5 -5
  198. package/esm2022/lib/metadata/shared/metadata.service.mjs +4 -4
  199. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -8
  200. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +21 -22
  201. package/esm2022/lib/offline/index.mjs +3 -1
  202. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +16 -17
  203. package/esm2022/lib/offline/offline.interface.mjs +2 -0
  204. package/esm2022/lib/offline/offline.provider.mjs +51 -0
  205. package/esm2022/lib/offline/shared/geo-network.service.mjs +15 -16
  206. package/esm2022/lib/overlay/shared/overlay.mjs +3 -2
  207. package/esm2022/lib/print/print/print.component.mjs +4 -4
  208. package/esm2022/lib/print/print-form/print-form.component.mjs +4 -4
  209. package/esm2022/lib/print/print.module.mjs +5 -5
  210. package/esm2022/lib/print/shared/print.service.mjs +6 -6
  211. package/esm2022/lib/query/query.module.mjs +5 -5
  212. package/esm2022/lib/query/shared/query-search-source.mjs +4 -4
  213. package/esm2022/lib/query/shared/query.directive.mjs +12 -8
  214. package/esm2022/lib/query/shared/query.service.mjs +10 -10
  215. package/esm2022/lib/query/shared/query.utils.mjs +5 -1
  216. package/esm2022/lib/search/search-bar/search-bar.component.mjs +4 -4
  217. package/esm2022/lib/search/search-bar/search-bar.module.mjs +5 -5
  218. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
  219. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +18 -12
  220. package/esm2022/lib/search/search-results/search-results-item.component.mjs +4 -4
  221. package/esm2022/lib/search/search-results/search-results.component.mjs +4 -4
  222. package/esm2022/lib/search/search-results/search-results.module.mjs +5 -5
  223. package/esm2022/lib/search/search-selector/search-selector.component.mjs +4 -4
  224. package/esm2022/lib/search/search-selector/search-selector.module.mjs +5 -5
  225. package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
  226. package/esm2022/lib/search/search-settings/search-settings.module.mjs +5 -5
  227. package/esm2022/lib/search/search.module.mjs +5 -5
  228. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +5 -14
  229. package/esm2022/lib/search/shared/search.service.mjs +4 -4
  230. package/esm2022/lib/search/shared/sources/cadastre.mjs +4 -4
  231. package/esm2022/lib/search/shared/sources/coordinates.mjs +7 -7
  232. package/esm2022/lib/search/shared/sources/icherche.mjs +10 -10
  233. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  234. package/esm2022/lib/search/shared/sources/ilayer.mjs +7 -7
  235. package/esm2022/lib/search/shared/sources/nominatim.mjs +4 -4
  236. package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
  237. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  238. package/esm2022/lib/search/shared/sources/workspace.mjs +4 -4
  239. package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
  240. package/esm2022/lib/style/style-list/style-list.service.mjs +4 -4
  241. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +4 -4
  242. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +4 -4
  243. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +4 -4
  244. package/esm2022/lib/style/style-service/draw-style.service.mjs +4 -4
  245. package/esm2022/lib/style/style-service/style.service.mjs +4 -4
  246. package/esm2022/lib/style/style.module.mjs +5 -5
  247. package/esm2022/lib/toast/toast.component.mjs +4 -4
  248. package/esm2022/lib/toast/toast.module.mjs +5 -5
  249. package/esm2022/lib/utils/id-generator.mjs +1 -1
  250. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +4 -4
  251. package/esm2022/lib/wkt/shared/wkt.service.mjs +4 -4
  252. package/esm2022/lib/wkt/wkt.module.mjs +5 -5
  253. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +4 -4
  254. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +5 -5
  255. package/esm2022/lib/workspace/shared/edition-workspace.mjs +6 -4
  256. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +22 -20
  257. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +4 -4
  258. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +20 -5
  259. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +25 -7
  260. package/esm2022/lib/workspace/shared/workspace.utils.mjs +6 -3
  261. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +5 -5
  262. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +5 -5
  263. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +9 -5
  264. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +5 -5
  265. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
  266. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +5 -5
  267. package/esm2022/lib/workspace/workspace.module.mjs +5 -5
  268. package/fesm2022/igo2-geo.mjs +19275 -18300
  269. package/fesm2022/igo2-geo.mjs.map +1 -1
  270. package/lib/catalog/shared/catalog.enum.d.ts +1 -3
  271. package/lib/datasource/shared/capabilities.service.d.ts +7 -2
  272. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +1 -0
  273. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +1 -0
  274. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -0
  275. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +0 -2
  276. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -0
  277. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +0 -1
  278. package/lib/datasource/shared/datasources/datasource.d.ts +1 -0
  279. package/lib/datasource/shared/datasources/datasource.interface.d.ts +1 -2
  280. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -0
  281. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +0 -3
  282. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +1 -0
  283. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +0 -2
  284. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +1 -0
  285. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +0 -2
  286. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +0 -2
  287. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +1 -0
  288. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +0 -2
  289. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +0 -2
  290. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +16 -0
  291. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +3 -4
  292. package/lib/datasource/shared/datasources/wms-datasource.d.ts +1 -0
  293. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +7 -7
  294. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +0 -2
  295. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +0 -2
  296. package/lib/download/download-button/download-button.component.d.ts +4 -8
  297. package/lib/download/shared/download.service.d.ts +1 -1
  298. package/lib/draw/draw/draw.component.d.ts +2 -2
  299. package/lib/environment/environment.interface.d.ts +2 -0
  300. package/lib/feature/shared/feature-store.utils.d.ts +2 -2
  301. package/lib/feature/shared/feature.interfaces.d.ts +1 -1
  302. package/lib/feature/shared/store.d.ts +2 -2
  303. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
  304. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
  305. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +2 -2
  306. package/lib/filter/shared/filterable-datasource.pipe.d.ts +2 -2
  307. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +3 -3
  308. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -5
  309. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -5
  310. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  311. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +5 -5
  312. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  313. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +2 -7
  314. package/lib/import-export/export-button/export-button.component.d.ts +3 -7
  315. package/lib/import-export/import-export/import-export.component.d.ts +23 -16
  316. package/lib/import-export/shared/export.interface.d.ts +10 -3
  317. package/lib/import-export/shared/export.service.d.ts +28 -15
  318. package/lib/import-export/shared/export.type.d.ts +8 -16
  319. package/lib/import-export/shared/export.utils.d.ts +2 -0
  320. package/lib/layer/index.d.ts +9 -4
  321. package/lib/layer/layer-group/index.d.ts +1 -0
  322. package/lib/layer/layer-group/layer-group.component.d.ts +30 -0
  323. package/lib/layer/layer-item/layer-item.component.d.ts +19 -38
  324. package/lib/layer/layer-legend/layer-legend.component.d.ts +2 -5
  325. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +6 -7
  326. package/lib/layer/layer-list/index.d.ts +0 -2
  327. package/lib/layer/layer-list/layer-list.component.d.ts +51 -123
  328. package/lib/layer/layer-list-tool/index.d.ts +0 -1
  329. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +19 -26
  330. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +5 -1
  331. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +9 -8
  332. package/lib/layer/layer-search/index.d.ts +1 -0
  333. package/lib/layer/layer-search/layer-search.component.d.ts +16 -0
  334. package/lib/layer/layer-unavailable/index.d.ts +2 -0
  335. package/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.d.ts +10 -0
  336. package/lib/layer/layer-unavailable/layer-unavailable.component.d.ts +11 -0
  337. package/lib/layer/layer-viewer/index.d.ts +2 -0
  338. package/lib/layer/layer-viewer/layer-viewer.component.d.ts +52 -0
  339. package/lib/layer/layer-viewer/layer-viewer.interface.d.ts +22 -0
  340. package/lib/layer/layer-viewer-bottom-actions/index.d.ts +1 -0
  341. package/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.d.ts +44 -0
  342. package/lib/layer/layer-visibility-button/index.d.ts +1 -0
  343. package/lib/layer/layer-visibility-button/layer-visibility-button.component.d.ts +22 -0
  344. package/lib/layer/layer.module.d.ts +18 -6
  345. package/lib/layer/shared/index.d.ts +1 -0
  346. package/lib/layer/shared/layer-controller.d.ts +81 -0
  347. package/lib/layer/shared/layer-selection.d.ts +14 -0
  348. package/lib/layer/shared/layer.service.d.ts +17 -8
  349. package/lib/layer/shared/layers/any-layer.d.ts +3 -6
  350. package/lib/layer/shared/layers/any-layer.interface.d.ts +8 -6
  351. package/lib/layer/shared/layers/image-layer.d.ts +5 -2
  352. package/lib/layer/shared/layers/image-layer.interface.d.ts +1 -4
  353. package/lib/layer/shared/layers/index.d.ts +5 -0
  354. package/lib/layer/shared/layers/layer-base.d.ts +75 -0
  355. package/lib/layer/shared/layers/layer-group.d.ts +32 -0
  356. package/lib/layer/shared/layers/layer-group.interface.d.ts +8 -0
  357. package/lib/layer/shared/layers/layer.d.ts +28 -49
  358. package/lib/layer/shared/layers/layer.interface.d.ts +23 -41
  359. package/lib/layer/shared/layers/linked/index.d.ts +3 -0
  360. package/lib/layer/shared/layers/linked/linked-layer.d.ts +35 -0
  361. package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +32 -0
  362. package/lib/layer/shared/layers/linked/linked-layer.utils.d.ts +9 -0
  363. package/lib/layer/shared/layers/tile-layer.d.ts +5 -2
  364. package/lib/layer/shared/layers/vector-layer.d.ts +8 -7
  365. package/lib/layer/shared/layers/vectortile-layer.d.ts +5 -2
  366. package/lib/layer/utils/layer.utils.d.ts +12 -2
  367. package/lib/layer/utils/outputLegend.d.ts +2 -2
  368. package/lib/map/shared/hover-feature.directive.d.ts +0 -1
  369. package/lib/map/shared/linkedLayers.utils.d.ts +13 -17
  370. package/lib/map/shared/map.abstract.d.ts +12 -29
  371. package/lib/map/shared/map.d.ts +10 -85
  372. package/lib/map/shared/map.service.d.ts +1 -1
  373. package/lib/map/utils/index.d.ts +1 -0
  374. package/lib/map/utils/layer-watcher.d.ts +18 -8
  375. package/lib/measure/measurer/measurer.component.d.ts +0 -8
  376. package/lib/metadata/metadata-button/metadata-button.component.d.ts +3 -7
  377. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  378. package/lib/offline/index.d.ts +2 -0
  379. package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
  380. package/lib/offline/offline.interface.d.ts +3 -0
  381. package/lib/offline/offline.provider.d.ts +3 -0
  382. package/lib/offline/shared/geo-network.service.d.ts +3 -3
  383. package/lib/overlay/shared/overlay.d.ts +2 -1
  384. package/lib/query/shared/query.service.d.ts +1 -1
  385. package/lib/query/shared/query.utils.d.ts +2 -1
  386. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  387. package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -1
  388. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  389. package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
  390. package/lib/search/shared/sources/icherche.providers.d.ts +1 -1
  391. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  392. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  393. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  394. package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
  395. package/lib/search/shared/sources/workspace.interfaces.d.ts +1 -1
  396. package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
  397. package/lib/utils/id-generator.d.ts +5 -5
  398. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  399. package/locale/en.geo.json +27 -3
  400. package/locale/fr.geo.json +26 -3
  401. package/package.json +6 -7
  402. package/src/_index.scss +2 -1
  403. package/src/geo-theme.scss +1 -1
  404. package/src/lib/layer/layer-group/layer-group.theme.scss +28 -0
  405. package/src/lib/layer/layer-item/layer-item.theme.scss +12 -9
  406. package/src/lib/layer/layer-legend/layer-legend.theme.scss +30 -0
  407. package/src/lib/layer/layer-list/layer-list.theme.scss +50 -0
  408. package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +19 -0
  409. package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +16 -0
  410. package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +27 -0
  411. package/src/lib/layer/layer.theming.scss +14 -3
  412. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -70
  413. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +0 -19
  414. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
  415. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +0 -19
  416. package/lib/layer/layer-list/layer-list.enum.d.ts +0 -15
  417. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +0 -5
  418. package/src/lib/layer/layer-legend/layer-legend.theming.scss +0 -10
@@ -0,0 +1,14 @@
1
+ import { AnyLayer } from './layers/any-layer';
2
+ export declare class LayerSelectionModel {
3
+ private selection;
4
+ private descendantSelection;
5
+ get selected(): AnyLayer[];
6
+ get hasSelection(): boolean;
7
+ get isSelectionEmpty(): boolean;
8
+ clearSelection(): void;
9
+ select(...layers: AnyLayer[]): void;
10
+ deselect(...layers: AnyLayer[]): void;
11
+ isSelected: (layer: AnyLayer) => boolean;
12
+ isDescendantSelection: (layer: AnyLayer) => boolean;
13
+ private getDescendants;
14
+ }
@@ -3,22 +3,28 @@ import { AuthInterceptor } from '@igo2/auth';
3
3
  import { MessageService } from '@igo2/core/message';
4
4
  import { Observable } from 'rxjs';
5
5
  import { DataSourceService } from '../../datasource/shared/datasource.service';
6
+ import { AnyDataSourceOptions, AnyDataSourceOptionsWithParams, ArcGISRestDataSourceOptions, WMTSDataSourceOptions } from '../../datasource/shared/datasources';
6
7
  import { LayerDBService } from '../../offline/layerDB/layerDB.service';
7
8
  import { GeoNetworkService } from '../../offline/shared/geo-network.service';
8
9
  import { StyleService } from '../../style/style-service/style.service';
9
- import { AnyLayerOptions, Layer } from './layers';
10
+ import { AnyLayer, AnyLayerItemOptions, AnyLayerOptions, Layer, LayerGroupOptions } from './layers';
11
+ import { LayerGroup } from './layers/layer-group';
10
12
  import * as i0 from "@angular/core";
11
13
  export declare class LayerService {
12
14
  private http;
13
15
  private styleService;
14
16
  private dataSourceService;
15
- private geoNetworkService;
16
17
  private messageService;
17
- private layerDBService;
18
- private authInterceptor;
19
- constructor(http: HttpClient, styleService: StyleService, dataSourceService: DataSourceService, geoNetworkService: GeoNetworkService, messageService: MessageService, layerDBService: LayerDBService, authInterceptor: AuthInterceptor);
20
- createLayer(layerOptions: AnyLayerOptions): Layer;
21
- createAsyncLayer(_layerOptions: AnyLayerOptions, detailedContextUri?: string): Observable<Layer>;
18
+ private geoNetworkService?;
19
+ private layerDBService?;
20
+ private authInterceptor?;
21
+ unavailableLayers: AnyLayerItemOptions[];
22
+ constructor(http: HttpClient, styleService: StyleService, dataSourceService: DataSourceService, messageService: MessageService, geoNetworkService?: GeoNetworkService, layerDBService?: LayerDBService, authInterceptor?: AuthInterceptor);
23
+ createLayers(layersOption: AnyLayerOptions[], contextUri?: string): Observable<(AnyLayer | undefined)[]>;
24
+ createLayer(layerOptions: AnyLayerItemOptions): Layer;
25
+ createAsyncLayer(options: AnyLayerItemOptions, detailedContextUri?: string): Observable<Layer | undefined>;
26
+ createAsyncGroup(options: LayerGroupOptions, detailedContextUri?: string): Observable<LayerGroup>;
27
+ private createGroup;
22
28
  private createImageLayer;
23
29
  private createTileLayer;
24
30
  private createVectorLayer;
@@ -28,6 +34,9 @@ export declare class LayerService {
28
34
  private getStuff;
29
35
  private getAbsoluteUrl;
30
36
  createAsyncIdbLayers(contextUri?: string): Observable<Layer[]>;
31
- static ɵfac: i0.ɵɵFactoryDeclaration<LayerService, [null, null, null, null, null, null, { optional: true; }]>;
37
+ deleteUnavailableLayers(anyLayerOptions: AnyLayerItemOptions): void;
38
+ sourceOptionsWithParams(sourceOptions: AnyDataSourceOptions): sourceOptions is AnyDataSourceOptionsWithParams;
39
+ sourceOptionsWithLayer(sourceOptions: AnyDataSourceOptions): sourceOptions is ArcGISRestDataSourceOptions | WMTSDataSourceOptions;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayerService, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
32
41
  static ɵprov: i0.ɵɵInjectableDeclaration<LayerService>;
33
42
  }
@@ -1,6 +1,3 @@
1
- import { ImageLayer } from './image-layer';
2
- import { Layer } from './layer';
3
- import { TileLayer } from './tile-layer';
4
- import { VectorLayer } from './vector-layer';
5
- import { VectorTileLayer } from './vectortile-layer';
6
- export type AnyLayer = Layer | ImageLayer | TileLayer | VectorLayer | VectorTileLayer;
1
+ import { type Layer } from './layer';
2
+ import { type LayerGroup } from './layer-group';
3
+ export type AnyLayer = Layer | LayerGroup;
@@ -1,6 +1,8 @@
1
- import { ImageLayerOptions } from './image-layer.interface';
2
- import { LayerOptions } from './layer.interface';
3
- import { TileLayerOptions } from './tile-layer.interface';
4
- import { VectorLayerOptions } from './vector-layer.interface';
5
- import { VectorTileLayerOptions } from './vectortile-layer.interface';
6
- export type AnyLayerOptions = LayerOptions | ImageLayerOptions | TileLayerOptions | VectorLayerOptions | VectorTileLayerOptions;
1
+ import { type ImageLayerOptions } from './image-layer.interface';
2
+ import { type LayerGroupOptions } from './layer-group.interface';
3
+ import { type LayerOptions } from './layer.interface';
4
+ import { type TileLayerOptions } from './tile-layer.interface';
5
+ import { type VectorLayerOptions } from './vector-layer.interface';
6
+ import { type VectorTileLayerOptions } from './vectortile-layer.interface';
7
+ export type AnyLayerOptions = AnyLayerItemOptions | LayerGroupOptions;
8
+ export type AnyLayerItemOptions = LayerOptions | ImageLayerOptions | TileLayerOptions | VectorLayerOptions | VectorTileLayerOptions;
@@ -4,18 +4,21 @@ import olLayerImage from 'ol/layer/Image';
4
4
  import olSourceImage from 'ol/source/Image';
5
5
  import { ImageArcGISRestDataSource } from '../../../datasource/shared/datasources/imagearcgisrest-datasource';
6
6
  import { WMSDataSource } from '../../../datasource/shared/datasources/wms-datasource';
7
- import { IgoMap } from '../../../map/shared/map';
7
+ import { type MapBase } from '../../../map/shared/map.abstract';
8
8
  import { ImageLayerOptions } from './image-layer.interface';
9
9
  import { Layer } from './layer';
10
+ import { LayerType } from './layer.interface';
10
11
  export declare class ImageLayer extends Layer {
11
12
  messageService: MessageService;
12
13
  authInterceptor?: AuthInterceptor;
14
+ type: LayerType;
13
15
  dataSource: WMSDataSource | ImageArcGISRestDataSource;
14
16
  options: ImageLayerOptions;
15
17
  ol: olLayerImage<olSourceImage>;
16
18
  private watcher;
17
19
  constructor(options: ImageLayerOptions, messageService: MessageService, authInterceptor?: AuthInterceptor);
18
20
  protected createOlLayer(): olLayerImage<olSourceImage>;
19
- setMap(map: IgoMap | undefined): void;
21
+ init(map: MapBase | undefined): void;
22
+ remove(): void;
20
23
  private customLoader;
21
24
  }
@@ -1,9 +1,6 @@
1
1
  import olLayerImage from 'ol/layer/Image';
2
2
  import olSourceImage from 'ol/source/Image';
3
- import { ImageArcGISRestDataSource } from '../../../datasource/shared/datasources/imagearcgisrest-datasource';
4
- import { ArcGISRestImageDataSourceOptions } from '../../../datasource/shared/datasources/imagearcgisrest-datasource.interface';
5
- import { WMSDataSource } from '../../../datasource/shared/datasources/wms-datasource';
6
- import { WMSDataSourceOptions } from '../../../datasource/shared/datasources/wms-datasource.interface';
3
+ import { ArcGISRestImageDataSourceOptions, ImageArcGISRestDataSource, WMSDataSource, WMSDataSourceOptions } from '../../../datasource/shared/datasources';
7
4
  import { LayerOptions } from './layer.interface';
8
5
  export interface ImageLayerOptions extends LayerOptions {
9
6
  source?: WMSDataSource | ImageArcGISRestDataSource;
@@ -1,5 +1,8 @@
1
+ export * from './linked';
1
2
  export * from './layer';
3
+ export * from './layer-base';
2
4
  export * from './layer.interface';
5
+ export * from './legend.interface';
3
6
  export * from './image-layer';
4
7
  export * from './image-layer.interface';
5
8
  export * from './tile-layer';
@@ -10,3 +13,5 @@ export * from './vectortile-layer';
10
13
  export * from './vectortile-layer.interface';
11
14
  export * from './any-layer';
12
15
  export * from './any-layer.interface';
16
+ export * from './layer-group.interface';
17
+ export * from './layer-group';
@@ -0,0 +1,75 @@
1
+ import { SubjectStatus } from '@igo2/utils';
2
+ import BaseLayer from 'ol/layer/Base';
3
+ import { BehaviorSubject, Subject } from 'rxjs';
4
+ import type { DataSource } from '../../../datasource/shared/datasources/datasource';
5
+ import type { MapBase } from '../../../map/shared/map.abstract';
6
+ import type { LayerOptions, LayerType } from './layer.interface';
7
+ export type AnyLayerBase = LayerBase | LayerGroupBase;
8
+ export declare abstract class LayerBase {
9
+ options: LayerOptions;
10
+ abstract type: LayerType;
11
+ abstract ol: BaseLayer;
12
+ abstract parent: LayerGroupBase;
13
+ protected abstract createOlLayer(): BaseLayer;
14
+ collapsed: boolean;
15
+ firstLoadComponent: boolean;
16
+ map: MapBase;
17
+ olLoadingProblem: boolean;
18
+ status$: Subject<SubjectStatus>;
19
+ dataSource: DataSource | undefined;
20
+ /**
21
+ * Define if a layer is generated by code OR defined by layer/context user layer.
22
+ * Useful for filtering layers list in mapOffline.directive or in the sharemap...
23
+ * return false by default.
24
+ */
25
+ get isIgoInternalLayer(): boolean;
26
+ get id(): string;
27
+ get parentId(): string;
28
+ get alias(): string;
29
+ get title(): string;
30
+ set title(title: string);
31
+ get zIndex(): number;
32
+ set zIndex(zIndex: number);
33
+ get baseLayer(): boolean;
34
+ set baseLayer(baseLayer: boolean);
35
+ get opacity(): number;
36
+ set opacity(opacity: number);
37
+ set isInResolutionsRange(value: boolean);
38
+ get isInResolutionsRange(): boolean;
39
+ readonly isInResolutionsRange$: BehaviorSubject<boolean>;
40
+ set maxResolution(value: number);
41
+ get maxResolution(): number;
42
+ set minResolution(value: number);
43
+ get minResolution(): number;
44
+ set visible(value: boolean);
45
+ get visible(): boolean;
46
+ private _visible$;
47
+ readonly visible$: import("rxjs").Observable<boolean>;
48
+ get displayed(): boolean;
49
+ set displayed(value: boolean);
50
+ private _displayed$;
51
+ displayed$: import("rxjs").Observable<boolean>;
52
+ private displayed$$;
53
+ get showInLayerList(): boolean;
54
+ get saveableOptions(): Partial<LayerOptions>;
55
+ constructor(options: LayerOptions);
56
+ afterCreated(): void;
57
+ init(map: MapBase): void;
58
+ add(parent?: LayerGroupBase): void;
59
+ private _add;
60
+ addParent(parent?: LayerGroupBase): void;
61
+ remove(): void;
62
+ private _remove;
63
+ reset(parent?: LayerGroupBase): void;
64
+ moveTo(parent?: LayerGroupBase): void;
65
+ clone(): LayerBase;
66
+ private initDisplayed$$;
67
+ }
68
+ export declare abstract class LayerGroupBase extends LayerBase {
69
+ type: LayerType;
70
+ children: LayerBase[];
71
+ abstract get descendants(): LayerBase[];
72
+ abstract addChild(layer: LayerBase): void;
73
+ abstract removeChild(layer: LayerBase): void;
74
+ abstract isDescendant(layer: LayerBase): boolean;
75
+ }
@@ -0,0 +1,32 @@
1
+ import { Group } from 'ol/layer.js';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import type { MapBase } from '../../../map/shared/map.abstract';
4
+ import { type AnyLayer } from './any-layer';
5
+ import { LayerGroupBase } from './layer-base';
6
+ import { type LayerGroupOptions } from './layer-group.interface';
7
+ export declare class LayerGroup extends LayerGroupBase {
8
+ children: AnyLayer[] | null;
9
+ options: LayerGroupOptions;
10
+ parent: LayerGroup;
11
+ ol: Group;
12
+ expanded: boolean;
13
+ private isInResolutionsRange$$;
14
+ readonly isInResolutionsRange$: BehaviorSubject<boolean>;
15
+ get saveableOptions(): Partial<LayerGroupOptions>;
16
+ get descendants(): AnyLayer[];
17
+ get descendantsLevel(): number;
18
+ constructor(children: AnyLayer[] | null, options: LayerGroupOptions);
19
+ init(map: MapBase): void;
20
+ add(parent?: LayerGroupBase): void;
21
+ addChild(...layers: AnyLayer[]): void;
22
+ remove(): void;
23
+ removeChild(layer: AnyLayer): void;
24
+ isDescendant(layer: AnyLayer): boolean;
25
+ private setChildrenObserver;
26
+ protected createOlLayer(): Group;
27
+ private hasChildren;
28
+ /** recursive */
29
+ private _getDescendants;
30
+ /** recursive */
31
+ private _getDescendantsLevel;
32
+ }
@@ -0,0 +1,8 @@
1
+ import { AnyLayerOptions } from './any-layer.interface';
2
+ import type { LayerOptionsBase } from './layer.interface';
3
+ export interface LayerGroupOptions extends Omit<LayerOptionsBase, 'title'> {
4
+ type: 'group';
5
+ title: string;
6
+ expanded?: boolean;
7
+ children?: AnyLayerOptions[];
8
+ }
@@ -1,65 +1,44 @@
1
1
  import { AuthInterceptor } from '@igo2/auth';
2
2
  import { MessageService } from '@igo2/core/message';
3
- import { SubjectStatus } from '@igo2/utils';
4
- import olLayer from 'ol/layer/Layer';
5
- import olSource from 'ol/source/Source';
6
- import { BehaviorSubject, Observable, Subject } from 'rxjs';
7
- import { DataSource } from '../../../datasource/shared/datasources/datasource';
8
- import { Legend } from '../../../datasource/shared/datasources/datasource.interface';
3
+ import OlLayer from 'ol/layer/Layer';
4
+ import { Source } from 'ol/source';
5
+ import { BehaviorSubject } from 'rxjs';
6
+ import { DataSource, Legend } from '../../../datasource/shared/datasources';
9
7
  import type { MapBase } from '../../../map/shared/map.abstract';
10
- import { GeoDBService } from '../../../offline/geoDB/geoDB.service';
11
- import { LayerDBService } from '../../../offline/layerDB/layerDB.service';
12
- import { LayerOptions } from './layer.interface';
13
- export declare abstract class Layer {
8
+ import { LayerBase, LayerGroupBase } from './layer-base';
9
+ import { type LayerGroup } from './layer-group';
10
+ import { type LayerOptions } from './layer.interface';
11
+ import { Linked } from './linked/linked-layer';
12
+ export declare abstract class Layer extends LayerBase {
14
13
  options: LayerOptions;
15
14
  protected messageService?: MessageService;
16
15
  protected authInterceptor?: AuthInterceptor;
17
- protected geoDBService?: GeoDBService;
18
- layerDBService?: LayerDBService;
19
- collapsed: boolean;
20
16
  dataSource: DataSource;
17
+ parent: LayerGroup;
18
+ ol: OlLayer<Source>;
19
+ hasBeenVisible$: BehaviorSubject<boolean>;
21
20
  legend: Legend[];
22
21
  legendCollapsed: boolean;
23
- firstLoadComponent: boolean;
24
- map: MapBase;
25
- ol: olLayer<olSource>;
26
- olLoadingProblem: boolean;
27
- status$: Subject<SubjectStatus>;
28
- hasBeenVisible$: BehaviorSubject<boolean>;
29
- private hasBeenVisible$$;
22
+ link?: Linked;
23
+ linkMaster?: Linked;
30
24
  private resolution$$;
31
- /**
32
- * Define if a layer is generated by code OR defined by layer/context user layer.
33
- * Useful for filtering layers list in mapOffline.directive or in the sharemap...
34
- * return false by default.
35
- */
36
- get isIgoInternalLayer(): boolean;
37
25
  get id(): string;
38
- get alias(): string;
39
- get title(): string;
40
- set title(title: string);
41
- get zIndex(): number;
42
- set zIndex(zIndex: number);
43
- get baseLayer(): boolean;
44
- set baseLayer(baseLayer: boolean);
45
- get opacity(): number;
46
- set opacity(opacity: number);
47
- set isInResolutionsRange(value: boolean);
48
- get isInResolutionsRange(): boolean;
49
- readonly isInResolutionsRange$: BehaviorSubject<boolean>;
50
- set maxResolution(value: number);
26
+ get visible(): boolean;
27
+ set visible(value: boolean);
51
28
  get maxResolution(): number;
52
- set minResolution(value: number);
29
+ set maxResolution(value: number);
53
30
  get minResolution(): number;
54
- set visible(value: boolean);
55
- get visible(): boolean;
56
- readonly visible$: BehaviorSubject<boolean>;
57
- get displayed(): boolean;
58
- readonly displayed$: Observable<boolean>;
59
- get showInLayerList(): boolean;
60
- constructor(options: LayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor, geoDBService?: GeoDBService, layerDBService?: LayerDBService);
61
- protected abstract createOlLayer(): olLayer<olSource>;
62
- setMap(map: MapBase | undefined): void;
31
+ set minResolution(value: number);
32
+ get saveableOptions(): Partial<LayerOptions> | undefined;
33
+ constructor(options: LayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor);
34
+ protected abstract createOlLayer(): OlLayer<Source>;
35
+ init(map: MapBase): void;
36
+ createLink(): void;
37
+ remove(): void;
38
+ add(parent?: LayerGroupBase): void;
39
+ moveTo(parent?: LayerGroup): void;
40
+ private createLinkWithParent;
41
+ private findParentByLinkId;
63
42
  private showMessage;
64
43
  private observeResolution;
65
44
  private unobserveResolution;
@@ -1,40 +1,46 @@
1
1
  import { Message } from '@igo2/core/message';
2
2
  import olLayer from 'ol/layer/Layer';
3
3
  import olSource from 'ol/source/Source';
4
- import { AnyDataSourceOptions } from '../../../datasource/shared/datasources/any-datasource.interface';
5
- import { DataSource } from '../../../datasource/shared/datasources/datasource';
6
- import { MapExtent } from '../../../map/shared/map.interface';
7
- import { LegendOptions } from './legend.interface';
8
- export interface LayerOptions {
4
+ import type { AnyDataSourceOptions, DataSource } from '../../../datasource/shared/datasources';
5
+ import type { MapExtent } from '../../../map/shared/map.interface';
6
+ import type { LegendOptions } from './legend.interface';
7
+ import type { LayersLink } from './linked/linked-layer.interface';
8
+ export interface LayerOptions extends LayerOptionsBase {
9
9
  isIgoInternalLayer?: boolean;
10
10
  source?: DataSource;
11
11
  sourceOptions?: AnyDataSourceOptions;
12
- title?: string;
13
- id?: string;
14
12
  alias?: string;
15
13
  security?: LayerSecurityOptions;
16
14
  baseLayer?: boolean;
17
- opacity?: number;
18
- visible?: boolean;
19
- extent?: MapExtent;
20
- zIndex?: number;
21
15
  messages?: Message[];
22
- minResolution?: number;
23
- maxResolution?: number;
24
16
  minScaleDenom?: number;
25
17
  maxScaleDenom?: number;
26
- showInLayerList?: boolean;
27
18
  removable?: boolean;
28
19
  workspace?: GeoWorkspaceOptions;
29
20
  legendOptions?: LegendOptions;
30
21
  ol?: olLayer<olSource>;
31
22
  tooltip?: TooltipContent;
32
23
  _internal?: Record<string, string>;
33
- active?: boolean;
34
- check?: boolean;
35
24
  linkedLayers?: LayersLink;
36
25
  showButtonZoomToExtent?: boolean;
37
26
  }
27
+ export interface LayerOptionsBase {
28
+ id?: string | number;
29
+ /**
30
+ * An unique identifier calculated client side
31
+ * The name prop provide a way to have a unique identifier between all layers
32
+ **/
33
+ name?: string;
34
+ title?: string;
35
+ opacity?: number;
36
+ visible?: boolean;
37
+ extent?: MapExtent;
38
+ zIndex?: number;
39
+ minResolution?: number;
40
+ maxResolution?: number;
41
+ showInLayerList?: boolean;
42
+ parentId?: string;
43
+ }
38
44
  export interface LayerSecurityOptions {
39
45
  profils?: string[];
40
46
  }
@@ -54,31 +60,6 @@ export interface GeoWorkspaceQueryOptions {
54
60
  mapQueryOnOpenTab?: boolean;
55
61
  tabQuery?: boolean;
56
62
  }
57
- export interface LayersLink {
58
- linkId: string;
59
- /** Default value is true */
60
- showInMiniBaseMap?: boolean;
61
- links?: LayersLinkProperties[];
62
- }
63
- export interface LayersLinkProperties {
64
- linkedIds: string[];
65
- syncedDelete: boolean;
66
- properties: LinkedProperties[];
67
- }
68
- export declare enum LinkedProperties {
69
- OPACITY = "opacity",
70
- VISIBLE = "visible",
71
- OGCFILTERS = "ogcFilters",
72
- MINRESOLUTION = "minResolution",
73
- MAXRESOLUTION = "maxResolution",
74
- ZINDEX = "zIndex",
75
- TIMEFILTER = "timeFilter"
76
- }
77
- export interface GroupLayers {
78
- title: string;
79
- layers?: LayerOptions;
80
- collapsed?: boolean;
81
- }
82
63
  export interface TooltipContent {
83
64
  type?: TooltipType;
84
65
  text?: string;
@@ -88,3 +69,4 @@ export declare enum TooltipType {
88
69
  ABSTRACT = "abstract",
89
70
  CUSTOM = "custom"
90
71
  }
72
+ export type LayerType = 'vector' | 'raster' | 'group';
@@ -0,0 +1,3 @@
1
+ export * from './linked-layer';
2
+ export * from './linked-layer.interface';
3
+ export * from './linked-layer.utils';
@@ -0,0 +1,35 @@
1
+ import type { LayerController } from '../../layer-controller';
2
+ import type { Layer } from '../layer';
3
+ import type { LayerGroup } from '../layer-group';
4
+ import { LayersLinkProperties } from './linked-layer.interface';
5
+ export declare class Linked {
6
+ layer: Layer;
7
+ private children;
8
+ private watcher;
9
+ private bidirectionnalChildren;
10
+ private childrenByProperty;
11
+ private disabledProperties;
12
+ constructor(layer: Layer);
13
+ get options(): import("@igo2/geo").LayerOptions;
14
+ get links(): LayersLinkProperties[];
15
+ get map(): import("@igo2/geo").MapBase;
16
+ init(): void;
17
+ private initZIndexLinkOptions;
18
+ destroy(): void;
19
+ add(layer: Layer): void;
20
+ hasSyncDeletion(layer: Layer): boolean;
21
+ remove(layer: Layer): void;
22
+ deleteChildren(controller: LayerController): void;
23
+ move(layer: Layer, parent?: LayerGroup): void;
24
+ private disable;
25
+ private enable;
26
+ private getByProperty;
27
+ private propertyIsDisabled;
28
+ private getLayerLinks;
29
+ private removeArrayItem;
30
+ private getLinkedLayersOnZindex;
31
+ private unwatch;
32
+ private handleChange;
33
+ private handleDisplayChange;
34
+ private findChildren;
35
+ }
@@ -0,0 +1,32 @@
1
+ import type { AnyLayer } from '../any-layer';
2
+ import type { Layer } from '../layer';
3
+ export type AnyPropertyOptions = ZindexPropertyOptions | BasePropertyOptions;
4
+ export interface ZindexPropertyOptions extends BasePropertyOptions {
5
+ initialOrder: AnyLayer[];
6
+ }
7
+ interface BasePropertyOptions {
8
+ layers: Layer[];
9
+ }
10
+ export interface LayersLink {
11
+ linkId: string;
12
+ /** Default value is true */
13
+ showInMiniBaseMap?: boolean;
14
+ links?: LayersLinkProperties[];
15
+ }
16
+ export interface LayersLinkProperties {
17
+ bidirectionnal?: boolean;
18
+ linkedIds: string[];
19
+ syncedDelete: boolean;
20
+ properties: LinkedProperties[];
21
+ }
22
+ export declare enum LinkedProperties {
23
+ OPACITY = "opacity",
24
+ VISIBLE = "visible",
25
+ DISPLAYED = "displayed",
26
+ OGCFILTERS = "ogcFilters",
27
+ MINRESOLUTION = "minResolution",
28
+ MAXRESOLUTION = "maxResolution",
29
+ ZINDEX = "zIndex",
30
+ TIMEFILTER = "timeFilter"
31
+ }
32
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { AnyLayer } from '../any-layer';
2
+ import type { AnyLayerItemOptions, AnyLayerOptions } from '../any-layer.interface';
3
+ import type { Layer } from '../layer';
4
+ import type { LinkedProperties } from './linked-layer.interface';
5
+ export declare function isLayerLinked(layer: AnyLayer): layer is Layer;
6
+ export declare function isLinkMaster(layer: Layer): boolean;
7
+ export declare function isLayerLinkedTogether(layerA: AnyLayer, layerB: AnyLayer, layers: AnyLayer[], property?: LinkedProperties): boolean;
8
+ export declare function isLayerLinkedOptions(options: AnyLayerOptions): options is AnyLayerItemOptions;
9
+ export declare function isBaseLayerLinked(layer: AnyLayer, allLayers: AnyLayer[]): layer is Layer;
@@ -8,12 +8,14 @@ import { TileArcGISRestDataSource } from '../../../datasource/shared/datasources
8
8
  import { TileDebugDataSource } from '../../../datasource/shared/datasources/tiledebug-datasource';
9
9
  import { WMTSDataSource } from '../../../datasource/shared/datasources/wmts-datasource';
10
10
  import { XYZDataSource } from '../../../datasource/shared/datasources/xyz-datasource';
11
- import { IgoMap } from '../../../map/shared/map';
11
+ import type { MapBase } from '../../../map/shared/map.abstract';
12
12
  import { Layer } from './layer';
13
+ import { LayerType } from './layer.interface';
13
14
  import { TileLayerOptions } from './tile-layer.interface';
14
15
  export declare class TileLayer extends Layer {
15
16
  messageService?: MessageService;
16
17
  authInterceptor?: AuthInterceptor;
18
+ type: LayerType;
17
19
  dataSource: OSMDataSource | WMTSDataSource | XYZDataSource | TileDebugDataSource | CartoDataSource | TileArcGISRestDataSource;
18
20
  options: TileLayerOptions;
19
21
  ol: olLayerTile<olSourceTile>;
@@ -27,5 +29,6 @@ export declare class TileLayer extends Layer {
27
29
  * @param url the url string or function to retrieve the data
28
30
  */
29
31
  customLoader(tile: any, url: string, interceptor: AuthInterceptor): void;
30
- setMap(map: IgoMap | undefined): void;
32
+ init(map: MapBase | undefined): void;
33
+ remove(): void;
31
34
  }
@@ -11,18 +11,21 @@ import { FeatureDataSource } from '../../../datasource/shared/datasources/featur
11
11
  import { WebSocketDataSource } from '../../../datasource/shared/datasources/websocket-datasource';
12
12
  import { WFSDataSource } from '../../../datasource/shared/datasources/wfs-datasource';
13
13
  import { WFSDataSourceOptions } from '../../../datasource/shared/datasources/wfs-datasource.interface';
14
- import { IgoMap, MapExtent } from '../../../map/shared';
14
+ import type { MapBase } from '../../../map/shared/map.abstract';
15
+ import { MapExtent } from '../../../map/shared/map.interface';
15
16
  import { GeoDBService } from '../../../offline/geoDB/geoDB.service';
16
17
  import { LayerDBService } from '../../../offline/layerDB/layerDB.service';
17
18
  import { GeoNetworkService } from '../../../offline/shared/geo-network.service';
18
19
  import { Layer } from './layer';
19
- import { VectorLayerOptions } from './vector-layer.interface';
20
+ import { LayerType } from './layer.interface';
21
+ import type { VectorLayerOptions } from './vector-layer.interface';
20
22
  export declare class VectorLayer extends Layer {
21
23
  messageService?: MessageService;
22
24
  authInterceptor?: AuthInterceptor;
23
25
  private geoNetworkService?;
24
26
  geoDBService?: GeoDBService;
25
27
  layerDBService?: LayerDBService;
28
+ type: LayerType;
26
29
  private previousLoadExtent;
27
30
  private previousLoadResolution;
28
31
  private previousOgcFilters;
@@ -36,11 +39,12 @@ export declare class VectorLayer extends Layer {
36
39
  get exportable(): boolean;
37
40
  constructor(options: VectorLayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor, geoNetworkService?: GeoNetworkService, geoDBService?: GeoDBService, layerDBService?: LayerDBService);
38
41
  protected createOlLayer(): olLayerVector<olSourceVector>;
39
- removeLayerFromIDB(): void;
42
+ remove(): void;
43
+ private removeLayerFromIDB;
40
44
  private maintainOptionsInIdb;
41
45
  private maintainFeaturesInIdb;
42
46
  protected flash(feature: any): void;
43
- setMap(map: IgoMap | undefined): void;
47
+ init(map: MapBase | undefined): void;
44
48
  setExtent(extent: MapExtent): void;
45
49
  onUnwatch(): void;
46
50
  stopAnimation(): void;
@@ -66,7 +70,6 @@ export declare class VectorLayer extends Layer {
66
70
  * Custom loader to get feature from a WFS datasource
67
71
  * @internal
68
72
  * @param vectorSource the vector source to be created
69
- * @param interceptor the interceptor of the data
70
73
  * @param extent the extent of the requested data
71
74
  * @param dataProjection the projection of the retrieved data
72
75
  * @param featureProjection the projection of the created features
@@ -80,7 +83,6 @@ export declare class VectorLayer extends Layer {
80
83
  * @internal
81
84
  * @param vectorSource the vector source to be created
82
85
  * @param url the url string or function to retrieve the data
83
- * @param interceptor the interceptor of the data
84
86
  * @param extent the extent of the requested data
85
87
  * @param resolution the current resolution
86
88
  * @param projection the projection to retrieve the data
@@ -91,7 +93,6 @@ export declare class VectorLayer extends Layer {
91
93
  * @internal
92
94
  * @param vectorSource the vector source to be created
93
95
  * @param layerID the url string or function to retrieve the data
94
- * @param interceptor the interceptor of the data
95
96
  * @param extent the extent of the requested data
96
97
  * @param resolution the current resolution
97
98
  * @param projection the projection to retrieve the data
@@ -2,12 +2,14 @@ import { AuthInterceptor } from '@igo2/auth';
2
2
  import { MessageService } from '@igo2/core/message';
3
3
  import olLayerVectorTile from 'ol/layer/VectorTile';
4
4
  import { MVTDataSource } from '../../../datasource/shared/datasources/mvt-datasource';
5
- import { IgoMap } from '../../../map/shared/map';
5
+ import type { MapBase } from '../../../map/shared/map.abstract';
6
6
  import { Layer } from './layer';
7
+ import { LayerType } from './layer.interface';
7
8
  import { VectorTileLayerOptions } from './vectortile-layer.interface';
8
9
  export declare class VectorTileLayer extends Layer {
9
10
  messageService?: MessageService;
10
11
  authInterceptor?: AuthInterceptor;
12
+ type: LayerType;
11
13
  dataSource: MVTDataSource;
12
14
  options: VectorTileLayerOptions;
13
15
  ol: olLayerVectorTile;
@@ -24,5 +26,6 @@ export declare class VectorTileLayer extends Layer {
24
26
  * @param failure On failure event action to trigger TODO
25
27
  */
26
28
  customLoader(url: any, format: any, interceptor: any, success: any, failure?: any): (extent: any, resolution: any, projection: any) => void;
27
- setMap(map: IgoMap | undefined): void;
29
+ init(map: MapBase | undefined): void;
30
+ remove(): void;
28
31
  }