@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,104 @@
1
+ import { AsyncPipe, NgFor, NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { MatDividerModule } from '@angular/material/divider';
4
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
5
+ import { MatTooltipModule } from '@angular/material/tooltip';
6
+ import { ListComponent, ListItemDirective } from '@igo2/common/list';
7
+ import { IgoLanguageModule } from '@igo2/core/language';
8
+ import { BehaviorSubject, EMPTY, ReplaySubject, timer } from 'rxjs';
9
+ import { debounce } from 'rxjs/operators';
10
+ import { LayerLegendItemComponent } from '../layer-legend-item/layer-legend-item.component';
11
+ import { isBaseLayer, isLayerItem, sortLayersByZindex } from '../utils';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/material/slide-toggle";
14
+ import * as i2 from "@angular/material/tooltip";
15
+ import * as i3 from "@angular/material/divider";
16
+ import * as i4 from "@ngx-translate/core";
17
+ export class LayerLegendListComponent {
18
+ orderable = true;
19
+ hasVisibleOrInRangeLayers$ = new BehaviorSubject(true);
20
+ hasVisibleAndNotInRangeLayers$ = new BehaviorSubject(true);
21
+ layersInUi$ = new BehaviorSubject([]);
22
+ layers$ = new BehaviorSubject([]);
23
+ showAllLegend = false;
24
+ change$ = new ReplaySubject(1);
25
+ change$$;
26
+ layers;
27
+ excludeBaseLayers = false;
28
+ updateLegendOnResolutionChange = false;
29
+ allowShowAllLegends = false;
30
+ showAllLegendsValue = false;
31
+ allLegendsShown = new EventEmitter(false);
32
+ isLayerItem = isLayerItem;
33
+ ngOnInit() {
34
+ this.change$$ = this.change$
35
+ .pipe(debounce(() => {
36
+ return this.layers.length === 0 ? EMPTY : timer(50);
37
+ }))
38
+ .subscribe(() => {
39
+ const layers = this.computeShownLayers(this.layers.slice(0));
40
+ this.layers$.next(layers);
41
+ this.hasVisibleOrInRangeLayers$.next(this.layers
42
+ .slice(0)
43
+ .filter((layer) => !isBaseLayer(layer))
44
+ .filter((layer) => layer.displayed).length > 0);
45
+ this.hasVisibleAndNotInRangeLayers$.next(this.layers
46
+ .slice(0)
47
+ .filter((layer) => !isBaseLayer(layer))
48
+ .filter((layer) => layer.visible && !layer.isInResolutionsRange)
49
+ .length > 0);
50
+ this.layersInUi$.next(this.layers
51
+ .slice(0)
52
+ .filter((layer) => layer.showInLayerList !== false &&
53
+ (!this.excludeBaseLayers || !isBaseLayer(layer))));
54
+ });
55
+ }
56
+ ngOnDestroy() {
57
+ this.change$$.unsubscribe();
58
+ }
59
+ next() {
60
+ this.change$.next();
61
+ }
62
+ computeShownLayers(layers) {
63
+ let shownLayers = layers.filter((layer) => layer.displayed);
64
+ if (this.showAllLegendsValue) {
65
+ shownLayers = layers;
66
+ }
67
+ return sortLayersByZindex(shownLayers, 'desc');
68
+ }
69
+ toggleShowAllLegends(toggle) {
70
+ this.showAllLegendsValue = toggle;
71
+ this.next();
72
+ this.allLegendsShown.emit(toggle);
73
+ }
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerLegendListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LayerLegendListComponent, isStandalone: true, selector: "igo-layer-legend-list", inputs: { layers: "layers", excludeBaseLayers: "excludeBaseLayers", updateLegendOnResolutionChange: "updateLegendOnResolutionChange", allowShowAllLegends: "allowShowAllLegends", showAllLegendsValue: "showAllLegendsValue" }, outputs: { allLegendsShown: "allLegendsShown" }, ngImport: i0, template: "<div class=\"layer-legend-list-container\">\n <mat-slide-toggle\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.legend.showAll' | translate\"\n [checked]=\"showAllLegendsValue\"\n class=\"mat-typography\"\n *ngIf=\"(layersInUi$ | async).length && allowShowAllLegends\"\n [labelPosition]=\"'before'\"\n (change)=\"toggleShowAllLegends($event.checked)\"\n >\n {{ 'igo.geo.layer.legend.showAll' | translate }}\n </mat-slide-toggle>\n <mat-divider\n *ngIf=\"(layersInUi$ | async).length && allowShowAllLegends\"\n ></mat-divider>\n <igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-layer let-i=\"index\" [ngForOf]=\"layers$ | async\">\n <igo-layer-legend-item\n *ngIf=\"!(excludeBaseLayers && isLayerItem(layer) && layer.baseLayer)\"\n igoListItem\n [layer]=\"$any(layer)\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n >\n </igo-layer-legend-item>\n </ng-template>\n </igo-list>\n <p\n class=\"layers-empty mat-typography\"\n *ngIf=\"\n !showAllLegendsValue &&\n (layersInUi$ | async).length &&\n (hasVisibleOrInRangeLayers$ | async) === false &&\n (hasVisibleAndNotInRangeLayers$ | async) === false &&\n allowShowAllLegends\n \"\n >\n {{ 'igo.geo.layer.legend.noLayersVisibleWithShowAllButton' | translate }}\n </p>\n <p\n class=\"layers-empty mat-typography\"\n *ngIf=\"\n !showAllLegendsValue &&\n (layersInUi$ | async).length &&\n (hasVisibleOrInRangeLayers$ | async) === false &&\n (hasVisibleAndNotInRangeLayers$ | async) &&\n allowShowAllLegends\n \"\n >\n {{\n 'igo.geo.layer.legend.noLayersVisibleWithShowAllButtonButZoom' | translate\n }}\n </p>\n <p\n class=\"layers-empty mat-typography\"\n *ngIf=\"\n (layersInUi$ | async).length &&\n (hasVisibleOrInRangeLayers$ | async) === false &&\n (hasVisibleAndNotInRangeLayers$ | async) === false &&\n !allowShowAllLegends\n \"\n >\n {{ 'igo.geo.layer.legend.noLayersVisible' | translate }}\n </p>\n <p\n class=\"layers-empty mat-typography\"\n *ngIf=\"\n (layersInUi$ | async).length &&\n (hasVisibleOrInRangeLayers$ | async) === false &&\n (hasVisibleAndNotInRangeLayers$ | async) &&\n !allowShowAllLegends\n \"\n >\n {{ 'igo.geo.layer.legend.noLayersVisibleButZoom' | translate }}\n </p>\n</div>\n", styles: [":host mat-slide-toggle{width:100%;padding:10px}:host mat-slide-toggle ::ng-deep .mdc-form-field{width:100%}:host mat-slide-toggle ::ng-deep .mdc-label{margin-left:0;width:calc(100% - 60px)}:host igo-list{display:contents}:host .layers-empty{text-align:justify;margin:10px}:host .layer-legend-list-container{max-height:100%;overflow:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: LayerLegendItemComponent, selector: "igo-layer-legend-item", inputs: ["layer", "updateLegendOnResolutionChange"] }, { 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerLegendListComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'igo-layer-legend-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
80
+ NgIf,
81
+ MatSlideToggleModule,
82
+ MatTooltipModule,
83
+ MatDividerModule,
84
+ ListComponent,
85
+ NgFor,
86
+ LayerLegendItemComponent,
87
+ ListItemDirective,
88
+ AsyncPipe,
89
+ IgoLanguageModule
90
+ ], template: "<div class=\"layer-legend-list-container\">\n <mat-slide-toggle\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.legend.showAll' | translate\"\n [checked]=\"showAllLegendsValue\"\n class=\"mat-typography\"\n *ngIf=\"(layersInUi$ | async).length && allowShowAllLegends\"\n [labelPosition]=\"'before'\"\n (change)=\"toggleShowAllLegends($event.checked)\"\n >\n {{ 'igo.geo.layer.legend.showAll' | translate }}\n </mat-slide-toggle>\n <mat-divider\n *ngIf=\"(layersInUi$ | async).length && allowShowAllLegends\"\n ></mat-divider>\n <igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-layer let-i=\"index\" [ngForOf]=\"layers$ | async\">\n <igo-layer-legend-item\n *ngIf=\"!(excludeBaseLayers && isLayerItem(layer) && layer.baseLayer)\"\n igoListItem\n [layer]=\"$any(layer)\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n >\n </igo-layer-legend-item>\n </ng-template>\n </igo-list>\n <p\n class=\"layers-empty mat-typography\"\n *ngIf=\"\n !showAllLegendsValue &&\n (layersInUi$ | async).length &&\n (hasVisibleOrInRangeLayers$ | async) === false &&\n (hasVisibleAndNotInRangeLayers$ | async) === false &&\n allowShowAllLegends\n \"\n >\n {{ 'igo.geo.layer.legend.noLayersVisibleWithShowAllButton' | translate }}\n </p>\n <p\n class=\"layers-empty mat-typography\"\n *ngIf=\"\n !showAllLegendsValue &&\n (layersInUi$ | async).length &&\n (hasVisibleOrInRangeLayers$ | async) === false &&\n (hasVisibleAndNotInRangeLayers$ | async) &&\n allowShowAllLegends\n \"\n >\n {{\n 'igo.geo.layer.legend.noLayersVisibleWithShowAllButtonButZoom' | translate\n }}\n </p>\n <p\n class=\"layers-empty mat-typography\"\n *ngIf=\"\n (layersInUi$ | async).length &&\n (hasVisibleOrInRangeLayers$ | async) === false &&\n (hasVisibleAndNotInRangeLayers$ | async) === false &&\n !allowShowAllLegends\n \"\n >\n {{ 'igo.geo.layer.legend.noLayersVisible' | translate }}\n </p>\n <p\n class=\"layers-empty mat-typography\"\n *ngIf=\"\n (layersInUi$ | async).length &&\n (hasVisibleOrInRangeLayers$ | async) === false &&\n (hasVisibleAndNotInRangeLayers$ | async) &&\n !allowShowAllLegends\n \"\n >\n {{ 'igo.geo.layer.legend.noLayersVisibleButZoom' | translate }}\n </p>\n</div>\n", styles: [":host mat-slide-toggle{width:100%;padding:10px}:host mat-slide-toggle ::ng-deep .mdc-form-field{width:100%}:host mat-slide-toggle ::ng-deep .mdc-label{margin-left:0;width:calc(100% - 60px)}:host igo-list{display:contents}:host .layers-empty{text-align:justify;margin:10px}:host .layer-legend-list-container{max-height:100%;overflow:auto}\n"] }]
91
+ }], propDecorators: { layers: [{
92
+ type: Input
93
+ }], excludeBaseLayers: [{
94
+ type: Input
95
+ }], updateLegendOnResolutionChange: [{
96
+ type: Input
97
+ }], allowShowAllLegends: [{
98
+ type: Input
99
+ }], showAllLegendsValue: [{
100
+ type: Input
101
+ }], allLegendsShown: [{
102
+ type: Output
103
+ }] } });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGVnZW5kLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItbGVnZW5kLWxpc3QvbGF5ZXItbGVnZW5kLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItbGVnZW5kLWxpc3QvbGF5ZXItbGVnZW5kLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFDTCxlQUFlLEVBQ2YsS0FBSyxFQUNMLGFBQWEsRUFFYixLQUFLLEVBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7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O3NCQUEzQixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IExpc3RDb21wb25lbnQsIExpc3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uL2xpc3QnO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBFTVBUWSxcbiAgUmVwbGF5U3ViamVjdCxcbiAgU3Vic2NyaXB0aW9uLFxuICB0aW1lclxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBMYXllckxlZ2VuZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9sYXllci1sZWdlbmQtaXRlbS9sYXllci1sZWdlbmQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW55TGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL2FueS1sYXllcic7XG5pbXBvcnQgeyBpc0Jhc2VMYXllciwgaXNMYXllckl0ZW0sIHNvcnRMYXllcnNCeVppbmRleCB9IGZyb20gJy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWxheWVyLWxlZ2VuZC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheWVyLWxlZ2VuZC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5ZXItbGVnZW5kLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBMaXN0Q29tcG9uZW50LFxuICAgIE5nRm9yLFxuICAgIExheWVyTGVnZW5kSXRlbUNvbXBvbmVudCxcbiAgICBMaXN0SXRlbURpcmVjdGl2ZSxcbiAgICBBc3luY1BpcGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMYXllckxlZ2VuZExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIG9yZGVyYWJsZSA9IHRydWU7XG4gIGhhc1Zpc2libGVPckluUmFuZ2VMYXllcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgaGFzVmlzaWJsZUFuZE5vdEluUmFuZ2VMYXllcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgbGF5ZXJzSW5VaSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFueUxheWVyW10+KFtdKTtcbiAgbGF5ZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QW55TGF5ZXJbXT4oW10pO1xuICBzaG93QWxsTGVnZW5kID0gZmFsc2U7XG5cbiAgcHVibGljIGNoYW5nZSQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcbiAgcHJpdmF0ZSBjaGFuZ2UkJDogU3Vic2NyaXB0aW9uO1xuXG4gIEBJbnB1dCgpIGxheWVyczogQW55TGF5ZXJbXTtcblxuICBASW5wdXQoKSBleGNsdWRlQmFzZUxheWVycyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGFsbG93U2hvd0FsbExlZ2VuZHMgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzaG93QWxsTGVnZW5kc1ZhbHVlID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGFsbExlZ2VuZHNTaG93biA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGlzTGF5ZXJJdGVtID0gaXNMYXllckl0ZW07XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2UkJCA9IHRoaXMuY2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5sYXllcnMubGVuZ3RoID09PSAwID8gRU1QVFkgOiB0aW1lcig1MCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3QgbGF5ZXJzID0gdGhpcy5jb21wdXRlU2hvd25MYXllcnModGhpcy5sYXllcnMuc2xpY2UoMCkpO1xuICAgICAgICB0aGlzLmxheWVycyQubmV4dChsYXllcnMpO1xuICAgICAgICB0aGlzLmhhc1Zpc2libGVPckluUmFuZ2VMYXllcnMkLm5leHQoXG4gICAgICAgICAgdGhpcy5sYXllcnNcbiAgICAgICAgICAgIC5zbGljZSgwKVxuICAgICAgICAgICAgLmZpbHRlcigobGF5ZXIpID0+ICFpc0Jhc2VMYXllcihsYXllcikpXG4gICAgICAgICAgICAuZmlsdGVyKChsYXllcikgPT4gbGF5ZXIuZGlzcGxheWVkKS5sZW5ndGggPiAwXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaGFzVmlzaWJsZUFuZE5vdEluUmFuZ2VMYXllcnMkLm5leHQoXG4gICAgICAgICAgdGhpcy5sYXllcnNcbiAgICAgICAgICAgIC5zbGljZSgwKVxuICAgICAgICAgICAgLmZpbHRlcigobGF5ZXIpID0+ICFpc0Jhc2VMYXllcihsYXllcikpXG4gICAgICAgICAgICAuZmlsdGVyKChsYXllcikgPT4gbGF5ZXIudmlzaWJsZSAmJiAhbGF5ZXIuaXNJblJlc29sdXRpb25zUmFuZ2UpXG4gICAgICAgICAgICAubGVuZ3RoID4gMFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMubGF5ZXJzSW5VaSQubmV4dChcbiAgICAgICAgICB0aGlzLmxheWVyc1xuICAgICAgICAgICAgLnNsaWNlKDApXG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAobGF5ZXIpID0+XG4gICAgICAgICAgICAgICAgbGF5ZXIuc2hvd0luTGF5ZXJMaXN0ICE9PSBmYWxzZSAmJlxuICAgICAgICAgICAgICAgICghdGhpcy5leGNsdWRlQmFzZUxheWVycyB8fCAhaXNCYXNlTGF5ZXIobGF5ZXIpKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgcHJpdmF0ZSBuZXh0KCkge1xuICAgIHRoaXMuY2hhbmdlJC5uZXh0KCk7XG4gIH1cbiAgcHJpdmF0ZSBjb21wdXRlU2hvd25MYXllcnMobGF5ZXJzOiBBbnlMYXllcltdKSB7XG4gICAgbGV0IHNob3duTGF5ZXJzID0gbGF5ZXJzLmZpbHRlcigobGF5ZXIpID0+IGxheWVyLmRpc3BsYXllZCk7XG4gICAgaWYgKHRoaXMuc2hvd0FsbExlZ2VuZHNWYWx1ZSkge1xuICAgICAgc2hvd25MYXllcnMgPSBsYXllcnM7XG4gICAgfVxuICAgIHJldHVybiBzb3J0TGF5ZXJzQnlaaW5kZXgoc2hvd25MYXllcnMsICdkZXNjJyk7XG4gIH1cblxuICB0b2dnbGVTaG93QWxsTGVnZW5kcyh0b2dnbGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNob3dBbGxMZWdlbmRzVmFsdWUgPSB0b2dnbGU7XG4gICAgdGhpcy5uZXh0KCk7XG4gICAgdGhpcy5hbGxMZWdlbmRzU2hvd24uZW1pdCh0b2dnbGUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5ZXItbGVnZW5kLWxpc3QtY29udGFpbmVyXCI+XG4gIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImFib3ZlXCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5sYXllci5sZWdlbmQuc2hvd0FsbCcgfCB0cmFuc2xhdGVcIlxuICAgIFtjaGVja2VkXT1cInNob3dBbGxMZWdlbmRzVmFsdWVcIlxuICAgIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIlxuICAgICpuZ0lmPVwiKGxheWVyc0luVWkkIHwgYXN5bmMpLmxlbmd0aCAmJiBhbGxvd1Nob3dBbGxMZWdlbmRzXCJcbiAgICBbbGFiZWxQb3NpdGlvbl09XCInYmVmb3JlJ1wiXG4gICAgKGNoYW5nZSk9XCJ0b2dnbGVTaG93QWxsTGVnZW5kcygkZXZlbnQuY2hlY2tlZClcIlxuICA+XG4gICAge3sgJ2lnby5nZW8ubGF5ZXIubGVnZW5kLnNob3dBbGwnIHwgdHJhbnNsYXRlIH19XG4gIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgPG1hdC1kaXZpZGVyXG4gICAgKm5nSWY9XCIobGF5ZXJzSW5VaSQgfCBhc3luYykubGVuZ3RoICYmIGFsbG93U2hvd0FsbExlZ2VuZHNcIlxuICA+PC9tYXQtZGl2aWRlcj5cbiAgPGlnby1saXN0IFtuYXZpZ2F0aW9uXT1cImZhbHNlXCIgW3NlbGVjdGlvbl09XCJmYWxzZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtbGF5ZXIgbGV0LWk9XCJpbmRleFwiIFtuZ0Zvck9mXT1cImxheWVycyQgfCBhc3luY1wiPlxuICAgICAgPGlnby1sYXllci1sZWdlbmQtaXRlbVxuICAgICAgICAqbmdJZj1cIiEoZXhjbHVkZUJhc2VMYXllcnMgJiYgaXNMYXllckl0ZW0obGF5ZXIpICYmIGxheWVyLmJhc2VMYXllcilcIlxuICAgICAgICBpZ29MaXN0SXRlbVxuICAgICAgICBbbGF5ZXJdPVwiJGFueShsYXllcilcIlxuICAgICAgICBbdXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlXT1cInVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZVwiXG4gICAgICA+XG4gICAgICA8L2lnby1sYXllci1sZWdlbmQtaXRlbT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2lnby1saXN0PlxuICA8cFxuICAgIGNsYXNzPVwibGF5ZXJzLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCJcbiAgICAqbmdJZj1cIlxuICAgICAgIXNob3dBbGxMZWdlbmRzVmFsdWUgJiZcbiAgICAgIChsYXllcnNJblVpJCB8IGFzeW5jKS5sZW5ndGggJiZcbiAgICAgIChoYXNWaXNpYmxlT3JJblJhbmdlTGF5ZXJzJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiZcbiAgICAgIChoYXNWaXNpYmxlQW5kTm90SW5SYW5nZUxheWVycyQgfCBhc3luYykgPT09IGZhbHNlICYmXG4gICAgICBhbGxvd1Nob3dBbGxMZWdlbmRzXG4gICAgXCJcbiAgPlxuICAgIHt7ICdpZ28uZ2VvLmxheWVyLmxlZ2VuZC5ub0xheWVyc1Zpc2libGVXaXRoU2hvd0FsbEJ1dHRvbicgfCB0cmFuc2xhdGUgfX1cbiAgPC9wPlxuICA8cFxuICAgIGNsYXNzPVwibGF5ZXJzLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCJcbiAgICAqbmdJZj1cIlxuICAgICAgIXNob3dBbGxMZWdlbmRzVmFsdWUgJiZcbiAgICAgIChsYXllcnNJblVpJCB8IGFzeW5jKS5sZW5ndGggJiZcbiAgICAgIChoYXNWaXNpYmxlT3JJblJhbmdlTGF5ZXJzJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiZcbiAgICAgIChoYXNWaXNpYmxlQW5kTm90SW5SYW5nZUxheWVycyQgfCBhc3luYykgJiZcbiAgICAgIGFsbG93U2hvd0FsbExlZ2VuZHNcbiAgICBcIlxuICA+XG4gICAge3tcbiAgICAgICdpZ28uZ2VvLmxheWVyLmxlZ2VuZC5ub0xheWVyc1Zpc2libGVXaXRoU2hvd0FsbEJ1dHRvbkJ1dFpvb20nIHwgdHJhbnNsYXRlXG4gICAgfX1cbiAgPC9wPlxuICA8cFxuICAgIGNsYXNzPVwibGF5ZXJzLWVtcHR5IG1hdC10eXBvZ3JhcGh5XCJcbiAgICAqbmdJZj1cIlxuICAgICAgKGxheWVyc0luVWkkIHwgYXN5bmMpLmxlbmd0aCAmJlxuICAgICAgKGhhc1Zpc2libGVPckluUmFuZ2VMYXllcnMkIHwgYXN5bmMpID09PSBmYWxzZSAmJlxuICAgICAgKGhhc1Zpc2libGVBbmROb3RJblJhbmdlTGF5ZXJzJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiZcbiAgICAgICFhbGxvd1Nob3dBbGxMZWdlbmRzXG4gICAgXCJcbiAgPlxuICAgIHt7ICdpZ28uZ2VvLmxheWVyLmxlZ2VuZC5ub0xheWVyc1Zpc2libGUnIHwgdHJhbnNsYXRlIH19XG4gIDwvcD5cbiAgPHBcbiAgICBjbGFzcz1cImxheWVycy1lbXB0eSBtYXQtdHlwb2dyYXBoeVwiXG4gICAgKm5nSWY9XCJcbiAgICAgIChsYXllcnNJblVpJCB8IGFzeW5jKS5sZW5ndGggJiZcbiAgICAgIChoYXNWaXNpYmxlT3JJblJhbmdlTGF5ZXJzJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiZcbiAgICAgIChoYXNWaXNpYmxlQW5kTm90SW5SYW5nZUxheWVycyQgfCBhc3luYykgJiZcbiAgICAgICFhbGxvd1Nob3dBbGxMZWdlbmRzXG4gICAgXCJcbiAgPlxuICAgIHt7ICdpZ28uZ2VvLmxheWVyLmxlZ2VuZC5ub0xheWVyc1Zpc2libGVCdXRab29tJyB8IHRyYW5zbGF0ZSB9fVxuICA8L3A+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './layer-list.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1saXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xheWVyLWxpc3QuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,232 @@
1
+ import { FlatTreeControl } from '@angular/cdk/tree';
2
+ import { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
3
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { MatBadgeModule } from '@angular/material/badge';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import { MatCheckboxModule } from '@angular/material/checkbox';
8
+ import { MatDividerModule } from '@angular/material/divider';
9
+ import { MatIconModule } from '@angular/material/icon';
10
+ import { MatMenuModule } from '@angular/material/menu';
11
+ import { MatSliderModule } from '@angular/material/slider';
12
+ import { MatTooltipModule } from '@angular/material/tooltip';
13
+ import { MatTreeFlatDataSource, MatTreeFlattener, MatTreeModule } from '@angular/material/tree';
14
+ import { TreeDragDropDirective } from '@igo2/common/drag-drop';
15
+ import { IgoIconComponent, VECTOR_SQUARE_ICON } from '@igo2/common/icon';
16
+ import { ListComponent, ListItemDirective } from '@igo2/common/list';
17
+ import { PanelComponent } from '@igo2/common/panel';
18
+ import { IgoLanguageModule } from '@igo2/core/language';
19
+ import { MessageService } from '@igo2/core/message';
20
+ import { LayerGroupComponent } from '../layer-group';
21
+ import { LayerItemComponent } from '../layer-item';
22
+ import { LayerListToolComponent } from '../layer-list-tool';
23
+ import { isLayerGroup, isLayerItem } from '../utils/layer.utils';
24
+ import * as i0 from "@angular/core";
25
+ import * as i1 from "@igo2/core/message";
26
+ import * as i2 from "@angular/material/button";
27
+ import * as i3 from "@angular/material/icon";
28
+ import * as i4 from "@angular/material/tree";
29
+ export class LayerListComponent {
30
+ messageService;
31
+ toggleOpacity = false;
32
+ isInit;
33
+ controller;
34
+ set layers(layers) {
35
+ this._layers = layers;
36
+ this.updateDatasource(layers ?? []);
37
+ }
38
+ get layers() {
39
+ return this._layers;
40
+ }
41
+ _layers;
42
+ isDesktop;
43
+ isDragDropDisabled;
44
+ selectAll;
45
+ viewerOptions;
46
+ activeChange = new EventEmitter();
47
+ _transformer = (layer, level) => {
48
+ return {
49
+ id: layer.id || layer.options.name,
50
+ isGroup: !!isLayerGroup(layer),
51
+ descendantLevels: isLayerGroup(layer)
52
+ ? layer.descendantsLevel
53
+ : undefined,
54
+ level: level,
55
+ data: layer,
56
+ disabled: false
57
+ };
58
+ };
59
+ treeControl = new FlatTreeControl((node) => node.level, (node) => node.isGroup);
60
+ treeFlattener = new MatTreeFlattener(this._transformer, (node) => node.level, (node) => node.isGroup, (node) => node.children
61
+ .filter((layer) => layer.showInLayerList)
62
+ .sort((a, b) => a.zIndex + b.zIndex));
63
+ dataSource;
64
+ constructor(messageService) {
65
+ this.messageService = messageService;
66
+ this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener, []);
67
+ }
68
+ isGroup = (_, node) => node.isGroup;
69
+ isLayerGroup = isLayerGroup;
70
+ isLayerItem = isLayerItem;
71
+ isSelected = (layer) => this.controller.isSelected(layer);
72
+ isDescendantSelection = (layer) => this.controller.isDescendantSelection(layer);
73
+ toggleActive(layer) {
74
+ const isSelected = this.controller.isSelected(layer);
75
+ this.controller.clearSelection();
76
+ if (!isSelected) {
77
+ this.controller.select(layer);
78
+ }
79
+ this.activeChange.emit(layer);
80
+ }
81
+ handleSelect(checked, layer) {
82
+ checked ? this.controller.select(layer) : this.controller.deselect(layer);
83
+ }
84
+ getLayerType(layer) {
85
+ return layer.type === 'raster'
86
+ ? 'raster'
87
+ : layer.id.includes('measure')
88
+ ? 'measure'
89
+ : layer.id.includes('draw')
90
+ ? 'draw'
91
+ : 'vector';
92
+ }
93
+ getLayerIcon(layer) {
94
+ const type = this.getLayerType(layer);
95
+ return type === 'raster'
96
+ ? layer.baseLayer
97
+ ? 'wallpaper'
98
+ : 'image'
99
+ : type === 'measure'
100
+ ? 'square_foot'
101
+ : type === 'draw'
102
+ ? 'draw'
103
+ : VECTOR_SQUARE_ICON;
104
+ }
105
+ dropNode({ node, ref, position }) {
106
+ let nodesToDrop = [node.data];
107
+ if (this.controller.hasSelection) {
108
+ // The selection could contains data from the outside the TreeController
109
+ nodesToDrop = this.controller.selected.filter((layer) => !!this.findNodeByLayerId(layer.id));
110
+ }
111
+ if (node.isGroup) {
112
+ nodesToDrop = nodesToDrop.filter((nodeDrop) => !node.data.isDescendant(nodeDrop));
113
+ }
114
+ if (ref.isGroup) {
115
+ const isSelected = nodesToDrop.some((nodeDrop) => nodeDrop.id === ref.id);
116
+ if (isSelected) {
117
+ nodesToDrop = nodesToDrop.filter((nodeDrop) => nodeDrop.id !== ref.id);
118
+ }
119
+ }
120
+ if (!nodesToDrop.includes(node.data)) {
121
+ nodesToDrop.push(node.data);
122
+ }
123
+ switch (position) {
124
+ case 'above':
125
+ this.controller.moveAbove(ref.data, ...nodesToDrop);
126
+ break;
127
+ case 'inside':
128
+ this.controller.moveInside(ref.data, ...nodesToDrop);
129
+ break;
130
+ default:
131
+ this.controller.moveBelow(ref.data, ...nodesToDrop);
132
+ break;
133
+ }
134
+ }
135
+ dropNodeError(details) {
136
+ this.messageService.alert(details.message, 'igo.geo.layer.layer', null, details.params);
137
+ }
138
+ dragStart() {
139
+ if (this.viewerOptions.mode === 'selection') {
140
+ return;
141
+ }
142
+ this.controller.clearSelection();
143
+ }
144
+ handleNodeToggle(node) {
145
+ node.data.expanded = this.treeControl.isExpanded(node);
146
+ }
147
+ findNodeByLayerId(id) {
148
+ return this.treeControl.dataNodes.find((node) => node.id === id);
149
+ }
150
+ updateDatasource(layers) {
151
+ const expansionModel = this.treeControl.expansionModel;
152
+ this.dataSource.data = layers;
153
+ this.isInit
154
+ ? this.restoreModel(expansionModel, (node) => this.treeControl.expand(node))
155
+ : this.expandGroup(layers);
156
+ if (!this.isInit && layers.length) {
157
+ this.isInit = true;
158
+ }
159
+ }
160
+ /** Recursive */
161
+ expandGroup(layers) {
162
+ layers.forEach((layer) => {
163
+ if (!isLayerGroup(layer)) {
164
+ return;
165
+ }
166
+ if (layer.expanded) {
167
+ const node = this.findNodeByLayerId(layer.id);
168
+ if (!node) {
169
+ return;
170
+ }
171
+ this.treeControl.expand(node);
172
+ }
173
+ this.expandGroup(layer.children);
174
+ });
175
+ }
176
+ restoreModel(model, callback) {
177
+ const ids = Array.from(model['_selection']).map((value) => value['id']);
178
+ model.clear();
179
+ this.treeControl.dataNodes.forEach((node) => {
180
+ if (model.isSelected(node) || ids.includes(node.id)) {
181
+ callback(node);
182
+ }
183
+ });
184
+ }
185
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerListComponent, deps: [{ token: i1.MessageService }], target: i0.ɵɵFactoryTarget.Component });
186
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LayerListComponent, isStandalone: true, selector: "igo-layer-list", inputs: { controller: "controller", layers: "layers", isDesktop: "isDesktop", isDragDropDisabled: "isDragDropDisabled", selectAll: "selectAll", viewerOptions: "viewerOptions" }, outputs: { activeChange: "activeChange" }, ngImport: i0, template: "<mat-tree\n [class.--not-desktop]=\"!isDesktop\"\n igoTreeDragDrop\n [treeDragDropIsDisabled]=\"isDragDropDisabled\"\n [maxLevel]=\"viewerOptions?.group?.maxHierarchyLevel\"\n [dataSource]=\"dataSource\"\n [treeControl]=\"treeControl\"\n (dragStart)=\"dragStart()\"\n (onDrop)=\"dropNode($event)\"\n (onDropError)=\"dropNodeError($event)\"\n>\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node\n *matTreeNodeDef=\"let node\"\n [class.--selected]=\"isSelected(node.data)\"\n [class.--children-selected]=\"isDescendantSelection(node.data)\"\n >\n <igo-layer-item\n [matTreeNodePadding]=\"node.level === 0 ? 1 : node.level\"\n [matTreeNodePaddingIndent]=\"node.level === 0 ? 16 : 24 + 16 / node.level\"\n class=\"tree-node-item\"\n [layer]=\"node.data\"\n [visible]=\"node.data.visible\"\n [viewerOptions]=\"viewerOptions\"\n [selected]=\"isSelected(node.data) || isDescendantSelection(node.data)\"\n [selectionDisabled]=\"isDescendantSelection(node.data)\"\n (action)=\"toggleActive($event)\"\n (selectChange)=\"handleSelect($event, node.data)\"\n >\n </igo-layer-item>\n </mat-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <mat-tree-node\n *matTreeNodeDef=\"let node; when: isGroup\"\n [class.--selected]=\"isSelected(node.data)\"\n [class.--children-selected]=\"isDescendantSelection(node.data)\"\n >\n <igo-layer-group\n matTreeNodePadding\n [matTreeNodePaddingIndent]=\"24\"\n class=\"tree-node-item\"\n [layer]=\"node.data\"\n [viewerOptions]=\"viewerOptions\"\n [selected]=\"isSelected(node.data) || isDescendantSelection(node.data)\"\n [selectionDisabled]=\"isDescendantSelection(node.data)\"\n (action)=\"toggleActive($event)\"\n (expand)=\"treeControl.toggle(node); handleNodeToggle(node)\"\n (selectChange)=\"handleSelect($event, node.data)\"\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n class=\"layer-indicator\"\n [attr.aria-label]=\"'Toggle ' + node.data.title\"\n (click)=\"handleNodeToggle(node)\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{\n treeControl.isExpanded(node)\n ? 'keyboard_arrow_down'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n </button>\n </igo-layer-group>\n </mat-tree-node>\n</mat-tree>\n", styles: [".--not-desktop igo-layer-group ::ng-deep .list-secondary-actions button,.--not-desktop igo-layer-item ::ng-deep .list-secondary-actions button{visibility:visible!important}.tree-node-item{flex:1}mat-tree-node{position:relative;min-height:40px}mat-tree-node:hover:after,mat-tree-node.--drag-hover:after{content:\"\";position:absolute;inset:0;border-style:solid;border-width:1px;border-color:transparent;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatSliderModule }, { kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i4.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i4.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i4.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i4.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i4.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: TreeDragDropDirective, selector: "[igoTreeDragDrop]", inputs: ["treeControl", "maxLevel", "treeDragDropIsDisabled"], outputs: ["dragStart", "onDrop", "onDropError"] }, { kind: "component", type: LayerGroupComponent, selector: "igo-layer-group", inputs: ["layer", "viewerOptions", "selected", "selectionDisabled"], outputs: ["action", "visibilityChange", "expand", "selectChange"] }, { kind: "component", type: LayerItemComponent, selector: "igo-layer-item", inputs: ["layer", "visible", "selected", "selectionDisabled", "viewerOptions"], outputs: ["action", "selectChange", "visibilityChange"] }, { kind: "ngmodule", type: IgoLanguageModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
187
+ }
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerListComponent, decorators: [{
189
+ type: Component,
190
+ args: [{ selector: 'igo-layer-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
191
+ NgIf,
192
+ NgFor,
193
+ NgTemplateOutlet,
194
+ FormsModule,
195
+ AsyncPipe,
196
+ MatBadgeModule,
197
+ MatButtonModule,
198
+ MatCheckboxModule,
199
+ MatDividerModule,
200
+ MatIconModule,
201
+ MatMenuModule,
202
+ MatSliderModule,
203
+ MatTreeModule,
204
+ MatTooltipModule,
205
+ TreeDragDropDirective,
206
+ LayerListToolComponent,
207
+ LayerGroupComponent,
208
+ ListComponent,
209
+ LayerItemComponent,
210
+ ListItemDirective,
211
+ PanelComponent,
212
+ IgoLanguageModule,
213
+ IgoIconComponent
214
+ ], template: "<mat-tree\n [class.--not-desktop]=\"!isDesktop\"\n igoTreeDragDrop\n [treeDragDropIsDisabled]=\"isDragDropDisabled\"\n [maxLevel]=\"viewerOptions?.group?.maxHierarchyLevel\"\n [dataSource]=\"dataSource\"\n [treeControl]=\"treeControl\"\n (dragStart)=\"dragStart()\"\n (onDrop)=\"dropNode($event)\"\n (onDropError)=\"dropNodeError($event)\"\n>\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node\n *matTreeNodeDef=\"let node\"\n [class.--selected]=\"isSelected(node.data)\"\n [class.--children-selected]=\"isDescendantSelection(node.data)\"\n >\n <igo-layer-item\n [matTreeNodePadding]=\"node.level === 0 ? 1 : node.level\"\n [matTreeNodePaddingIndent]=\"node.level === 0 ? 16 : 24 + 16 / node.level\"\n class=\"tree-node-item\"\n [layer]=\"node.data\"\n [visible]=\"node.data.visible\"\n [viewerOptions]=\"viewerOptions\"\n [selected]=\"isSelected(node.data) || isDescendantSelection(node.data)\"\n [selectionDisabled]=\"isDescendantSelection(node.data)\"\n (action)=\"toggleActive($event)\"\n (selectChange)=\"handleSelect($event, node.data)\"\n >\n </igo-layer-item>\n </mat-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <mat-tree-node\n *matTreeNodeDef=\"let node; when: isGroup\"\n [class.--selected]=\"isSelected(node.data)\"\n [class.--children-selected]=\"isDescendantSelection(node.data)\"\n >\n <igo-layer-group\n matTreeNodePadding\n [matTreeNodePaddingIndent]=\"24\"\n class=\"tree-node-item\"\n [layer]=\"node.data\"\n [viewerOptions]=\"viewerOptions\"\n [selected]=\"isSelected(node.data) || isDescendantSelection(node.data)\"\n [selectionDisabled]=\"isDescendantSelection(node.data)\"\n (action)=\"toggleActive($event)\"\n (expand)=\"treeControl.toggle(node); handleNodeToggle(node)\"\n (selectChange)=\"handleSelect($event, node.data)\"\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n class=\"layer-indicator\"\n [attr.aria-label]=\"'Toggle ' + node.data.title\"\n (click)=\"handleNodeToggle(node)\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{\n treeControl.isExpanded(node)\n ? 'keyboard_arrow_down'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n </button>\n </igo-layer-group>\n </mat-tree-node>\n</mat-tree>\n", styles: [".--not-desktop igo-layer-group ::ng-deep .list-secondary-actions button,.--not-desktop igo-layer-item ::ng-deep .list-secondary-actions button{visibility:visible!important}.tree-node-item{flex:1}mat-tree-node{position:relative;min-height:40px}mat-tree-node:hover:after,mat-tree-node.--drag-hover:after{content:\"\";position:absolute;inset:0;border-style:solid;border-width:1px;border-color:transparent;pointer-events:none}\n"] }]
215
+ }], ctorParameters: () => [{ type: i1.MessageService }], propDecorators: { controller: [{
216
+ type: Input,
217
+ args: [{ required: true }]
218
+ }], layers: [{
219
+ type: Input,
220
+ args: [{ required: true }]
221
+ }], isDesktop: [{
222
+ type: Input
223
+ }], isDragDropDisabled: [{
224
+ type: Input
225
+ }], selectAll: [{
226
+ type: Input
227
+ }], viewerOptions: [{
228
+ type: Input
229
+ }], activeChange: [{
230
+ type: Output
231
+ }] } });
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1saXN0L2xheWVyLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItbGlzdC9sYXllci1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixh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L2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBGbGF0VHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZXInO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtcbiAgTWF0VHJlZUZsYXREYXRhU291cmNlLFxuICBNYXRUcmVlRmxhdHRlbmVyLFxuICBNYXRUcmVlTW9kdWxlXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RyZWUnO1xuXG5pbXBvcnQge1xuICBEcm9wUGVybWlzc2lvbixcbiAgVHJlZURyYWdEcm9wRGlyZWN0aXZlLFxuICBUcmVlRHJvcEV2ZW50LFxuICBUcmVlRmxhdE5vZGVcbn0gZnJvbSAnQGlnbzIvY29tbW9uL2RyYWctZHJvcCc7XG5pbXBvcnQge1xuICBJY29uU3ZnLFxuICBJZ29JY29uQ29tcG9uZW50LFxuICBWRUNUT1JfU1FVQVJFX0lDT05cbn0gZnJvbSAnQGlnbzIvY29tbW9uL2ljb24nO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCwgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICdAaWdvMi9jb21tb24vbGlzdCc7XG5pbXBvcnQgeyBQYW5lbENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbi9wYW5lbCc7XG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL21lc3NhZ2UnO1xuXG5pbXBvcnQgeyBMYXllckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5ZXItZ3JvdXAnO1xuaW1wb3J0IHsgTGF5ZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5ZXItaXRlbSc7XG5pbXBvcnQgeyBMYXllckxpc3RUb29sQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5ZXItbGlzdC10b29sJztcbmltcG9ydCB0eXBlIHsgTGF5ZXJWaWV3ZXJPcHRpb25zIH0gZnJvbSAnLi4vbGF5ZXItdmlld2VyL2xheWVyLXZpZXdlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGF5ZXJUeXBlIH0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB0eXBlIHsgTGF5ZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vc2hhcmVkL2xheWVyLWNvbnRyb2xsZXInO1xuaW1wb3J0IHR5cGUgeyBBbnlMYXllciB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvYW55LWxheWVyJztcbmltcG9ydCB0eXBlIHsgTGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL2xheWVyJztcbmltcG9ydCB0eXBlIHsgTGF5ZXJHcm91cCB9IGZyb20gJy4uL3NoYXJlZC9sYXllcnMvbGF5ZXItZ3JvdXAnO1xuaW1wb3J0IHsgaXNMYXllckdyb3VwLCBpc0xheWVySXRlbSB9IGZyb20gJy4uL3V0aWxzL2xheWVyLnV0aWxzJztcblxudHlwZSBMYXllckZsYXROb2RlPFQgPSBBbnlMYXllcj4gPSBUcmVlRmxhdE5vZGU8VD47XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1sYXllci1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheWVyLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYXllci1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBNYXRCYWRnZU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxuICAgIE1hdFRyZWVNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBUcmVlRHJhZ0Ryb3BEaXJlY3RpdmUsXG4gICAgTGF5ZXJMaXN0VG9vbENvbXBvbmVudCxcbiAgICBMYXllckdyb3VwQ29tcG9uZW50LFxuICAgIExpc3RDb21wb25lbnQsXG4gICAgTGF5ZXJJdGVtQ29tcG9uZW50LFxuICAgIExpc3RJdGVtRGlyZWN0aXZlLFxuICAgIFBhbmVsQ29tcG9uZW50LFxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxuICAgIElnb0ljb25Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMYXllckxpc3RDb21wb25lbnQge1xuICBwdWJsaWMgdG9nZ2xlT3BhY2l0eSA9IGZhbHNlO1xuICBpc0luaXQ6IGJvb2xlYW47XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29udHJvbGxlcjogTGF5ZXJDb250cm9sbGVyO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHNldCBsYXllcnMobGF5ZXJzOiBBbnlMYXllcltdKSB7XG4gICAgdGhpcy5fbGF5ZXJzID0gbGF5ZXJzO1xuICAgIHRoaXMudXBkYXRlRGF0YXNvdXJjZShsYXllcnMgPz8gW10pO1xuICB9XG4gIGdldCBsYXllcnMoKTogQW55TGF5ZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2xheWVycztcbiAgfVxuICBwcml2YXRlIF9sYXllcnM6IEFueUxheWVyW107XG5cbiAgQElucHV0KCkgaXNEZXNrdG9wOiBib29sZWFuO1xuICBASW5wdXQoKSBpc0RyYWdEcm9wRGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNlbGVjdEFsbDogYm9vbGVhbjtcbiAgQElucHV0KCkgdmlld2VyT3B0aW9uczogTGF5ZXJWaWV3ZXJPcHRpb25zO1xuXG4gIEBPdXRwdXQoKSBhY3RpdmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFueUxheWVyPigpO1xuXG4gIHByaXZhdGUgX3RyYW5zZm9ybWVyID0gKGxheWVyOiBBbnlMYXllciwgbGV2ZWw6IG51bWJlcik6IExheWVyRmxhdE5vZGUgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogbGF5ZXIuaWQgfHwgbGF5ZXIub3B0aW9ucy5uYW1lLFxuICAgICAgaXNHcm91cDogISFpc0xheWVyR3JvdXAobGF5ZXIpLFxuICAgICAgZGVzY2VuZGFudExldmVsczogaXNMYXllckdyb3VwKGxheWVyKVxuICAgICAgICA/IGxheWVyLmRlc2NlbmRhbnRzTGV2ZWxcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBsZXZlbDogbGV2ZWwsXG4gICAgICBkYXRhOiBsYXllcixcbiAgICAgIGRpc2FibGVkOiBmYWxzZVxuICAgIH07XG4gIH07XG5cbiAgdHJlZUNvbnRyb2wgPSBuZXcgRmxhdFRyZWVDb250cm9sPExheWVyRmxhdE5vZGU+KFxuICAgIChub2RlKSA9PiBub2RlLmxldmVsLFxuICAgIChub2RlKSA9PiBub2RlLmlzR3JvdXBcbiAgKTtcblxuICB0cmVlRmxhdHRlbmVyID0gbmV3IE1hdFRyZWVGbGF0dGVuZXIoXG4gICAgdGhpcy5fdHJhbnNmb3JtZXIsXG4gICAgKG5vZGUpID0+IG5vZGUubGV2ZWwsXG4gICAgKG5vZGUpID0+IG5vZGUuaXNHcm91cCxcbiAgICAobm9kZSkgPT5cbiAgICAgIChub2RlIGFzIExheWVyR3JvdXApLmNoaWxkcmVuXG4gICAgICAgIC5maWx0ZXIoKGxheWVyKSA9PiBsYXllci5zaG93SW5MYXllckxpc3QpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLnpJbmRleCArIGIuekluZGV4KVxuICApO1xuXG4gIGRhdGFTb3VyY2U6IE1hdFRyZWVGbGF0RGF0YVNvdXJjZTxBbnlMYXllciwgTGF5ZXJGbGF0Tm9kZT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VHJlZUZsYXREYXRhU291cmNlKFxuICAgICAgdGhpcy50cmVlQ29udHJvbCxcbiAgICAgIHRoaXMudHJlZUZsYXR0ZW5lcixcbiAgICAgIFtdXG4gICAgKTtcbiAgfVxuXG4gIGlzR3JvdXAgPSAoXzogbnVtYmVyLCBub2RlOiBMYXllckZsYXROb2RlKSA9PiBub2RlLmlzR3JvdXA7XG5cbiAgaXNMYXllckdyb3VwID0gaXNMYXllckdyb3VwO1xuICBpc0xheWVySXRlbSA9IGlzTGF5ZXJJdGVtO1xuXG4gIGlzU2VsZWN0ZWQgPSAobGF5ZXI6IEFueUxheWVyKTogYm9vbGVhbiA9PiB0aGlzLmNvbnRyb2xsZXIuaXNTZWxlY3RlZChsYXllcik7XG4gIGlzRGVzY2VuZGFudFNlbGVjdGlvbiA9IChsYXllcjogQW55TGF5ZXIpOiBib29sZWFuID0+XG4gICAgdGhpcy5jb250cm9sbGVyLmlzRGVzY2VuZGFudFNlbGVjdGlvbihsYXllcik7XG5cbiAgdG9nZ2xlQWN0aXZlKGxheWVyOiBBbnlMYXllcik6IHZvaWQge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB0aGlzLmNvbnRyb2xsZXIuaXNTZWxlY3RlZChsYXllcik7XG5cbiAgICB0aGlzLmNvbnRyb2xsZXIuY2xlYXJTZWxlY3Rpb24oKTtcblxuICAgIGlmICghaXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5jb250cm9sbGVyLnNlbGVjdChsYXllcik7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQobGF5ZXIpO1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0KGNoZWNrZWQ6IGJvb2xlYW4sIGxheWVyOiBBbnlMYXllcik6IHZvaWQge1xuICAgIGNoZWNrZWQgPyB0aGlzLmNvbnRyb2xsZXIuc2VsZWN0KGxheWVyKSA6IHRoaXMuY29udHJvbGxlci5kZXNlbGVjdChsYXllcik7XG4gIH1cblxuICBnZXRMYXllclR5cGUobGF5ZXI6IExheWVyKTogTGF5ZXJUeXBlIHwgJ21lYXN1cmUnIHwgJ2RyYXcnIHtcbiAgICByZXR1cm4gbGF5ZXIudHlwZSA9PT0gJ3Jhc3RlcidcbiAgICAgID8gJ3Jhc3RlcidcbiAgICAgIDogbGF5ZXIuaWQuaW5jbHVkZXMoJ21lYXN1cmUnKVxuICAgICAgICA/ICdtZWFzdXJlJ1xuICAgICAgICA6IGxheWVyLmlkLmluY2x1ZGVzKCdkcmF3JylcbiAgICAgICAgICA/ICdkcmF3J1xuICAgICAgICAgIDogJ3ZlY3Rvcic7XG4gIH1cblxuICBnZXRMYXllckljb24obGF5ZXI6IExheWVyKTogc3RyaW5nIHwgSWNvblN2ZyB7XG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0TGF5ZXJUeXBlKGxheWVyKTtcbiAgICByZXR1cm4gdHlwZSA9PT0gJ3Jhc3RlcidcbiAgICAgID8gbGF5ZXIuYmFzZUxheWVyXG4gICAgICAgID8gJ3dhbGxwYXBlcidcbiAgICAgICAgOiAnaW1hZ2UnXG4gICAgICA6IHR5cGUgPT09ICdtZWFzdXJlJ1xuICAgICAgICA/ICdzcXVhcmVfZm9vdCdcbiAgICAgICAgOiB0eXBlID09PSAnZHJhdydcbiAgICAgICAgICA/ICdkcmF3J1xuICAgICAgICAgIDogVkVDVE9SX1NRVUFSRV9JQ09OO1xuICB9XG5cbiAgZHJvcE5vZGUoeyBub2RlLCByZWYsIHBvc2l0aW9uIH06IFRyZWVEcm9wRXZlbnQ8QW55TGF5ZXI+KTogdm9pZCB7XG4gICAgbGV0IG5vZGVzVG9Ecm9wID0gW25vZGUuZGF0YV07XG5cbiAgICBpZiAodGhpcy5jb250cm9sbGVyLmhhc1NlbGVjdGlvbikge1xuICAgICAgLy8gVGhlIHNlbGVjdGlvbiBjb3VsZCBjb250YWlucyBkYXRhIGZyb20gdGhlIG91dHNpZGUgdGhlIFRyZWVDb250cm9sbGVyXG4gICAgICBub2Rlc1RvRHJvcCA9IHRoaXMuY29udHJvbGxlci5zZWxlY3RlZC5maWx0ZXIoXG4gICAgICAgIChsYXllcikgPT4gISF0aGlzLmZpbmROb2RlQnlMYXllcklkKGxheWVyLmlkKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5pc0dyb3VwKSB7XG4gICAgICBub2Rlc1RvRHJvcCA9IG5vZGVzVG9Ecm9wLmZpbHRlcihcbiAgICAgICAgKG5vZGVEcm9wKSA9PiAhKG5vZGUuZGF0YSBhcyBMYXllckdyb3VwKS5pc0Rlc2NlbmRhbnQobm9kZURyb3ApXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChyZWYuaXNHcm91cCkge1xuICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IG5vZGVzVG9Ecm9wLnNvbWUoKG5vZGVEcm9wKSA9PiBub2RlRHJvcC5pZCA9PT0gcmVmLmlkKTtcbiAgICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAgIG5vZGVzVG9Ecm9wID0gbm9kZXNUb0Ryb3AuZmlsdGVyKChub2RlRHJvcCkgPT4gbm9kZURyb3AuaWQgIT09IHJlZi5pZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFub2Rlc1RvRHJvcC5pbmNsdWRlcyhub2RlLmRhdGEpKSB7XG4gICAgICBub2Rlc1RvRHJvcC5wdXNoKG5vZGUuZGF0YSk7XG4gICAgfVxuXG4gICAgc3dpdGNoIChwb3NpdGlvbikge1xuICAgICAgY2FzZSAnYWJvdmUnOlxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIubW92ZUFib3ZlKHJlZi5kYXRhLCAuLi5ub2Rlc1RvRHJvcCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaW5zaWRlJzpcbiAgICAgICAgdGhpcy5jb250cm9sbGVyLm1vdmVJbnNpZGUocmVmLmRhdGEgYXMgTGF5ZXJHcm91cCwgLi4ubm9kZXNUb0Ryb3ApO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5jb250cm9sbGVyLm1vdmVCZWxvdyhyZWYuZGF0YSwgLi4ubm9kZXNUb0Ryb3ApO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBkcm9wTm9kZUVycm9yKGRldGFpbHM6IERyb3BQZXJtaXNzaW9uKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5hbGVydChcbiAgICAgIGRldGFpbHMubWVzc2FnZSxcbiAgICAgICdpZ28uZ2VvLmxheWVyLmxheWVyJyxcbiAgICAgIG51bGwsXG4gICAgICBkZXRhaWxzLnBhcmFtc1xuICAgICk7XG4gIH1cblxuICBkcmFnU3RhcnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmlld2VyT3B0aW9ucy5tb2RlID09PSAnc2VsZWN0aW9uJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29udHJvbGxlci5jbGVhclNlbGVjdGlvbigpO1xuICB9XG5cbiAgaGFuZGxlTm9kZVRvZ2dsZShub2RlOiBMYXllckZsYXROb2RlPExheWVyR3JvdXA+KTogdm9pZCB7XG4gICAgbm9kZS5kYXRhLmV4cGFuZGVkID0gdGhpcy50cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kTm9kZUJ5TGF5ZXJJZChpZDogc3RyaW5nKTogTGF5ZXJGbGF0Tm9kZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQoKG5vZGUpID0+IG5vZGUuaWQgPT09IGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRGF0YXNvdXJjZShsYXllcnM6IEFueUxheWVyW10pOiB2b2lkIHtcbiAgICBjb25zdCBleHBhbnNpb25Nb2RlbCA9IHRoaXMudHJlZUNvbnRyb2wuZXhwYW5zaW9uTW9kZWw7XG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBsYXllcnM7XG5cbiAgICB0aGlzLmlzSW5pdFxuICAgICAgPyB0aGlzLnJlc3RvcmVNb2RlbChleHBhbnNpb25Nb2RlbCwgKG5vZGUpID0+XG4gICAgICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobm9kZSlcbiAgICAgICAgKVxuICAgICAgOiB0aGlzLmV4cGFuZEdyb3VwKGxheWVycyk7XG5cbiAgICBpZiAoIXRoaXMuaXNJbml0ICYmIGxheWVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaXNJbml0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKiogUmVjdXJzaXZlICovXG4gIHByaXZhdGUgZXhwYW5kR3JvdXAobGF5ZXJzOiBBbnlMYXllcltdKTogdm9pZCB7XG4gICAgbGF5ZXJzLmZvckVhY2goKGxheWVyKSA9PiB7XG4gICAgICBpZiAoIWlzTGF5ZXJHcm91cChsYXllcikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGxheWVyLmV4cGFuZGVkKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmZpbmROb2RlQnlMYXllcklkKGxheWVyLmlkKTtcbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKG5vZGUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmV4cGFuZEdyb3VwKGxheWVyLmNoaWxkcmVuKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzdG9yZU1vZGVsKFxuICAgIG1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxMYXllckZsYXROb2RlPixcbiAgICBjYWxsYmFjazogKG5vZGU6IExheWVyRmxhdE5vZGUpID0+IHZvaWRcbiAgKSB7XG4gICAgY29uc3QgaWRzOiBzdHJpbmdbXSA9IEFycmF5LmZyb20obW9kZWxbJ19zZWxlY3Rpb24nXSkubWFwKFxuICAgICAgKHZhbHVlKSA9PiB2YWx1ZVsnaWQnXVxuICAgICk7XG4gICAgbW9kZWwuY2xlYXIoKTtcbiAgICB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBpZiAobW9kZWwuaXNTZWxlY3RlZChub2RlKSB8fCBpZHMuaW5jbHVkZXMobm9kZS5pZCkpIHtcbiAgICAgICAgY2FsbGJhY2sobm9kZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxtYXQtdHJlZVxuICBbY2xhc3MuLS1ub3QtZGVza3RvcF09XCIhaXNEZXNrdG9wXCJcbiAgaWdvVHJlZURyYWdEcm9wXG4gIFt0cmVlRHJhZ0Ryb3BJc0Rpc2FibGVkXT1cImlzRHJhZ0Ryb3BEaXNhYmxlZFwiXG4gIFttYXhMZXZlbF09XCJ2aWV3ZXJPcHRpb25zPy5ncm91cD8ubWF4SGllcmFyY2h5TGV2ZWxcIlxuICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgW3RyZWVDb250cm9sXT1cInRyZWVDb250cm9sXCJcbiAgKGRyYWdTdGFydCk9XCJkcmFnU3RhcnQoKVwiXG4gIChvbkRyb3ApPVwiZHJvcE5vZGUoJGV2ZW50KVwiXG4gIChvbkRyb3BFcnJvcik9XCJkcm9wTm9kZUVycm9yKCRldmVudClcIlxuPlxuICA8IS0tIFRoaXMgaXMgdGhlIHRyZWUgbm9kZSB0ZW1wbGF0ZSBmb3IgbGVhZiBub2RlcyAtLT5cbiAgPG1hdC10cmVlLW5vZGVcbiAgICAqbWF0VHJlZU5vZGVEZWY9XCJsZXQgbm9kZVwiXG4gICAgW2NsYXNzLi0tc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChub2RlLmRhdGEpXCJcbiAgICBbY2xhc3MuLS1jaGlsZHJlbi1zZWxlY3RlZF09XCJpc0Rlc2NlbmRhbnRTZWxlY3Rpb24obm9kZS5kYXRhKVwiXG4gID5cbiAgICA8aWdvLWxheWVyLWl0ZW1cbiAgICAgIFttYXRUcmVlTm9kZVBhZGRpbmddPVwibm9kZS5sZXZlbCA9PT0gMCA/IDEgOiBub2RlLmxldmVsXCJcbiAgICAgIFttYXRUcmVlTm9kZVBhZGRpbmdJbmRlbnRdPVwibm9kZS5sZXZlbCA9PT0gMCA/IDE2IDogMjQgKyAxNiAvIG5vZGUubGV2ZWxcIlxuICAgICAgY2xhc3M9XCJ0cmVlLW5vZGUtaXRlbVwiXG4gICAgICBbbGF5ZXJdPVwibm9kZS5kYXRhXCJcbiAgICAgIFt2aXNpYmxlXT1cIm5vZGUuZGF0YS52aXNpYmxlXCJcbiAgICAgIFt2aWV3ZXJPcHRpb25zXT1cInZpZXdlck9wdGlvbnNcIlxuICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQobm9kZS5kYXRhKSB8fCBpc0Rlc2NlbmRhbnRTZWxlY3Rpb24obm9kZS5kYXRhKVwiXG4gICAgICBbc2VsZWN0aW9uRGlzYWJsZWRdPVwiaXNEZXNjZW5kYW50U2VsZWN0aW9uKG5vZGUuZGF0YSlcIlxuICAgICAgKGFjdGlvbik9XCJ0b2dnbGVBY3RpdmUoJGV2ZW50KVwiXG4gICAgICAoc2VsZWN0Q2hhbmdlKT1cImhhbmRsZVNlbGVjdCgkZXZlbnQsIG5vZGUuZGF0YSlcIlxuICAgID5cbiAgICA8L2lnby1sYXllci1pdGVtPlxuICA8L21hdC10cmVlLW5vZGU+XG4gIDwhLS0gVGhpcyBpcyB0aGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciBleHBhbmRhYmxlIG5vZGVzIC0tPlxuICA8bWF0LXRyZWUtbm9kZVxuICAgICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlOyB3aGVuOiBpc0dyb3VwXCJcbiAgICBbY2xhc3MuLS1zZWxlY3RlZF09XCJpc1NlbGVjdGVkKG5vZGUuZGF0YSlcIlxuICAgIFtjbGFzcy4tLWNoaWxkcmVuLXNlbGVjdGVkXT1cImlzRGVzY2VuZGFudFNlbGVjdGlvbihub2RlLmRhdGEpXCJcbiAgPlxuICAgIDxpZ28tbGF5ZXItZ3JvdXBcbiAgICAgIG1hdFRyZWVOb2RlUGFkZGluZ1xuICAgICAgW21hdFRyZWVOb2RlUGFkZGluZ0luZGVudF09XCIyNFwiXG4gICAgICBjbGFzcz1cInRyZWUtbm9kZS1pdGVtXCJcbiAgICAgIFtsYXllcl09XCJub2RlLmRhdGFcIlxuICAgICAgW3ZpZXdlck9wdGlvbnNdPVwidmlld2VyT3B0aW9uc1wiXG4gICAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChub2RlLmRhdGEpIHx8IGlzRGVzY2VuZGFudFNlbGVjdGlvbihub2RlLmRhdGEpXCJcbiAgICAgIFtzZWxlY3Rpb25EaXNhYmxlZF09XCJpc0Rlc2NlbmRhbnRTZWxlY3Rpb24obm9kZS5kYXRhKVwiXG4gICAgICAoYWN0aW9uKT1cInRvZ2dsZUFjdGl2ZSgkZXZlbnQpXCJcbiAgICAgIChleHBhbmQpPVwidHJlZUNvbnRyb2wudG9nZ2xlKG5vZGUpOyBoYW5kbGVOb2RlVG9nZ2xlKG5vZGUpXCJcbiAgICAgIChzZWxlY3RDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0KCRldmVudCwgbm9kZS5kYXRhKVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgbWF0VHJlZU5vZGVUb2dnbGVcbiAgICAgICAgY2xhc3M9XCJsYXllci1pbmRpY2F0b3JcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidUb2dnbGUgJyArIG5vZGUuZGF0YS50aXRsZVwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVOb2RlVG9nZ2xlKG5vZGUpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICB0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXG4gICAgICAgICAgICAgID8gJ2tleWJvYXJkX2Fycm93X2Rvd24nXG4gICAgICAgICAgICAgIDogJ2tleWJvYXJkX2Fycm93X3JpZ2h0J1xuICAgICAgICAgIH19XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2lnby1sYXllci1ncm91cD5cbiAgPC9tYXQtdHJlZS1ub2RlPlxuPC9tYXQtdHJlZT5cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './layer-list-tool.component';
2
+ export * from './layer-list-tool.interface';
3
+ export * from './layer-list-tool.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1saXN0LXRvb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xheWVyLWxpc3QtdG9vbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXllci1saXN0LXRvb2wuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItbGlzdC10b29sLnNlcnZpY2UnO1xuIl19
@@ -0,0 +1,92 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatBadgeModule } from '@angular/material/badge';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { MatInputModule } from '@angular/material/input';
9
+ import { MatMenuModule } from '@angular/material/menu';
10
+ import { MatTooltipModule } from '@angular/material/tooltip';
11
+ import { IgoBadgeIconDirective } from '@igo2/common/badge';
12
+ import { FormDialogService } from '@igo2/common/form';
13
+ import { IgoLanguageModule } from '@igo2/core/language';
14
+ import { LayerSearchComponent } from '../layer-search/layer-search.component';
15
+ import { LayerListToolService } from './layer-list-tool.service';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "./layer-list-tool.service";
18
+ import * as i2 from "@angular/material/tooltip";
19
+ import * as i3 from "@angular/material/button";
20
+ import * as i4 from "@angular/material/icon";
21
+ import * as i5 from "@ngx-translate/core";
22
+ export class LayerListToolComponent {
23
+ layerListToolService;
24
+ mode;
25
+ viewerOptions;
26
+ floatLabel = 'auto';
27
+ onlyVisible;
28
+ term;
29
+ searchChange = new EventEmitter();
30
+ visibilityOnlyChange = new EventEmitter();
31
+ modeChange = new EventEmitter();
32
+ addedLayer = new EventEmitter();
33
+ get selectionActive() {
34
+ return this.mode === 'selection';
35
+ }
36
+ constructor(layerListToolService) {
37
+ this.layerListToolService = layerListToolService;
38
+ }
39
+ handleTermChange(value) {
40
+ this.searchChange.emit(value);
41
+ }
42
+ toggleSelectionMode() {
43
+ this.modeChange.emit(!this.selectionActive);
44
+ }
45
+ createGroup() {
46
+ this.layerListToolService.createGroup().subscribe((group) => {
47
+ if (!group) {
48
+ return;
49
+ }
50
+ this.addedLayer.emit(group);
51
+ });
52
+ }
53
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerListToolComponent, deps: [{ token: i1.LayerListToolService }], target: i0.ɵɵFactoryTarget.Component });
54
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LayerListToolComponent, isStandalone: true, selector: "igo-layer-list-tool", inputs: { mode: "mode", viewerOptions: "viewerOptions", floatLabel: "floatLabel", onlyVisible: "onlyVisible", term: "term" }, outputs: { searchChange: "searchChange", visibilityOnlyChange: "visibilityOnlyChange", modeChange: "modeChange", addedLayer: "addedLayer" }, providers: [LayerListToolService, FormDialogService], ngImport: i0, template: "<igo-layer-search\n [initialValue]=\"term\"\n [floatLabel]=\"floatLabel\"\n placeholder=\"igo.geo.layer.filterPlaceholder\"\n tooltip=\"igo.geo.layer.subsetLayersListKeyword\"\n (searchChange)=\"handleTermChange($event)\"\n></igo-layer-search>\n\n<div class=\"actions-container\">\n <button\n mat-icon-button\n [color]=\"selectionActive ? 'warn' : 'primary'\"\n [matTooltip]=\"\n selectionActive\n ? ('igo.geo.layer.deactivateSelectionMode' | translate)\n : ('igo.geo.layer.activateSelectionMode' | translate)\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleSelectionMode()\"\n >\n <mat-icon>{{\n selectionActive ? 'remove_done' : 'library_add_check'\n }}</mat-icon>\n </button>\n\n <button\n *ngIf=\"viewerOptions?.group?.canCreate\"\n mat-icon-button\n [disabled]=\"!viewerOptions.group.enable\"\n [matTooltip]=\"'igo.geo.layer.group.create' | translate\"\n matTooltipShowDelay=\"500\"\n type=\"button\"\n color=\"primary\"\n (click)=\"createGroup()\"\n >\n <mat-icon>create_new_folder</mat-icon>\n </button>\n</div>\n", styles: [":host{display:flex;align-items:center;justify-content:space-between;padding:8px 12px}.sort-alpha.--active mat-icon{color:red}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: LayerSearchComponent, selector: "igo-layer-search", inputs: ["initialValue", "floatLabel", "placeholder", "tooltip"], outputs: ["searchChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayerListToolComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'igo-layer-list-tool', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
59
+ FormsModule,
60
+ NgIf,
61
+ MatFormFieldModule,
62
+ MatInputModule,
63
+ MatTooltipModule,
64
+ MatButtonModule,
65
+ MatMenuModule,
66
+ MatIconModule,
67
+ MatBadgeModule,
68
+ IgoBadgeIconDirective,
69
+ IgoLanguageModule,
70
+ LayerSearchComponent
71
+ ], providers: [LayerListToolService, FormDialogService], template: "<igo-layer-search\n [initialValue]=\"term\"\n [floatLabel]=\"floatLabel\"\n placeholder=\"igo.geo.layer.filterPlaceholder\"\n tooltip=\"igo.geo.layer.subsetLayersListKeyword\"\n (searchChange)=\"handleTermChange($event)\"\n></igo-layer-search>\n\n<div class=\"actions-container\">\n <button\n mat-icon-button\n [color]=\"selectionActive ? 'warn' : 'primary'\"\n [matTooltip]=\"\n selectionActive\n ? ('igo.geo.layer.deactivateSelectionMode' | translate)\n : ('igo.geo.layer.activateSelectionMode' | translate)\n \"\n matTooltipShowDelay=\"500\"\n (click)=\"toggleSelectionMode()\"\n >\n <mat-icon>{{\n selectionActive ? 'remove_done' : 'library_add_check'\n }}</mat-icon>\n </button>\n\n <button\n *ngIf=\"viewerOptions?.group?.canCreate\"\n mat-icon-button\n [disabled]=\"!viewerOptions.group.enable\"\n [matTooltip]=\"'igo.geo.layer.group.create' | translate\"\n matTooltipShowDelay=\"500\"\n type=\"button\"\n color=\"primary\"\n (click)=\"createGroup()\"\n >\n <mat-icon>create_new_folder</mat-icon>\n </button>\n</div>\n", styles: [":host{display:flex;align-items:center;justify-content:space-between;padding:8px 12px}.sort-alpha.--active mat-icon{color:red}\n"] }]
72
+ }], ctorParameters: () => [{ type: i1.LayerListToolService }], propDecorators: { mode: [{
73
+ type: Input,
74
+ args: [{ required: true }]
75
+ }], viewerOptions: [{
76
+ type: Input
77
+ }], floatLabel: [{
78
+ type: Input
79
+ }], onlyVisible: [{
80
+ type: Input
81
+ }], term: [{
82
+ type: Input
83
+ }], searchChange: [{
84
+ type: Output
85
+ }], visibilityOnlyChange: [{
86
+ type: Output
87
+ }], modeChange: [{
88
+ type: Output
89
+ }], addedLayer: [{
90
+ type: Output
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGlzdC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL2xheWVyLWxpc3QtdG9vbC9sYXllci1saXN0LXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItbGlzdC10b29sL2xheWVyLWxpc3QtdG9vbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUVMLGtCQUFrQixFQUNuQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBTTlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7O0FBd0JqRSxNQUFNLE9BQU8sc0JBQXNCO0lBZ0JiO0lBZk8sSUFBSSxDQUFnQjtJQUN0QyxhQUFhLENBQXFCO0lBQ2xDLFVBQVUsR0FBbUIsTUFBTSxDQUFDO0lBQ3BDLFdBQVcsQ0FBVTtJQUNyQixJQUFJLENBQVM7SUFFWixZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUMxQyxvQkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ25ELFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ3pDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRXRELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFvQixvQkFBMEM7UUFBMUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtJQUFHLENBQUM7SUFFbEUsZ0JBQWdCLENBQUMsS0FBeUI7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBakNVLHNCQUFzQjs0RkFBdEIsc0JBQXNCLDZVQUZ0QixDQUFDLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDLDBCQ3BEdEQseWxDQXNDQSx3TERDSSxXQUFXLCtCQUNYLElBQUksNEZBQ0osa0JBQWtCLDhCQUNsQixjQUFjLDhCQUNkLGdCQUFnQiw0VEFDaEIsZUFBZSwySUFDZixhQUFhLDhCQUNiLGFBQWEsbUxBQ2IsY0FBYyw4QkFFZCxpQkFBaUIsNEZBQ2pCLG9CQUFvQjs7NEZBSVgsc0JBQXNCO2tCQXRCbEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsV0FBVzt3QkFDWCxJQUFJO3dCQUNKLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjtxQkFDckIsYUFDVSxDQUFDLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDO3lGQUd6QixJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1xuICBGbG9hdExhYmVsVHlwZSxcbiAgTWF0Rm9ybUZpZWxkTW9kdWxlXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IElnb0JhZGdlSWNvbkRpcmVjdGl2ZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9iYWRnZSc7XG5pbXBvcnQgeyBGb3JtRGlhbG9nU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9mb3JtJztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5cbmltcG9ydCB7IExheWVyU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4vbGF5ZXItc2VhcmNoL2xheWVyLXNlYXJjaC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgTGF5ZXJUb29sTW9kZSxcbiAgTGF5ZXJWaWV3ZXJPcHRpb25zXG59IGZyb20gJy4uL2xheWVyLXZpZXdlci9sYXllci12aWV3ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IExheWVyR3JvdXAgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzL2xheWVyLWdyb3VwJztcbmltcG9ydCB7IExheWVyTGlzdFRvb2xTZXJ2aWNlIH0gZnJvbSAnLi9sYXllci1saXN0LXRvb2wuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1sYXllci1saXN0LXRvb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5ZXItbGlzdC10b29sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5ZXItbGlzdC10b29sLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTmdJZixcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJhZGdlTW9kdWxlLFxuICAgIElnb0JhZGdlSWNvbkRpcmVjdGl2ZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcbiAgICBMYXllclNlYXJjaENvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtMYXllckxpc3RUb29sU2VydmljZSwgRm9ybURpYWxvZ1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIExheWVyTGlzdFRvb2xDb21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtb2RlOiBMYXllclRvb2xNb2RlO1xuICBASW5wdXQoKSB2aWV3ZXJPcHRpb25zOiBMYXllclZpZXdlck9wdGlvbnM7XG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ2F1dG8nO1xuICBASW5wdXQoKSBvbmx5VmlzaWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgdGVybTogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHZpc2liaWxpdHlPbmx5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgbW9kZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGFkZGVkTGF5ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPExheWVyR3JvdXA+KCk7XG5cbiAgZ2V0IHNlbGVjdGlvbkFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnc2VsZWN0aW9uJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGF5ZXJMaXN0VG9vbFNlcnZpY2U6IExheWVyTGlzdFRvb2xTZXJ2aWNlKSB7fVxuXG4gIGhhbmRsZVRlcm1DaGFuZ2UodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0aW9uTW9kZSgpIHtcbiAgICB0aGlzLm1vZGVDaGFuZ2UuZW1pdCghdGhpcy5zZWxlY3Rpb25BY3RpdmUpO1xuICB9XG5cbiAgY3JlYXRlR3JvdXAoKTogdm9pZCB7XG4gICAgdGhpcy5sYXllckxpc3RUb29sU2VydmljZS5jcmVhdGVHcm91cCgpLnN1YnNjcmliZSgoZ3JvdXApID0+IHtcbiAgICAgIGlmICghZ3JvdXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5hZGRlZExheWVyLmVtaXQoZ3JvdXApO1xuICAgIH0pO1xuICB9XG59XG4iLCI8aWdvLWxheWVyLXNlYXJjaFxuICBbaW5pdGlhbFZhbHVlXT1cInRlcm1cIlxuICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcbiAgcGxhY2Vob2xkZXI9XCJpZ28uZ2VvLmxheWVyLmZpbHRlclBsYWNlaG9sZGVyXCJcbiAgdG9vbHRpcD1cImlnby5nZW8ubGF5ZXIuc3Vic2V0TGF5ZXJzTGlzdEtleXdvcmRcIlxuICAoc2VhcmNoQ2hhbmdlKT1cImhhbmRsZVRlcm1DaGFuZ2UoJGV2ZW50KVwiXG4+PC9pZ28tbGF5ZXItc2VhcmNoPlxuXG48ZGl2IGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFtjb2xvcl09XCJzZWxlY3Rpb25BY3RpdmUgPyAnd2FybicgOiAncHJpbWFyeSdcIlxuICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgc2VsZWN0aW9uQWN0aXZlXG4gICAgICAgID8gKCdpZ28uZ2VvLmxheWVyLmRlYWN0aXZhdGVTZWxlY3Rpb25Nb2RlJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgOiAoJ2lnby5nZW8ubGF5ZXIuYWN0aXZhdGVTZWxlY3Rpb25Nb2RlJyB8IHRyYW5zbGF0ZSlcbiAgICBcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIChjbGljayk9XCJ0b2dnbGVTZWxlY3Rpb25Nb2RlKClcIlxuICA+XG4gICAgPG1hdC1pY29uPnt7XG4gICAgICBzZWxlY3Rpb25BY3RpdmUgPyAncmVtb3ZlX2RvbmUnIDogJ2xpYnJhcnlfYWRkX2NoZWNrJ1xuICAgIH19PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwidmlld2VyT3B0aW9ucz8uZ3JvdXA/LmNhbkNyZWF0ZVwiXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgW2Rpc2FibGVkXT1cIiF2aWV3ZXJPcHRpb25zLmdyb3VwLmVuYWJsZVwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8ubGF5ZXIuZ3JvdXAuY3JlYXRlJyB8IHRyYW5zbGF0ZVwiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAoY2xpY2spPVwiY3JlYXRlR3JvdXAoKVwiXG4gID5cbiAgICA8bWF0LWljb24+Y3JlYXRlX25ld19mb2xkZXI8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,7 @@
1
+ export var LayerListControlsEnum;
2
+ (function (LayerListControlsEnum) {
3
+ LayerListControlsEnum["always"] = "always";
4
+ LayerListControlsEnum["never"] = "never";
5
+ LayerListControlsEnum["default"] = "default";
6
+ })(LayerListControlsEnum || (LayerListControlsEnum = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItbGlzdC10b29sLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL2xheWVyLWxpc3QtdG9vbC9sYXllci1saXN0LXRvb2wuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBTixJQUFZLHFCQUlYO0FBSkQsV0FBWSxxQkFBcUI7SUFDL0IsMENBQWlCLENBQUE7SUFDakIsd0NBQWUsQ0FBQTtJQUNmLDRDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFKVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBSWhDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMYXllckxpc3RDb250cm9sc09wdGlvbnMge1xuICBleGNsdWRlQmFzZUxheWVycz86IGJvb2xlYW47XG4gIHNob3dUb29sYmFyPzogTGF5ZXJMaXN0Q29udHJvbHNFbnVtO1xuICBrZXl3b3JkPzogc3RyaW5nO1xuICBzb3J0QWxwaGE/OiBib29sZWFuO1xuICBvbmx5VmlzaWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIExheWVyTGlzdENvbnRyb2xzRW51bSB7XG4gIGFsd2F5cyA9ICdhbHdheXMnLFxuICBuZXZlciA9ICduZXZlcicsXG4gIGRlZmF1bHQgPSAnZGVmYXVsdCdcbn1cbiJdfQ==