geonetwork-ui 2.2.0-dev.c15a456d → 2.2.0-dev.cbcafed5

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 (333) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +36 -2
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +2 -1
  4. package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
  5. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
  6. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  7. package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
  8. package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
  9. package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
  10. package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
  11. package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
  12. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
  13. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
  14. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +5 -4
  15. package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +5 -3
  16. package/esm2022/libs/feature/map/src/index.mjs +2 -1
  17. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
  18. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
  19. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
  20. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +63 -0
  21. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
  22. package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
  23. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +26 -3
  24. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
  25. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
  26. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -3
  27. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +3 -1
  28. package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
  29. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +60 -29
  30. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +29 -20
  31. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
  32. package/esm2022/libs/feature/search/src/index.mjs +4 -1
  33. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -4
  34. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
  35. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
  36. package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
  37. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
  38. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
  39. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +3 -3
  40. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
  41. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
  42. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  43. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
  44. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
  45. package/esm2022/libs/ui/elements/src/index.mjs +4 -1
  46. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  47. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
  48. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
  49. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +10 -3
  50. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -6
  51. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
  52. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
  53. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +7 -3
  54. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +15 -3
  55. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  56. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  57. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  58. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  59. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +8 -5
  60. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
  61. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
  62. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
  63. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -3
  64. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  65. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +2 -2
  66. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
  67. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
  68. package/esm2022/libs/ui/search/src/index.mjs +1 -2
  69. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
  70. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
  71. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
  72. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
  73. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
  74. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
  75. package/esm2022/libs/util/i18n/src/index.mjs +2 -2
  76. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
  77. package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
  78. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  79. package/esm2022/translations/de.json +104 -88
  80. package/esm2022/translations/en.json +40 -24
  81. package/esm2022/translations/es.json +19 -3
  82. package/esm2022/translations/fr.json +24 -8
  83. package/esm2022/translations/it.json +31 -15
  84. package/esm2022/translations/nl.json +19 -3
  85. package/esm2022/translations/pt.json +19 -3
  86. package/fesm2022/geonetwork-ui.mjs +1171 -649
  87. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  88. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +1 -0
  89. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  90. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  91. package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
  92. package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
  93. package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
  94. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
  95. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
  96. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +10 -5
  97. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  98. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
  99. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
  100. package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
  101. package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
  102. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
  103. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  104. package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
  105. package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
  106. package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
  107. package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
  108. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
  109. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
  110. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
  111. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  112. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
  113. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  114. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
  115. package/libs/feature/map/src/index.d.ts +1 -0
  116. package/libs/feature/map/src/index.d.ts.map +1 -1
  117. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
  118. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
  119. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
  120. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
  121. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +22 -0
  122. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -0
  123. package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
  124. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  125. package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
  126. package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -12
  127. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  128. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
  129. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
  130. package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
  131. package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
  132. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -0
  133. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  134. package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
  135. package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
  136. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
  137. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  138. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
  139. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  140. package/libs/feature/search/src/index.d.ts +3 -0
  141. package/libs/feature/search/src/index.d.ts.map +1 -1
  142. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +5 -4
  143. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  144. package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
  145. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  146. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
  147. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  148. package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
  149. package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
  150. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  151. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  152. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
  153. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
  154. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
  155. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  156. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  157. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
  158. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  159. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  160. package/libs/ui/elements/src/index.d.ts +3 -0
  161. package/libs/ui/elements/src/index.d.ts.map +1 -1
  162. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  163. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
  164. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
  165. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
  166. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
  167. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -0
  168. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
  169. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -0
  170. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  171. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
  172. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  173. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
  174. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
  175. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -11
  176. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  177. package/libs/ui/inputs/src/index.d.ts +1 -0
  178. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  179. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
  180. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
  181. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
  182. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +2 -1
  183. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  184. package/libs/ui/layout/src/index.d.ts +2 -0
  185. package/libs/ui/layout/src/index.d.ts.map +1 -1
  186. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
  187. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
  188. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
  189. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
  190. package/libs/ui/search/src/index.d.ts +0 -1
  191. package/libs/ui/search/src/index.d.ts.map +1 -1
  192. package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
  193. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  194. package/libs/util/i18n/src/index.d.ts +1 -1
  195. package/libs/util/i18n/src/index.d.ts.map +1 -1
  196. package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
  197. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  198. package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
  199. package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
  200. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  201. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  202. package/package.json +4 -1
  203. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +3 -0
  204. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +43 -0
  205. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +1 -0
  206. package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
  207. package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
  208. package/src/libs/common/domain/src/lib/index.ts +2 -0
  209. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +12 -7
  210. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
  211. package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
  212. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
  213. package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
  214. package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
  215. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  216. package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
  217. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
  218. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +8 -5
  219. package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
  220. package/src/libs/feature/map/src/index.ts +1 -0
  221. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
  222. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
  223. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
  224. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
  225. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
  226. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
  227. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.css +0 -0
  228. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +55 -0
  229. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +63 -0
  230. package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
  231. package/src/libs/feature/map/src/lib/feature-map.module.ts +14 -0
  232. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
  233. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
  234. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
  235. package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
  236. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +9 -3
  237. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +6 -0
  238. package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
  239. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
  240. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
  241. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
  242. package/src/libs/feature/search/src/index.ts +3 -0
  243. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +12 -4
  244. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -1
  245. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
  246. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
  247. package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
  248. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
  249. package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
  250. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
  251. package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
  252. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
  253. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
  254. package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
  255. package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
  256. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
  257. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
  258. package/src/libs/ui/elements/src/index.ts +3 -0
  259. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
  260. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
  261. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
  262. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
  263. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
  264. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
  265. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +16 -0
  266. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +93 -27
  267. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
  268. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
  269. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +59 -32
  270. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +5 -0
  271. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
  272. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
  273. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  274. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
  275. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +7 -0
  276. package/src/libs/ui/inputs/src/index.ts +1 -0
  277. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  278. package/src/libs/ui/inputs/src/lib/button/button.component.css +1 -1
  279. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
  280. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  281. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
  282. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
  283. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
  284. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
  285. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -0
  286. package/src/libs/ui/layout/src/index.ts +2 -0
  287. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
  288. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
  289. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
  290. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
  291. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
  292. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
  293. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
  294. package/src/libs/ui/search/src/index.ts +0 -1
  295. package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
  296. package/src/libs/util/i18n/src/index.ts +1 -1
  297. package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
  298. package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
  299. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  300. package/translations/de.json +104 -88
  301. package/translations/en.json +40 -24
  302. package/translations/es.json +19 -3
  303. package/translations/fr.json +24 -8
  304. package/translations/it.json +31 -15
  305. package/translations/nl.json +19 -3
  306. package/translations/pt.json +19 -3
  307. package/translations/sk.json +19 -3
  308. package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
  309. package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
  310. package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
  311. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
  312. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
  313. package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
  314. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
  315. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
  316. package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
  317. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
  318. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
  319. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
  320. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
  321. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
  322. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
  323. package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
  324. package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
  325. package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
  326. package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
  327. package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
  328. package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
  329. package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
  330. package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
  331. package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
  332. /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
  333. /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
@@ -3,6 +3,7 @@ import { BehaviorSubject, combineLatest } from 'rxjs';
3
3
  import { map, startWith, tap } from 'rxjs/operators';
4
4
  import { ORGANIZATION_URL_TOKEN } from '../feature-catalog.module';
5
5
  import { OrganizationsServiceInterface } from '../../../../../../libs/common/domain/src/lib/organizations.service.interface';
6
+ import { createFuzzyFilter } from '../../../../../../libs/util/shared/src';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../../../../../libs/common/domain/src/lib/organizations.service.interface";
8
9
  import * as i2 from "../../../../../ui/catalog/src/lib/organisation-preview/organisation-preview.component";
