geonetwork-ui 2.4.0-dev.d000fb89 → 2.4.0-dev.d3529f01

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 (612) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +4 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +64 -0
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +14 -0
  4. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +254 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/index.mjs +2 -0
  6. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.mjs +17 -0
  7. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +196 -0
  8. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +46 -0
  9. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +74 -0
  10. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.mjs +2 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +27 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +11 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
  14. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +6 -6
  15. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
  16. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +17 -29
  17. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +8 -15
  18. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
  19. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +54 -54
  20. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +35 -3
  21. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +78 -39
  22. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +41 -7
  23. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +1 -1
  24. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  25. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  26. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  27. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +7 -4
  28. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
  29. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  30. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +10 -7
  31. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +40 -50
  32. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
  33. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  34. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  35. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +5 -5
  36. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +4 -16
  37. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +4 -2
  38. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +95 -0
  39. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  40. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +109 -0
  41. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +15 -32
  42. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
  43. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +23 -10
  44. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +3 -3
  45. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +38 -60
  46. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +148 -0
  47. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +86 -11
  48. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +4 -8
  49. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +36 -7
  50. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +35 -59
  51. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +4 -4
  52. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +14 -5
  53. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
  54. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +3 -3
  55. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +3 -3
  56. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +41 -7
  57. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
  58. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +5 -5
  59. package/esm2022/libs/feature/map/src/index.mjs +2 -9
  60. package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
  61. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +9 -15
  62. package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
  63. package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
  64. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +16 -16
  65. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +16 -10
  66. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +10 -8
  67. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +11 -7
  68. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +10 -6
  69. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
  70. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +4 -44
  71. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +43 -29
  72. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +17 -8
  73. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
  74. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +4 -168
  75. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  76. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +21 -17
  77. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +14 -8
  78. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +40 -52
  79. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -2
  80. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  81. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +7 -7
  82. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +1 -6
  83. package/esm2022/libs/ui/elements/src/index.mjs +2 -2
  84. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
  85. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
  86. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
  87. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -6
  88. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
  89. package/esm2022/libs/ui/inputs/src/index.mjs +5 -1
  90. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -4
  91. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +5 -3
  92. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +8 -1
  93. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +11 -4
  94. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +9 -3
  95. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  96. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +5 -4
  97. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +6 -4
  98. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +4 -4
  99. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +4 -3
  100. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +2 -7
  101. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +3 -3
  102. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  103. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -3
  104. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  105. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  106. package/esm2022/libs/ui/map/src/index.mjs +4 -3
  107. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +8 -6
  108. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +137 -0
  109. package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
  110. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
  111. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +3 -3
  112. package/esm2022/libs/util/app-config/src/index.mjs +2 -1
  113. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +27 -0
  114. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
  115. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  116. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +2 -1
  117. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  118. package/esm2022/translations/de.json +22 -0
  119. package/esm2022/translations/en.json +53 -31
  120. package/esm2022/translations/es.json +22 -0
  121. package/esm2022/translations/fr.json +84 -62
  122. package/esm2022/translations/it.json +22 -0
  123. package/esm2022/translations/nl.json +22 -0
  124. package/esm2022/translations/pt.json +22 -0
  125. package/fesm2022/geonetwork-ui.mjs +7642 -6729
  126. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  127. package/libs/api/metadata-converter/src/index.d.ts +3 -0
  128. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  129. package/libs/api/metadata-converter/src/lib/common/license.d.ts +3 -0
  130. package/libs/api/metadata-converter/src/lib/common/license.d.ts.map +1 -0
  131. package/libs/api/metadata-converter/src/lib/common/url.d.ts +7 -0
  132. package/libs/api/metadata-converter/src/lib/common/url.d.ts.map +1 -0
  133. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +13 -0
  134. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -0
  135. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts +2 -0
  136. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts.map +1 -0
  137. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts +16 -0
  138. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts.map +1 -0
  139. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +20 -0
  140. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -0
  141. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +9 -0
  142. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -0
  143. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts +8 -0
  144. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -0
  145. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts +2 -0
  146. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts.map +1 -0
  147. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts +6 -0
  148. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -0
  149. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -1
  150. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  151. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  152. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  153. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
  154. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  155. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -2
  156. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  157. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  158. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -5
  159. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  160. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +10 -11
  161. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  162. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +58 -0
  163. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  164. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +12 -7
  165. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  166. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +21 -2
  167. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  168. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -1
  169. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  170. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -6
  171. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  172. package/libs/common/domain/src/lib/platform.service.interface.d.ts +15 -0
  173. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  174. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +7 -0
  175. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  176. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +2 -1
  177. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  178. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  179. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  180. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +10 -9
  181. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  182. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +13 -20
  183. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  184. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  185. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  186. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  187. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  188. package/libs/feature/editor/src/index.d.ts +1 -0
  189. package/libs/feature/editor/src/index.d.ts.map +1 -1
  190. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  191. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +1 -5
  192. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -1
  193. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +2 -1
  194. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -1
  195. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -0
  196. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
  197. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  198. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  199. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts +38 -0
  200. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -0
  201. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +2 -5
  202. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  203. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
  204. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +1 -0
  205. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +5 -2
  206. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  207. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +6 -13
  208. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -1
  209. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +35 -0
  210. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -0
  211. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +20 -2
  212. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  213. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +1 -3
  214. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  215. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +7 -2
  216. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  217. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +9 -15
  218. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  219. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +5 -3
  220. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  221. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
  222. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  223. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +3 -2
  224. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  225. package/libs/feature/editor/src/lib/fields.config.d.ts +10 -1
  226. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  227. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -0
  228. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
  229. package/libs/feature/editor/src/lib/services/editor.service.d.ts +2 -2
  230. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  231. package/libs/feature/map/src/index.d.ts +1 -8
  232. package/libs/feature/map/src/index.d.ts.map +1 -1
  233. package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
  234. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  235. package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
  236. package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
  237. package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
  238. package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
  239. package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
  240. package/libs/feature/map/src/lib/+state/map.selectors.d.ts.map +1 -1
  241. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +7 -9
  242. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  243. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  244. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +2 -2
  245. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  246. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +1 -1
  247. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  248. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +1 -1
  249. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  250. package/libs/feature/map/src/lib/constant/index.d.ts +0 -1
  251. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  252. package/libs/feature/map/src/lib/feature-map.module.d.ts +12 -18
  253. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  254. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +7 -7
  255. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  256. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +4 -3
  257. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  258. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
  259. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
  260. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
  261. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  262. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  263. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  264. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +10 -7
  265. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  266. package/libs/feature/record/src/lib/feature-record.module.d.ts +13 -11
  267. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  268. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +14 -20
  269. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  270. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  271. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  272. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
  273. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
  274. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +9 -10
  275. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  276. package/libs/ui/elements/src/index.d.ts +1 -1
  277. package/libs/ui/elements/src/index.d.ts.map +1 -1
  278. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  279. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  280. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  281. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  282. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  283. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  284. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  285. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  286. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  287. package/libs/ui/inputs/src/index.d.ts +4 -0
  288. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  289. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  290. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  291. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  292. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  293. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  294. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  295. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  296. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  297. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +1 -1
  298. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  299. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
  300. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  301. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +0 -1
  302. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -1
  303. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  304. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -26
  305. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  306. package/libs/ui/layout/src/index.d.ts +2 -0
  307. package/libs/ui/layout/src/index.d.ts.map +1 -1
  308. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  309. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  310. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
  311. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  312. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  313. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  314. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  315. package/libs/ui/map/src/index.d.ts +3 -2
  316. package/libs/ui/map/src/index.d.ts.map +1 -1
  317. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
  318. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  319. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
  320. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
  321. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
  322. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
  323. package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
  324. package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
  325. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +1 -1
  326. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  327. package/libs/util/app-config/src/index.d.ts +1 -0
  328. package/libs/util/app-config/src/index.d.ts.map +1 -1
  329. package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
  330. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
  331. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  332. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  333. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  334. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  335. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  336. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  337. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  338. package/package.json +5 -3
  339. package/src/libs/api/metadata-converter/src/index.ts +3 -0
  340. package/src/libs/api/metadata-converter/src/lib/common/license.ts +66 -0
  341. package/src/libs/api/metadata-converter/src/lib/common/url.ts +15 -0
  342. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +378 -0
  343. package/src/libs/api/metadata-converter/src/lib/dcat-ap/index.ts +1 -0
  344. package/src/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.ts +17 -0
  345. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +370 -0
  346. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +95 -0
  347. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/individual-name.ts +20 -0
  348. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/keyword.mapper.ts +16 -0
  349. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/role.mapper.ts +48 -0
  350. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +97 -0
  351. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +19 -0
  352. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +67 -0
  353. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.ts +1 -0
  354. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +68 -0
  355. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +13 -0
  356. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +272 -0
  357. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +1 -1
  358. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -1
  359. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  360. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -1
  361. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +110 -0
  362. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +85 -0
  363. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +73 -0
  364. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
  365. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +5 -6
  366. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
  367. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +21 -43
  368. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +5 -14
  369. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +13 -15
  370. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +133 -156
  371. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +37 -2
  372. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +132 -68
  373. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -3
  374. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +1 -1
  375. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +7 -7
  376. package/src/libs/common/domain/src/lib/platform.service.interface.ts +26 -0
  377. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +10 -0
  378. package/src/libs/common/fixtures/src/index.ts +3 -0
  379. package/src/libs/common/fixtures/src/lib/individual.fixtures.ts +61 -0
  380. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +216 -175
  381. package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
  382. package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
  383. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +3 -3
  384. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +13 -0
  385. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +5 -1
  386. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  387. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +6 -2
  388. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
  389. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +38 -78
  390. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  391. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  392. package/src/libs/feature/editor/src/index.ts +1 -0
  393. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +11 -4
  394. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +12 -24
  395. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +1 -13
  396. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +1 -0
  397. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +47 -0
  398. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +132 -0
  399. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  400. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  401. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +40 -0
  402. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +170 -0
  403. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +4 -0
  404. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +13 -23
  405. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +11 -50
  406. package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-resource-updated/form-field-resource-updated.component.ts → form-field-date-updated/form-field-date-updated.component.ts} +4 -4
  407. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +3 -2
  408. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +35 -3
  409. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  410. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +1 -4
  411. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +41 -83
  412. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +34 -0
  413. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +182 -0
  414. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -5
  415. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +93 -4
  416. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +13 -6
  417. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +0 -9
  418. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +7 -2
  419. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +62 -6
  420. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  421. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +23 -3
  422. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +37 -69
  423. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  424. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
  425. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +1 -1
  426. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +33 -20
  427. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +12 -3
  428. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
  429. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +31 -29
  430. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +2 -1
  431. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +2 -6
  432. package/src/libs/feature/editor/src/lib/fields.config.ts +45 -6
  433. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -0
  434. package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -3
  435. package/src/libs/feature/map/src/index.ts +1 -8
  436. package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
  437. package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
  438. package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
  439. package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
  440. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +18 -21
  441. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +17 -11
  442. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +11 -12
  443. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +12 -10
  444. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +11 -9
  445. package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
  446. package/src/libs/feature/map/src/lib/feature-map.module.ts +0 -26
  447. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
  448. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +2 -2
  449. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +15 -5
  450. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
  451. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
  452. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +1 -229
  453. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  454. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +29 -20
  455. package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -3
  456. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +4 -4
  457. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +45 -72
  458. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  459. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -0
  460. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
  461. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -3
  462. package/src/libs/ui/elements/src/index.ts +1 -1
  463. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  464. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  465. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  466. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -20
  467. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
  468. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +5 -0
  469. package/src/libs/ui/inputs/src/index.ts +4 -0
  470. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -18
  471. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +38 -24
  472. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +4 -1
  473. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +12 -3
  474. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +2 -1
  475. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  476. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  477. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +14 -6
  478. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +7 -1
  479. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  480. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +28 -23
  481. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +7 -1
  482. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  483. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +7 -3
  484. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +2 -1
  485. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
  486. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +30 -22
  487. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +2 -1
  488. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +5 -1
  489. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +4 -3
  490. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +0 -1
  491. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -2
  492. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +1 -1
  493. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -1
  494. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  495. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +1 -1
  496. package/src/libs/ui/layout/src/index.ts +2 -0
  497. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
  498. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
  499. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  500. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  501. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  502. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +13 -16
  503. package/src/libs/ui/map/src/index.ts +3 -2
  504. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
  505. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
  506. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
  507. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +203 -0
  508. package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
  509. package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
  510. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +4 -2
  511. package/src/libs/util/app-config/src/index.ts +1 -0
  512. package/src/libs/util/app-config/src/lib/map-layers.ts +31 -0
  513. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  514. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  515. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  516. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  517. package/tailwind.base.config.js +1 -0
  518. package/tailwind.base.css +35 -4
  519. package/translations/de.json +22 -0
  520. package/translations/en.json +53 -31
  521. package/translations/es.json +22 -0
  522. package/translations/fr.json +84 -62
  523. package/translations/it.json +22 -0
  524. package/translations/nl.json +22 -0
  525. package/translations/pt.json +22 -0
  526. package/translations/sk.json +22 -0
  527. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -96
  528. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -19
  529. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.mjs +0 -17
  530. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.mjs +0 -17
  531. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +0 -15
  532. package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
  533. package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
  534. package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
  535. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
  536. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
  537. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
  538. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
  539. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
  540. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
  541. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
  542. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -39
  543. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
  544. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
  545. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +0 -27
  546. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +0 -1
  547. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -9
  548. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +0 -1
  549. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts +0 -8
  550. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts.map +0 -1
  551. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts +0 -8
  552. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts.map +0 -1
  553. package/libs/feature/map/src/lib/+state/map.effects.d.ts +0 -9
  554. package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
  555. package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
  556. package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
  557. package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
  558. package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
  559. package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
  560. package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
  561. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
  562. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
  563. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
  564. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
  565. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
  566. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
  567. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
  568. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
  569. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
  570. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
  571. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
  572. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
  573. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
  574. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
  575. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -17
  576. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  577. package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
  578. package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
  579. package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
  580. package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
  581. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -9
  582. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -113
  583. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.html +0 -7
  584. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.ts +0 -16
  585. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.html +0 -13
  586. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.ts +0 -16
  587. package/src/libs/feature/map/src/lib/+state/map.effects.ts +0 -7
  588. package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
  589. package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
  590. package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
  591. package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
  592. package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
  593. package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
  594. package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
  595. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
  596. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
  597. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -55
  598. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
  599. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
  600. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -29
  601. package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
  602. package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
  603. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → import-record/import-record.component.css} +0 -0
  604. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → online-resource-card/online-resource-card.component.css} +0 -0
  605. /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.css → form-field-contacts/form-field-contacts.component.css} +0 -0
  606. /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.css → form-field-date-updated/form-field-date-updated.component.css} +0 -0
  607. /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-resource-updated/form-field-resource-updated.component.html → form-field-date-updated/form-field-date-updated.component.html} +0 -0
  608. /package/src/libs/feature/{map/src/lib/map-container/map-container.component.css → editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css} +0 -0
  609. /package/src/libs/feature/map/src/lib/{map-context/component/map-context.component.css → map-state-container/map-state-container.component.css} +0 -0
  610. /package/src/libs/ui/{map/src/lib/components/map/map.component.css → layout/src/lib/modal-dialog/modal-dialog.component.css} +0 -0
  611. /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
  612. /package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +0 -0
