@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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9ydGlsZS1sYXllci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3RvcnRpbGUtbGF5ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcbmltcG9ydCBvbExheWVyVmVjdG9yVGlsZSBmcm9tICdvbC9sYXllci9WZWN0b3JUaWxlJztcbmltcG9ydCBSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcbmltcG9ydCBvbFN0eWxlIGZyb20gJ29sL3N0eWxlL1N0eWxlJztcblxuaW1wb3J0IHsgTVZURGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL212dC1kYXRhc291cmNlJztcbmltcG9ydCB7IE1WVERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvbXZ0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElnb1N0eWxlIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGUvc2hhcmVkL3ZlY3Rvci92ZWN0b3Itc3R5bGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IExheWVyT3B0aW9ucyB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zIGV4dGVuZHMgTGF5ZXJPcHRpb25zIHtcbiAgc3R5bGU/OlxuICAgIHwgb2xTdHlsZVxuICAgIHwgb2xTdHlsZVtdXG4gICAgfCAoKFxuICAgICAgICBhcmcwOiBSZW5kZXJGZWF0dXJlIHwgRmVhdHVyZTxhbnk+LFxuICAgICAgICBhcmcxOiBudW1iZXJcbiAgICAgICkgPT4gdm9pZCB8IG9sU3R5bGUgfCBvbFN0eWxlW10pO1xuICBzb3VyY2U/OiBNVlREYXRhU291cmNlO1xuICBzb3VyY2VPcHRpb25zPzogTVZURGF0YVNvdXJjZU9wdGlvbnM7XG4gIG9sPzogb2xMYXllclZlY3RvclRpbGU7XG4gIGRlY2x1dHRlcj86IGJvb2xlYW47XG4gIGlnb1N0eWxlPzogSWdvU3R5bGU7XG59XG4iXX0=
@@ -0,0 +1,112 @@
1
+ import olLayerVectorTile from 'ol/layer/VectorTile';
2
+ import { TileWatcher } from '../../utils/tile-watcher';
3
+ import { Layer } from './layer';
4
+ export class VectorTileLayer extends Layer {
5
+ messageService;
6
+ authInterceptor;
7
+ type = 'vector';
8
+ watcher;
9
+ constructor(options, messageService, authInterceptor) {
10
+ super(options, messageService, authInterceptor);
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 vectorTile = new olLayerVectorTile(olOptions);
21
+ const vectorTileSource = vectorTile.getSource();
22
+ vectorTileSource.setTileLoadFunction((tile, url) => {
23
+ const loader = this.customLoader(url, tile.getFormat(), this.authInterceptor, tile.onLoad.bind(tile));
24
+ if (loader) {
25
+ tile.setLoader(loader);
26
+ }
27
+ });
28
+ return vectorTile;
29
+ }
30
+ /**
31
+ * Custom loader for vector tile layer. Modified from the loadFeaturesXhr function in ol\featureloader.js
32
+ * @internal
33
+ * @param url the url string or function to retrieve the data
34
+ * @param format the format of the tile
35
+ * @param interceptor the interceptor of the data
36
+ * @param success On success event action to trigger
37
+ * @param failure On failure event action to trigger TODO
38
+ */
39
+ customLoader(url, format, interceptor, success, failure) {
40
+ return (extent, resolution, projection) => {
41
+ const xhr = new XMLHttpRequest();
42
+ let modifiedUrl = url;
43
+ if (typeof url !== 'function') {
44
+ const alteredUrlWithKeyAuth = interceptor.alterUrlWithKeyAuth(url);
45
+ if (alteredUrlWithKeyAuth) {
46
+ modifiedUrl = alteredUrlWithKeyAuth;
47
+ }
48
+ }
49
+ else {
50
+ modifiedUrl = url(extent, resolution, projection);
51
+ }
52
+ xhr.open('GET', modifiedUrl);
53
+ if (interceptor) {
54
+ interceptor.interceptXhr(xhr, modifiedUrl);
55
+ }
56
+ if (format.getType() === 'arraybuffer') {
57
+ xhr.responseType = 'arraybuffer';
58
+ }
59
+ xhr.onload = () => {
60
+ if (!xhr.status || (xhr.status >= 200 && xhr.status < 300)) {
61
+ const type = format.getType();
62
+ let source;
63
+ if (type === 'json' || type === 'text') {
64
+ source = xhr.responseText;
65
+ }
66
+ else if (type === 'xml') {
67
+ source = xhr.responseXML;
68
+ if (!source) {
69
+ source = new DOMParser().parseFromString(xhr.responseText, 'application/xml');
70
+ }
71
+ }
72
+ else if (type === 'arraybuffer') {
73
+ source = xhr.response;
74
+ }
75
+ if (source) {
76
+ success.call(this, format.readFeatures(source, {
77
+ extent,
78
+ featureProjection: projection
79
+ }), format.readProjection(source));
80
+ }
81
+ else {
82
+ // TODO
83
+ failure.call(this);
84
+ }
85
+ }
86
+ else {
87
+ // TODO
88
+ failure.call(this);
89
+ }
90
+ };
91
+ xhr.onerror = () => {
92
+ // TODO
93
+ failure.call(this);
94
+ };
95
+ xhr.send();
96
+ };
97
+ }
98
+ init(map) {
99
+ if (map === undefined) {
100
+ this.watcher.unsubscribe();
101
+ }
102
+ else {
103
+ this.watcher.subscribe(() => void 1);
104
+ }
105
+ super.init(map);
106
+ }
107
+ remove() {
108
+ this.watcher.unsubscribe();
109
+ super.remove();
110
+ }
111
+ }
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9ydGlsZS1sYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvdmVjdG9ydGlsZS1sYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLGlCQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBS3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSWhDLE1BQU0sT0FBTyxlQUFnQixTQUFRLEtBQUs7SUFVL0I7SUFDQTtJQVZULElBQUksR0FBYyxRQUFRLENBQUM7SUFLbkIsT0FBTyxDQUFjO0lBRTdCLFlBQ0UsT0FBK0IsRUFDeEIsY0FBK0IsRUFDL0IsZUFBaUM7UUFFeEMsS0FBSyxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFIekMsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUd4QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVTLGFBQWE7UUFDckIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBd0I7U0FDckQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQXdCLENBQUM7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QUNGLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQzlCLENBQUM7b0JBQ0osQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE9BQU87d0JBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDckIsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTztvQkFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNyQixDQUFDO1lBQ0gsQ0FBQyxDQUFDO1lBQ0YsR0FBRyxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7Z0JBQ2pCLE9BQU87Z0JBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7WUFDRixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDYixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU0sSUFBSSxDQUFDLEdBQXdCO1FBQ2xDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzQixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XG5cbmltcG9ydCBWZWN0b3JUaWxlIGZyb20gJ29sL1ZlY3RvclRpbGUnO1xuaW1wb3J0IG9sTGF5ZXJWZWN0b3JUaWxlIGZyb20gJ29sL2xheWVyL1ZlY3RvclRpbGUnO1xuaW1wb3J0IG9sU291cmNlVmVjdG9yVGlsZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yVGlsZSc7XG5cbmltcG9ydCB7IE1WVERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9tdnQtZGF0YXNvdXJjZSc7XG5pbXBvcnQgdHlwZSB7IE1hcEJhc2UgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBUaWxlV2F0Y2hlciB9IGZyb20gJy4uLy4uL3V0aWxzL3RpbGUtd2F0Y2hlcic7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4vbGF5ZXInO1xuaW1wb3J0IHsgTGF5ZXJUeXBlIH0gZnJvbSAnLi9sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVmVjdG9yVGlsZUxheWVyT3B0aW9ucyB9IGZyb20gJy4vdmVjdG9ydGlsZS1sYXllci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgVmVjdG9yVGlsZUxheWVyIGV4dGVuZHMgTGF5ZXIge1xuICB0eXBlOiBMYXllclR5cGUgPSAndmVjdG9yJztcbiAgZGVjbGFyZSBwdWJsaWMgZGF0YVNvdXJjZTogTVZURGF0YVNvdXJjZTtcbiAgZGVjbGFyZSBwdWJsaWMgb3B0aW9uczogVmVjdG9yVGlsZUxheWVyT3B0aW9ucztcbiAgZGVjbGFyZSBwdWJsaWMgb2w6IG9sTGF5ZXJWZWN0b3JUaWxlO1xuXG4gIHByaXZhdGUgd2F0Y2hlcjogVGlsZVdhdGNoZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9uczogVmVjdG9yVGlsZUxheWVyT3B0aW9ucyxcbiAgICBwdWJsaWMgbWVzc2FnZVNlcnZpY2U/OiBNZXNzYWdlU2VydmljZSxcbiAgICBwdWJsaWMgYXV0aEludGVyY2VwdG9yPzogQXV0aEludGVyY2VwdG9yXG4gICkge1xuICAgIHN1cGVyKG9wdGlvbnMsIG1lc3NhZ2VTZXJ2aWNlLCBhdXRoSW50ZXJjZXB0b3IpO1xuICAgIHRoaXMud2F0Y2hlciA9IG5ldyBUaWxlV2F0Y2hlcih0aGlzKTtcbiAgICB0aGlzLnN0YXR1cyQgPSB0aGlzLndhdGNoZXIuc3RhdHVzJDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVPbExheWVyKCk6IG9sTGF5ZXJWZWN0b3JUaWxlIHtcbiAgICBjb25zdCBvbE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLm9wdGlvbnMsIHtcbiAgICAgIHNvdXJjZTogdGhpcy5vcHRpb25zLnNvdXJjZS5vbCBhcyBvbFNvdXJjZVZlY3RvclRpbGVcbiAgICB9KTtcblxuICAgIGNvbnN0IHZlY3RvclRpbGUgPSBuZXcgb2xMYXllclZlY3RvclRpbGUob2xPcHRpb25zKTtcbiAgICBjb25zdCB2ZWN0b3JUaWxlU291cmNlID0gdmVjdG9yVGlsZS5nZXRTb3VyY2UoKSBhcyBvbFNvdXJjZVZlY3RvclRpbGU7XG5cbiAgICB2ZWN0b3JUaWxlU291cmNlLnNldFRpbGVMb2FkRnVuY3Rpb24oKHRpbGU6IFZlY3RvclRpbGUsIHVybDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBsb2FkZXIgPSB0aGlzLmN1c3RvbUxvYWRlcihcbiAgICAgICAgdXJsLFxuICAgICAgICB0aWxlLmdldEZvcm1hdCgpLFxuICAgICAgICB0aGlzLmF1dGhJbnRlcmNlcHRvcixcbiAgICAgICAgdGlsZS5vbkxvYWQuYmluZCh0aWxlKVxuICAgICAgKTtcbiAgICAgIGlmIChsb2FkZXIpIHtcbiAgICAgICAgdGlsZS5zZXRMb2FkZXIobG9hZGVyKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB2ZWN0b3JUaWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBsb2FkZXIgZm9yIHZlY3RvciB0aWxlIGxheWVyLiBNb2RpZmllZCBmcm9tIHRoZSBsb2FkRmVhdHVyZXNYaHIgZnVuY3Rpb24gaW4gb2xcXGZlYXR1cmVsb2FkZXIuanNcbiAgICogQGludGVybmFsXG4gICAqIEBwYXJhbSB1cmwgdGhlIHVybCBzdHJpbmcgb3IgZnVuY3Rpb24gdG8gcmV0cmlldmUgdGhlIGRhdGFcbiAgICogQHBhcmFtIGZvcm1hdCB0aGUgZm9ybWF0IG9mIHRoZSB0aWxlXG4gICAqIEBwYXJhbSBpbnRlcmNlcHRvciB0aGUgaW50ZXJjZXB0b3Igb2YgdGhlIGRhdGFcbiAgICogQHBhcmFtIHN1Y2Nlc3MgT24gc3VjY2VzcyBldmVudCBhY3Rpb24gdG8gdHJpZ2dlclxuICAgKiBAcGFyYW0gZmFpbHVyZSBPbiBmYWlsdXJlIGV2ZW50IGFjdGlvbiB0byB0cmlnZ2VyIFRPRE9cbiAgICovXG4gIGN1c3RvbUxvYWRlcih1cmwsIGZvcm1hdCwgaW50ZXJjZXB0b3IsIHN1Y2Nlc3MsIGZhaWx1cmU/KSB7XG4gICAgcmV0dXJuIChleHRlbnQsIHJlc29sdXRpb24sIHByb2plY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgbGV0IG1vZGlmaWVkVXJsID0gdXJsO1xuICAgICAgaWYgKHR5cGVvZiB1cmwgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgYWx0ZXJlZFVybFdpdGhLZXlBdXRoID0gaW50ZXJjZXB0b3IuYWx0ZXJVcmxXaXRoS2V5QXV0aCh1cmwpO1xuICAgICAgICBpZiAoYWx0ZXJlZFVybFdpdGhLZXlBdXRoKSB7XG4gICAgICAgICAgbW9kaWZpZWRVcmwgPSBhbHRlcmVkVXJsV2l0aEtleUF1dGg7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1vZGlmaWVkVXJsID0gdXJsKGV4dGVudCwgcmVzb2x1dGlvbiwgcHJvamVjdGlvbik7XG4gICAgICB9XG4gICAgICB4aHIub3BlbignR0VUJywgbW9kaWZpZWRVcmwpO1xuICAgICAgaWYgKGludGVyY2VwdG9yKSB7XG4gICAgICAgIGludGVyY2VwdG9yLmludGVyY2VwdFhocih4aHIsIG1vZGlmaWVkVXJsKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZvcm1hdC5nZXRUeXBlKCkgPT09ICdhcnJheWJ1ZmZlcicpIHtcbiAgICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XG4gICAgICB9XG4gICAgICB4aHIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBpZiAoIXhoci5zdGF0dXMgfHwgKHhoci5zdGF0dXMgPj0gMjAwICYmIHhoci5zdGF0dXMgPCAzMDApKSB7XG4gICAgICAgICAgY29uc3QgdHlwZSA9IGZvcm1hdC5nZXRUeXBlKCk7XG4gICAgICAgICAgbGV0IHNvdXJjZTtcbiAgICAgICAgICBpZiAodHlwZSA9PT0gJ2pzb24nIHx8IHR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgc291cmNlID0geGhyLnJlc3BvbnNlVGV4dDtcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd4bWwnKSB7XG4gICAgICAgICAgICBzb3VyY2UgPSB4aHIucmVzcG9uc2VYTUw7XG4gICAgICAgICAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgICAgICAgICBzb3VyY2UgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKFxuICAgICAgICAgICAgICAgIHhoci5yZXNwb25zZVRleHQsXG4gICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3htbCdcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdhcnJheWJ1ZmZlcicpIHtcbiAgICAgICAgICAgIHNvdXJjZSA9IHhoci5yZXNwb25zZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgICAgc3VjY2Vzcy5jYWxsKFxuICAgICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgICBmb3JtYXQucmVhZEZlYXR1cmVzKHNvdXJjZSwge1xuICAgICAgICAgICAgICAgIGV4dGVudCxcbiAgICAgICAgICAgICAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvblxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZm9ybWF0LnJlYWRQcm9qZWN0aW9uKHNvdXJjZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIGZhaWx1cmUuY2FsbCh0aGlzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgIGZhaWx1cmUuY2FsbCh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHhoci5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICAvLyBUT0RPXG4gICAgICAgIGZhaWx1cmUuY2FsbCh0aGlzKTtcbiAgICAgIH07XG4gICAgICB4aHIuc2VuZCgpO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgaW5pdChtYXA6IE1hcEJhc2UgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAobWFwID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMud2F0Y2hlci51bnN1YnNjcmliZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhdGNoZXIuc3Vic2NyaWJlKCgpID0+IHZvaWQgMSk7XG4gICAgfVxuICAgIHN1cGVyLmluaXQobWFwKTtcbiAgfVxuXG4gIHJlbW92ZSgpOiB2b2lkIHtcbiAgICB0aGlzLndhdGNoZXIudW5zdWJzY3JpYmUoKTtcbiAgICBzdXBlci5yZW1vdmUoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './track-feature-button.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci90cmFjay1mZWF0dXJlLWJ1dHRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmFjay1mZWF0dXJlLWJ1dHRvbi5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,54 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatTooltipModule } from '@angular/material/tooltip';
6
+ import { IgoLanguageModule } from '@igo2/core/language';
7
+ import { VectorLayer } from '../shared/layers/vector-layer';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/material/button";
10
+ import * as i2 from "@angular/material/tooltip";
11
+ import * as i3 from "@angular/material/icon";
12
+ import * as i4 from "@ngx-translate/core";
13
+ export class TrackFeatureButtonComponent {
14
+ layer;
15
+ trackFeature = false;
16
+ get options() {
17
+ if (!this.layer) {
18
+ return;
19
+ }
20
+ return this.layer.options;
21
+ }
22
+ color = 'primary';
23
+ ngOnInit() {
24
+ this.color = this.trackFeature ? 'primary' : 'basic';
25
+ }
26
+ toggleTrackFeature() {
27
+ if (this.trackFeature) {
28
+ this.layer.disableTrackFeature();
29
+ this.color = 'basic';
30
+ }
31
+ else {
32
+ this.layer.enableTrackFeature(this.layer.options.trackFeature);
33
+ this.color = 'primary';
34
+ }
35
+ this.trackFeature = !this.trackFeature;
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TrackFeatureButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TrackFeatureButtonComponent, isStandalone: true, selector: "igo-track-feature-button", inputs: { layer: "layer", trackFeature: "trackFeature" }, ngImport: i0, template: "<button\n *ngIf=\"options.trackFeature\"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.trackFeature' | translate\"\n [color]=\"color\"\n (click)=\"toggleTrackFeature()\"\n>\n <mat-icon>my_location</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TrackFeatureButtonComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'igo-track-feature-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
43
+ NgIf,
44
+ MatButtonModule,
45
+ MatTooltipModule,
46
+ MatIconModule,
47
+ IgoLanguageModule
48
+ ], template: "<button\n *ngIf=\"options.trackFeature\"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.trackFeature' | translate\"\n [color]=\"color\"\n (click)=\"toggleTrackFeature()\"\n>\n <mat-icon>my_location</mat-icon>\n</button>\n" }]
49
+ }], propDecorators: { layer: [{
50
+ type: Input
51
+ }], trackFeature: [{
52
+ type: Input
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdHJhY2stZmVhdHVyZS1idXR0b24vdHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdHJhY2stZmVhdHVyZS1idXR0b24vdHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBaUI1RCxNQUFNLE9BQU8sMkJBQTJCO0lBQzdCLEtBQUssQ0FBYztJQUVuQixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRTlCLElBQUksT0FBTztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNULENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFTSxLQUFLLEdBQUcsU0FBUyxDQUFDO0lBRXpCLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDekMsQ0FBQzt3R0EzQlUsMkJBQTJCOzRGQUEzQiwyQkFBMkIsOElDOUJ4QywwVEFZQSwwRERXSSxJQUFJLDRGQUNKLGVBQWUsMklBQ2YsZ0JBQWdCLDRUQUNoQixhQUFhLG1MQUNiLGlCQUFpQjs7NEZBR1IsMkJBQTJCO2tCQWR2QyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixpQkFBaUI7cUJBQ2xCOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XG5pbXBvcnQgeyBWZWN0b3JMYXllck9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllci5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tdHJhY2stZmVhdHVyZS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJhY2stZmVhdHVyZS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmFjay1mZWF0dXJlLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRyYWNrRmVhdHVyZUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxheWVyOiBWZWN0b3JMYXllcjtcblxuICBASW5wdXQoKSB0cmFja0ZlYXR1cmUgPSBmYWxzZTtcblxuICBnZXQgb3B0aW9ucygpOiBWZWN0b3JMYXllck9wdGlvbnMge1xuICAgIGlmICghdGhpcy5sYXllcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5sYXllci5vcHRpb25zO1xuICB9XG5cbiAgcHVibGljIGNvbG9yID0gJ3ByaW1hcnknO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29sb3IgPSB0aGlzLnRyYWNrRmVhdHVyZSA/ICdwcmltYXJ5JyA6ICdiYXNpYyc7XG4gIH1cblxuICB0b2dnbGVUcmFja0ZlYXR1cmUoKSB7XG4gICAgaWYgKHRoaXMudHJhY2tGZWF0dXJlKSB7XG4gICAgICB0aGlzLmxheWVyLmRpc2FibGVUcmFja0ZlYXR1cmUoKTtcbiAgICAgIHRoaXMuY29sb3IgPSAnYmFzaWMnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxheWVyLmVuYWJsZVRyYWNrRmVhdHVyZSh0aGlzLmxheWVyLm9wdGlvbnMudHJhY2tGZWF0dXJlKTtcbiAgICAgIHRoaXMuY29sb3IgPSAncHJpbWFyeSc7XG4gICAgfVxuICAgIHRoaXMudHJhY2tGZWF0dXJlID0gIXRoaXMudHJhY2tGZWF0dXJlO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gICpuZ0lmPVwib3B0aW9ucy50cmFja0ZlYXR1cmVcIlxuICBtYXQtaWNvbi1idXR0b25cbiAgY29sbGFwc2libGVCdXR0b25cbiAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmxheWVyLnRyYWNrRmVhdHVyZScgfCB0cmFuc2xhdGVcIlxuICBbY29sb3JdPVwiY29sb3JcIlxuICAoY2xpY2spPVwidG9nZ2xlVHJhY2tGZWF0dXJlKClcIlxuPlxuICA8bWF0LWljb24+bXlfbG9jYXRpb248L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
@@ -0,0 +1,62 @@
1
+ import { SubjectStatus, Watcher, uuid } from '@igo2/utils';
2
+ export class ImageWatcher extends Watcher {
3
+ id;
4
+ loaded = 0;
5
+ loading = 0;
6
+ source;
7
+ messageService;
8
+ constructor(layer, messageService) {
9
+ super();
10
+ this.source = layer.options.source.ol;
11
+ this.id = uuid();
12
+ this.messageService = messageService;
13
+ }
14
+ watch() {
15
+ this.source.on(`imageloadstart`, (e) => this.handleLoadStart(e));
16
+ this.source.on(`imageloadend`, (e) => this.handleLoadEnd(e));
17
+ this.source.on(`imageloaderror`, (e) => this.handleLoadEnd(e));
18
+ this.source.on(`imageloaderror`, (e) => this.handleLoadError(e));
19
+ }
20
+ unwatch() {
21
+ this.source.un(`imageloadstart`, (e) => this.handleLoadStart(e));
22
+ this.source.un(`imageloadend`, (e) => this.handleLoadEnd(e));
23
+ this.source.un(`imageloaderror`, (e) => this.handleLoadEnd(e));
24
+ this.source.un(`imageloaderror`, (e) => this.handleLoadError(e));
25
+ }
26
+ handleLoadStart(event) {
27
+ if (!event.image.__watchers__) {
28
+ event.image.__watchers__ = [];
29
+ }
30
+ event.image.__watchers__.push(this.id);
31
+ this.loading += 1;
32
+ this.status = SubjectStatus.Working;
33
+ }
34
+ handleLoadEnd(event) {
35
+ if (!event.image.__watchers__) {
36
+ return;
37
+ }
38
+ const watcherIndex = event.image.__watchers__.indexOf(this.id);
39
+ if (watcherIndex < 0) {
40
+ return;
41
+ }
42
+ event.image.__watchers__.splice(watcherIndex, 1);
43
+ this.loaded += 1;
44
+ const loading = this.loading;
45
+ if (this.loaded >= loading) {
46
+ if (loading === this.loading) {
47
+ this.status = SubjectStatus.Done;
48
+ this.loaded = this.loading = 0;
49
+ }
50
+ }
51
+ }
52
+ handleLoadError(event) {
53
+ if (!event.image.__watchers__) {
54
+ return;
55
+ }
56
+ this.messageService.error('igo.geo.dataSource.unavailable', 'igo.geo.dataSource.unavailableTitle', undefined, { value: event.target.params_.LAYERS });
57
+ this.loaded = -1;
58
+ this.loading = 0;
59
+ this.status = SubjectStatus.Error;
60
+ }
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utd2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3V0aWxzL2ltYWdlLXdhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTTNELE1BQU0sT0FBTyxZQUFhLFNBQVEsT0FBTztJQUM3QixFQUFFLENBQVM7SUFDWCxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUVkLE1BQU0sQ0FBZ0I7SUFFdEIsY0FBYyxDQUFpQjtJQUV2QyxZQUFZLEtBQWlCLEVBQUUsY0FBOEI7UUFDM0QsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7SUFFUyxLQUFLO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FB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akIsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZXNzYWdlJztcbmltcG9ydCB7IFN1YmplY3RTdGF0dXMsIFdhdGNoZXIsIHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCBvbFNvdXJjZUltYWdlIGZyb20gJ29sL3NvdXJjZS9JbWFnZSc7XG5cbmltcG9ydCB0eXBlIHsgSW1hZ2VMYXllciB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvaW1hZ2UtbGF5ZXInO1xuXG5leHBvcnQgY2xhc3MgSW1hZ2VXYXRjaGVyIGV4dGVuZHMgV2F0Y2hlciB7XG4gIHByb3RlY3RlZCBpZDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgbG9hZGVkID0gMDtcbiAgcHJvdGVjdGVkIGxvYWRpbmcgPSAwO1xuXG4gIHByaXZhdGUgc291cmNlOiBvbFNvdXJjZUltYWdlO1xuXG4gIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKGxheWVyOiBJbWFnZUxheWVyLCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc291cmNlID0gbGF5ZXIub3B0aW9ucy5zb3VyY2Uub2w7XG4gICAgdGhpcy5pZCA9IHV1aWQoKTtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlID0gbWVzc2FnZVNlcnZpY2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgd2F0Y2goKSB7XG4gICAgdGhpcy5zb3VyY2Uub24oYGltYWdlbG9hZHN0YXJ0YCwgKGUpID0+IHRoaXMuaGFuZGxlTG9hZFN0YXJ0KGUpKTtcbiAgICB0aGlzLnNvdXJjZS5vbihgaW1hZ2Vsb2FkZW5kYCwgKGUpID0+IHRoaXMuaGFuZGxlTG9hZEVuZChlKSk7XG4gICAgdGhpcy5zb3VyY2Uub24oYGltYWdlbG9hZGVycm9yYCwgKGUpID0+IHRoaXMuaGFuZGxlTG9hZEVuZChlKSk7XG4gICAgdGhpcy5zb3VyY2Uub24oYGltYWdlbG9hZGVycm9yYCwgKGUpID0+IHRoaXMuaGFuZGxlTG9hZEVycm9yKGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1bndhdGNoKCkge1xuICAgIHRoaXMuc291cmNlLnVuKGBpbWFnZWxvYWRzdGFydGAsIChlKSA9PiB0aGlzLmhhbmRsZUxvYWRTdGFydChlKSk7XG4gICAgdGhpcy5zb3VyY2UudW4oYGltYWdlbG9hZGVuZGAsIChlKSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xuICAgIHRoaXMuc291cmNlLnVuKGBpbWFnZWxvYWRlcnJvcmAsIChlKSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xuICAgIHRoaXMuc291cmNlLnVuKGBpbWFnZWxvYWRlcnJvcmAsIChlKSA9PiB0aGlzLmhhbmRsZUxvYWRFcnJvcihlKSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxvYWRTdGFydChldmVudDogYW55KSB7XG4gICAgaWYgKCFldmVudC5pbWFnZS5fX3dhdGNoZXJzX18pIHtcbiAgICAgIGV2ZW50LmltYWdlLl9fd2F0Y2hlcnNfXyA9IFtdO1xuICAgIH1cbiAgICBldmVudC5pbWFnZS5fX3dhdGNoZXJzX18ucHVzaCh0aGlzLmlkKTtcblxuICAgIHRoaXMubG9hZGluZyArPSAxO1xuICAgIHRoaXMuc3RhdHVzID0gU3ViamVjdFN0YXR1cy5Xb3JraW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMb2FkRW5kKGV2ZW50KSB7XG4gICAgaWYgKCFldmVudC5pbWFnZS5fX3dhdGNoZXJzX18pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB3YXRjaGVySW5kZXggPSBldmVudC5pbWFnZS5fX3dhdGNoZXJzX18uaW5kZXhPZih0aGlzLmlkKTtcbiAgICBpZiAod2F0Y2hlckluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LmltYWdlLl9fd2F0Y2hlcnNfXy5zcGxpY2Uod2F0Y2hlckluZGV4LCAxKTtcblxuICAgIHRoaXMubG9hZGVkICs9IDE7XG5cbiAgICBjb25zdCBsb2FkaW5nID0gdGhpcy5sb2FkaW5nO1xuICAgIGlmICh0aGlzLmxvYWRlZCA+PSBsb2FkaW5nKSB7XG4gICAgICBpZiAobG9hZGluZyA9PT0gdGhpcy5sb2FkaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gU3ViamVjdFN0YXR1cy5Eb25lO1xuICAgICAgICB0aGlzLmxvYWRlZCA9IHRoaXMubG9hZGluZyA9IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMb2FkRXJyb3IoZXZlbnQpIHtcbiAgICBpZiAoIWV2ZW50LmltYWdlLl9fd2F0Y2hlcnNfXykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmVycm9yKFxuICAgICAgJ2lnby5nZW8uZGF0YVNvdXJjZS51bmF2YWlsYWJsZScsXG4gICAgICAnaWdvLmdlby5kYXRhU291cmNlLnVuYXZhaWxhYmxlVGl0bGUnLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgeyB2YWx1ZTogZXZlbnQudGFyZ2V0LnBhcmFtc18uTEFZRVJTIH1cbiAgICApO1xuICAgIHRoaXMubG9hZGVkID0gLTE7XG4gICAgdGhpcy5sb2FkaW5nID0gMDtcbiAgICB0aGlzLnN0YXR1cyA9IFN1YmplY3RTdGF0dXMuRXJyb3I7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './image-watcher';
2
+ export * from './layer.utils';
3
+ export * from './tile-watcher';
4
+ export * from './outputLegend';
5
+ export * from './vector-watcher';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbWFnZS13YXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXIudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90aWxlLXdhdGNoZXInO1xuZXhwb3J0ICogZnJvbSAnLi9vdXRwdXRMZWdlbmQnO1xuZXhwb3J0ICogZnJvbSAnLi92ZWN0b3Itd2F0Y2hlcic7XG4iXX0=
@@ -0,0 +1,57 @@
1
+ export function isLayerGroupOptions(option) {
2
+ return option.type === 'group';
3
+ }
4
+ export function isLayerItemOptions(options) {
5
+ return 'source' in options || 'sourceOptions' in options;
6
+ }
7
+ export function isLayerGroup(layer) {
8
+ return layer.type === 'group';
9
+ }
10
+ export function isLayerItem(layer) {
11
+ return !isLayerGroup(layer);
12
+ }
13
+ export function isBaseLayer(layer) {
14
+ return isLayerItem(layer) && layer.baseLayer;
15
+ }
16
+ function isInternalLayer(layer) {
17
+ return layer.isIgoInternalLayer;
18
+ }
19
+ export function computeMVTOptionsOnHover(layerOptions) {
20
+ const vectorTileLayerOptions = layerOptions;
21
+ if (vectorTileLayerOptions.sourceOptions?.type === 'mvt' &&
22
+ (vectorTileLayerOptions.igoStyle?.styleByAttribute?.hoverStyle ||
23
+ vectorTileLayerOptions.igoStyle?.hoverStyle)) {
24
+ const fc = vectorTileLayerOptions.sourceOptions.featureClass;
25
+ vectorTileLayerOptions.sourceOptions.featureClass = fc ? fc : 'feature';
26
+ }
27
+ return layerOptions;
28
+ }
29
+ export function isSaveableLayer(layer) {
30
+ if (isBaseLayer(layer) && !layer.visible) {
31
+ return false;
32
+ }
33
+ if (isInternalLayer(layer)) {
34
+ return false;
35
+ }
36
+ if (layer.options.sourceOptions?.type) {
37
+ return true;
38
+ }
39
+ }
40
+ /** Recursive */
41
+ export function sortLayersByZindex(layers, direction) {
42
+ return layers
43
+ .sort(direction === 'desc' ? sortLayerByZIndexDesc : sortLayerByZIndexAsc)
44
+ .map((layer) => {
45
+ if (isLayerGroup(layer)) {
46
+ sortLayersByZindex([...layer.children], direction);
47
+ }
48
+ return layer;
49
+ });
50
+ }
51
+ function sortLayerByZIndexDesc(layer1, layer2) {
52
+ return layer2.zIndex - layer1.zIndex;
53
+ }
54
+ function sortLayerByZIndexAsc(layer1, layer2) {
55
+ return layer1.zIndex - layer2.zIndex;
56
+ }
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy9sYXllci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLE1BQXVCO0lBRXZCLE9BQVEsTUFBNEIsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDO0FBQ3hELENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE9BQXdCO0lBRXhCLE9BQU8sUUFBUSxJQUFJLE9BQU8sSUFBSSxlQUFlLElBQUksT0FBTyxDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWU7SUFDMUMsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQztBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFlO0lBQ3pDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBZTtJQUN6QyxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDO0FBQy9DLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxLQUFlO0lBQ3RDLE9BQU8sS0FBSyxDQUFDLGtCQUFrQixDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsWUFBaUM7SUFDeEUsTUFBTSxzQkFBc0IsR0FBRyxZQUFzQyxDQUFDO0lBQ3RFLElBQ0Usc0JBQXNCLENBQUMsYUFBYSxFQUFFLElBQUksS0FBSyxLQUFLO1FBQ3BELENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFVBQVU7WUFDNUQsc0JBQXNCLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxFQUM5QyxDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUM3RCxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUUsQ0FBQztJQUNELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQVk7SUFDMUMsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMzQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRCxnQkFBZ0I7QUFDaEIsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxNQUFrQixFQUNsQixTQUF3QjtJQUV4QixPQUFPLE1BQU07U0FDVixJQUFJLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1NBQ3pFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2IsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsTUFBZ0IsRUFBRSxNQUFnQjtJQUMvRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUN2QyxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxNQUFnQixFQUFFLE1BQWdCO0lBQzlELE9BQU8sTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEFueUxheWVyLFxuICBBbnlMYXllckl0ZW1PcHRpb25zLFxuICBBbnlMYXllck9wdGlvbnMsXG4gIExheWVyLFxuICBMYXllckdyb3VwLFxuICBMYXllckdyb3VwT3B0aW9ucyxcbiAgVmVjdG9yVGlsZUxheWVyT3B0aW9uc1xufSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzJztcblxudHlwZSBTb3J0RGlyZWN0aW9uID0gJ2FzYycgfCAnZGVzYyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xheWVyR3JvdXBPcHRpb25zKFxuICBvcHRpb246IEFueUxheWVyT3B0aW9uc1xuKTogb3B0aW9uIGlzIExheWVyR3JvdXBPcHRpb25zIHtcbiAgcmV0dXJuIChvcHRpb24gYXMgTGF5ZXJHcm91cE9wdGlvbnMpLnR5cGUgPT09ICdncm91cCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xheWVySXRlbU9wdGlvbnMoXG4gIG9wdGlvbnM6IEFueUxheWVyT3B0aW9uc1xuKTogb3B0aW9ucyBpcyBBbnlMYXllckl0ZW1PcHRpb25zIHtcbiAgcmV0dXJuICdzb3VyY2UnIGluIG9wdGlvbnMgfHwgJ3NvdXJjZU9wdGlvbnMnIGluIG9wdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xheWVyR3JvdXAobGF5ZXI6IEFueUxheWVyKTogbGF5ZXIgaXMgTGF5ZXJHcm91cCB7XG4gIHJldHVybiBsYXllci50eXBlID09PSAnZ3JvdXAnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMYXllckl0ZW0obGF5ZXI6IEFueUxheWVyKTogbGF5ZXIgaXMgTGF5ZXIge1xuICByZXR1cm4gIWlzTGF5ZXJHcm91cChsYXllcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Jhc2VMYXllcihsYXllcjogQW55TGF5ZXIpOiBsYXllciBpcyBMYXllciB7XG4gIHJldHVybiBpc0xheWVySXRlbShsYXllcikgJiYgbGF5ZXIuYmFzZUxheWVyO1xufVxuXG5mdW5jdGlvbiBpc0ludGVybmFsTGF5ZXIobGF5ZXI6IEFueUxheWVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBsYXllci5pc0lnb0ludGVybmFsTGF5ZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlTVZUT3B0aW9uc09uSG92ZXIobGF5ZXJPcHRpb25zOiBBbnlMYXllckl0ZW1PcHRpb25zKSB7XG4gIGNvbnN0IHZlY3RvclRpbGVMYXllck9wdGlvbnMgPSBsYXllck9wdGlvbnMgYXMgVmVjdG9yVGlsZUxheWVyT3B0aW9ucztcbiAgaWYgKFxuICAgIHZlY3RvclRpbGVMYXllck9wdGlvbnMuc291cmNlT3B0aW9ucz8udHlwZSA9PT0gJ212dCcgJiZcbiAgICAodmVjdG9yVGlsZUxheWVyT3B0aW9ucy5pZ29TdHlsZT8uc3R5bGVCeUF0dHJpYnV0ZT8uaG92ZXJTdHlsZSB8fFxuICAgICAgdmVjdG9yVGlsZUxheWVyT3B0aW9ucy5pZ29TdHlsZT8uaG92ZXJTdHlsZSlcbiAgKSB7XG4gICAgY29uc3QgZmMgPSB2ZWN0b3JUaWxlTGF5ZXJPcHRpb25zLnNvdXJjZU9wdGlvbnMuZmVhdHVyZUNsYXNzO1xuICAgIHZlY3RvclRpbGVMYXllck9wdGlvbnMuc291cmNlT3B0aW9ucy5mZWF0dXJlQ2xhc3MgPSBmYyA/IGZjIDogJ2ZlYXR1cmUnO1xuICB9XG4gIHJldHVybiBsYXllck9wdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NhdmVhYmxlTGF5ZXIobGF5ZXI6IExheWVyKTogYm9vbGVhbiB7XG4gIGlmIChpc0Jhc2VMYXllcihsYXllcikgJiYgIWxheWVyLnZpc2libGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoaXNJbnRlcm5hbExheWVyKGxheWVyKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChsYXllci5vcHRpb25zLnNvdXJjZU9wdGlvbnM/LnR5cGUpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vKiogUmVjdXJzaXZlICovXG5leHBvcnQgZnVuY3Rpb24gc29ydExheWVyc0J5WmluZGV4KFxuICBsYXllcnM6IEFueUxheWVyW10sXG4gIGRpcmVjdGlvbjogU29ydERpcmVjdGlvblxuKTogQW55TGF5ZXJbXSB7XG4gIHJldHVybiBsYXllcnNcbiAgICAuc29ydChkaXJlY3Rpb24gPT09ICdkZXNjJyA/IHNvcnRMYXllckJ5WkluZGV4RGVzYyA6IHNvcnRMYXllckJ5WkluZGV4QXNjKVxuICAgIC5tYXAoKGxheWVyKSA9PiB7XG4gICAgICBpZiAoaXNMYXllckdyb3VwKGxheWVyKSkge1xuICAgICAgICBzb3J0TGF5ZXJzQnlaaW5kZXgoWy4uLmxheWVyLmNoaWxkcmVuXSwgZGlyZWN0aW9uKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsYXllcjtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gc29ydExheWVyQnlaSW5kZXhEZXNjKGxheWVyMTogQW55TGF5ZXIsIGxheWVyMjogQW55TGF5ZXIpIHtcbiAgcmV0dXJuIGxheWVyMi56SW5kZXggLSBsYXllcjEuekluZGV4O1xufVxuXG5mdW5jdGlvbiBzb3J0TGF5ZXJCeVpJbmRleEFzYyhsYXllcjE6IEFueUxheWVyLCBsYXllcjI6IEFueUxheWVyKSB7XG4gIHJldHVybiBsYXllcjEuekluZGV4IC0gbGF5ZXIyLnpJbmRleDtcbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { isLayerGroup } from './layer.utils';
2
+ /**
3
+ * Get all the layers legend
4
+ * @return Array of legend
5
+ */
6
+ export function getLayersLegends(layers) {
7
+ const legends = [];
8
+ for (const layer of layers) {
9
+ if (isLayerGroup(layer)) {
10
+ continue;
11
+ }
12
+ const legendOptions = layer.options.legendOptions;
13
+ if (layer.visible === false) {
14
+ continue;
15
+ }
16
+ const legendUrls = layer.dataSource.getLegend() || [];
17
+ for (const legendUrl of legendUrls) {
18
+ if (legendUrl.url === undefined) {
19
+ continue;
20
+ }
21
+ // Add legend info to the list
22
+ legends.push({
23
+ title: layer.title || '',
24
+ url: legendUrl.url,
25
+ display: legendOptions?.display === undefined ? true : legendOptions.display,
26
+ isInResolutionsRange: layer.isInResolutionsRange
27
+ });
28
+ }
29
+ }
30
+ return legends;
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0TGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdXRpbHMvb3V0cHV0TGVnZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWtCO0lBQ2pELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUVuQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNCLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsU0FBUztRQUNYLENBQUM7UUFDRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUNsRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDNUIsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN0RCxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksU0FBUyxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDaEMsU0FBUztZQUNYLENBQUM7WUFFRCw4QkFBOEI7WUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDWCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUN4QixHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUc7Z0JBQ2xCLE9BQU8sRUFDTCxhQUFhLEVBQUUsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTztnQkFDckUsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjthQUNqRCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbnlMYXllciB9IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBPdXRwdXRMYXllckxlZ2VuZCB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvbGVnZW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc0xheWVyR3JvdXAgfSBmcm9tICcuL2xheWVyLnV0aWxzJztcblxuLyoqXG4gKiBHZXQgYWxsIHRoZSBsYXllcnMgbGVnZW5kXG4gKiBAcmV0dXJuIEFycmF5IG9mIGxlZ2VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGF5ZXJzTGVnZW5kcyhsYXllcnM6IEFueUxheWVyW10pOiBPdXRwdXRMYXllckxlZ2VuZFtdIHtcbiAgY29uc3QgbGVnZW5kcyA9IFtdO1xuXG4gIGZvciAoY29uc3QgbGF5ZXIgb2YgbGF5ZXJzKSB7XG4gICAgaWYgKGlzTGF5ZXJHcm91cChsYXllcikpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBsZWdlbmRPcHRpb25zID0gbGF5ZXIub3B0aW9ucy5sZWdlbmRPcHRpb25zO1xuICAgIGlmIChsYXllci52aXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgbGVnZW5kVXJscyA9IGxheWVyLmRhdGFTb3VyY2UuZ2V0TGVnZW5kKCkgfHwgW107XG4gICAgZm9yIChjb25zdCBsZWdlbmRVcmwgb2YgbGVnZW5kVXJscykge1xuICAgICAgaWYgKGxlZ2VuZFVybC51cmwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQWRkIGxlZ2VuZCBpbmZvIHRvIHRoZSBsaXN0XG4gICAgICBsZWdlbmRzLnB1c2goe1xuICAgICAgICB0aXRsZTogbGF5ZXIudGl0bGUgfHwgJycsXG4gICAgICAgIHVybDogbGVnZW5kVXJsLnVybCxcbiAgICAgICAgZGlzcGxheTpcbiAgICAgICAgICBsZWdlbmRPcHRpb25zPy5kaXNwbGF5ID09PSB1bmRlZmluZWQgPyB0cnVlIDogbGVnZW5kT3B0aW9ucy5kaXNwbGF5LFxuICAgICAgICBpc0luUmVzb2x1dGlvbnNSYW5nZTogbGF5ZXIuaXNJblJlc29sdXRpb25zUmFuZ2VcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsZWdlbmRzO1xufVxuIl19
@@ -0,0 +1,52 @@
1
+ import { SubjectStatus, Watcher, uuid } from '@igo2/utils';
2
+ export class TileWatcher extends Watcher {
3
+ id;
4
+ loaded = 0;
5
+ loading = 0;
6
+ source;
7
+ constructor(layer) {
8
+ super();
9
+ this.source = layer.options.source.ol;
10
+ this.id = uuid();
11
+ }
12
+ watch() {
13
+ this.source.on(`tileloadstart`, (e) => this.handleLoadStart(e));
14
+ this.source.on(`tileloadend`, (e) => this.handleLoadEnd(e));
15
+ this.source.on(`tileloaderror`, (e) => this.handleLoadEnd(e));
16
+ }
17
+ unwatch() {
18
+ this.source.un(`tileloadstart`, (e) => this.handleLoadStart(e));
19
+ this.source.un(`tileloadend`, (e) => this.handleLoadEnd(e));
20
+ this.source.un(`tileloaderror`, (e) => this.handleLoadEnd(e));
21
+ }
22
+ handleLoadStart(event) {
23
+ // This is to avoid increasing
24
+ // the number of loaded tiles if a tile was loading
25
+ // before subscribing to this watcher
26
+ if (!event.tile.__watchers__) {
27
+ event.tile.__watchers__ = [];
28
+ }
29
+ event.tile.__watchers__.push(this.id);
30
+ this.loading += 1;
31
+ this.status = SubjectStatus.Working;
32
+ }
33
+ handleLoadEnd(event) {
34
+ if (!event.tile.__watchers__) {
35
+ return;
36
+ }
37
+ const watcherIndex = event.tile.__watchers__.indexOf(this.id);
38
+ if (watcherIndex < 0) {
39
+ return;
40
+ }
41
+ event.tile.__watchers__.splice(watcherIndex, 1);
42
+ this.loaded += 1;
43
+ const loading = this.loading;
44
+ if (this.loaded >= loading) {
45
+ if (loading === this.loading) {
46
+ this.status = SubjectStatus.Done;
47
+ this.loaded = this.loading = 0;
48
+ }
49
+ }
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS13YXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvdXRpbHMvdGlsZS13YXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU8zRCxNQUFNLE9BQU8sV0FBWSxTQUFRLE9BQU87SUFDOUIsRUFBRSxDQUFTO0lBQ1gsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNYLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFFWixNQUFNLENBQWU7SUFFN0IsWUFBWSxLQUFrQztRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVTLEtBQUs7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRVMsT0FBTztRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBVTtRQUNoQyw4QkFBOEI7UUFDOUIsbURBQW1EO1FBQ25ELHFDQUFxQztRQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUNELEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBSztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdFN0YXR1cywgV2F0Y2hlciwgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IG9sU291cmNlVGlsZSBmcm9tICdvbC9zb3VyY2UvVGlsZSc7XG5cbmltcG9ydCB0eXBlIHsgVGlsZUxheWVyIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVycy90aWxlLWxheWVyJztcbmltcG9ydCB0eXBlIHsgVmVjdG9yVGlsZUxheWVyIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVycy92ZWN0b3J0aWxlLWxheWVyJztcblxuZXhwb3J0IGNsYXNzIFRpbGVXYXRjaGVyIGV4dGVuZHMgV2F0Y2hlciB7XG4gIHByaXZhdGUgaWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBsb2FkZWQgPSAwO1xuICBwcml2YXRlIGxvYWRpbmcgPSAwO1xuXG4gIHByaXZhdGUgc291cmNlOiBvbFNvdXJjZVRpbGU7XG5cbiAgY29uc3RydWN0b3IobGF5ZXI6IFRpbGVMYXllciB8IFZlY3RvclRpbGVMYXllcikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zb3VyY2UgPSBsYXllci5vcHRpb25zLnNvdXJjZS5vbDtcbiAgICB0aGlzLmlkID0gdXVpZCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHdhdGNoKCkge1xuICAgIHRoaXMuc291cmNlLm9uKGB0aWxlbG9hZHN0YXJ0YCwgKGUpID0+IHRoaXMuaGFuZGxlTG9hZFN0YXJ0KGUpKTtcbiAgICB0aGlzLnNvdXJjZS5vbihgdGlsZWxvYWRlbmRgLCAoZSkgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKGUpKTtcbiAgICB0aGlzLnNvdXJjZS5vbihgdGlsZWxvYWRlcnJvcmAsIChlKSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVud2F0Y2goKSB7XG4gICAgdGhpcy5zb3VyY2UudW4oYHRpbGVsb2Fkc3RhcnRgLCAoZSkgPT4gdGhpcy5oYW5kbGVMb2FkU3RhcnQoZSkpO1xuICAgIHRoaXMuc291cmNlLnVuKGB0aWxlbG9hZGVuZGAsIChlKSA9PiB0aGlzLmhhbmRsZUxvYWRFbmQoZSkpO1xuICAgIHRoaXMuc291cmNlLnVuKGB0aWxlbG9hZGVycm9yYCwgKGUpID0+IHRoaXMuaGFuZGxlTG9hZEVuZChlKSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxvYWRTdGFydChldmVudDogYW55KSB7XG4gICAgLy8gVGhpcyBpcyB0byBhdm9pZCBpbmNyZWFzaW5nXG4gICAgLy8gdGhlIG51bWJlciBvZiBsb2FkZWQgdGlsZXMgaWYgYSB0aWxlIHdhcyBsb2FkaW5nXG4gICAgLy8gYmVmb3JlIHN1YnNjcmliaW5nIHRvIHRoaXMgd2F0Y2hlclxuICAgIGlmICghZXZlbnQudGlsZS5fX3dhdGNoZXJzX18pIHtcbiAgICAgIGV2ZW50LnRpbGUuX193YXRjaGVyc19fID0gW107XG4gICAgfVxuICAgIGV2ZW50LnRpbGUuX193YXRjaGVyc19fLnB1c2godGhpcy5pZCk7XG5cbiAgICB0aGlzLmxvYWRpbmcgKz0gMTtcbiAgICB0aGlzLnN0YXR1cyA9IFN1YmplY3RTdGF0dXMuV29ya2luZztcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTG9hZEVuZChldmVudCkge1xuICAgIGlmICghZXZlbnQudGlsZS5fX3dhdGNoZXJzX18pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB3YXRjaGVySW5kZXggPSBldmVudC50aWxlLl9fd2F0Y2hlcnNfXy5pbmRleE9mKHRoaXMuaWQpO1xuICAgIGlmICh3YXRjaGVySW5kZXggPCAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQudGlsZS5fX3dhdGNoZXJzX18uc3BsaWNlKHdhdGNoZXJJbmRleCwgMSk7XG5cbiAgICB0aGlzLmxvYWRlZCArPSAxO1xuXG4gICAgY29uc3QgbG9hZGluZyA9IHRoaXMubG9hZGluZztcbiAgICBpZiAodGhpcy5sb2FkZWQgPj0gbG9hZGluZykge1xuICAgICAgaWYgKGxvYWRpbmcgPT09IHRoaXMubG9hZGluZykge1xuICAgICAgICB0aGlzLnN0YXR1cyA9IFN1YmplY3RTdGF0dXMuRG9uZTtcbiAgICAgICAgdGhpcy5sb2FkZWQgPSB0aGlzLmxvYWRpbmcgPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,50 @@
1
+ import { SubjectStatus, Watcher, uuid } from '@igo2/utils';
2
+ import { ClusterDataSource } from '../../datasource/shared/datasources/cluster-datasource';
3
+ export class VectorWatcher extends Watcher {
4
+ id;
5
+ loaded = 0;
6
+ loading = 0;
7
+ layer;
8
+ constructor(layer) {
9
+ super();
10
+ this.layer = layer;
11
+ this.id = uuid();
12
+ }
13
+ watch() {
14
+ let olSource = this.layer.options.source.ol;
15
+ if (this.layer.dataSource instanceof ClusterDataSource) {
16
+ olSource = this.layer.options.source.options.source;
17
+ }
18
+ if (olSource.getUrl()) {
19
+ olSource.on(`featuresloadstart`, () => this.handleLoadStart());
20
+ olSource.on(`featuresloadend`, () => this.handleLoadEnd());
21
+ olSource.on(`featuresloaderror`, () => this.handleLoadEnd());
22
+ }
23
+ }
24
+ unwatch() {
25
+ let olSource = this.layer.options.source.ol;
26
+ if (this.layer.dataSource instanceof ClusterDataSource) {
27
+ olSource = this.layer.options.source.options.source;
28
+ }
29
+ if (olSource.getUrl()) {
30
+ olSource.un(`featuresloadstart`, () => this.handleLoadStart());
31
+ olSource.un(`featuresloadend`, () => this.handleLoadEnd());
32
+ olSource.un(`featuresloaderror`, () => this.handleLoadEnd());
33
+ }
34
+ }
35
+ handleLoadStart() {
36
+ this.loading += 1;
37
+ this.status = SubjectStatus.Working;
38
+ }
39
+ handleLoadEnd() {
40
+ this.loaded += 1;
41
+ const loading = this.loading;
42
+ if (this.loaded >= loading) {
43
+ if (loading === this.loading) {
44
+ this.status = SubjectStatus.Done;
45
+ this.loaded = this.loading = 0;
46
+ }
47
+ }
48
+ }
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLXdhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci91dGlscy92ZWN0b3Itd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFHM0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxPQUFPO0lBQ2hDLEVBQUUsQ0FBUztJQUNYLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBRVosS0FBSyxDQUFjO0lBRTNCLFlBQVksS0FBa0I7UUFDNUIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFUyxLQUFLO1FBQ2IsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDdkQsUUFBUSxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFlLENBQUMsTUFBTSxDQUFDO1FBQy9ELENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLFFBQVEsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7WUFDL0QsUUFBUSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUMzRCxRQUFRLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRVMsT0FBTztRQUNmLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDNUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsWUFBWSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZELFFBQVEsR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBZSxDQUFDLE1BQU0sQ0FBQztRQUMvRCxDQUFDO1FBQ0QsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUN0QixRQUFRLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELFFBQVEsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDM0QsUUFBUSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdFN0YXR1cywgV2F0Y2hlciwgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgQ2x1c3RlckRhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9jbHVzdGVyLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHR5cGUgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvdmVjdG9yLWxheWVyJztcblxuZXhwb3J0IGNsYXNzIFZlY3RvcldhdGNoZXIgZXh0ZW5kcyBXYXRjaGVyIHtcbiAgcHJpdmF0ZSBpZDogc3RyaW5nO1xuICBwcml2YXRlIGxvYWRlZCA9IDA7XG4gIHByaXZhdGUgbG9hZGluZyA9IDA7XG5cbiAgcHJpdmF0ZSBsYXllcjogVmVjdG9yTGF5ZXI7XG5cbiAgY29uc3RydWN0b3IobGF5ZXI6IFZlY3RvckxheWVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxheWVyID0gbGF5ZXI7XG4gICAgdGhpcy5pZCA9IHV1aWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB3YXRjaCgpIHtcbiAgICBsZXQgb2xTb3VyY2UgPSB0aGlzLmxheWVyLm9wdGlvbnMuc291cmNlLm9sO1xuICAgIGlmICh0aGlzLmxheWVyLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBDbHVzdGVyRGF0YVNvdXJjZSkge1xuICAgICAgb2xTb3VyY2UgPSAodGhpcy5sYXllci5vcHRpb25zLnNvdXJjZS5vcHRpb25zIGFzIGFueSkuc291cmNlO1xuICAgIH1cblxuICAgIGlmIChvbFNvdXJjZS5nZXRVcmwoKSkge1xuICAgICAgb2xTb3VyY2Uub24oYGZlYXR1cmVzbG9hZHN0YXJ0YCwgKCkgPT4gdGhpcy5oYW5kbGVMb2FkU3RhcnQoKSk7XG4gICAgICBvbFNvdXJjZS5vbihgZmVhdHVyZXNsb2FkZW5kYCwgKCkgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKCkpO1xuICAgICAgb2xTb3VyY2Uub24oYGZlYXR1cmVzbG9hZGVycm9yYCwgKCkgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB1bndhdGNoKCkge1xuICAgIGxldCBvbFNvdXJjZSA9IHRoaXMubGF5ZXIub3B0aW9ucy5zb3VyY2Uub2w7XG4gICAgaWYgKHRoaXMubGF5ZXIuZGF0YVNvdXJjZSBpbnN0YW5jZW9mIENsdXN0ZXJEYXRhU291cmNlKSB7XG4gICAgICBvbFNvdXJjZSA9ICh0aGlzLmxheWVyLm9wdGlvbnMuc291cmNlLm9wdGlvbnMgYXMgYW55KS5zb3VyY2U7XG4gICAgfVxuICAgIGlmIChvbFNvdXJjZS5nZXRVcmwoKSkge1xuICAgICAgb2xTb3VyY2UudW4oYGZlYXR1cmVzbG9hZHN0YXJ0YCwgKCkgPT4gdGhpcy5oYW5kbGVMb2FkU3RhcnQoKSk7XG4gICAgICBvbFNvdXJjZS51bihgZmVhdHVyZXNsb2FkZW5kYCwgKCkgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKCkpO1xuICAgICAgb2xTb3VyY2UudW4oYGZlYXR1cmVzbG9hZGVycm9yYCwgKCkgPT4gdGhpcy5oYW5kbGVMb2FkRW5kKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTG9hZFN0YXJ0KCkge1xuICAgIHRoaXMubG9hZGluZyArPSAxO1xuICAgIHRoaXMuc3RhdHVzID0gU3ViamVjdFN0YXR1cy5Xb3JraW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMb2FkRW5kKCkge1xuICAgIHRoaXMubG9hZGVkICs9IDE7XG5cbiAgICBjb25zdCBsb2FkaW5nID0gdGhpcy5sb2FkaW5nO1xuICAgIGlmICh0aGlzLmxvYWRlZCA+PSBsb2FkaW5nKSB7XG4gICAgICBpZiAobG9hZGluZyA9PT0gdGhpcy5sb2FkaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gU3ViamVjdFN0YXR1cy5Eb25lO1xuICAgICAgICB0aGlzLmxvYWRlZCA9IHRoaXMubG9hZGluZyA9IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { animate, state, style, transition, trigger } from '@angular/animations';
2
+ export function baseLayersSwitcherSlideInOut() {
3
+ return trigger('baseLayerSwitcherState', [
4
+ state('collapseIcon', style({
5
+ height: '40px',
6
+ width: '40px',
7
+ overflow: 'hidden'
8
+ })),
9
+ state('collapseMap', style({
10
+ height: '80px',
11
+ overflow: 'hidden'
12
+ })),
13
+ state('expand', style({
14
+ overflow: 'hidden'
15
+ })),
16
+ transition('collapse => expand', animate('200ms')),
17
+ transition('expand => collapse', animate('200ms'))
18
+ ]);
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZWxheWVycy1zd2l0Y2hlci5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvYmFzZWxheWVycy1zd2l0Y2hlci9iYXNlbGF5ZXJzLXN3aXRjaGVyLmFuaW1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE1BQU0sVUFBVSw0QkFBNEI7SUFDMUMsT0FBTyxPQUFPLENBQUMsd0JBQXdCLEVBQUU7UUFDdkMsS0FBSyxDQUNILGNBQWMsRUFDZCxLQUFLLENBQUM7WUFDSixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxNQUFNO1lBQ2IsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUNIO1FBQ0QsS0FBSyxDQUNILGFBQWEsRUFDYixLQUFLLENBQUM7WUFDSixNQUFNLEVBQUUsTUFBTTtZQUNkLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FDSDtRQUNELEtBQUssQ0FDSCxRQUFRLEVBQ1IsS0FBSyxDQUFDO1lBQ0osUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUNIO1FBQ0QsVUFBVSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxVQUFVLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ25ELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlclxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGJhc2VMYXllcnNTd2l0Y2hlclNsaWRlSW5PdXQoKTogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhIHtcbiAgcmV0dXJuIHRyaWdnZXIoJ2Jhc2VMYXllclN3aXRjaGVyU3RhdGUnLCBbXG4gICAgc3RhdGUoXG4gICAgICAnY29sbGFwc2VJY29uJyxcbiAgICAgIHN0eWxlKHtcbiAgICAgICAgaGVpZ2h0OiAnNDBweCcsXG4gICAgICAgIHdpZHRoOiAnNDBweCcsXG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgICAgfSlcbiAgICApLFxuICAgIHN0YXRlKFxuICAgICAgJ2NvbGxhcHNlTWFwJyxcbiAgICAgIHN0eWxlKHtcbiAgICAgICAgaGVpZ2h0OiAnODBweCcsXG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgICAgfSlcbiAgICApLFxuICAgIHN0YXRlKFxuICAgICAgJ2V4cGFuZCcsXG4gICAgICBzdHlsZSh7XG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgICAgfSlcbiAgICApLFxuICAgIHRyYW5zaXRpb24oJ2NvbGxhcHNlID0+IGV4cGFuZCcsIGFuaW1hdGUoJzIwMG1zJykpLFxuICAgIHRyYW5zaXRpb24oJ2V4cGFuZCA9PiBjb2xsYXBzZScsIGFuaW1hdGUoJzIwMG1zJykpXG4gIF0pO1xufVxuIl19