@@ -50,20 +51,8 @@ export class OrganisationsComponent {
50
51
  filterOrganisations(organisations, filterBy) {
51
52
  if (!filterBy)
52
53
  return organisations;
53
- const filterRegex = new RegExp(this.normalizeString(filterBy) //ignore accents and case
54
- .replace(/[^a-z0-9\s]/g, ' ') //ignore special characters (also without spaces like l')
55
- .replace(/\s(?=.)/g, '.*') //replace whitespaces by "AND" separator
56
- .replace(/\s/g, ''), //remove potential whitespaces left
57
- 'i');
58
- return [...organisations].filter((org) => {
59
- return this.normalizeString(org.name).match(filterRegex);
60
- });
61
- }
62
- normalizeString(str) {
63
- return str
64
- .normalize('NFD')
65
- .replace(/[\u0300-\u036f]/g, '')
66
- .toLowerCase();
54
+ const filter = createFuzzyFilter(filterBy);
55
+ return organisations.filter((org) => filter(org.name));
67
56
  }
68
57
  sortOrganisations(organisations, sortBy) {
69
58
  let order;
@@ -110,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
110
99
  }], orgSelect: [{
111
100
  type: Output
112
101
  }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvY2F0YWxvZy9zcmMvbGliL29yZ2FuaXNhdGlvbnMvb3JnYW5pc2F0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvY2F0YWxvZy9zcmMvbGliL29yZ2FuaXNhdGlvbnMvb3JnYW5pc2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhFQUE4RSxDQUFBOzs7Ozs7Ozs7QUFTNUgsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLG9CQUFtRCxFQUduRCxXQUFtQjtRQUhuQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQStCO1FBR25ELGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBUHBCLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBQ2YsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFBO1FBVXRELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFckMsWUFBTyxHQUFpQyxJQUFJLGVBQWUsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1FB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QUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUE7UUFDL0MsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsWUFBMEI7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQy9ELENBQUM7OEdBbEhVLHNCQUFzQiwrREFPdkIsc0JBQXNCO2tHQVByQixzQkFBc0Isd0lDdEJuQyx5b0NBa0NBOzsyRkRaYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OzBCQVE1QyxRQUFROzswQkFDUixNQUFNOzJCQUFDLHNCQUFzQjs0Q0FOdkIsV0FBVztzQkFBbkIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IE9SR0FOSVpBVElPTl9VUkxfVE9LRU4gfSBmcm9tICcuLi9mZWF0dXJlLWNhdGFsb2cubW9kdWxlJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9vcmdhbml6YXRpb25zLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgU29ydEJ5RmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW9yZ2FuaXNhdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JnYW5pc2F0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29yZ2FuaXNhdGlvbnMuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT3JnYW5pc2F0aW9uc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW1zT25QYWdlID0gMTJcbiAgQE91dHB1dCgpIG9yZ1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8T3JnYW5pemF0aW9uPigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvcmdhbmlzYXRpb25zU2VydmljZTogT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KE9SR0FOSVpBVElPTl9VUkxfVE9LRU4pXG4gICAgcHJpdmF0ZSB1cmxUZW1wbGF0ZTogc3RyaW5nXG4gICkge31cblxuICB0b3RhbFBhZ2VzOiBudW1iZXJcbiAgY3VycmVudFBhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgxKVxuICBvcmdhbmlzYXRpb25SZXN1bHRzOiBudW1iZXJcbiAgc29ydEJ5JDogQmVoYXZpb3JTdWJqZWN0PFNvcnRCeUZpZWxkPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoWydhc2MnLCAnbmFtZSddKVxuICBmaWx0ZXJCeSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJylcbiAgb3JnYW5pc2F0aW9uc1RvdGFsJCA9IHRoaXMub3JnYW5pc2F0aW9uc1NlcnZpY2Uub3JnYW5pc2F0aW9uc0NvdW50JFxuICBvcmdhbmlzYXRpb25zRmlsdGVyZWRBbmRTb3J0ZWQkOiBPYnNlcnZhYmxlPE9yZ2FuaXphdGlvbltdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMub3JnYW5pc2F0aW9uc1NlcnZpY2Uub3JnYW5pc2F0aW9ucyQucGlwZShcbiAgICAgIHN0YXJ0V2l0aChBcnJheSh0aGlzLml0ZW1zT25QYWdlKS5maWxsKHt9KSlcbiAgICApLFxuICAgIHRoaXMuc29ydEJ5JCxcbiAgICB0aGlzLmZpbHRlckJ5JCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtvcmdhbmlzYXRpb25zLCBzb3J0QnksIGZpbHRlckJ5XSkgPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWRPcmdhbmlzYXRpb25zID0gdGhpcy5maWx0ZXJPcmdhbmlzYXRpb25zKFxuICAgICAgICBvcmdhbmlzYXRpb25zLFxuICAgICAgICBmaWx0ZXJCeVxuICAgICAgKVxuICAgICAgcmV0dXJuIHRoaXMuc29ydE9yZ2FuaXNhdGlvbnMoZmlsdGVyZWRPcmdhbmlzYXRpb25zLCBzb3J0QnkpXG4gICAgfSlcbiAgKVxuXG4gIG9yZ2FuaXNhdGlvbnMkOiBPYnNlcnZhYmxlPE9yZ2FuaXphdGlvbltdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMub3JnYW5pc2F0aW9uc0ZpbHRlcmVkQW5kU29ydGVkJCxcbiAgICB0aGlzLmN1cnJlbnRQYWdlJCxcbiAgXSkucGlwZShcbiAgICB0YXAoKFtvcmdhbmlzYXRpb25zXSkgPT4ge1xuICAgICAgdGhpcy5vcmdhbmlzYXRpb25SZXN1bHRzID0gb3JnYW5pc2F0aW9ucy5sZW5ndGhcbiAgICAgIHRoaXMudG90YWxQYWdlcyA9IE1hdGguY2VpbChvcmdhbmlzYXRpb25zLmxlbmd0aCAvIHRoaXMuaXRlbXNPblBhZ2UpXG4gICAgfSksXG4gICAgbWFwKChbb3JnYW5pc2F0aW9ucywgcGFnZV0pID0+XG4gICAgICBvcmdhbmlzYXRpb25zLnNsaWNlKFxuICAgICAgICAocGFnZSAtIDEpICogdGhpcy5pdGVtc09uUGFnZSxcbiAgICAgICAgcGFnZSAqIHRoaXMuaXRlbXNPblBhZ2VcbiAgICAgIClcbiAgICApXG4gIClcblxuICBwcm90ZWN0ZWQgc2V0Q3VycmVudFBhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSQubmV4dChwYWdlKVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldEZpbHRlckJ5KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlJC5uZXh0KDEpXG4gICAgdGhpcy5maWx0ZXJCeSQubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRTb3J0QnkodmFsdWU6IFNvcnRCeUZpZWxkKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0QnkkLm5leHQodmFsdWUpXG4gIH1cblxuICBwcml2YXRlIGZpbHRlck9yZ2FuaXNhdGlvbnMob3JnYW5pc2F0aW9uczogT3JnYW5pemF0aW9uW10sIGZpbHRlckJ5OiBzdHJpbmcpIHtcbiAgICBpZiAoIWZpbHRlckJ5KSByZXR1cm4gb3JnYW5pc2F0aW9uc1xuICAgIGNvbnN0IGZpbHRlclJlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICAgIHRoaXMubm9ybWFsaXplU3RyaW5nKGZpbHRlckJ5KSAvL2lnbm9yZSBhY2NlbnRzIGFuZCBjYXNlXG4gICAgICAgIC5yZXBsYWNlKC9bXmEtejAtOVxcc10vZywgJyAnKSAvL2lnbm9yZSBzcGVjaWFsIGNoYXJhY3RlcnMgKGFsc28gd2l0aG91dCBzcGFjZXMgbGlrZSBsJylcbiAgICAgICAgLnJlcGxhY2UoL1xccyg/PS4pL2csICcuKicpIC8vcmVwbGFjZSB3aGl0ZXNwYWNlcyBieSBcIkFORFwiIHNlcGFyYXRvclxuICAgICAgICAucmVwbGFjZSgvXFxzL2csICcnKSwgLy9yZW1vdmUgcG90ZW50aWFsIHdoaXRlc3BhY2VzIGxlZnRcbiAgICAgICdpJ1xuICAgIClcbiAgICByZXR1cm4gWy4uLm9yZ2FuaXNhdGlvbnNdLmZpbHRlcigob3JnKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVTdHJpbmcob3JnLm5hbWUpLm1hdGNoKGZpbHRlclJlZ2V4KVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVN0cmluZyhzdHI6IHN0cmluZykge1xuICAgIHJldHVybiBzdHJcbiAgICAgIC5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXG4gICAgICAudG9Mb3dlckNhc2UoKVxuICB9XG5cbiAgcHJpdmF0ZSBzb3J0T3JnYW5pc2F0aW9ucyhcbiAgICBvcmdhbmlzYXRpb25zOiBPcmdhbml6YXRpb25bXSxcbiAgICBzb3J0Qnk6IFNvcnRCeUZpZWxkXG4gICk6IE9yZ2FuaXphdGlvbltdIHtcbiAgICBsZXQgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnXG4gICAgbGV0IGF0dHJpYnV0ZTogc3RyaW5nXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc29ydEJ5WzBdKSkge1xuICAgICAgb3JkZXIgPSBzb3J0QnlbMF1bMF1cbiAgICAgIGF0dHJpYnV0ZSA9IHNvcnRCeVswXVsxXVxuICAgIH0gZWxzZSB7XG4gICAgICBvcmRlciA9IHNvcnRCeVswXVxuICAgICAgYXR0cmlidXRlID0gc29ydEJ5WzFdIGFzIHN0cmluZ1xuICAgIH1cbiAgICBjb25zdCBkaXJlY3Rpb24gPSBvcmRlciA9PT0gJ2FzYycgPyAxIDogLTFcbiAgICByZXR1cm4gWy4uLm9yZ2FuaXNhdGlvbnNdLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlQSA9IGFbYXR0cmlidXRlXVxuICAgICAgY29uc3QgdmFsdWVCID0gYlthdHRyaWJ1dGVdXG4gICAgICBpZiAodHlwZW9mIHZhbHVlQSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbHVlQiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiAqIHZhbHVlQS5sb2NhbGVDb21wYXJlKHZhbHVlQilcbiAgICAgIH1cbiAgICAgIHJldHVybiBkaXJlY3Rpb24gKiBNYXRoLnNpZ24odmFsdWVBIC0gdmFsdWVCKVxuICAgIH0pXG4gIH1cblxuICB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBpbmRleFxuICB9XG5cbiAgZ2V0T3JnYW5pc2F0aW9uVXJsKG9yZ2FuaXNhdGlvbjogT3JnYW5pemF0aW9uKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMudXJsVGVtcGxhdGUpIHJldHVybiBudWxsXG4gICAgcmV0dXJuIHRoaXMudXJsVGVtcGxhdGUucmVwbGFjZSgnJHtuYW1lfScsIG9yZ2FuaXNhdGlvbi5uYW1lKVxuICB9XG59XG4iLCI8Z24tdWktb3JnYW5pc2F0aW9ucy1maWx0ZXJcbiAgKHNvcnRCeSk9XCJzZXRTb3J0QnkoJGV2ZW50KVwiXG4gIChmaWx0ZXJCeSk9XCJzZXRGaWx0ZXJCeSgkZXZlbnQpXCJcbj48L2duLXVpLW9yZ2FuaXNhdGlvbnMtZmlsdGVyPlxuPGRpdiBjbGFzcz1cIm10LTYgcm91bmRlZC1sZyB0ZXh0LWdyYXktODAwIHAtNCBiZy1zbGF0ZS0xMDBcIj5cbiAgPGduLXVpLW9yZ2FuaXNhdGlvbnMtcmVzdWx0XG4gICAgKm5nSWY9XCJvcmdhbmlzYXRpb25zVG90YWwkIHwgYXN5bmNcIlxuICAgIFtoaXRzXT1cIm9yZ2FuaXNhdGlvblJlc3VsdHNcIlxuICAgIFt0b3RhbF09XCJvcmdhbmlzYXRpb25zVG90YWwkIHwgYXN5bmNcIlxuICA+PC9nbi11aS1vcmdhbmlzYXRpb25zLXJlc3VsdD5cbjwvZGl2PlxuPGRpdlxuICBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbXQtNiBnYXAteC02IGdhcC15LTggc206Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTNcIlxuPlxuICA8Z24tdWktY29udGVudC1naG9zdFxuICAgIGNsYXNzPVwiaC1bMzAwcHhdXCJcbiAgICBnaG9zdENsYXNzPVwiaC1mdWxsIG1iLTM2XCJcbiAgICAqbmdGb3I9XCJsZXQgb3JnYW5pc2F0aW9uIG9mIG9yZ2FuaXNhdGlvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiXG4gICAgW3Nob3dDb250ZW50XT1cIiEhb3JnYW5pc2F0aW9uLm5hbWVcIlxuICA+XG4gICAgPGduLXVpLW9yZ2FuaXNhdGlvbi1wcmV2aWV3XG4gICAgICBbb3JnYW5pc2F0aW9uXT1cIm9yZ2FuaXNhdGlvblwiXG4gICAgICBbb3JnYW5pc2F0aW9uVXJsXT1cImdldE9yZ2FuaXNhdGlvblVybChvcmdhbmlzYXRpb24pXCJcbiAgICAgIChjbGlja2VkT3JnYW5pc2F0aW9uKT1cIm9yZ1NlbGVjdC5lbWl0KCRldmVudClcIlxuICAgID48L2duLXVpLW9yZ2FuaXNhdGlvbi1wcmV2aWV3PlxuICA8L2duLXVpLWNvbnRlbnQtZ2hvc3Q+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJweS0yMFwiPlxuICA8Z24tdWktcGFnaW5hdGlvblxuICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZSQgfCBhc3luY1wiXG4gICAgW25QYWdlc109XCJ0b3RhbFBhZ2VzXCJcbiAgICAobmV3Q3VycmVudFBhZ2VFdmVudCk9XCJzZXRDdXJyZW50UGFnZSgkZXZlbnQpXCJcbiAgPjwvZ24tdWktcGFnaW5hdGlvbj5cbjwvZGl2PlxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvY2F0YWxvZy9zcmMvbGliL29yZ2FuaXNhdGlvbnMvb3JnYW5pc2F0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvY2F0YWxvZy9zcmMvbGliL29yZ2FuaXNhdGlvbnMvb3JnYW5pc2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhFQUE4RSxDQUFBO0FBRTVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOzs7Ozs7Ozs7QUFRMUUsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLG9CQUFtRCxFQUduRCxXQUFtQjtRQUhuQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQStCO1FBR25ELGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBUHBCLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBQ2YsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFBO1FBVXRELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFckMsWUFBTyxHQUFpQyxJQUFJLGVB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bEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTs7MEJBUTVDLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsc0JBQXNCOzRDQU52QixXQUFXO3NCQUFuQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPcmdhbml6YXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgT1JHQU5JWkFUSU9OX1VSTF9UT0tFTiB9IGZyb20gJy4uL2ZlYXR1cmUtY2F0YWxvZy5tb2R1bGUnXG5pbXBvcnQgeyBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL29yZ2FuaXphdGlvbnMuc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBTb3J0QnlGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3NlYXJjaCdcbmltcG9ydCB7IGNyZWF0ZUZ1enp5RmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW9yZ2FuaXNhdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vb3JnYW5pc2F0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29yZ2FuaXNhdGlvbnMuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT3JnYW5pc2F0aW9uc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW1zT25QYWdlID0gMTJcbiAgQE91dHB1dCgpIG9yZ1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8T3JnYW5pemF0aW9uPigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvcmdhbmlzYXRpb25zU2VydmljZTogT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KE9SR0FOSVpBVElPTl9VUkxfVE9LRU4pXG4gICAgcHJpdmF0ZSB1cmxUZW1wbGF0ZTogc3RyaW5nXG4gICkge31cblxuICB0b3RhbFBhZ2VzOiBudW1iZXJcbiAgY3VycmVudFBhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgxKVxuICBvcmdhbmlzYXRpb25SZXN1bHRzOiBudW1iZXJcbiAgc29ydEJ5JDogQmVoYXZpb3JTdWJqZWN0PFNvcnRCeUZpZWxkPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoWydhc2MnLCAnbmFtZSddKVxuICBmaWx0ZXJCeSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJylcbiAgb3JnYW5pc2F0aW9uc1RvdGFsJCA9IHRoaXMub3JnYW5pc2F0aW9uc1NlcnZpY2Uub3JnYW5pc2F0aW9uc0NvdW50JFxuICBvcmdhbmlzYXRpb25zRmlsdGVyZWRBbmRTb3J0ZWQkOiBPYnNlcnZhYmxlPE9yZ2FuaXphdGlvbltdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMub3JnYW5pc2F0aW9uc1NlcnZpY2Uub3JnYW5pc2F0aW9ucyQucGlwZShcbiAgICAgIHN0YXJ0V2l0aChBcnJheSh0aGlzLml0ZW1zT25QYWdlKS5maWxsKHt9KSlcbiAgICApLFxuICAgIHRoaXMuc29ydEJ5JCxcbiAgICB0aGlzLmZpbHRlckJ5JCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtvcmdhbmlzYXRpb25zLCBzb3J0QnksIGZpbHRlckJ5XSkgPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWRPcmdhbmlzYXRpb25zID0gdGhpcy5maWx0ZXJPcmdhbmlzYXRpb25zKFxuICAgICAgICBvcmdhbmlzYXRpb25zLFxuICAgICAgICBmaWx0ZXJCeVxuICAgICAgKVxuICAgICAgcmV0dXJuIHRoaXMuc29ydE9yZ2FuaXNhdGlvbnMoZmlsdGVyZWRPcmdhbmlzYXRpb25zLCBzb3J0QnkpXG4gICAgfSlcbiAgKVxuXG4gIG9yZ2FuaXNhdGlvbnMkOiBPYnNlcnZhYmxlPE9yZ2FuaXphdGlvbltdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMub3JnYW5pc2F0aW9uc0ZpbHRlcmVkQW5kU29ydGVkJCxcbiAgICB0aGlzLmN1cnJlbnRQYWdlJCxcbiAgXSkucGlwZShcbiAgICB0YXAoKFtvcmdhbmlzYXRpb25zXSkgPT4ge1xuICAgICAgdGhpcy5vcmdhbmlzYXRpb25SZXN1bHRzID0gb3JnYW5pc2F0aW9ucy5sZW5ndGhcbiAgICAgIHRoaXMudG90YWxQYWdlcyA9IE1hdGguY2VpbChvcmdhbmlzYXRpb25zLmxlbmd0aCAvIHRoaXMuaXRlbXNPblBhZ2UpXG4gICAgfSksXG4gICAgbWFwKChbb3JnYW5pc2F0aW9ucywgcGFnZV0pID0+XG4gICAgICBvcmdhbmlzYXRpb25zLnNsaWNlKFxuICAgICAgICAocGFnZSAtIDEpICogdGhpcy5pdGVtc09uUGFnZSxcbiAgICAgICAgcGFnZSAqIHRoaXMuaXRlbXNPblBhZ2VcbiAgICAgIClcbiAgICApXG4gIClcblxuICBwcm90ZWN0ZWQgc2V0Q3VycmVudFBhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSQubmV4dChwYWdlKVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldEZpbHRlckJ5KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlJC5uZXh0KDEpXG4gICAgdGhpcy5maWx0ZXJCeSQubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRTb3J0QnkodmFsdWU6IFNvcnRCeUZpZWxkKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0QnkkLm5leHQodmFsdWUpXG4gIH1cblxuICBwcml2YXRlIGZpbHRlck9yZ2FuaXNhdGlvbnMob3JnYW5pc2F0aW9uczogT3JnYW5pemF0aW9uW10sIGZpbHRlckJ5OiBzdHJpbmcpIHtcbiAgICBpZiAoIWZpbHRlckJ5KSByZXR1cm4gb3JnYW5pc2F0aW9uc1xuICAgIGNvbnN0IGZpbHRlciA9IGNyZWF0ZUZ1enp5RmlsdGVyKGZpbHRlckJ5KVxuICAgIHJldHVybiBvcmdhbmlzYXRpb25zLmZpbHRlcigob3JnKSA9PiBmaWx0ZXIob3JnLm5hbWUpKVxuICB9XG5cbiAgcHJpdmF0ZSBzb3J0T3JnYW5pc2F0aW9ucyhcbiAgICBvcmdhbmlzYXRpb25zOiBPcmdhbml6YXRpb25bXSxcbiAgICBzb3J0Qnk6IFNvcnRCeUZpZWxkXG4gICk6IE9yZ2FuaXphdGlvbltdIHtcbiAgICBsZXQgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnXG4gICAgbGV0IGF0dHJpYnV0ZTogc3RyaW5nXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc29ydEJ5WzBdKSkge1xuICAgICAgb3JkZXIgPSBzb3J0QnlbMF1bMF1cbiAgICAgIGF0dHJpYnV0ZSA9IHNvcnRCeVswXVsxXVxuICAgIH0gZWxzZSB7XG4gICAgICBvcmRlciA9IHNvcnRCeVswXVxuICAgICAgYXR0cmlidXRlID0gc29ydEJ5WzFdIGFzIHN0cmluZ1xuICAgIH1cbiAgICBjb25zdCBkaXJlY3Rpb24gPSBvcmRlciA9PT0gJ2FzYycgPyAxIDogLTFcbiAgICByZXR1cm4gWy4uLm9yZ2FuaXNhdGlvbnNdLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlQSA9IGFbYXR0cmlidXRlXVxuICAgICAgY29uc3QgdmFsdWVCID0gYlthdHRyaWJ1dGVdXG4gICAgICBpZiAodHlwZW9mIHZhbHVlQSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbHVlQiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiAqIHZhbHVlQS5sb2NhbGVDb21wYXJlKHZhbHVlQilcbiAgICAgIH1cbiAgICAgIHJldHVybiBkaXJlY3Rpb24gKiBNYXRoLnNpZ24odmFsdWVBIC0gdmFsdWVCKVxuICAgIH0pXG4gIH1cblxuICB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBpbmRleFxuICB9XG5cbiAgZ2V0T3JnYW5pc2F0aW9uVXJsKG9yZ2FuaXNhdGlvbjogT3JnYW5pemF0aW9uKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMudXJsVGVtcGxhdGUpIHJldHVybiBudWxsXG4gICAgcmV0dXJuIHRoaXMudXJsVGVtcGxhdGUucmVwbGFjZSgnJHtuYW1lfScsIG9yZ2FuaXNhdGlvbi5uYW1lKVxuICB9XG59XG4iLCI8Z24tdWktb3JnYW5pc2F0aW9ucy1maWx0ZXJcbiAgKHNvcnRCeSk9XCJzZXRTb3J0QnkoJGV2ZW50KVwiXG4gIChmaWx0ZXJCeSk9XCJzZXRGaWx0ZXJCeSgkZXZlbnQpXCJcbj48L2duLXVpLW9yZ2FuaXNhdGlvbnMtZmlsdGVyPlxuPGRpdiBjbGFzcz1cIm10LTYgcm91bmRlZC1sZyB0ZXh0LWdyYXktODAwIHAtNCBiZy1zbGF0ZS0xMDBcIj5cbiAgPGduLXVpLW9yZ2FuaXNhdGlvbnMtcmVzdWx0XG4gICAgKm5nSWY9XCJvcmdhbmlzYXRpb25zVG90YWwkIHwgYXN5bmNcIlxuICAgIFtoaXRzXT1cIm9yZ2FuaXNhdGlvblJlc3VsdHNcIlxuICAgIFt0b3RhbF09XCJvcmdhbmlzYXRpb25zVG90YWwkIHwgYXN5bmNcIlxuICA+PC9nbi11aS1vcmdhbmlzYXRpb25zLXJlc3VsdD5cbjwvZGl2PlxuPGRpdlxuICBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbXQtNiBnYXAteC02IGdhcC15LTggc206Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTNcIlxuPlxuICA8Z24tdWktY29udGVudC1naG9zdFxuICAgIGNsYXNzPVwiaC1bMzAwcHhdXCJcbiAgICBnaG9zdENsYXNzPVwiaC1mdWxsIG1iLTM2XCJcbiAgICAqbmdGb3I9XCJsZXQgb3JnYW5pc2F0aW9uIG9mIG9yZ2FuaXNhdGlvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiXG4gICAgW3Nob3dDb250ZW50XT1cIiEhb3JnYW5pc2F0aW9uLm5hbWVcIlxuICA+XG4gICAgPGduLXVpLW9yZ2FuaXNhdGlvbi1wcmV2aWV3XG4gICAgICBbb3JnYW5pc2F0aW9uXT1cIm9yZ2FuaXNhdGlvblwiXG4gICAgICBbb3JnYW5pc2F0aW9uVXJsXT1cImdldE9yZ2FuaXNhdGlvblVybChvcmdhbmlzYXRpb24pXCJcbiAgICAgIChjbGlja2VkT3JnYW5pc2F0aW9uKT1cIm9yZ1NlbGVjdC5lbWl0KCRldmVudClcIlxuICAgID48L2duLXVpLW9yZ2FuaXNhdGlvbi1wcmV2aWV3PlxuICA8L2duLXVpLWNvbnRlbnQtZ2hvc3Q+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJweS0yMFwiPlxuICA8Z24tdWktcGFnaW5hdGlvblxuICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZSQgfCBhc3luY1wiXG4gICAgW25QYWdlc109XCJ0b3RhbFBhZ2VzXCJcbiAgICAobmV3Q3VycmVudFBhZ2VFdmVudCk9XCJzZXRDdXJyZW50UGFnZSgkZXZlbnQpXCJcbiAgPjwvZ24tdWktcGFnaW5hdGlvbj5cbjwvZGl2PlxuIl19
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
2
2
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
3
3
  import { WfsEndpoint } from '@camptocamp/ogc-client';
4
4
  import { openDataset, SupportedTypes, } from '../../../../../../libs/util/data-fetcher/src';
5
- import { extensionToFormat, getFileFormat, getMimeTypeForFormat, ProxyService, } from '../../../../../../libs/util/shared/src';
5
+ import { getFileFormat, getFileFormatFromServiceOutput, getMimeTypeForFormat, ProxyService, } from '../../../../../../libs/util/shared/src';
6
6
  import { from, throwError } from 'rxjs';
7
7
  import { catchError, map, switchMap, tap } from 'rxjs/operators';
8
8
  import * as i0 from "@angular/core";
@@ -86,15 +86,16 @@ export class DataService {
86
86
  // Pour DL toutes les données
87
87
  return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map((urls) => urls.all), map((urls) => Object.keys(urls).map((format) => ({
88
88
  ...wfsLink,
89
+ type: 'download',
89
90
  url: new URL(urls[format]),
90
- mimeType: getMimeTypeForFormat(extensionToFormat(format)) || format,
91
+ mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
91
92
  }))));
92
93
  }
