@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,199 @@
1
+ import { BehaviorSubject, combineLatest } from 'rxjs';
2
+ import { getResolutionFromScale } from '../../../map/shared/map.utils';
3
+ export class LayerBase {
4
+ options;
5
+ collapsed;
6
+ firstLoadComponent = true;
7
+ map;
8
+ olLoadingProblem = false;
9
+ status$;
10
+ dataSource;
11
+ /**
12
+ * Define if a layer is generated by code OR defined by layer/context user layer.
13
+ * Useful for filtering layers list in mapOffline.directive or in the sharemap...
14
+ * return false by default.
15
+ */
16
+ get isIgoInternalLayer() {
17
+ return this.options.isIgoInternalLayer || false;
18
+ }
19
+ get id() {
20
+ return String(this.options.id);
21
+ }
22
+ get parentId() {
23
+ return this.options.parentId;
24
+ }
25
+ get alias() {
26
+ return this.options.alias;
27
+ }
28
+ get title() {
29
+ return this.options.title;
30
+ }
31
+ set title(title) {
32
+ this.options.title = title;
33
+ }
34
+ get zIndex() {
35
+ return this.ol.getZIndex();
36
+ }
37
+ set zIndex(zIndex) {
38
+ if (zIndex === this.zIndex) {
39
+ return;
40
+ }
41
+ this.ol.setZIndex(zIndex);
42
+ }
43
+ get baseLayer() {
44
+ return this.options.baseLayer;
45
+ }
46
+ set baseLayer(baseLayer) {
47
+ this.options.baseLayer = baseLayer;
48
+ }
49
+ get opacity() {
50
+ return this.ol.get('opacity');
51
+ }
52
+ set opacity(opacity) {
53
+ this.ol.setOpacity(opacity);
54
+ }
55
+ set isInResolutionsRange(value) {
56
+ this.isInResolutionsRange$.next(value);
57
+ }
58
+ get isInResolutionsRange() {
59
+ return this.isInResolutionsRange$.value;
60
+ }
61
+ isInResolutionsRange$ = new BehaviorSubject(false);
62
+ set maxResolution(value) {
63
+ this.ol.setMaxResolution(value === 0 ? 0 : value || Infinity);
64
+ }
65
+ get maxResolution() {
66
+ return this.ol.getMaxResolution();
67
+ }
68
+ set minResolution(value) {
69
+ this.ol.setMinResolution(value || 0);
70
+ }
71
+ get minResolution() {
72
+ return this.ol.getMinResolution();
73
+ }
74
+ set visible(value) {
75
+ if (value === this.visible) {
76
+ return;
77
+ }
78
+ this.ol.setVisible(value);
79
+ this._visible$.next(value);
80
+ }
81
+ get visible() {
82
+ return this._visible$.value;
83
+ }
84
+ _visible$ = new BehaviorSubject(undefined);
85
+ visible$ = this._visible$.asObservable();
86
+ get displayed() {
87
+ return this._displayed$.value;
88
+ }
89
+ set displayed(value) {
90
+ if (value === this.displayed) {
91
+ return;
92
+ }
93
+ this._displayed$.next(value);
94
+ }
95
+ _displayed$ = new BehaviorSubject(undefined);
96
+ displayed$ = this._displayed$.asObservable();
97
+ displayed$$;
98
+ get showInLayerList() {
99
+ return this.options.showInLayerList !== false;
100
+ }
101
+ get saveableOptions() {
102
+ return {
103
+ title: this.options.title,
104
+ zIndex: this.zIndex,
105
+ visible: this.visible,
106
+ security: this.options.security,
107
+ opacity: this.opacity
108
+ };
109
+ }
110
+ constructor(options) {
111
+ this.options = options;
112
+ this.initDisplayed$$();
113
+ }
114
+ afterCreated() {
115
+ if (this.options.zIndex !== undefined) {
116
+ this.zIndex = this.options.zIndex;
117
+ }
118
+ if (this.options.baseLayer && this.options.visible === undefined) {
119
+ this.options.visible = false;
120
+ }
121
+ this.maxResolution =
122
+ this.options.maxResolution ||
123
+ getResolutionFromScale(Number(this.options.maxScaleDenom));
124
+ this.minResolution =
125
+ this.options.minResolution ||
126
+ getResolutionFromScale(Number(this.options.minScaleDenom));
127
+ this.visible =
128
+ this.options.visible === undefined ? true : this.options.visible;
129
+ this.opacity =
130
+ this.options.opacity === undefined ? 1 : this.options.opacity;
131
+ }
132
+ init(map) {
133
+ this.map = map;
134
+ }
135
+ add(parent) {
136
+ this._add(parent);
137
+ }
138
+ _add(parent) {
139
+ this.addParent(parent);
140
+ this.parent ? this.parent.addChild(this) : this.map.ol.addLayer(this.ol);
141
+ }
142
+ addParent(parent) {
143
+ if (this.parent && this.parent === parent) {
144
+ return;
145
+ }
146
+ this.parent = parent;
147
+ if (!this.map && this.parent) {
148
+ this.map = this.parent.map;
149
+ }
150
+ this.initDisplayed$$();
151
+ }
152
+ remove() {
153
+ this._remove();
154
+ }
155
+ _remove() {
156
+ if (!this.map) {
157
+ console.error(`No map for ${this.title}`);
158
+ return;
159
+ }
160
+ this.parent
161
+ ? this.parent.removeChild(this)
162
+ : this.map.ol.removeLayer(this.ol);
163
+ }
164
+ reset(parent) {
165
+ this._remove();
166
+ this._add(parent);
167
+ }
168
+ moveTo(parent) {
169
+ if (parent == null && this.parent == null) {
170
+ return;
171
+ }
172
+ if (this.parent) {
173
+ if (this.parent.id === parent?.id) {
174
+ return;
175
+ }
176
+ }
177
+ this.reset(parent);
178
+ }
179
+ clone() {
180
+ const clone = Object.assign({}, this);
181
+ return Object.setPrototypeOf(clone, LayerBase.prototype);
182
+ }
183
+ initDisplayed$$() {
184
+ this.displayed$$?.unsubscribe();
185
+ const obs$ = [this.isInResolutionsRange$, this.visible$];
186
+ if (this.parent) {
187
+ obs$.push(this.parent.displayed$);
188
+ }
189
+ this.displayed$$ = combineLatest(obs$).subscribe(([inRes, visible, parentDisplayed = null]) => {
190
+ const isVisible = this.parent ? parentDisplayed && visible : visible;
191
+ this.displayed = isVisible && inRes;
192
+ });
193
+ }
194
+ }
195
+ export class LayerGroupBase extends LayerBase {
196
+ type = 'group';
197
+ children;
198
+ }
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsZUFBZSxFQUF5QixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFLdkUsTUFBTSxPQUFnQixTQUFTO0lBK0hWO0lBekhaLFNBQVMsQ0FBVTtJQUNuQixrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDMUIsR0FBRyxDQUFVO0lBQ2IsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLE9BQU8sQ0FBeUI7SUFDdkMsVUFBVSxDQUF5QjtJQUVuQzs7OztPQUlHO0lBQ0gsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxFQUFFO1FBQ0osT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFD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LEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUVoQyxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFekQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQzlDLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNyRSxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUM7UUFDdEMsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQWdCLGNBQWUsU0FBUSxTQUFTO0lBQ3BELElBQUksR0FBYyxPQUFPLENBQUM7SUFDMUIsUUFBUSxDQUFjO0NBT3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdFN0YXR1cyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IEJhc2VMYXllciBmcm9tICdvbC9sYXllci9CYXNlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZSc7XG5pbXBvcnQgdHlwZSB7IE1hcEJhc2UgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBnZXRSZXNvbHV0aW9uRnJvbVNjYWxlIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3NoYXJlZC9tYXAudXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBMYXllck9wdGlvbnMsIExheWVyVHlwZSB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgQW55TGF5ZXJCYXNlID0gTGF5ZXJCYXNlIHwgTGF5ZXJHcm91cEJhc2U7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMYXllckJhc2Uge1xuICBhYnN0cmFjdCB0eXBlOiBMYXllclR5cGU7XG4gIGFic3RyYWN0IG9sOiBCYXNlTGF5ZXI7XG4gIGFic3RyYWN0IHBhcmVudDogTGF5ZXJHcm91cEJhc2U7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVPbExheWVyKCk6IEJhc2VMYXllcjtcblxuICBwdWJsaWMgY29sbGFwc2VkOiBib29sZWFuO1xuICBwdWJsaWMgZmlyc3RMb2FkQ29tcG9uZW50ID0gdHJ1ZTtcbiAgcHVibGljIG1hcDogTWFwQmFzZTtcbiAgcHVibGljIG9sTG9hZGluZ1Byb2JsZW0gPSBmYWxzZTtcbiAgcHVibGljIHN0YXR1cyQ6IFN1YmplY3Q8U3ViamVjdFN0YXR1cz47XG4gIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIERlZmluZSBpZiBhIGxheWVyIGlzIGdlbmVyYXRlZCBieSBjb2RlIE9SIGRlZmluZWQgYnkgbGF5ZXIvY29udGV4dCB1c2VyIGxheWVyLlxuICAgKiBVc2VmdWwgZm9yIGZpbHRlcmluZyBsYXllcnMgbGlzdCBpbiBtYXBPZmZsaW5lLmRpcmVjdGl2ZSBvciBpbiB0aGUgc2hhcmVtYXAuLi5cbiAgICogcmV0dXJuIGZhbHNlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBnZXQgaXNJZ29JbnRlcm5hbExheWVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaXNJZ29JbnRlcm5hbExheWVyIHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZyh0aGlzLm9wdGlvbnMuaWQpO1xuICB9XG5cbiAgZ2V0IHBhcmVudElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5wYXJlbnRJZDtcbiAgfVxuXG4gIGdldCBhbGlhcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYWxpYXM7XG4gIH1cblxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRpdGxlO1xuICB9XG4gIHNldCB0aXRsZSh0aXRsZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vcHRpb25zLnRpdGxlID0gdGl0bGU7XG4gIH1cblxuICBnZXQgekluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMub2wuZ2V0WkluZGV4KCk7XG4gIH1cbiAgc2V0IHpJbmRleCh6SW5kZXg6IG51bWJlcikge1xuICAgIGlmICh6SW5kZXggPT09IHRoaXMuekluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub2wuc2V0WkluZGV4KHpJbmRleCk7XG4gIH1cblxuICBnZXQgYmFzZUxheWVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYmFzZUxheWVyO1xuICB9XG4gIHNldCBiYXNlTGF5ZXIoYmFzZUxheWVyOiBib29sZWFuKSB7XG4gICAgdGhpcy5vcHRpb25zLmJhc2VMYXllciA9IGJhc2VMYXllcjtcbiAgfVxuXG4gIGdldCBvcGFjaXR5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMub2wuZ2V0KCdvcGFjaXR5Jyk7XG4gIH1cbiAgc2V0IG9wYWNpdHkob3BhY2l0eTogbnVtYmVyKSB7XG4gICAgdGhpcy5vbC5zZXRPcGFjaXR5KG9wYWNpdHkpO1xuICB9XG5cbiAgc2V0IGlzSW5SZXNvbHV0aW9uc1JhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0luUmVzb2x1dGlvbnNSYW5nZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IGlzSW5SZXNvbHV0aW9uc1JhbmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5SZXNvbHV0aW9uc1JhbmdlJC52YWx1ZTtcbiAgfVxuICByZWFkb25seSBpc0luUmVzb2x1dGlvbnNSYW5nZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBzZXQgbWF4UmVzb2x1dGlvbih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5vbC5zZXRNYXhSZXNvbHV0aW9uKHZhbHVlID09PSAwID8gMCA6IHZhbHVlIHx8IEluZmluaXR5KTtcbiAgfVxuICBnZXQgbWF4UmVzb2x1dGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm9sLmdldE1heFJlc29sdXRpb24oKTtcbiAgfVxuXG4gIHNldCBtaW5SZXNvbHV0aW9uKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLm9sLnNldE1pblJlc29sdXRpb24odmFsdWUgfHwgMCk7XG4gIH1cbiAgZ2V0IG1pblJlc29sdXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5vbC5nZXRNaW5SZXNvbHV0aW9uKCk7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy52aXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub2wuc2V0VmlzaWJsZSh2YWx1ZSk7XG4gICAgdGhpcy5fdmlzaWJsZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGUkLnZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3Zpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICByZWFkb25seSB2aXNpYmxlJCA9IHRoaXMuX3Zpc2libGUkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGdldCBkaXNwbGF5ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXllZCQudmFsdWU7XG4gIH1cbiAgc2V0IGRpc3BsYXllZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5kaXNwbGF5ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fZGlzcGxheWVkJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9kaXNwbGF5ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICBkaXNwbGF5ZWQkID0gdGhpcy5fZGlzcGxheWVkJC5hc09ic2VydmFibGUoKTtcbiAgcHJpdmF0ZSBkaXNwbGF5ZWQkJDogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCBzaG93SW5MYXllckxpc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zaG93SW5MYXllckxpc3QgIT09IGZhbHNlO1xuICB9XG5cbiAgZ2V0IHNhdmVhYmxlT3B0aW9ucygpOiBQYXJ0aWFsPExheWVyT3B0aW9ucz4ge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogdGhpcy5vcHRpb25zLnRpdGxlLFxuICAgICAgekluZGV4OiB0aGlzLnpJbmRleCxcbiAgICAgIHZpc2libGU6IHRoaXMudmlzaWJsZSxcbiAgICAgIHNlY3VyaXR5OiB0aGlzLm9wdGlvbnMuc2VjdXJpdHksXG4gICAgICBvcGFjaXR5OiB0aGlzLm9wYWNpdHlcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6IExheWVyT3B0aW9ucykge1xuICAgIHRoaXMuaW5pdERpc3BsYXllZCQkKCk7XG4gIH1cblxuICBhZnRlckNyZWF0ZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy56SW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy56SW5kZXggPSB0aGlzLm9wdGlvbnMuekluZGV4O1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMuYmFzZUxheWVyICYmIHRoaXMub3B0aW9ucy52aXNpYmxlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMub3B0aW9ucy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5tYXhSZXNvbHV0aW9uID1cbiAgICAgIHRoaXMub3B0aW9ucy5tYXhSZXNvbHV0aW9uIHx8XG4gICAgICBnZXRSZXNvbHV0aW9uRnJvbVNjYWxlKE51bWJlcih0aGlzLm9wdGlvbnMubWF4U2NhbGVEZW5vbSkpO1xuICAgIHRoaXMubWluUmVzb2x1dGlvbiA9XG4gICAgICB0aGlzLm9wdGlvbnMubWluUmVzb2x1dGlvbiB8fFxuICAgICAgZ2V0UmVzb2x1dGlvbkZyb21TY2FsZShOdW1iZXIodGhpcy5vcHRpb25zLm1pblNjYWxlRGVub20pKTtcblxuICAgIHRoaXMudmlzaWJsZSA9XG4gICAgICB0aGlzLm9wdGlvbnMudmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHRoaXMub3B0aW9ucy52aXNpYmxlO1xuICAgIHRoaXMub3BhY2l0eSA9XG4gICAgICB0aGlzLm9wdGlvbnMub3BhY2l0eSA9PT0gdW5kZWZpbmVkID8gMSA6IHRoaXMub3B0aW9ucy5vcGFjaXR5O1xuICB9XG5cbiAgaW5pdChtYXA6IE1hcEJhc2UpOiB2b2lkIHtcbiAgICB0aGlzLm1hcCA9IG1hcDtcbiAgfVxuXG4gIGFkZChwYXJlbnQ/OiBMYXllckdyb3VwQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuX2FkZChwYXJlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkKHBhcmVudD86IExheWVyR3JvdXBCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5hZGRQYXJlbnQocGFyZW50KTtcbiAgICB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50LmFkZENoaWxkKHRoaXMpIDogdGhpcy5tYXAub2wuYWRkTGF5ZXIodGhpcy5vbCk7XG4gIH1cblxuICBhZGRQYXJlbnQocGFyZW50PzogTGF5ZXJHcm91cEJhc2UpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQgPT09IHBhcmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuXG4gICAgaWYgKCF0aGlzLm1hcCAmJiB0aGlzLnBhcmVudCkge1xuICAgICAgdGhpcy5tYXAgPSB0aGlzLnBhcmVudC5tYXA7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0RGlzcGxheWVkJCQoKTtcbiAgfVxuXG4gIHJlbW92ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZW1vdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWFwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBObyBtYXAgZm9yICR7dGhpcy50aXRsZX1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wYXJlbnRcbiAgICAgID8gdGhpcy5wYXJlbnQucmVtb3ZlQ2hpbGQodGhpcylcbiAgICAgIDogdGhpcy5tYXAub2wucmVtb3ZlTGF5ZXIodGhpcy5vbCk7XG4gIH1cblxuICByZXNldChwYXJlbnQ/OiBMYXllckdyb3VwQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuX3JlbW92ZSgpO1xuICAgIHRoaXMuX2FkZChwYXJlbnQpO1xuICB9XG5cbiAgbW92ZVRvKHBhcmVudD86IExheWVyR3JvdXBCYXNlKTogdm9pZCB7XG4gICAgaWYgKHBhcmVudCA9PSBudWxsICYmIHRoaXMucGFyZW50ID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wYXJlbnQpIHtcbiAgICAgIGlmICh0aGlzLnBhcmVudC5pZCA9PT0gcGFyZW50Py5pZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5yZXNldChwYXJlbnQpO1xuICB9XG5cbiAgY2xvbmUoKTogTGF5ZXJCYXNlIHtcbiAgICBjb25zdCBjbG9uZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMpO1xuICAgIHJldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoY2xvbmUsIExheWVyQmFzZS5wcm90b3R5cGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RGlzcGxheWVkJCQoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWQkJD8udW5zdWJzY3JpYmUoKTtcblxuICAgIGNvbnN0IG9icyQgPSBbdGhpcy5pc0luUmVzb2x1dGlvbnNSYW5nZSQsIHRoaXMudmlzaWJsZSRdO1xuXG4gICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICBvYnMkLnB1c2godGhpcy5wYXJlbnQuZGlzcGxheWVkJCk7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwbGF5ZWQkJCA9IGNvbWJpbmVMYXRlc3Qob2JzJCkuc3Vic2NyaWJlKFxuICAgICAgKFtpblJlcywgdmlzaWJsZSwgcGFyZW50RGlzcGxheWVkID0gbnVsbF0pID0+IHtcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gdGhpcy5wYXJlbnQgPyBwYXJlbnREaXNwbGF5ZWQgJiYgdmlzaWJsZSA6IHZpc2libGU7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkID0gaXNWaXNpYmxlICYmIGluUmVzO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExheWVyR3JvdXBCYXNlIGV4dGVuZHMgTGF5ZXJCYXNlIHtcbiAgdHlwZTogTGF5ZXJUeXBlID0gJ2dyb3VwJztcbiAgY2hpbGRyZW46IExheWVyQmFzZVtdO1xuXG4gIGFic3RyYWN0IGdldCBkZXNjZW5kYW50cygpOiBMYXllckJhc2VbXTtcblxuICBhYnN0cmFjdCBhZGRDaGlsZChsYXllcjogTGF5ZXJCYXNlKTogdm9pZDtcbiAgYWJzdHJhY3QgcmVtb3ZlQ2hpbGQobGF5ZXI6IExheWVyQmFzZSk6IHZvaWQ7XG4gIGFic3RyYWN0IGlzRGVzY2VuZGFudChsYXllcjogTGF5ZXJCYXNlKTogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItZ3JvdXAuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllci1ncm91cC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFueUxheWVyT3B0aW9ucyB9IGZyb20gJy4vYW55LWxheWVyLmludGVyZmFjZSc7XG5pbXBvcnQgdHlwZSB7IExheWVyT3B0aW9uc0Jhc2UgfSBmcm9tICcuL2xheWVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJHcm91cE9wdGlvbnMgZXh0ZW5kcyBPbWl0PExheWVyT3B0aW9uc0Jhc2UsICd0aXRsZSc+IHtcbiAgdHlwZTogJ2dyb3VwJztcbiAgdGl0bGU6IHN0cmluZztcbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IEFueUxheWVyT3B0aW9uc1tdO1xufVxuIl19
@@ -0,0 +1,120 @@
1
+ import { uuid } from '@igo2/utils';
2
+ import { Group } from 'ol/layer.js';
3
+ import { BehaviorSubject, combineLatest } from 'rxjs';
4
+ import { LayerGroupBase } from './layer-base';
5
+ const ID_PREFIX = 'local-group_';
6
+ export class LayerGroup extends LayerGroupBase {
7
+ children;
8
+ options;
9
+ parent;
10
+ expanded;
11
+ isInResolutionsRange$$;
12
+ isInResolutionsRange$ = new BehaviorSubject(true);
13
+ get saveableOptions() {
14
+ return {
15
+ ...super.saveableOptions,
16
+ id: String(this.options.id).includes(ID_PREFIX) ? null : this.options.id,
17
+ type: this.options.type,
18
+ children: [...this.children]
19
+ .map((layer) => layer.saveableOptions)
20
+ .filter(Boolean),
21
+ expanded: this.expanded
22
+ };
23
+ }
24
+ get descendants() {
25
+ return this._getDescendants();
26
+ }
27
+ get descendantsLevel() {
28
+ return this._getDescendantsLevel();
29
+ }
30
+ constructor(children, options) {
31
+ super(options);
32
+ this.children = children;
33
+ this.options = options;
34
+ this.children = children ?? [];
35
+ this.expanded = options.expanded === undefined ? false : options.expanded;
36
+ if (!options.id) {
37
+ options.id = ID_PREFIX + uuid();
38
+ }
39
+ this.ol = this.createOlLayer();
40
+ super.afterCreated();
41
+ }
42
+ init(map) {
43
+ super.init(map);
44
+ this.children.forEach((child) => child.init(map));
45
+ }
46
+ add(parent) {
47
+ super.add(parent);
48
+ this.setChildrenObserver();
49
+ this.children.forEach((layer) => {
50
+ layer.add(this);
51
+ });
52
+ }
53
+ addChild(...layers) {
54
+ this.ol.getLayers().extend(layers.map((layer) => layer.ol));
55
+ layers.forEach((layer) => {
56
+ if (this.hasChildren(layer)) {
57
+ return;
58
+ }
59
+ layer.addParent(this);
60
+ this.children.push(layer);
61
+ });
62
+ this.setChildrenObserver();
63
+ }
64
+ remove() {
65
+ super.remove();
66
+ this.children.forEach((layer) => layer.remove());
67
+ }
68
+ removeChild(layer) {
69
+ this.ol.getLayers().remove(layer.ol);
70
+ const index = this.children.indexOf(layer);
71
+ if (index >= 0) {
72
+ this.children.splice(index, 1);
73
+ }
74
+ layer.parent = null;
75
+ layer.options.parentId = null;
76
+ this.setChildrenObserver();
77
+ }
78
+ isDescendant(layer) {
79
+ return this._getDescendants().some((descendant) => descendant.id === layer.id);
80
+ }
81
+ setChildrenObserver() {
82
+ this.isInResolutionsRange$$?.unsubscribe();
83
+ if (!this.children) {
84
+ return;
85
+ }
86
+ const observers = this.children.map((layer) => layer.isInResolutionsRange$);
87
+ this.isInResolutionsRange$$ = combineLatest(observers).subscribe((values) => {
88
+ this.isInResolutionsRange = values.some((value) => value);
89
+ });
90
+ }
91
+ createOlLayer() {
92
+ return new Group({ properties: { title: this.title } });
93
+ }
94
+ hasChildren(layer) {
95
+ return this.children.some((child) => child.id === layer.id);
96
+ }
97
+ /** recursive */
98
+ _getDescendants(children = this.children) {
99
+ return children.reduce((list, child) => {
100
+ if (child instanceof LayerGroup) {
101
+ return list.concat(child, ...this._getDescendants(child.children));
102
+ }
103
+ else {
104
+ return list.concat(child);
105
+ }
106
+ }, []);
107
+ }
108
+ /** recursive */
109
+ _getDescendantsLevel(children = this.children) {
110
+ return children.reduce((level, child) => {
111
+ if (child instanceof LayerGroup) {
112
+ level = level + 1;
113
+ const descendantLevel = this._getDescendantsLevel(child.children);
114
+ return level + descendantLevel;
115
+ }
116
+ return level;
117
+ }, 0);
118
+ }
119
+ }
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEVBQUUsZUFBZSxFQUFnQixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc5QyxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUM7QUFFakMsTUFBTSxPQUFPLFVBQVcsU0FBUSxjQUFjO0lBNEJuQztJQUNBO0lBNUJULE1BQU0sQ0FBYTtJQUVuQixRQUFRLENBQVU7SUFDVixzQkFBc0IsQ0FBZTtJQUNwQyxxQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUzRCxJQUFJLGVBQWU7UUFDakIsT0FBTztZQUNMLEdBQUcsS0FBSyxDQUFDLGVBQWU7WUFDeEIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTtZQUN2QixRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7aUJBQ3pCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztpQkFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNsQixRQUFRLEVBQUUsSUFB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USxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGdCQUFnQjtJQUNSLGVBQWUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVE7UUFDOUMsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3JDLElBQUksS0FBSyxZQUFZLFVBQVUsRUFBRSxDQUFDO2dCQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNyRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ1Isb0JBQW9CLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRO1FBQ25ELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN0QyxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUUsQ0FBQztnQkFDaEMsS0FBSyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xFLE9BQU8sS0FBSyxHQUFHLGVBQWUsQ0FBQztZQUNqQyxDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dWlkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ29sL2xheWVyLmpzJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUgeyBNYXBCYXNlIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3NoYXJlZC9tYXAuYWJzdHJhY3QnO1xuaW1wb3J0IHsgdHlwZSBBbnlMYXllciB9IGZyb20gJy4vYW55LWxheWVyJztcbmltcG9ydCB7IExheWVyR3JvdXBCYXNlIH0gZnJvbSAnLi9sYXllci1iYXNlJztcbmltcG9ydCB7IHR5cGUgTGF5ZXJHcm91cE9wdGlvbnMgfSBmcm9tICcuL2xheWVyLWdyb3VwLmludGVyZmFjZSc7XG5cbmNvbnN0IElEX1BSRUZJWCA9ICdsb2NhbC1ncm91cF8nO1xuXG5leHBvcnQgY2xhc3MgTGF5ZXJHcm91cCBleHRlbmRzIExheWVyR3JvdXBCYXNlIHtcbiAgcGFyZW50OiBMYXllckdyb3VwO1xuICBkZWNsYXJlIG9sOiBHcm91cDtcbiAgZXhwYW5kZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgaXNJblJlc29sdXRpb25zUmFuZ2UkJDogU3Vic2NyaXB0aW9uO1xuICByZWFkb25seSBpc0luUmVzb2x1dGlvbnNSYW5nZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuXG4gIGdldCBzYXZlYWJsZU9wdGlvbnMoKTogUGFydGlhbDxMYXllckdyb3VwT3B0aW9ucz4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5zYXZlYWJsZU9wdGlvbnMsXG4gICAgICBpZDogU3RyaW5nKHRoaXMub3B0aW9ucy5pZCkuaW5jbHVkZXMoSURfUFJFRklYKSA/IG51bGwgOiB0aGlzLm9wdGlvbnMuaWQsXG4gICAgICB0eXBlOiB0aGlzLm9wdGlvbnMudHlwZSxcbiAgICAgIGNoaWxkcmVuOiBbLi4udGhpcy5jaGlsZHJlbl1cbiAgICAgICAgLm1hcCgobGF5ZXIpID0+IGxheWVyLnNhdmVhYmxlT3B0aW9ucylcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKSxcbiAgICAgIGV4cGFuZGVkOiB0aGlzLmV4cGFuZGVkXG4gICAgfTtcbiAgfVxuXG4gIGdldCBkZXNjZW5kYW50cygpOiBBbnlMYXllcltdIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0RGVzY2VuZGFudHMoKTtcbiAgfVxuXG4gIGdldCBkZXNjZW5kYW50c0xldmVsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2dldERlc2NlbmRhbnRzTGV2ZWwoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjaGlsZHJlbjogQW55TGF5ZXJbXSB8IG51bGwsXG4gICAgcHVibGljIG9wdGlvbnM6IExheWVyR3JvdXBPcHRpb25zXG4gICkge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuID8/IFtdO1xuXG4gICAgdGhpcy5leHBhbmRlZCA9IG9wdGlvbnMuZXhwYW5kZWQgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogb3B0aW9ucy5leHBhbmRlZDtcblxuICAgIGlmICghb3B0aW9ucy5pZCkge1xuICAgICAgb3B0aW9ucy5pZCA9IElEX1BSRUZJWCArIHV1aWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLm9sID0gdGhpcy5jcmVhdGVPbExheWVyKCk7XG5cbiAgICBzdXBlci5hZnRlckNyZWF0ZWQoKTtcbiAgfVxuXG4gIGluaXQobWFwOiBNYXBCYXNlKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdChtYXApO1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IGNoaWxkLmluaXQobWFwKSk7XG4gIH1cblxuICBhZGQocGFyZW50PzogTGF5ZXJHcm91cEJhc2UpOiB2b2lkIHtcbiAgICBzdXBlci5hZGQocGFyZW50KTtcblxuICAgIHRoaXMuc2V0Q2hpbGRyZW5PYnNlcnZlcigpO1xuXG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgbGF5ZXIuYWRkKHRoaXMpO1xuICAgIH0pO1xuICB9XG5cbiAgYWRkQ2hpbGQoLi4ubGF5ZXJzOiBBbnlMYXllcltdKTogdm9pZCB7XG4gICAgdGhpcy5vbC5nZXRMYXllcnMoKS5leHRlbmQobGF5ZXJzLm1hcCgobGF5ZXIpID0+IGxheWVyLm9sKSk7XG5cbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuKGxheWVyKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsYXllci5hZGRQYXJlbnQodGhpcyk7XG4gICAgICB0aGlzLmNoaWxkcmVuLnB1c2gobGF5ZXIpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXRDaGlsZHJlbk9ic2VydmVyKCk7XG4gIH1cblxuICByZW1vdmUoKTogdm9pZCB7XG4gICAgc3VwZXIucmVtb3ZlKCk7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChsYXllcikgPT4gbGF5ZXIucmVtb3ZlKCkpO1xuICB9XG5cbiAgcmVtb3ZlQ2hpbGQobGF5ZXI6IEFueUxheWVyKTogdm9pZCB7XG4gICAgdGhpcy5vbC5nZXRMYXllcnMoKS5yZW1vdmUobGF5ZXIub2wpO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jaGlsZHJlbi5pbmRleE9mKGxheWVyKTtcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5jaGlsZHJlbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICBsYXllci5wYXJlbnQgPSBudWxsO1xuICAgIGxheWVyLm9wdGlvbnMucGFyZW50SWQgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRDaGlsZHJlbk9ic2VydmVyKCk7XG4gIH1cblxuICBpc0Rlc2NlbmRhbnQobGF5ZXI6IEFueUxheWVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2dldERlc2NlbmRhbnRzKCkuc29tZShcbiAgICAgIChkZXNjZW5kYW50KSA9PiBkZXNjZW5kYW50LmlkID09PSBsYXllci5pZFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldENoaWxkcmVuT2JzZXJ2ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc0luUmVzb2x1dGlvbnNSYW5nZSQkPy51bnN1YnNjcmliZSgpO1xuXG4gICAgaWYgKCF0aGlzLmNoaWxkcmVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzZXJ2ZXJzID0gdGhpcy5jaGlsZHJlbi5tYXAoKGxheWVyKSA9PiBsYXllci5pc0luUmVzb2x1dGlvbnNSYW5nZSQpO1xuICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UkJCA9IGNvbWJpbmVMYXRlc3Qob2JzZXJ2ZXJzKS5zdWJzY3JpYmUoXG4gICAgICAodmFsdWVzKSA9PiB7XG4gICAgICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UgPSB2YWx1ZXMuc29tZSgodmFsdWUpID0+IHZhbHVlKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sTGF5ZXIoKTogR3JvdXAge1xuICAgIHJldHVybiBuZXcgR3JvdXAoeyBwcm9wZXJ0aWVzOiB7IHRpdGxlOiB0aGlzLnRpdGxlIH0gfSk7XG4gIH1cblxuICBwcml2YXRlIGhhc0NoaWxkcmVuKGxheWVyOiBBbnlMYXllcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLnNvbWUoKGNoaWxkKSA9PiBjaGlsZC5pZCA9PT0gbGF5ZXIuaWQpO1xuICB9XG5cbiAgLyoqIHJlY3Vyc2l2ZSAqL1xuICBwcml2YXRlIF9nZXREZXNjZW5kYW50cyhjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4pOiBBbnlMYXllcltdIHtcbiAgICByZXR1cm4gY2hpbGRyZW4ucmVkdWNlKChsaXN0LCBjaGlsZCkgPT4ge1xuICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgTGF5ZXJHcm91cCkge1xuICAgICAgICByZXR1cm4gbGlzdC5jb25jYXQoY2hpbGQsIC4uLnRoaXMuX2dldERlc2NlbmRhbnRzKGNoaWxkLmNoaWxkcmVuKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbGlzdC5jb25jYXQoY2hpbGQpO1xuICAgICAgfVxuICAgIH0sIFtdKTtcbiAgfVxuXG4gIC8qKiByZWN1cnNpdmUgKi9cbiAgcHJpdmF0ZSBfZ2V0RGVzY2VuZGFudHNMZXZlbChjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4pOiBudW1iZXIge1xuICAgIHJldHVybiBjaGlsZHJlbi5yZWR1Y2UoKGxldmVsLCBjaGlsZCkgPT4ge1xuICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgTGF5ZXJHcm91cCkge1xuICAgICAgICBsZXZlbCA9IGxldmVsICsgMTtcbiAgICAgICAgY29uc3QgZGVzY2VuZGFudExldmVsID0gdGhpcy5fZ2V0RGVzY2VuZGFudHNMZXZlbChjaGlsZC5jaGlsZHJlbik7XG4gICAgICAgIHJldHVybiBsZXZlbCArIGRlc2NlbmRhbnRMZXZlbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxldmVsO1xuICAgIH0sIDApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export var TooltipType;
2
+ (function (TooltipType) {
3
+ TooltipType["TITLE"] = "title";
4
+ TooltipType["ABSTRACT"] = "abstract";
5
+ TooltipType["CUSTOM"] = "custom";
6
+ })(TooltipType || (TooltipType = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkVBLE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsOEJBQWUsQ0FBQTtJQUNmLG9DQUFxQixDQUFBO0lBQ3JCLGdDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICdAaWdvMi9jb3JlL21lc3NhZ2UnO1xuXG5pbXBvcnQgb2xMYXllciBmcm9tICdvbC9sYXllci9MYXllcic7XG5pbXBvcnQgb2xTb3VyY2UgZnJvbSAnb2wvc291cmNlL1NvdXJjZSc7XG5cbmltcG9ydCB0eXBlIHtcbiAgQW55RGF0YVNvdXJjZU9wdGlvbnMsXG4gIERhdGFTb3VyY2Vcbn0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMnO1xuaW1wb3J0IHR5cGUgeyBNYXBFeHRlbnQgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC5pbnRlcmZhY2UnO1xuaW1wb3J0IHR5cGUgeyBMZWdlbmRPcHRpb25zIH0gZnJvbSAnLi9sZWdlbmQuaW50ZXJmYWNlJztcbmltcG9ydCB0eXBlIHsgTGF5ZXJzTGluayB9IGZyb20gJy4vbGlua2VkL2xpbmtlZC1sYXllci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyT3B0aW9ucyBleHRlbmRzIExheWVyT3B0aW9uc0Jhc2Uge1xuICBpc0lnb0ludGVybmFsTGF5ZXI/OiBib29sZWFuOyAvLyB1c2VmdWwgd2hlbiBtYXBPZmZsaW5lIGRpcmVjdGl2ZSBzZXQgdGhlIHJlc29sdXRpb24gb2YgdGhlIGxheWVycy5cbiAgc291cmNlPzogRGF0YVNvdXJjZTtcbiAgc291cmNlT3B0aW9ucz86IEFueURhdGFTb3VyY2VPcHRpb25zO1xuICBhbGlhcz86IHN0cmluZztcbiAgc2VjdXJpdHk/OiBMYXllclNlY3VyaXR5T3B0aW9ucztcbiAgYmFzZUxheWVyPzogYm9vbGVhbjtcbiAgbWVzc2FnZXM/OiBNZXNzYWdlW107XG4gIG1pblNjYWxlRGVub20/OiBudW1iZXI7XG4gIG1heFNjYWxlRGVub20/OiBudW1iZXI7XG4gIHJlbW92YWJsZT86IGJvb2xlYW47XG4gIHdvcmtzcGFjZT86IEdlb1dvcmtzcGFjZU9wdGlvbnM7XG4gIGxlZ2VuZE9wdGlvbnM/OiBMZWdlbmRPcHRpb25zO1xuICBvbD86IG9sTGF5ZXI8b2xTb3VyY2U+O1xuICB0b29sdGlwPzogVG9vbHRpcENvbnRlbnQ7XG4gIF9pbnRlcm5hbD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGxpbmtlZExheWVycz86IExheWVyc0xpbms7XG4gIHNob3dCdXR0b25ab29tVG9FeHRlbnQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyT3B0aW9uc0Jhc2Uge1xuICBpZD86IHN0cmluZyB8IG51bWJlcjtcbiAgLyoqXG4gICAqIEFuIHVuaXF1ZSBpZGVudGlmaWVyIGNhbGN1bGF0ZWQgY2xpZW50IHNpZGVcbiAgICogVGhlIG5hbWUgcHJvcCBwcm92aWRlIGEgd2F5IHRvIGhhdmUgYSB1bmlxdWUgaWRlbnRpZmllciBiZXR3ZWVuIGFsbCBsYXllcnNcbiAgICoqL1xuICBuYW1lPzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgb3BhY2l0eT86IG51bWJlcjtcbiAgdmlzaWJsZT86IGJvb2xlYW47XG4gIGV4dGVudD86IE1hcEV4dGVudDtcbiAgekluZGV4PzogbnVtYmVyO1xuICBtaW5SZXNvbHV0aW9uPzogbnVtYmVyO1xuICBtYXhSZXNvbHV0aW9uPzogbnVtYmVyO1xuICBzaG93SW5MYXllckxpc3Q/OiBib29sZWFuO1xuICBwYXJlbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllclNlY3VyaXR5T3B0aW9ucyB7XG4gIHByb2ZpbHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW9Xb3Jrc3BhY2VPcHRpb25zIHtcbiAgc3JjSWQ/OiBzdHJpbmc7XG4gIHdvcmtzcGFjZUlkPzogc3RyaW5nO1xuICBtaW5SZXNvbHV0aW9uPzogbnVtYmVyO1xuICBtYXhSZXNvbHV0aW9uPzogbnVtYmVyO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgcXVlcnlPcHRpb25zPzogR2VvV29ya3NwYWNlUXVlcnlPcHRpb25zO1xuICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgcGFnZVNpemVPcHRpb25zPzogbnVtYmVyW107XG4gIHNlYXJjaEluZGV4RW5hYmxlZD86IGJvb2xlYW47XG4gIHByaW50YWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvV29ya3NwYWNlUXVlcnlPcHRpb25zIHtcbiAgbWFwUXVlcnlPbk9wZW5UYWI/OiBib29sZWFuO1xuICB0YWJRdWVyeT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbHRpcENvbnRlbnQge1xuICB0eXBlPzogVG9vbHRpcFR5cGU7XG4gIHRleHQ/OiBzdHJpbmc7XG59XG5leHBvcnQgZW51bSBUb29sdGlwVHlwZSB7XG4gIFRJVExFID0gJ3RpdGxlJyxcbiAgQUJTVFJBQ1QgPSAnYWJzdHJhY3QnLFxuICBDVVNUT00gPSAnY3VzdG9tJ1xufVxuZXhwb3J0IHR5cGUgTGF5ZXJUeXBlID0gJ3ZlY3RvcicgfCAncmFzdGVyJyB8ICdncm91cCc7XG4iXX0=
@@ -0,0 +1,178 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { isLayerLinked, isLinkMaster } from '../../shared/layers/linked/linked-layer.utils';
3
+ import { isLayerItem, isSaveableLayer } from '../../utils/layer.utils';
4
+ import { LayerBase } from './layer-base';
5
+ import { Linked } from './linked/linked-layer';
6
+ export class Layer extends LayerBase {
7
+ options;
8
+ messageService;
9
+ authInterceptor;
10
+ parent;
11
+ ol;
12
+ hasBeenVisible$ = new BehaviorSubject(undefined);
13
+ legend;
14
+ legendCollapsed = true;
15
+ link;
16
+ linkMaster;
17
+ resolution$$;
18
+ get id() {
19
+ return String(this.options.id || this.dataSource.id);
20
+ }
21
+ get visible() {
22
+ return super.visible;
23
+ }
24
+ set visible(value) {
25
+ super.visible = value;
26
+ if (!this.hasBeenVisible$.value && value) {
27
+ this.hasBeenVisible$.next(value);
28
+ }
29
+ if (this.options?.messages && value) {
30
+ this.options?.messages
31
+ .filter((m) => m.options?.showOnEachLayerVisibility)
32
+ .map((message) => this.showMessage(message));
33
+ }
34
+ }
35
+ get maxResolution() {
36
+ return super.maxResolution;
37
+ }
38
+ set maxResolution(value) {
39
+ super.maxResolution = value;
40
+ this.updateInResolutionsRange();
41
+ }
42
+ get minResolution() {
43
+ return super.minResolution;
44
+ }
45
+ set minResolution(value) {
46
+ super.minResolution = value;
47
+ this.updateInResolutionsRange();
48
+ }
49
+ get saveableOptions() {
50
+ if (!isSaveableLayer(this)) {
51
+ return undefined;
52
+ }
53
+ return {
54
+ ...super.saveableOptions,
55
+ sourceOptions: this.dataSource.saveableOptions
56
+ };
57
+ }
58
+ constructor(options, messageService, authInterceptor) {
59
+ super(options);
60
+ this.options = options;
61
+ this.messageService = messageService;
62
+ this.authInterceptor = authInterceptor;
63
+ this.dataSource = options.source;
64
+ this.legendCollapsed = options.legendOptions
65
+ ? options.legendOptions.collapsed
66
+ ? options.legendOptions.collapsed
67
+ : true
68
+ : true;
69
+ if (options.legendOptions &&
70
+ (options.legendOptions.url || options.legendOptions.html)) {
71
+ this.legend = this.dataSource.setLegend(options.legendOptions);
72
+ }
73
+ this.ol = this.createOlLayer();
74
+ this.ol.set('_layer', this, true);
75
+ super.afterCreated();
76
+ }
77
+ init(map) {
78
+ super.init(map);
79
+ map.layerWatcher.watchLayer(this);
80
+ this.observeResolution();
81
+ this.hasBeenVisible$.subscribe(() => {
82
+ if (this.options.messages && this.visible) {
83
+ this.options.messages.map((message) => {
84
+ this.showMessage(message);
85
+ });
86
+ }
87
+ });
88
+ this.createLink();
89
+ }
90
+ createLink() {
91
+ if (!isLinkMaster(this) || this.link) {
92
+ return;
93
+ }
94
+ this.link = new Linked(this);
95
+ }
96
+ remove() {
97
+ super.remove();
98
+ this.unobserveResolution();
99
+ this.map.layerWatcher.unwatchLayer(this);
100
+ if (isLinkMaster(this)) {
101
+ this.link?.deleteChildren(this.map.layerController);
102
+ this.link?.destroy();
103
+ }
104
+ if (isLayerLinked(this)) {
105
+ if (!this.linkMaster) {
106
+ return;
107
+ }
108
+ const masterLayer = this.linkMaster.layer;
109
+ const hasSync = this.linkMaster.hasSyncDeletion(this);
110
+ this.linkMaster.remove(this);
111
+ if (hasSync && masterLayer) {
112
+ this.map.layerController.remove(masterLayer);
113
+ }
114
+ }
115
+ }
116
+ add(parent) {
117
+ super.add(parent);
118
+ if (isLayerLinked(this)) {
119
+ if (isLinkMaster(this)) {
120
+ this.link.init();
121
+ }
122
+ this.createLinkWithParent();
123
+ }
124
+ }
125
+ moveTo(parent) {
126
+ super.moveTo(parent);
127
+ if (isLayerLinked(this)) {
128
+ this.link?.move(this, parent);
129
+ this.linkMaster?.move(this, parent);
130
+ }
131
+ }
132
+ createLinkWithParent() {
133
+ const masterLayer = this.findParentByLinkId(this.map.layerController.all, this.options.linkedLayers.linkId);
134
+ if (masterLayer) {
135
+ this.linkMaster = masterLayer.link;
136
+ masterLayer?.link.add(this);
137
+ }
138
+ }
139
+ findParentByLinkId(layers, id) {
140
+ return layers.find((layer) => {
141
+ if (!isLayerItem(layer)) {
142
+ return;
143
+ }
144
+ if (layer.options.linkedLayers?.links) {
145
+ return layer.options.linkedLayers.links.some((l) => l.linkedIds.includes(id));
146
+ }
147
+ return false;
148
+ });
149
+ }
150
+ showMessage(message) {
151
+ if (!this.messageService) {
152
+ return;
153
+ }
154
+ this.messageService.message(message);
155
+ }
156
+ observeResolution() {
157
+ this.resolution$$ = this.map.viewController.resolution$.subscribe(() => this.updateInResolutionsRange());
158
+ }
159
+ unobserveResolution() {
160
+ if (this.resolution$$ !== undefined) {
161
+ this.resolution$$.unsubscribe();
162
+ this.resolution$$ = undefined;
163
+ }
164
+ }
165
+ updateInResolutionsRange() {
166
+ if (this.map !== undefined) {
167
+ const resolution = this.map.viewController.getResolution();
168
+ const minResolution = this.minResolution;
169
+ const maxResolution = this.maxResolution === undefined ? Infinity : this.maxResolution;
170
+ this.isInResolutionsRange =
171
+ resolution >= minResolution && resolution <= maxResolution;
172
+ }
173
+ else {
174
+ this.isInResolutionsRange = false;
175
+ }
176
+ }
177
+ }
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBSXJELE9BQU8sRUFDTCxhQUFhLEVBQ2IsWUFBWSxFQUNiLE1BQU0sK0NBQStDLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLGNBQWMsQ0FBQztBQUd6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0MsTUFBTSxPQUFnQixLQUFNLFNBQVEsU0FBUztJQTJEbEM7SUFDRztJQUNBO0lBM0RaLE1BQU0sQ0FBYTtJQUVuQixFQUFFLENBQWtCO0lBQ3BCLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxTQUFTLENBQUMsQ0FBQztJQUMxRCxNQUFNLENBQVc7SUFDakIsZUFBZSxHQUFHLElBQUksQ0FBQztJQUN2QixJQUFJLENBQVU7SUFDZCxVQUFVLENBQVU7SUFDWixZQUFZLENBQWU7SUFFbkMsSUFBSSxFQUFFO1FBQ0osT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN6QyxJ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QztJQUNILENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDekMsTUFBTSxhQUFhLEdBQ2pCLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDbkUsSUFBSSxDQUFDLG9CQUFvQjtnQkFDdkIsVUFBVSxJQUFJLGFBQWEsSUFBSSxVQUFVLElBQUksYUFBYSxDQUFDO1FBQy9ELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XG5cbmltcG9ydCBPbExheWVyIGZyb20gJ29sL2xheWVyL0xheWVyJztcbmltcG9ydCB7IFNvdXJjZSB9IGZyb20gJ29sL3NvdXJjZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UsIExlZ2VuZCB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcbmltcG9ydCB0eXBlIHsgTWFwQmFzZSB9IGZyb20gJy4uLy4uLy4uL21hcC9zaGFyZWQvbWFwLmFic3RyYWN0JztcbmltcG9ydCB7XG4gIGlzTGF5ZXJMaW5rZWQsXG4gIGlzTGlua01hc3RlclxufSBmcm9tICcuLi8uLi9zaGFyZWQvbGF5ZXJzL2xpbmtlZC9saW5rZWQtbGF5ZXIudXRpbHMnO1xuaW1wb3J0IHsgaXNMYXllckl0ZW0sIGlzU2F2ZWFibGVMYXllciB9IGZyb20gJy4uLy4uL3V0aWxzL2xheWVyLnV0aWxzJztcbmltcG9ydCB7IEFueUxheWVyIH0gZnJvbSAnLi9hbnktbGF5ZXInO1xuaW1wb3J0IHsgTGF5ZXJCYXNlLCBMYXllckdyb3VwQmFzZSB9IGZyb20gJy4vbGF5ZXItYmFzZSc7XG5pbXBvcnQgeyB0eXBlIExheWVyR3JvdXAgfSBmcm9tICcuL2xheWVyLWdyb3VwJztcbmltcG9ydCB7IHR5cGUgTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi9sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGlua2VkIH0gZnJvbSAnLi9saW5rZWQvbGlua2VkLWxheWVyJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExheWVyIGV4dGVuZHMgTGF5ZXJCYXNlIHtcbiAgZGVjbGFyZSBkYXRhU291cmNlOiBEYXRhU291cmNlO1xuICBwYXJlbnQ6IExheWVyR3JvdXA7XG5cbiAgb2w6IE9sTGF5ZXI8U291cmNlPjtcbiAgaGFzQmVlblZpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICBsZWdlbmQ6IExlZ2VuZFtdO1xuICBsZWdlbmRDb2xsYXBzZWQgPSB0cnVlO1xuICBsaW5rPzogTGlua2VkO1xuICBsaW5rTWFzdGVyPzogTGlua2VkO1xuICBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmcodGhpcy5vcHRpb25zLmlkIHx8IHRoaXMuZGF0YVNvdXJjZS5pZCk7XG4gIH1cblxuICBnZXQgdmlzaWJsZSgpIHtcbiAgICByZXR1cm4gc3VwZXIudmlzaWJsZTtcbiAgfVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHN1cGVyLnZpc2libGUgPSB2YWx1ZTtcbiAgICBpZiAoIXRoaXMuaGFzQmVlblZpc2libGUkLnZhbHVlICYmIHZhbHVlKSB7XG4gICAgICB0aGlzLmhhc0JlZW5WaXNpYmxlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9ucz8ubWVzc2FnZXMgJiYgdmFsdWUpIHtcbiAgICAgIHRoaXMub3B0aW9ucz8ubWVzc2FnZXNcbiAgICAgICAgLmZpbHRlcigobSkgPT4gbS5vcHRpb25zPy5zaG93T25FYWNoTGF5ZXJWaXNpYmlsaXR5KVxuICAgICAgICAubWFwKChtZXNzYWdlKSA9PiB0aGlzLnNob3dNZXNzYWdlKG1lc3NhZ2UpKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbWF4UmVzb2x1dGlvbigpIHtcbiAgICByZXR1cm4gc3VwZXIubWF4UmVzb2x1dGlvbjtcbiAgfVxuICBzZXQgbWF4UmVzb2x1dGlvbih2YWx1ZTogbnVtYmVyKSB7XG4gICAgc3VwZXIubWF4UmVzb2x1dGlvbiA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlSW5SZXNvbHV0aW9uc1JhbmdlKCk7XG4gIH1cblxuICBnZXQgbWluUmVzb2x1dGlvbigpIHtcbiAgICByZXR1cm4gc3VwZXIubWluUmVzb2x1dGlvbjtcbiAgfVxuICBzZXQgbWluUmVzb2x1dGlvbih2YWx1ZTogbnVtYmVyKSB7XG4gICAgc3VwZXIubWluUmVzb2x1dGlvbiA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlSW5SZXNvbHV0aW9uc1JhbmdlKCk7XG4gIH1cblxuICBnZXQgc2F2ZWFibGVPcHRpb25zKCk6IFBhcnRpYWw8TGF5ZXJPcHRpb25zPiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFpc1NhdmVhYmxlTGF5ZXIodGhpcykpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLnNhdmVhYmxlT3B0aW9ucyxcbiAgICAgIHNvdXJjZU9wdGlvbnM6IHRoaXMuZGF0YVNvdXJjZS5zYXZlYWJsZU9wdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG9wdGlvbnM6IExheWVyT3B0aW9ucyxcbiAgICBwcm90ZWN0ZWQgbWVzc2FnZVNlcnZpY2U/OiBNZXNzYWdlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYXV0aEludGVyY2VwdG9yPzogQXV0aEludGVyY2VwdG9yXG4gICkge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5kYXRhU291cmNlID0gb3B0aW9ucy5zb3VyY2U7XG5cbiAgICB0aGlzLmxlZ2VuZENvbGxhcHNlZCA9IG9wdGlvbnMubGVnZW5kT3B0aW9uc1xuICAgICAgPyBvcHRpb25zLmxlZ2VuZE9wdGlvbnMuY29sbGFwc2VkXG4gICAgICAgID8gb3B0aW9ucy5sZWdlbmRPcHRpb25zLmNvbGxhcHNlZFxuICAgICAgICA6IHRydWVcbiAgICAgIDogdHJ1ZTtcblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMubGVnZW5kT3B0aW9ucyAmJlxuICAgICAgKG9wdGlvbnMubGVnZW5kT3B0aW9ucy51cmwgfHwgb3B0aW9ucy5sZWdlbmRPcHRpb25zLmh0bWwpXG4gICAgKSB7XG4gICAgICB0aGlzLmxlZ2VuZCA9IHRoaXMuZGF0YVNvdXJjZS5zZXRMZWdlbmQob3B0aW9ucy5sZWdlbmRPcHRpb25zKTtcbiAgICB9XG5cbiAgICB0aGlzLm9sID0gdGhpcy5jcmVhdGVPbExheWVyKCk7XG4gICAgdGhpcy5vbC5zZXQoJ19sYXllcicsIHRoaXMsIHRydWUpO1xuXG4gICAgc3VwZXIuYWZ0ZXJDcmVhdGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlT2xMYXllcigpOiBPbExheWVyPFNvdXJjZT47XG5cbiAgaW5pdChtYXA6IE1hcEJhc2UpOiB2b2lkIHtcbiAgICBzdXBlci5pbml0KG1hcCk7XG5cbiAgICBtYXAubGF5ZXJXYXRjaGVyLndhdGNoTGF5ZXIodGhpcyk7XG5cbiAgICB0aGlzLm9ic2VydmVSZXNvbHV0aW9uKCk7XG4gICAgdGhpcy5oYXNCZWVuVmlzaWJsZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMubWVzc2FnZXMgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5tZXNzYWdlcy5tYXAoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlKG1lc3NhZ2UpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuY3JlYXRlTGluaygpO1xuICB9XG5cbiAgY3JlYXRlTGluaygpOiB2b2lkIHtcbiAgICBpZiAoIWlzTGlua01hc3Rlcih0aGlzKSB8fCB0aGlzLmxpbmspIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5saW5rID0gbmV3IExpbmtlZCh0aGlzKTtcbiAgfVxuXG4gIHJlbW92ZSgpOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmUoKTtcblxuICAgIHRoaXMudW5vYnNlcnZlUmVzb2x1dGlvbigpO1xuXG4gICAgdGhpcy5tYXAubGF5ZXJXYXRjaGVyLnVud2F0Y2hMYXllcih0aGlzKTtcblxuICAgIGlmIChpc0xpbmtNYXN0ZXIodGhpcykpIHtcbiAgICAgIHRoaXMubGluaz8uZGVsZXRlQ2hpbGRyZW4odGhpcy5tYXAubGF5ZXJDb250cm9sbGVyKTtcbiAgICAgIHRoaXMubGluaz8uZGVzdHJveSgpO1xuICAgIH1cblxuICAgIGlmIChpc0xheWVyTGlua2VkKHRoaXMpKSB7XG4gICAgICBpZiAoIXRoaXMubGlua01hc3Rlcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBtYXN0ZXJMYXllciA9IHRoaXMubGlua01hc3Rlci5sYXllcjtcbiAgICAgIGNvbnN0IGhhc1N5bmMgPSB0aGlzLmxpbmtNYXN0ZXIuaGFzU3luY0RlbGV0aW9uKHRoaXMpO1xuXG4gICAgICB0aGlzLmxpbmtNYXN0ZXIucmVtb3ZlKHRoaXMpO1xuXG4gICAgICBpZiAoaGFzU3luYyAmJiBtYXN0ZXJMYXllcikge1xuICAgICAgICB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIucmVtb3ZlKG1hc3RlckxheWVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhZGQocGFyZW50PzogTGF5ZXJHcm91cEJhc2UpOiB2b2lkIHtcbiAgICBzdXBlci5hZGQocGFyZW50KTtcblxuICAgIGlmIChpc0xheWVyTGlua2VkKHRoaXMpKSB7XG4gICAgICBpZiAoaXNMaW5rTWFzdGVyKHRoaXMpKSB7XG4gICAgICAgIHRoaXMubGluay5pbml0KCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY3JlYXRlTGlua1dpdGhQYXJlbnQoKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlVG8ocGFyZW50PzogTGF5ZXJHcm91cCk6IHZvaWQge1xuICAgIHN1cGVyLm1vdmVUbyhwYXJlbnQpO1xuXG4gICAgaWYgKGlzTGF5ZXJMaW5rZWQodGhpcykpIHtcbiAgICAgIHRoaXMubGluaz8ubW92ZSh0aGlzLCBwYXJlbnQpO1xuICAgICAgdGhpcy5saW5rTWFzdGVyPy5tb3ZlKHRoaXMsIHBhcmVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMaW5rV2l0aFBhcmVudCgpIHtcbiAgICBjb25zdCBtYXN0ZXJMYXllciA9IHRoaXMuZmluZFBhcmVudEJ5TGlua0lkKFxuICAgICAgdGhpcy5tYXAubGF5ZXJDb250cm9sbGVyLmFsbCxcbiAgICAgIHRoaXMub3B0aW9ucy5saW5rZWRMYXllcnMubGlua0lkXG4gICAgKTtcbiAgICBpZiAobWFzdGVyTGF5ZXIpIHtcbiAgICAgIHRoaXMubGlua01hc3RlciA9IG1hc3RlckxheWVyLmxpbms7XG4gICAgICBtYXN0ZXJMYXllcj8ubGluay5hZGQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUGFyZW50QnlMaW5rSWQobGF5ZXJzOiBBbnlMYXllcltdLCBpZDogc3RyaW5nKTogTGF5ZXIge1xuICAgIHJldHVybiBsYXllcnMuZmluZCgobGF5ZXIpID0+IHtcbiAgICAgIGlmICghaXNMYXllckl0ZW0obGF5ZXIpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua3MpIHtcbiAgICAgICAgcmV0dXJuIGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtzLnNvbWUoKGwpID0+XG4gICAgICAgICAgbC5saW5rZWRJZHMuaW5jbHVkZXMoaWQpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSkgYXMgTGF5ZXI7XG4gIH1cblxuICBwcml2YXRlIHNob3dNZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcbiAgICBpZiAoIXRoaXMubWVzc2FnZVNlcnZpY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5tZXNzYWdlKG1lc3NhZ2UgYXMgTWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVSZXNvbHV0aW9uKCkge1xuICAgIHRoaXMucmVzb2x1dGlvbiQkID0gdGhpcy5tYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiQuc3Vic2NyaWJlKCgpID0+XG4gICAgICB0aGlzLnVwZGF0ZUluUmVzb2x1dGlvbnNSYW5nZSgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5vYnNlcnZlUmVzb2x1dGlvbigpIHtcbiAgICBpZiAodGhpcy5yZXNvbHV0aW9uJCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5yZXNvbHV0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMucmVzb2x1dGlvbiQkID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSW5SZXNvbHV0aW9uc1JhbmdlKCkge1xuICAgIGlmICh0aGlzLm1hcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCByZXNvbHV0aW9uID0gdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuZ2V0UmVzb2x1dGlvbigpO1xuICAgICAgY29uc3QgbWluUmVzb2x1dGlvbiA9IHRoaXMubWluUmVzb2x1dGlvbjtcbiAgICAgIGNvbnN0IG1heFJlc29sdXRpb24gPVxuICAgICAgICB0aGlzLm1heFJlc29sdXRpb24gPT09IHVuZGVmaW5lZCA/IEluZmluaXR5IDogdGhpcy5tYXhSZXNvbHV0aW9uO1xuICAgICAgdGhpcy5pc0luUmVzb2x1dGlvbnNSYW5nZSA9XG4gICAgICAgIHJlc29sdXRpb24gPj0gbWluUmVzb2x1dGlvbiAmJiByZXNvbHV0aW9uIDw9IG1heFJlc29sdXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvbGVnZW5kLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFwVmlld09wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExlZ2VuZE9wdGlvbnMge1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICBkaXNwbGF5PzogYm9vbGVhbjtcbiAgdXJsPzogc3RyaW5nO1xuICBodG1sPzogc3RyaW5nO1xuICBzdHlsZXNBdmFpbGFibGU/OiBJdGVtU3R5bGVPcHRpb25zW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnZW5kTWFwVmlld09wdGlvbnMgZXh0ZW5kcyBNYXBWaWV3T3B0aW9ucyB7XG4gIHNjYWxlPzogbnVtYmVyO1xuICBzaXplPzogW251bWJlciwgbnVtYmVyXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJdGVtU3R5bGVPcHRpb25zIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPdXRwdXRMYXllckxlZ2VuZCB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICBkaXNwbGF5OiBib29sZWFuO1xuICBpc0luUmVzb2x1dGlvbnNSYW5nZTogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './linked-layer';
2
+ export * from './linked-layer.interface';
3
+ export * from './linked-layer.utils';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2xpbmtlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGlua2VkLWxheWVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGlua2VkLWxheWVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmtlZC1sYXllci51dGlscyc7XG4iXX0=
@@ -0,0 +1,12 @@
1
+ export var LinkedProperties;
2
+ (function (LinkedProperties) {
3
+ LinkedProperties["OPACITY"] = "opacity";
4
+ LinkedProperties["VISIBLE"] = "visible";
5
+ LinkedProperties["DISPLAYED"] = "displayed";
6
+ LinkedProperties["OGCFILTERS"] = "ogcFilters";
7
+ LinkedProperties["MINRESOLUTION"] = "minResolution";
8
+ LinkedProperties["MAXRESOLUTION"] = "maxResolution";
9
+ LinkedProperties["ZINDEX"] = "zIndex";
10
+ LinkedProperties["TIMEFILTER"] = "timeFilter";
11
+ })(LinkedProperties || (LinkedProperties = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWxheWVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvbGlua2VkL2xpbmtlZC1sYXllci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEJBLE1BQU0sQ0FBTixJQUFZLGdCQVNYO0FBVEQsV0FBWSxnQkFBZ0I7SUFDMUIsdUNBQW1CLENBQUE7SUFDbkIsdUNBQW1CLENBQUE7SUFDbkIsMkNBQXVCLENBQUE7SUFDdkIsNkNBQXlCLENBQUE7SUFDekIsbURBQStCLENBQUE7SUFDL0IsbURBQStCLENBQUE7SUFDL0IscUNBQWlCLENBQUE7SUFDakIsNkNBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQVRXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFTM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFueUxheWVyIH0gZnJvbSAnLi4vYW55LWxheWVyJztcbmltcG9ydCB0eXBlIHsgTGF5ZXIgfSBmcm9tICcuLi9sYXllcic7XG5cbmV4cG9ydCB0eXBlIEFueVByb3BlcnR5T3B0aW9ucyA9IFppbmRleFByb3BlcnR5T3B0aW9ucyB8IEJhc2VQcm9wZXJ0eU9wdGlvbnM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgWmluZGV4UHJvcGVydHlPcHRpb25zIGV4dGVuZHMgQmFzZVByb3BlcnR5T3B0aW9ucyB7XG4gIGluaXRpYWxPcmRlcjogQW55TGF5ZXJbXTtcbn1cblxuaW50ZXJmYWNlIEJhc2VQcm9wZXJ0eU9wdGlvbnMge1xuICBsYXllcnM6IExheWVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJzTGluayB7XG4gIGxpbmtJZDogc3RyaW5nO1xuICAvKiogRGVmYXVsdCB2YWx1ZSBpcyB0cnVlICovXG4gIHNob3dJbk1pbmlCYXNlTWFwPzogYm9vbGVhbjtcbiAgbGlua3M/OiBMYXllcnNMaW5rUHJvcGVydGllc1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBMYXllcnNMaW5rUHJvcGVydGllcyB7XG4gIGJpZGlyZWN0aW9ubmFsPzogYm9vbGVhbjtcbiAgbGlua2VkSWRzOiBzdHJpbmdbXTtcbiAgc3luY2VkRGVsZXRlOiBib29sZWFuO1xuICBwcm9wZXJ0aWVzOiBMaW5rZWRQcm9wZXJ0aWVzW107XG59XG5cbmV4cG9ydCBlbnVtIExpbmtlZFByb3BlcnRpZXMge1xuICBPUEFDSVRZID0gJ29wYWNpdHknLFxuICBWSVNJQkxFID0gJ3Zpc2libGUnLFxuICBESVNQTEFZRUQgPSAnZGlzcGxheWVkJyxcbiAgT0dDRklMVEVSUyA9ICdvZ2NGaWx0ZXJzJyxcbiAgTUlOUkVTT0xVVElPTiA9ICdtaW5SZXNvbHV0aW9uJyxcbiAgTUFYUkVTT0xVVElPTiA9ICdtYXhSZXNvbHV0aW9uJyxcbiAgWklOREVYID0gJ3pJbmRleCcsXG4gIFRJTUVGSUxURVIgPSAndGltZUZpbHRlcidcbn1cbiJdfQ==