@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,61 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { FormDialogService } from '@igo2/common/form';
4
+ import { map, of, switchMap } from 'rxjs';
5
+ import { LayerService } from '../shared/layer.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../shared/layer.service";
8
+ import * as i2 from "@igo2/common/form";
9
+ const FORM_GROUP_CONFIG = {
10
+ formFieldConfigs: [
11
+ {
12
+ name: 'name',
13
+ title: 'igo.geo.layer.group.name',
14
+ type: 'text',
15
+ options: {
16
+ validator: Validators.required,
17
+ errors: { required: 'igo.common.form.errors.required' }
18
+ }
19
+ }
20
+ ]
21
+ };
22
+ export class LayerListToolService {
23
+ layerService;
24
+ formDialogService;
25
+ constructor(layerService, formDialogService) {
26
+ this.layerService = layerService;
27
+ this.formDialogService = formDialogService;
28
+ }
29
+ createGroup() {
30
+ return this.formDialogService
31
+ .open(FORM_GROUP_CONFIG, {
32
+ title: 'igo.geo.layer.group.create',
33
+ minWidth: '25%'
34
+ })
35
+ .pipe(switchMap((result) => {
36
+ return result
37
+ ? this.layerService.createAsyncGroup({
38
+ type: 'group',
39
+ title: result.name
40
+ })
41
+ : of(undefined);
42
+ }));
43
+ }
44
+ renameGroup(group) {
45
+ const config = { ...FORM_GROUP_CONFIG };
46
+ const field = config.formFieldConfigs.find((field) => field.name === 'name');
47
+ field.options.initialValue = group.title;
48
+ return this.formDialogService
49
+ .open(config, {
50
+ title: 'igo.geo.layer.group.rename',
51
+ minWidth: '25%'
52
+ })
53
+ .pipe(map((result) => result?.name));
54
+ }
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerListToolService, deps: [{ token: i1.LayerService }, { token: i2.FormDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
56
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerListToolService });
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerListToolService, decorators: [{
59
+ type: Injectable
60
+ }], ctorParameters: () => [{ type: i1.LayerService }, { type: i2.FormDialogService }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGlzdC10b29sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1saXN0LXRvb2wvbGF5ZXItbGlzdC10b29sLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVFLE9BQU8sRUFBYyxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFHdkQsTUFBTSxpQkFBaUIsR0FBeUI7SUFDOUMsZ0JBQWdCLEVBQUU7UUFDaEI7WUFDRSxJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSwwQkFBMEI7WUFDakMsSUFBSSxFQUFFLE1BQU07WUFDWixPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRO2dCQUM5QixNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsaUNBQWlDLEVBQUU7YUFDeEQ7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUdGLE1BQU0sT0FBTyxvQkFBb0I7SUFFckI7SUFDQTtJQUZWLFlBQ1UsWUFBMEIsRUFDMUIsaUJBQW9DO1FBRHBDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDM0MsQ0FBQztJQUVKLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxpQkFBaUI7YUFDMUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3ZCLEtBQUssRUFBRSw0QkFBNEI7WUFDbkMsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQzthQUNELElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuQixPQUFPLE1BQU07Z0JBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2pDLElBQUksRUFBRSxPQUFPO29CQUNiLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSTtpQkFDbkIsQ0FBQztnQkFDSixDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ3hDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FDakMsQ0FBQztRQUNGLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFekMsT0FBTyxJQUFJLENBQUMsaUJBQWlCO2FBQzFCLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWixLQUFLLEVBQUUsNEJBQTRCO1lBQ25DLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO3dHQXJDVSxvQkFBb0I7NEdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZvcm1EaWFsb2dGb3JtQ29uZmlnLCBGb3JtRGlhbG9nU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9mb3JtJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcbmltcG9ydCB7IExheWVyR3JvdXAgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL2xheWVyLWdyb3VwJztcblxuY29uc3QgRk9STV9HUk9VUF9DT05GSUc6IEZvcm1EaWFsb2dGb3JtQ29uZmlnID0ge1xuICBmb3JtRmllbGRDb25maWdzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgdGl0bGU6ICdpZ28uZ2VvLmxheWVyLmdyb3VwLm5hbWUnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICB2YWxpZGF0b3I6IFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIGVycm9yczogeyByZXF1aXJlZDogJ2lnby5jb21tb24uZm9ybS5lcnJvcnMucmVxdWlyZWQnIH1cbiAgICAgIH1cbiAgICB9XG4gIF1cbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMYXllckxpc3RUb29sU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtRGlhbG9nU2VydmljZTogRm9ybURpYWxvZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIGNyZWF0ZUdyb3VwKCk6IE9ic2VydmFibGU8TGF5ZXJHcm91cCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1EaWFsb2dTZXJ2aWNlXG4gICAgICAub3BlbihGT1JNX0dST1VQX0NPTkZJRywge1xuICAgICAgICB0aXRsZTogJ2lnby5nZW8ubGF5ZXIuZ3JvdXAuY3JlYXRlJyxcbiAgICAgICAgbWluV2lkdGg6ICcyNSUnXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICAgICAgPyB0aGlzLmxheWVyU2VydmljZS5jcmVhdGVBc3luY0dyb3VwKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnZ3JvdXAnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiByZXN1bHQubmFtZVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiBvZih1bmRlZmluZWQpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHJlbmFtZUdyb3VwKGdyb3VwOiBMYXllckdyb3VwKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBjb25maWcgPSB7IC4uLkZPUk1fR1JPVVBfQ09ORklHIH07XG4gICAgY29uc3QgZmllbGQgPSBjb25maWcuZm9ybUZpZWxkQ29uZmlncy5maW5kKFxuICAgICAgKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSAnbmFtZSdcbiAgICApO1xuICAgIGZpZWxkLm9wdGlvbnMuaW5pdGlhbFZhbHVlID0gZ3JvdXAudGl0bGU7XG5cbiAgICByZXR1cm4gdGhpcy5mb3JtRGlhbG9nU2VydmljZVxuICAgICAgLm9wZW4oY29uZmlnLCB7XG4gICAgICAgIHRpdGxlOiAnaWdvLmdlby5sYXllci5ncm91cC5yZW5hbWUnLFxuICAgICAgICBtaW5XaWR0aDogJzI1JSdcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAoKHJlc3VsdCkgPT4gcmVzdWx0Py5uYW1lKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './layer-search.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1zZWFyY2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGF5ZXItc2VhcmNoLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,65 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatFormFieldModule } from '@angular/material/form-field';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { MatTooltipModule } from '@angular/material/tooltip';
9
+ import { IgoLanguageModule } from '@igo2/core/language';
10
+ import { debounceTime } from 'rxjs';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/forms";
13
+ import * as i2 from "@angular/material/form-field";
14
+ import * as i3 from "@angular/material/button";
15
+ import * as i4 from "@angular/material/input";
16
+ import * as i5 from "@angular/material/tooltip";
17
+ import * as i6 from "@angular/material/icon";
18
+ import * as i7 from "@ngx-translate/core";
19
+ export class LayerSearchComponent {
20
+ control = new FormControl();
21
+ initialValue;
22
+ floatLabel;
23
+ placeholder;
24
+ tooltip;
25
+ searchChange = new EventEmitter();
26
+ ngOnInit() {
27
+ if (this.initialValue) {
28
+ this.control.setValue(this.initialValue, {
29
+ emitEvent: false
30
+ });
31
+ }
32
+ this.control.valueChanges.pipe(debounceTime(300)).subscribe((value) => {
33
+ this.searchChange.emit(value);
34
+ });
35
+ }
36
+ clearTerm() {
37
+ this.control.reset();
38
+ }
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LayerSearchComponent, isStandalone: true, selector: "igo-layer-search", inputs: { initialValue: "initialValue", floatLabel: "floatLabel", placeholder: "placeholder", tooltip: "tooltip" }, outputs: { searchChange: "searchChange" }, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\" subscriptSizing=\"dynamic\">\n <input\n matInput\n [placeholder]=\"placeholder | translate\"\n [matTooltip]=\"tooltip | translate\"\n [matTooltipDisabled]=\"!tooltip\"\n matTooltipShowDelay=\"500\"\n type=\"text\"\n [formControl]=\"control\"\n />\n <button\n *ngIf=\"control.value\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n color=\"warn\"\n (click)=\"clearTerm()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n</mat-form-field>\n", styles: [":host{flex:1}mat-form-field{width:100%}mat-form-field ::ng-deep .mat-mdc-form-field-infix{width:auto!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerSearchComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'igo-layer-search', standalone: true, imports: [
45
+ NgIf,
46
+ ReactiveFormsModule,
47
+ MatFormFieldModule,
48
+ MatButtonModule,
49
+ MatInputModule,
50
+ MatTooltipModule,
51
+ MatIconModule,
52
+ IgoLanguageModule
53
+ ], template: "<mat-form-field [floatLabel]=\"floatLabel\" subscriptSizing=\"dynamic\">\n <input\n matInput\n [placeholder]=\"placeholder | translate\"\n [matTooltip]=\"tooltip | translate\"\n [matTooltipDisabled]=\"!tooltip\"\n matTooltipShowDelay=\"500\"\n type=\"text\"\n [formControl]=\"control\"\n />\n <button\n *ngIf=\"control.value\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n color=\"warn\"\n (click)=\"clearTerm()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n</mat-form-field>\n", styles: [":host{flex:1}mat-form-field{width:100%}mat-form-field ::ng-deep .mat-mdc-form-field-infix{width:auto!important}\n"] }]
54
+ }], propDecorators: { initialValue: [{
55
+ type: Input
56
+ }], floatLabel: [{
57
+ type: Input
58
+ }], placeholder: [{
59
+ type: Input
60
+ }], tooltip: [{
61
+ type: Input
62
+ }], searchChange: [{
63
+ type: Output
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL2xheWVyLXNlYXJjaC9sYXllci1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItc2VhcmNoL2xheWVyLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFFTCxrQkFBa0IsRUFDbkIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQWtCcEMsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUVuQixZQUFZLENBQVM7SUFDckIsVUFBVSxDQUFpQjtJQUMzQixXQUFXLENBQVM7SUFDcEIsT0FBTyxDQUFTO0lBRWYsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN2QyxTQUFTLEVBQUUsS0FBSzthQUNqQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBeEJVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLDJPQ2hDakMseWhCQXFCQSwyS0RDSSxJQUFJLDRGQUNKLG1CQUFtQix5a0JBQ25CLGtCQUFrQiwwV0FDbEIsZUFBZSwySUFDZixjQUFjLDBXQUNkLGdCQUFnQiw0VEFDaEIsYUFBYSxtTEFDYixpQkFBaUI7OzRGQUdSLG9CQUFvQjtrQkFoQmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGlCQUFpQjtxQkFDbEI7OEJBS1EsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7XG4gIEZsb2F0TGFiZWxUeXBlLFxuICBNYXRGb3JtRmllbGRNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1sYXllci1zZWFyY2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5ZXItc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5ZXItc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMYXllclNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICBASW5wdXQoKSBpbml0aWFsVmFsdWU6IHN0cmluZztcbiAgQElucHV0KCkgZmxvYXRMYWJlbDogRmxvYXRMYWJlbFR5cGU7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRvb2x0aXA6IHN0cmluZztcblxuICBAT3V0cHV0KCkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbFZhbHVlKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodGhpcy5pbml0aWFsVmFsdWUsIHtcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgzMDApKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsZWFyVGVybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2wucmVzZXQoKTtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gIDxpbnB1dFxuICAgIG1hdElucHV0XG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwIHwgdHJhbnNsYXRlXCJcbiAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cIiF0b29sdGlwXCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAvPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJjb250cm9sLnZhbHVlXCJcbiAgICBtYXRTdWZmaXhcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxuICAgIGNvbG9yPVwid2FyblwiXG4gICAgKGNsaWNrKT1cImNsZWFyVGVybSgpXCJcbiAgPlxuICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './layer-unavailable.component';
2
+ export * from './layer-unavailable-list/layer-unavailable-list.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci11bmF2YWlsYWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkRBQTJELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xheWVyLXVuYXZhaWxhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xheWVyLXVuYXZhaWxhYmxlLWxpc3QvbGF5ZXItdW5hdmFpbGFibGUtbGlzdC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,26 @@
1
+ import { NgFor } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
+ import { ListComponent, ListItemDirective } from '@igo2/common/list';
4
+ import { LayerService } from '../../shared';
5
+ import { LayerUnavailableComponent } from '../layer-unavailable.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../shared";
8
+ export class LayerUnavailableListComponent {
9
+ layerService;
10
+ layersOptions;
11
+ constructor(layerService) {
12
+ this.layerService = layerService;
13
+ }
14
+ deleteUnavailableLayer(options) {
15
+ this.layerService.deleteUnavailableLayers(options);
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerUnavailableListComponent, deps: [{ token: i1.LayerService }], target: i0.ɵɵFactoryTarget.Component });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LayerUnavailableListComponent, isStandalone: true, selector: "igo-layer-unavailable-list", inputs: { layersOptions: "layersOptions" }, ngImport: i0, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <igo-layer-unavailable\n *ngFor=\"let layer of layersOptions\"\n igoListItem\n [layerOptions]=\"layer\"\n (remove)=\"deleteUnavailableLayer($event)\"\n >\n </igo-layer-unavailable>\n</igo-list>\n", styles: ["igo-list{height:auto}igo-list ::ng-deep mat-list{padding-bottom:0}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "component", type: LayerUnavailableComponent, selector: "igo-layer-unavailable", inputs: ["layerOptions"], outputs: ["remove"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerUnavailableListComponent, decorators: [{
21
+ type: Component,
22
+ args: [{ selector: 'igo-layer-unavailable-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgFor, ListComponent, ListItemDirective, LayerUnavailableComponent], template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <igo-layer-unavailable\n *ngFor=\"let layer of layersOptions\"\n igoListItem\n [layerOptions]=\"layer\"\n (remove)=\"deleteUnavailableLayer($event)\"\n >\n </igo-layer-unavailable>\n</igo-list>\n", styles: ["igo-list{height:auto}igo-list ::ng-deep mat-list{padding-bottom:0}\n"] }]
23
+ }], ctorParameters: () => [{ type: i1.LayerService }], propDecorators: { layersOptions: [{
24
+ type: Input
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItdW5hdmFpbGFibGUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci11bmF2YWlsYWJsZS9sYXllci11bmF2YWlsYWJsZS1saXN0L2xheWVyLXVuYXZhaWxhYmxlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItdW5hdmFpbGFibGUvbGF5ZXItdW5hdmFpbGFibGUtbGlzdC9sYXllci11bmF2YWlsYWJsZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckUsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQVUzRSxNQUFNLE9BQU8sNkJBQTZCO0lBR3BCO0lBRlgsYUFBYSxDQUFvQjtJQUUxQyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFbEQsc0JBQXNCLENBQUMsT0FBd0I7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQVBVLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLGtJQ2hCMUMsOFFBU0EsOEhES1ksS0FBSyxtSEFBRSxhQUFhLDBGQUFFLGlCQUFpQiw2UkFBRSx5QkFBeUI7OzRGQUVqRSw2QkFBNkI7a0JBUnpDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUseUJBQXlCLENBQUM7aUZBR3BFLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50LCBMaXN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9saXN0JztcblxuaW1wb3J0IHsgQW55TGF5ZXJPcHRpb25zLCBMYXllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgTGF5ZXJVbmF2YWlsYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2xheWVyLXVuYXZhaWxhYmxlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1sYXllci11bmF2YWlsYWJsZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheWVyLXVuYXZhaWxhYmxlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYXllci11bmF2YWlsYWJsZS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdGb3IsIExpc3RDb21wb25lbnQsIExpc3RJdGVtRGlyZWN0aXZlLCBMYXllclVuYXZhaWxhYmxlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBMYXllclVuYXZhaWxhYmxlTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxheWVyc09wdGlvbnM6IEFueUxheWVyT3B0aW9uc1tdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UpIHt9XG5cbiAgZGVsZXRlVW5hdmFpbGFibGVMYXllcihvcHRpb25zOiBBbnlMYXllck9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmxheWVyU2VydmljZS5kZWxldGVVbmF2YWlsYWJsZUxheWVycyhvcHRpb25zKTtcbiAgfVxufVxuIiwiPGlnby1saXN0IFtuYXZpZ2F0aW9uXT1cImZhbHNlXCIgW3NlbGVjdGlvbl09XCJmYWxzZVwiPlxuICA8aWdvLWxheWVyLXVuYXZhaWxhYmxlXG4gICAgKm5nRm9yPVwibGV0IGxheWVyIG9mIGxheWVyc09wdGlvbnNcIlxuICAgIGlnb0xpc3RJdGVtXG4gICAgW2xheWVyT3B0aW9uc109XCJsYXllclwiXG4gICAgKHJlbW92ZSk9XCJkZWxldGVVbmF2YWlsYWJsZUxheWVyKCRldmVudClcIlxuICA+XG4gIDwvaWdvLWxheWVyLXVuYXZhaWxhYmxlPlxuPC9pZ28tbGlzdD5cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { MatIconModule } from '@angular/material/icon';
3
+ import { MatListModule } from '@angular/material/list';
4
+ import { MatTooltipModule } from '@angular/material/tooltip';
5
+ import { IgoLanguageModule } from '@igo2/core/language';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/list";
8
+ import * as i2 from "@angular/material/icon";
9
+ import * as i3 from "@angular/material/tooltip";
10
+ import * as i4 from "@ngx-translate/core";
11
+ export class LayerUnavailableComponent {
12
+ layerOptions;
13
+ remove = new EventEmitter();
14
+ get title() {
15
+ const sourceOptions = this.layerOptions.sourceOptions;
16
+ return (this.layerOptions.title ??
17
+ sourceOptions?.['params']?.LAYERS ??
18
+ sourceOptions?.['params']?.layers ??
19
+ sourceOptions?.['layer']);
20
+ }
21
+ handleRemove(layerOptions) {
22
+ this.remove.emit(layerOptions);
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerUnavailableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LayerUnavailableComponent, isStandalone: true, selector: "igo-layer-unavailable", inputs: { layerOptions: "layerOptions" }, outputs: { remove: "remove" }, ngImport: i0, template: "<mat-list-item>\n <button mat-icon-button disabled class=\"layer-indicator\">\n <mat-icon aria-hidden=\"false\" color=\"warn\">warning</mat-icon>\n </button>\n <span\n matListItemTitle\n [matTooltip]=\"title\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n >\n {{ title }}\n </span>\n <div matListItemMeta>\n <div\n class=\"align-disabled-button-with-tooltip\"\n [matTooltip]=\"'igo.geo.layer.unavailableLayer' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n ></div>\n <button\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.layer.deleteLayer' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n (click)=\"handleRemove(layerOptions)\"\n >\n <mat-icon aria-hidden=\"false\">delete</mat-icon>\n </button>\n </div>\n</mat-list-item>\n", styles: [":host mat-list-item{padding-left:1px}:host ::ng-deep .mdc-list-item__content{display:flex;align-items:center;flex-direction:row-reverse;justify-content:flex-end}:host ::ng-deep .mat-mdc-list-item-title{font-size:12px!important}:host ::ng-deep .mdc-list-item__end{margin-left:8px;margin-right:4px}.align-disabled-button-with-tooltip{display:inline-block}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerUnavailableComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ selector: 'igo-layer-unavailable', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatListModule, MatIconModule, MatTooltipModule, IgoLanguageModule], template: "<mat-list-item>\n <button mat-icon-button disabled class=\"layer-indicator\">\n <mat-icon aria-hidden=\"false\" color=\"warn\">warning</mat-icon>\n </button>\n <span\n matListItemTitle\n [matTooltip]=\"title\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n >\n {{ title }}\n </span>\n <div matListItemMeta>\n <div\n class=\"align-disabled-button-with-tooltip\"\n [matTooltip]=\"'igo.geo.layer.unavailableLayer' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n ></div>\n <button\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.layer.deleteLayer' | translate\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n (click)=\"handleRemove(layerOptions)\"\n >\n <mat-icon aria-hidden=\"false\">delete</mat-icon>\n </button>\n </div>\n</mat-list-item>\n", styles: [":host mat-list-item{padding-left:1px}:host ::ng-deep .mdc-list-item__content{display:flex;align-items:center;flex-direction:row-reverse;justify-content:flex-end}:host ::ng-deep .mat-mdc-list-item-title{font-size:12px!important}:host ::ng-deep .mdc-list-item__end{margin-left:8px;margin-right:4px}.align-disabled-button-with-tooltip{display:inline-block}\n"] }]
30
+ }], propDecorators: { layerOptions: [{
31
+ type: Input
32
+ }], remove: [{
33
+ type: Output
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItdW5hdmFpbGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItdW5hdmFpbGFibGUvbGF5ZXItdW5hdmFpbGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItdW5hdmFpbGFibGUvbGF5ZXItdW5hdmFpbGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBWXhELE1BQU0sT0FBTyx5QkFBeUI7SUFDM0IsWUFBWSxDQUFzQjtJQUVqQyxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFFdkQsSUFBSSxLQUFLO1FBQ1AsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7UUFDdEQsT0FBTyxDQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSztZQUN2QixhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNO1lBQ2pDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU07WUFDakMsYUFBYSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLFlBQTZCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7d0dBakJVLHlCQUF5Qjs0RkFBekIseUJBQXlCLDBKQ3ZCdEMseTRCQStCQSw0WkRWWSxhQUFhLG1XQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLDRUQUFFLGlCQUFpQjs7NEZBRWhFLHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQzs4QkFHbkUsWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5cbmltcG9ydCB7IEFueUxheWVySXRlbU9wdGlvbnMsIEFueUxheWVyT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1sYXllci11bmF2YWlsYWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXllci11bmF2YWlsYWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xheWVyLXVuYXZhaWxhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0TGlzdE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgSWdvTGFuZ3VhZ2VNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIExheWVyVW5hdmFpbGFibGVDb21wb25lbnQge1xuICBASW5wdXQoKSBsYXllck9wdGlvbnM6IEFueUxheWVySXRlbU9wdGlvbnM7XG5cbiAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8QW55TGF5ZXJPcHRpb25zPigpO1xuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHNvdXJjZU9wdGlvbnMgPSB0aGlzLmxheWVyT3B0aW9ucy5zb3VyY2VPcHRpb25zO1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmxheWVyT3B0aW9ucy50aXRsZSA/P1xuICAgICAgc291cmNlT3B0aW9ucz8uWydwYXJhbXMnXT8uTEFZRVJTID8/XG4gICAgICBzb3VyY2VPcHRpb25zPy5bJ3BhcmFtcyddPy5sYXllcnMgPz9cbiAgICAgIHNvdXJjZU9wdGlvbnM/LlsnbGF5ZXInXVxuICAgICk7XG4gIH1cblxuICBoYW5kbGVSZW1vdmUobGF5ZXJPcHRpb25zOiBBbnlMYXllck9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZS5lbWl0KGxheWVyT3B0aW9ucyk7XG4gIH1cbn1cbiIsIjxtYXQtbGlzdC1pdGVtPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlZCBjbGFzcz1cImxheWVyLWluZGljYXRvclwiPlxuICAgIDxtYXQtaWNvbiBhcmlhLWhpZGRlbj1cImZhbHNlXCIgY29sb3I9XCJ3YXJuXCI+d2FybmluZzwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8c3BhblxuICAgIG1hdExpc3RJdGVtVGl0bGVcbiAgICBbbWF0VG9vbHRpcF09XCJ0aXRsZVwiXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgPlxuICAgIHt7IHRpdGxlIH19XG4gIDwvc3Bhbj5cbiAgPGRpdiBtYXRMaXN0SXRlbU1ldGE+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJhbGlnbi1kaXNhYmxlZC1idXR0b24td2l0aC10b29sdGlwXCJcbiAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmxheWVyLnVuYXZhaWxhYmxlTGF5ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICA+PC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8ubGF5ZXIuZGVsZXRlTGF5ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVSZW1vdmUobGF5ZXJPcHRpb25zKVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uIGFyaWEtaGlkZGVuPVwiZmFsc2VcIj5kZWxldGU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbWF0LWxpc3QtaXRlbT5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './layer-viewer.component';
2
+ export * from './layer-viewer.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci12aWV3ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXllci12aWV3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItdmlld2VyLmludGVyZmFjZSc7XG4iXX0=
@@ -0,0 +1,226 @@
1
+ import { NgIf, NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatCheckboxModule } from '@angular/material/checkbox';
5
+ import { MatDividerModule } from '@angular/material/divider';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { IgoLanguageModule } from '@igo2/core/language';
8
+ import { BehaviorSubject, EMPTY, combineLatest, timer } from 'rxjs';
9
+ import { debounce, debounceTime } from 'rxjs/operators';
10
+ import { LayerListComponent } from '../layer-list';
11
+ import { LayerListToolComponent } from '../layer-list-tool';
12
+ import { LayerListControlsEnum } from '../layer-list-tool/layer-list-tool.interface';
13
+ import { LayerUnavailableListComponent } from '../layer-unavailable';
14
+ import { LayerViewerBottomActionsComponent } from '../layer-viewer-bottom-actions';
15
+ import { LayerService } from '../shared/layer.service';
16
+ import { isLayerGroup, isLayerItem, sortLayersByZindex } from '../utils/layer.utils';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "../shared/layer.service";
19
+ import * as i2 from "@angular/material/button";
20
+ import * as i3 from "@angular/material/checkbox";
21
+ import * as i4 from "@angular/material/divider";
22
+ import * as i5 from "@angular/material/icon";
23
+ import * as i6 from "@ngx-translate/core";
24
+ export class LayerViewerComponent {
25
+ cdr;
26
+ layerService;
27
+ layers;
28
+ baselayers;
29
+ keyword$ = new BehaviorSubject(undefined);
30
+ mode;
31
+ isDragDropDisabled;
32
+ map;
33
+ options;
34
+ isDesktop;
35
+ excludeBaseLayers;
36
+ appliedFilterAndSort = new EventEmitter();
37
+ customBottomActions;
38
+ get layerViewerOptions() {
39
+ return {
40
+ ...this.options,
41
+ mode: this.mode
42
+ };
43
+ }
44
+ get layerController() {
45
+ return this.map.layerController;
46
+ }
47
+ get unavailableLayers() {
48
+ return this.layerService.unavailableLayers;
49
+ }
50
+ constructor(cdr, layerService) {
51
+ this.cdr = cdr;
52
+ this.layerService = layerService;
53
+ }
54
+ isLayerItem = isLayerItem;
55
+ /**
56
+ * Subscribe to the search term stream and trigger researches
57
+ * @internal
58
+ */
59
+ ngOnInit() {
60
+ const baseObs$ = [
61
+ this.layerController.layers$,
62
+ this.keyword$
63
+ ];
64
+ const otherObs$ = [];
65
+ if (!this.excludeBaseLayers) {
66
+ otherObs$.push(this.layerController.baseLayers$);
67
+ }
68
+ combineLatest([...baseObs$, ...otherObs$])
69
+ .pipe(debounceTime(10))
70
+ .subscribe(([layers, keyword, baselayers]) => {
71
+ if (layers) {
72
+ this.layers = this.computeLayers(layers, keyword);
73
+ }
74
+ if (baselayers) {
75
+ const baselayersInViewer = baselayers.filter((layer) => layer.showInLayerList);
76
+ this.baselayers = this.computeLayers(baselayersInViewer, keyword);
77
+ }
78
+ this.cdr.markForCheck();
79
+ });
80
+ this.keyword$
81
+ .pipe(debounce(() => {
82
+ return this.layers?.length === 0 ? EMPTY : timer(50);
83
+ }))
84
+ .subscribe((keyword) => {
85
+ this.isDragDropDisabled = !!keyword;
86
+ this.appliedFilterAndSort.emit({
87
+ keyword
88
+ });
89
+ });
90
+ }
91
+ clearKeyword() {
92
+ this.keyword$.next(undefined);
93
+ }
94
+ onVisibilityOnlyChange() {
95
+ this.layers = this.computeLayers([...this.layerController.treeLayers], this.keyword$.value);
96
+ }
97
+ onLayerChange() {
98
+ // Trigger change detection for component using layers
99
+ this.layers = [...this.layers];
100
+ }
101
+ onSearchChange(value) {
102
+ this.keyword$.next(value);
103
+ }
104
+ toggleSelectionMode(active) {
105
+ if (!active) {
106
+ this.layerController.clearSelection();
107
+ }
108
+ this.mode = active ? 'selection' : undefined;
109
+ }
110
+ toggleAllRows() {
111
+ const isAllSelected = this.isAllSelected();
112
+ this.layerController.clearSelection();
113
+ if (isAllSelected) {
114
+ return;
115
+ }
116
+ this.layerController.select(...this.layerController.treeLayers);
117
+ }
118
+ isAllSelected() {
119
+ const numSelected = this.layerController.selected.length;
120
+ const numRows = this.layerController.treeLayers.length;
121
+ return (numSelected >= numRows &&
122
+ this.layerController.treeLayers.every((layer) => this.layerController.isSelected(layer)));
123
+ }
124
+ isScrolledIntoView(elemSource, elem) {
125
+ const docViewTop = elemSource.scrollTop;
126
+ const docViewBottom = docViewTop + elemSource.clientHeight;
127
+ const elemTop = elem.offsetTop;
128
+ const elemBottom = elemTop + elem.clientHeight;
129
+ return elemBottom <= docViewBottom && elemTop >= docViewTop;
130
+ }
131
+ createGroup(group) {
132
+ this.map.layerController.add(group);
133
+ this.cdr.markForCheck();
134
+ }
135
+ computeLayers(layers, keyword) {
136
+ const layersOut = this.filterLayers([...layers], keyword);
137
+ return sortLayersByZindex(layersOut, 'desc');
138
+ }
139
+ filterLayers(layers, keyword) {
140
+ if (this.options?.filterAndSortOptions?.showToolbar ===
141
+ LayerListControlsEnum.never) {
142
+ return layers;
143
+ }
144
+ if (keyword) {
145
+ layers = this.filterSearch(keyword, layers);
146
+ }
147
+ return layers;
148
+ }
149
+ /** Recursive */
150
+ filterSearch(value, layers) {
151
+ if (!value) {
152
+ return layers;
153
+ }
154
+ return [...layers].reduce((results, layer) => {
155
+ const clonedLayer = layer.clone();
156
+ if (isLayerGroup(clonedLayer)) {
157
+ if (this.layerHasTerm(value, clonedLayer)) {
158
+ return results.concat(clonedLayer);
159
+ }
160
+ clonedLayer.children = this.filterSearch(value, [
161
+ ...clonedLayer.children
162
+ ]);
163
+ if (clonedLayer.children.length) {
164
+ return results.concat(clonedLayer);
165
+ }
166
+ }
167
+ if (this.layerHasTerm(value, clonedLayer)) {
168
+ return results.concat(clonedLayer);
169
+ }
170
+ return results;
171
+ }, []);
172
+ }
173
+ layerHasTerm(term, layer) {
174
+ const metadata = layer.options.metadata ?? {};
175
+ const keywords = metadata.keywordList || [];
176
+ const layerKeywords = keywords.map((kw) => {
177
+ return kw.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
178
+ });
179
+ const localKeyword = this.normalizeString(term);
180
+ const layerTitle = this.normalizeString(layer.title);
181
+ const dataSourceType = isLayerGroup(layer)
182
+ ? ''
183
+ : layer.dataSource.options.type || '';
184
+ const keywordRegex = new RegExp(localKeyword, 'gi');
185
+ const keywordInList = layerKeywords.find((kw) => keywordRegex.test(kw)) !== undefined;
186
+ return (keywordRegex.test(layerTitle) ||
187
+ term.toLowerCase() === dataSourceType.toLowerCase() ||
188
+ keywordInList);
189
+ }
190
+ normalizeString(value) {
191
+ return value.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
192
+ }
193
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerViewerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.LayerService }], target: i0.ɵɵFactoryTarget.Component });
194
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LayerViewerComponent, isStandalone: true, selector: "igo-layer-viewer", inputs: { map: "map", options: "options", isDesktop: "isDesktop", excludeBaseLayers: "excludeBaseLayers" }, outputs: { appliedFilterAndSort: "appliedFilterAndSort" }, queries: [{ propertyName: "customBottomActions", first: true, predicate: ["customBottomActions"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<igo-layer-list-tool\n floatLabel=\"auto\"\n [viewerOptions]=\"layerViewerOptions\"\n [term]=\"options?.filterAndSortOptions?.keyword\"\n [mode]=\"mode\"\n (addedLayer)=\"createGroup($event)\"\n (modeChange)=\"toggleSelectionMode($event)\"\n (searchChange)=\"onSearchChange($event)\"\n (visibilityOnlyChange)=\"onVisibilityOnlyChange()\"\n>\n</igo-layer-list-tool>\n\n<ng-container *ngIf=\"mode === 'selection'\">\n <mat-divider></mat-divider>\n <div class=\"header-item active-background\">\n <mat-checkbox\n class=\"select-all-checkbox\"\n [color]=\"isAllSelected() ? 'primary' : 'accent'\"\n (change)=\"toggleAllRows()\"\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"!isAllSelected() && layerController.selected.length > 0\"\n >\n {{\n isAllSelected()\n ? ('igo.geo.layer.deselectAll' | translate)\n : ('igo.geo.layer.selectAll' | translate)\n }}\n </mat-checkbox>\n\n <button mat-icon-button color=\"warn\" (click)=\"toggleSelectionMode(false)\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n</ng-container>\n<mat-divider></mat-divider>\n\n<div class=\"layer-view\">\n <ng-container\n *ngIf=\"\n layers?.length > 0 ||\n unavailableLayers?.length > 0 ||\n baselayers?.length > 0;\n else showEmptyList\n \"\n >\n <div class=\"layer-list-container\">\n <igo-layer-unavailable-list\n *ngIf=\"unavailableLayers?.length\"\n [layersOptions]=\"unavailableLayers\"\n ></igo-layer-unavailable-list>\n\n <igo-layer-list\n [controller]=\"map.layerController\"\n [layers]=\"layers\"\n [viewerOptions]=\"layerViewerOptions\"\n [isDragDropDisabled]=\"isDragDropDisabled\"\n [isDesktop]=\"isDesktop\"\n ></igo-layer-list>\n\n <div *ngIf=\"!excludeBaseLayers && baselayers?.length\">\n <mat-divider></mat-divider>\n <igo-layer-list\n [controller]=\"map.layerController\"\n [layers]=\"baselayers\"\n [viewerOptions]=\"layerViewerOptions\"\n [isDragDropDisabled]=\"true\"\n [isDesktop]=\"isDesktop\"\n ></igo-layer-list>\n </div>\n </div>\n </ng-container>\n\n <ng-template #showEmptyList>\n <ng-content select=\"[emptyList]\"></ng-content>\n </ng-template>\n</div>\n\n<igo-layer-viewer-bottom-actions\n *ngIf=\"layerController.hasSelection\"\n [map]=\"map\"\n [viewerOptions]=\"layerViewerOptions\"\n [controller]=\"layerController\"\n [searchTerm]=\"keyword$.value\"\n (layerChange)=\"onLayerChange()\"\n>\n <ng-container\n *ngIf=\"\n layerController.selected.length === 1 &&\n isLayerItem(layerController.selected[0])\n \"\n [ngTemplateOutlet]=\"customBottomActions\"\n [ngTemplateOutletContext]=\"{ layer: layerController.selected[0] }\"\n ></ng-container>\n</igo-layer-viewer-bottom-actions>\n\n<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:column;height:100%}.layer-view{display:flex;flex-direction:column;flex:1;overflow-y:auto}.layer-list-container{position:relative;display:flex;flex-direction:column;flex:1;overflow-x:hidden}.header-item{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px}.header-item mat-checkbox{margin-left:-16px}::ng-deep .layer-indicator{color:#00000061!important}::ng-deep .layer-indicator igo-icon,::ng-deep .layer-indicator.mdc-icon-button{display:flex;align-items:center;justify-content:center}::ng-deep .layer-indicator mat-icon{height:18px;width:18px;font-size:18px;font-variation-settings:\"fill\" 0}::ng-deep .layer-indicator mat-icon ::ng-deep svg{height:18px;width:18px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: LayerListComponent, selector: "igo-layer-list", inputs: ["controller", "layers", "isDesktop", "isDragDropDisabled", "selectAll", "viewerOptions"], outputs: ["activeChange"] }, { kind: "component", type: LayerUnavailableListComponent, selector: "igo-layer-unavailable-list", inputs: ["layersOptions"] }, { kind: "component", type: LayerViewerBottomActionsComponent, selector: "igo-layer-viewer-bottom-actions", inputs: ["map", "controller", "searchTerm", "viewerOptions"], outputs: ["layerChange"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "component", type: LayerListToolComponent, selector: "igo-layer-list-tool", inputs: ["mode", "viewerOptions", "floatLabel", "onlyVisible", "term"], outputs: ["searchChange", "visibilityOnlyChange", "modeChange", "addedLayer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
195
+ }
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerViewerComponent, decorators: [{
197
+ type: Component,
198
+ args: [{ selector: 'igo-layer-viewer', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
199
+ NgIf,
200
+ NgTemplateOutlet,
201
+ MatButtonModule,
202
+ MatCheckboxModule,
203
+ MatDividerModule,
204
+ MatIconModule,
205
+ LayerListComponent,
206
+ LayerUnavailableListComponent,
207
+ LayerViewerBottomActionsComponent,
208
+ IgoLanguageModule,
209
+ LayerListToolComponent
210
+ ], standalone: true, template: "<igo-layer-list-tool\n floatLabel=\"auto\"\n [viewerOptions]=\"layerViewerOptions\"\n [term]=\"options?.filterAndSortOptions?.keyword\"\n [mode]=\"mode\"\n (addedLayer)=\"createGroup($event)\"\n (modeChange)=\"toggleSelectionMode($event)\"\n (searchChange)=\"onSearchChange($event)\"\n (visibilityOnlyChange)=\"onVisibilityOnlyChange()\"\n>\n</igo-layer-list-tool>\n\n<ng-container *ngIf=\"mode === 'selection'\">\n <mat-divider></mat-divider>\n <div class=\"header-item active-background\">\n <mat-checkbox\n class=\"select-all-checkbox\"\n [color]=\"isAllSelected() ? 'primary' : 'accent'\"\n (change)=\"toggleAllRows()\"\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"!isAllSelected() && layerController.selected.length > 0\"\n >\n {{\n isAllSelected()\n ? ('igo.geo.layer.deselectAll' | translate)\n : ('igo.geo.layer.selectAll' | translate)\n }}\n </mat-checkbox>\n\n <button mat-icon-button color=\"warn\" (click)=\"toggleSelectionMode(false)\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n</ng-container>\n<mat-divider></mat-divider>\n\n<div class=\"layer-view\">\n <ng-container\n *ngIf=\"\n layers?.length > 0 ||\n unavailableLayers?.length > 0 ||\n baselayers?.length > 0;\n else showEmptyList\n \"\n >\n <div class=\"layer-list-container\">\n <igo-layer-unavailable-list\n *ngIf=\"unavailableLayers?.length\"\n [layersOptions]=\"unavailableLayers\"\n ></igo-layer-unavailable-list>\n\n <igo-layer-list\n [controller]=\"map.layerController\"\n [layers]=\"layers\"\n [viewerOptions]=\"layerViewerOptions\"\n [isDragDropDisabled]=\"isDragDropDisabled\"\n [isDesktop]=\"isDesktop\"\n ></igo-layer-list>\n\n <div *ngIf=\"!excludeBaseLayers && baselayers?.length\">\n <mat-divider></mat-divider>\n <igo-layer-list\n [controller]=\"map.layerController\"\n [layers]=\"baselayers\"\n [viewerOptions]=\"layerViewerOptions\"\n [isDragDropDisabled]=\"true\"\n [isDesktop]=\"isDesktop\"\n ></igo-layer-list>\n </div>\n </div>\n </ng-container>\n\n <ng-template #showEmptyList>\n <ng-content select=\"[emptyList]\"></ng-content>\n </ng-template>\n</div>\n\n<igo-layer-viewer-bottom-actions\n *ngIf=\"layerController.hasSelection\"\n [map]=\"map\"\n [viewerOptions]=\"layerViewerOptions\"\n [controller]=\"layerController\"\n [searchTerm]=\"keyword$.value\"\n (layerChange)=\"onLayerChange()\"\n>\n <ng-container\n *ngIf=\"\n layerController.selected.length === 1 &&\n isLayerItem(layerController.selected[0])\n \"\n [ngTemplateOutlet]=\"customBottomActions\"\n [ngTemplateOutletContext]=\"{ layer: layerController.selected[0] }\"\n ></ng-container>\n</igo-layer-viewer-bottom-actions>\n\n<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:column;height:100%}.layer-view{display:flex;flex-direction:column;flex:1;overflow-y:auto}.layer-list-container{position:relative;display:flex;flex-direction:column;flex:1;overflow-x:hidden}.header-item{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px}.header-item mat-checkbox{margin-left:-16px}::ng-deep .layer-indicator{color:#00000061!important}::ng-deep .layer-indicator igo-icon,::ng-deep .layer-indicator.mdc-icon-button{display:flex;align-items:center;justify-content:center}::ng-deep .layer-indicator mat-icon{height:18px;width:18px;font-size:18px;font-variation-settings:\"fill\" 0}::ng-deep .layer-indicator mat-icon ::ng-deep svg{height:18px;width:18px}\n"] }]
211
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.LayerService }], propDecorators: { map: [{
212
+ type: Input,
213
+ args: [{ required: true }]
214
+ }], options: [{
215
+ type: Input
216
+ }], isDesktop: [{
217
+ type: Input
218
+ }], excludeBaseLayers: [{
219
+ type: Input
220
+ }], appliedFilterAndSort: [{
221
+ type: Output
222
+ }], customBottomActions: [{
223
+ type: ContentChild,
224
+ args: ['customBottomActions', { read: TemplateRef }]
225
+ }] } });
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL2xheWVyLXZpZXdlci9sYXllci12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItdmlld2VyL2xheWVyLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBYyxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFDTCxxQkFBcUIs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RUksb0JBQW9CO3NCQUE3QixNQUFNO2dCQUdQLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBFTVBUWSwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB0eXBlIHsgTWFwQmFzZSB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwLmFic3RyYWN0JztcbmltcG9ydCB7IExheWVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2xheWVyLWxpc3QnO1xuaW1wb3J0IHsgTGF5ZXJMaXN0VG9vbENvbXBvbmVudCB9IGZyb20gJy4uL2xheWVyLWxpc3QtdG9vbCc7XG5pbXBvcnQge1xuICBMYXllckxpc3RDb250cm9sc0VudW0sXG4gIExheWVyTGlzdENvbnRyb2xzT3B0aW9uc1xufSBmcm9tICcuLi9sYXllci1saXN0LXRvb2wvbGF5ZXItbGlzdC10b29sLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMYXllclVuYXZhaWxhYmxlTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2xheWVyLXVuYXZhaWxhYmxlJztcbmltcG9ydCB7IExheWVyVmlld2VyQm90dG9tQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL2xheWVyLXZpZXdlci1ib3R0b20tYWN0aW9ucyc7XG5pbXBvcnQgeyBMYXllckNvbnRyb2xsZXIgfSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQW55TGF5ZXIsXG4gIEltYWdlTGF5ZXJPcHRpb25zLFxuICBMYXllckdyb3VwLFxuICBMYXllck9wdGlvbnNCYXNlXG59IGZyb20gJy4uL3NoYXJlZC9sYXllcnMnO1xuaW1wb3J0IHtcbiAgaXNMYXllckdyb3VwLFxuICBpc0xheWVySXRlbSxcbiAgc29ydExheWVyc0J5WmluZGV4XG59IGZyb20gJy4uL3V0aWxzL2xheWVyLnV0aWxzJztcbmltcG9ydCB7IExheWVyVG9vbE1vZGUsIExheWVyVmlld2VyT3B0aW9ucyB9IGZyb20gJy4vbGF5ZXItdmlld2VyLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1sYXllci12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5ZXItdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5ZXItdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTGF5ZXJMaXN0Q29tcG9uZW50LFxuICAgIExheWVyVW5hdmFpbGFibGVMaXN0Q29tcG9uZW50LFxuICAgIExheWVyVmlld2VyQm90dG9tQWN0aW9uc0NvbXBvbmVudCxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcbiAgICBMYXllckxpc3RUb29sQ29tcG9uZW50XG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTGF5ZXJWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBsYXllcnM6IEFueUxheWVyW107XG4gIGJhc2VsYXllcnM6IEFueUxheWVyW107XG4gIGtleXdvcmQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZCk7XG4gIG1vZGU6IExheWVyVG9vbE1vZGU7XG4gIGlzRHJhZ0Ryb3BEaXNhYmxlZDogYm9vbGVhbjtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtYXA6IE1hcEJhc2U7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IExheWVyVmlld2VyT3B0aW9ucztcbiAgQElucHV0KCkgaXNEZXNrdG9wOiBib29sZWFuO1xuICBASW5wdXQoKSBleGNsdWRlQmFzZUxheWVyczogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgYXBwbGllZEZpbHRlckFuZFNvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPExheWVyTGlzdENvbnRyb2xzT3B0aW9ucz4oKTtcblxuICBAQ29udGVudENoaWxkKCdjdXN0b21Cb3R0b21BY3Rpb25zJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBjdXN0b21Cb3R0b21BY3Rpb25zOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICBnZXQgbGF5ZXJWaWV3ZXJPcHRpb25zKCk6IExheWVyVmlld2VyT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIG1vZGU6IHRoaXMubW9kZVxuICAgIH07XG4gIH1cblxuICBnZXQgbGF5ZXJDb250cm9sbGVyKCkge1xuICAgIHJldHVybiB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIgYXMgTGF5ZXJDb250cm9sbGVyO1xuICB9XG5cbiAgZ2V0IHVuYXZhaWxhYmxlTGF5ZXJzKCk6IExheWVyT3B0aW9uc0Jhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMubGF5ZXJTZXJ2aWNlLnVuYXZhaWxhYmxlTGF5ZXJzO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2VcbiAgKSB7fVxuXG4gIGlzTGF5ZXJJdGVtID0gaXNMYXllckl0ZW07XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZSB0byB0aGUgc2VhcmNoIHRlcm0gc3RyZWFtIGFuZCB0cmlnZ2VyIHJlc2VhcmNoZXNcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBiYXNlT2JzJDogW09ic2VydmFibGU8QW55TGF5ZXJbXT4sIE9ic2VydmFibGU8c3RyaW5nPl0gPSBbXG4gICAgICB0aGlzLmxheWVyQ29udHJvbGxlci5sYXllcnMkLFxuICAgICAgdGhpcy5rZXl3b3JkJFxuICAgIF07XG5cbiAgICBjb25zdCBvdGhlck9icyQ6IE9ic2VydmFibGU8QW55TGF5ZXJbXT5bXSA9IFtdO1xuICAgIGlmICghdGhpcy5leGNsdWRlQmFzZUxheWVycykge1xuICAgICAgb3RoZXJPYnMkLnB1c2godGhpcy5sYXllckNvbnRyb2xsZXIuYmFzZUxheWVycyQpO1xuICAgIH1cblxuICAgIGNvbWJpbmVMYXRlc3QoWy4uLmJhc2VPYnMkLCAuLi5vdGhlck9icyRdKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtsYXllcnMsIGtleXdvcmQsIGJhc2VsYXllcnNdKSA9PiB7XG4gICAgICAgIGlmIChsYXllcnMpIHtcbiAgICAgICAgICB0aGlzLmxheWVycyA9IHRoaXMuY29tcHV0ZUxheWVycyhsYXllcnMsIGtleXdvcmQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJhc2VsYXllcnMpIHtcbiAgICAgICAgICBjb25zdCBiYXNlbGF5ZXJzSW5WaWV3ZXIgPSBiYXNlbGF5ZXJzLmZpbHRlcihcbiAgICAgICAgICAgIChsYXllcikgPT4gbGF5ZXIuc2hvd0luTGF5ZXJMaXN0XG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmJhc2VsYXllcnMgPSB0aGlzLmNvbXB1dGVMYXllcnMoYmFzZWxheWVyc0luVmlld2VyLCBrZXl3b3JkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgdGhpcy5rZXl3b3JkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5sYXllcnM/Lmxlbmd0aCA9PT0gMCA/IEVNUFRZIDogdGltZXIoNTApO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoa2V5d29yZCkgPT4ge1xuICAgICAgICB0aGlzLmlzRHJhZ0Ryb3BEaXNhYmxlZCA9ICEha2V5d29yZDtcbiAgICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyQW5kU29ydC5lbWl0KHtcbiAgICAgICAgICBrZXl3b3JkXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBjbGVhcktleXdvcmQoKSB7XG4gICAgdGhpcy5rZXl3b3JkJC5uZXh0KHVuZGVmaW5lZCk7XG4gIH1cblxuICBvblZpc2liaWxpdHlPbmx5Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMubGF5ZXJzID0gdGhpcy5jb21wdXRlTGF5ZXJzKFxuICAgICAgWy4uLnRoaXMubGF5ZXJDb250cm9sbGVyLnRyZWVMYXllcnNdLFxuICAgICAgdGhpcy5rZXl3b3JkJC52YWx1ZVxuICAgICk7XG4gIH1cblxuICBvbkxheWVyQ2hhbmdlKCk6IHZvaWQge1xuICAgIC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiBmb3IgY29tcG9uZW50IHVzaW5nIGxheWVyc1xuICAgIHRoaXMubGF5ZXJzID0gWy4uLnRoaXMubGF5ZXJzXTtcbiAgfVxuXG4gIG9uU2VhcmNoQ2hhbmdlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLmtleXdvcmQkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0aW9uTW9kZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIWFjdGl2ZSkge1xuICAgICAgdGhpcy5sYXllckNvbnRyb2xsZXIuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICB9XG4gICAgdGhpcy5tb2RlID0gYWN0aXZlID8gJ3NlbGVjdGlvbicgOiB1bmRlZmluZWQ7XG4gIH1cblxuICB0b2dnbGVBbGxSb3dzKCkge1xuICAgIGNvbnN0IGlzQWxsU2VsZWN0ZWQgPSB0aGlzLmlzQWxsU2VsZWN0ZWQoKTtcbiAgICB0aGlzLmxheWVyQ29udHJvbGxlci5jbGVhclNlbGVjdGlvbigpO1xuICAgIGlmIChpc0FsbFNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubGF5ZXJDb250cm9sbGVyLnNlbGVjdCguLi50aGlzLmxheWVyQ29udHJvbGxlci50cmVlTGF5ZXJzKTtcbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLmxheWVyQ29udHJvbGxlci5zZWxlY3RlZC5sZW5ndGg7XG4gICAgY29uc3QgbnVtUm93cyA9IHRoaXMubGF5ZXJDb250cm9sbGVyLnRyZWVMYXllcnMubGVuZ3RoO1xuICAgIHJldHVybiAoXG4gICAgICBudW1TZWxlY3RlZCA+PSBudW1Sb3dzICYmXG4gICAgICB0aGlzLmxheWVyQ29udHJvbGxlci50cmVlTGF5ZXJzLmV2ZXJ5KChsYXllcikgPT5cbiAgICAgICAgdGhpcy5sYXllckNvbnRyb2xsZXIuaXNTZWxlY3RlZChsYXllcilcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgaXNTY3JvbGxlZEludG9WaWV3KGVsZW1Tb3VyY2UsIGVsZW0pIHtcbiAgICBjb25zdCBkb2NWaWV3VG9wID0gZWxlbVNvdXJjZS5zY3JvbGxUb3A7XG4gICAgY29uc3QgZG9jVmlld0JvdHRvbSA9IGRvY1ZpZXdUb3AgKyBlbGVtU291cmNlLmNsaWVudEhlaWdodDtcblxuICAgIGNvbnN0IGVsZW1Ub3AgPSBlbGVtLm9mZnNldFRvcDtcbiAgICBjb25zdCBlbGVtQm90dG9tID0gZWxlbVRvcCArIGVsZW0uY2xpZW50SGVpZ2h0O1xuICAgIHJldHVybiBlbGVtQm90dG9tIDw9IGRvY1ZpZXdCb3R0b20gJiYgZWxlbVRvcCA+PSBkb2NWaWV3VG9wO1xuICB9XG5cbiAgY3JlYXRlR3JvdXAoZ3JvdXA6IExheWVyR3JvdXApOiB2b2lkIHtcbiAgICB0aGlzLm1hcC5sYXllckNvbnRyb2xsZXIuYWRkKGdyb3VwKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZUxheWVycyhsYXllcnM6IEFueUxheWVyW10sIGtleXdvcmQ6IHN0cmluZyk6IEFueUxheWVyW10ge1xuICAgIGNvbnN0IGxheWVyc091dCA9IHRoaXMuZmlsdGVyTGF5ZXJzKFsuLi5sYXllcnNdLCBrZXl3b3JkKTtcbiAgICByZXR1cm4gc29ydExheWVyc0J5WmluZGV4KGxheWVyc091dCwgJ2Rlc2MnKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyTGF5ZXJzKGxheWVyczogQW55TGF5ZXJbXSwga2V5d29yZDogc3RyaW5nKTogQW55TGF5ZXJbXSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5vcHRpb25zPy5maWx0ZXJBbmRTb3J0T3B0aW9ucz8uc2hvd1Rvb2xiYXIgPT09XG4gICAgICBMYXllckxpc3RDb250cm9sc0VudW0ubmV2ZXJcbiAgICApIHtcbiAgICAgIHJldHVybiBsYXllcnM7XG4gICAgfVxuXG4gICAgaWYgKGtleXdvcmQpIHtcbiAgICAgIGxheWVycyA9IHRoaXMuZmlsdGVyU2VhcmNoKGtleXdvcmQsIGxheWVycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxheWVycztcbiAgfVxuXG4gIC8qKiBSZWN1cnNpdmUgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJTZWFyY2godmFsdWU6IHN0cmluZywgbGF5ZXJzOiBBbnlMYXllcltdKTogQW55TGF5ZXJbXSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIGxheWVycztcbiAgICB9XG5cbiAgICByZXR1cm4gWy4uLmxheWVyc10ucmVkdWNlKChyZXN1bHRzOiBBbnlMYXllcltdLCBsYXllcikgPT4ge1xuICAgICAgY29uc3QgY2xvbmVkTGF5ZXI6IEFueUxheWVyID0gbGF5ZXIuY2xvbmUoKSBhcyBBbnlMYXllcjtcbiAgICAgIGlmIChpc0xheWVyR3JvdXAoY2xvbmVkTGF5ZXIpKSB7XG4gICAgICAgIGlmICh0aGlzLmxheWVySGFzVGVybSh2YWx1ZSwgY2xvbmVkTGF5ZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdHMuY29uY2F0KGNsb25lZExheWVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNsb25lZExheWVyLmNoaWxkcmVuID0gdGhpcy5maWx0ZXJTZWFyY2godmFsdWUsIFtcbiAgICAgICAgICAuLi5jbG9uZWRMYXllci5jaGlsZHJlblxuICAgICAgICBdKTtcbiAgICAgICAgaWYgKGNsb25lZExheWVyLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiByZXN1bHRzLmNvbmNhdChjbG9uZWRMYXllcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubGF5ZXJIYXNUZXJtKHZhbHVlLCBjbG9uZWRMYXllcikpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHMuY29uY2F0KGNsb25lZExheWVyKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgbGF5ZXJIYXNUZXJtKHRlcm06IHN0cmluZywgbGF5ZXI6IEFueUxheWVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbWV0YWRhdGEgPSAobGF5ZXIub3B0aW9ucyBhcyBJbWFnZUxheWVyT3B0aW9ucykubWV0YWRhdGEgPz8ge307XG4gICAgY29uc3Qga2V5d29yZHMgPSBtZXRhZGF0YS5rZXl3b3JkTGlzdCB8fCBbXTtcbiAgICBjb25zdCBsYXllcktleXdvcmRzID0ga2V5d29yZHMubWFwKChrdzogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4ga3cubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBsb2NhbEtleXdvcmQgPSB0aGlzLm5vcm1hbGl6ZVN0cmluZyh0ZXJtKTtcbiAgICBjb25zdCBsYXllclRpdGxlID0gdGhpcy5ub3JtYWxpemVTdHJpbmcobGF5ZXIudGl0bGUpO1xuICAgIGNvbnN0IGRhdGFTb3VyY2VUeXBlID0gaXNMYXllckdyb3VwKGxheWVyKVxuICAgICAgPyAnJ1xuICAgICAgOiBsYXllci5kYXRhU291cmNlLm9wdGlvbnMudHlwZSB8fCAnJztcbiAgICBjb25zdCBrZXl3b3JkUmVnZXggPSBuZXcgUmVnRXhwKGxvY2FsS2V5d29yZCwgJ2dpJyk7XG4gICAgY29uc3Qga2V5d29yZEluTGlzdCA9XG4gICAgICBsYXllcktleXdvcmRzLmZpbmQoKGt3OiBzdHJpbmcpID0+IGtleXdvcmRSZWdleC50ZXN0KGt3KSkgIT09IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gKFxuICAgICAga2V5d29yZFJlZ2V4LnRlc3QobGF5ZXJUaXRsZSkgfHxcbiAgICAgIHRlcm0udG9Mb3dlckNhc2UoKSA9PT0gZGF0YVNvdXJjZVR5cGUudG9Mb3dlckNhc2UoKSB8fFxuICAgICAga2V5d29yZEluTGlzdFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVN0cmluZyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XG4gIH1cbn1cbiIsIjxpZ28tbGF5ZXItbGlzdC10b29sXG4gIGZsb2F0TGFiZWw9XCJhdXRvXCJcbiAgW3ZpZXdlck9wdGlvbnNdPVwibGF5ZXJWaWV3ZXJPcHRpb25zXCJcbiAgW3Rlcm1dPVwib3B0aW9ucz8uZmlsdGVyQW5kU29ydE9wdGlvbnM/LmtleXdvcmRcIlxuICBbbW9kZV09XCJtb2RlXCJcbiAgKGFkZGVkTGF5ZXIpPVwiY3JlYXRlR3JvdXAoJGV2ZW50KVwiXG4gIChtb2RlQ2hhbmdlKT1cInRvZ2dsZVNlbGVjdGlvbk1vZGUoJGV2ZW50KVwiXG4gIChzZWFyY2hDaGFuZ2UpPVwib25TZWFyY2hDaGFuZ2UoJGV2ZW50KVwiXG4gICh2aXNpYmlsaXR5T25seUNoYW5nZSk9XCJvblZpc2liaWxpdHlPbmx5Q2hhbmdlKClcIlxuPlxuPC9pZ28tbGF5ZXItbGlzdC10b29sPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3NlbGVjdGlvbidcIj5cbiAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gIDxkaXYgY2xhc3M9XCJoZWFkZXItaXRlbSBhY3RpdmUtYmFja2dyb3VuZFwiPlxuICAgIDxtYXQtY2hlY2tib3hcbiAgICAgIGNsYXNzPVwic2VsZWN0LWFsbC1jaGVja2JveFwiXG4gICAgICBbY29sb3JdPVwiaXNBbGxTZWxlY3RlZCgpID8gJ3ByaW1hcnknIDogJ2FjY2VudCdcIlxuICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVBbGxSb3dzKClcIlxuICAgICAgW2NoZWNrZWRdPVwiaXNBbGxTZWxlY3RlZCgpXCJcbiAgICAgIFtpbmRldGVybWluYXRlXT1cIiFpc0FsbFNlbGVjdGVkKCkgJiYgbGF5ZXJDb250cm9sbGVyLnNlbGVjdGVkLmxlbmd0aCA+IDBcIlxuICAgID5cbiAgICAgIHt7XG4gICAgICAgIGlzQWxsU2VsZWN0ZWQoKVxuICAgICAgICAgID8gKCdpZ28uZ2VvLmxheWVyLmRlc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICA6ICgnaWdvLmdlby5sYXllci5zZWxlY3RBbGwnIHwgdHJhbnNsYXRlKVxuICAgICAgfX1cbiAgICA8L21hdC1jaGVja2JveD5cblxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJ0b2dnbGVTZWxlY3Rpb25Nb2RlKGZhbHNlKVwiPlxuICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuXG48ZGl2IGNsYXNzPVwibGF5ZXItdmlld1wiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGxheWVycz8ubGVuZ3RoID4gMCB8fFxuICAgICAgICB1bmF2YWlsYWJsZUxheWVycz8ubGVuZ3RoID4gMCB8fFxuICAgICAgICBiYXNlbGF5ZXJzPy5sZW5ndGggPiAwO1xuICAgICAgZWxzZSBzaG93RW1wdHlMaXN0XG4gICAgXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJsYXllci1saXN0LWNvbnRhaW5lclwiPlxuICAgICAgPGlnby1sYXllci11bmF2YWlsYWJsZS1saXN0XG4gICAgICAgICpuZ0lmPVwidW5hdmFpbGFibGVMYXllcnM/Lmxlbmd0aFwiXG4gICAgICAgIFtsYXllcnNPcHRpb25zXT1cInVuYXZhaWxhYmxlTGF5ZXJzXCJcbiAgICAgID48L2lnby1sYXllci11bmF2YWlsYWJsZS1saXN0PlxuXG4gICAgICA8aWdvLWxheWVyLWxpc3RcbiAgICAgICAgW2NvbnRyb2xsZXJdPVwibWFwLmxheWVyQ29udHJvbGxlclwiXG4gICAgICAgIFtsYXllcnNdPVwibGF5ZXJzXCJcbiAgICAgICAgW3ZpZXdlck9wdGlvbnNdPVwibGF5ZXJWaWV3ZXJPcHRpb25zXCJcbiAgICAgICAgW2lzRHJhZ0Ryb3BEaXNhYmxlZF09XCJpc0RyYWdEcm9wRGlzYWJsZWRcIlxuICAgICAgICBbaXNEZXNrdG9wXT1cImlzRGVza3RvcFwiXG4gICAgICA+PC9pZ28tbGF5ZXItbGlzdD5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFleGNsdWRlQmFzZUxheWVycyAmJiBiYXNlbGF5ZXJzPy5sZW5ndGhcIj5cbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDxpZ28tbGF5ZXItbGlzdFxuICAgICAgICAgIFtjb250cm9sbGVyXT1cIm1hcC5sYXllckNvbnRyb2xsZXJcIlxuICAgICAgICAgIFtsYXllcnNdPVwiYmFzZWxheWVyc1wiXG4gICAgICAgICAgW3ZpZXdlck9wdGlvbnNdPVwibGF5ZXJWaWV3ZXJPcHRpb25zXCJcbiAgICAgICAgICBbaXNEcmFnRHJvcERpc2FibGVkXT1cInRydWVcIlxuICAgICAgICAgIFtpc0Rlc2t0b3BdPVwiaXNEZXNrdG9wXCJcbiAgICAgICAgPjwvaWdvLWxheWVyLWxpc3Q+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNzaG93RW1wdHlMaXN0PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlbXB0eUxpc3RdXCI+PC9uZy1jb250ZW50PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxpZ28tbGF5ZXItdmlld2VyLWJvdHRvbS1hY3Rpb25zXG4gICpuZ0lmPVwibGF5ZXJDb250cm9sbGVyLmhhc1NlbGVjdGlvblwiXG4gIFttYXBdPVwibWFwXCJcbiAgW3ZpZXdlck9wdGlvbnNdPVwibGF5ZXJWaWV3ZXJPcHRpb25zXCJcbiAgW2NvbnRyb2xsZXJdPVwibGF5ZXJDb250cm9sbGVyXCJcbiAgW3NlYXJjaFRlcm1dPVwia2V5d29yZCQudmFsdWVcIlxuICAobGF5ZXJDaGFuZ2UpPVwib25MYXllckNoYW5nZSgpXCJcbj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBsYXllckNvbnRyb2xsZXIuc2VsZWN0ZWQubGVuZ3RoID09PSAxICYmXG4gICAgICBpc0xheWVySXRlbShsYXllckNvbnRyb2xsZXIuc2VsZWN0ZWRbMF0pXG4gICAgXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21Cb3R0b21BY3Rpb25zXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBsYXllcjogbGF5ZXJDb250cm9sbGVyLnNlbGVjdGVkWzBdIH1cIlxuICA+PC9uZy1jb250YWluZXI+XG48L2lnby1sYXllci12aWV3ZXItYm90dG9tLWFjdGlvbnM+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItdmlld2VyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL2xheWVyLXZpZXdlci9sYXllci12aWV3ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXllckxpc3RDb250cm9sc09wdGlvbnMgfSBmcm9tICcuLi9sYXllci1saXN0LXRvb2wvbGF5ZXItbGlzdC10b29sLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJDb25maWcge1xuICBncm91cD86IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gICAgbWF4SGllcmFyY2h5TGV2ZWw/OiBudW1iZXI7XG4gICAgY2FuQ3JlYXRlPzogYm9vbGVhbjtcbiAgICBjYW5SZW5hbWU/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyVmlld2VyT3B0aW9ucyBleHRlbmRzIExheWVyQ29uZmlnIHtcbiAgbW9kZT86IExheWVyVG9vbE1vZGU7XG4gIHF1ZXJ5QmFkZ2U/OiBib29sZWFuO1xuICBsZWdlbmQ/OiBQYXJ0aWFsPFZpZXdlckxlZ2VuZE9wdGlvbnM+O1xuICBmaWx0ZXJBbmRTb3J0T3B0aW9ucz86IExheWVyTGlzdENvbnRyb2xzT3B0aW9ucztcbn1cblxuaW50ZXJmYWNlIFZpZXdlckxlZ2VuZE9wdGlvbnMge1xuICBzaG93T25WaXNpYmlsaXR5Q2hhbmdlOiBib29sZWFuO1xuICB1cGRhdGVPblJlc29sdXRpb25DaGFuZ2U6IGJvb2xlYW47XG4gIHNob3dGb3JWaXNpYmxlTGF5ZXJzOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBMYXllclRvb2xNb2RlID0gJ3NlbGVjdGlvbic7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './layer-viewer-bottom-actions.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci12aWV3ZXItYm90dG9tLWFjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGF5ZXItdmlld2VyLWJvdHRvbS1hY3Rpb25zLmNvbXBvbmVudCc7XG4iXX0=