@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,242 @@
1
+ import { findLayerByLinkId, getLayersByDeletion, handleLayerPropertyChange } from '../../../../map/shared/linkedLayers.utils';
2
+ import { LayerWatcher } from '../../../../map/utils/layer-watcher';
3
+ import { isLayerItem, sortLayersByZindex } from '../../../utils/layer.utils';
4
+ import { LinkedProperties } from './linked-layer.interface';
5
+ export class Linked {
6
+ layer;
7
+ children = [];
8
+ watcher = new LayerWatcher();
9
+ bidirectionnalChildren = [];
10
+ childrenByProperty = new Map();
11
+ disabledProperties = [];
12
+ constructor(layer) {
13
+ this.layer = layer;
14
+ this.init();
15
+ this.watcher.watchLayer(layer);
16
+ this.watcher.propertyChange$.subscribe((change) => {
17
+ if (!change) {
18
+ return;
19
+ }
20
+ this.handleChange(change);
21
+ });
22
+ }
23
+ get options() {
24
+ return this.layer.options;
25
+ }
26
+ get links() {
27
+ return this.layer.options.linkedLayers.links;
28
+ }
29
+ get map() {
30
+ return this.layer.map;
31
+ }
32
+ init() {
33
+ const children = this.findChildren(this.map.layerController.all, this.links);
34
+ this.links.forEach((link) => {
35
+ link.properties.forEach((property) => {
36
+ let options = this.getByProperty(property);
37
+ if (property === LinkedProperties.ZINDEX) {
38
+ const layers = [this.layer, ...children];
39
+ options = this.initZIndexLinkOptions(options, layers);
40
+ }
41
+ this.childrenByProperty.set(property, options);
42
+ });
43
+ });
44
+ children.forEach((child) => this.add(child));
45
+ }
46
+ initZIndexLinkOptions(options, layers) {
47
+ options.initialOrder = sortLayersByZindex(layers, 'desc');
48
+ return options;
49
+ }
50
+ destroy() {
51
+ this.children.forEach((child) => {
52
+ this.remove(child);
53
+ });
54
+ this.unwatch();
55
+ }
56
+ add(layer) {
57
+ if (!this.children.includes(layer)) {
58
+ this.children.push(layer);
59
+ }
60
+ this.getLayerLinks(layer).forEach((link) => {
61
+ if (link.bidirectionnal) {
62
+ if (this.bidirectionnalChildren.includes(layer)) {
63
+ return;
64
+ }
65
+ this.bidirectionnalChildren.push(layer);
66
+ this.watcher.watchLayer(layer);
67
+ }
68
+ link.properties.forEach((property) => {
69
+ const options = this.getByProperty(property);
70
+ if (options.layers.includes(layer)) {
71
+ return;
72
+ }
73
+ // We have a property displayed for layer out of resolution or in a group
74
+ // If the visiblity is linked, we need to reflect the displayed value
75
+ if (property === LinkedProperties.VISIBLE && !layer.showInLayerList) {
76
+ const displayedOptions = this.getByProperty(LinkedProperties.DISPLAYED);
77
+ displayedOptions.layers.push(layer);
78
+ this.childrenByProperty.set(LinkedProperties.DISPLAYED, displayedOptions);
79
+ }
80
+ if (property === LinkedProperties.ZINDEX) {
81
+ const zIndexOptions = options;
82
+ if (!zIndexOptions.initialOrder.includes(layer)) {
83
+ zIndexOptions.initialOrder = sortLayersByZindex([...zIndexOptions.initialOrder, layer], 'desc');
84
+ }
85
+ }
86
+ options.layers.push(layer);
87
+ this.childrenByProperty.set(property, options);
88
+ if (layer[property] !== this.layer[property]) {
89
+ this.handleChange({
90
+ event: {
91
+ key: property,
92
+ oldValue: layer[property],
93
+ value: this.layer[property]
94
+ },
95
+ layer: this.layer
96
+ });
97
+ }
98
+ });
99
+ });
100
+ }
101
+ hasSyncDeletion(layer) {
102
+ return this.getLayerLinks(layer).some((link) => link.syncedDelete);
103
+ }
104
+ remove(layer) {
105
+ layer.linkMaster = undefined;
106
+ this.removeArrayItem(layer, this.children, 'id');
107
+ this.getLayerLinks(layer).forEach((link) => {
108
+ if (link.bidirectionnal) {
109
+ this.watcher.unwatchLayer(layer);
110
+ }
111
+ link.properties.forEach((property) => {
112
+ const options = this.getByProperty(property);
113
+ this.removeArrayItem(layer, options.layers, 'id');
114
+ this.childrenByProperty.set(property, options);
115
+ });
116
+ });
117
+ }
118
+ deleteChildren(controller) {
119
+ const layers = getLayersByDeletion(this.children, this.links);
120
+ layers?.forEach((layer) => {
121
+ this.remove(layer);
122
+ controller.remove(layer);
123
+ });
124
+ }
125
+ move(layer, parent) {
126
+ if (this.propertyIsDisabled(LinkedProperties.ZINDEX)) {
127
+ return;
128
+ }
129
+ const options = this.getByProperty(LinkedProperties.ZINDEX);
130
+ if (!options.layers.length) {
131
+ return;
132
+ }
133
+ const linkedLayers = this.getLinkedLayersOnZindex(layer.id);
134
+ this.disable(LinkedProperties.ZINDEX);
135
+ const index = options.initialOrder.findIndex((l) => l.id === layer.id);
136
+ linkedLayers?.forEach((linkLayer) => {
137
+ if (!linkLayer.showInLayerList) {
138
+ linkLayer.zIndex = layer.zIndex;
139
+ if (parent !== linkLayer.parent) {
140
+ linkLayer.reset(parent);
141
+ }
142
+ return;
143
+ }
144
+ const linkedIndex = options.initialOrder.findIndex((l) => l.id === linkLayer.id);
145
+ linkedIndex < index
146
+ ? this.map.layerController.moveAbove(layer, linkLayer)
147
+ : this.map.layerController.moveBelow(layer, linkLayer);
148
+ });
149
+ this.enable(LinkedProperties.ZINDEX);
150
+ }
151
+ disable(...properties) {
152
+ properties.forEach((property) => {
153
+ if (this.disabledProperties.includes(property)) {
154
+ return;
155
+ }
156
+ this.disabledProperties.push(property);
157
+ });
158
+ this.bidirectionnalChildren.forEach((layer) => {
159
+ this.watcher.unwatchLayer(layer);
160
+ });
161
+ }
162
+ enable(...properties) {
163
+ properties.forEach((property) => {
164
+ const index = this.disabledProperties.findIndex((disableProperty) => disableProperty === property);
165
+ if (index > -1) {
166
+ this.disabledProperties.splice(index, 1);
167
+ }
168
+ });
169
+ this.bidirectionnalChildren.forEach((layer) => {
170
+ this.watcher.watchLayer(layer);
171
+ });
172
+ }
173
+ getByProperty(property) {
174
+ return this.childrenByProperty.get(property) ?? { layers: [] };
175
+ }
176
+ propertyIsDisabled(property) {
177
+ return this.disabledProperties.includes(property);
178
+ }
179
+ getLayerLinks(layer) {
180
+ const linkId = layer.options.linkedLayers.linkId;
181
+ return this.links.filter((link) => link.linkedIds.includes(linkId));
182
+ }
183
+ removeArrayItem(item, array, key = 'id') {
184
+ const index = array.findIndex((n) => n[key] === item[key]);
185
+ if (index !== -1) {
186
+ array.splice(index, 1);
187
+ }
188
+ }
189
+ getLinkedLayersOnZindex(id) {
190
+ return [...this.getByProperty(LinkedProperties.ZINDEX).layers]
191
+ ?.concat(this.layer)
192
+ .filter((layer) => layer.id !== id);
193
+ }
194
+ unwatch() {
195
+ this.watcher.unwatch();
196
+ }
197
+ handleChange = (change) => {
198
+ const isMasterChage = change.layer.id === this.layer.id;
199
+ const property = change.event.key;
200
+ if (this.propertyIsDisabled(property)) {
201
+ return;
202
+ }
203
+ const options = this.getByProperty(property);
204
+ let layers = [...options.layers];
205
+ if (!layers?.length && isMasterChage) {
206
+ return;
207
+ }
208
+ if (!isMasterChage) {
209
+ layers = layers.filter((n) => n.id !== change.layer.id);
210
+ layers.push(this.layer);
211
+ }
212
+ if (property === LinkedProperties.DISPLAYED && isMasterChage) {
213
+ return this.handleDisplayChange(change, layers);
214
+ }
215
+ handleLayerPropertyChange(layers, change, this.map.viewController);
216
+ };
217
+ handleDisplayChange(change, children) {
218
+ const affectedProperties = [
219
+ LinkedProperties.DISPLAYED,
220
+ LinkedProperties.VISIBLE
221
+ ];
222
+ this.disable(...affectedProperties);
223
+ children.forEach((child) => {
224
+ if (!child.showInLayerList) {
225
+ child.visible = !!change.event.value;
226
+ }
227
+ });
228
+ this.enable(...affectedProperties);
229
+ }
230
+ findChildren(layers, links) {
231
+ const layersFiltered = layers.filter((n) => isLayerItem(n));
232
+ return links.reduce((linked, link) => {
233
+ const layerFromLink = link.linkedIds
234
+ .map((id) => {
235
+ return findLayerByLinkId(layersFiltered, id);
236
+ })
237
+ .filter(Boolean);
238
+ return linked.concat(layerFromLink);
239
+ }, []);
240
+ }
241
+ }
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9saW5rZWQvbGlua2VkLWxheWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUMxQixNQUFNLDJDQUEyQyxDQUFDO0FBQ25ELE9BQU8sRUFDTCxZQUFZLEVBRWIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFLN0UsT0FBTyxFQUdMLGdCQUFnQixFQUVqQixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE1BQU0sT0FBTyxNQUFNO0lBT0U7SUFOWCxRQUFRLEdBQVksRUFBRSxDQUFDO0lBQ3ZCLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzdCLHNCQUFzQixHQUFZLEVBQUUsQ0FBQztJQUNyQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBd0MsQ0FBQztJQUNyRSxrQkFBa0IsR0FBdUIsRUFBRSxDQUFDO0lBRXBELFlBQW1CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQzdCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVaLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxP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QUNsQixLQUE2QjtRQUU3QixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQVksQ0FBQztRQUV2RSxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFlLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDNUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVM7aUJBQ2pDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUNWLE9BQU8saUJBQWlCLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQztpQkFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFbkIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZpbmRMYXllckJ5TGlua0lkLFxuICBnZXRMYXllcnNCeURlbGV0aW9uLFxuICBoYW5kbGVMYXllclByb3BlcnR5Q2hhbmdlXG59IGZyb20gJy4uLy4uLy4uLy4uL21hcC9zaGFyZWQvbGlua2VkTGF5ZXJzLnV0aWxzJztcbmltcG9ydCB7XG4gIExheWVyV2F0Y2hlcixcbiAgTGF5ZXJXYXRjaGVyQ2hhbmdlXG59IGZyb20gJy4uLy4uLy4uLy4uL21hcC91dGlscy9sYXllci13YXRjaGVyJztcbmltcG9ydCB7IGlzTGF5ZXJJdGVtLCBzb3J0TGF5ZXJzQnlaaW5kZXggfSBmcm9tICcuLi8uLi8uLi91dGlscy9sYXllci51dGlscyc7XG5pbXBvcnQgdHlwZSB7IExheWVyQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2xheWVyLWNvbnRyb2xsZXInO1xuaW1wb3J0IHR5cGUgeyBBbnlMYXllciB9IGZyb20gJy4uL2FueS1sYXllcic7XG5pbXBvcnQgdHlwZSB7IExheWVyIH0gZnJvbSAnLi4vbGF5ZXInO1xuaW1wb3J0IHR5cGUgeyBMYXllckdyb3VwIH0gZnJvbSAnLi4vbGF5ZXItZ3JvdXAnO1xuaW1wb3J0IHtcbiAgQW55UHJvcGVydHlPcHRpb25zLFxuICBMYXllcnNMaW5rUHJvcGVydGllcyxcbiAgTGlua2VkUHJvcGVydGllcyxcbiAgWmluZGV4UHJvcGVydHlPcHRpb25zXG59IGZyb20gJy4vbGlua2VkLWxheWVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWQge1xuICBwcml2YXRlIGNoaWxkcmVuOiBMYXllcltdID0gW107XG4gIHByaXZhdGUgd2F0Y2hlciA9IG5ldyBMYXllcldhdGNoZXIoKTtcbiAgcHJpdmF0ZSBiaWRpcmVjdGlvbm5hbENoaWxkcmVuOiBMYXllcltdID0gW107XG4gIHByaXZhdGUgY2hpbGRyZW5CeVByb3BlcnR5ID0gbmV3IE1hcDxMaW5rZWRQcm9wZXJ0aWVzLCBBbnlQcm9wZXJ0eU9wdGlvbnM+KCk7XG4gIHByaXZhdGUgZGlzYWJsZWRQcm9wZXJ0aWVzOiBMaW5rZWRQcm9wZXJ0aWVzW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbGF5ZXI6IExheWVyKSB7XG4gICAgdGhpcy5pbml0KCk7XG5cbiAgICB0aGlzLndhdGNoZXIud2F0Y2hMYXllcihsYXllcik7XG5cbiAgICB0aGlzLndhdGNoZXIucHJvcGVydHlDaGFuZ2UkLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICBpZiAoIWNoYW5nZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZShjaGFuZ2UpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMubGF5ZXIub3B0aW9ucztcbiAgfVxuXG4gIGdldCBsaW5rcygpIHtcbiAgICByZXR1cm4gdGhpcy5sYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcyE7XG4gIH1cblxuICBnZXQgbWFwKCkge1xuICAgIHJldHVybiB0aGlzLmxheWVyLm1hcDtcbiAgfVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmZpbmRDaGlsZHJlbihcbiAgICAgIHRoaXMubWFwLmxheWVyQ29udHJvbGxlci5hbGwsXG4gICAgICB0aGlzLmxpbmtzXG4gICAgKTtcblxuICAgIHRoaXMubGlua3MuZm9yRWFjaCgobGluaykgPT4ge1xuICAgICAgbGluay5wcm9wZXJ0aWVzLmZvckVhY2goKHByb3BlcnR5KSA9PiB7XG4gICAgICAgIGxldCBvcHRpb25zID0gdGhpcy5nZXRCeVByb3BlcnR5KHByb3BlcnR5KTtcblxuICAgICAgICBpZiAocHJvcGVydHkgPT09IExpbmtlZFByb3BlcnRpZXMuWklOREVYKSB7XG4gICAgICAgICAgY29uc3QgbGF5ZXJzID0gW3RoaXMubGF5ZXIsIC4uLmNoaWxkcmVuXTtcbiAgICAgICAgICBvcHRpb25zID0gdGhpcy5pbml0WkluZGV4TGlua09wdGlvbnMoXG4gICAgICAgICAgICBvcHRpb25zIGFzIFppbmRleFByb3BlcnR5T3B0aW9ucyxcbiAgICAgICAgICAgIGxheWVyc1xuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoaWxkcmVuQnlQcm9wZXJ0eS5zZXQocHJvcGVydHksIG9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gdGhpcy5hZGQoY2hpbGQpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFpJbmRleExpbmtPcHRpb25zKFxuICAgIG9wdGlvbnM6IFppbmRleFByb3BlcnR5T3B0aW9ucyxcbiAgICBsYXllcnM6IExheWVyW11cbiAgKSB7XG4gICAgb3B0aW9ucy5pbml0aWFsT3JkZXIgPSBzb3J0TGF5ZXJzQnlaaW5kZXgobGF5ZXJzLCAnZGVzYycpO1xuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlKGNoaWxkKTtcbiAgICB9KTtcbiAgICB0aGlzLnVud2F0Y2goKTtcbiAgfVxuXG4gIGFkZChsYXllcjogTGF5ZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2hpbGRyZW4uaW5jbHVkZXMobGF5ZXIpKSB7XG4gICAgICB0aGlzLmNoaWxkcmVuLnB1c2gobGF5ZXIpO1xuICAgIH1cblxuICAgIHRoaXMuZ2V0TGF5ZXJMaW5rcyhsYXllcikuZm9yRWFjaCgobGluaykgPT4ge1xuICAgICAgaWYgKGxpbmsuYmlkaXJlY3Rpb25uYWwpIHtcbiAgICAgICAgaWYgKHRoaXMuYmlkaXJlY3Rpb25uYWxDaGlsZHJlbi5pbmNsdWRlcyhsYXllcikpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5iaWRpcmVjdGlvbm5hbENoaWxkcmVuLnB1c2gobGF5ZXIpO1xuICAgICAgICB0aGlzLndhdGNoZXIud2F0Y2hMYXllcihsYXllcik7XG4gICAgICB9XG5cbiAgICAgIGxpbmsucHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRCeVByb3BlcnR5KHByb3BlcnR5KTtcbiAgICAgICAgaWYgKG9wdGlvbnMubGF5ZXJzLmluY2x1ZGVzKGxheWVyKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlIGhhdmUgYSBwcm9wZXJ0eSBkaXNwbGF5ZWQgZm9yIGxheWVyIG91dCBvZiByZXNvbHV0aW9uIG9yIGluIGEgZ3JvdXBcbiAgICAgICAgLy8gSWYgdGhlIHZpc2libGl0eSBpcyBsaW5rZWQsIHdlIG5lZWQgdG8gcmVmbGVjdCB0aGUgZGlzcGxheWVkIHZhbHVlXG4gICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gTGlua2VkUHJvcGVydGllcy5WSVNJQkxFICYmICFsYXllci5zaG93SW5MYXllckxpc3QpIHtcbiAgICAgICAgICBjb25zdCBkaXNwbGF5ZWRPcHRpb25zID0gdGhpcy5nZXRCeVByb3BlcnR5KFxuICAgICAgICAgICAgTGlua2VkUHJvcGVydGllcy5ESVNQTEFZRURcbiAgICAgICAgICApO1xuICAgICAgICAgIGRpc3BsYXllZE9wdGlvbnMubGF5ZXJzLnB1c2gobGF5ZXIpO1xuICAgICAgICAgIHRoaXMuY2hpbGRyZW5CeVByb3BlcnR5LnNldChcbiAgICAgICAgICAgIExpbmtlZFByb3BlcnRpZXMuRElTUExBWUVELFxuICAgICAgICAgICAgZGlzcGxheWVkT3B0aW9uc1xuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGVydHkgPT09IExpbmtlZFByb3BlcnRpZXMuWklOREVYKSB7XG4gICAgICAgICAgY29uc3QgekluZGV4T3B0aW9ucyA9IG9wdGlvbnMgYXMgWmluZGV4UHJvcGVydHlPcHRpb25zO1xuICAgICAgICAgIGlmICghekluZGV4T3B0aW9ucy5pbml0aWFsT3JkZXIuaW5jbHVkZXMobGF5ZXIpKSB7XG4gICAgICAgICAgICB6SW5kZXhPcHRpb25zLmluaXRpYWxPcmRlciA9IHNvcnRMYXllcnNCeVppbmRleChcbiAgICAgICAgICAgICAgWy4uLnpJbmRleE9wdGlvbnMuaW5pdGlhbE9yZGVyLCBsYXllcl0sXG4gICAgICAgICAgICAgICdkZXNjJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBvcHRpb25zLmxheWVycy5wdXNoKGxheWVyKTtcbiAgICAgICAgdGhpcy5jaGlsZHJlbkJ5UHJvcGVydHkuc2V0KHByb3BlcnR5LCBvcHRpb25zKTtcblxuICAgICAgICBpZiAobGF5ZXJbcHJvcGVydHldICE9PSB0aGlzLmxheWVyW3Byb3BlcnR5XSkge1xuICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKHtcbiAgICAgICAgICAgIGV2ZW50OiB7XG4gICAgICAgICAgICAgIGtleTogcHJvcGVydHksXG4gICAgICAgICAgICAgIG9sZFZhbHVlOiBsYXllcltwcm9wZXJ0eV0sXG4gICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmxheWVyW3Byb3BlcnR5XVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxheWVyOiB0aGlzLmxheWVyXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgaGFzU3luY0RlbGV0aW9uKGxheWVyOiBMYXllcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldExheWVyTGlua3MobGF5ZXIpLnNvbWUoKGxpbmspID0+IGxpbmsuc3luY2VkRGVsZXRlKTtcbiAgfVxuXG4gIHJlbW92ZShsYXllcjogTGF5ZXIpOiB2b2lkIHtcbiAgICBsYXllci5saW5rTWFzdGVyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucmVtb3ZlQXJyYXlJdGVtKGxheWVyLCB0aGlzLmNoaWxkcmVuLCAnaWQnKTtcblxuICAgIHRoaXMuZ2V0TGF5ZXJMaW5rcyhsYXllcikuZm9yRWFjaCgobGluaykgPT4ge1xuICAgICAgaWYgKGxpbmsuYmlkaXJlY3Rpb25uYWwpIHtcbiAgICAgICAgdGhpcy53YXRjaGVyLnVud2F0Y2hMYXllcihsYXllcik7XG4gICAgICB9XG5cbiAgICAgIGxpbmsucHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRCeVByb3BlcnR5KHByb3BlcnR5KTtcbiAgICAgICAgdGhpcy5yZW1vdmVBcnJheUl0ZW0obGF5ZXIsIG9wdGlvbnMubGF5ZXJzLCAnaWQnKTtcbiAgICAgICAgdGhpcy5jaGlsZHJlbkJ5UHJvcGVydHkuc2V0KHByb3BlcnR5LCBvcHRpb25zKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlQ2hpbGRyZW4oY29udHJvbGxlcjogTGF5ZXJDb250cm9sbGVyKTogdm9pZCB7XG4gICAgY29uc3QgbGF5ZXJzID0gZ2V0TGF5ZXJzQnlEZWxldGlvbih0aGlzLmNoaWxkcmVuLCB0aGlzLmxpbmtzKTtcbiAgICBsYXllcnM/LmZvckVhY2goKGxheWVyKSA9PiB7XG4gICAgICB0aGlzLnJlbW92ZShsYXllcik7XG4gICAgICBjb250cm9sbGVyLnJlbW92ZShsYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBtb3ZlKGxheWVyOiBMYXllciwgcGFyZW50PzogTGF5ZXJHcm91cCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BlcnR5SXNEaXNhYmxlZChMaW5rZWRQcm9wZXJ0aWVzLlpJTkRFWCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRCeVByb3BlcnR5KFxuICAgICAgTGlua2VkUHJvcGVydGllcy5aSU5ERVhcbiAgICApIGFzIFppbmRleFByb3BlcnR5T3B0aW9ucztcbiAgICBpZiAoIW9wdGlvbnMubGF5ZXJzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxpbmtlZExheWVycyA9IHRoaXMuZ2V0TGlua2VkTGF5ZXJzT25aaW5kZXgobGF5ZXIuaWQpO1xuXG4gICAgdGhpcy5kaXNhYmxlKExpbmtlZFByb3BlcnRpZXMuWklOREVYKTtcblxuICAgIGNvbnN0IGluZGV4ID0gb3B0aW9ucy5pbml0aWFsT3JkZXIuZmluZEluZGV4KChsKSA9PiBsLmlkID09PSBsYXllci5pZCk7XG4gICAgbGlua2VkTGF5ZXJzPy5mb3JFYWNoKChsaW5rTGF5ZXIpID0+IHtcbiAgICAgIGlmICghbGlua0xheWVyLnNob3dJbkxheWVyTGlzdCkge1xuICAgICAgICBsaW5rTGF5ZXIuekluZGV4ID0gbGF5ZXIuekluZGV4O1xuICAgICAgICBpZiAocGFyZW50ICE9PSBsaW5rTGF5ZXIucGFyZW50KSB7XG4gICAgICAgICAgbGlua0xheWVyLnJlc2V0KHBhcmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsaW5rZWRJbmRleCA9IG9wdGlvbnMuaW5pdGlhbE9yZGVyLmZpbmRJbmRleChcbiAgICAgICAgKGwpID0+IGwuaWQgPT09IGxpbmtMYXllci5pZFxuICAgICAgKTtcbiAgICAgIGxpbmtlZEluZGV4IDwgaW5kZXhcbiAgICAgICAgPyB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIubW92ZUFib3ZlKGxheWVyLCBsaW5rTGF5ZXIpXG4gICAgICAgIDogdGhpcy5tYXAubGF5ZXJDb250cm9sbGVyLm1vdmVCZWxvdyhsYXllciwgbGlua0xheWVyKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZW5hYmxlKExpbmtlZFByb3BlcnRpZXMuWklOREVYKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZSguLi5wcm9wZXJ0aWVzOiBMaW5rZWRQcm9wZXJ0aWVzW10pOiB2b2lkIHtcbiAgICBwcm9wZXJ0aWVzLmZvckVhY2goKHByb3BlcnR5KSA9PiB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZFByb3BlcnRpZXMuaW5jbHVkZXMocHJvcGVydHkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGlzYWJsZWRQcm9wZXJ0aWVzLnB1c2gocHJvcGVydHkpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5iaWRpcmVjdGlvbm5hbENoaWxkcmVuLmZvckVhY2goKGxheWVyKSA9PiB7XG4gICAgICB0aGlzLndhdGNoZXIudW53YXRjaExheWVyKGxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlKC4uLnByb3BlcnRpZXM6IExpbmtlZFByb3BlcnRpZXNbXSk6IHZvaWQge1xuICAgIHByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kaXNhYmxlZFByb3BlcnRpZXMuZmluZEluZGV4KFxuICAgICAgICAoZGlzYWJsZVByb3BlcnR5KSA9PiBkaXNhYmxlUHJvcGVydHkgPT09IHByb3BlcnR5XG4gICAgICApO1xuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZFByb3BlcnRpZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuYmlkaXJlY3Rpb25uYWxDaGlsZHJlbi5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgdGhpcy53YXRjaGVyLndhdGNoTGF5ZXIobGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCeVByb3BlcnR5KHByb3BlcnR5OiBMaW5rZWRQcm9wZXJ0aWVzKTogQW55UHJvcGVydHlPcHRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5jaGlsZHJlbkJ5UHJvcGVydHkuZ2V0KHByb3BlcnR5KSA/PyB7IGxheWVyczogW10gfTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGVydHlJc0Rpc2FibGVkKHByb3BlcnR5OiBMaW5rZWRQcm9wZXJ0aWVzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRQcm9wZXJ0aWVzLmluY2x1ZGVzKHByb3BlcnR5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGF5ZXJMaW5rcyhsYXllcjogTGF5ZXIpOiBMYXllcnNMaW5rUHJvcGVydGllc1tdIHtcbiAgICBjb25zdCBsaW5rSWQgPSBsYXllci5vcHRpb25zLmxpbmtlZExheWVycyEubGlua0lkO1xuICAgIHJldHVybiB0aGlzLmxpbmtzLmZpbHRlcigobGluaykgPT4gbGluay5saW5rZWRJZHMuaW5jbHVkZXMobGlua0lkKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUFycmF5SXRlbTxUIGV4dGVuZHMgeyBpZDogc3RyaW5nIH0+KFxuICAgIGl0ZW06IFQsXG4gICAgYXJyYXk6IFRbXSxcbiAgICBrZXk6IGtleW9mIFQgPSAnaWQnXG4gICkge1xuICAgIGNvbnN0IGluZGV4ID0gYXJyYXkuZmluZEluZGV4KChuKSA9PiBuW2tleV0gPT09IGl0ZW1ba2V5XSk7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgYXJyYXkuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldExpbmtlZExheWVyc09uWmluZGV4KGlkOiBzdHJpbmcpOiBMYXllcltdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuZ2V0QnlQcm9wZXJ0eShMaW5rZWRQcm9wZXJ0aWVzLlpJTkRFWCkubGF5ZXJzXVxuICAgICAgPy5jb25jYXQodGhpcy5sYXllcilcbiAgICAgIC5maWx0ZXIoKGxheWVyKSA9PiBsYXllci5pZCAhPT0gaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSB1bndhdGNoKCk6IHZvaWQge1xuICAgIHRoaXMud2F0Y2hlci51bndhdGNoKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNoYW5nZSA9IChjaGFuZ2U6IExheWVyV2F0Y2hlckNoYW5nZSkgPT4ge1xuICAgIGNvbnN0IGlzTWFzdGVyQ2hhZ2UgPSBjaGFuZ2UubGF5ZXIuaWQgPT09IHRoaXMubGF5ZXIuaWQ7XG5cbiAgICBjb25zdCBwcm9wZXJ0eSA9IGNoYW5nZS5ldmVudC5rZXkgYXMgTGlua2VkUHJvcGVydGllcztcbiAgICBpZiAodGhpcy5wcm9wZXJ0eUlzRGlzYWJsZWQocHJvcGVydHkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZ2V0QnlQcm9wZXJ0eShwcm9wZXJ0eSk7XG4gICAgbGV0IGxheWVycyA9IFsuLi5vcHRpb25zLmxheWVyc107XG4gICAgaWYgKCFsYXllcnM/Lmxlbmd0aCAmJiBpc01hc3RlckNoYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFpc01hc3RlckNoYWdlKSB7XG4gICAgICBsYXllcnMgPSBsYXllcnMuZmlsdGVyKChuKSA9PiBuLmlkICE9PSBjaGFuZ2UubGF5ZXIuaWQpO1xuICAgICAgbGF5ZXJzLnB1c2godGhpcy5sYXllcik7XG4gICAgfVxuXG4gICAgaWYgKHByb3BlcnR5ID09PSBMaW5rZWRQcm9wZXJ0aWVzLkRJU1BMQVlFRCAmJiBpc01hc3RlckNoYWdlKSB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVEaXNwbGF5Q2hhbmdlKGNoYW5nZSwgbGF5ZXJzKTtcbiAgICB9XG5cbiAgICBoYW5kbGVMYXllclByb3BlcnR5Q2hhbmdlKGxheWVycywgY2hhbmdlLCB0aGlzLm1hcC52aWV3Q29udHJvbGxlcik7XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVEaXNwbGF5Q2hhbmdlKGNoYW5nZTogTGF5ZXJXYXRjaGVyQ2hhbmdlLCBjaGlsZHJlbjogTGF5ZXJbXSkge1xuICAgIGNvbnN0IGFmZmVjdGVkUHJvcGVydGllcyA9IFtcbiAgICAgIExpbmtlZFByb3BlcnRpZXMuRElTUExBWUVELFxuICAgICAgTGlua2VkUHJvcGVydGllcy5WSVNJQkxFXG4gICAgXTtcbiAgICB0aGlzLmRpc2FibGUoLi4uYWZmZWN0ZWRQcm9wZXJ0aWVzKTtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgaWYgKCFjaGlsZC5zaG93SW5MYXllckxpc3QpIHtcbiAgICAgICAgY2hpbGQudmlzaWJsZSA9ICEhY2hhbmdlLmV2ZW50LnZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZW5hYmxlKC4uLmFmZmVjdGVkUHJvcGVydGllcyk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDaGlsZHJlbihcbiAgICBsYXllcnM6IEFueUxheWVyW10sXG4gICAgbGlua3M6IExheWVyc0xpbmtQcm9wZXJ0aWVzW11cbiAgKTogTGF5ZXJbXSB7XG4gICAgY29uc3QgbGF5ZXJzRmlsdGVyZWQgPSBsYXllcnMuZmlsdGVyKChuKSA9PiBpc0xheWVySXRlbShuKSkgYXMgTGF5ZXJbXTtcblxuICAgIHJldHVybiBsaW5rcy5yZWR1Y2UoKGxpbmtlZDogTGF5ZXJbXSwgbGluaykgPT4ge1xuICAgICAgY29uc3QgbGF5ZXJGcm9tTGluayA9IGxpbmsubGlua2VkSWRzXG4gICAgICAgIC5tYXAoKGlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpbmRMYXllckJ5TGlua0lkKGxheWVyc0ZpbHRlcmVkLCBpZCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgIHJldHVybiBsaW5rZWQuY29uY2F0KGxheWVyRnJvbUxpbmspO1xuICAgIH0sIFtdKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,70 @@
1
+ import { isBaseLayer, isLayerItem, isLayerItemOptions } from '../../../utils/layer.utils';
2
+ export function isLayerLinked(layer) {
3
+ return isLayerItem(layer) && !!layer.options.linkedLayers;
4
+ }
5
+ export function isLinkMaster(layer) {
6
+ return !!layer.options.linkedLayers?.links;
7
+ }
8
+ export function isLayerLinkedTogether(layerA, layerB, layers, property) {
9
+ if (!isLayerLinked(layerA) || !isLayerLinked(layerB)) {
10
+ return false;
11
+ }
12
+ let masterLink = isLinkMaster(layerA)
13
+ ? layerA
14
+ : isLinkMaster(layerB)
15
+ ? layerB
16
+ : undefined;
17
+ const isMasterRelation = !!masterLink;
18
+ if (!masterLink) {
19
+ const masterA = getLinkedLayerMaster(layerA, layers);
20
+ const masterB = getLinkedLayerMaster(layerB, layers);
21
+ if (masterA?.id !== masterB?.id) {
22
+ return false;
23
+ }
24
+ masterLink = masterA;
25
+ }
26
+ const links = masterLink.options.linkedLayers.links;
27
+ if (isMasterRelation) {
28
+ const child = masterLink === layerA ? layerB : layerA;
29
+ return !!getLayerLinks(links, child, property);
30
+ }
31
+ const potentialLinks = getLayerLinks(links, layerA, property);
32
+ return potentialLinks?.some((link) => link.linkedIds.includes(layerB.id));
33
+ }
34
+ function getLayerLinks(links, layer, property) {
35
+ const linkId = layer.options.linkedLayers.linkId;
36
+ return links.filter((link) => {
37
+ const hasLink = link.linkedIds.includes(linkId);
38
+ if (property) {
39
+ return hasLink && link.properties.includes(property);
40
+ }
41
+ return hasLink;
42
+ });
43
+ }
44
+ export function isLayerLinkedOptions(options) {
45
+ return isLayerItemOptions(options) && !!options.linkedLayers;
46
+ }
47
+ export function isBaseLayerLinked(layer, allLayers) {
48
+ if (!isLayerItem(layer)) {
49
+ return;
50
+ }
51
+ const linkedMaster = getLinkedLayerMaster(layer, allLayers);
52
+ return linkedMaster && isBaseLayer(linkedMaster);
53
+ }
54
+ function getLinkedLayerMaster(layer, layers) {
55
+ if (!layer.options.linkedLayers) {
56
+ return;
57
+ }
58
+ return layers.find((list_layer) => _isLinkedMaster(layer, list_layer));
59
+ }
60
+ function _isLinkedMaster(layer, layerToCheck) {
61
+ if (!isLayerItem(layerToCheck)) {
62
+ return;
63
+ }
64
+ const links = layerToCheck.options.linkedLayers?.links;
65
+ if (links) {
66
+ return links.some((link) => link.linkedIds.includes(layer.options.linkedLayers.linkId));
67
+ }
68
+ return false;
69
+ }
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWxheWVyLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9saW5rZWQvbGlua2VkLWxheWVyLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGtCQUFrQixFQUNuQixNQUFNLDRCQUE0QixDQUFDO0FBWXBDLE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBZTtJQUMzQyxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBWTtJQUN2QyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsTUFBZ0IsRUFDaEIsTUFBZ0IsRUFDaEIsTUFBa0IsRUFDbEIsUUFBMkI7SUFFM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3JELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDbkMsQ0FBQyxDQUFDLE1BQU07UUFDUixDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUNwQixDQUFDLENBQUMsTUFBTTtZQUNSLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBRXRDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FB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LENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQzNELENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaXNCYXNlTGF5ZXIsXG4gIGlzTGF5ZXJJdGVtLFxuICBpc0xheWVySXRlbU9wdGlvbnNcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbGF5ZXIudXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBBbnlMYXllciB9IGZyb20gJy4uL2FueS1sYXllcic7XG5pbXBvcnQgdHlwZSB7XG4gIEFueUxheWVySXRlbU9wdGlvbnMsXG4gIEFueUxheWVyT3B0aW9uc1xufSBmcm9tICcuLi9hbnktbGF5ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB0eXBlIHsgTGF5ZXIgfSBmcm9tICcuLi9sYXllcic7XG5pbXBvcnQgdHlwZSB7XG4gIExheWVyc0xpbmtQcm9wZXJ0aWVzLFxuICBMaW5rZWRQcm9wZXJ0aWVzXG59IGZyb20gJy4vbGlua2VkLWxheWVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xheWVyTGlua2VkKGxheWVyOiBBbnlMYXllcik6IGxheWVyIGlzIExheWVyIHtcbiAgcmV0dXJuIGlzTGF5ZXJJdGVtKGxheWVyKSAmJiAhIWxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMaW5rTWFzdGVyKGxheWVyOiBMYXllcik6IGJvb2xlYW4ge1xuICByZXR1cm4gISFsYXllci5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xheWVyTGlua2VkVG9nZXRoZXIoXG4gIGxheWVyQTogQW55TGF5ZXIsXG4gIGxheWVyQjogQW55TGF5ZXIsXG4gIGxheWVyczogQW55TGF5ZXJbXSxcbiAgcHJvcGVydHk/OiBMaW5rZWRQcm9wZXJ0aWVzXG4pOiBib29sZWFuIHtcbiAgaWYgKCFpc0xheWVyTGlua2VkKGxheWVyQSkgfHwgIWlzTGF5ZXJMaW5rZWQobGF5ZXJCKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGxldCBtYXN0ZXJMaW5rID0gaXNMaW5rTWFzdGVyKGxheWVyQSlcbiAgICA/IGxheWVyQVxuICAgIDogaXNMaW5rTWFzdGVyKGxheWVyQilcbiAgICAgID8gbGF5ZXJCXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgY29uc3QgaXNNYXN0ZXJSZWxhdGlvbiA9ICEhbWFzdGVyTGluaztcblxuICBpZiAoIW1hc3RlckxpbmspIHtcbiAgICBjb25zdCBtYXN0ZXJBID0gZ2V0TGlua2VkTGF5ZXJNYXN0ZXIobGF5ZXJBLCBsYXllcnMpO1xuICAgIGNvbnN0IG1hc3RlckIgPSBnZXRMaW5rZWRMYXllck1hc3RlcihsYXllckIsIGxheWVycyk7XG4gICAgaWYgKG1hc3RlckE/LmlkICE9PSBtYXN0ZXJCPy5pZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIG1hc3RlckxpbmsgPSBtYXN0ZXJBO1xuICB9XG5cbiAgY29uc3QgbGlua3MgPSBtYXN0ZXJMaW5rLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtzO1xuICBpZiAoaXNNYXN0ZXJSZWxhdGlvbikge1xuICAgIGNvbnN0IGNoaWxkID0gbWFzdGVyTGluayA9PT0gbGF5ZXJBID8gbGF5ZXJCIDogbGF5ZXJBO1xuICAgIHJldHVybiAhIWdldExheWVyTGlua3MobGlua3MsIGNoaWxkLCBwcm9wZXJ0eSk7XG4gIH1cblxuICBjb25zdCBwb3RlbnRpYWxMaW5rcyA9IGdldExheWVyTGlua3MobGlua3MsIGxheWVyQSwgcHJvcGVydHkpO1xuICByZXR1cm4gcG90ZW50aWFsTGlua3M/LnNvbWUoKGxpbmspID0+IGxpbmsubGlua2VkSWRzLmluY2x1ZGVzKGxheWVyQi5pZCkpO1xufVxuXG5mdW5jdGlvbiBnZXRMYXllckxpbmtzKFxuICBsaW5rczogTGF5ZXJzTGlua1Byb3BlcnRpZXNbXSxcbiAgbGF5ZXI6IExheWVyLFxuICBwcm9wZXJ0eT86IExpbmtlZFByb3BlcnRpZXNcbik6IExheWVyc0xpbmtQcm9wZXJ0aWVzW10ge1xuICBjb25zdCBsaW5rSWQgPSBsYXllci5vcHRpb25zLmxpbmtlZExheWVycyEubGlua0lkO1xuICByZXR1cm4gbGlua3MuZmlsdGVyKChsaW5rKSA9PiB7XG4gICAgY29uc3QgaGFzTGluayA9IGxpbmsubGlua2VkSWRzLmluY2x1ZGVzKGxpbmtJZCk7XG4gICAgaWYgKHByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gaGFzTGluayAmJiBsaW5rLnByb3BlcnRpZXMuaW5jbHVkZXMocHJvcGVydHkpO1xuICAgIH1cblxuICAgIHJldHVybiBoYXNMaW5rO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGF5ZXJMaW5rZWRPcHRpb25zKFxuICBvcHRpb25zOiBBbnlMYXllck9wdGlvbnNcbik6IG9wdGlvbnMgaXMgQW55TGF5ZXJJdGVtT3B0aW9ucyB7XG4gIHJldHVybiBpc0xheWVySXRlbU9wdGlvbnMob3B0aW9ucykgJiYgISFvcHRpb25zLmxpbmtlZExheWVycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQmFzZUxheWVyTGlua2VkKFxuICBsYXllcjogQW55TGF5ZXIsXG4gIGFsbExheWVyczogQW55TGF5ZXJbXVxuKTogbGF5ZXIgaXMgTGF5ZXIge1xuICBpZiAoIWlzTGF5ZXJJdGVtKGxheWVyKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGxpbmtlZE1hc3RlciA9IGdldExpbmtlZExheWVyTWFzdGVyKGxheWVyLCBhbGxMYXllcnMpO1xuICByZXR1cm4gbGlua2VkTWFzdGVyICYmIGlzQmFzZUxheWVyKGxpbmtlZE1hc3Rlcik7XG59XG5cbmZ1bmN0aW9uIGdldExpbmtlZExheWVyTWFzdGVyKFxuICBsYXllcjogTGF5ZXIsXG4gIGxheWVyczogQW55TGF5ZXJbXVxuKTogTGF5ZXIgfCB1bmRlZmluZWQge1xuICBpZiAoIWxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIGxheWVycy5maW5kKChsaXN0X2xheWVyKSA9PlxuICAgIF9pc0xpbmtlZE1hc3RlcihsYXllciwgbGlzdF9sYXllcilcbiAgKSBhcyBMYXllcjtcbn1cblxuZnVuY3Rpb24gX2lzTGlua2VkTWFzdGVyKGxheWVyOiBMYXllciwgbGF5ZXJUb0NoZWNrOiBBbnlMYXllcik6IGJvb2xlYW4ge1xuICBpZiAoIWlzTGF5ZXJJdGVtKGxheWVyVG9DaGVjaykpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgbGlua3MgPSBsYXllclRvQ2hlY2sub3B0aW9ucy5saW5rZWRMYXllcnM/LmxpbmtzO1xuICBpZiAobGlua3MpIHtcbiAgICByZXR1cm4gbGlua3Muc29tZSgobGluaykgPT5cbiAgICAgIGxpbmsubGlua2VkSWRzLmluY2x1ZGVzKGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtJZClcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL3RpbGUtbGF5ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xMYXllclRpbGUgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5pbXBvcnQgb2xTb3VyY2VUaWxlIGZyb20gJ29sL3NvdXJjZS9UaWxlJztcblxuaW1wb3J0IHsgQ2FydG9EYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvY2FydG8tZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBDYXJ0b0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvY2FydG8tZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT1NNRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL29zbS1kYXRhc291cmNlJztcbmltcG9ydCB7IE9TTURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvb3NtLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3RpbGVhcmNnaXNyZXN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3RpbGVhcmNnaXNyZXN0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRpbGVEZWJ1Z0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy90aWxlZGVidWctZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBUaWxlRGVidWdEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3RpbGVkZWJ1Zy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXTVRTRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtdHMtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBXTVRTRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXRzLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhZWkRhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy94eXotZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBYWVpEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3h5ei1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMYXllck9wdGlvbnMgfSBmcm9tICcuL2xheWVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGlsZUxheWVyT3B0aW9ucyBleHRlbmRzIExheWVyT3B0aW9ucyB7XG4gIHNvdXJjZT86XG4gICAgfCBPU01EYXRhU291cmNlXG4gICAgfCBXTVRTRGF0YVNvdXJjZVxuICAgIHwgWFlaRGF0YVNvdXJjZVxuICAgIHwgVGlsZURlYnVnRGF0YVNvdXJjZVxuICAgIHwgQ2FydG9EYXRhU291cmNlXG4gICAgfCBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2U7XG4gIHNvdXJjZU9wdGlvbnM/OlxuICAgIHwgT1NNRGF0YVNvdXJjZU9wdGlvbnNcbiAgICB8IFdNVFNEYXRhU291cmNlT3B0aW9uc1xuICAgIHwgWFlaRGF0YVNvdXJjZU9wdGlvbnNcbiAgICB8IFRpbGVEZWJ1Z0RhdGFTb3VyY2VPcHRpb25zXG4gICAgfCBDYXJ0b0RhdGFTb3VyY2VPcHRpb25zXG4gICAgfCBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zO1xuICBvbD86IG9sTGF5ZXJUaWxlPG9sU291cmNlVGlsZT47XG59XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import olLayerTile from 'ol/layer/Tile';
2
+ import { TileWatcher } from '../../utils/tile-watcher';
3
+ import { Layer } from './layer';
4
+ export class TileLayer extends Layer {
5
+ messageService;
6
+ authInterceptor;
7
+ type = 'raster';
8
+ watcher;
9
+ constructor(options, messageService, authInterceptor) {
10
+ super(options, messageService);
11
+ this.messageService = messageService;
12
+ this.authInterceptor = authInterceptor;
13
+ this.watcher = new TileWatcher(this);
14
+ this.status$ = this.watcher.status$;
15
+ }
16
+ createOlLayer() {
17
+ const olOptions = Object.assign({}, this.options, {
18
+ source: this.options.source.ol
19
+ });
20
+ const tileLayer = new olLayerTile(olOptions);
21
+ const tileSource = tileLayer.getSource();
22
+ tileSource.setTileLoadFunction((tile, url) => {
23
+ this.customLoader(tile, url, this.authInterceptor);
24
+ });
25
+ return tileLayer;
26
+ }
27
+ /**
28
+ * Custom loader for tile layer.
29
+ * @internal
30
+ * @param tile the current tile
31
+ * @param url the url string or function to retrieve the data
32
+ */
33
+ customLoader(tile, url, interceptor) {
34
+ const alteredUrlWithKeyAuth = interceptor.alterUrlWithKeyAuth(url);
35
+ let modifiedUrl = url;
36
+ if (alteredUrlWithKeyAuth) {
37
+ modifiedUrl = alteredUrlWithKeyAuth;
38
+ }
39
+ tile.getImage().src = modifiedUrl;
40
+ }
41
+ init(map) {
42
+ if (map === undefined) {
43
+ this.watcher.unsubscribe();
44
+ }
45
+ else {
46
+ this.watcher.subscribe(() => void 1);
47
+ }
48
+ super.init(map);
49
+ }
50
+ remove() {
51
+ this.watcher.unsubscribe();
52
+ super.remove();
53
+ }
54
+ }
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvdGlsZS1sYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFVeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFJaEMsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBZ0J6QjtJQUNBO0lBaEJULElBQUksR0FBYyxRQUFRLENBQUM7SUFXbkIsT0FBTyxDQUFjO0lBRTdCLFlBQ0UsT0FBeUIsRUFDbEIsY0FBK0IsRUFDL0IsZUFBaUM7UUFFeEMsS0FBSyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUh4QixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0Isb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBSXhDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRVMsYUFBYTtRQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hELE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1NBQy9CLENBQUMsQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHLElBQUksV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN6QyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFVLEVBQUUsR0FBVyxFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBVyxFQUFFLFdBQTRCO1FBQzFELE1BQU0scUJBQXFCLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLElBQUksV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN0QixJQUFJLHFCQUFxQixFQUFFLENBQUM7WUFDMUIsV0FBVyxHQUFHLHFCQUFxQixDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztJQUNwQyxDQUFDO0lBRU0sSUFBSSxDQUFDLEdBQXdCO1FBQ2xDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzQixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XG5cbmltcG9ydCBUaWxlIGZyb20gJ29sL1RpbGUnO1xuaW1wb3J0IG9sTGF5ZXJUaWxlIGZyb20gJ29sL2xheWVyL1RpbGUnO1xuaW1wb3J0IG9sU291cmNlVGlsZSBmcm9tICdvbC9zb3VyY2UvVGlsZSc7XG5cbmltcG9ydCB7IENhcnRvRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2NhcnRvLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgT1NNRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL29zbS1kYXRhc291cmNlJztcbmltcG9ydCB7IFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3RpbGVhcmNnaXNyZXN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgVGlsZURlYnVnRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3RpbGVkZWJ1Zy1kYXRhc291cmNlJztcbmltcG9ydCB7IFdNVFNEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd210cy1kYXRhc291cmNlJztcbmltcG9ydCB7IFhZWkRhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy94eXotZGF0YXNvdXJjZSc7XG5pbXBvcnQgdHlwZSB7IE1hcEJhc2UgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBUaWxlV2F0Y2hlciB9IGZyb20gJy4uLy4uL3V0aWxzL3RpbGUtd2F0Y2hlcic7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4vbGF5ZXInO1xuaW1wb3J0IHsgTGF5ZXJUeXBlIH0gZnJvbSAnLi9sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyT3B0aW9ucyB9IGZyb20gJy4vdGlsZS1sYXllci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgVGlsZUxheWVyIGV4dGVuZHMgTGF5ZXIge1xuICB0eXBlOiBMYXllclR5cGUgPSAncmFzdGVyJztcbiAgZGVjbGFyZSBwdWJsaWMgZGF0YVNvdXJjZTpcbiAgICB8IE9TTURhdGFTb3VyY2VcbiAgICB8IFdNVFNEYXRhU291cmNlXG4gICAgfCBYWVpEYXRhU291cmNlXG4gICAgfCBUaWxlRGVidWdEYXRhU291cmNlXG4gICAgfCBDYXJ0b0RhdGFTb3VyY2VcbiAgICB8IFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZTtcbiAgZGVjbGFyZSBwdWJsaWMgb3B0aW9uczogVGlsZUxheWVyT3B0aW9ucztcbiAgZGVjbGFyZSBwdWJsaWMgb2w6IG9sTGF5ZXJUaWxlPG9sU291cmNlVGlsZT47XG5cbiAgcHJpdmF0ZSB3YXRjaGVyOiBUaWxlV2F0Y2hlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiBUaWxlTGF5ZXJPcHRpb25zLFxuICAgIHB1YmxpYyBtZXNzYWdlU2VydmljZT86IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBhdXRoSW50ZXJjZXB0b3I/OiBBdXRoSW50ZXJjZXB0b3JcbiAgKSB7XG4gICAgc3VwZXIob3B0aW9ucywgbWVzc2FnZVNlcnZpY2UpO1xuXG4gICAgdGhpcy53YXRjaGVyID0gbmV3IFRpbGVXYXRjaGVyKHRoaXMpO1xuICAgIHRoaXMuc3RhdHVzJCA9IHRoaXMud2F0Y2hlci5zdGF0dXMkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sTGF5ZXIoKTogb2xMYXllclRpbGU8b2xTb3VyY2VUaWxlPiB7XG4gICAgY29uc3Qgb2xPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5vcHRpb25zLCB7XG4gICAgICBzb3VyY2U6IHRoaXMub3B0aW9ucy5zb3VyY2Uub2xcbiAgICB9KTtcbiAgICBjb25zdCB0aWxlTGF5ZXIgPSBuZXcgb2xMYXllclRpbGUob2xPcHRpb25zKTtcbiAgICBjb25zdCB0aWxlU291cmNlID0gdGlsZUxheWVyLmdldFNvdXJjZSgpO1xuICAgIHRpbGVTb3VyY2Uuc2V0VGlsZUxvYWRGdW5jdGlvbigodGlsZTogVGlsZSwgdXJsOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMuY3VzdG9tTG9hZGVyKHRpbGUsIHVybCwgdGhpcy5hdXRoSW50ZXJjZXB0b3IpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRpbGVMYXllcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDdXN0b20gbG9hZGVyIGZvciB0aWxlIGxheWVyLlxuICAgKiBAaW50ZXJuYWxcbiAgICogQHBhcmFtIHRpbGUgdGhlIGN1cnJlbnQgdGlsZVxuICAgKiBAcGFyYW0gdXJsIHRoZSB1cmwgc3RyaW5nIG9yIGZ1bmN0aW9uIHRvIHJldHJpZXZlIHRoZSBkYXRhXG4gICAqL1xuICBjdXN0b21Mb2FkZXIodGlsZSwgdXJsOiBzdHJpbmcsIGludGVyY2VwdG9yOiBBdXRoSW50ZXJjZXB0b3IpIHtcbiAgICBjb25zdCBhbHRlcmVkVXJsV2l0aEtleUF1dGggPSBpbnRlcmNlcHRvci5hbHRlclVybFdpdGhLZXlBdXRoKHVybCk7XG4gICAgbGV0IG1vZGlmaWVkVXJsID0gdXJsO1xuICAgIGlmIChhbHRlcmVkVXJsV2l0aEtleUF1dGgpIHtcbiAgICAgIG1vZGlmaWVkVXJsID0gYWx0ZXJlZFVybFdpdGhLZXlBdXRoO1xuICAgIH1cbiAgICB0aWxlLmdldEltYWdlKCkuc3JjID0gbW9kaWZpZWRVcmw7XG4gIH1cblxuICBwdWJsaWMgaW5pdChtYXA6IE1hcEJhc2UgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAobWFwID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMud2F0Y2hlci51bnN1YnNjcmliZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhdGNoZXIuc3Vic2NyaWJlKCgpID0+IHZvaWQgMSk7XG4gICAgfVxuICAgIHN1cGVyLmluaXQobWFwKTtcbiAgfVxuXG4gIHJlbW92ZSgpOiB2b2lkIHtcbiAgICB0aGlzLndhdGNoZXIudW5zdWJzY3JpYmUoKTtcbiAgICBzdXBlci5yZW1vdmUoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLWxheWVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvdmVjdG9yLWxheWVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgKiBhcyBvbENvbG9yIGZyb20gJ29sL2NvbG9yJztcbmltcG9ydCBvbExheWVyVmVjdG9yIGZyb20gJ29sL2xheWVyL1ZlY3Rvcic7XG5pbXBvcnQgUmVuZGVyRmVhdHVyZSBmcm9tICdvbC9yZW5kZXIvRmVhdHVyZSc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgb2xTdHlsZSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5cbmltcG9ydCB7IEFyY0dJU1Jlc3REYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvYXJjZ2lzcmVzdC1kYXRhc291cmNlJztcbmltcG9ydCB7IEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2FyY2dpc3Jlc3QtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2x1c3RlckRhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9jbHVzdGVyLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgQ2x1c3RlckRhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvY2x1c3Rlci1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9mZWF0dXJlLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdlYlNvY2tldERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZWJzb2NrZXQtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBXZWJTb2NrZXREYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dlYnNvY2tldC1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd2ZzLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZnMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWdvU3R5bGUgfSBmcm9tICcuLi8uLi8uLi9zdHlsZS9zaGFyZWQvdmVjdG9yL3ZlY3Rvci1zdHlsZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2x1c3RlclBhcmFtIH0gZnJvbSAnLi4vY2x1c3RlclBhcmFtJztcbmltcG9ydCB7IExheWVyT3B0aW9ucyB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBWZWN0b3JMYXllck9wdGlvbnMgZXh0ZW5kcyBMYXllck9wdGlvbnMge1xuICBzb3VyY2U/OlxuICAgIHwgRmVhdHVyZURhdGFTb3VyY2VcbiAgICB8IFdGU0RhdGFTb3VyY2VcbiAgICB8IEFyY0dJU1Jlc3REYXRhU291cmNlXG4gICAgfCBXZWJTb2NrZXREYXRhU291cmNlXG4gICAgfCBDbHVzdGVyRGF0YVNvdXJjZTtcbiAgc291cmNlT3B0aW9ucz86XG4gICAgfCBGZWF0dXJlRGF0YVNvdXJjZU9wdGlvbnNcbiAgICB8IFdGU0RhdGFTb3VyY2VPcHRpb25zXG4gICAgfCBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnNcbiAgICB8IFdlYlNvY2tldERhdGFTb3VyY2VPcHRpb25zXG4gICAgfCBDbHVzdGVyRGF0YVNvdXJjZU9wdGlvbnM7XG4gIHN0eWxlPzpcbiAgICB8IG9sU3R5bGVcbiAgICB8IG9sU3R5bGVbXVxuICAgIHwgKChcbiAgICAgICAgYXJnMDogUmVuZGVyRmVhdHVyZSB8IEZlYXR1cmU8YW55PixcbiAgICAgICAgYXJnMTogbnVtYmVyXG4gICAgICApID0+IHZvaWQgfCBvbFN0eWxlIHwgb2xTdHlsZVtdKTtcbiAgYnJvd3NhYmxlPzogYm9vbGVhbjtcbiAgZXhwb3J0YWJsZT86IGJvb2xlYW47XG4gIG9sPzogb2xMYXllclZlY3RvcjxvbFNvdXJjZVZlY3Rvcj47XG4gIGFuaW1hdGlvbj86IFZlY3RvckFuaW1hdGlvbjtcbiAgY2x1c3RlclBhcmFtPzogQ2x1c3RlclBhcmFtO1xuICB0cmFja0ZlYXR1cmU/OiBzdHJpbmcgfCBudW1iZXI7XG4gIGlkYkluZm8/OiBJZGJJbmZvO1xuICBpZ29TdHlsZT86IElnb1N0eWxlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkYkluZm8ge1xuICBzdG9yZVRvSWRiOiBib29sZWFuO1xuICBjb250ZXh0VXJpOiBzdHJpbmc7XG4gIGZpcnN0TG9hZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZWN0b3JBbmltYXRpb24ge1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgY29sb3I/OiBvbENvbG9yLkNvbG9yO1xufVxuIl19