93
94
  getDownloadLinksFromEsriRest(esriRestLink) {
94
95
  return ['json', 'geojson'].map((format) => ({
95
96
  ...esriRestLink,
96
97
  url: new URL(this.getDownloadUrlFromEsriRest(esriRestLink.url.toString(), format)),
97
- mimeType: getMimeTypeForFormat(extensionToFormat(format)) || format,
98
+ mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
98
99
  }));
99
100
  }
100
101
  readAsGeoJson(link) {
@@ -144,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
144
145
  providedIn: 'root',
145
146
  }]
146
147
  }], ctorParameters: function () { return [{ type: i1.ProxyService }]; } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjL2xpYi9zZXJ2aWNlL2RhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sd0JBQXdCLENBQUE7QUFDaEUsT0FBTyxFQUdMLFdBQVcsRUFFWCxjQUFjLEdBQ2YsTUFBTSw4Q0FBOEMsQ0FBQTtBQUNyRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsWUFBWSxHQUNiLE1BQU0sd0NBQXdDLENBQUE7QUFFL0MsT0FBTyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFNaEUsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7QUFDOUIsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7QUFDOUIsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUE7QUFDakMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7QUFDbEMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUE7QUFDckMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFDL0IsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7QUFDNUIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7QUFDN0IsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFDdkMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFXL0IsTUFBTSxPQUFPLFdB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QUMsUUFBUSxFQUFFLEVBQ25CLFNBQVMsQ0FDVixDQUFBO1lBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1NBQ2hEO1FBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQUNuRCxDQUFDOzhHQWxLVSxXQUFXO2tIQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgV2ZzRW5kcG9pbnQsIFdmc1ZlcnNpb24gfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHtcbiAgQmFzZVJlYWRlcixcbiAgRmV0Y2hFcnJvcixcbiAgb3BlbkRhdGFzZXQsXG4gIFN1cHBvcnRlZFR5cGUsXG4gIFN1cHBvcnRlZFR5cGVzLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYydcbmltcG9ydCB7XG4gIGV4dGVuc2lvblRvRm9ybWF0LFxuICBnZXRGaWxlRm9ybWF0LFxuICBnZXRNaW1lVHlwZUZvckZvcm1hdCxcbiAgUHJveHlTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB0eXBlIHsgRmVhdHVyZUNvbGxlY3Rpb24gfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQge1xuICBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5tYXJrZXIoJ3dmcy51bnJlYWNoYWJsZS5jb3JzJylcbm1hcmtlcignd2ZzLnVucmVhY2hhYmxlLmh0dHAnKVxubWFya2VyKCd3ZnMudW5yZWFjaGFibGUudW5rbm93bicpXG5tYXJrZXIoJ3dmcy5mZWF0dXJldHlwZS5ub3Rmb3VuZCcpXG5tYXJrZXIoJ3dmcy5nZW9qc29uZ21sLm5vdHN1cHBvcnRlZCcpXG5tYXJrZXIoJ2RhdGFzZXQuZXJyb3IubmV0d29yaycpXG5tYXJrZXIoJ2RhdGFzZXQuZXJyb3IuaHR0cCcpXG5tYXJrZXIoJ2RhdGFzZXQuZXJyb3IucGFyc2UnKVxubWFya2VyKCdkYXRhc2V0LmVycm9yLnVuc3VwcG9ydGVkVHlwZScpXG5tYXJrZXIoJ2RhdGFzZXQuZXJyb3IudW5rbm93bicpXG5cbmludGVyZmFjZSBXZnNEb3dubG9hZFVybHMge1xuICBhbGw6IHsgW2Zvcm1hdDogc3RyaW5nXTogc3RyaW5nIH1cbiAgZ2VvanNvbjogc3RyaW5nXG4gIGdtbDogeyBmZWF0dXJlVXJsOiBzdHJpbmc7IG5hbWVzcGFjZTogc3RyaW5nOyB3ZnNWZXJzaW9uOiBXZnNWZXJzaW9uIH1cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm94eTogUHJveHlTZXJ2aWNlKSB7fVxuXG4gIHByaXZhdGUgZ2V0RG93bmxvYWRVcmxzRnJvbVdmcyhcbiAgICB3ZnNVcmw6IHN0cmluZyxcbiAgICBmZWF0dXJlVHlwZU5hbWU6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPFdmc0Rvd25sb2FkVXJscz4ge1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgbmV3IFdmc0VuZHBvaW50KHRoaXMucHJveHkuZ2V0UHJveGllZFVybCh3ZnNVcmwpKS5pc1JlYWR5KClcbiAgICApLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogRmV0Y2hFcnJvciB8IEVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB3ZnMudW5yZWFjaGFibGUudW5rbm93bmApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGVycm9yLnR5cGUgPT09ICduZXR3b3JrJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB3ZnMudW5yZWFjaGFibGUuY29yc2ApXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlcnJvci50eXBlID09PSAnaHR0cCcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgd2ZzLnVucmVhY2hhYmxlLmh0dHBgKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXJyb3IudHlwZSA9PT0gJ3BhcnNlJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB3ZnMudW5yZWFjaGFibGUucGFyc2VgKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXJyb3IudHlwZSA9PT0gJ3Vuc3VwcG9ydGVkVHlwZScpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgd2ZzLnVucmVhY2hhYmxlLnVuc3VwcG9ydGVkVHlwZWApXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgd2ZzLnVucmVhY2hhYmxlLnVua25vd25gKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBtYXAoKGVuZHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGZlYXR1cmVUeXBlcyA9IGVuZHBvaW50LmdldEZlYXR1cmVUeXBlcygpXG4gICAgICAgIGNvbnN0IGZlYXR1cmVUeXBlID0gZW5kcG9pbnQuZ2V0RmVhdHVyZVR5cGVTdW1tYXJ5KFxuICAgICAgICAgIGZlYXR1cmVUeXBlcy5sZW5ndGggPT09IDEgJiYgIWZlYXR1cmVUeXBlTmFtZVxuICAgICAgICAgICAgPyBmZWF0dXJlVHlwZXNbMF0ubmFtZVxuICAgICAgICAgICAgOiBmZWF0dXJlVHlwZU5hbWVcbiAgICAgICAgKVxuICAgICAgICBpZiAoIWZlYXR1cmVUeXBlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd3ZnMuZmVhdHVyZXR5cGUubm90Zm91bmQnKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYWxsOiBmZWF0dXJlVHlwZS5vdXRwdXRGb3JtYXRzLnJlZHVjZShcbiAgICAgICAgICAgIChwcmV2LCBjdXJyKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgICBbY3Vycl06IGVuZHBvaW50LmdldEZlYXR1cmVVcmwoZmVhdHVyZVR5cGUubmFtZSwge1xuICAgICAgICAgICAgICAgIG91dHB1dEZvcm1hdDogY3VycixcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHt9XG4gICAgICAgICAgKSxcbiAgICAgICAgICBnZW9qc29uOiBlbmRwb2ludC5zdXBwb3J0c0pzb24oZmVhdHVyZVR5cGUubmFtZSlcbiAgICAgICAgICAgID8gZW5kcG9pbnQuZ2V0RmVhdHVyZVVybChmZWF0dXJlVHlwZS5uYW1lLCB7XG4gICAgICAgICAgICAgICAgb3V0cHV0Rm9ybWF0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgb3V0cHV0Q3JzOiAnRVBTRzo0MzI2JyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICBnbWw6XG4gICAgICAgICAgICBmZWF0dXJlVHlwZS5vdXRwdXRGb3JtYXRzLmZpbmQoKGYpID0+XG4gICAgICAgICAgICAgIGYudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZ21sJylcbiAgICAgICAgICAgICkgJiZcbiAgICAgICAgICAgIChmZWF0dXJlVHlwZS5kZWZhdWx0Q3JzID09PSAnRVBTRzo0MzI2JyB8fFxuICAgICAgICAgICAgICBmZWF0dXJlVHlwZS5vdGhlckNycz8uaW5jbHVkZXMoJ0VQU0c6NDMyNicpKVxuICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIGZlYXR1cmVVcmw6IGVuZHBvaW50LmdldEZlYXR1cmVVcmwoZmVhdHVyZVR5cGUubmFtZSwge1xuICAgICAgICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQ6IGZlYXR1cmVUeXBlLm91dHB1dEZvcm1hdHMuZmluZCgoZikgPT5cbiAgICAgICAgICAgICAgICAgICAgICBmLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2dtbCcpXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dENyczogJ0VQU0c6NDMyNicsXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZTogZmVhdHVyZVR5cGUubmFtZSxcbiAgICAgICAgICAgICAgICAgIHdmc1ZlcnNpb246IGVuZHBvaW50LmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGdldERvd25sb2FkVXJsRnJvbUVzcmlSZXN0KGFwaVVybDogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJveHkuZ2V0UHJveGllZFVybChcbiAgICAgIGAke2FwaVVybH0vcXVlcnk/Zj0ke2Zvcm1hdH0md2hlcmU9MT0xJm91dEZpZWxkcz0qYFxuICAgIClcbiAgfVxuXG4gIGdldERvd25sb2FkTGlua3NGcm9tV2ZzKFxuICAgIHdmc0xpbms6IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uXG4gICk6IE9ic2VydmFibGU8RGF0YXNldERpc3RyaWJ1dGlvbltdPiB7XG4gICAgLy8gUG91ciBETCB0b3V0ZXMgbGVzIGRvbm7DqWVzXG4gICAgcmV0dXJuIHRoaXMuZ2V0RG93bmxvYWRVcmxzRnJvbVdmcyhcbiAgICAgIHdmc0xpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICB3ZnNMaW5rLm5hbWVcbiAgICApLnBpcGUoXG4gICAgICBtYXAoKHVybHMpID0+IHVybHMuYWxsKSxcbiAgICAgIG1hcCgodXJscykgPT5cbiAgICAgICAgT2JqZWN0LmtleXModXJscykubWFwKChmb3JtYXQpID0+ICh7XG4gICAgICAgICAgLi4ud2ZzTGluayxcbiAgICAgICAgICB1cmw6IG5ldyBVUkwodXJsc1tmb3JtYXRdKSxcbiAgICAgICAgICBtaW1lVHlwZTogZ2V0TWltZVR5cGVGb3JGb3JtYXQoZXh0ZW5zaW9uVG9Gb3JtYXQoZm9ybWF0KSkgfHwgZm9ybWF0LFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBnZXREb3dubG9hZExpbmtzRnJvbUVzcmlSZXN0KFxuICAgIGVzcmlSZXN0TGluazogRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgKTogRGF0YXNldERpc3RyaWJ1dGlvbltdIHtcbiAgICByZXR1cm4gWydqc29uJywgJ2dlb2pzb24nXS5tYXAoKGZvcm1hdCkgPT4gKHtcbiAgICAgIC4uLmVzcmlSZXN0TGluayxcbiAgICAgIHVybDogbmV3IFVSTChcbiAgICAgICAgdGhpcy5nZXREb3dubG9hZFVybEZyb21Fc3JpUmVzdChlc3JpUmVzdExpbmsudXJsLnRvU3RyaW5nKCksIGZvcm1hdClcbiAgICAgICksXG4gICAgICBtaW1lVHlwZTogZ2V0TWltZVR5cGVGb3JGb3JtYXQoZXh0ZW5zaW9uVG9Gb3JtYXQoZm9ybWF0KSkgfHwgZm9ybWF0LFxuICAgIH0pKVxuICB9XG5cbiAgcmVhZEFzR2VvSnNvbihsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uKTogT2JzZXJ2YWJsZTxGZWF0dXJlQ29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmdldERhdGFzZXQobGluaykucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoZGF0YXNldCkgPT4gZGF0YXNldC5zZWxlY3RBbGwoKS5yZWFkKCkpLFxuICAgICAgbWFwKChmZWF0dXJlcykgPT4gKHtcbiAgICAgICAgdHlwZTogJ0ZlYXR1cmVDb2xsZWN0aW9uJyxcbiAgICAgICAgZmVhdHVyZXMsXG4gICAgICB9KSlcbiAgICApXG4gIH1cblxuICBnZXREYXRhc2V0KGxpbms6IERhdGFzZXREaXN0cmlidXRpb24pOiBPYnNlcnZhYmxlPEJhc2VSZWFkZXI+IHtcbiAgICBpZiAobGluay50eXBlID09PSAnc2VydmljZScgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXREb3dubG9hZFVybHNGcm9tV2ZzKGxpbmsudXJsLnRvU3RyaW5nKCksIGxpbmsubmFtZSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh1cmxzKSA9PiB7XG4gICAgICAgICAgaWYgKHVybHMuZ2VvanNvbikgcmV0dXJuIG9wZW5EYXRhc2V0KHVybHMuZ2VvanNvbiwgJ2dlb2pzb24nKVxuICAgICAgICAgIGlmICh1cmxzLmdtbClcbiAgICAgICAgICAgIHJldHVybiBvcGVuRGF0YXNldCh1cmxzLmdtbC5mZWF0dXJlVXJsLCAnZ21sJywge1xuICAgICAgICAgICAgICBuYW1lc3BhY2U6IHVybHMuZ21sLm5hbWVzcGFjZSxcbiAgICAgICAgICAgICAgd2ZzVmVyc2lvbjogdXJscy5nbWwud2ZzVmVyc2lvbixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgodXJsKSA9PiB7XG4gICAgICAgICAgaWYgKHVybCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd3ZnMuZ2VvanNvbmdtbC5ub3RzdXBwb3J0ZWQnKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKGxpbmsudHlwZSA9PT0gJ2Rvd25sb2FkJykge1xuICAgICAgY29uc3QgbGlua1Byb3hpZmllZFVybCA9IHRoaXMucHJveHkuZ2V0UHJveGllZFVybChsaW5rLnVybC50b1N0cmluZygpKVxuICAgICAgY29uc3QgZm9ybWF0ID0gZ2V0RmlsZUZvcm1hdChsaW5rKVxuICAgICAgY29uc3Qgc3VwcG9ydGVkVHlwZSA9XG4gICAgICAgIFN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZm9ybWF0IGFzIGFueSkgPiAtMVxuICAgICAgICAgID8gKGZvcm1hdCBhcyBTdXBwb3J0ZWRUeXBlKVxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICByZXR1cm4gZnJvbShvcGVuRGF0YXNldChsaW5rUHJveGlmaWVkVXJsLCBzdXBwb3J0ZWRUeXBlKSkucGlwZSgpXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ2VzcmlSZXN0J1xuICAgICkge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXREb3dubG9hZFVybEZyb21Fc3JpUmVzdChcbiAgICAgICAgbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgJ2dlb2pzb24nXG4gICAgICApXG4gICAgICByZXR1cm4gZnJvbShvcGVuRGF0YXNldCh1cmwsICdnZW9qc29uJykpLnBpcGUoKVxuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAncHJvdG9jb2wgbm90IHN1cHBvcnRlZCcpXG4gIH1cbn1cbiJdfQ==
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjL2xpYi9zZXJ2aWNlL2RhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sd0JBQXdCLENBQUE7QUFDaEUsT0FBTyxFQUdMLFdBQVcsRUFFWCxjQUFjLEdBQ2YsTUFBTSw4Q0FBOEMsQ0FBQTtBQUNyRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLDhCQUE4QixFQUM5QixvQkFBb0IsRUFDcEIsWUFBWSxHQUNiLE1BQU0sd0NBQXdDLENBQUE7QUFFL0MsT0FBTyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFNaEUsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7QUFDOUIsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7QUFDOUIsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUE7QUFDakMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7QUFDbEMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUE7QUFDckMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFDL0IsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7QUFDNUIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7QUFDN0IsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFDdkMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFXL0IsTUFBTSxPQUFPLFdB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Q0FBQyxRQUFRLEVBQUUsRUFDbkIsU0FBUyxDQUNWLENBQUE7WUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7U0FDaEQ7UUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBQ25ELENBQUM7OEdBcktVLFdBQVc7a0hBQVgsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBXZnNFbmRwb2ludCwgV2ZzVmVyc2lvbiB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQge1xuICBCYXNlUmVhZGVyLFxuICBGZXRjaEVycm9yLFxuICBvcGVuRGF0YXNldCxcbiAgU3VwcG9ydGVkVHlwZSxcbiAgU3VwcG9ydGVkVHlwZXMsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjJ1xuaW1wb3J0IHtcbiAgZ2V0RmlsZUZvcm1hdCxcbiAgZ2V0RmlsZUZvcm1hdEZyb21TZXJ2aWNlT3V0cHV0LFxuICBnZXRNaW1lVHlwZUZvckZvcm1hdCxcbiAgUHJveHlTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB0eXBlIHsgRmVhdHVyZUNvbGxlY3Rpb24gfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQge1xuICBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5tYXJrZXIoJ3dmcy51bnJlYWNoYWJsZS5jb3JzJylcbm1hcmtlcignd2ZzLnVucmVhY2hhYmxlLmh0dHAnKVxubWFya2VyKCd3ZnMudW5yZWFjaGFibGUudW5rbm93bicpXG5tYXJrZXIoJ3dmcy5mZWF0dXJldHlwZS5ub3Rmb3VuZCcpXG5tYXJrZXIoJ3dmcy5nZW9qc29uZ21sLm5vdHN1cHBvcnRlZCcpXG5tYXJrZXIoJ2RhdGFzZXQuZXJyb3IubmV0d29yaycpXG5tYXJrZXIoJ2RhdGFzZXQuZXJyb3IuaHR0cCcpXG5tYXJrZXIoJ2RhdGFzZXQuZXJyb3IucGFyc2UnKVxubWFya2VyKCdkYXRhc2V0LmVycm9yLnVuc3VwcG9ydGVkVHlwZScpXG5tYXJrZXIoJ2RhdGFzZXQuZXJyb3IudW5rbm93bicpXG5cbmludGVyZmFjZSBXZnNEb3dubG9hZFVybHMge1xuICBhbGw6IHsgW2Zvcm1hdDogc3RyaW5nXTogc3RyaW5nIH1cbiAgZ2VvanNvbjogc3RyaW5nXG4gIGdtbDogeyBmZWF0dXJlVXJsOiBzdHJpbmc7IG5hbWVzcGFjZTogc3RyaW5nOyB3ZnNWZXJzaW9uOiBXZnNWZXJzaW9uIH1cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm94eTogUHJveHlTZXJ2aWNlKSB7fVxuXG4gIGdldERvd25sb2FkVXJsc0Zyb21XZnMoXG4gICAgd2ZzVXJsOiBzdHJpbmcsXG4gICAgZmVhdHVyZVR5cGVOYW1lOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxXZnNEb3dubG9hZFVybHM+IHtcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIG5ldyBXZnNFbmRwb2ludCh0aGlzLnByb3h5LmdldFByb3hpZWRVcmwod2ZzVXJsKSkuaXNSZWFkeSgpXG4gICAgKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEZldGNoRXJyb3IgfCBFcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgd2ZzLnVucmVhY2hhYmxlLnVua25vd25gKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChlcnJvci50eXBlID09PSAnbmV0d29yaycpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgd2ZzLnVucmVhY2hhYmxlLmNvcnNgKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXJyb3IudHlwZSA9PT0gJ2h0dHAnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHdmcy51bnJlYWNoYWJsZS5odHRwYClcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVycm9yLnR5cGUgPT09ICdwYXJzZScpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgd2ZzLnVucmVhY2hhYmxlLnBhcnNlYClcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVycm9yLnR5cGUgPT09ICd1bnN1cHBvcnRlZFR5cGUnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHdmcy51bnJlYWNoYWJsZS51bnN1cHBvcnRlZFR5cGVgKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHdmcy51bnJlYWNoYWJsZS51bmtub3duYClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgbWFwKChlbmRwb2ludCkgPT4ge1xuICAgICAgICBjb25zdCBmZWF0dXJlVHlwZXMgPSBlbmRwb2ludC5nZXRGZWF0dXJlVHlwZXMoKVxuICAgICAgICBjb25zdCBmZWF0dXJlVHlwZSA9IGVuZHBvaW50LmdldEZlYXR1cmVUeXBlU3VtbWFyeShcbiAgICAgICAgICBmZWF0dXJlVHlwZXMubGVuZ3RoID09PSAxICYmICFmZWF0dXJlVHlwZU5hbWVcbiAgICAgICAgICAgID8gZmVhdHVyZVR5cGVzWzBdLm5hbWVcbiAgICAgICAgICAgIDogZmVhdHVyZVR5cGVOYW1lXG4gICAgICAgIClcbiAgICAgICAgaWYgKCFmZWF0dXJlVHlwZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignd2ZzLmZlYXR1cmV0eXBlLm5vdGZvdW5kJylcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGFsbDogZmVhdHVyZVR5cGUub3V0cHV0Rm9ybWF0cy5yZWR1Y2UoXG4gICAgICAgICAgICAocHJldiwgY3VycikgPT4gKHtcbiAgICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgICAgW2N1cnJdOiBlbmRwb2ludC5nZXRGZWF0dXJlVXJsKGZlYXR1cmVUeXBlLm5hbWUsIHtcbiAgICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQ6IGN1cnIsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7fVxuICAgICAgICAgICksXG4gICAgICAgICAgZ2VvanNvbjogZW5kcG9pbnQuc3VwcG9ydHNKc29uKGZlYXR1cmVUeXBlLm5hbWUpXG4gICAgICAgICAgICA/IGVuZHBvaW50LmdldEZlYXR1cmVVcmwoZmVhdHVyZVR5cGUubmFtZSwge1xuICAgICAgICAgICAgICAgIG91dHB1dEZvcm1hdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICAgIG91dHB1dENyczogJ0VQU0c6NDMyNicsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgZ21sOlxuICAgICAgICAgICAgZmVhdHVyZVR5cGUub3V0cHV0Rm9ybWF0cy5maW5kKChmKSA9PlxuICAgICAgICAgICAgICBmLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2dtbCcpXG4gICAgICAgICAgICApICYmXG4gICAgICAgICAgICAoZmVhdHVyZVR5cGUuZGVmYXVsdENycyA9PT0gJ0VQU0c6NDMyNicgfHxcbiAgICAgICAgICAgICAgZmVhdHVyZVR5cGUub3RoZXJDcnM/LmluY2x1ZGVzKCdFUFNHOjQzMjYnKSlcbiAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICBmZWF0dXJlVXJsOiBlbmRwb2ludC5nZXRGZWF0dXJlVXJsKGZlYXR1cmVUeXBlLm5hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0cHV0Rm9ybWF0OiBmZWF0dXJlVHlwZS5vdXRwdXRGb3JtYXRzLmZpbmQoKGYpID0+XG4gICAgICAgICAgICAgICAgICAgICAgZi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdnbWwnKVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBvdXRwdXRDcnM6ICdFUFNHOjQzMjYnLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6IGZlYXR1cmVUeXBlLm5hbWUsXG4gICAgICAgICAgICAgICAgICB3ZnNWZXJzaW9uOiBlbmRwb2ludC5nZXRWZXJzaW9uKCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0RG93bmxvYWRVcmxGcm9tRXNyaVJlc3QoYXBpVXJsOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm94eS5nZXRQcm94aWVkVXJsKFxuICAgICAgYCR7YXBpVXJsfS9xdWVyeT9mPSR7Zm9ybWF0fSZ3aGVyZT0xPTEmb3V0RmllbGRzPSpgXG4gICAgKVxuICB9XG5cbiAgZ2V0RG93bmxvYWRMaW5rc0Zyb21XZnMoXG4gICAgd2ZzTGluazogRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgKTogT2JzZXJ2YWJsZTxEYXRhc2V0RGlzdHJpYnV0aW9uW10+IHtcbiAgICAvLyBQb3VyIERMIHRvdXRlcyBsZXMgZG9ubsOpZXNcbiAgICByZXR1cm4gdGhpcy5nZXREb3dubG9hZFVybHNGcm9tV2ZzKFxuICAgICAgd2ZzTGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgIHdmc0xpbmsubmFtZVxuICAgICkucGlwZShcbiAgICAgIG1hcCgodXJscykgPT4gdXJscy5hbGwpLFxuICAgICAgbWFwKCh1cmxzKSA9PlxuICAgICAgICBPYmplY3Qua2V5cyh1cmxzKS5tYXAoKGZvcm1hdCkgPT4gKHtcbiAgICAgICAgICAuLi53ZnNMaW5rLFxuICAgICAgICAgIHR5cGU6ICdkb3dubG9hZCcsXG4gICAgICAgICAgdXJsOiBuZXcgVVJMKHVybHNbZm9ybWF0XSksXG4gICAgICAgICAgbWltZVR5cGU6IGdldE1pbWVUeXBlRm9yRm9ybWF0KFxuICAgICAgICAgICAgZ2V0RmlsZUZvcm1hdEZyb21TZXJ2aWNlT3V0cHV0KGZvcm1hdClcbiAgICAgICAgICApLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBnZXREb3dubG9hZExpbmtzRnJvbUVzcmlSZXN0KFxuICAgIGVzcmlSZXN0TGluazogRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgKTogRGF0YXNldERpc3RyaWJ1dGlvbltdIHtcbiAgICByZXR1cm4gWydqc29uJywgJ2dlb2pzb24nXS5tYXAoKGZvcm1hdCkgPT4gKHtcbiAgICAgIC4uLmVzcmlSZXN0TGluayxcbiAgICAgIHVybDogbmV3IFVSTChcbiAgICAgICAgdGhpcy5nZXREb3dubG9hZFVybEZyb21Fc3JpUmVzdChlc3JpUmVzdExpbmsudXJsLnRvU3RyaW5nKCksIGZvcm1hdClcbiAgICAgICksXG4gICAgICBtaW1lVHlwZTogZ2V0TWltZVR5cGVGb3JGb3JtYXQoZ2V0RmlsZUZvcm1hdEZyb21TZXJ2aWNlT3V0cHV0KGZvcm1hdCkpLFxuICAgIH0pKVxuICB9XG5cbiAgcmVhZEFzR2VvSnNvbihsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uKTogT2JzZXJ2YWJsZTxGZWF0dXJlQ29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmdldERhdGFzZXQobGluaykucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoZGF0YXNldCkgPT4gZGF0YXNldC5zZWxlY3RBbGwoKS5yZWFkKCkpLFxuICAgICAgbWFwKChmZWF0dXJlcykgPT4gKHtcbiAgICAgICAgdHlwZTogJ0ZlYXR1cmVDb2xsZWN0aW9uJyxcbiAgICAgICAgZmVhdHVyZXMsXG4gICAgICB9KSlcbiAgICApXG4gIH1cblxuICBnZXREYXRhc2V0KGxpbms6IERhdGFzZXREaXN0cmlidXRpb24pOiBPYnNlcnZhYmxlPEJhc2VSZWFkZXI+IHtcbiAgICBpZiAobGluay50eXBlID09PSAnc2VydmljZScgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXREb3dubG9hZFVybHNGcm9tV2ZzKGxpbmsudXJsLnRvU3RyaW5nKCksIGxpbmsubmFtZSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh1cmxzKSA9PiB7XG4gICAgICAgICAgaWYgKHVybHMuZ2VvanNvbikgcmV0dXJuIG9wZW5EYXRhc2V0KHVybHMuZ2VvanNvbiwgJ2dlb2pzb24nKVxuICAgICAgICAgIGlmICh1cmxzLmdtbClcbiAgICAgICAgICAgIHJldHVybiBvcGVuRGF0YXNldCh1cmxzLmdtbC5mZWF0dXJlVXJsLCAnZ21sJywge1xuICAgICAgICAgICAgICBuYW1lc3BhY2U6IHVybHMuZ21sLm5hbWVzcGFjZSxcbiAgICAgICAgICAgICAgd2ZzVmVyc2lvbjogdXJscy5nbWwud2ZzVmVyc2lvbixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgodXJsKSA9PiB7XG4gICAgICAgICAgaWYgKHVybCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd3ZnMuZ2VvanNvbmdtbC5ub3RzdXBwb3J0ZWQnKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKGxpbmsudHlwZSA9PT0gJ2Rvd25sb2FkJykge1xuICAgICAgY29uc3QgbGlua1Byb3hpZmllZFVybCA9IHRoaXMucHJveHkuZ2V0UHJveGllZFVybChsaW5rLnVybC50b1N0cmluZygpKVxuICAgICAgY29uc3QgZm9ybWF0ID0gZ2V0RmlsZUZvcm1hdChsaW5rKVxuICAgICAgY29uc3Qgc3VwcG9ydGVkVHlwZSA9XG4gICAgICAgIFN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZm9ybWF0IGFzIGFueSkgPiAtMVxuICAgICAgICAgID8gKGZvcm1hdCBhcyBTdXBwb3J0ZWRUeXBlKVxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICByZXR1cm4gZnJvbShvcGVuRGF0YXNldChsaW5rUHJveGlmaWVkVXJsLCBzdXBwb3J0ZWRUeXBlKSkucGlwZSgpXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ2VzcmlSZXN0J1xuICAgICkge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXREb3dubG9hZFVybEZyb21Fc3JpUmVzdChcbiAgICAgICAgbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgJ2dlb2pzb24nXG4gICAgICApXG4gICAgICByZXR1cm4gZnJvbShvcGVuRGF0YXNldCh1cmwsICdnZW9qc29uJykpLnBpcGUoKVxuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAncHJvdG9jb2wgbm90IHN1cHBvcnRlZCcpXG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,11 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { EditorService } from '../services/editor.service';
4
+ import { UiInputsModule } from '../../../../../../libs/ui/inputs/src';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../services/editor.service";
6
7
  import * as i2 from "@angular/common";