@@ -1,19 +1,19 @@
1
1
  import { Component } from '@angular/core';
2
- import { catchError, from, Subject, takeUntil } from 'rxjs';
2
+ import { catchError, firstValueFrom, from, Subject, takeUntil } from 'rxjs';
3
3
  import { debounceTime, switchMap } from 'rxjs/operators';
4
- import { MapManagerService } from '../manager/map-manager.service';
5
- import { fromLonLat } from 'ol/proj';
6
- import { Polygon } from 'ol/geom';
7
4
  import { GeocodingService } from '../geocoding.service';
5
+ import { MapFacade } from '../+state/map.facade';
6
+ import { CommonModule } from '@angular/common';
7
+ import { SearchInputComponent, UiInputsModule } from '../../../../../../libs/ui/inputs/src';
8
+ import { TranslateModule } from '@ngx-translate/core';
8
9
  import * as i0 from "@angular/core";
9
- import * as i1 from "../manager/map-manager.service";
10
+ import * as i1 from "../+state/map.facade";
10
11
  import * as i2 from "../geocoding.service";
11
12
  import * as i3 from "@angular/common";
12
- import * as i4 from "../../../../../ui/inputs/src/lib/search-input/search-input.component";
13
- import * as i5 from "@ngx-translate/core";
13
+ import * as i4 from "@ngx-translate/core";
14
14
  export class GeocodingComponent {
15
- constructor(mapManager, geocodingService) {
16
- this.mapManager = mapManager;
15
+ constructor(mapFacade, geocodingService) {
16
+ this.mapFacade = mapFacade;
17
17
  this.geocodingService = geocodingService;
18
18
  this.searchText = '';
19
19
  this.results = [];
@@ -51,31 +51,40 @@ export class GeocodingComponent {
51
51
  this.results = [];
52
52
  this.errorMessage = null;
53
53
  }
54
- zoomToLocation(result) {
55
- const map = this.mapManager.map;
56
- const view = map.getView();
54
+ async zoomToLocation(result) {
57
55
  const geometry = result.geom;
58
56
  if (geometry.type === 'Point') {
59
- this.zoomToPoint(geometry.coordinates, view);
57
+ await this.zoomToPoint(geometry.coordinates);
60
58
  }
61
59
  else if (geometry.type === 'Polygon') {
62
- this.zoomToPolygon(geometry.coordinates, view);
60
+ await this.zoomToPolygon(geometry.coordinates);
63
61
  }
64
62
  else {
65
63
  console.error(`Unsupported geometry type: ${geometry.type}`);
66
64
  }
67
65
  }
68
- zoomToPoint(pointCoords, view) {
69
- const transformedCoords = fromLonLat(pointCoords);
70
- view.setCenter(transformedCoords);
71
- view.setZoom(12);
66
+ async zoomToPoint(pointCoords) {
67
+ const context = await firstValueFrom(this.mapFacade.context$);
68
+ const view = {
69
+ center: pointCoords,
70
+ zoom: 10,
71
+ };
72
+ this.mapFacade.applyContext({
73
+ ...context,
74
+ view,
75
+ });
72
76
  }
73
- zoomToPolygon(polygonCoords, view) {
74
- const transformedCoords = polygonCoords[0].map((coord) => fromLonLat(coord));
75
- const polygon = new Polygon([transformedCoords]);
76
- view.fit(polygon, {
77
- duration: 100,
78
- maxZoom: 12,
77
+ async zoomToPolygon(polygonCoords) {
78
+ const context = await firstValueFrom(this.mapFacade.context$);
79
+ const view = {
80
+ geometry: {
81
+ type: 'Polygon',
82
+ coordinates: polygonCoords,
83
+ },
84
+ };
85
+ this.mapFacade.applyContext({
86
+ ...context,
87
+ view,
79
88
  });
80
89
  }
81
90
  onEnterPress() {
@@ -83,11 +92,16 @@ export class GeocodingComponent {
83
92
  this.zoomToLocation(this.results[0]);
84
93
  }
85
94
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GeocodingComponent, deps: [{ token: i1.MapManagerService }, { token: i2.GeocodingService }], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GeocodingComponent, selector: "gn-ui-geocoding", ngImport: i0, template: "<gn-ui-search-input\n [(value)]=\"searchText\"\n (valueChange)=\"onSearchChange($event)\"\n (keyup.enter)=\"onEnterPress()\"\n [placeholder]=\"'map.geocoding.placeholder' | translate\"\n>\n</gn-ui-search-input>\n<ul\n class=\"bg-gray-50 border border-gray-200 w-full mt-2 shadow-sm rounded-lg\"\n *ngIf=\"results && results.length\"\n>\n <li\n *ngFor=\"let result of results\"\n (click)=\"zoomToLocation(result)\"\n class=\"flex items-center pl-8 pr-4 py-2 border-b border-gray-200 relative cursor-pointer hover:bg-blue-100 hover:text-gray-800 transition duration-300 ease-in-out\"\n >\n <svg\n class=\"stroke-current text-blue-500 absolute w-5 h-5 left-3 top-3\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M15 11a3 3 0 11-6 0 3 3 0 016 0z\"\n />\n </svg>\n <span class=\"font-sans font-semibold ml-4\">{{ result.label }}</span>\n </li>\n</ul>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SearchInputComponent, selector: "gn-ui-search-input", inputs: ["value", "placeholder"], outputs: ["valueChange"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GeocodingComponent, deps: [{ token: i1.MapFacade }, { token: i2.GeocodingService }], target: i0.ɵɵFactoryTarget.Component }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GeocodingComponent, isStandalone: true, selector: "gn-ui-geocoding", ngImport: i0, template: "<gn-ui-search-input\n [(value)]=\"searchText\"\n (valueChange)=\"onSearchChange($event)\"\n (keyup.enter)=\"onEnterPress()\"\n [placeholder]=\"'map.geocoding.placeholder' | translate\"\n>\n</gn-ui-search-input>\n<ul\n class=\"bg-gray-50 border border-gray-200 w-full mt-2 shadow-sm rounded-lg\"\n *ngIf=\"results && results.length\"\n>\n <li\n *ngFor=\"let result of results\"\n (click)=\"zoomToLocation(result)\"\n class=\"flex items-center pl-8 pr-4 py-2 border-b border-gray-200 relative cursor-pointer hover:bg-blue-100 hover:text-gray-800 transition duration-300 ease-in-out\"\n >\n <svg\n class=\"stroke-current text-blue-500 absolute w-5 h-5 left-3 top-3\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M15 11a3 3 0 11-6 0 3 3 0 016 0z\"\n />\n </svg>\n <span class=\"font-sans font-semibold ml-4\">{{ result.label }}</span>\n </li>\n</ul>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: SearchInputComponent, selector: "gn-ui-search-input", inputs: ["value", "placeholder"], outputs: ["valueChange"] }] }); }
88
97
  }
89
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GeocodingComponent, decorators: [{
90
99
  type: Component,
91
- args: [{ selector: 'gn-ui-geocoding', template: "<gn-ui-search-input\n [(value)]=\"searchText\"\n (valueChange)=\"onSearchChange($event)\"\n (keyup.enter)=\"onEnterPress()\"\n [placeholder]=\"'map.geocoding.placeholder' | translate\"\n>\n</gn-ui-search-input>\n<ul\n class=\"bg-gray-50 border border-gray-200 w-full mt-2 shadow-sm rounded-lg\"\n *ngIf=\"results && results.length\"\n>\n <li\n *ngFor=\"let result of results\"\n (click)=\"zoomToLocation(result)\"\n class=\"flex items-center pl-8 pr-4 py-2 border-b border-gray-200 relative cursor-pointer hover:bg-blue-100 hover:text-gray-800 transition duration-300 ease-in-out\"\n >\n <svg\n class=\"stroke-current text-blue-500 absolute w-5 h-5 left-3 top-3\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M15 11a3 3 0 11-6 0 3 3 0 016 0z\"\n />\n </svg>\n <span class=\"font-sans font-semibold ml-4\">{{ result.label }}</span>\n </li>\n</ul>\n" }]
92
- }], ctorParameters: function () { return [{ type: i1.MapManagerService }, { type: i2.GeocodingService }]; } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvY29kaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9nZW9jb2RpbmcvZ2VvY29kaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9nZW9jb2RpbmcvZ2VvY29kaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7Ozs7OztBQU92RCxNQUFNLE9BQU8sa0JBQWtCO0lBTzdCLFlBQ1UsVUFBNkIsRUFDN0IsZ0JBQWtDO1FBRGxDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFSNUMsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNmLFlBQU8sR0FBVSxFQUFFLENBQUE7UUFDbkIsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQTtRQUN6QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQTtRQUM5QixpQkFBWSxHQUFrQixJQUFJLENBQUE7UUFNaEMsSUFBSSxDQUFDLGlCQUFpQjthQUNu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QUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDckM7SUFDSCxDQUFDOytHQXBGVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix1RENiL0Isa3lDQXVDQTs7NEZEMUJhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmcm9tLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IE1hcE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbWFuYWdlci9tYXAtbWFuYWdlci5zZXJ2aWNlJ1xuaW1wb3J0IHsgZnJvbUxvbkxhdCB9IGZyb20gJ29sL3Byb2onXG5pbXBvcnQgeyBQb2x5Z29uIH0gZnJvbSAnb2wvZ2VvbSdcbmltcG9ydCB7IEdlb2NvZGluZ1NlcnZpY2UgfSBmcm9tICcuLi9nZW9jb2Rpbmcuc2VydmljZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZ2VvY29kaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlb2NvZGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dlb2NvZGluZy5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdlb2NvZGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHNlYXJjaFRleHQgPSAnJ1xuICByZXN1bHRzOiBhbnlbXSA9IFtdXG4gIHNlYXJjaFRleHRDaGFuZ2VkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuICBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtYXBNYW5hZ2VyOiBNYXBNYW5hZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIGdlb2NvZGluZ1NlcnZpY2U6IEdlb2NvZGluZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0Q2hhbmdlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgICBzd2l0Y2hNYXAoKHNlYXJjaFRleHQpID0+IHtcbiAgICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmdlb2NvZGluZ1NlcnZpY2UucXVlcnkoc2VhcmNoVGV4dCkpLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHNlYXJjaGluZy4gUGxlYXNlIHRyeSBhZ2Fpbi4nXG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXG4gICAgICAgICAgICAgIHJldHVybiBbXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHMpID0+IHtcbiAgICAgICAgdGhpcy5yZXN1bHRzID0gcmVzdWx0c1xuICAgICAgfSlcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpXG4gIH1cblxuICBvblNlYXJjaENoYW5nZShzZWFyY2hUZXh0OiBzdHJpbmcpIHtcbiAgICBpZiAoIXNlYXJjaFRleHQpIHtcbiAgICAgIHRoaXMuY2xlYXJTZWFyY2goKVxuICAgICAgcmV0dXJuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoVGV4dENoYW5nZWQubmV4dChzZWFyY2hUZXh0KVxuICAgIH1cbiAgfVxuXG4gIGNsZWFyU2VhcmNoKCkge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnXG4gICAgdGhpcy5yZXN1bHRzID0gW11cbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGxcbiAgfVxuXG4gIHpvb21Ub0xvY2F0aW9uKHJlc3VsdDogYW55KSB7XG4gICAgY29uc3QgbWFwID0gdGhpcy5tYXBNYW5hZ2VyLm1hcFxuICAgIGNvbnN0IHZpZXcgPSBtYXAuZ2V0VmlldygpXG4gICAgY29uc3QgZ2VvbWV0cnkgPSByZXN1bHQuZ2VvbVxuXG4gICAgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcbiAgICAgIHRoaXMuem9vbVRvUG9pbnQoZ2VvbWV0cnkuY29vcmRpbmF0ZXMsIHZpZXcpXG4gICAgfSBlbHNlIGlmIChnZW9tZXRyeS50eXBlID09PSAnUG9seWdvbicpIHtcbiAgICAgIHRoaXMuem9vbVRvUG9seWdvbihnZW9tZXRyeS5jb29yZGluYXRlcywgdmlldylcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihgVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZTogJHtnZW9tZXRyeS50eXBlfWApXG4gICAgfVxuICB9XG5cbiAgem9vbVRvUG9pbnQocG9pbnRDb29yZHM6IFtudW1iZXIsIG51bWJlcl0sIHZpZXc6IGFueSkge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkQ29vcmRzID0gZnJvbUxvbkxhdChwb2ludENvb3JkcylcbiAgICB2aWV3LnNldENlbnRlcih0cmFuc2Zvcm1lZENvb3JkcylcbiAgICB2aWV3LnNldFpvb20oMTIpXG4gIH1cblxuICB6b29tVG9Qb2x5Z29uKHBvbHlnb25Db29yZHM6IFtbbnVtYmVyLCBudW1iZXJdW11dLCB2aWV3OiBhbnkpIHtcbiAgICBjb25zdCB0cmFuc2Zvcm1lZENvb3JkcyA9IHBvbHlnb25Db29yZHNbMF0ubWFwKChjb29yZCkgPT4gZnJvbUxvbkxhdChjb29yZCkpXG4gICAgY29uc3QgcG9seWdvbiA9IG5ldyBQb2x5Z29uKFt0cmFuc2Zvcm1lZENvb3Jkc10pXG4gICAgdmlldy5maXQocG9seWdvbiwge1xuICAgICAgZHVyYXRpb246IDEwMCxcbiAgICAgIG1heFpvb206IDEyLFxuICAgIH0pXG4gIH1cblxuICBvbkVudGVyUHJlc3MoKSB7XG4gICAgaWYgKHRoaXMucmVzdWx0cyAmJiB0aGlzLnJlc3VsdHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy56b29tVG9Mb2NhdGlvbih0aGlzLnJlc3VsdHNbMF0pXG4gICAgfVxuICB9XG59XG4iLCI8Z24tdWktc2VhcmNoLWlucHV0XG4gIFsodmFsdWUpXT1cInNlYXJjaFRleHRcIlxuICAodmFsdWVDaGFuZ2UpPVwib25TZWFyY2hDaGFuZ2UoJGV2ZW50KVwiXG4gIChrZXl1cC5lbnRlcik9XCJvbkVudGVyUHJlc3MoKVwiXG4gIFtwbGFjZWhvbGRlcl09XCInbWFwLmdlb2NvZGluZy5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuPlxuPC9nbi11aS1zZWFyY2gtaW5wdXQ+XG48dWxcbiAgY2xhc3M9XCJiZy1ncmF5LTUwIGJvcmRlciBib3JkZXItZ3JheS0yMDAgdy1mdWxsIG10LTIgc2hhZG93LXNtIHJvdW5kZWQtbGdcIlxuICAqbmdJZj1cInJlc3VsdHMgJiYgcmVzdWx0cy5sZW5ndGhcIlxuPlxuICA8bGlcbiAgICAqbmdGb3I9XCJsZXQgcmVzdWx0IG9mIHJlc3VsdHNcIlxuICAgIChjbGljayk9XCJ6b29tVG9Mb2NhdGlvbihyZXN1bHQpXCJcbiAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHBsLTggcHItNCBweS0yIGJvcmRlci1iIGJvcmRlci1ncmF5LTIwMCByZWxhdGl2ZSBjdXJzb3ItcG9pbnRlciBob3ZlcjpiZy1ibHVlLTEwMCBob3Zlcjp0ZXh0LWdyYXktODAwIHRyYW5zaXRpb24gZHVyYXRpb24tMzAwIGVhc2UtaW4tb3V0XCJcbiAgPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwic3Ryb2tlLWN1cnJlbnQgdGV4dC1ibHVlLTUwMCBhYnNvbHV0ZSB3LTUgaC01IGxlZnQtMyB0b3AtM1wiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgZD1cIk0xNy42NTcgMTYuNjU3TDEzLjQxNCAyMC45YTEuOTk4IDEuOTk4IDAgMDEtMi44MjcgMGwtNC4yNDQtNC4yNDNhOCA4IDAgMTExMS4zMTQgMHpcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICBkPVwiTTE1IDExYTMgMyAwIDExLTYgMCAzIDMgMCAwMTYgMHpcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgICA8c3BhbiBjbGFzcz1cImZvbnQtc2FucyBmb250LXNlbWlib2xkIG1sLTRcIj57eyByZXN1bHQubGFiZWwgfX08L3NwYW4+XG4gIDwvbGk+XG48L3VsPlxuIl19
100
+ args: [{ selector: 'gn-ui-geocoding', standalone: true, imports: [
101
+ CommonModule,
102
+ UiInputsModule,
103
+ TranslateModule,
104
+ SearchInputComponent,
105
+ ], template: "<gn-ui-search-input\n [(value)]=\"searchText\"\n (valueChange)=\"onSearchChange($event)\"\n (keyup.enter)=\"onEnterPress()\"\n [placeholder]=\"'map.geocoding.placeholder' | translate\"\n>\n</gn-ui-search-input>\n<ul\n class=\"bg-gray-50 border border-gray-200 w-full mt-2 shadow-sm rounded-lg\"\n *ngIf=\"results && results.length\"\n>\n <li\n *ngFor=\"let result of results\"\n (click)=\"zoomToLocation(result)\"\n class=\"flex items-center pl-8 pr-4 py-2 border-b border-gray-200 relative cursor-pointer hover:bg-blue-100 hover:text-gray-800 transition duration-300 ease-in-out\"\n >\n <svg\n class=\"stroke-current text-blue-500 absolute w-5 h-5 left-3 top-3\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M15 11a3 3 0 11-6 0 3 3 0 016 0z\"\n />\n </svg>\n <span class=\"font-sans font-semibold ml-4\">{{ result.label }}</span>\n </li>\n</ul>\n" }]
106
+ }], ctorParameters: function () { return [{ type: i1.MapFacade }, { type: i2.GeocodingService }]; } });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvY29kaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9nZW9jb2RpbmcvZ2VvY29kaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9nZW9jb2RpbmcvZ2VvY29kaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUMzRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7Ozs7OztBQWVyRCxNQUFNLE9BQU8sa0JBQWtCO0lBTzdCLFlBQ1UsU0FBb0IsRUFDcEIsZ0JBQWtDO1FBRGxDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVI1QyxlQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ2YsWUFBTyxHQUFVLEVBQUUsQ0FBQTtRQUNuQixzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFBO1FBQ3pDLGFBQVEsR0FBRyxJQUFJLE9BQU8s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WUFDVixJQUFJO1NBQ0wsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ3JDO0lBQ0gsQ0FBQzsrR0E3RlUsa0JBQWtCO21HQUFsQixrQkFBa0IsMkVDdEIvQixreUNBdUNBLHlERHZCSSxZQUFZLCtQQUNaLGNBQWMsOEJBQ2QsZUFBZSw0RkFDZixvQkFBb0I7OzRGQUdYLGtCQUFrQjtrQkFaOUIsU0FBUzsrQkFDRSxpQkFBaUIsY0FHZixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysb0JBQW9CO3FCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpcnN0VmFsdWVGcm9tLCBmcm9tLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEdlb2NvZGluZ1NlcnZpY2UgfSBmcm9tICcuLi9nZW9jb2Rpbmcuc2VydmljZSdcbmltcG9ydCB7IE1hcEZhY2FkZSB9IGZyb20gJy4uLytzdGF0ZS9tYXAuZmFjYWRlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgU2VhcmNoSW5wdXRDb21wb25lbnQsIFVpSW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE1hcENvbnRleHRWaWV3IH0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWdlb2NvZGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW9jb2RpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW9jb2RpbmcuY29tcG9uZW50LmNzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBTZWFyY2hJbnB1dENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR2VvY29kaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgc2VhcmNoVGV4dCA9ICcnXG4gIHJlc3VsdHM6IGFueVtdID0gW11cbiAgc2VhcmNoVGV4dENoYW5nZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KClcbiAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1hcEZhY2FkZTogTWFwRmFjYWRlLFxuICAgIHByaXZhdGUgZ2VvY29kaW5nU2VydmljZTogR2VvY29kaW5nU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNlYXJjaFRleHRDaGFuZ2VkXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgIHN3aXRjaE1hcCgoc2VhcmNoVGV4dCkgPT4ge1xuICAgICAgICAgIHJldHVybiBmcm9tKHRoaXMuZ2VvY29kaW5nU2VydmljZS5xdWVyeShzZWFyY2hUZXh0KSkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cbiAgICAgICAgICAgICAgICAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgc2VhcmNoaW5nLiBQbGVhc2UgdHJ5IGFnYWluLidcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcbiAgICAgICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0cykgPT4ge1xuICAgICAgICB0aGlzLnJlc3VsdHMgPSByZXN1bHRzXG4gICAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KClcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKClcbiAgfVxuXG4gIG9uU2VhcmNoQ2hhbmdlKHNlYXJjaFRleHQ6IHN0cmluZykge1xuICAgIGlmICghc2VhcmNoVGV4dCkge1xuICAgICAgdGhpcy5jbGVhclNlYXJjaCgpXG4gICAgICByZXR1cm5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hUZXh0Q2hhbmdlZC5uZXh0KHNlYXJjaFRleHQpXG4gICAgfVxuICB9XG5cbiAgY2xlYXJTZWFyY2goKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJydcbiAgICB0aGlzLnJlc3VsdHMgPSBbXVxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbFxuICB9XG5cbiAgYXN5bmMgem9vbVRvTG9jYXRpb24ocmVzdWx0OiBhbnkpIHtcbiAgICBjb25zdCBnZW9tZXRyeSA9IHJlc3VsdC5nZW9tXG5cbiAgICBpZiAoZ2VvbWV0cnkudHlwZSA9PT0gJ1BvaW50Jykge1xuICAgICAgYXdhaXQgdGhpcy56b29tVG9Qb2ludChnZW9tZXRyeS5jb29yZGluYXRlcylcbiAgICB9IGVsc2UgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdQb2x5Z29uJykge1xuICAgICAgYXdhaXQgdGhpcy56b29tVG9Qb2x5Z29uKGdlb21ldHJ5LmNvb3JkaW5hdGVzKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBVbnN1cHBvcnRlZCBnZW9tZXRyeSB0eXBlOiAke2dlb21ldHJ5LnR5cGV9YClcbiAgICB9XG4gIH1cblxuICBhc3luYyB6b29tVG9Qb2ludChwb2ludENvb3JkczogW251bWJlciwgbnVtYmVyXSkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLm1hcEZhY2FkZS5jb250ZXh0JClcbiAgICBjb25zdCB2aWV3OiBNYXBDb250ZXh0VmlldyA9IHtcbiAgICAgIGNlbnRlcjogcG9pbnRDb29yZHMsXG4gICAgICB6b29tOiAxMCxcbiAgICB9XG4gICAgdGhpcy5tYXBGYWNhZGUuYXBwbHlDb250ZXh0KHtcbiAgICAgIC4uLmNvbnRleHQsXG4gICAgICB2aWV3LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyB6b29tVG9Qb2x5Z29uKHBvbHlnb25Db29yZHM6IFtbbnVtYmVyLCBudW1iZXJdW11dKSB7XG4gICAgY29uc3QgY29udGV4dCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMubWFwRmFjYWRlLmNvbnRleHQkKVxuICAgIGNvbnN0IHZpZXc6IE1hcENvbnRleHRWaWV3ID0ge1xuICAgICAgZ2VvbWV0cnk6IHtcbiAgICAgICAgdHlwZTogJ1BvbHlnb24nLFxuICAgICAgICBjb29yZGluYXRlczogcG9seWdvbkNvb3JkcyxcbiAgICAgIH0sXG4gICAgfVxuICAgIHRoaXMubWFwRmFjYWRlLmFwcGx5Q29udGV4dCh7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgdmlldyxcbiAgICB9KVxuICB9XG5cbiAgb25FbnRlclByZXNzKCkge1xuICAgIGlmICh0aGlzLnJlc3VsdHMgJiYgdGhpcy5yZXN1bHRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuem9vbVRvTG9jYXRpb24odGhpcy5yZXN1bHRzWzBdKVxuICAgIH1cbiAgfVxufVxuIiwiPGduLXVpLXNlYXJjaC1pbnB1dFxuICBbKHZhbHVlKV09XCJzZWFyY2hUZXh0XCJcbiAgKHZhbHVlQ2hhbmdlKT1cIm9uU2VhcmNoQ2hhbmdlKCRldmVudClcIlxuICAoa2V5dXAuZW50ZXIpPVwib25FbnRlclByZXNzKClcIlxuICBbcGxhY2Vob2xkZXJdPVwiJ21hcC5nZW9jb2RpbmcucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbj5cbjwvZ24tdWktc2VhcmNoLWlucHV0PlxuPHVsXG4gIGNsYXNzPVwiYmctZ3JheS01MCBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHctZnVsbCBtdC0yIHNoYWRvdy1zbSByb3VuZGVkLWxnXCJcbiAgKm5nSWY9XCJyZXN1bHRzICYmIHJlc3VsdHMubGVuZ3RoXCJcbj5cbiAgPGxpXG4gICAgKm5nRm9yPVwibGV0IHJlc3VsdCBvZiByZXN1bHRzXCJcbiAgICAoY2xpY2spPVwiem9vbVRvTG9jYXRpb24ocmVzdWx0KVwiXG4gICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBwbC04IHByLTQgcHktMiBib3JkZXItYiBib3JkZXItZ3JheS0yMDAgcmVsYXRpdmUgY3Vyc29yLXBvaW50ZXIgaG92ZXI6YmctYmx1ZS0xMDAgaG92ZXI6dGV4dC1ncmF5LTgwMCB0cmFuc2l0aW9uIGR1cmF0aW9uLTMwMCBlYXNlLWluLW91dFwiXG4gID5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cInN0cm9rZS1jdXJyZW50IHRleHQtYmx1ZS01MDAgYWJzb2x1dGUgdy01IGgtNSBsZWZ0LTMgdG9wLTNcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgIGQ9XCJNMTcuNjU3IDE2LjY1N0wxMy40MTQgMjAuOWExLjk5OCAxLjk5OCAwIDAxLTIuODI3IDBsLTQuMjQ0LTQuMjQzYTggOCAwIDExMTEuMzE0IDB6XCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgZD1cIk0xNSAxMWEzIDMgMCAxMS02IDAgMyAzIDAgMDE2IDB6XCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gICAgPHNwYW4gY2xhc3M9XCJmb250LXNhbnMgZm9udC1zZW1pYm9sZCBtbC00XCI+e3sgcmVzdWx0LmxhYmVsIH19PC9zcGFuPlxuICA8L2xpPlxuPC91bD5cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
2
2
  import { MapFacade } from '../+state/map.facade';
3
+ import { firstValueFrom, map } from 'rxjs';
3
4
  import { MatIconModule } from '@angular/material/icon';
4
5
  import { UiLayoutModule } from '../../../../../../libs/ui/layout/src';
5
6
  import { MatTabsModule } from '@angular/material/tabs';
@@ -20,17 +21,25 @@ import * as i6 from "@angular/common";
20
21
  export class LayersPanelComponent {
21
22
  constructor(mapFacade) {
22
23
  this.mapFacade = mapFacade;
23
- this.layers$ = this.mapFacade.layers$;
24
+ this.layers$ = this.mapFacade.context$.pipe(map((context) => context.layers));
24
25
  this.ogcUrl = '';
25
26
  }
26
- deleteLayer(index) {
27
- this.mapFacade.removeLayer(index);
27
+ async deleteLayer(index) {
28
+ const context = await firstValueFrom(this.mapFacade.context$);
29
+ this.mapFacade.applyContext({
30
+ ...context,
31
+ layers: context.layers.filter((_, i) => i !== index),
32
+ });
28
33
  }
29
- addLayer(layer) {
30
- this.mapFacade.addLayer(layer);
34
+ async addLayer(layer) {
35
+ const context = await firstValueFrom(this.mapFacade.context$);
36
+ this.mapFacade.applyContext({
37
+ ...context,
38
+ layers: [...context.layers, layer],
39
+ });
31
40
  }
32
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayersPanelComponent, deps: [{ token: i1.MapFacade }], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayersPanelComponent, isStandalone: true, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.ogc.api' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-ogc-api\n [ogcUrl]=\"ogcUrl\"\n (layerAdded)=\"addLayer($event)\"\n ></gn-ui-add-layer-from-ogc-api>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: UiLayoutModule }, { kind: "component", type: i3.ExpandablePanelButtonComponent, selector: "gn-ui-expandable-panel-button", inputs: ["titleTemplate", "collapsed"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "component", type: AddLayerFromOgcApiComponent, selector: "gn-ui-add-layer-from-ogc-api", inputs: ["ogcUrl"], outputs: ["layerAdded"] }, { kind: "component", type: AddLayerFromWfsComponent, selector: "gn-ui-add-layer-from-wfs" }, { kind: "component", type: AddLayerFromWmsComponent, selector: "gn-ui-add-layer-from-wms" }, { kind: "component", type: AddLayerFromCatalogComponent, selector: "gn-ui-add-layer-from-catalog" }, { kind: "component", type: AddLayerFromFileComponent, selector: "gn-ui-add-layer-from-file" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayersPanelComponent, isStandalone: true, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.label }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index); $event.preventDefault()\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.ogc.api' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-ogc-api\n [ogcUrl]=\"ogcUrl\"\n (layerAdded)=\"addLayer($event)\"\n ></gn-ui-add-layer-from-ogc-api>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: UiLayoutModule }, { kind: "component", type: i3.ExpandablePanelButtonComponent, selector: "gn-ui-expandable-panel-button", inputs: ["titleTemplate", "collapsed"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "component", type: AddLayerFromOgcApiComponent, selector: "gn-ui-add-layer-from-ogc-api", inputs: ["ogcUrl"], outputs: ["layerAdded"] }, { kind: "component", type: AddLayerFromWfsComponent, selector: "gn-ui-add-layer-from-wfs" }, { kind: "component", type: AddLayerFromWmsComponent, selector: "gn-ui-add-layer-from-wms" }, { kind: "component", type: AddLayerFromCatalogComponent, selector: "gn-ui-add-layer-from-catalog" }, { kind: "component", type: AddLayerFromFileComponent, selector: "gn-ui-add-layer-from-file" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
43
  }
35
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayersPanelComponent, decorators: [{
36
45
  type: Component,
@@ -45,6 +54,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
45
54
  AddLayerFromFileComponent,
46
55
  TranslateModule,
47
56
  CommonModule,
48
- ], template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.ogc.api' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-ogc-api\n [ogcUrl]=\"ogcUrl\"\n (layerAdded)=\"addLayer($event)\"\n ></gn-ui-add-layer-from-ogc-api>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n" }]
57
+ ], template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.label }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index); $event.preventDefault()\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.ogc.api' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-ogc-api\n [ogcUrl]=\"ogcUrl\"\n (layerAdded)=\"addLayer($event)\"\n ></gn-ui-add-layer-from-ogc-api>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n" }]
49
58
  }], ctorParameters: function () { return [{ type: i1.MapFacade }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJzLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9sYXllcnMtcGFuZWwvbGF5ZXJzLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9sYXllcnMtcGFuZWwvbGF5ZXJzLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFBO0FBQ3hHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQzdGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQzdGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDREQUE0RCxDQUFBO0FBQ3pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFBO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7Ozs7Ozs7O0FBcUI5QyxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFGeEMsWUFBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFBO1FBQ2hDLFdBQU0sR0FBRyxFQUFFLENBQUE7SUFDZ0MsQ0FBQztJQUU1QyxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQUs7UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDOytHQVhVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDhFQ2hDakMsb3pFQStEQSx5REQzQ0ksYUFBYSxtTEFDYixjQUFjLGlMQUNkLGFBQWEseVRBQ2IsMkJBQTJCLHNIQUMzQix3QkFBd0IscUVBQ3hCLHdCQUF3QixxRUFDeEIsNEJBQTRCLHlFQUM1Qix5QkFBeUIscUVBQ3pCLGVBQWUsa09BQ2YsWUFBWTs7NEZBR0gsb0JBQW9CO2tCQW5CaEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsMkJBQTJCO3dCQUMzQix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1Qix5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWFwRmFjYWRlIH0gZnJvbSAnLi4vK3N0YXRlL21hcC5mYWNhZGUnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IFVpTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnXG5pbXBvcnQgeyBBZGRMYXllckZyb21PZ2NBcGlDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpL2FkZC1sYXllci1mcm9tLW9nYy1hcGkuY29tcG9uZW50J1xuaW1wb3J0IHsgQWRkTGF5ZXJGcm9tV2ZzQ29tcG9uZW50IH0gZnJvbSAnLi4vYWRkLWxheWVyLWZyb20td2ZzL2FkZC1sYXllci1mcm9tLXdmcy5jb21wb25lbnQnXG5pbXBvcnQgeyBBZGRMYXllckZyb21XbXNDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtbGF5ZXItZnJvbS13bXMvYWRkLWxheWVyLWZyb20td21zLmNvbXBvbmVudCdcbmltcG9ydCB7IEFkZExheWVyRnJvbUNhdGFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nL2FkZC1sYXllci1mcm9tLWNhdGFsb2cuY29tcG9uZW50J1xuaW1wb3J0IHsgQWRkTGF5ZXJGcm9tRmlsZUNvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1sYXllci1mcm9tLWZpbGUvYWRkLWxheWVyLWZyb20tZmlsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1sYXllcnMtcGFuZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5ZXJzLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5ZXJzLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBVaUxheW91dE1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIEFkZExheWVyRnJvbU9nY0FwaUNvbXBvbmVudCxcbiAgICBBZGRMYXllckZyb21XZnNDb21wb25lbnQsXG4gICAgQWRkTGF5ZXJGcm9tV21zQ29tcG9uZW50LFxuICAgIEFkZExheWVyRnJvbUNhdGFsb2dDb21wb25lbnQsXG4gICAgQWRkTGF5ZXJGcm9tRmlsZUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMYXllcnNQYW5lbENvbXBvbmVudCB7XG4gIGxheWVycyQgPSB0aGlzLm1hcEZhY2FkZS5sYXllcnMkXG4gIG9nY1VybCA9ICcnXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWFwRmFjYWRlOiBNYXBGYWNhZGUpIHt9XG5cbiAgZGVsZXRlTGF5ZXIoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMubWFwRmFjYWRlLnJlbW92ZUxheWVyKGluZGV4KVxuICB9XG5cbiAgYWRkTGF5ZXIobGF5ZXIpIHtcbiAgICB0aGlzLm1hcEZhY2FkZS5hZGRMYXllcihsYXllcilcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImJnLXdoaXRlIHJvdW5kZWQgc2hhZG93IHNoYWRvdy1sZyByZWxhdGl2ZSBoLWZ1bGwgdy1bNDAwcHhdIG92ZXJmbG93LWhpZGRlblwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwLTMgYm9yZGVyLWIgYm9yZGVyLWdyYXktMzAwIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtci0yXCI+bGF5ZXJzPC9tYXQtaWNvbj5cbiAgICA8c3BhbiB0cmFuc2xhdGU+bWFwLmxheWVycy5saXN0PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgcHgtNCBkaXZpZGUteSBkaXZpZGUteS1ncmF5LTUwXCI+XG4gICAgPGRpdlxuICAgICAgKm5nRm9yPVwibGV0IGxheWVyIG9mIGxheWVycyQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IHB5LTNcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgLW1sLTIgbXItMiBzaHJpbmstMFwiXG4gICAgICAgID5jaGV2cm9uX3JpZ2h0PC9tYXQtaWNvblxuICAgICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtci0yIGdyb3dcIj57eyBsYXllci50aXRsZSB9fTwvc3Bhbj5cbiAgICAgIDxhXG4gICAgICAgIGhyZWZcbiAgICAgICAgY2xhc3M9XCJ1bmRlcmxpbmUgdGV4dC1zbSB0ZXh0LXJlZC03MDAgaG92ZXI6dGV4dC1yZWQtOTAwXCJcbiAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUxheWVyKGluZGV4KVwiXG4gICAgICA+XG4gICAgICAgIGRlbGV0ZVxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGduLXVpLWV4cGFuZGFibGUtcGFuZWwtYnV0dG9uIFt0aXRsZVRlbXBsYXRlXT1cImFkZExheWVyVGl0bGVcIj5cbiAgICA8bWF0LXRhYi1ncm91cCBhbmltYXRpb25EdXJhdGlvbj1cIjIwMG1zXCIgY2xhc3M9XCJoLWZ1bGxcIj5cbiAgICAgIDxtYXQtdGFiIFtsYWJlbF09XCInbWFwLmFkZC5sYXllci5jYXRhbG9nJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC0zXCI+XG4gICAgICAgICAgPGduLXVpLWFkZC1sYXllci1mcm9tLWNhdGFsb2c+PC9nbi11aS1hZGQtbGF5ZXItZnJvbS1jYXRhbG9nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LXRhYj5cbiAgICAgIDxtYXQtdGFiIFtsYWJlbF09XCInbWFwLmFkZC5sYXllci53bXMnIHwgdHJhbnNsYXRlXCIgYm9keUNsYXNzPVwiaC1mdWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgICAgICAgICA8Z24tdWktYWRkLWxheWVyLWZyb20td21zPjwvZ24tdWktYWRkLWxheWVyLWZyb20td21zPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LXRhYj5cbiAgICAgIDxtYXQtdGFiIFtsYWJlbF09XCInbWFwLmFkZC5sYXllci53ZnMnIHwgdHJhbnNsYXRlXCIgYm9keUNsYXNzPVwiaC1mdWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgICAgICAgICA8Z24tdWktYWRkLWxheWVyLWZyb20td2ZzPjwvZ24tdWktYWRkLWxheWVyLWZyb20td2ZzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LXRhYj5cbiAgICAgIDxtYXQtdGFiIFtsYWJlbF09XCInbWFwLmFkZC5sYXllci5vZ2MuYXBpJyB8IHRyYW5zbGF0ZVwiIGJvZHlDbGFzcz1cImgtZnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC0zXCI+XG4gICAgICAgICAgPGduLXVpLWFkZC1sYXllci1mcm9tLW9nYy1hcGlcbiAgICAgICAgICAgIFtvZ2NVcmxdPVwib2djVXJsXCJcbiAgICAgICAgICAgIChsYXllckFkZGVkKT1cImFkZExheWVyKCRldmVudClcIlxuICAgICAgICAgID48L2duLXVpLWFkZC1sYXllci1mcm9tLW9nYy1hcGk+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtdGFiPlxuICAgICAgPG1hdC10YWIgW2xhYmVsXT1cIidtYXAuYWRkLmxheWVyLmZpbGUnIHwgdHJhbnNsYXRlXCIgYm9keUNsYXNzPVwiaC1mdWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgICAgICAgICA8Z24tdWktYWRkLWxheWVyLWZyb20tZmlsZT48L2duLXVpLWFkZC1sYXllci1mcm9tLWZpbGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtdGFiPlxuICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgPC9nbi11aS1leHBhbmRhYmxlLXBhbmVsLWJ1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2FkZExheWVyVGl0bGU+XG4gIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbXItNFwiPmFkZF9jaXJjbGU8L21hdC1pY29uPlxuICA8c3BhbiB0cmFuc2xhdGU+bWFwLmFkZC5sYXllcjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJzLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9sYXllcnMtcGFuZWwvbGF5ZXJzLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9sYXllcnMtcGFuZWwvbGF5ZXJzLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFBO0FBQ3hHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQzdGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQzdGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDREQUE0RCxDQUFBO0FBQ3pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFBO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7Ozs7Ozs7O0FBcUI5QyxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFGeEMsWUFBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3hFLFdBQU0sR0FBRyxFQUFFLENBQUE7SUFDZ0MsQ0FBQztJQUU1QyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQWE7UUFDN0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztZQUMxQixHQUFHLE9BQU87WUFDVixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO1NBQ3JELENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQXNCO1FBQ25DLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7WUFDMUIsR0FBRyxPQUFPO1lBQ1YsTUFBTSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztTQUNuQyxDQUFDLENBQUE7SUFDSixDQUFDOytHQW5CVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw4RUNsQ2pDLDYwRUErREEseUREekNJLGFBQWEsbUxBQ2IsY0FBYyxpTEFDZCxhQUFhLHlUQUNiLDJCQUEyQixzSEFDM0Isd0JBQXdCLHFFQUN4Qix3QkFBd0IscUVBQ3hCLDRCQUE0Qix5RUFDNUIseUJBQXlCLHFFQUN6QixlQUFlLGtPQUNmLFlBQVk7OzRGQUdILG9CQUFvQjtrQkFuQmhDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIseUJBQXlCO3dCQUN6QixlQUFlO3dCQUNmLFlBQVk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hcEZhY2FkZSB9IGZyb20gJy4uLytzdGF0ZS9tYXAuZmFjYWRlJ1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIG1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBNYXBDb250ZXh0TGF5ZXIgfSBmcm9tICdAZ2Vvc3BhdGlhbC1zZGsvY29yZSdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgVWlMYXlvdXRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicydcbmltcG9ydCB7IEFkZExheWVyRnJvbU9nY0FwaUNvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1sYXllci1mcm9tLW9nYy1hcGkvYWRkLWxheWVyLWZyb20tb2djLWFwaS5jb21wb25lbnQnXG5pbXBvcnQgeyBBZGRMYXllckZyb21XZnNDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtbGF5ZXItZnJvbS13ZnMvYWRkLWxheWVyLWZyb20td2ZzLmNvbXBvbmVudCdcbmltcG9ydCB7IEFkZExheWVyRnJvbVdtc0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1sYXllci1mcm9tLXdtcy9hZGQtbGF5ZXItZnJvbS13bXMuY29tcG9uZW50J1xuaW1wb3J0IHsgQWRkTGF5ZXJGcm9tQ2F0YWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1sYXllci1mcm9tLWNhdGFsb2cvYWRkLWxheWVyLWZyb20tY2F0YWxvZy5jb21wb25lbnQnXG5pbXBvcnQgeyBBZGRMYXllckZyb21GaWxlQ29tcG9uZW50IH0gZnJvbSAnLi4vYWRkLWxheWVyLWZyb20tZmlsZS9hZGQtbGF5ZXItZnJvbS1maWxlLmNvbXBvbmVudCdcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWxheWVycy1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXllcnMtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYXllcnMtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFVpTGF5b3V0TW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgQWRkTGF5ZXJGcm9tT2djQXBpQ29tcG9uZW50LFxuICAgIEFkZExheWVyRnJvbVdmc0NvbXBvbmVudCxcbiAgICBBZGRMYXllckZyb21XbXNDb21wb25lbnQsXG4gICAgQWRkTGF5ZXJGcm9tQ2F0YWxvZ0NvbXBvbmVudCxcbiAgICBBZGRMYXllckZyb21GaWxlQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIExheWVyc1BhbmVsQ29tcG9uZW50IHtcbiAgbGF5ZXJzJCA9IHRoaXMubWFwRmFjYWRlLmNvbnRleHQkLnBpcGUobWFwKChjb250ZXh0KSA9PiBjb250ZXh0LmxheWVycykpXG4gIG9nY1VybCA9ICcnXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWFwRmFjYWRlOiBNYXBGYWNhZGUpIHt9XG5cbiAgYXN5bmMgZGVsZXRlTGF5ZXIoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGNvbnRleHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLm1hcEZhY2FkZS5jb250ZXh0JClcbiAgICB0aGlzLm1hcEZhY2FkZS5hcHBseUNvbnRleHQoe1xuICAgICAgLi4uY29udGV4dCxcbiAgICAgIGxheWVyczogY29udGV4dC5sYXllcnMuZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCksXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGFkZExheWVyKGxheWVyOiBNYXBDb250ZXh0TGF5ZXIpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5tYXBGYWNhZGUuY29udGV4dCQpXG4gICAgdGhpcy5tYXBGYWNhZGUuYXBwbHlDb250ZXh0KHtcbiAgICAgIC4uLmNvbnRleHQsXG4gICAgICBsYXllcnM6IFsuLi5jb250ZXh0LmxheWVycywgbGF5ZXJdLFxuICAgIH0pXG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJiZy13aGl0ZSByb3VuZGVkIHNoYWRvdyBzaGFkb3ctbGcgcmVsYXRpdmUgaC1mdWxsIHctWzQwMHB4XSBvdmVyZmxvdy1oaWRkZW5cIlxuPlxuICA8ZGl2IGNsYXNzPVwicC0zIGJvcmRlci1iIGJvcmRlci1ncmF5LTMwMCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbXItMlwiPmxheWVyczwvbWF0LWljb24+XG4gICAgPHNwYW4gdHJhbnNsYXRlPm1hcC5sYXllcnMubGlzdDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHB4LTQgZGl2aWRlLXkgZGl2aWRlLXktZ3JheS01MFwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBsYXllciBvZiBsYXllcnMkIHwgYXN5bmM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBweS0zXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIC1tbC0yIG1yLTIgc2hyaW5rLTBcIlxuICAgICAgICA+Y2hldnJvbl9yaWdodDwvbWF0LWljb25cbiAgICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibXItMiBncm93XCI+e3sgbGF5ZXIubGFiZWwgfX08L3NwYW4+XG4gICAgICA8YVxuICAgICAgICBocmVmXG4gICAgICAgIGNsYXNzPVwidW5kZXJsaW5lIHRleHQtc20gdGV4dC1yZWQtNzAwIGhvdmVyOnRleHQtcmVkLTkwMFwiXG4gICAgICAgIChjbGljayk9XCJkZWxldGVMYXllcihpbmRleCk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgID5cbiAgICAgICAgZGVsZXRlXG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8Z24tdWktZXhwYW5kYWJsZS1wYW5lbC1idXR0b24gW3RpdGxlVGVtcGxhdGVdPVwiYWRkTGF5ZXJUaXRsZVwiPlxuICAgIDxtYXQtdGFiLWdyb3VwIGFuaW1hdGlvbkR1cmF0aW9uPVwiMjAwbXNcIiBjbGFzcz1cImgtZnVsbFwiPlxuICAgICAgPG1hdC10YWIgW2xhYmVsXT1cIidtYXAuYWRkLmxheWVyLmNhdGFsb2cnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgICAgICAgICA8Z24tdWktYWRkLWxheWVyLWZyb20tY2F0YWxvZz48L2duLXVpLWFkZC1sYXllci1mcm9tLWNhdGFsb2c+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtdGFiPlxuICAgICAgPG1hdC10YWIgW2xhYmVsXT1cIidtYXAuYWRkLmxheWVyLndtcycgfCB0cmFuc2xhdGVcIiBib2R5Q2xhc3M9XCJoLWZ1bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgICAgICAgIDxnbi11aS1hZGQtbGF5ZXItZnJvbS13bXM+PC9nbi11aS1hZGQtbGF5ZXItZnJvbS13bXM+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtdGFiPlxuICAgICAgPG1hdC10YWIgW2xhYmVsXT1cIidtYXAuYWRkLmxheWVyLndmcycgfCB0cmFuc2xhdGVcIiBib2R5Q2xhc3M9XCJoLWZ1bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgICAgICAgIDxnbi11aS1hZGQtbGF5ZXItZnJvbS13ZnM+PC9nbi11aS1hZGQtbGF5ZXItZnJvbS13ZnM+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtdGFiPlxuICAgICAgPG1hdC10YWIgW2xhYmVsXT1cIidtYXAuYWRkLmxheWVyLm9nYy5hcGknIHwgdHJhbnNsYXRlXCIgYm9keUNsYXNzPVwiaC1mdWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgICAgICAgICA8Z24tdWktYWRkLWxheWVyLWZyb20tb2djLWFwaVxuICAgICAgICAgICAgW29nY1VybF09XCJvZ2NVcmxcIlxuICAgICAgICAgICAgKGxheWVyQWRkZWQpPVwiYWRkTGF5ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvZ24tdWktYWRkLWxheWVyLWZyb20tb2djLWFwaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC10YWI+XG4gICAgICA8bWF0LXRhYiBbbGFiZWxdPVwiJ21hcC5hZGQubGF5ZXIuZmlsZScgfCB0cmFuc2xhdGVcIiBib2R5Q2xhc3M9XCJoLWZ1bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgICAgICAgIDxnbi11aS1hZGQtbGF5ZXItZnJvbS1maWxlPjwvZ24tdWktYWRkLWxheWVyLWZyb20tZmlsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC10YWI+XG4gICAgPC9tYXQtdGFiLWdyb3VwPlxuICA8L2duLXVpLWV4cGFuZGFibGUtcGFuZWwtYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjYWRkTGF5ZXJUaXRsZT5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtci00XCI+YWRkX2NpcmNsZTwvbWF0LWljb24+XG4gIDxzcGFuIHRyYW5zbGF0ZT5tYXAuYWRkLmxheWVyPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { MapFacade } from '../+state/map.facade';
3
+ import { MapContainerComponent } from '../../../../../../libs/ui/map/src';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../+state/map.facade";
7
+ import * as i2 from "@angular/common";
8
+ export class MapStateContainerComponent {
9
+ constructor(mapFacade) {
10
+ this.mapFacade = mapFacade;
11
+ this.context$ = this.mapFacade.context$;
12
+ }
13
+ handleFeaturesClicked(features) {
14
+ if (!features.length) {
15
+ this.mapFacade.clearFeatureSelection();
16
+ return;
17
+ }
18
+ this.mapFacade.selectFeatures(features);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapStateContainerComponent, deps: [{ token: i1.MapFacade }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapStateContainerComponent, isStandalone: true, selector: "gn-ui-map-state-container", ngImport: i0, template: "<gn-ui-map-container\n [context]=\"context$ | async\"\n (featuresClick)=\"handleFeaturesClicked($event)\"\n></gn-ui-map-container>\n", styles: [""], dependencies: [{ kind: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapStateContainerComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'gn-ui-map-state-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MapContainerComponent, CommonModule], template: "<gn-ui-map-container\n [context]=\"context$ | async\"\n (featuresClick)=\"handleFeaturesClicked($event)\"\n></gn-ui-map-container>\n" }]
26
+ }], ctorParameters: function () { return [{ type: i1.MapFacade }]; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXN0YXRlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvbWFwLXN0YXRlLWNvbnRhaW5lci9tYXAtc3RhdGUtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9tYXAtc3RhdGUtY29udGFpbmVyL21hcC1zdGF0ZS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7O0FBVzlDLE1BQU0sT0FBTywwQkFBMEI7SUFHckMsWUFBb0IsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUZ4QyxhQUFRLEdBQTJCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFBO0lBRWYsQ0FBQztJQUU1QyxxQkFBcUIsQ0FBQyxRQUFtQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUE7WUFDdEMsT0FBTTtTQUNQO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDekMsQ0FBQzsrR0FYVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixxRkNoQnZDLHdJQUlBLDBERFVZLHFCQUFxQiw2SUFBRSxZQUFZOzs0RkFFbEMsMEJBQTBCO2tCQVJ0QyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTWFwRmFjYWRlIH0gZnJvbSAnLi4vK3N0YXRlL21hcC5mYWNhZGUnXG5pbXBvcnQgeyBNYXBDb250ZXh0IH0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2NvcmUnXG5pbXBvcnQgeyBNYXBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWFwLXN0YXRlLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtc3RhdGUtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFwLXN0YXRlLWNvbnRhaW5lci5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWFwQ29udGFpbmVyQ29tcG9uZW50LCBDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBTdGF0ZUNvbnRhaW5lckNvbXBvbmVudCB7XG4gIGNvbnRleHQkOiBPYnNlcnZhYmxlPE1hcENvbnRleHQ+ID0gdGhpcy5tYXBGYWNhZGUuY29udGV4dCRcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hcEZhY2FkZTogTWFwRmFjYWRlKSB7fVxuXG4gIGhhbmRsZUZlYXR1cmVzQ2xpY2tlZChmZWF0dXJlczogRmVhdHVyZVtdKSB7XG4gICAgaWYgKCFmZWF0dXJlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMubWFwRmFjYWRlLmNsZWFyRmVhdHVyZVNlbGVjdGlvbigpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5tYXBGYWNhZGUuc2VsZWN0RmVhdHVyZXMoZmVhdHVyZXMpXG4gIH1cbn1cbiIsIjxnbi11aS1tYXAtY29udGFpbmVyXG4gIFtjb250ZXh0XT1cImNvbnRleHQkIHwgYXN5bmNcIlxuICAoZmVhdHVyZXNDbGljayk9XCJoYW5kbGVGZWF0dXJlc0NsaWNrZWQoJGV2ZW50KVwiXG4+PC9nbi11aS1tYXAtY29udGFpbmVyPlxuIl19
@@ -1,160 +1,10 @@
1
- import { HttpClient } from '@angular/common/http';
2
1
  import { Injectable } from '@angular/core';
3
- import { extend, isEmpty } from 'ol/extent';
2
+ import { extend } from 'ol/extent';
4
3
  import GeoJSON from 'ol/format/GeoJSON';
5
- import Map from 'ol/Map';
6
4
  import { transformExtent } from 'ol/proj';
7
- import ImageWMS from 'ol/source/ImageWMS';
8
- import TileWMS from 'ol/source/TileWMS';
9
- import VectorSource from 'ol/source/Vector';
10
- import { defaults, DragPan, MouseWheelZoom } from 'ol/interaction';
11
- import { mouseOnly, noModifierKeys, platformModifierKeyOnly, primaryAction, } from 'ol/events/condition';
12
- import { map } from 'rxjs/operators';
13
- import { ProxyService } from '../../../../../../libs/util/shared/src';
14
- import { WmsEndpoint, WmtsEndpoint } from '@camptocamp/ogc-client';
15
- import { LONLAT_CRS_CODES } from '../constant/projections';
16
- import { fromEPSGCode, register } from 'ol/proj/proj4';
17
- import proj4 from 'proj4';
18
- import { defaults as defaultControls } from 'ol/control/defaults';
19
5
  import * as i0 from "@angular/core";
20
- import * as i1 from "@angular/common/http";
21
- import * as i2 from "../../../../../../libs/util/shared/src";
22
- const FEATURE_PROJECTION = 'EPSG:3857';
23
- const DATA_PROJECTION = 'EPSG:4326';
24
6
  const GEOJSON = new GeoJSON();
25
7
  export class MapUtilsService {
26
- constructor(http, proxy) {
27
- this.http = http;
28
- this.proxy = proxy;
29
- this.readFeatureCollection = (featureCollection, featureProjection = FEATURE_PROJECTION, dataProjection = DATA_PROJECTION) => {
30
- return GEOJSON.readFeatures(featureCollection, {
31
- featureProjection,
32
- dataProjection,
33
- });
34
- };
35
- }
36
- createEmptyMap() {
37
- return new Map({
38
- controls: defaultControls({
39
- attribution: true,
40
- attributionOptions: { collapsible: false },
41
- }),
42
- pixelRatio: 1,
43
- });
44
- }
45
- isWMSLayer(layer) {
46
- return (layer.getSource() instanceof TileWMS ||
47
- layer.getSource() instanceof ImageWMS);
48
- }
49
- getGFIUrl(layer, map, coordinate) {
50
- const view = map.getView();
51
- const projection = view.getProjection();
52
- const resolution = view.getResolution();
53
- const source = layer.getSource();
54
- const params = {
55
- ...source.getParams(),
56
- INFO_FORMAT: 'application/json',
57
- };
58
- return source.getFeatureInfoUrl(coordinate, resolution, projection, params);
59
- }
60
- getVectorFeaturesFromClick(olMap, event) {
61
- const features = [];
62
- const hit = olMap.forEachFeatureAtPixel(event.pixel, (feature) => {
63
- return feature;
64
- }, { layerFilter: (layer) => layer.getSource() instanceof VectorSource });
65
- if (hit) {
66
- features.push(hit);
67
- }
68
- return features;
69
- }
70
- getGFIFeaturesObservablesFromClick(olMap, event) {
71
- const wmsLayers = olMap.getLayers().getArray().filter(this.isWMSLayer);
72
- if (wmsLayers.length > 0) {
73
- const { coordinate } = event;
74
- const gfiUrls = wmsLayers.reduce((urls, layer) => [...urls, this.getGFIUrl(layer, olMap, coordinate)], []);
75
- return gfiUrls.map((url) => this.http
76
- .get(url)
77
- .pipe(map((collection) => this.readFeatureCollection(collection))));
78
- }
79
- else {
80
- return [];
81
- }
82
- }
83
- /**
84
- * Will emit `null` if no extent could be computed
85
- */
86
- async getLayerExtent(layer) {
87
- let latLonExtent;
88
- if (layer &&
89
- layer.type === 'geojson' &&
90
- 'data' in layer &&
91
- typeof layer.data === 'object' &&
92
- layer.data.features[0] &&
93
- layer.data.features[0].geometry) {
94
- latLonExtent = new GeoJSON()
95
- .readFeatures(layer.data)
96
- .map((feature) => feature.getGeometry())
97
- .filter((geom) => !!geom)
98
- .reduce((prev, curr) => prev ? extend(prev, curr.getExtent()) : curr.getExtent(), null);
99
- }
100
- else if (layer && layer.type === 'wms') {
101
- latLonExtent = await this.getWmsLayerExtent(layer);
102
- }
103
- else if (layer && layer.type === 'wmts') {
104
- // TODO: isolate this in utils service
105
- latLonExtent = await new WmtsEndpoint(layer.url)
106
- .isReady()
107
- .then((endpoint) => {
108
- const layerName = endpoint.getSingleLayerName() ?? layer.name;
109
- const wmtsLayer = endpoint.getLayerByName(layerName);
110
- return wmtsLayer.latLonBoundingBox;
111
- });
112
- }
113
- else {
114
- return null;
115
- }
116
- if (!latLonExtent || isEmpty(latLonExtent)) {
117
- return null;
118
- }
119
- return transformExtent(latLonExtent, 'EPSG:4326', 'EPSG:3857');
120
- }
121
- async getWmsLayerExtent(layer) {
122
- const endpoint = await new WmsEndpoint(this.proxy.getProxiedUrl(layer.url)).isReady();
123
- const { boundingBoxes } = endpoint.getLayerByName(layer.name);
124
- if (!Object.keys(boundingBoxes).length) {
125
- return null;
126
- }
127
- const lonLatCRS = Object.keys(boundingBoxes)?.find((crs) => LONLAT_CRS_CODES.includes(crs));
128
- if (lonLatCRS) {
129
- return boundingBoxes[lonLatCRS];
130
- }
131
- else {
132
- const availableEPSGCode = Object.keys(boundingBoxes)[0];
133
- register(proj4);
134
- const proj = await fromEPSGCode(availableEPSGCode);
135
- return transformExtent(boundingBoxes[availableEPSGCode], proj, 'EPSG:4326');
136
- }
137
- }
138
- prioritizePageScroll(interactions) {
139
- interactions.clear();
140
- interactions.extend(defaults({
141
- // remove rotate interactions
142
- altShiftDragRotate: false,
143
- pinchRotate: false,
144
- // replace drag and zoom interactions
145
- dragPan: false,
146
- mouseWheelZoom: false,
147
- })
148
- .extend([
149
- new DragPan({
150
- condition: dragPanCondition,
151
- }),
152
- new MouseWheelZoom({
153
- condition: mouseWheelZoomCondition,
154
- }),
155
- ])
156
- .getArray());
157
- }
158
8
  getRecordExtent(record) {
159
9
  if (!('spatialExtents' in record) || record.spatialExtents.length === 0) {
160
10
  return null;
@@ -171,7 +21,7 @@ export class MapUtilsService {
171
21
  }, [Infinity, Infinity, -Infinity, -Infinity]);
172
22
  return transformExtent(totalExtent, 'EPSG:4326', 'EPSG:3857');
173
23
  }
174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapUtilsService, deps: [{ token: i1.HttpClient }, { token: i2.ProxyService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapUtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
175
25
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapUtilsService, providedIn: 'root' }); }
176
26
  }
177
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapUtilsService, decorators: [{
@@ -179,19 +29,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
179
29
  args: [{
180
30
  providedIn: 'root',
181
31
  }]
182
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ProxyService }]; } });
183
- export function dragPanCondition(event) {
184
- const dragPanCondition = this.getPointerCount() === 2 || mouseOnly(event);
185
- if (!dragPanCondition) {
186
- this.getMap().dispatchEvent('mapmuted');
187
- }
188
- // combine the condition with the default DragPan conditions
189
- return dragPanCondition && noModifierKeys(event) && primaryAction(event);
190
- }
191
- export function mouseWheelZoomCondition(event) {
192
- if (!platformModifierKeyOnly(event) && event.type === 'wheel') {
193
- this.getMap().dispatchEvent('mapmuted');
194
- }
195
- return platformModifierKeyOnly(event);
196
- }
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvdXRpbHMvbWFwLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLE1BQU0sRUFBVSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkQsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUE7QUFHdkMsT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFBO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFekMsT0FBTyxRQUFRLE1BQU0sb0JBQW9CLENBQUE7QUFDekMsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUE7QUFDdkMsT0FBTyxZQUFZLE1BQU0sa0JBQWtCLENBQUE7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDL0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGFBQWEsR0FDZCxNQUFNLHFCQUFxQixDQUFBO0FBRTVCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQVFwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN0RCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxFQUFFLFFBQVEsSUFBSSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7OztBQUVqRSxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQTtBQUN0QyxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUE7QUFFbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtBQUs3QixNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixJQUFnQixFQUFVLEtBQW1CO1FBQTdDLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBWWpFLDBCQUFxQixHQUFHLENBQ3RCLGlCQUFvQyxFQUNwQyxpQkFBaUIsR0FBRyxrQkFBa0IsRUFDdEMsY0FBYyxHQUFHLGVBQWUsRUFDWCxFQUFFO1lBQ3ZCLE9BQU8sT0FBTyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDN0MsaUJBQWlCO2dCQUNqQixjQUFjO2FBQ2YsQ0FBd0IsQ0FBQTtRQUMzQixDQUFDLENBQUE7SUFyQm1FLENBQUM7SUFFckUsY0FBYztRQUNaLE9BQU8sSUFBSSxHQUFHLENBQUM7WUFDYixRQUFRLEVBQUUsZUFBZSxDQUFDO2dCQUN4QixXQUFXLEVBQUUsSUFBSTtnQkFDakIsa0JBQWtCLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFO2FBQzNDLENBQUM7WUFDRixVQUFVLEVBQUUsQ0FBQztTQUNkLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFhRCxVQUFVLENBQUMsS0FBb0I7UUFDN0IsT0FBTyxDQUNMLEtBQUssQ0FBQyxTQUFTLEVBQUUsWUFBWSxPQUFPO1lBQ3BDLEtBQUssQ0FBQyxTQUFTLEVBQUUsWUFBWSxRQUFRLENBQ3RDLENBQUE7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVTtRQUM5QixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDMUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN2QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDaEMsTUFBTSxNQUFNLEdBQUc7WUFDYixHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDckIsV0FBVyxFQUFFLGtCQUFrQjtTQUNoQyxDQUFBO1FBQ0QsT0FBTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVELDBCQUEwQixDQUFDLEtBQUssRUFBRSxLQUFLO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUNuQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMscUJBQXFCLENBQ3JDLEtBQUssQ0FBQyxLQUFLLEVBQ1gsQ0FBQyxPQUEwQixFQUFFLEVBQUU7WUFDN0IsT0FBTyxPQUFPLENBQUE7UUFDaEIsQ0FBQyxFQUNELEVBQUUsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFlBQVksWUFBWSxFQUFFLENBQ3RFLENBQUE7UUFDRCxJQUFJLEdBQUcsRUFBRTtZQUNQLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7U0FDbkI7UUFDRCxPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDO0lBRUQsa0NBQWtDLENBQ2hDLEtBQVUsRUFDVixLQUFvQztRQUVwQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUV0RSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUE7WUFDNUIsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FDOUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUVwRSxFQUFFLENBQ0gsQ0FBQTtZQUNELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ3pCLElBQUksQ0FBQyxJQUFJO2lCQUNOLEdBQUcsQ0FBb0IsR0FBRyxDQUFDO2lCQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUNyRSxDQUFBO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFBO1NBQ1Y7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQTJCO1FBQzlDLElBQUksWUFBb0IsQ0FBQTtRQUN4QixJQUNFLEtBQUs7WUFDTCxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFDeEIsTUFBTSxJQUFJLEtBQUs7WUFDZixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUMvQjtZQUNBLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBRTtpQkFDekIsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7aUJBQ3hCLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUN2QyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7aUJBQ3hCLE1BQU0sQ0FDTCxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUNiLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUMxRCxJQUFjLENBQ2YsQ0FBQTtTQUNKO2FBQU0sSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDeEMsWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQ25EO2FBQU0sSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDekMsc0NBQXNDO1lBQ3RDLFlBQVksR0FBRyxNQUFNLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQzdDLE9BQU8sRUFBRTtpQkFDVCxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixFQUFFLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQTtnQkFDN0QsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDcEQsT0FBTyxTQUFTLENBQUMsaUJBQWlCLENBQUE7WUFDcEMsQ0FBQyxDQUFDLENBQUE7U0FDTDthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUNELElBQUksQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzFDLE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFDRCxPQUFPLGVBQWUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQ3JCLEtBQThCO1FBRTlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxXQUFXLENBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FDcEMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNYLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDdEMsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDekQsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUMvQixDQUFBO1FBQ0QsSUFBSSxTQUFTLEVBQUU7WUFDYixPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtTQUNoQzthQUFNO1lBQ0wsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3ZELFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNmLE1BQU0sSUFBSSxHQUFHLE1BQU0sWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUE7WUFDbEQsT0FBTyxlQUFlLENBQ3BCLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUNoQyxJQUFJLEVBQ0osV0FBVyxDQUNaLENBQUE7U0FDRjtJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxZQUFxQztRQUN4RCxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDcEIsWUFBWSxDQUFDLE1BQU0sQ0FDakIsUUFBUSxDQUFDO1lBQ1AsNkJBQTZCO1lBQzdCLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsV0FBVyxFQUFFLEtBQUs7WUFDbEIscUNBQXFDO1lBQ3JDLE9BQU8sRUFBRSxLQUFLO1lBQ2QsY0FBYyxFQUFFLEtBQUs7U0FDdEIsQ0FBQzthQUNDLE1BQU0sQ0FBQztZQUNOLElBQUksT0FBTyxDQUFDO2dCQUNWLFNBQVMsRUFBRSxnQkFBZ0I7YUFDNUIsQ0FBQztZQUNGLElBQUksY0FBYyxDQUFDO2dCQUNqQixTQUFTLEVBQUUsdUJBQXVCO2FBQ25DLENBQUM7U0FDSCxDQUFDO2FBQ0QsUUFBUSxFQUFFLENBQ2QsQ0FBQTtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsTUFBOEI7UUFDNUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3ZFLE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFDRCx3REFBd0Q7UUFDeEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQzlDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ2IsSUFBSSxNQUFNLElBQUksSUFBSTtnQkFBRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2lCQUM3QyxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7Z0JBQzNCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUNoRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7YUFDdEM7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUMsRUFDRCxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FDM0MsQ0FBQTtRQUNELE9BQU8sZUFBZSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDL0QsQ0FBQzsrR0E5TFUsZUFBZTttSEFBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBa01ELE1BQU0sVUFBVSxnQkFBZ0IsQ0FFOUIsS0FBb0M7SUFFcEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN6RSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7UUFDckIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtLQUN4QztJQUNELDREQUE0RDtJQUM1RCxPQUFPLGdCQUFnQixJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDMUUsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FFckMsS0FBK0I7SUFFL0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1FBQzdELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUE7S0FDeEM7SUFDRCxPQUFPLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB0eXBlIHsgRmVhdHVyZUNvbGxlY3Rpb24gfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHsgZXh0ZW5kLCBFeHRlbnQsIGlzRW1wdHkgfSBmcm9tICdvbC9leHRlbnQnXG5pbXBvcnQgRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJ1xuaW1wb3J0IEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nXG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nXG5pbXBvcnQgTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvTGF5ZXInXG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCdcbmltcG9ydCB7IHRyYW5zZm9ybUV4dGVudCB9IGZyb20gJ29sL3Byb2onXG5pbXBvcnQgU291cmNlIGZyb20gJ29sL3NvdXJjZS9Tb3VyY2UnXG5pbXBvcnQgSW1hZ2VXTVMgZnJvbSAnb2wvc291cmNlL0ltYWdlV01TJ1xuaW1wb3J0IFRpbGVXTVMgZnJvbSAnb2wvc291cmNlL1RpbGVXTVMnXG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InXG5pbXBvcnQgeyBkZWZhdWx0cywgRHJhZ1BhbiwgSW50ZXJhY3Rpb24sIE1vdXNlV2hlZWxab29tIH0gZnJvbSAnb2wvaW50ZXJhY3Rpb24nXG5pbXBvcnQge1xuICBtb3VzZU9ubHksXG4gIG5vTW9kaWZpZXJLZXlzLFxuICBwbGF0Zm9ybU1vZGlmaWVyS2V5T25seSxcbiAgcHJpbWFyeUFjdGlvbixcbn0gZnJvbSAnb2wvZXZlbnRzL2NvbmRpdGlvbidcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQge1xuICBNYXBDb250ZXh0TGF5ZXJNb2RlbCxcbiAgTWFwQ29udGV4dExheWVyV21zTW9kZWwsXG59IGZyb20gJy4uL21hcC1jb250ZXh0L21hcC1jb250ZXh0Lm1vZGVsJ1xuaW1wb3J0IENvbGxlY3Rpb24gZnJvbSAnb2wvQ29sbGVjdGlvbidcbmltcG9ydCBNYXBCcm93c2VyRXZlbnQgZnJvbSAnb2wvTWFwQnJvd3NlckV2ZW50J1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IFByb3h5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgV21zRW5kcG9pbnQsIFdtdHNFbmRwb2ludCB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBMT05MQVRfQ1JTX0NPREVTIH0gZnJvbSAnLi4vY29uc3RhbnQvcHJvamVjdGlvbnMnXG5pbXBvcnQgeyBmcm9tRVBTR0NvZGUsIHJlZ2lzdGVyIH0gZnJvbSAnb2wvcHJvai9wcm9qNCdcbmltcG9ydCBwcm9qNCBmcm9tICdwcm9qNCdcbmltcG9ydCB7IGRlZmF1bHRzIGFzIGRlZmF1bHRDb250cm9scyB9IGZyb20gJ29sL2NvbnRyb2wvZGVmYXVsdHMnXG5cbmNvbnN0IEZFQVRVUkVfUFJPSkVDVElPTiA9ICdFUFNHOjM4NTcnXG5jb25zdCBEQVRBX1BST0pFQ1RJT04gPSAnRVBTRzo0MzI2J1xuXG5jb25zdCBHRU9KU09OID0gbmV3IEdlb0pTT04oKVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwVXRpbHNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHByb3h5OiBQcm94eVNlcnZpY2UpIHt9XG5cbiAgY3JlYXRlRW1wdHlNYXAoKTogTWFwIHtcbiAgICByZXR1cm4gbmV3IE1hcCh7XG4gICAgICBjb250cm9sczogZGVmYXVsdENvbnRyb2xzKHtcbiAgICAgICAgYXR0cmlidXRpb246IHRydWUsXG4gICAgICAgIGF0dHJpYnV0aW9uT3B0aW9uczogeyBjb2xsYXBzaWJsZTogZmFsc2UgfSxcbiAgICAgIH0pLFxuICAgICAgcGl4ZWxSYXRpbzogMSxcbiAgICB9KVxuICB9XG5cbiAgcmVhZEZlYXR1cmVDb2xsZWN0aW9uID0gKFxuICAgIGZlYXR1cmVDb2xsZWN0aW9uOiBGZWF0dXJlQ29sbGVjdGlvbixcbiAgICBmZWF0dXJlUHJvamVjdGlvbiA9IEZFQVRVUkVfUFJPSkVDVElPTixcbiAgICBkYXRhUHJvamVjdGlvbiA9IERBVEFfUFJPSkVDVElPTlxuICApOiBGZWF0dXJlPEdlb21ldHJ5PltdID0+IHtcbiAgICByZXR1cm4gR0VPSlNPTi5yZWFkRmVhdHVyZXMoZmVhdHVyZUNvbGxlY3Rpb24sIHtcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uLFxuICAgICAgZGF0YVByb2plY3Rpb24sXG4gICAgfSkgYXMgRmVhdHVyZTxHZW9tZXRyeT5bXVxuICB9XG5cbiAgaXNXTVNMYXllcihsYXllcjogTGF5ZXI8U291cmNlPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBsYXllci5nZXRTb3VyY2UoKSBpbnN0YW5jZW9mIFRpbGVXTVMgfHxcbiAgICAgIGxheWVyLmdldFNvdXJjZSgpIGluc3RhbmNlb2YgSW1hZ2VXTVNcbiAgICApXG4gIH1cblxuICBnZXRHRklVcmwobGF5ZXIsIG1hcCwgY29vcmRpbmF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgdmlldyA9IG1hcC5nZXRWaWV3KClcbiAgICBjb25zdCBwcm9qZWN0aW9uID0gdmlldy5nZXRQcm9qZWN0aW9uKClcbiAgICBjb25zdCByZXNvbHV0aW9uID0gdmlldy5nZXRSZXNvbHV0aW9uKClcbiAgICBjb25zdCBzb3VyY2UgPSBsYXllci5nZXRTb3VyY2UoKVxuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIC4uLnNvdXJjZS5nZXRQYXJhbXMoKSxcbiAgICAgIElORk9fRk9STUFUOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfVxuICAgIHJldHVybiBzb3VyY2UuZ2V0RmVhdHVyZUluZm9VcmwoY29vcmRpbmF0ZSwgcmVzb2x1dGlvbiwgcHJvamVjdGlvbiwgcGFyYW1zKVxuICB9XG5cbiAgZ2V0VmVjdG9yRmVhdHVyZXNGcm9tQ2xpY2sob2xNYXAsIGV2ZW50KTogRmVhdHVyZTxHZW9tZXRyeT5bXSB7XG4gICAgY29uc3QgZmVhdHVyZXMgPSBbXVxuICAgIGNvbnN0IGhpdCA9IG9sTWFwLmZvckVhY2hGZWF0dXJlQXRQaXhlbChcbiAgICAgIGV2ZW50LnBpeGVsLFxuICAgICAgKGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+KSA9PiB7XG4gICAgICAgIHJldHVybiBmZWF0dXJlXG4gICAgICB9LFxuICAgICAgeyBsYXllckZpbHRlcjogKGxheWVyKSA9PiBsYXllci5nZXRTb3VyY2UoKSBpbnN0YW5jZW9mIFZlY3RvclNvdXJjZSB9XG4gICAgKVxuICAgIGlmIChoaXQpIHtcbiAgICAgIGZlYXR1cmVzLnB1c2goaGl0KVxuICAgIH1cbiAgICByZXR1cm4gZmVhdHVyZXNcbiAgfVxuXG4gIGdldEdGSUZlYXR1cmVzT2JzZXJ2YWJsZXNGcm9tQ2xpY2soXG4gICAgb2xNYXA6IE1hcCxcbiAgICBldmVudDogTWFwQnJvd3NlckV2ZW50PFBvaW50ZXJFdmVudD5cbiAgKTogT2JzZXJ2YWJsZTxGZWF0dXJlPEdlb21ldHJ5PltdPltdIHtcbiAgICBjb25zdCB3bXNMYXllcnMgPSBvbE1hcC5nZXRMYXllcnMoKS5nZXRBcnJheSgpLmZpbHRlcih0aGlzLmlzV01TTGF5ZXIpXG5cbiAgICBpZiAod21zTGF5ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZSB9ID0gZXZlbnRcbiAgICAgIGNvbnN0IGdmaVVybHMgPSB3bXNMYXllcnMucmVkdWNlKFxuICAgICAgICAodXJscywgbGF5ZXIpID0+IFsuLi51cmxzLCB0aGlzLmdldEdGSVVybChsYXllciwgb2xNYXAsIGNvb3JkaW5hdGUpXSxcblxuICAgICAgICBbXVxuICAgICAgKVxuICAgICAgcmV0dXJuIGdmaVVybHMubWFwKCh1cmwpID0+XG4gICAgICAgIHRoaXMuaHR0cFxuICAgICAgICAgIC5nZXQ8RmVhdHVyZUNvbGxlY3Rpb24+KHVybClcbiAgICAgICAgICAucGlwZShtYXAoKGNvbGxlY3Rpb24pID0+IHRoaXMucmVhZEZlYXR1cmVDb2xsZWN0aW9uKGNvbGxlY3Rpb24pKSlcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdpbGwgZW1pdCBgbnVsbGAgaWYgbm8gZXh0ZW50IGNvdWxkIGJlIGNvbXB1dGVkXG4gICAqL1xuICBhc3luYyBnZXRMYXllckV4dGVudChsYXllcjogTWFwQ29udGV4dExheWVyTW9kZWwpOiBQcm9taXNlPEV4dGVudCB8IG51bGw+IHtcbiAgICBsZXQgbGF0TG9uRXh0ZW50OiBFeHRlbnRcbiAgICBpZiAoXG4gICAgICBsYXllciAmJlxuICAgICAgbGF5ZXIudHlwZSA9PT0gJ2dlb2pzb24nICYmXG4gICAgICAnZGF0YScgaW4gbGF5ZXIgJiZcbiAgICAgIHR5cGVvZiBsYXllci5kYXRhID09PSAnb2JqZWN0JyAmJlxuICAgICAgbGF5ZXIuZGF0YS5mZWF0dXJlc1swXSAmJlxuICAgICAgbGF5ZXIuZGF0YS5mZWF0dXJlc1swXS5nZW9tZXRyeVxuICAgICkge1xuICAgICAgbGF0TG9uRXh0ZW50ID0gbmV3IEdlb0pTT04oKVxuICAgICAgICAucmVhZEZlYXR1cmVzKGxheWVyLmRhdGEpXG4gICAgICAgIC5tYXAoKGZlYXR1cmUpID0+IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSlcbiAgICAgICAgLmZpbHRlcigoZ2VvbSkgPT4gISFnZW9tKVxuICAgICAgICAucmVkdWNlKFxuICAgICAgICAgIChwcmV2LCBjdXJyKSA9PlxuICAgICAgICAgICAgcHJldiA/IGV4dGVuZChwcmV2LCBjdXJyLmdldEV4dGVudCgpKSA6IGN1cnIuZ2V0RXh0ZW50KCksXG4gICAgICAgICAgbnVsbCBhcyBFeHRlbnRcbiAgICAgICAgKVxuICAgIH0gZWxzZSBpZiAobGF5ZXIgJiYgbGF5ZXIudHlwZSA9PT0gJ3dtcycpIHtcbiAgICAgIGxhdExvbkV4dGVudCA9IGF3YWl0IHRoaXMuZ2V0V21zTGF5ZXJFeHRlbnQobGF5ZXIpXG4gICAgfSBlbHNlIGlmIChsYXllciAmJiBsYXllci50eXBlID09PSAnd210cycpIHtcbiAgICAgIC8vIFRPRE86IGlzb2xhdGUgdGhpcyBpbiB1dGlscyBzZXJ2aWNlXG4gICAgICBsYXRMb25FeHRlbnQgPSBhd2FpdCBuZXcgV210c0VuZHBvaW50KGxheWVyLnVybClcbiAgICAgICAgLmlzUmVhZHkoKVxuICAgICAgICAudGhlbigoZW5kcG9pbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBsYXllck5hbWUgPSBlbmRwb2ludC5nZXRTaW5nbGVMYXllck5hbWUoKSA/PyBsYXllci5uYW1lXG4gICAgICAgICAgY29uc3Qgd210c0xheWVyID0gZW5kcG9pbnQuZ2V0TGF5ZXJCeU5hbWUobGF5ZXJOYW1lKVxuICAgICAgICAgIHJldHVybiB3bXRzTGF5ZXIubGF0TG9uQm91bmRpbmdCb3hcbiAgICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgaWYgKCFsYXRMb25FeHRlbnQgfHwgaXNFbXB0eShsYXRMb25FeHRlbnQpKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICByZXR1cm4gdHJhbnNmb3JtRXh0ZW50KGxhdExvbkV4dGVudCwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKVxuICB9XG5cbiAgYXN5bmMgZ2V0V21zTGF5ZXJFeHRlbnQoXG4gICAgbGF5ZXI6IE1hcENvbnRleHRMYXllcldtc01vZGVsXG4gICk6IFByb21pc2U8RXh0ZW50IHwgbnVsbD4ge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gYXdhaXQgbmV3IFdtc0VuZHBvaW50KFxuICAgICAgdGhpcy5wcm94eS5nZXRQcm94aWVkVXJsKGxheWVyLnVybClcbiAgICApLmlzUmVhZHkoKVxuICAgIGNvbnN0IHsgYm91bmRpbmdCb3hlcyB9ID0gZW5kcG9pbnQuZ2V0TGF5ZXJCeU5hbWUobGF5ZXIubmFtZSlcbiAgICBpZiAoIU9iamVjdC5rZXlzKGJvdW5kaW5nQm94ZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgbG9uTGF0Q1JTID0gT2JqZWN0LmtleXMoYm91bmRpbmdCb3hlcyk/LmZpbmQoKGNycykgPT5cbiAgICAgIExPTkxBVF9DUlNfQ09ERVMuaW5jbHVkZXMoY3JzKVxuICAgIClcbiAgICBpZiAobG9uTGF0Q1JTKSB7XG4gICAgICByZXR1cm4gYm91bmRpbmdCb3hlc1tsb25MYXRDUlNdXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGF2YWlsYWJsZUVQU0dDb2RlID0gT2JqZWN0LmtleXMoYm91bmRpbmdCb3hlcylbMF1cbiAgICAgIHJlZ2lzdGVyKHByb2o0KVxuICAgICAgY29uc3QgcHJvaiA9IGF3YWl0IGZyb21FUFNHQ29kZShhdmFpbGFibGVFUFNHQ29kZSlcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1FeHRlbnQoXG4gICAgICAgIGJvdW5kaW5nQm94ZXNbYXZhaWxhYmxlRVBTR0NvZGVdLFxuICAgICAgICBwcm9qLFxuICAgICAgICAnRVBTRzo0MzI2J1xuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHByaW9yaXRpemVQYWdlU2Nyb2xsKGludGVyYWN0aW9uczogQ29sbGVjdGlvbjxJbnRlcmFjdGlvbj4pIHtcbiAgICBpbnRlcmFjdGlvbnMuY2xlYXIoKVxuICAgIGludGVyYWN0aW9ucy5leHRlbmQoXG4gICAgICBkZWZhdWx0cyh7XG4gICAgICAgIC8vIHJlbW92ZSByb3RhdGUgaW50ZXJhY3Rpb25zXG4gICAgICAgIGFsdFNoaWZ0RHJhZ1JvdGF0ZTogZmFsc2UsXG4gICAgICAgIHBpbmNoUm90YXRlOiBmYWxzZSxcbiAgICAgICAgLy8gcmVwbGFjZSBkcmFnIGFuZCB6b29tIGludGVyYWN0aW9uc1xuICAgICAgICBkcmFnUGFuOiBmYWxzZSxcbiAgICAgICAgbW91c2VXaGVlbFpvb206IGZhbHNlLFxuICAgICAgfSlcbiAgICAgICAgLmV4dGVuZChbXG4gICAgICAgICAgbmV3IERyYWdQYW4oe1xuICAgICAgICAgICAgY29uZGl0aW9uOiBkcmFnUGFuQ29uZGl0aW9uLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBNb3VzZVdoZWVsWm9vbSh7XG4gICAgICAgICAgICBjb25kaXRpb246IG1vdXNlV2hlZWxab29tQ29uZGl0aW9uLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdKVxuICAgICAgICAuZ2V0QXJyYXkoKVxuICAgIClcbiAgfVxuXG4gIGdldFJlY29yZEV4dGVudChyZWNvcmQ6IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD4pOiBFeHRlbnQge1xuICAgIGlmICghKCdzcGF0aWFsRXh0ZW50cycgaW4gcmVjb3JkKSB8fCByZWNvcmQuc3BhdGlhbEV4dGVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICAvLyBleHRlbmQgYWxsIHRoZSBzcGF0aWFsIGV4dGVudHMgaW50byBhbiBpbmNsdWRpbmcgYmJveFxuICAgIGNvbnN0IHRvdGFsRXh0ZW50ID0gcmVjb3JkLnNwYXRpYWxFeHRlbnRzLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgIGlmICgnYmJveCcgaW4gY3VycikgcmV0dXJuIGV4dGVuZChwcmV2LCBjdXJyLmJib3gpXG4gICAgICAgIGVsc2UgaWYgKCdnZW9tZXRyeScgaW4gY3Vycikge1xuICAgICAgICAgIGNvbnN0IGdlb20gPSBHRU9KU09OLnJlYWRHZW9tZXRyeShjdXJyLmdlb21ldHJ5KVxuICAgICAgICAgIHJldHVybiBleHRlbmQocHJldiwgZ2VvbS5nZXRFeHRlbnQoKSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfSxcbiAgICAgIFtJbmZpbml0eSwgSW5maW5pdHksIC1JbmZpbml0eSwgLUluZmluaXR5XVxuICAgIClcbiAgICByZXR1cm4gdHJhbnNmb3JtRXh0ZW50KHRvdGFsRXh0ZW50LCAnRVBTRzo0MzI2JywgJ0VQU0c6Mzg1NycpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRyYWdQYW5Db25kaXRpb24oXG4gIHRoaXM6IERyYWdQYW4sXG4gIGV2ZW50OiBNYXBCcm93c2VyRXZlbnQ8UG9pbnRlckV2ZW50PlxuKSB7XG4gIGNvbnN0IGRyYWdQYW5Db25kaXRpb24gPSB0aGlzLmdldFBvaW50ZXJDb3VudCgpID09PSAyIHx8IG1vdXNlT25seShldmVudClcbiAgaWYgKCFkcmFnUGFuQ29uZGl0aW9uKSB7XG4gICAgdGhpcy5nZXRNYXAoKS5kaXNwYXRjaEV2ZW50KCdtYXBtdXRlZCcpXG4gIH1cbiAgLy8gY29tYmluZSB0aGUgY29uZGl0aW9uIHdpdGggdGhlIGRlZmF1bHQgRHJhZ1BhbiBjb25kaXRpb25zXG4gIHJldHVybiBkcmFnUGFuQ29uZGl0aW9uICYmIG5vTW9kaWZpZXJLZXlzKGV2ZW50KSAmJiBwcmltYXJ5QWN0aW9uKGV2ZW50KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW91c2VXaGVlbFpvb21Db25kaXRpb24oXG4gIHRoaXM6IE1vdXNlV2hlZWxab29tLFxuICBldmVudDogTWFwQnJvd3NlckV2ZW50PFVJRXZlbnQ+XG4pIHtcbiAgaWYgKCFwbGF0Zm9ybU1vZGlmaWVyS2V5T25seShldmVudCkgJiYgZXZlbnQudHlwZSA9PT0gJ3doZWVsJykge1xuICAgIHRoaXMuZ2V0TWFwKCkuZGlzcGF0Y2hFdmVudCgnbWFwbXV0ZWQnKVxuICB9XG4gIHJldHVybiBwbGF0Zm9ybU1vZGlmaWVyS2V5T25seShldmVudClcbn1cbiJdfQ==
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvdXRpbHMvbWFwLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFVLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sT0FBTyxNQUFNLG1CQUFtQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUE7O0FBR3pDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7QUFLN0IsTUFBTSxPQUFPLGVBQWU7SUFDMUIsZUFBZSxDQUFDLE1BQThCO1FBQzVDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2RSxPQUFPLElBQUksQ0FBQTtTQUNaO1FBQ0Qsd0RBQXdEO1FBQ3hELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUM5QyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNiLElBQUksTUFBTSxJQUFJLElBQUk7Z0JBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtpQkFDN0MsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFO2dCQUMzQixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDaEQsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO2FBQ3RDO1lBQ0QsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDLEVBQ0QsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQzNDLENBQUE7UUFDRCxPQUFPLGVBQWUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQy9ELENBQUM7K0dBbEJVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBleHRlbmQsIEV4dGVudCB9IGZyb20gJ29sL2V4dGVudCdcbmltcG9ydCBHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJ1xuaW1wb3J0IHsgdHJhbnNmb3JtRXh0ZW50IH0gZnJvbSAnb2wvcHJvaidcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbmNvbnN0IEdFT0pTT04gPSBuZXcgR2VvSlNPTigpXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBVdGlsc1NlcnZpY2Uge1xuICBnZXRSZWNvcmRFeHRlbnQocmVjb3JkOiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+KTogRXh0ZW50IHtcbiAgICBpZiAoISgnc3BhdGlhbEV4dGVudHMnIGluIHJlY29yZCkgfHwgcmVjb3JkLnNwYXRpYWxFeHRlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgLy8gZXh0ZW5kIGFsbCB0aGUgc3BhdGlhbCBleHRlbnRzIGludG8gYW4gaW5jbHVkaW5nIGJib3hcbiAgICBjb25zdCB0b3RhbEV4dGVudCA9IHJlY29yZC5zcGF0aWFsRXh0ZW50cy5yZWR1Y2UoXG4gICAgICAocHJldiwgY3VycikgPT4ge1xuICAgICAgICBpZiAoJ2Jib3gnIGluIGN1cnIpIHJldHVybiBleHRlbmQocHJldiwgY3Vyci5iYm94KVxuICAgICAgICBlbHNlIGlmICgnZ2VvbWV0cnknIGluIGN1cnIpIHtcbiAgICAgICAgICBjb25zdCBnZW9tID0gR0VPSlNPTi5yZWFkR2VvbWV0cnkoY3Vyci5nZW9tZXRyeSlcbiAgICAgICAgICByZXR1cm4gZXh0ZW5kKHByZXYsIGdlb20uZ2V0RXh0ZW50KCkpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByZXZcbiAgICAgIH0sXG4gICAgICBbSW5maW5pdHksIEluZmluaXR5LCAtSW5maW5pdHksIC1JbmZpbml0eV1cbiAgICApXG4gICAgcmV0dXJuIHRyYW5zZm9ybUV4dGVudCh0b3RhbEV4dGVudCwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKVxuICB9XG59XG4iXX0=
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
51
  }], chartConfig$: [{
52
52
  type: Output
53
53
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUE7Ozs7Ozs7O0FBVXZDLE1BQU0sT0FBTyxpQkFBaUI7SUE0QjVCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBMUJwQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQTtRQUM3RSx5QkFBb0IsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYTtTQUNoQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFBO1lBQ3pDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDekQsT0FBTyxDQUFDLENBQUE7UUFDVixDQUFDLENBQUMsQ0FDSCxDQUFBO1FBQ0QscUJBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDbEM7UUFDSCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNaLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkIsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1NBQzVCLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FBQTtRQUNELGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQXNCLElBQUksQ0FBQyxDQUFBO0lBRWIsQ0FBQztJQUVsRCxjQUFjLENBQUMsS0FBZ0M7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxZQUFvQjtRQUM3QixNQUFNLElBQUksR0FBd0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUMxRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixDQUFDOytHQXRDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw0SENuQjlCLG10QkFxQkE7OzRGREZhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTttR0FHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsLCBnZXRMaW5rUHJpb3JpdHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUnXG5pbXBvcnQgeyBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQgeyBEYXRhc2V0RGlzdHJpYnV0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1kYXRhLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS12aWV3LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbW9kZTogJ3RhYmxlJyB8ICdjaGFydCdcbiAgQE91dHB1dCgpIGNoYXJ0Q29uZmlnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YXZpekNvbmZpZ3VyYXRpb25Nb2RlbD4obnVsbClcbiAgY29tcGF0aWJsZURhdGFMaW5rcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5kYXRhTGlua3MkLFxuICAgIHRoaXMubWRWaWV3RmFjYWRlLmdlb0RhdGFMaW5rcyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbZGF0YUxpbmtzLCBnZW9EYXRhTGlua3NdKSA9PiB7XG4gICAgICBjb25zdCBhID0gWy4uLmRhdGFMaW5rcywgLi4uZ2VvRGF0YUxpbmtzXVxuICAgICAgYS5zb3J0KChhLCBiKSA9PiBnZXRMaW5rUHJpb3JpdHkoYikgLSBnZXRMaW5rUHJpb3JpdHkoYSkpXG4gICAgICByZXR1cm4gYVxuICAgIH0pXG4gIClcbiAgZHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuY29tcGF0aWJsZURhdGFMaW5rcyQucGlwZShcbiAgICB0YXAoKGxpbmtzKSA9PiB7XG4gICAgICBpZiAobGlua3MuaW5kZXhPZih0aGlzLnNlbGVjdGVkTGluayQudmFsdWUpID09PSAtMSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGluayQubmV4dChsaW5rc1swXSlcbiAgICAgIH1cbiAgICB9KSxcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MubWFwKChsaW5rKSA9PiAoe1xuICAgICAgICBsYWJlbDogZ2V0TGlua0xhYmVsKGxpbmspLFxuICAgICAgICB2YWx1ZTogSlNPTi5zdHJpbmdpZnkobGluayksXG4gICAgICB9KSlcbiAgICApXG4gIClcbiAgc2VsZWN0ZWRMaW5rJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YXNldERpc3RyaWJ1dGlvbj4obnVsbClcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1kVmlld0ZhY2FkZTogTWRWaWV3RmFjYWRlKSB7fVxuXG4gIHNldENoYXJ0Q29uZmlnKGV2ZW50OiBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsKSB7XG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuc2V0Q2hhcnRDb25maWcoZXZlbnQpXG4gIH1cblxuICBzZWxlY3RMaW5rKGxpbmtBc1N0cmluZzogc3RyaW5nKSB7XG4gICAgY29uc3QgbGluazogRGF0YXNldERpc3RyaWJ1dGlvbiA9IEpTT04ucGFyc2UobGlua0FzU3RyaW5nKVxuICAgIGxpbmsudXJsID0gbmV3IFVSTChsaW5rLnVybClcbiAgICB0aGlzLnNlbGVjdGVkTGluayQubmV4dChsaW5rKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtY29sIHAtMVwiPlxuICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAqbmdJZj1cImRyb3Bkb3duQ2hvaWNlcyQgfCBhc3luYyBhcyBjaG9pY2VzXCJcbiAgICBbdGl0bGVdPVwiJ3RhYmxlLnNlbGVjdC5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgY2xhc3M9XCJ0cnVuY2F0ZSBwLTEgLW14LTFcIlxuICAgIGV4dHJhQnRuQ2xhc3M9XCIhdGV4dC1wcmltYXJ5IGZvbnQtc2FucyBmb250LW1lZGl1bVwiXG4gICAgW2Nob2ljZXNdPVwiY2hvaWNlc1wiXG4gICAgKHNlbGVjdFZhbHVlKT1cInNlbGVjdExpbmsoJGV2ZW50KVwiXG4gID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaC1bNDIwcHhdXCI+XG4gICAgPGduLXVpLXRhYmxlLXZpZXdcbiAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ3RhYmxlJ1wiXG4gICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgID48L2duLXVpLXRhYmxlLXZpZXc+XG4gICAgPGduLXVpLWNoYXJ0LXZpZXdcbiAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ2NoYXJ0J1wiXG4gICAgICAoY2hhcnRDb25maWckKT1cInNldENoYXJ0Q29uZmlnKCRldmVudClcIlxuICAgICAgW2xpbmtdPVwic2VsZWN0ZWRMaW5rJCB8IGFzeW5jXCJcbiAgICA+PC9nbi11aS1jaGFydC12aWV3PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUE7Ozs7Ozs7O0FBVXZDLE1BQU0sT0FBTyxpQkFBaUI7SUE0QjVCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBMUJwQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQTtRQUM3RSx5QkFBb0IsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYTtTQUNoQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFBO1lBQ3pDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDekQsT0FBTyxDQUFDLENBQUE7UUFDVixDQUFDLENBQUMsQ0FDSCxDQUFBO1FBQ0QscUJBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDbEM7UUFDSCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNaLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkIsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1NBQzVCLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FBQTtRQUNELGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQXdCLElBQUksQ0FBQyxDQUFBO0lBRWYsQ0FBQztJQUVsRCxjQUFjLENBQUMsS0FBZ0M7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxZQUFvQjtRQUM3QixNQUFNLElBQUksR0FBMEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixDQUFDOytHQXRDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw0SENuQjlCLG10QkFxQkE7OzRGREZhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTttR0FHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsLCBnZXRMaW5rUHJpb3JpdHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUnXG5pbXBvcnQgeyBEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQgeyBEYXRhc2V0T25saW5lUmVzb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWRhdGEtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXZpZXcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlOiAndGFibGUnIHwgJ2NoYXJ0J1xuICBAT3V0cHV0KCkgY2hhcnRDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhdml6Q29uZmlndXJhdGlvbk1vZGVsPihudWxsKVxuICBjb21wYXRpYmxlRGF0YUxpbmtzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubWRWaWV3RmFjYWRlLmRhdGFMaW5rcyQsXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuZ2VvRGF0YUxpbmtzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtkYXRhTGlua3MsIGdlb0RhdGFMaW5rc10pID0+IHtcbiAgICAgIGNvbnN0IGEgPSBbLi4uZGF0YUxpbmtzLCAuLi5nZW9EYXRhTGlua3NdXG4gICAgICBhLnNvcnQoKGEsIGIpID0+IGdldExpbmtQcmlvcml0eShiKSAtIGdldExpbmtQcmlvcml0eShhKSlcbiAgICAgIHJldHVybiBhXG4gICAgfSlcbiAgKVxuICBkcm9wZG93bkNob2ljZXMkID0gdGhpcy5jb21wYXRpYmxlRGF0YUxpbmtzJC5waXBlKFxuICAgIHRhcCgobGlua3MpID0+IHtcbiAgICAgIGlmIChsaW5rcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWRMaW5rJC52YWx1ZSkgPT09IC0xKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaW5rJC5uZXh0KGxpbmtzWzBdKVxuICAgICAgfVxuICAgIH0pLFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5tYXAoKGxpbmspID0+ICh7XG4gICAgICAgIGxhYmVsOiBnZXRMaW5rTGFiZWwobGluayksXG4gICAgICAgIHZhbHVlOiBKU09OLnN0cmluZ2lmeShsaW5rKSxcbiAgICAgIH0pKVxuICAgIClcbiAgKVxuICBzZWxlY3RlZExpbmskID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhc2V0T25saW5lUmVzb3VyY2U+KG51bGwpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZFZpZXdGYWNhZGU6IE1kVmlld0ZhY2FkZSkge31cblxuICBzZXRDaGFydENvbmZpZyhldmVudDogRGF0YXZpekNvbmZpZ3VyYXRpb25Nb2RlbCkge1xuICAgIHRoaXMubWRWaWV3RmFjYWRlLnNldENoYXJ0Q29uZmlnKGV2ZW50KVxuICB9XG5cbiAgc2VsZWN0TGluayhsaW5rQXNTdHJpbmc6IHN0cmluZykge1xuICAgIGNvbnN0IGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSA9IEpTT04ucGFyc2UobGlua0FzU3RyaW5nKVxuICAgIGxpbmsudXJsID0gbmV3IFVSTChsaW5rLnVybClcbiAgICB0aGlzLnNlbGVjdGVkTGluayQubmV4dChsaW5rKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtY29sIHAtMVwiPlxuICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAqbmdJZj1cImRyb3Bkb3duQ2hvaWNlcyQgfCBhc3luYyBhcyBjaG9pY2VzXCJcbiAgICBbdGl0bGVdPVwiJ3RhYmxlLnNlbGVjdC5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgY2xhc3M9XCJ0cnVuY2F0ZSBwLTEgLW14LTFcIlxuICAgIGV4dHJhQnRuQ2xhc3M9XCIhdGV4dC1wcmltYXJ5IGZvbnQtc2FucyBmb250LW1lZGl1bVwiXG4gICAgW2Nob2ljZXNdPVwiY2hvaWNlc1wiXG4gICAgKHNlbGVjdFZhbHVlKT1cInNlbGVjdExpbmsoJGV2ZW50KVwiXG4gID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaC1bNDIwcHhdXCI+XG4gICAgPGduLXVpLXRhYmxlLXZpZXdcbiAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ3RhYmxlJ1wiXG4gICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgID48L2duLXVpLXRhYmxlLXZpZXc+XG4gICAgPGduLXVpLWNoYXJ0LXZpZXdcbiAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ2NoYXJ0J1wiXG4gICAgICAoY2hhcnRDb25maWckKT1cInNldENoYXJ0Q29uZmlnKCRldmVudClcIlxuICAgICAgW2xpbmtdPVwic2VsZWN0ZWRMaW5rJCB8IGFzeW5jXCJcbiAgICA+PC9nbi11aS1jaGFydC12aWV3PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19