8
+ import * as i3 from "../../../../../ui/inputs/src/lib/form-field/form-field.component";
7
9
  export class RecordFormComponent {
8
10
  constructor(editorService) {
9
11
  this.editorService = editorService;
@@ -15,10 +17,10 @@ export class RecordFormComponent {
15
17
  return field.config.model;
16
18
  }
17
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordFormComponent, deps: [{ token: i1.EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordFormComponent, isStandalone: true, selector: "gn-ui-record-form", ngImport: i0, template: "<div class=\"flex flex-col gap-6\">\n <gn-ui-form-field\n *ngFor=\"let field of editorService.fields$ | async; trackBy: fieldTracker\"\n [config]=\"field.config\"\n [value]=\"field.value\"\n (valueChange)=\"handleFieldValueChange(field.config.model, $event)\"\n ></gn-ui-form-field>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordFormComponent, isStandalone: true, selector: "gn-ui-record-form", ngImport: i0, template: "<div class=\"flex flex-col gap-6\">\n <gn-ui-form-field\n *ngFor=\"let field of editorService.fields$ | async; trackBy: fieldTracker\"\n [config]=\"field.config\"\n [value]=\"field.value\"\n (valueChange)=\"handleFieldValueChange(field.config.model, $event)\"\n ></gn-ui-form-field>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i3.FormFieldComponent, selector: "gn-ui-form-field", inputs: ["config", "value"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
21
  }
20
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordFormComponent, decorators: [{
21
23
  type: Component,
22
- args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div class=\"flex flex-col gap-6\">\n <gn-ui-form-field\n *ngFor=\"let field of editorService.fields$ | async; trackBy: fieldTracker\"\n [config]=\"field.config\"\n [value]=\"field.value\"\n (valueChange)=\"handleFieldValueChange(field.config.model, $event)\"\n ></gn-ui-form-field>\n</div>\n" }]
24
+ args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, UiInputsModule], template: "<div class=\"flex flex-col gap-6\">\n <gn-ui-form-field\n *ngFor=\"let field of editorService.fields$ | async; trackBy: fieldTracker\"\n [config]=\"field.config\"\n [value]=\"field.value\"\n (valueChange)=\"handleFieldValueChange(field.config.model, $event)\"\n ></gn-ui-form-field>\n</div>\n" }]
23
25
  }], ctorParameters: function () { return [{ type: i1.EditorService }]; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL3JlY29yZC1mb3JtL3JlY29yZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9yZWNvcmQtZm9ybS9yZWNvcmQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFhLE1BQU0sNEJBQTRCLENBQUE7Ozs7QUFVckUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFtQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFbkQsc0JBQXNCLENBQUMsU0FBaUIsRUFBRSxLQUFjO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYSxFQUFFLEtBQWdCO1FBQzFDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7SUFDM0IsQ0FBQzs4R0FUVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw2RUNaaEMsb1RBUUEseURERVksWUFBWTs7MkZBRVgsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSwgRm9ybUZpZWxkIH0gZnJvbSAnLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlY29yZC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY29yZC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjb3JkLWZvcm0uY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1Db21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge31cblxuICBoYW5kbGVGaWVsZFZhbHVlQ2hhbmdlKGZpZWxkTmFtZTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuZWRpdG9yU2VydmljZS51cGRhdGVSZWNvcmRGaWVsZChmaWVsZE5hbWUsIHZhbHVlKVxuICB9XG5cbiAgZmllbGRUcmFja2VyKGluZGV4OiBudW1iZXIsIGZpZWxkOiBGb3JtRmllbGQpIHtcbiAgICByZXR1cm4gZmllbGQuY29uZmlnLm1vZGVsXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC02XCI+XG4gIDxnbi11aS1mb3JtLWZpZWxkXG4gICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGVkaXRvclNlcnZpY2UuZmllbGRzJCB8IGFzeW5jOyB0cmFja0J5OiBmaWVsZFRyYWNrZXJcIlxuICAgIFtjb25maWddPVwiZmllbGQuY29uZmlnXCJcbiAgICBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVGaWVsZFZhbHVlQ2hhbmdlKGZpZWxkLmNvbmZpZy5tb2RlbCwgJGV2ZW50KVwiXG4gID48L2duLXVpLWZvcm0tZmllbGQ+XG48L2Rpdj5cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL3JlY29yZC1mb3JtL3JlY29yZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9yZWNvcmQtZm9ybS9yZWNvcmQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFhLE1BQU0sNEJBQTRCLENBQUE7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFBOzs7OztBQVVyRSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW1CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUVuRCxzQkFBc0IsQ0FBQyxTQUFpQixFQUFFLEtBQWM7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhLEVBQUUsS0FBZ0I7UUFDMUMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtJQUMzQixDQUFDOzhHQVRVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDZFQ2JoQyxvVEFRQSx5RERHWSxZQUFZLGdOQUFFLGNBQWM7OzJGQUUzQixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSwgRm9ybUZpZWxkIH0gZnJvbSAnLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnXG5pbXBvcnQgeyBVaUlucHV0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVjb3JkLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjb3JkLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNvcmQtZm9ybS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBVaUlucHV0c01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJlY29yZEZvcm1Db21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge31cblxuICBoYW5kbGVGaWVsZFZhbHVlQ2hhbmdlKGZpZWxkTmFtZTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuZWRpdG9yU2VydmljZS51cGRhdGVSZWNvcmRGaWVsZChmaWVsZE5hbWUsIHZhbHVlKVxuICB9XG5cbiAgZmllbGRUcmFja2VyKGluZGV4OiBudW1iZXIsIGZpZWxkOiBGb3JtRmllbGQpIHtcbiAgICByZXR1cm4gZmllbGQuY29uZmlnLm1vZGVsXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC02XCI+XG4gIDxnbi11aS1mb3JtLWZpZWxkXG4gICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGVkaXRvclNlcnZpY2UuZmllbGRzJCB8IGFzeW5jOyB0cmFja0J5OiBmaWVsZFRyYWNrZXJcIlxuICAgIFtjb25maWddPVwiZmllbGQuY29uZmlnXCJcbiAgICBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVGaWVsZFZhbHVlQ2hhbmdlKGZpZWxkLmNvbmZpZy5tb2RlbCwgJGV2ZW50KVwiXG4gID48L2duLXVpLWZvcm0tZmllbGQ+XG48L2Rpdj5cbiJdfQ==
@@ -17,4 +17,5 @@ export * from './lib/layers-panel/layers-panel.component';
17
17
  export * from './lib/add-layer-from-catalog/add-layer-from-catalog.component';
18
18
  export * from './lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component';
19
19
  export * from './lib/map-container/map-container.component';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrREFBK0QsQ0FBQTtBQUM3RSxjQUFjLDBGQUEwRixDQUFBO0FBQ3hHLGNBQWMsNkNBQTZDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvbWFwLmZhY2FkZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliLytzdGF0ZS9tYXAubW9kZWxzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvK3N0YXRlL21hcC5zZWxlY3RvcnMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvbWFwLnJlZHVjZXInXG5leHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvbWFwLmFjdGlvbnMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mZWF0dXJlLW1hcC5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYW5hZ2VyL21hcC1tYW5hZ2VyLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYW5hZ2VyL21hcC1pbnN0YW5jZS5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mZWF0dXJlLWluZm8vZmVhdHVyZS1pbmZvLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXAtY29udGV4dC9tYXAtY29udGV4dC5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcC1jb250ZXh0L21hcC1jb250ZXh0LnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXAtY29udGV4dC9jb21wb25lbnQvbWFwLWNvbnRleHQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscydcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0eWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGF5ZXJzLXBhbmVsL2xheWVycy1wYW5lbC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nL2FkZC1sYXllci1mcm9tLWNhdGFsb2cuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWRkLWxheWVyLWZyb20tY2F0YWxvZy9hZGQtbGF5ZXItcmVjb3JkLXByZXZpZXcvYWRkLWxheWVyLXJlY29yZC1wcmV2aWV3LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcC1jb250YWluZXIvbWFwLWNvbnRhaW5lci5jb21wb25lbnQnXG4iXX0=
20
+ export * from './lib/geocoding/geocoding.component';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrREFBK0QsQ0FBQTtBQUM3RSxjQUFjLDBGQUEwRixDQUFBO0FBQ3hHLGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxxQ0FBcUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliLytzdGF0ZS9tYXAuZmFjYWRlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvK3N0YXRlL21hcC5tb2RlbHMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi8rc3RhdGUvbWFwLnNlbGVjdG9ycydcbmV4cG9ydCAqIGZyb20gJy4vbGliLytzdGF0ZS9tYXAucmVkdWNlcidcbmV4cG9ydCAqIGZyb20gJy4vbGliLytzdGF0ZS9tYXAuYWN0aW9ucydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZlYXR1cmUtbWFwLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hbmFnZXIvbWFwLW1hbmFnZXIuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hbmFnZXIvbWFwLWluc3RhbmNlLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZlYXR1cmUtaW5mby9mZWF0dXJlLWluZm8uc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcC1jb250ZXh0L21hcC1jb250ZXh0Lm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFwLWNvbnRleHQvbWFwLWNvbnRleHQuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcC1jb250ZXh0L2NvbXBvbmVudC9tYXAtY29udGV4dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3R5bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXllcnMtcGFuZWwvbGF5ZXJzLXBhbmVsLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FkZC1sYXllci1mcm9tLWNhdGFsb2cvYWRkLWxheWVyLWZyb20tY2F0YWxvZy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nL2FkZC1sYXllci1yZWNvcmQtcHJldmlldy9hZGQtbGF5ZXItcmVjb3JkLXByZXZpZXcuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFwLWNvbnRhaW5lci9tYXAtY29udGFpbmVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dlb2NvZGluZy9nZW9jb2RpbmcuY29tcG9uZW50J1xuIl19
@@ -46,7 +46,7 @@ export class AddLayerRecordPreviewComponent extends RecordPreviewComponent {
46
46
  return getLinkLabel(link);
47
47
  }
48
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerRecordPreviewComponent, deps: [{ token: i0.ElementRef }, { token: i1.LinkClassifierService }, { token: i2.MapFacade }, { token: i3.MapUtilsService }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerRecordPreviewComponent, selector: "gn-ui-add-layer-record-preview", usesInheritance: true, ngImport: i0, template: "<div class=\"w-full flex flex-row rounded-sm\" [title]=\"record.abstract\">\n <gn-ui-thumbnail\n class=\"w-16 h-16 shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"flex flex-col p-2 gap-2 overflow-hidden\">\n <h1 class=\"text-sm font-medium truncate\">\n {{ record.title }}\n </h1>\n <ng-container *ngFor=\"let link of mapLinks\">\n <gn-ui-button\n [type]=\"'outline'\"\n (buttonClick)=\"handleLinkClick(link)\"\n extraClass=\"!py-[8px] !px-[12px]\"\n >\n <div class=\"text-left text-[12px] line-clamp-2\">\n {{ getLinkLabel(link) }}\n </div>\n </gn-ui-button>\n </ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i6.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerRecordPreviewComponent, selector: "gn-ui-add-layer-record-preview", usesInheritance: true, ngImport: i0, template: "<div class=\"w-full flex flex-row rounded-sm\" [title]=\"record.abstract\">\n <gn-ui-thumbnail\n class=\"w-16 h-16 shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"flex flex-col p-2 gap-2 overflow-hidden\">\n <h1 class=\"text-sm font-medium truncate\">\n {{ record.title }}\n </h1>\n <ng-container *ngFor=\"let link of mapLinks\">\n <gn-ui-button\n [type]=\"'outline'\"\n (buttonClick)=\"handleLinkClick(link)\"\n extraClass=\"!py-[8px] !px-[12px]\"\n >\n <div class=\"text-left text-[12px] line-clamp-2\">\n {{ getLinkLabel(link) }}\n </div>\n </gn-ui-button>\n </ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i6.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
50
  }
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerRecordPreviewComponent, decorators: [{
52
52
  type: Component,
@@ -0,0 +1,106 @@
1
+ import { ChangeDetectorRef, Component } from '@angular/core';
2
+ import { MapFacade } from '../+state/map.facade';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../+state/map.facade";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@ngx-translate/core";
7
+ import * as i4 from "../../../../../ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component";
8
+ const INVALID_FILE_FORMAT_ERROR_MESSAGE = 'Invalid file format';
9
+ export class AddLayerFromFileComponent {
10
+ constructor(mapFacade, changeDetectorRef) {
11
+ this.mapFacade = mapFacade;
12
+ this.changeDetectorRef = changeDetectorRef;
13
+ this.errorMessage = null;
14
+ this.successMessage = null;
15
+ this.loading = false;
16
+ this.acceptedMimeType = ['.geojson'];
17
+ this.maxFileSize = 5000000;
18
+ }
19
+ async handleFileChange(file) {
20
+ if (!file) {
21
+ this.displayMessage(INVALID_FILE_FORMAT_ERROR_MESSAGE, 'error');
22
+ return;
23
+ }
24
+ if (file.size > this.maxFileSize) {
25
+ this.displayMessage('File size exceeds the limit of 5MB', 'error');
26
+ return;
27
+ }
28
+ await this.addLayer(file);
29
+ }
30
+ async addLayer(file) {
31
+ this.errorMessage = null;
32
+ this.loading = true;
33
+ try {
34
+ if (!this.isFileFormatValid(file)) {
35
+ this.displayMessage(INVALID_FILE_FORMAT_ERROR_MESSAGE, 'error');
36
+ return;
37
+ }
38
+ const fileExtension = this.getFileExtension(file);
39
+ switch (fileExtension) {
40
+ case 'geojson':
41
+ await this.addGeoJsonLayer(file);
42
+ break;
43
+ default:
44
+ this.displayMessage(INVALID_FILE_FORMAT_ERROR_MESSAGE, 'error');
45
+ break;
46
+ }
47
+ }
48
+ catch (error) {
49
+ const err = error;
50
+ this.displayMessage('Error loading file: ' + err.message, 'error');
51
+ }
52
+ finally {
53
+ this.loading = false;
54
+ }
55
+ }
56
+ addGeoJsonLayer(file) {
57
+ return new Promise((resolve, reject) => {
58
+ try {
59
+ const reader = new FileReader();
60
+ reader.onload = () => {
61
+ const result = reader.result;
62
+ const title = file.name.split('.').slice(0, -1).join('.');
63
+ const layerToAdd = {
64
+ type: 'geojson',
65
+ data: result,
66
+ };
67
+ this.mapFacade.addLayer({ ...layerToAdd, title: title });
68
+ this.displayMessage('File successfully added to map', 'success');
69
+ resolve();
70
+ };
71
+ reader.onerror = reject;
72
+ reader.readAsText(file);
73
+ }
74
+ catch (error) {
75
+ reject(error);
76
+ }
77
+ });
78
+ }
79
+ isFileFormatValid(file) {
80
+ const fileExtension = this.getFileExtension(file);
81
+ return this.acceptedMimeType.includes(`.${fileExtension}`);
82
+ }
83
+ getFileExtension(file) {
84
+ return file.name.split('.').pop();
85
+ }
86
+ displayMessage(message, type) {
87
+ if (type === 'success') {
88
+ this.successMessage = message;
89
+ }
90
+ else if (type === 'error') {
91
+ this.errorMessage = message;
92
+ }
93
+ setTimeout(() => {
94
+ this.successMessage = null;
95
+ this.errorMessage = null;
96
+ this.changeDetectorRef.detectChanges();
97
+ }, 5000);
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromFileComponent, deps: [{ token: i1.MapFacade }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerFromFileComponent, selector: "gn-ui-add-layer-from-file", ngImport: i0, template: "<div class=\"flex flex-col gap-2 my-2\">\n <div class=\"flex items-center gap-4\">\n <div class=\"flex-grow rounded-md border-2 border-gray-200\">\n <gn-ui-drag-and-drop-file-input\n (fileChange)=\"handleFileChange($event)\"\n [accept]=\"acceptedMimeType.join(',')\"\n [placeholder]=\"'map.addFromFile.placeholder' | translate\"\n class=\"placeholder-grey\"\n ></gn-ui-drag-and-drop-file-input>\n </div>\n </div>\n <p class=\"text-sm text-gray-600\" translate>map.help.addFromFile</p>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"successMessage\" class=\"text-green-500 mt-2\">\n {{ successMessage }}\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.DragAndDropFileInputComponent, selector: "gn-ui-drag-and-drop-file-input", inputs: ["placeholder", "accept"], outputs: ["fileChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromFileComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'gn-ui-add-layer-from-file', template: "<div class=\"flex flex-col gap-2 my-2\">\n <div class=\"flex items-center gap-4\">\n <div class=\"flex-grow rounded-md border-2 border-gray-200\">\n <gn-ui-drag-and-drop-file-input\n (fileChange)=\"handleFileChange($event)\"\n [accept]=\"acceptedMimeType.join(',')\"\n [placeholder]=\"'map.addFromFile.placeholder' | translate\"\n class=\"placeholder-grey\"\n ></gn-ui-drag-and-drop-file-input>\n </div>\n </div>\n <p class=\"text-sm text-gray-600\" translate>map.help.addFromFile</p>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"successMessage\" class=\"text-green-500 mt-2\">\n {{ successMessage }}\n</div>\n" }]
105
+ }], ctorParameters: function () { return [{ type: i1.MapFacade }, { type: i0.ChangeDetectorRef }]; } });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20tZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvYWRkLWxheWVyLWZyb20tZmlsZS9hZGQtbGF5ZXItZnJvbS1maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1maWxlL2FkZC1sYXllci1mcm9tLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7Ozs7OztBQUVoRCxNQUFNLGlDQUFpQyxHQUFHLHFCQUFxQixDQUFBO0FBTy9ELE1BQU0sT0FBTyx5QkFBeUI7SUFPcEMsWUFDVSxTQUFvQixFQUNwQixpQkFBb0M7UUFEcEMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUjlDLGlCQUFZLEdBQWtCLElBQUksQ0FBQTtRQUNsQyxtQkFBYyxHQUFrQixJQUFJLENBQUE7UUFDcEMsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUNOLHFCQUFnQixHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDL0IsZ0JBQVcsR0FBRyxPQUFPLENBQUE7SUFLM0IsQ0FBQztJQUVKLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFVO1FBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLGlDQUFpQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQy9ELE9BQU07U0FDUDtRQUNELElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hD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QUFDO0lBRU8sY0FBYyxDQUFDLE9BQWUsRUFBRSxJQUF5QjtRQUMvRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUE7U0FDOUI7YUFBTSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUE7U0FDNUI7UUFFRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUE7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7WUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3hDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNWLENBQUM7OEdBOUZVLHlCQUF5QjtrR0FBekIseUJBQXlCLGlFQ1h0Qyx5dEJBcUJBOzsyRkRWYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXBDb250ZXh0TGF5ZXJNb2RlbCB9IGZyb20gJy4uL21hcC1jb250ZXh0L21hcC1jb250ZXh0Lm1vZGVsJ1xuaW1wb3J0IHsgTWFwRmFjYWRlIH0gZnJvbSAnLi4vK3N0YXRlL21hcC5mYWNhZGUnXG5cbmNvbnN0IElOVkFMSURfRklMRV9GT1JNQVRfRVJST1JfTUVTU0FHRSA9ICdJbnZhbGlkIGZpbGUgZm9ybWF0J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1hZGQtbGF5ZXItZnJvbS1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1sYXllci1mcm9tLWZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtbGF5ZXItZnJvbS1maWxlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRkTGF5ZXJGcm9tRmlsZUNvbXBvbmVudCB7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGxcbiAgc3VjY2Vzc01lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsXG4gIGxvYWRpbmcgPSBmYWxzZVxuICByZWFkb25seSBhY2NlcHRlZE1pbWVUeXBlID0gWycuZ2VvanNvbiddXG4gIHJlYWRvbmx5IG1heEZpbGVTaXplID0gNTAwMDAwMFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWFwRmFjYWRlOiBNYXBGYWNhZGUsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIGFzeW5jIGhhbmRsZUZpbGVDaGFuZ2UoZmlsZTogRmlsZSkge1xuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhpcy5kaXNwbGF5TWVzc2FnZShJTlZBTElEX0ZJTEVfRk9STUFUX0VSUk9SX01FU1NBR0UsICdlcnJvcicpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKGZpbGUuc2l6ZSA+IHRoaXMubWF4RmlsZVNpemUpIHtcbiAgICAgIHRoaXMuZGlzcGxheU1lc3NhZ2UoJ0ZpbGUgc2l6ZSBleGNlZWRzIHRoZSBsaW1pdCBvZiA1TUInLCAnZXJyb3InKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGF3YWl0IHRoaXMuYWRkTGF5ZXIoZmlsZSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYWRkTGF5ZXIoZmlsZTogRmlsZSkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbFxuICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICB0cnkge1xuICAgICAgaWYgKCF0aGlzLmlzRmlsZUZvcm1hdFZhbGlkKGZpbGUpKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheU1lc3NhZ2UoSU5WQUxJRF9GSUxFX0ZPUk1BVF9FUlJPUl9NRVNTQUdFLCAnZXJyb3InKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZ2V0RmlsZUV4dGVuc2lvbihmaWxlKVxuICAgICAgc3dpdGNoIChmaWxlRXh0ZW5zaW9uKSB7XG4gICAgICAgIGNhc2UgJ2dlb2pzb24nOlxuICAgICAgICAgIGF3YWl0IHRoaXMuYWRkR2VvSnNvbkxheWVyKGZpbGUpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLmRpc3BsYXlNZXNzYWdlKElOVkFMSURfRklMRV9GT1JNQVRfRVJST1JfTUVTU0FHRSwgJ2Vycm9yJylcbiAgICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvclxuICAgICAgdGhpcy5kaXNwbGF5TWVzc2FnZSgnRXJyb3IgbG9hZGluZyBmaWxlOiAnICsgZXJyLm1lc3NhZ2UsICdlcnJvcicpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRHZW9Kc29uTGF5ZXIoZmlsZTogRmlsZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmdcbiAgICAgICAgICBjb25zdCB0aXRsZSA9IGZpbGUubmFtZS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKS5qb2luKCcuJylcbiAgICAgICAgICBjb25zdCBsYXllclRvQWRkOiBNYXBDb250ZXh0TGF5ZXJNb2RlbCA9IHtcbiAgICAgICAgICAgIHR5cGU6ICdnZW9qc29uJyxcbiAgICAgICAgICAgIGRhdGE6IHJlc3VsdCxcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5tYXBGYWNhZGUuYWRkTGF5ZXIoeyAuLi5sYXllclRvQWRkLCB0aXRsZTogdGl0bGUgfSlcbiAgICAgICAgICB0aGlzLmRpc3BsYXlNZXNzYWdlKCdGaWxlIHN1Y2Nlc3NmdWxseSBhZGRlZCB0byBtYXAnLCAnc3VjY2VzcycpXG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIH1cbiAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSByZWplY3RcbiAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBpc0ZpbGVGb3JtYXRWYWxpZChmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZ2V0RmlsZUV4dGVuc2lvbihmaWxlKVxuICAgIHJldHVybiB0aGlzLmFjY2VwdGVkTWltZVR5cGUuaW5jbHVkZXMoYC4ke2ZpbGVFeHRlbnNpb259YClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKClcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGxheU1lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCB0eXBlOiAnc3VjY2VzcycgfCAnZXJyb3InKSB7XG4gICAgaWYgKHR5cGUgPT09ICdzdWNjZXNzJykge1xuICAgICAgdGhpcy5zdWNjZXNzTWVzc2FnZSA9IG1lc3NhZ2VcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdlcnJvcicpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbWVzc2FnZVxuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zdWNjZXNzTWVzc2FnZSA9IG51bGxcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbFxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICB9LCA1MDAwKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMiBteS0yXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3cgcm91bmRlZC1tZCBib3JkZXItMiBib3JkZXItZ3JheS0yMDBcIj5cbiAgICAgIDxnbi11aS1kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXRcbiAgICAgICAgKGZpbGVDaGFuZ2UpPVwiaGFuZGxlRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2FjY2VwdF09XCJhY2NlcHRlZE1pbWVUeXBlLmpvaW4oJywnKVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInbWFwLmFkZEZyb21GaWxlLnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIGNsYXNzPVwicGxhY2Vob2xkZXItZ3JleVwiXG4gICAgICA+PC9nbi11aS1kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8cCBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTYwMFwiIHRyYW5zbGF0ZT5tYXAuaGVscC5hZGRGcm9tRmlsZTwvcD5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgY2xhc3M9XCJ0ZXh0LXJlZC01MDAgbXQtMlwiPlxuICB7eyBlcnJvck1lc3NhZ2UgfX1cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwic3VjY2Vzc01lc3NhZ2VcIiBjbGFzcz1cInRleHQtZ3JlZW4tNTAwIG10LTJcIj5cbiAge3sgc3VjY2Vzc01lc3NhZ2UgfX1cbjwvZGl2PlxuIl19
@@ -0,0 +1,64 @@
1
+ import { ChangeDetectorRef, Component } from '@angular/core';
2
+ import { WfsEndpoint } from '@camptocamp/ogc-client';
3
+ import { Subject } from 'rxjs';
4
+ import { MapContextLayerTypeEnum, } from '../map-context/map-context.model';
5
+ import { MapFacade } from '../+state/map.facade';
6
+ import { debounceTime } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../+state/map.facade";
9
+ import * as i2 from "@angular/common";
10
+ import * as i3 from "@ngx-translate/core";
11
+ import * as i4 from "../../../../../ui/inputs/src/lib/button/button.component";
12
+ import * as i5 from "../../../../../ui/inputs/src/lib/text-input/text-input.component";
13
+ export class AddLayerFromWfsComponent {
14
+ constructor(mapFacade, changeDetectorRef) {
15
+ this.mapFacade = mapFacade;
16
+ this.changeDetectorRef = changeDetectorRef;
17
+ this.wfsUrl = '';
18
+ this.loading = false;
19
+ this.layers = [];
20
+ this.wfsEndpoint = null;
21
+ this.urlChange = new Subject();
22
+ this.errorMessage = null;
23
+ }
24
+ ngOnInit() {
25
+ this.urlChange.pipe(debounceTime(700)).subscribe(() => this.loadLayers());
26
+ }
27
+ async loadLayers() {
28
+ this.errorMessage = null;
29
+ try {
30
+ this.loading = true;
31
+ if (this.wfsUrl.trim() === '') {
32
+ this.layers = [];
33
+ return;
34
+ }
35
+ this.wfsEndpoint = await new WfsEndpoint(this.wfsUrl).isReady();
36
+ this.layers = this.wfsEndpoint.getFeatureTypes();
37
+ console.log(this.layers);
38
+ }
39
+ catch (error) {
40
+ const err = error;
41
+ this.layers = [];
42
+ this.errorMessage = 'Error loading layers: ' + err.message;
43
+ }
44
+ finally {
45
+ this.loading = false;
46
+ this.changeDetectorRef.markForCheck();
47
+ }
48
+ }
49
+ addLayer(layer) {
50
+ const layerToAdd = {
51
+ name: layer.name,
52
+ url: this.wfsUrl.toString(),
53
+ type: MapContextLayerTypeEnum.WFS,
54
+ };
55
+ this.mapFacade.addLayer({ ...layerToAdd, title: layer.title });
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromWfsComponent, deps: [{ token: i1.MapFacade }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerFromWfsComponent, selector: "gn-ui-add-layer-from-wfs", ngImport: i0, template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"wfsUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.wfs.urlInput.hint' | translate\"\n class=\"w-96\"\n >\n </gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<div *ngIf=\"!loading && layers.length > 0\">\n <h2 class=\"font-bold\" translate>map.layers.available</h2>\n <ng-container *ngFor=\"let layer of layers\">\n <div class=\"flex items-center justify-between my-2 layer-item-tree\">\n <p class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\">\n {{ layer.title }}\n </p>\n <gn-ui-button\n *ngIf=\"layer.name\"\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer)\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n ><span translate> map.layer.add </span></gn-ui-button\n >\n </div>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i5.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "hint", "required"], outputs: ["valueChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromWfsComponent, decorators: [{
61
+ type: Component,
62
+ args: [{ selector: 'gn-ui-add-layer-from-wfs', template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"wfsUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.wfs.urlInput.hint' | translate\"\n class=\"w-96\"\n >\n </gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<div *ngIf=\"!loading && layers.length > 0\">\n <h2 class=\"font-bold\" translate>map.layers.available</h2>\n <ng-container *ngFor=\"let layer of layers\">\n <div class=\"flex items-center justify-between my-2 layer-item-tree\">\n <p class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\">\n {{ layer.title }}\n </p>\n <gn-ui-button\n *ngIf=\"layer.name\"\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer)\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n ><span translate> map.layer.add </span></gn-ui-button\n >\n </div>\n </ng-container>\n</div>\n" }]
63
+ }], ctorParameters: function () { return [{ type: i1.MapFacade }, { type: i0.ChangeDetectorRef }]; } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20td2ZzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS13ZnMvYWRkLWxheWVyLWZyb20td2ZzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS13ZnMvYWRkLWxheWVyLWZyb20td2ZzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlCLE9BQU8sRUFFTCx1QkFBdUIsR0FDeEIsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7Ozs7O0FBTzdDLE1BQU0sT0FBTyx3QkFBd0I7SUFRbkMsWUFDVSxTQUFvQixFQUNwQixpQkFBb0M7UUFEcEMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBVDlDLFdBQU0sR0FBRyxFQUFFLENBQUE7UUFDWCxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsV0FBTSxHQUEwQixFQUFFLENBQUE7UUFDbEMsZ0JBQVcsR0FBdUIsSUFBSSxDQUFBO1FBQ3RDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFBO1FBQ2pDLGlCQUFZLEdBQWtCLElBQUksQ0FBQTtJQUsvQixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUN4QixJQUFJO1lBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7WUFFbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7Z0JBQ2hCLE9BQU07YUFDUDtZQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDL0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFBO1lBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1NBQ3pCO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxNQUFNLEdBQUcsR0FBRyxLQUFjLENBQUE7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7WUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyx3QkFBd0IsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFBO1NBQzNEO2dCQUFTO1lBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7WUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFBO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUEwQjtRQUNqQyxNQUFNLFVBQVUsR0FBeUI7WUFDdkMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUMzQixJQUFJLEVBQUUsdUJBQXVCLENBQUMsR0FBRztTQUNsQyxDQUFBO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDaEUsQ0FBQzs4R0EvQ1Usd0JBQXdCO2tHQUF4Qix3QkFBd0IsZ0VDZnJDLCtsQ0FxQ0E7OzJGRHRCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFdmc0VuZHBvaW50LCBXZnNGZWF0dXJlVHlwZUJyaWVmIH0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHtcbiAgTWFwQ29udGV4dExheWVyTW9kZWwsXG4gIE1hcENvbnRleHRMYXllclR5cGVFbnVtLFxufSBmcm9tICcuLi9tYXAtY29udGV4dC9tYXAtY29udGV4dC5tb2RlbCdcbmltcG9ydCB7IE1hcEZhY2FkZSB9IGZyb20gJy4uLytzdGF0ZS9tYXAuZmFjYWRlJ1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWFkZC1sYXllci1mcm9tLXdmcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbGF5ZXItZnJvbS13ZnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtbGF5ZXItZnJvbS13ZnMuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBZGRMYXllckZyb21XZnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB3ZnNVcmwgPSAnJ1xuICBsb2FkaW5nID0gZmFsc2VcbiAgbGF5ZXJzOiBXZnNGZWF0dXJlVHlwZUJyaWVmW10gPSBbXVxuICB3ZnNFbmRwb2ludDogV2ZzRW5kcG9pbnQgfCBudWxsID0gbnVsbFxuICB1cmxDaGFuZ2UgPSBuZXcgU3ViamVjdDxzdHJpbmc+KClcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWFwRmFjYWRlOiBNYXBGYWNhZGUsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXJsQ2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKDcwMCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmxvYWRMYXllcnMoKSlcbiAgfVxuXG4gIGFzeW5jIGxvYWRMYXllcnMoKSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBudWxsXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWVcblxuICAgICAgaWYgKHRoaXMud2ZzVXJsLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgdGhpcy5sYXllcnMgPSBbXVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgdGhpcy53ZnNFbmRwb2ludCA9IGF3YWl0IG5ldyBXZnNFbmRwb2ludCh0aGlzLndmc1VybCkuaXNSZWFkeSgpXG4gICAgICB0aGlzLmxheWVycyA9IHRoaXMud2ZzRW5kcG9pbnQuZ2V0RmVhdHVyZVR5cGVzKClcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMubGF5ZXJzKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvclxuICAgICAgdGhpcy5sYXllcnMgPSBbXVxuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRXJyb3IgbG9hZGluZyBsYXllcnM6ICcgKyBlcnIubWVzc2FnZVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKVxuICAgIH1cbiAgfVxuXG4gIGFkZExheWVyKGxheWVyOiBXZnNGZWF0dXJlVHlwZUJyaWVmKSB7XG4gICAgY29uc3QgbGF5ZXJUb0FkZDogTWFwQ29udGV4dExheWVyTW9kZWwgPSB7XG4gICAgICBuYW1lOiBsYXllci5uYW1lLFxuICAgICAgdXJsOiB0aGlzLndmc1VybC50b1N0cmluZygpLFxuICAgICAgdHlwZTogTWFwQ29udGV4dExheWVyVHlwZUVudW0uV0ZTLFxuICAgIH1cbiAgICB0aGlzLm1hcEZhY2FkZS5hZGRMYXllcih7IC4uLmxheWVyVG9BZGQsIHRpdGxlOiBsYXllci50aXRsZSB9KVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbWItNVwiPlxuICA8Z24tdWktdGV4dC1pbnB1dFxuICAgIFsodmFsdWUpXT1cIndmc1VybFwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cInVybENoYW5nZS5uZXh0KCRldmVudClcIlxuICAgIFtoaW50XT1cIidtYXAud2ZzLnVybElucHV0LmhpbnQnIHwgdHJhbnNsYXRlXCJcbiAgICBjbGFzcz1cInctOTZcIlxuICA+XG4gIDwvZ24tdWktdGV4dC1pbnB1dD5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgY2xhc3M9XCJ0ZXh0LXJlZC01MDAgbXQtMlwiPlxuICB7eyBlcnJvck1lc3NhZ2UgfX1cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwibG9hZGluZ1wiPlxuICA8cCBjbGFzcz1cImxvYWRpbmctbWVzc2FnZVwiIHRyYW5zbGF0ZT5tYXAubG9hZGluZy5zZXJ2aWNlPC9wPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiBsYXllcnMubGVuZ3RoID4gMFwiPlxuICA8aDIgY2xhc3M9XCJmb250LWJvbGRcIiB0cmFuc2xhdGU+bWFwLmxheWVycy5hdmFpbGFibGU8L2gyPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsYXllciBvZiBsYXllcnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIG15LTIgbGF5ZXItaXRlbS10cmVlXCI+XG4gICAgICA8cCBjbGFzcz1cIm1heC13LXhzIG92ZXJmbG93LWhpZGRlbiBvdmVyZmxvdy1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcFwiPlxuICAgICAgICB7eyBsYXllci50aXRsZSB9fVxuICAgICAgPC9wPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAqbmdJZj1cImxheWVyLm5hbWVcIlxuICAgICAgICBjbGFzcz1cImxheWVyLWFkZC1idG5cIlxuICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgIChidXR0b25DbGljayk9XCJhZGRMYXllcihsYXllcilcIlxuICAgICAgICBleHRyYUNsYXNzPVwidGV4dC1zbSAhcHgtMiAhcHktMVwiXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICA+PHNwYW4gdHJhbnNsYXRlPiBtYXAubGF5ZXIuYWRkIDwvc3Bhbj48L2duLXVpLWJ1dHRvblxuICAgICAgPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,63 @@
1
+ import { Component, ChangeDetectorRef } from '@angular/core';
2
+ import { WmsEndpoint } from '@camptocamp/ogc-client';
3
+ import { MapFacade } from '../+state/map.facade';
4
+ import { MapContextLayerTypeEnum, } from '../map-context/map-context.model';
5
+ import { Subject } from 'rxjs';
6
+ import { debounceTime } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../+state/map.facade";
9
+ import * as i2 from "@angular/common";
10
+ import * as i3 from "@ngx-translate/core";
11
+ import * as i4 from "../../../../../ui/inputs/src/lib/button/button.component";
12
+ import * as i5 from "../../../../../ui/inputs/src/lib/text-input/text-input.component";
13
+ export class AddLayerFromWmsComponent {
14
+ constructor(mapFacade, changeDetectorRef) {
15
+ this.mapFacade = mapFacade;
16
+ this.changeDetectorRef = changeDetectorRef;
17
+ this.wmsUrl = '';
18
+ this.loading = false;
19
+ this.layers = [];
20
+ this.wmsEndpoint = null;
21
+ this.urlChange = new Subject();
22
+ this.errorMessage = null;
23
+ }
24
+ ngOnInit() {
25
+ this.urlChange.pipe(debounceTime(700)).subscribe(() => this.loadLayers());
26
+ }
27
+ async loadLayers() {
28
+ this.errorMessage = null;
29
+ try {
30
+ this.loading = true;
31
+ if (this.wmsUrl.trim() === '') {
32
+ this.layers = [];
33
+ return;
34
+ }
35
+ this.wmsEndpoint = await new WmsEndpoint(this.wmsUrl).isReady();
36
+ this.layers = this.wmsEndpoint.getLayers();
37
+ }
38
+ catch (error) {
39
+ const err = error;
40
+ this.layers = [];
41
+ this.errorMessage = 'Error loading layers: ' + err.message;
42
+ }
43
+ finally {
44
+ this.loading = false;
45
+ this.changeDetectorRef.markForCheck();
46
+ }
47
+ }
48
+ addLayer(layer) {
49
+ const layerToAdd = {
50
+ name: layer.name,
51
+ url: this.wmsUrl.toString(),
52
+ type: MapContextLayerTypeEnum.WMS,
53
+ };
54
+ this.mapFacade.addLayer({ ...layerToAdd, title: layer.title });
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromWmsComponent, deps: [{ token: i1.MapFacade }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerFromWmsComponent, selector: "gn-ui-add-layer-from-wms", ngImport: i0, template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"wmsUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.wms.urlInput.hint' | translate\"\n class=\"w-96\"\n >\n </gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<div *ngIf=\"!loading && layers.length > 0\">\n <h2 class=\"font-bold\" translate>map.layers.available</h2>\n <ng-container\n *ngFor=\"let layer of layers\"\n [ngTemplateOutlet]=\"layerTreeItem\"\n [ngTemplateOutletContext]=\"{\n layer: layer\n }\"\n ></ng-container>\n</div>\n\n<ng-template #layerTreeItem let-layer=\"layer\">\n <div class=\"flex items-center justify-between layer-tree-item my-2\">\n <p class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\">\n {{ layer.title }}\n </p>\n <gn-ui-button\n *ngIf=\"layer.name\"\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer)\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n ><span translate> map.layer.add </span></gn-ui-button\n >\n </div>\n <div *ngIf=\"layer.children?.length > 0\" class=\"ml-4\">\n <ng-container\n *ngFor=\"let child of layer.children\"\n [ngTemplateOutlet]=\"layerTreeItem\"\n [ngTemplateOutletContext]=\"{\n layer: child\n }\"\n >\n </ng-container>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i5.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "hint", "required"], outputs: ["valueChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromWmsComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'gn-ui-add-layer-from-wms', template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"wmsUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.wms.urlInput.hint' | translate\"\n class=\"w-96\"\n >\n </gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<div *ngIf=\"!loading && layers.length > 0\">\n <h2 class=\"font-bold\" translate>map.layers.available</h2>\n <ng-container\n *ngFor=\"let layer of layers\"\n [ngTemplateOutlet]=\"layerTreeItem\"\n [ngTemplateOutletContext]=\"{\n layer: layer\n }\"\n ></ng-container>\n</div>\n\n<ng-template #layerTreeItem let-layer=\"layer\">\n <div class=\"flex items-center justify-between layer-tree-item my-2\">\n <p class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\">\n {{ layer.title }}\n </p>\n <gn-ui-button\n *ngIf=\"layer.name\"\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer)\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n ><span translate> map.layer.add </span></gn-ui-button\n >\n </div>\n <div *ngIf=\"layer.children?.length > 0\" class=\"ml-4\">\n <ng-container\n *ngFor=\"let child of layer.children\"\n [ngTemplateOutlet]=\"layerTreeItem\"\n [ngTemplateOutletContext]=\"{\n layer: child\n }\"\n >\n </ng-container>\n </div>\n</ng-template>\n" }]
62
+ }], ctorParameters: function () { return [{ type: i1.MapFacade }, { type: i0.ChangeDetectorRef }]; } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20td21zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS13bXMvYWRkLWxheWVyLWZyb20td21zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS13bXMvYWRkLWxheWVyLWZyb20td21zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBbUIsTUFBTSx3QkFBd0IsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDaEQsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLGtDQUFrQyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7Ozs7O0FBTzdDLE1BQU0sT0FBTyx3QkFBd0I7SUFRbkMsWUFDVSxTQUFvQixFQUNwQixpQkFBb0M7UUFEcEMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBVDlDLFdBQU0sR0FBRyxFQUFFLENBQUE7UUFDWCxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsV0FBTSxHQUFzQixFQUFFLENBQUE7UUFDOUIsZ0JBQVcsR0FBdUIsSUFBSSxDQUFBO1FBQ3RDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFBO1FBQ2pDLGlCQUFZLEdBQWtCLElBQUksQ0FBQTtJQUsvQixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUN4QixJQUFJO1lBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7WUFFbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7Z0JBQ2hCLE9BQU07YUFDUDtZQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDL0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFBO1NBQzNDO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxNQUFNLEdBQUcsR0FBRyxLQUFjLENBQUE7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7WUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyx3QkFBd0IsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFBO1NBQzNEO2dCQUFTO1lBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7WUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFBO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFzQjtRQUM3QixNQUFNLFVBQVUsR0FBeUI7WUFDdkMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUMzQixJQUFJLEVBQUUsdUJBQXVCLENBQUMsR0FBRztTQUNsQyxDQUFBO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDaEUsQ0FBQzs4R0E5Q1Usd0JBQXdCO2tHQUF4Qix3QkFBd0IsZ0VDZnJDLDRnREF1REE7OzJGRHhDYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFdtc0VuZHBvaW50LCBXbXNMYXllclN1bW1hcnkgfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgTWFwRmFjYWRlIH0gZnJvbSAnLi4vK3N0YXRlL21hcC5mYWNhZGUnXG5pbXBvcnQge1xuICBNYXBDb250ZXh0TGF5ZXJNb2RlbCxcbiAgTWFwQ29udGV4dExheWVyVHlwZUVudW0sXG59IGZyb20gJy4uL21hcC1jb250ZXh0L21hcC1jb250ZXh0Lm1vZGVsJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYWRkLWxheWVyLWZyb20td21zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1sYXllci1mcm9tLXdtcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZC1sYXllci1mcm9tLXdtcy5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkZExheWVyRnJvbVdtc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHdtc1VybCA9ICcnXG4gIGxvYWRpbmcgPSBmYWxzZVxuICBsYXllcnM6IFdtc0xheWVyU3VtbWFyeVtdID0gW11cbiAgd21zRW5kcG9pbnQ6IFdtc0VuZHBvaW50IHwgbnVsbCA9IG51bGxcbiAgdXJsQ2hhbmdlID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1hcEZhY2FkZTogTWFwRmFjYWRlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVybENoYW5nZS5waXBlKGRlYm91bmNlVGltZSg3MDApKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5sb2FkTGF5ZXJzKCkpXG4gIH1cblxuICBhc3luYyBsb2FkTGF5ZXJzKCkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbFxuICAgIHRyeSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG5cbiAgICAgIGlmICh0aGlzLndtc1VybC50cmltKCkgPT09ICcnKSB7XG4gICAgICAgIHRoaXMubGF5ZXJzID0gW11cbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIHRoaXMud21zRW5kcG9pbnQgPSBhd2FpdCBuZXcgV21zRW5kcG9pbnQodGhpcy53bXNVcmwpLmlzUmVhZHkoKVxuICAgICAgdGhpcy5sYXllcnMgPSB0aGlzLndtc0VuZHBvaW50LmdldExheWVycygpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yXG4gICAgICB0aGlzLmxheWVycyA9IFtdXG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdFcnJvciBsb2FkaW5nIGxheWVyczogJyArIGVyci5tZXNzYWdlXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgfVxuICB9XG5cbiAgYWRkTGF5ZXIobGF5ZXI6IFdtc0xheWVyU3VtbWFyeSkge1xuICAgIGNvbnN0IGxheWVyVG9BZGQ6IE1hcENvbnRleHRMYXllck1vZGVsID0ge1xuICAgICAgbmFtZTogbGF5ZXIubmFtZSxcbiAgICAgIHVybDogdGhpcy53bXNVcmwudG9TdHJpbmcoKSxcbiAgICAgIHR5cGU6IE1hcENvbnRleHRMYXllclR5cGVFbnVtLldNUyxcbiAgICB9XG4gICAgdGhpcy5tYXBGYWNhZGUuYWRkTGF5ZXIoeyAuLi5sYXllclRvQWRkLCB0aXRsZTogbGF5ZXIudGl0bGUgfSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG1iLTVcIj5cbiAgPGduLXVpLXRleHQtaW5wdXRcbiAgICBbKHZhbHVlKV09XCJ3bXNVcmxcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJ1cmxDaGFuZ2UubmV4dCgkZXZlbnQpXCJcbiAgICBbaGludF09XCInbWFwLndtcy51cmxJbnB1dC5oaW50JyB8IHRyYW5zbGF0ZVwiXG4gICAgY2xhc3M9XCJ3LTk2XCJcbiAgPlxuICA8L2duLXVpLXRleHQtaW5wdXQ+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZVwiIGNsYXNzPVwidGV4dC1yZWQtNTAwIG10LTJcIj5cbiAge3sgZXJyb3JNZXNzYWdlIH19XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgPHAgY2xhc3M9XCJsb2FkaW5nLW1lc3NhZ2VcIiB0cmFuc2xhdGU+bWFwLmxvYWRpbmcuc2VydmljZTwvcD5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgbGF5ZXJzLmxlbmd0aCA+IDBcIj5cbiAgPGgyIGNsYXNzPVwiZm9udC1ib2xkXCIgdHJhbnNsYXRlPm1hcC5sYXllcnMuYXZhaWxhYmxlPC9oMj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj1cImxldCBsYXllciBvZiBsYXllcnNcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxheWVyVHJlZUl0ZW1cIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICBsYXllcjogbGF5ZXJcbiAgICB9XCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbGF5ZXJUcmVlSXRlbSBsZXQtbGF5ZXI9XCJsYXllclwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGxheWVyLXRyZWUtaXRlbSBteS0yXCI+XG4gICAgPHAgY2xhc3M9XCJtYXgtdy14cyBvdmVyZmxvdy1oaWRkZW4gb3ZlcmZsb3ctZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXBcIj5cbiAgICAgIHt7IGxheWVyLnRpdGxlIH19XG4gICAgPC9wPlxuICAgIDxnbi11aS1idXR0b25cbiAgICAgICpuZ0lmPVwibGF5ZXIubmFtZVwiXG4gICAgICBjbGFzcz1cImxheWVyLWFkZC1idG5cIlxuICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgKGJ1dHRvbkNsaWNrKT1cImFkZExheWVyKGxheWVyKVwiXG4gICAgICBleHRyYUNsYXNzPVwidGV4dC1zbSAhcHgtMiAhcHktMVwiXG4gICAgICB0cmFuc2xhdGVcbiAgICAgID48c3BhbiB0cmFuc2xhdGU+IG1hcC5sYXllci5hZGQgPC9zcGFuPjwvZ24tdWktYnV0dG9uXG4gICAgPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImxheWVyLmNoaWxkcmVuPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJtbC00XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGxheWVyLmNoaWxkcmVuXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxheWVyVHJlZUl0ZW1cIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgbGF5ZXI6IGNoaWxkXG4gICAgICB9XCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,2 +1,3 @@
1
1
  export * from './map-options';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvY29uc3RhbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hcC1vcHRpb25zJ1xuIl19
2
+ export * from './projections';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvY29uc3RhbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUE7QUFDN0IsY0FBYyxlQUFlLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hcC1vcHRpb25zJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm9qZWN0aW9ucydcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export const LONLAT_CRS_CODES = ['EPSG:4326', 'CRS:84'];
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvY29uc3RhbnQvcHJvamVjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTE9OTEFUX0NSU19DT0RFUyA9IFsnRVBTRzo0MzI2JywgJ0NSUzo4NCddXG4iXX0=