geonetwork-ui 2.4.0-dev.b0bcda82 → 2.4.0-dev.be951976

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 (745) 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/gn4/types/keywords.model.mjs +1 -1
  15. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +6 -6
  16. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
  17. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +17 -29
  18. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +11 -16
  19. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
  20. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +54 -54
  21. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +35 -3
  22. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +78 -39
  23. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +11 -1
  24. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +51 -7
  25. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +1 -1
  26. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  27. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  28. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  29. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  30. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  31. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  32. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +7 -4
  33. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
  34. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  35. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +10 -7
  36. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +40 -50
  37. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
  38. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  39. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  40. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  41. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +10 -5
  42. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
  43. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +4 -16
  44. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +80 -0
  45. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +95 -0
  46. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  47. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +109 -0
  48. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +47 -70
  49. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
  50. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +31 -40
  51. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +11 -9
  52. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +79 -0
  53. 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
  54. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +22 -25
  55. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +93 -11
  56. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +12 -16
  57. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
  58. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +140 -5
  59. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +41 -69
  60. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +17 -15
  61. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +44 -65
  62. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
  63. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +5 -3
  64. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +3 -3
  65. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +8 -8
  66. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +6 -4
  67. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +48 -8
  68. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
  69. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +9 -5
  70. package/esm2022/libs/feature/map/src/index.mjs +2 -9
  71. package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
  72. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +9 -15
  73. package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
  74. package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
  75. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +6 -6
  76. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +20 -19
  77. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +23 -14
  78. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +15 -14
  79. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +18 -13
  80. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +16 -11
  81. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
  82. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +9 -68
  83. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +43 -29
  84. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +43 -18
  85. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
  86. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  87. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +4 -168
  88. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  89. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +21 -17
  90. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +14 -8
  91. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +40 -52
  92. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -2
  93. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +1 -1
  94. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  95. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +12 -6
  96. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +7 -7
  97. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +1 -6
  98. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  99. package/esm2022/libs/ui/elements/src/index.mjs +2 -2
  100. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
  101. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
  102. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
  103. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -6
  104. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
  105. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +5 -5
  106. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -4
  107. package/esm2022/libs/ui/inputs/src/index.mjs +6 -1
  108. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -4
  109. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +5 -3
  110. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +8 -1
  111. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +11 -4
  112. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +9 -3
  113. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
  114. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  115. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +19 -15
  116. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +6 -4
  117. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  118. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +7 -21
  119. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +6 -17
  120. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +4 -13
  121. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
  122. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  123. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -3
  124. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +3 -3
  125. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  126. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  127. package/esm2022/libs/ui/map/src/index.mjs +4 -3
  128. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +8 -6
  129. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +137 -0
  130. package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
  131. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
  132. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  133. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +8 -8
  134. package/esm2022/libs/util/app-config/src/index.mjs +2 -1
  135. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  136. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +27 -0
  137. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
  138. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  139. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +2 -1
  140. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  141. package/esm2022/translations/de.json +46 -3
  142. package/esm2022/translations/en.json +75 -32
  143. package/esm2022/translations/es.json +43 -0
  144. package/esm2022/translations/fr.json +108 -65
  145. package/esm2022/translations/it.json +45 -2
  146. package/esm2022/translations/nl.json +43 -0
  147. package/esm2022/translations/pt.json +43 -0
  148. package/fesm2022/geonetwork-ui.mjs +10257 -8945
  149. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  150. package/libs/api/metadata-converter/src/index.d.ts +3 -0
  151. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  152. package/libs/api/metadata-converter/src/lib/common/license.d.ts +3 -0
  153. package/libs/api/metadata-converter/src/lib/common/license.d.ts.map +1 -0
  154. package/libs/api/metadata-converter/src/lib/common/url.d.ts +7 -0
  155. package/libs/api/metadata-converter/src/lib/common/url.d.ts.map +1 -0
  156. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +13 -0
  157. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -0
  158. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts +2 -0
  159. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts.map +1 -0
  160. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts +16 -0
  161. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts.map +1 -0
  162. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +20 -0
  163. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -0
  164. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +9 -0
  165. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -0
  166. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts +8 -0
  167. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -0
  168. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts +2 -0
  169. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts.map +1 -0
  170. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts +6 -0
  171. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -0
  172. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -1
  173. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  174. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  175. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  176. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  177. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  178. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
  179. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  180. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -2
  181. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  182. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  183. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -5
  184. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  185. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +10 -11
  186. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  187. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +58 -0
  188. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  189. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +12 -7
  190. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  191. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  192. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +22 -2
  193. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  194. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -1
  195. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  196. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -6
  197. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  198. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  199. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  200. package/libs/common/domain/src/lib/platform.service.interface.d.ts +16 -0
  201. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  202. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +7 -0
  203. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  204. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  205. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  206. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  207. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  208. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +2 -1
  209. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  210. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  211. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  212. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +10 -9
  213. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  214. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +13 -20
  215. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  216. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  217. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  218. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  219. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  220. package/libs/feature/editor/src/index.d.ts +1 -0
  221. package/libs/feature/editor/src/index.d.ts.map +1 -1
  222. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
  223. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  224. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  225. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  226. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
  227. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  228. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +1 -5
  229. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -1
  230. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
  231. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  232. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -0
  233. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
  234. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  235. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  236. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts +38 -0
  237. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -0
  238. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +11 -17
  239. 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
  240. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
  241. 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
  242. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +11 -19
  243. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  244. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  245. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  246. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +15 -0
  247. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -0
  248. 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
  249. 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
  250. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +10 -12
  251. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -1
  252. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +24 -4
  253. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  254. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
  255. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  256. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  257. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  258. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
  259. 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
  260. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -18
  261. 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
  262. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
  263. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  264. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +18 -28
  265. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  266. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
  267. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  268. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -3
  269. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  270. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  271. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  272. package/libs/feature/editor/src/lib/fields.config.d.ts +11 -1
  273. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  274. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -0
  275. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
  276. package/libs/feature/editor/src/lib/services/editor.service.d.ts +3 -2
  277. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  278. package/libs/feature/map/src/index.d.ts +1 -8
  279. package/libs/feature/map/src/index.d.ts.map +1 -1
  280. package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
  281. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  282. package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
  283. package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
  284. package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
  285. package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
  286. package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
  287. package/libs/feature/map/src/lib/+state/map.selectors.d.ts.map +1 -1
  288. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  289. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  290. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +8 -10
  291. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  292. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  293. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  294. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +3 -3
  295. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  296. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +2 -2
  297. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  298. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +2 -2
  299. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  300. package/libs/feature/map/src/lib/constant/index.d.ts +0 -1
  301. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  302. package/libs/feature/map/src/lib/feature-map.module.d.ts +12 -23
  303. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  304. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +7 -7
  305. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  306. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +5 -4
  307. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  308. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
  309. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
  310. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  311. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  312. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
  313. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  314. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  315. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  316. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +10 -7
  317. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  318. package/libs/feature/record/src/lib/feature-record.module.d.ts +13 -11
  319. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  320. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +14 -20
  321. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  322. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  323. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  324. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +5 -3
  325. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  326. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
  327. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
  328. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +9 -10
  329. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  330. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  331. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  332. package/libs/ui/elements/src/index.d.ts +1 -1
  333. package/libs/ui/elements/src/index.d.ts.map +1 -1
  334. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  335. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  336. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  337. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  338. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  339. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  340. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  341. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  342. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  343. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  344. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  345. package/libs/ui/inputs/src/index.d.ts +5 -0
  346. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  347. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  348. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  349. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  350. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  351. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  352. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  353. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  354. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  355. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  356. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  357. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -5
  358. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  359. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
  360. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  361. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +16 -0
  362. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  363. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  364. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  365. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  366. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  367. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +33 -35
  368. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  369. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
  370. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  371. package/libs/ui/layout/src/index.d.ts +2 -0
  372. package/libs/ui/layout/src/index.d.ts.map +1 -1
  373. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  374. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  375. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
  376. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  377. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  378. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  379. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  380. package/libs/ui/map/src/index.d.ts +3 -2
  381. package/libs/ui/map/src/index.d.ts.map +1 -1
  382. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
  383. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  384. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
  385. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
  386. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
  387. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
  388. package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
  389. package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
  390. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  391. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  392. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -3
  393. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  394. package/libs/util/app-config/src/index.d.ts +1 -0
  395. package/libs/util/app-config/src/index.d.ts.map +1 -1
  396. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  397. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  398. package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
  399. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
  400. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  401. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  402. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  403. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  404. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  405. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  406. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  407. package/package.json +5 -3
  408. package/src/libs/api/metadata-converter/src/index.ts +3 -0
  409. package/src/libs/api/metadata-converter/src/lib/common/license.ts +66 -0
  410. package/src/libs/api/metadata-converter/src/lib/common/url.ts +15 -0
  411. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +378 -0
  412. package/src/libs/api/metadata-converter/src/lib/dcat-ap/index.ts +1 -0
  413. package/src/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.ts +17 -0
  414. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +370 -0
  415. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +95 -0
  416. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/individual-name.ts +20 -0
  417. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/keyword.mapper.ts +16 -0
  418. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/role.mapper.ts +48 -0
  419. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +97 -0
  420. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +19 -0
  421. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +67 -0
  422. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.ts +1 -0
  423. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +68 -0
  424. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +13 -0
  425. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +272 -0
  426. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +7 -2
  427. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -1
  428. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  429. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -1
  430. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +110 -0
  431. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +85 -0
  432. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +73 -0
  433. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
  434. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  435. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +5 -6
  436. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
  437. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +21 -43
  438. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +8 -15
  439. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +13 -15
  440. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +133 -156
  441. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +37 -2
  442. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +132 -68
  443. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -1
  444. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +90 -15
  445. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +1 -1
  446. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +8 -7
  447. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  448. package/src/libs/common/domain/src/lib/platform.service.interface.ts +30 -0
  449. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +10 -0
  450. package/src/libs/common/fixtures/src/index.ts +4 -1
  451. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +37 -37
  452. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  453. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  454. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1 -3
  455. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  456. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  457. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  458. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  459. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  460. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  461. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  462. package/src/libs/common/fixtures/src/lib/individual.fixtures.ts +61 -0
  463. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  464. package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
  465. package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
  466. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  467. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +37 -3
  468. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  469. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +9 -9
  470. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  471. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  472. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  473. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +45 -15
  474. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  475. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  476. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +5 -1
  477. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  478. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  479. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +6 -2
  480. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  481. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
  482. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +38 -78
  483. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  484. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  485. package/src/libs/feature/editor/src/index.ts +1 -0
  486. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
  487. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +26 -4
  488. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +4 -0
  489. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +12 -22
  490. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +1 -13
  491. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  492. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +90 -0
  493. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +47 -0
  494. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +132 -0
  495. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  496. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  497. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +40 -0
  498. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +170 -0
  499. 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
  500. 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
  501. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +52 -113
  502. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.html +4 -0
  503. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.ts +21 -0
  504. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -16
  505. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +44 -45
  506. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  507. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  508. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +1 -0
  509. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +86 -0
  510. 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
  511. 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
  512. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +1 -1
  513. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +18 -29
  514. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -5
  515. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +107 -7
  516. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +15 -8
  517. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
  518. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  519. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  520. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
  521. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
  522. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  523. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +31 -4
  524. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +43 -87
  525. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  526. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
  527. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
  528. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +113 -81
  529. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +47 -67
  530. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
  531. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +32 -29
  532. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +9 -3
  533. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +2 -6
  534. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  535. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  536. package/src/libs/feature/editor/src/lib/fields.config.ts +53 -7
  537. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -0
  538. package/src/libs/feature/editor/src/lib/services/editor.service.ts +14 -3
  539. package/src/libs/feature/map/src/index.ts +1 -8
  540. package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
  541. package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
  542. package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
  543. package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
  544. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  545. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +23 -22
  546. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +22 -11
  547. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  548. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +21 -19
  549. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  550. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +17 -10
  551. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  552. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +17 -10
  553. package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
  554. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -41
  555. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
  556. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +2 -2
  557. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +39 -6
  558. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.css +0 -0
  559. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
  560. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
  561. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  562. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +1 -229
  563. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  564. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +29 -20
  565. package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -3
  566. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +4 -4
  567. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +45 -72
  568. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  569. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +1 -1
  570. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -0
  571. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +5 -1
  572. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +14 -3
  573. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  574. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
  575. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -3
  576. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  577. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  578. package/src/libs/ui/elements/src/index.ts +1 -1
  579. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  580. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  581. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  582. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -20
  583. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
  584. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +5 -0
  585. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  586. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -1
  587. package/src/libs/ui/inputs/src/index.ts +5 -0
  588. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -18
  589. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +38 -24
  590. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +4 -1
  591. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +11 -3
  592. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +2 -1
  593. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  594. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  595. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +14 -6
  596. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +7 -1
  597. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  598. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +28 -23
  599. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +7 -1
  600. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  601. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  602. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +89 -0
  603. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
  604. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
  605. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +76 -68
  606. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +17 -14
  607. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +5 -1
  608. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +4 -3
  609. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +0 -1
  610. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -2
  611. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  612. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  613. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  614. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  615. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -6
  616. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  617. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
  618. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
  619. package/src/libs/ui/layout/src/index.ts +2 -0
  620. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
  621. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
  622. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +1 -1
  623. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +2 -2
  624. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  625. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  626. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  627. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  628. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +11 -18
  629. package/src/libs/ui/map/src/index.ts +3 -2
  630. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
  631. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
  632. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
  633. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +203 -0
  634. package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
  635. package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
  636. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  637. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +20 -9
  638. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +5 -6
  639. package/src/libs/util/app-config/src/index.ts +1 -0
  640. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  641. package/src/libs/util/app-config/src/lib/map-layers.ts +31 -0
  642. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  643. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  644. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  645. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  646. package/tailwind.base.config.js +1 -0
  647. package/tailwind.base.css +52 -8
  648. package/translations/de.json +46 -3
  649. package/translations/en.json +75 -32
  650. package/translations/es.json +43 -0
  651. package/translations/fr.json +108 -65
  652. package/translations/it.json +45 -2
  653. package/translations/nl.json +43 -0
  654. package/translations/pt.json +43 -0
  655. package/translations/sk.json +43 -0
  656. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -131
  657. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
  658. 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
  659. 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
  660. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +0 -15
  661. package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
  662. package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
  663. package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
  664. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
  665. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
  666. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
  667. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
  668. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
  669. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
  670. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
  671. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -47
  672. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
  673. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
  674. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +0 -27
  675. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +0 -1
  676. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
  677. 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
  678. 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
  679. 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
  680. 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
  681. 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
  682. package/libs/feature/map/src/lib/+state/map.effects.d.ts +0 -9
  683. package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
  684. package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
  685. package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
  686. package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
  687. package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
  688. package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
  689. package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
  690. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
  691. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
  692. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
  693. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
  694. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
  695. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
  696. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
  697. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
  698. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
  699. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
  700. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
  701. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
  702. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
  703. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
  704. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -22
  705. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  706. package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
  707. package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
  708. package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
  709. package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
  710. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  711. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  712. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  713. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -9
  714. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -161
  715. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
  716. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
  717. 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
  718. 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
  719. 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
  720. 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
  721. package/src/libs/feature/map/src/lib/+state/map.effects.ts +0 -7
  722. package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
  723. package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
  724. package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
  725. package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
  726. package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
  727. package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
  728. package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
  729. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
  730. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
  731. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -51
  732. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
  733. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
  734. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -38
  735. package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
  736. package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
  737. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → generic-keywords/generic-keywords.component.css} +0 -0
  738. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → import-record/import-record.component.css} +0 -0
  739. /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 → online-resource-card/online-resource-card.component.css} +0 -0
  740. /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-contacts/form-field-contacts.component.css} +0 -0
  741. /package/src/libs/feature/{map/src/lib/map-container/map-container.component.css → editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.css} +0 -0
  742. /package/src/libs/feature/{map/src/lib/map-context/component/map-context.component.css → editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css} +0 -0
  743. /package/src/libs/{ui/map/src/lib/components/map/map.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css} +0 -0
  744. /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
  745. /package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +0 -0
@@ -2,57 +2,26 @@ import { createReducer, on } from '@ngrx/store';
2
2
  import * as MapActions from './map.actions';
3
3
  export const MAP_FEATURE_KEY = 'map';
4
4
  export const initialMapState = {
5
- layers: [],
5
+ context: { layers: [], view: null },
6
+ selectedFeatures: [],
6
7
  };
7
- const reducer = createReducer(initialMapState, on(MapActions.addLayer, (state, action) => {
8
- const layers = [...state.layers];
9
- const layerWithInfo = { ...action.layer, loading: false, error: null };
10
- if (!('atIndex' in action))
11
- layers.push(layerWithInfo);
12
- else
13
- layers.splice(action.atIndex, 0, layerWithInfo);
8
+ const reducer = createReducer(initialMapState, on(MapActions.setContext, (state, { context }) => {
14
9
  return {
15
10
  ...state,
16
- layers,
11
+ context,
17
12
  };
18
- }), on(MapActions.updateLayer, (state, action) => ({
19
- ...state,
20
- layers: state.layers.map((layer, index) => index === action.index
21
- ? {
22
- ...action.updatedLayer,
23
- loading: false,
24
- error: null,
25
- }
26
- : layer),
27
- })), on(MapActions.removeLayer, (state, action) => ({
28
- ...state,
29
- layers: state.layers.filter((layer, index) => index !== action.index),
30
- })), on(MapActions.changeLayerOrder, (state, action) => {
31
- const layers = [...state.layers];
32
- const moved = layers.splice(action.currentIndex, 1)[0];
33
- layers.splice(action.newIndex, 0, moved);
13
+ }), on(MapActions.setSelectedFeatures, (state, { selectedFeatures }) => {
34
14
  return {
35
15
  ...state,
36
- layers,
16
+ selectedFeatures,
37
17
  };
38
- }), on(MapActions.setLayerError, (state, action) => ({
39
- ...state,
40
- layers: state.layers.map((layer, index) => index === action.index
41
- ? {
42
- ...layer,
43
- error: action.error,
44
- }
45
- : layer),
46
- })), on(MapActions.clearLayerError, (state, action) => ({
47
- ...state,
48
- layers: state.layers.map((layer, index) => index === action.index
49
- ? {
50
- ...layer,
51
- error: null,
52
- }
53
- : layer),
54
- })));
18
+ }), on(MapActions.clearSelectedFeatures, (state) => {
19
+ return {
20
+ ...state,
21
+ selectedFeatures: [],
22
+ };
23
+ }));
55
24
  export function mapReducer(state, action) {
56
25
  return reducer(state, action);
57
26
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvK3N0YXRlL21hcC5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRXZELE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFBO0FBRzNDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUE7QUFVcEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFhO0lBQ3ZDLE1BQU0sRUFBRSxFQUFFO0NBQ1gsQ0FBQTtBQUVELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FDM0IsZUFBZSxFQUNmLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO0lBQ3hDLE1BQU0sTUFBTSxHQUF1QixDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3BELE1BQU0sYUFBYSxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFBO0lBQ3RFLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUM7UUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBOztRQUNqRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQ3BELE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixNQUFNO0tBQ1AsQ0FBQTtBQUNILENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3QyxHQUFHLEtBQUs7SUFDUixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDeEMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLO1FBQ3BCLENBQUMsQ0FBQztZQUNFLEdBQUcsTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FDVjtDQUNGLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3QyxHQUFHLEtBQUs7SUFDUixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQztDQUN0RSxDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO0lBQ2hELE1BQU0sTUFBTSxHQUF1QixDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3BELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0RCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3hDLE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixNQUFNO0tBQ1AsQ0FBQTtBQUNILENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQyxHQUFHLEtBQUs7SUFDUixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDeEMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLO1FBQ3BCLENBQUMsQ0FBQztZQUNFLEdBQUcsS0FBSztZQUNSLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztTQUNwQjtRQUNILENBQUMsQ0FBQyxLQUFLLENBQ1Y7Q0FDRixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakQsR0FBRyxLQUFLO0lBQ1IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ3hDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSztRQUNwQixDQUFDLENBQUM7WUFDRSxHQUFHLEtBQUs7WUFDUixLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FDVjtDQUNGLENBQUMsQ0FBQyxDQUNKLENBQUE7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQTJCLEVBQUUsTUFBYztJQUNwRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSdcblxuaW1wb3J0ICogYXMgTWFwQWN0aW9ucyBmcm9tICcuL21hcC5hY3Rpb25zJ1xuaW1wb3J0IHsgTWFwTGF5ZXJXaXRoSW5mbyB9IGZyb20gJy4vbWFwLm1vZGVscydcblxuZXhwb3J0IGNvbnN0IE1BUF9GRUFUVVJFX0tFWSA9ICdtYXAnXG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwU3RhdGUge1xuICBsYXllcnM6IE1hcExheWVyV2l0aEluZm9bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcFBhcnRpYWxTdGF0ZSB7XG4gIHJlYWRvbmx5IFtNQVBfRkVBVFVSRV9LRVldOiBNYXBTdGF0ZVxufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbE1hcFN0YXRlOiBNYXBTdGF0ZSA9IHtcbiAgbGF5ZXJzOiBbXSxcbn1cblxuY29uc3QgcmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxNYXBTdGF0ZSxcbiAgb24oTWFwQWN0aW9ucy5hZGRMYXllciwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBsYXllcnM6IE1hcExheWVyV2l0aEluZm9bXSA9IFsuLi5zdGF0ZS5sYXllcnNdXG4gICAgY29uc3QgbGF5ZXJXaXRoSW5mbyA9IHsgLi4uYWN0aW9uLmxheWVyLCBsb2FkaW5nOiBmYWxzZSwgZXJyb3I6IG51bGwgfVxuICAgIGlmICghKCdhdEluZGV4JyBpbiBhY3Rpb24pKSBsYXllcnMucHVzaChsYXllcldpdGhJbmZvKVxuICAgIGVsc2UgbGF5ZXJzLnNwbGljZShhY3Rpb24uYXRJbmRleCwgMCwgbGF5ZXJXaXRoSW5mbylcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBsYXllcnMsXG4gICAgfVxuICB9KSxcbiAgb24oTWFwQWN0aW9ucy51cGRhdGVMYXllciwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbGF5ZXJzOiBzdGF0ZS5sYXllcnMubWFwKChsYXllciwgaW5kZXgpID0+XG4gICAgICBpbmRleCA9PT0gYWN0aW9uLmluZGV4XG4gICAgICAgID8ge1xuICAgICAgICAgICAgLi4uYWN0aW9uLnVwZGF0ZWRMYXllcixcbiAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgICAgfVxuICAgICAgICA6IGxheWVyXG4gICAgKSxcbiAgfSkpLFxuICBvbihNYXBBY3Rpb25zLnJlbW92ZUxheWVyLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsYXllcnM6IHN0YXRlLmxheWVycy5maWx0ZXIoKGxheWVyLCBpbmRleCkgPT4gaW5kZXggIT09IGFjdGlvbi5pbmRleCksXG4gIH0pKSxcbiAgb24oTWFwQWN0aW9ucy5jaGFuZ2VMYXllck9yZGVyLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIGNvbnN0IGxheWVyczogTWFwTGF5ZXJXaXRoSW5mb1tdID0gWy4uLnN0YXRlLmxheWVyc11cbiAgICBjb25zdCBtb3ZlZCA9IGxheWVycy5zcGxpY2UoYWN0aW9uLmN1cnJlbnRJbmRleCwgMSlbMF1cbiAgICBsYXllcnMuc3BsaWNlKGFjdGlvbi5uZXdJbmRleCwgMCwgbW92ZWQpXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbGF5ZXJzLFxuICAgIH1cbiAgfSksXG4gIG9uKE1hcEFjdGlvbnMuc2V0TGF5ZXJFcnJvciwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbGF5ZXJzOiBzdGF0ZS5sYXllcnMubWFwKChsYXllciwgaW5kZXgpID0+XG4gICAgICBpbmRleCA9PT0gYWN0aW9uLmluZGV4XG4gICAgICAgID8ge1xuICAgICAgICAgICAgLi4ubGF5ZXIsXG4gICAgICAgICAgICBlcnJvcjogYWN0aW9uLmVycm9yLFxuICAgICAgICAgIH1cbiAgICAgICAgOiBsYXllclxuICAgICksXG4gIH0pKSxcbiAgb24oTWFwQWN0aW9ucy5jbGVhckxheWVyRXJyb3IsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxheWVyczogc3RhdGUubGF5ZXJzLm1hcCgobGF5ZXIsIGluZGV4KSA9PlxuICAgICAgaW5kZXggPT09IGFjdGlvbi5pbmRleFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIC4uLmxheWVyLFxuICAgICAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgICAgfVxuICAgICAgICA6IGxheWVyXG4gICAgKSxcbiAgfSkpXG4pXG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBSZWR1Y2VyKHN0YXRlOiBNYXBTdGF0ZSB8IHVuZGVmaW5lZCwgYWN0aW9uOiBBY3Rpb24pIHtcbiAgcmV0dXJuIHJlZHVjZXIoc3RhdGUsIGFjdGlvbilcbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvK3N0YXRlL21hcC5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3ZELE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFBO0FBSTNDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUE7QUFXcEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFhO0lBQ3ZDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtJQUNuQyxnQkFBZ0IsRUFBRSxFQUFFO0NBQ3JCLENBQUE7QUFFRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQzNCLGVBQWUsRUFDZixFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7SUFDL0MsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLE9BQU87S0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRTtJQUNqRSxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsZ0JBQWdCO0tBQ2pCLENBQUE7QUFDSCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsVUFBVSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDN0MsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLGdCQUFnQixFQUFFLEVBQUU7S0FDckIsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUNILENBQUE7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQTJCLEVBQUUsTUFBYztJQUNwRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCAqIGFzIE1hcEFjdGlvbnMgZnJvbSAnLi9tYXAuYWN0aW9ucydcbmltcG9ydCB7IE1hcENvbnRleHQgfSBmcm9tICdAZ2Vvc3BhdGlhbC1zZGsvY29yZSdcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdnZW9qc29uJ1xuXG5leHBvcnQgY29uc3QgTUFQX0ZFQVRVUkVfS0VZID0gJ21hcCdcblxuZXhwb3J0IGludGVyZmFjZSBNYXBTdGF0ZSB7XG4gIGNvbnRleHQ6IE1hcENvbnRleHRcbiAgc2VsZWN0ZWRGZWF0dXJlczogRmVhdHVyZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwUGFydGlhbFN0YXRlIHtcbiAgcmVhZG9ubHkgW01BUF9GRUFUVVJFX0tFWV06IE1hcFN0YXRlXG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsTWFwU3RhdGU6IE1hcFN0YXRlID0ge1xuICBjb250ZXh0OiB7IGxheWVyczogW10sIHZpZXc6IG51bGwgfSxcbiAgc2VsZWN0ZWRGZWF0dXJlczogW10sXG59XG5cbmNvbnN0IHJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKFxuICBpbml0aWFsTWFwU3RhdGUsXG4gIG9uKE1hcEFjdGlvbnMuc2V0Q29udGV4dCwgKHN0YXRlLCB7IGNvbnRleHQgfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGNvbnRleHQsXG4gICAgfVxuICB9KSxcbiAgb24oTWFwQWN0aW9ucy5zZXRTZWxlY3RlZEZlYXR1cmVzLCAoc3RhdGUsIHsgc2VsZWN0ZWRGZWF0dXJlcyB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2VsZWN0ZWRGZWF0dXJlcyxcbiAgICB9XG4gIH0pLFxuICBvbihNYXBBY3Rpb25zLmNsZWFyU2VsZWN0ZWRGZWF0dXJlcywgKHN0YXRlKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2VsZWN0ZWRGZWF0dXJlczogW10sXG4gICAgfVxuICB9KVxuKVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwUmVkdWNlcihzdGF0ZTogTWFwU3RhdGUgfCB1bmRlZmluZWQsIGFjdGlvbjogQWN0aW9uKSB7XG4gIHJldHVybiByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pXG59XG4iXX0=
@@ -2,5 +2,6 @@ import { createFeatureSelector, createSelector } from '@ngrx/store';
2
2
  import { MAP_FEATURE_KEY } from './map.reducer';
3
3
  // Lookup the 'Map' feature state managed by NgRx
4
4
  export const getMapState = createFeatureSelector(MAP_FEATURE_KEY);
5
- export const getMapLayers = createSelector(getMapState, (state) => state.layers);
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi8rc3RhdGUvbWFwLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQVksTUFBTSxlQUFlLENBQUE7QUFFekQsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBVyxlQUFlLENBQUMsQ0FBQTtBQUUzRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUN4QyxXQUFXLEVBQ1gsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2xDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQgeyBNQVBfRkVBVFVSRV9LRVksIE1hcFN0YXRlIH0gZnJvbSAnLi9tYXAucmVkdWNlcidcblxuLy8gTG9va3VwIHRoZSAnTWFwJyBmZWF0dXJlIHN0YXRlIG1hbmFnZWQgYnkgTmdSeFxuZXhwb3J0IGNvbnN0IGdldE1hcFN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPE1hcFN0YXRlPihNQVBfRkVBVFVSRV9LRVkpXG5cbmV4cG9ydCBjb25zdCBnZXRNYXBMYXllcnMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0TWFwU3RhdGUsXG4gIChzdGF0ZTogTWFwU3RhdGUpID0+IHN0YXRlLmxheWVyc1xuKVxuIl19
5
+ export const getMapContext = createSelector(getMapState, (state) => state.context);
6
+ export const getSelectedFeatures = createSelector(getMapState, (state) => state.selectedFeatures);
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi8rc3RhdGUvbWFwLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQVksTUFBTSxlQUFlLENBQUE7QUFFekQsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBVyxlQUFlLENBQUMsQ0FBQTtBQUUzRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUN6QyxXQUFXLEVBQ1gsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ25DLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQy9DLFdBQVcsRUFDWCxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUM1QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHsgTUFQX0ZFQVRVUkVfS0VZLCBNYXBTdGF0ZSB9IGZyb20gJy4vbWFwLnJlZHVjZXInXG5cbi8vIExvb2t1cCB0aGUgJ01hcCcgZmVhdHVyZSBzdGF0ZSBtYW5hZ2VkIGJ5IE5nUnhcbmV4cG9ydCBjb25zdCBnZXRNYXBTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxNYXBTdGF0ZT4oTUFQX0ZFQVRVUkVfS0VZKVxuXG5leHBvcnQgY29uc3QgZ2V0TWFwQ29udGV4dCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRNYXBTdGF0ZSxcbiAgKHN0YXRlOiBNYXBTdGF0ZSkgPT4gc3RhdGUuY29udGV4dFxuKVxuXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRGZWF0dXJlcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRNYXBTdGF0ZSxcbiAgKHN0YXRlOiBNYXBTdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRGZWF0dXJlc1xuKVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { FIELDS_BRIEF, SearchFacade, SearchService, } from '../../../../../../libs/feature/search/src';
2
+ import { FeatureSearchModule, FIELDS_BRIEF, SearchFacade, SearchService, } from '../../../../../../libs/feature/search/src';
3
3
  import { RESULTS_LAYOUT_CONFIG, ResultsLayoutConfigItem, } from '../../../../../../libs/ui/search/src';
4
4
  import { AddLayerRecordPreviewComponent } from './add-layer-record-preview/add-layer-record-preview.component';
5
5
  import * as i0 from "@angular/core";
@@ -18,7 +18,7 @@ export class AddLayerFromCatalogComponent {
18
18
  });
19
19
  }
20
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLayerFromCatalogComponent, deps: [{ token: i1.SearchFacade }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddLayerFromCatalogComponent, selector: "gn-ui-add-layer-from-catalog", providers: [
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddLayerFromCatalogComponent, isStandalone: true, selector: "gn-ui-add-layer-from-catalog", providers: [
22
22
  SearchFacade,
23
23
  SearchService,
24
24
  {
@@ -27,11 +27,11 @@ export class AddLayerFromCatalogComponent {
27
27
  ADDLAYER: new ResultsLayoutConfigItem(AddLayerRecordPreviewComponent, 'py-2', '', 'flex flex-col divide-y divide-y-grey-50'),
28
28
  },
29
29
  },
30
- ], ngImport: i0, template: "<div class=\"h-full text-sm\">\n <gn-ui-fuzzy-search></gn-ui-fuzzy-search>\n <gn-ui-results-list-container\n layout=\"ADDLAYER\"\n ></gn-ui-results-list-container>\n</div>\n", styles: ["::ng-deep .mat-tab-body-wrapper{flex-grow:1}\n"], dependencies: [{ kind: "component", type: i2.FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: ["autoFocus"], outputs: ["itemSelected", "inputSubmitted"] }, { kind: "component", type: i3.ResultsListContainerComponent, selector: "gn-ui-results-list-container", inputs: ["metadataQualityDisplay", "layout", "showMore"], outputs: ["mdSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ ], ngImport: i0, template: "<div class=\"h-full text-sm\">\n <gn-ui-fuzzy-search></gn-ui-fuzzy-search>\n <gn-ui-results-list-container\n layout=\"ADDLAYER\"\n ></gn-ui-results-list-container>\n</div>\n", styles: ["::ng-deep .mat-tab-body-wrapper{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: FeatureSearchModule }, { kind: "component", type: i2.FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: ["autoFocus"], outputs: ["itemSelected", "inputSubmitted"] }, { kind: "component", type: i3.ResultsListContainerComponent, selector: "gn-ui-results-list-container", inputs: ["metadataQualityDisplay", "layout", "showMore"], outputs: ["mdSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLayerFromCatalogComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ selector: 'gn-ui-add-layer-from-catalog', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
34
+ args: [{ selector: 'gn-ui-add-layer-from-catalog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, providers: [
35
35
  SearchFacade,
36
36
  SearchService,
37
37
  {
@@ -40,6 +40,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
40
40
  ADDLAYER: new ResultsLayoutConfigItem(AddLayerRecordPreviewComponent, 'py-2', '', 'flex flex-col divide-y divide-y-grey-50'),
41
41
  },
42
42
  },
43
- ], template: "<div class=\"h-full text-sm\">\n <gn-ui-fuzzy-search></gn-ui-fuzzy-search>\n <gn-ui-results-list-container\n layout=\"ADDLAYER\"\n ></gn-ui-results-list-container>\n</div>\n", styles: ["::ng-deep .mat-tab-body-wrapper{flex-grow:1}\n"] }]
43
+ ], imports: [FeatureSearchModule], template: "<div class=\"h-full text-sm\">\n <gn-ui-fuzzy-search></gn-ui-fuzzy-search>\n <gn-ui-results-list-container\n layout=\"ADDLAYER\"\n ></gn-ui-results-list-container>\n</div>\n", styles: ["::ng-deep .mat-tab-body-wrapper{flex-grow:1}\n"] }]
44
44
  }], ctorParameters: function () { return [{ type: i1.SearchFacade }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20tY2F0YWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvYWRkLWxheWVyLWZyb20tY2F0YWxvZy9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nL2FkZC1sYXllci1mcm9tLWNhdGFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUMxRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixhQUFhLEdBQ2QsTUFBTSwyQ0FBMkMsQ0FBQTtBQUNsRCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHVCQUF1QixHQUN4QixNQUFNLHNDQUFzQyxDQUFBO0FBQzdDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFBOzs7OztBQXVCOUcsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFbEQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxHQUFHLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ25FLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQzNCLG1CQUFtQixFQUFFLDJCQUEyQjtTQUNqRCxDQUFDLENBQUE7SUFDSixDQUFDOytHQVRVLDRCQUE0QjttR0FBNUIsNEJBQTRCLHVEQWhCNUI7WUFDVCxZQUFZO1lBQ1osYUFBYTtZQUNiO2dCQUNFLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFFBQVEsRUFBRTtvQkFDUixRQUFRLEVBQUUsSUFBSSx1QkFBdUIsQ0FDbkMsOEJBQThCLEVBQzlCLE1BQU0sRUFDTixFQUFFLEVBQ0YseUNBQXlDLENBQzFDO2lCQUNGO2FBQ0Y7U0FDRiwwQkMvQkgscUxBTUE7OzRGRDJCYSw0QkFBNEI7a0JBckJ4QyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2I7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFO2dDQUNSLFFBQVEsRUFBRSxJQUFJLHVCQUF1QixDQUNuQyw4QkFBOEIsRUFDOUIsTUFBTSxFQUNOLEVBQUUsRUFDRix5Q0FBeUMsQ0FDMUM7NkJBQ0Y7eUJBQ0Y7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgRklFTERTX0JSSUVGLFxuICBTZWFyY2hGYWNhZGUsXG4gIFNlYXJjaFNlcnZpY2UsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9zZWFyY2gvc3JjJ1xuaW1wb3J0IHtcbiAgUkVTVUxUU19MQVlPVVRfQ09ORklHLFxuICBSZXN1bHRzTGF5b3V0Q29uZmlnSXRlbSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9zZWFyY2gvc3JjJ1xuaW1wb3J0IHsgQWRkTGF5ZXJSZWNvcmRQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9hZGQtbGF5ZXItcmVjb3JkLXByZXZpZXcvYWRkLWxheWVyLXJlY29yZC1wcmV2aWV3LmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYWRkLWxheWVyLWZyb20tY2F0YWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWxheWVyLWZyb20tY2F0YWxvZy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICBTZWFyY2hGYWNhZGUsXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBSRVNVTFRTX0xBWU9VVF9DT05GSUcsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBBRERMQVlFUjogbmV3IFJlc3VsdHNMYXlvdXRDb25maWdJdGVtKFxuICAgICAgICAgIEFkZExheWVyUmVjb3JkUHJldmlld0NvbXBvbmVudCxcbiAgICAgICAgICAncHktMicsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ2ZsZXggZmxleC1jb2wgZGl2aWRlLXkgZGl2aWRlLXktZ3JleS01MCdcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRkTGF5ZXJGcm9tQ2F0YWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoRmFjYWRlOiBTZWFyY2hGYWNhZGUpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWFyY2hGYWNhZGUuaW5pdCgnbWFwLWFkZC1sYXllcicpXG4gICAgdGhpcy5zZWFyY2hGYWNhZGUuc2V0Q29uZmlnUmVxdWVzdEZpZWxkcyhbLi4uRklFTERTX0JSSUVGLCAnbGluayddKVxuICAgIHRoaXMuc2VhcmNoRmFjYWRlLnNldEZpbHRlcnMoe1xuICAgICAgYXZhaWxhYmxlSW5TZXJ2aWNlczogJytsaW5rUHJvdG9jb2w6L09HQzpXTVMuKi8nLFxuICAgIH0pXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoLWZ1bGwgdGV4dC1zbVwiPlxuICA8Z24tdWktZnV6enktc2VhcmNoPjwvZ24tdWktZnV6enktc2VhcmNoPlxuICA8Z24tdWktcmVzdWx0cy1saXN0LWNvbnRhaW5lclxuICAgIGxheW91dD1cIkFERExBWUVSXCJcbiAgPjwvZ24tdWktcmVzdWx0cy1saXN0LWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20tY2F0YWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvYWRkLWxheWVyLWZyb20tY2F0YWxvZy9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nL2FkZC1sYXllci1mcm9tLWNhdGFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUMxRSxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixZQUFZLEVBQ1osYUFBYSxHQUNkLE1BQU0sMkNBQTJDLENBQUE7QUFDbEQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix1QkFBdUIsR0FDeEIsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQTs7Ozs7QUF5QjlHLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFBRyxDQUFDO0lBRWxELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLENBQUMsR0FBRyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNuRSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztZQUMzQixtQkFBbUIsRUFBRSwyQkFBMkI7U0FDakQsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0FUVSw0QkFBNEI7bUdBQTVCLDRCQUE0QiwyRUFqQjVCO1lBQ1QsWUFBWTtZQUNaLGFBQWE7WUFDYjtnQkFDRSxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixRQUFRLEVBQUU7b0JBQ1IsUUFBUSxFQUFFLElBQUksdUJBQXVCLENBQ25DLDhCQUE4QixFQUM5QixNQUFNLEVBQ04sRUFBRSxFQUNGLHlDQUF5QyxDQUMxQztpQkFDRjthQUNGO1NBQ0YsMEJDakNILHFMQU1BLHVHRDRCWSxtQkFBbUI7OzRGQUVsQiw0QkFBNEI7a0JBdkJ4QyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLGFBQ0w7d0JBQ1QsWUFBWTt3QkFDWixhQUFhO3dCQUNiOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsRUFBRTtnQ0FDUixRQUFRLEVBQUUsSUFBSSx1QkFBdUIsQ0FDbkMsOEJBQThCLEVBQzlCLE1BQU0sRUFDTixFQUFFLEVBQ0YseUNBQXlDLENBQzFDOzZCQUNGO3lCQUNGO3FCQUNGLFdBQ1EsQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBGZWF0dXJlU2VhcmNoTW9kdWxlLFxuICBGSUVMRFNfQlJJRUYsXG4gIFNlYXJjaEZhY2FkZSxcbiAgU2VhcmNoU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3NlYXJjaC9zcmMnXG5pbXBvcnQge1xuICBSRVNVTFRTX0xBWU9VVF9DT05GSUcsXG4gIFJlc3VsdHNMYXlvdXRDb25maWdJdGVtLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMnXG5pbXBvcnQgeyBBZGRMYXllclJlY29yZFByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL2FkZC1sYXllci1yZWNvcmQtcHJldmlldy9hZGQtbGF5ZXItcmVjb3JkLXByZXZpZXcuY29tcG9uZW50J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1hZGQtbGF5ZXItZnJvbS1jYXRhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1sYXllci1mcm9tLWNhdGFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIFNlYXJjaEZhY2FkZSxcbiAgICBTZWFyY2hTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJFU1VMVFNfTEFZT1VUX0NPTkZJRyxcbiAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgIEFERExBWUVSOiBuZXcgUmVzdWx0c0xheW91dENvbmZpZ0l0ZW0oXG4gICAgICAgICAgQWRkTGF5ZXJSZWNvcmRQcmV2aWV3Q29tcG9uZW50LFxuICAgICAgICAgICdweS0yJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnZmxleCBmbGV4LWNvbCBkaXZpZGUteSBkaXZpZGUteS1ncmV5LTUwJ1xuICAgICAgICApLFxuICAgICAgfSxcbiAgICB9LFxuICBdLFxuICBpbXBvcnRzOiBbRmVhdHVyZVNlYXJjaE1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFkZExheWVyRnJvbUNhdGFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlYXJjaEZhY2FkZTogU2VhcmNoRmFjYWRlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VhcmNoRmFjYWRlLmluaXQoJ21hcC1hZGQtbGF5ZXInKVxuICAgIHRoaXMuc2VhcmNoRmFjYWRlLnNldENvbmZpZ1JlcXVlc3RGaWVsZHMoWy4uLkZJRUxEU19CUklFRiwgJ2xpbmsnXSlcbiAgICB0aGlzLnNlYXJjaEZhY2FkZS5zZXRGaWx0ZXJzKHtcbiAgICAgIGF2YWlsYWJsZUluU2VydmljZXM6ICcrbGlua1Byb3RvY29sOi9PR0M6V01TLiovJyxcbiAgICB9KVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaC1mdWxsIHRleHQtc21cIj5cbiAgPGduLXVpLWZ1enp5LXNlYXJjaD48L2duLXVpLWZ1enp5LXNlYXJjaD5cbiAgPGduLXVpLXJlc3VsdHMtbGlzdC1jb250YWluZXJcbiAgICBsYXlvdXQ9XCJBRERMQVlFUlwiXG4gID48L2duLXVpLXJlc3VsdHMtbGlzdC1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -1,31 +1,32 @@
1
1
  import { ChangeDetectionStrategy, Component, ElementRef } from '@angular/core';
2
2
  import { RecordPreviewComponent } from '../../../../../../../libs/ui/search/src';
3
3
  import { getLinkLabel, LinkClassifierService, LinkUsage, } from '../../../../../../../libs/util/shared/src';
4
- import { of, throwError } from 'rxjs';
5
- import { MapUtilsService } from '../../utils';
4
+ import { firstValueFrom, of, throwError } from 'rxjs';
6
5
  import { MapFacade } from '../../+state/map.facade';
7
- import { MapContextLayerTypeEnum, } from '../../map-context/map-context.model';
6
+ import { ThumbnailComponent } from '../../../../../../../libs/ui/elements/src';
7
+ import { ButtonComponent } from '../../../../../../../libs/ui/inputs/src';
8
+ import { CommonModule } from '@angular/common';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "../../../../../../../libs/util/shared/src";
10
11
  import * as i2 from "../../+state/map.facade";
11
- import * as i3 from "../../utils";
12
- import * as i4 from "@angular/common";
13
- import * as i5 from "../../../../../../ui/elements/src/lib/thumbnail/thumbnail.component";
14
- import * as i6 from "../../../../../../ui/inputs/src/lib/button/button.component";
12
+ import * as i3 from "@angular/common";
15
13
  export class AddLayerRecordPreviewComponent extends RecordPreviewComponent {
16
14
  get mapLinks() {
17
- return this.record.distributions.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.MAP_API));
15
+ return this.record.onlineResources.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.MAP_API));
18
16
  }
19
- constructor(elementRef, linkClassifier, mapFacade, mapUtils) {
17
+ constructor(elementRef, linkClassifier, mapFacade) {
20
18
  super(elementRef);
21
19
  this.elementRef = elementRef;
22
20
  this.linkClassifier = linkClassifier;
23
21
  this.mapFacade = mapFacade;
24
- this.mapUtils = mapUtils;
25
22
  }
26
23
  async handleLinkClick(link) {
27
- const layer = await this.getLayerFromLink(link).toPromise();
28
- this.mapFacade.addLayer({ ...layer, title: this.record.title });
24
+ const layer = await firstValueFrom(this.getLayerFromLink(link));
25
+ const context = await firstValueFrom(this.mapFacade.context$);
26
+ this.mapFacade.applyContext({
27
+ ...context,
28
+ layers: [...context.layers, { ...layer, label: this.record.title }],
29
+ });
29
30
  }
30
31
  getLayerFromLink(link) {
31
32
  if (link.type !== 'service')
@@ -33,14 +34,14 @@ export class AddLayerRecordPreviewComponent extends RecordPreviewComponent {
33
34
  if (link.accessServiceProtocol === 'wms') {
34
35
  return of({
35
36
  url: link.url.toString(),
36
- type: MapContextLayerTypeEnum.WMS,
37
+ type: 'wms',
37
38
  name: link.name,
38
39
  });
39
40
  }
40
41
  else if (link.accessServiceProtocol === 'wmts') {
41
42
  return of({
42
43
  url: link.url.toString(),
43
- type: MapContextLayerTypeEnum.WMTS,
44
+ type: 'wmts',
44
45
  name: link.name,
45
46
  });
46
47
  }
@@ -49,11 +50,11 @@ export class AddLayerRecordPreviewComponent extends RecordPreviewComponent {
49
50
  getLinkLabel(link) {
50
51
  return getLinkLabel(link);
51
52
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLayerRecordPreviewComponent, deps: [{ token: i0.ElementRef }, { token: i1.LinkClassifierService }, { token: i2.MapFacade }, { token: i3.MapUtilsService }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddLayerRecordPreviewComponent, selector: "gn-ui-add-layer-record-preview", usesInheritance: true, ngImport: i0, template: "<div class=\"w-full flex flex-row rounded-sm\" [title]=\"record.abstract\">\n <gn-ui-thumbnail\n class=\"w-16 h-16 shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"flex flex-col p-2 gap-2 overflow-hidden\">\n <h1 class=\"text-sm font-medium truncate\">\n {{ record.title }}\n </h1>\n <ng-container *ngFor=\"let link of mapLinks\">\n <gn-ui-button\n [type]=\"'outline'\"\n (buttonClick)=\"handleLinkClick(link)\"\n extraClass=\"!py-[8px] !px-[12px]\"\n >\n <div class=\"text-left text-[12px] line-clamp-2\">\n {{ getLinkLabel(link) }}\n </div>\n </gn-ui-button>\n </ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i6.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLayerRecordPreviewComponent, deps: [{ token: i0.ElementRef }, { token: i1.LinkClassifierService }, { token: i2.MapFacade }], target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddLayerRecordPreviewComponent, isStandalone: true, selector: "gn-ui-add-layer-record-preview", usesInheritance: true, ngImport: i0, template: "<div class=\"w-full flex flex-row rounded-sm\" [title]=\"record.abstract\">\n <gn-ui-thumbnail\n class=\"w-16 h-16 shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"flex flex-col p-2 gap-2 overflow-hidden\">\n <h1 class=\"text-sm font-medium truncate\">\n {{ record.title }}\n </h1>\n <ng-container *ngFor=\"let link of mapLinks\">\n <gn-ui-button\n [type]=\"'outline'\"\n (buttonClick)=\"handleLinkClick(link)\"\n extraClass=\"!py-[8px] !px-[12px]\"\n >\n <div class=\"text-left text-[12px] line-clamp-2\">\n {{ getLinkLabel(link) }}\n </div>\n </gn-ui-button>\n </ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
55
  }
55
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLayerRecordPreviewComponent, decorators: [{
56
57
  type: Component,
57
- args: [{ selector: 'gn-ui-add-layer-record-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"w-full flex flex-row rounded-sm\" [title]=\"record.abstract\">\n <gn-ui-thumbnail\n class=\"w-16 h-16 shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"flex flex-col p-2 gap-2 overflow-hidden\">\n <h1 class=\"text-sm font-medium truncate\">\n {{ record.title }}\n </h1>\n <ng-container *ngFor=\"let link of mapLinks\">\n <gn-ui-button\n [type]=\"'outline'\"\n (buttonClick)=\"handleLinkClick(link)\"\n extraClass=\"!py-[8px] !px-[12px]\"\n >\n <div class=\"text-left text-[12px] line-clamp-2\">\n {{ getLinkLabel(link) }}\n </div>\n </gn-ui-button>\n </ng-container>\n </div>\n</div>\n" }]
58
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.LinkClassifierService }, { type: i2.MapFacade }, { type: i3.MapUtilsService }]; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLXJlY29yZC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nL2FkZC1sYXllci1yZWNvcmQtcHJldmlldy9hZGQtbGF5ZXItcmVjb3JkLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL21hcC9zcmMvbGliL2FkZC1sYXllci1mcm9tLWNhdGFsb2cvYWRkLWxheWVyLXJlY29yZC1wcmV2aWV3L2FkZC1sYXllci1yZWNvcmQtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLHFCQUFxQixFQUNyQixTQUFTLEdBQ1YsTUFBTSwyQ0FBMkMsQ0FBQTtBQUNsRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLEVBRUwsdUJBQXVCLEdBQ3hCLE1BQU0scUNBQXFDLENBQUE7Ozs7Ozs7O0FBWTVDLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxzQkFBc0I7SUFDeEUsSUFBSSxRQUFRO1FBQ1YsT0FBUSxJQUFJLENBQUMsTUFBd0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDbEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDN0IsQ0FBQTtJQUM1QixDQUFDO0lBRUQsWUFDWSxVQUFzQixFQUN4QixjQUFxQyxFQUNyQyxTQUFvQixFQUNwQixRQUF5QjtRQUVqQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFMUCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWlCO0lBR25DLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQXlCO1FBQzdDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNqRSxDQUFDO0lBRUQsZ0JBQWdCLENBQ2QsSUFBeUI7UUFFekIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFDekIsT0FBTyxVQUFVLENBQ2YsR0FBRyxFQUFFLENBQUMsb0RBQW9ELENBQzNELENBQUE7UUFDSCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxLQUFLLEVBQUU7WUFDeEMsT0FBTyxFQUFFLENBQUM7Z0JBQ1IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO2dCQUN4QixJQUFJLEVBQUUsdUJBQXVCLENBQUMsR0FBRztnQkFDakMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCLENBQUMsQ0FBQTtTQUNIO2FBQU0sSUFBSSxJQUFJLENBQUMscUJBQXFCLEtBQUssTUFBTSxFQUFFO1lBQ2hELE9BQU8sRUFBRSxDQUFDO2dCQUNSLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtnQkFDeEIsSUFBSSxFQUFFLHVCQUF1QixDQUFDLElBQUk7Z0JBQ2xDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTthQUNoQixDQUFDLENBQUE7U0FDSDtRQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUF5QjtRQUNwQyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMzQixDQUFDOytHQTlDVSw4QkFBOEI7bUdBQTlCLDhCQUE4Qiw2RkMxQjNDLDh3QkF1QkE7OzRGREdhLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDRSxnQ0FBZ0MsbUJBR3pCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFJlY29yZFByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMnXG5pbXBvcnQge1xuICBnZXRMaW5rTGFiZWwsXG4gIExpbmtDbGFzc2lmaWVyU2VydmljZSxcbiAgTGlua1VzYWdlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWFwVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBNYXBGYWNhZGUgfSBmcm9tICcuLi8uLi8rc3RhdGUvbWFwLmZhY2FkZSdcbmltcG9ydCB7XG4gIE1hcENvbnRleHRMYXllck1vZGVsLFxuICBNYXBDb250ZXh0TGF5ZXJUeXBlRW51bSxcbn0gZnJvbSAnLi4vLi4vbWFwLWNvbnRleHQvbWFwLWNvbnRleHQubW9kZWwnXG5pbXBvcnQge1xuICBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBEYXRhc2V0UmVjb3JkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWFkZC1sYXllci1yZWNvcmQtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbGF5ZXItcmVjb3JkLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtbGF5ZXItcmVjb3JkLXByZXZpZXcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQWRkTGF5ZXJSZWNvcmRQcmV2aWV3Q29tcG9uZW50IGV4dGVuZHMgUmVjb3JkUHJldmlld0NvbXBvbmVudCB7XG4gIGdldCBtYXBMaW5rcygpOiBEYXRhc2V0RGlzdHJpYnV0aW9uW10ge1xuICAgIHJldHVybiAodGhpcy5yZWNvcmQgYXMgRGF0YXNldFJlY29yZCkuZGlzdHJpYnV0aW9ucy5maWx0ZXIoKGxpbmspID0+XG4gICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5NQVBfQVBJKVxuICAgICkgYXMgRGF0YXNldERpc3RyaWJ1dGlvbltdXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGxpbmtDbGFzc2lmaWVyOiBMaW5rQ2xhc3NpZmllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXBGYWNhZGU6IE1hcEZhY2FkZSxcbiAgICBwcml2YXRlIG1hcFV0aWxzOiBNYXBVdGlsc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZilcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZUxpbmtDbGljayhsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uKSB7XG4gICAgY29uc3QgbGF5ZXIgPSBhd2FpdCB0aGlzLmdldExheWVyRnJvbUxpbmsobGluaykudG9Qcm9taXNlKClcbiAgICB0aGlzLm1hcEZhY2FkZS5hZGRMYXllcih7IC4uLmxheWVyLCB0aXRsZTogdGhpcy5yZWNvcmQudGl0bGUgfSlcbiAgfVxuXG4gIGdldExheWVyRnJvbUxpbmsoXG4gICAgbGluazogRGF0YXNldERpc3RyaWJ1dGlvblxuICApOiBPYnNlcnZhYmxlPE1hcENvbnRleHRMYXllck1vZGVsPiB7XG4gICAgaWYgKGxpbmsudHlwZSAhPT0gJ3NlcnZpY2UnKVxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICgpID0+ICdtYXAgbGF5ZXIgY291bGQgbm90IGJlIGJ1aWx0IGZvciB0aGlzIGRpc3RyaWJ1dGlvbidcbiAgICAgIClcbiAgICBpZiAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3bXMnKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6IE1hcENvbnRleHRMYXllclR5cGVFbnVtLldNUyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd210cycpIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHVybDogbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgdHlwZTogTWFwQ29udGV4dExheWVyVHlwZUVudW0uV01UUyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ3Byb3RvY29sIG5vdCBzdXBwb3J0ZWQnKVxuICB9XG5cbiAgZ2V0TGlua0xhYmVsKGxpbms6IERhdGFzZXREaXN0cmlidXRpb24pIHtcbiAgICByZXR1cm4gZ2V0TGlua0xhYmVsKGxpbmspXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBmbGV4LXJvdyByb3VuZGVkLXNtXCIgW3RpdGxlXT1cInJlY29yZC5hYnN0cmFjdFwiPlxuICA8Z24tdWktdGh1bWJuYWlsXG4gICAgY2xhc3M9XCJ3LTE2IGgtMTYgc2hyaW5rLTAgYm9yZGVyLXIgYm9yZGVyLWdyYXktMjAwIGJnLWdyYXktMTAwXCJcbiAgICBbdGh1bWJuYWlsVXJsXT1cInJlY29yZC5vdmVydmlld3M/LlswXT8udXJsLnRvU3RyaW5nKClcIlxuICA+PC9nbi11aS10aHVtYm5haWw+XG5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgcC0yIGdhcC0yIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDxoMSBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gdHJ1bmNhdGVcIj5cbiAgICAgIHt7IHJlY29yZC50aXRsZSB9fVxuICAgIDwvaDE+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBtYXBMaW5rc1wiPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICBbdHlwZV09XCInb3V0bGluZSdcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwiaGFuZGxlTGlua0NsaWNrKGxpbmspXCJcbiAgICAgICAgZXh0cmFDbGFzcz1cIiFweS1bOHB4XSAhcHgtWzEycHhdXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGVmdCB0ZXh0LVsxMnB4XSBsaW5lLWNsYW1wLTJcIj5cbiAgICAgICAgICB7eyBnZXRMaW5rTGFiZWwobGluaykgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
58
+ args: [{ selector: 'gn-ui-add-layer-record-preview', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ThumbnailComponent, ButtonComponent, CommonModule], template: "<div class=\"w-full flex flex-row rounded-sm\" [title]=\"record.abstract\">\n <gn-ui-thumbnail\n class=\"w-16 h-16 shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"flex flex-col p-2 gap-2 overflow-hidden\">\n <h1 class=\"text-sm font-medium truncate\">\n {{ record.title }}\n </h1>\n <ng-container *ngFor=\"let link of mapLinks\">\n <gn-ui-button\n [type]=\"'outline'\"\n (buttonClick)=\"handleLinkClick(link)\"\n extraClass=\"!py-[8px] !px-[12px]\"\n >\n <div class=\"text-left text-[12px] line-clamp-2\">\n {{ getLinkLabel(link) }}\n </div>\n </gn-ui-button>\n </ng-container>\n </div>\n</div>\n" }]
59
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.LinkClassifierService }, { type: i2.MapFacade }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLXJlY29yZC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1jYXRhbG9nL2FkZC1sYXllci1yZWNvcmQtcHJldmlldy9hZGQtbGF5ZXItcmVjb3JkLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL21hcC9zcmMvbGliL2FkZC1sYXllci1mcm9tLWNhdGFsb2cvYWRkLWxheWVyLXJlY29yZC1wcmV2aWV3L2FkZC1sYXllci1yZWNvcmQtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRixPQUFPLEVBQ0wsWUFBWSxFQUNaLHFCQUFxQixFQUNyQixTQUFTLEdBQ1YsTUFBTSwyQ0FBMkMsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBTW5ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7Ozs7O0FBVTlDLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxzQkFBc0I7SUFDeEUsSUFBSSxRQUFRO1FBQ1YsT0FBUSxJQUFJLENBQUMsTUFBd0IsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDcEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDM0IsQ0FBQTtJQUM5QixDQUFDO0lBRUQsWUFDWSxVQUFzQixFQUN4QixjQUFxQyxFQUNyQyxTQUFvQjtRQUU1QixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFKUCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFXO0lBRzlCLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQTJCO1FBQy9DLE1BQU0sS0FBSyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQy9ELE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7WUFDMUIsR0FBRyxPQUFPO1lBQ1YsTUFBTSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDcEUsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQTJCO1FBQzFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTO1lBQ3pCLE9BQU8sVUFBVSxDQUNmLEdBQUcsRUFBRSxDQUFDLG9EQUFvRCxDQUMzRCxDQUFBO1FBQ0gsSUFBSSxJQUFJLENBQUMscUJBQXFCLEtBQUssS0FBSyxFQUFFO1lBQ3hDLE9BQU8sRUFBRSxDQUFDO2dCQUNSLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtnQkFDeEIsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCLENBQUMsQ0FBQTtTQUNIO2FBQU0sSUFBSSxJQUFJLENBQUMscUJBQXFCLEtBQUssTUFBTSxFQUFFO1lBQ2hELE9BQU8sRUFBRSxDQUFDO2dCQUNSLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtnQkFDeEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCLENBQUMsQ0FBQTtTQUNIO1FBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQTJCO1FBQ3RDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzNCLENBQUM7K0dBL0NVLDhCQUE4QjttR0FBOUIsOEJBQThCLGlIQzFCM0MsOHdCQXVCQSwwRERDWSxrQkFBa0IsNEhBQUUsZUFBZSw4SEFBRSxZQUFZOzs0RkFFaEQsOEJBQThCO2tCQVIxQyxTQUFTOytCQUNFLGdDQUFnQyxtQkFHekIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9zZWFyY2gvc3JjJ1xuaW1wb3J0IHtcbiAgZ2V0TGlua0xhYmVsLFxuICBMaW5rQ2xhc3NpZmllclNlcnZpY2UsXG4gIExpbmtVc2FnZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTWFwRmFjYWRlIH0gZnJvbSAnLi4vLi4vK3N0YXRlL21hcC5mYWNhZGUnXG5pbXBvcnQge1xuICBEYXRhc2V0T25saW5lUmVzb3VyY2UsXG4gIERhdGFzZXRSZWNvcmQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IE1hcENvbnRleHRMYXllciB9IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWFkZC1sYXllci1yZWNvcmQtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbGF5ZXItcmVjb3JkLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtbGF5ZXItcmVjb3JkLXByZXZpZXcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1RodW1ibmFpbENvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50LCBDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBBZGRMYXllclJlY29yZFByZXZpZXdDb21wb25lbnQgZXh0ZW5kcyBSZWNvcmRQcmV2aWV3Q29tcG9uZW50IHtcbiAgZ2V0IG1hcExpbmtzKCk6IERhdGFzZXRPbmxpbmVSZXNvdXJjZVtdIHtcbiAgICByZXR1cm4gKHRoaXMucmVjb3JkIGFzIERhdGFzZXRSZWNvcmQpLm9ubGluZVJlc291cmNlcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5NQVBfQVBJKVxuICAgICkgYXMgRGF0YXNldE9ubGluZVJlc291cmNlW11cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbGlua0NsYXNzaWZpZXI6IExpbmtDbGFzc2lmaWVyU2VydmljZSxcbiAgICBwcml2YXRlIG1hcEZhY2FkZTogTWFwRmFjYWRlXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYpXG4gIH1cblxuICBhc3luYyBoYW5kbGVMaW5rQ2xpY2sobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKSB7XG4gICAgY29uc3QgbGF5ZXIgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmdldExheWVyRnJvbUxpbmsobGluaykpXG4gICAgY29uc3QgY29udGV4dCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMubWFwRmFjYWRlLmNvbnRleHQkKVxuICAgIHRoaXMubWFwRmFjYWRlLmFwcGx5Q29udGV4dCh7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgbGF5ZXJzOiBbLi4uY29udGV4dC5sYXllcnMsIHsgLi4ubGF5ZXIsIGxhYmVsOiB0aGlzLnJlY29yZC50aXRsZSB9XSxcbiAgICB9KVxuICB9XG5cbiAgZ2V0TGF5ZXJGcm9tTGluayhsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBPYnNlcnZhYmxlPE1hcENvbnRleHRMYXllcj4ge1xuICAgIGlmIChsaW5rLnR5cGUgIT09ICdzZXJ2aWNlJylcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKFxuICAgICAgICAoKSA9PiAnbWFwIGxheWVyIGNvdWxkIG5vdCBiZSBidWlsdCBmb3IgdGhpcyBkaXN0cmlidXRpb24nXG4gICAgICApXG4gICAgaWYgKGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd21zJykge1xuICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgdXJsOiBsaW5rLnVybC50b1N0cmluZygpLFxuICAgICAgICB0eXBlOiAnd21zJyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd210cycpIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHVybDogbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgdHlwZTogJ3dtdHMnLFxuICAgICAgICBuYW1lOiBsaW5rLm5hbWUsXG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAncHJvdG9jb2wgbm90IHN1cHBvcnRlZCcpXG4gIH1cblxuICBnZXRMaW5rTGFiZWwobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKSB7XG4gICAgcmV0dXJuIGdldExpbmtMYWJlbChsaW5rKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXggZmxleC1yb3cgcm91bmRlZC1zbVwiIFt0aXRsZV09XCJyZWNvcmQuYWJzdHJhY3RcIj5cbiAgPGduLXVpLXRodW1ibmFpbFxuICAgIGNsYXNzPVwidy0xNiBoLTE2IHNocmluay0wIGJvcmRlci1yIGJvcmRlci1ncmF5LTIwMCBiZy1ncmF5LTEwMFwiXG4gICAgW3RodW1ibmFpbFVybF09XCJyZWNvcmQub3ZlcnZpZXdzPy5bMF0/LnVybC50b1N0cmluZygpXCJcbiAgPjwvZ24tdWktdGh1bWJuYWlsPlxuXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHAtMiBnYXAtMiBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICA8aDEgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRydW5jYXRlXCI+XG4gICAgICB7eyByZWNvcmQudGl0bGUgfX1cbiAgICA8L2gxPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgbWFwTGlua3NcIj5cbiAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgW3R5cGVdPVwiJ291dGxpbmUnXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cImhhbmRsZUxpbmtDbGljayhsaW5rKVwiXG4gICAgICAgIGV4dHJhQ2xhc3M9XCIhcHktWzhweF0gIXB4LVsxMnB4XVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxlZnQgdGV4dC1bMTJweF0gbGluZS1jbGFtcC0yXCI+XG4gICAgICAgICAge3sgZ2V0TGlua0xhYmVsKGxpbmspIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,10 +1,14 @@
1
1
  import { ChangeDetectorRef, Component } from '@angular/core';
2
2
  import { MapFacade } from '../+state/map.facade';
3
+ import { firstValueFrom } from 'rxjs';
4
+ import { UiInputsModule } from '../../../../../../libs/ui/inputs/src';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { CommonModule } from '@angular/common';
3
7
  import * as i0 from "@angular/core";
4
8
  import * as i1 from "../+state/map.facade";
5
- import * as i2 from "@angular/common";
9
+ import * as i2 from "../../../../../ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component";
6
10
  import * as i3 from "@ngx-translate/core";
7
- import * as i4 from "../../../../../ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component";
11
+ import * as i4 from "@angular/common";
8
12
  const INVALID_FILE_FORMAT_ERROR_MESSAGE = 'Invalid file format';
9
13
  export class AddLayerFromFileComponent {
10
14
  constructor(mapFacade, changeDetectorRef) {
@@ -58,15 +62,7 @@ export class AddLayerFromFileComponent {
58
62
  try {
59
63
  const reader = new FileReader();
60
64
  reader.onload = () => {
61
- const result = reader.result;
62
- const title = file.name.split('.').slice(0, -1).join('.');
63
- const layerToAdd = {
64
- type: 'geojson',
65
- data: result,
66
- };
67
- this.mapFacade.addLayer({ ...layerToAdd, title: title });
68
- this.displayMessage('File successfully added to map', 'success');
69
- resolve();
65
+ resolve(reader.result);
70
66
  };
71
67
  reader.onerror = reject;
72
68
  reader.readAsText(file);
@@ -74,6 +70,19 @@ export class AddLayerFromFileComponent {
74
70
  catch (error) {
75
71
  reject(error);
76
72
  }
73
+ }).then(async (result) => {
74
+ const context = await firstValueFrom(this.mapFacade.context$);
75
+ const title = file.name.split('.').slice(0, -1).join('.');
76
+ const layerToAdd = {
77
+ type: 'geojson',
78
+ data: result,
79
+ label: title,
80
+ };
81
+ this.mapFacade.applyContext({
82
+ ...context,
83
+ layers: [...context.layers, layerToAdd],
84
+ });
85
+ this.displayMessage('File successfully added to map', 'success');
77
86
  });
78
87
  }
79
88
  isFileFormatValid(file) {
@@ -97,10 +106,10 @@ export class AddLayerFromFileComponent {
97
106
  }, 5000);
98
107
  }
99
108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLayerFromFileComponent, deps: [{ token: i1.MapFacade }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddLayerFromFileComponent, selector: "gn-ui-add-layer-from-file", ngImport: i0, template: "<div class=\"flex flex-col gap-2 my-2\">\n <div class=\"flex items-center gap-4\">\n <div class=\"grow rounded-md border-2 border-gray-200\">\n <gn-ui-drag-and-drop-file-input\n (fileChange)=\"handleFileChange($event)\"\n [accept]=\"acceptedMimeType.join(',')\"\n [placeholder]=\"'map.addFromFile.placeholder' | translate\"\n class=\"placeholder-grey\"\n ></gn-ui-drag-and-drop-file-input>\n </div>\n </div>\n <p class=\"text-sm text-gray-600\" translate>map.help.addFromFile</p>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"successMessage\" class=\"text-green-500 mt-2\">\n {{ successMessage }}\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.DragAndDropFileInputComponent, selector: "gn-ui-drag-and-drop-file-input", inputs: ["placeholder", "accept"], outputs: ["fileChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddLayerFromFileComponent, isStandalone: true, selector: "gn-ui-add-layer-from-file", ngImport: i0, template: "<div class=\"flex flex-col gap-2 my-2\">\n <div class=\"flex items-center gap-4\">\n <div class=\"grow rounded-md border-2 border-gray-200\">\n <gn-ui-drag-and-drop-file-input\n (fileChange)=\"handleFileChange($event)\"\n [accept]=\"acceptedMimeType.join(',')\"\n [placeholder]=\"'map.addFromFile.placeholder' | translate\"\n class=\"placeholder-grey\"\n ></gn-ui-drag-and-drop-file-input>\n </div>\n </div>\n <p class=\"text-sm text-gray-600\" translate>map.help.addFromFile</p>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"successMessage\" class=\"text-green-500 mt-2\">\n {{ successMessage }}\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i2.DragAndDropFileInputComponent, selector: "gn-ui-drag-and-drop-file-input", inputs: ["placeholder", "accept"], outputs: ["fileChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
101
110
  }
102
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLayerFromFileComponent, decorators: [{
103
112
  type: Component,
104
- args: [{ selector: 'gn-ui-add-layer-from-file', template: "<div class=\"flex flex-col gap-2 my-2\">\n <div class=\"flex items-center gap-4\">\n <div class=\"grow rounded-md border-2 border-gray-200\">\n <gn-ui-drag-and-drop-file-input\n (fileChange)=\"handleFileChange($event)\"\n [accept]=\"acceptedMimeType.join(',')\"\n [placeholder]=\"'map.addFromFile.placeholder' | translate\"\n class=\"placeholder-grey\"\n ></gn-ui-drag-and-drop-file-input>\n </div>\n </div>\n <p class=\"text-sm text-gray-600\" translate>map.help.addFromFile</p>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"successMessage\" class=\"text-green-500 mt-2\">\n {{ successMessage }}\n</div>\n" }]
113
+ args: [{ selector: 'gn-ui-add-layer-from-file', standalone: true, imports: [UiInputsModule, TranslateModule, CommonModule], template: "<div class=\"flex flex-col gap-2 my-2\">\n <div class=\"flex items-center gap-4\">\n <div class=\"grow rounded-md border-2 border-gray-200\">\n <gn-ui-drag-and-drop-file-input\n (fileChange)=\"handleFileChange($event)\"\n [accept]=\"acceptedMimeType.join(',')\"\n [placeholder]=\"'map.addFromFile.placeholder' | translate\"\n class=\"placeholder-grey\"\n ></gn-ui-drag-and-drop-file-input>\n </div>\n </div>\n <p class=\"text-sm text-gray-600\" translate>map.help.addFromFile</p>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"successMessage\" class=\"text-green-500 mt-2\">\n {{ successMessage }}\n</div>\n" }]
105
114
  }], ctorParameters: function () { return [{ type: i1.MapFacade }, { type: i0.ChangeDetectorRef }]; } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20tZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvYWRkLWxheWVyLWZyb20tZmlsZS9hZGQtbGF5ZXItZnJvbS1maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1maWxlL2FkZC1sYXllci1mcm9tLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7Ozs7OztBQUVoRCxNQUFNLGlDQUFpQyxHQUFHLHFCQUFxQixDQUFBO0FBTy9ELE1BQU0sT0FBTyx5QkFBeUI7SUFPcEMsWUFDVSxTQUFvQixFQUNwQixpQkFBb0M7UUFEcEMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUjlDLGlCQUFZLEdBQWtCLElBQUksQ0FBQTtRQUNsQyxtQkFBYyxHQUFrQixJQUFJLENBQUE7UUFDcEMsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUNOLHFCQUFnQixHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDL0IsZ0JBQVcsR0FBRyxPQUFPLENBQUE7SUFLM0IsQ0FBQztJQUVKLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFVO1FBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLGlDQUFpQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQy9ELE9BQU07U0FDUDtRQUNELElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hD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QUFDO0lBRU8sY0FBYyxDQUFDLE9BQWUsRUFBRSxJQUF5QjtRQUMvRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUE7U0FDOUI7YUFBTSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUE7U0FDNUI7UUFFRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUE7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7WUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3hDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNWLENBQUM7K0dBOUZVLHlCQUF5QjttR0FBekIseUJBQXlCLGlFQ1h0QyxvdEJBcUJBOzs0RkRWYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXBDb250ZXh0TGF5ZXJNb2RlbCB9IGZyb20gJy4uL21hcC1jb250ZXh0L21hcC1jb250ZXh0Lm1vZGVsJ1xuaW1wb3J0IHsgTWFwRmFjYWRlIH0gZnJvbSAnLi4vK3N0YXRlL21hcC5mYWNhZGUnXG5cbmNvbnN0IElOVkFMSURfRklMRV9GT1JNQVRfRVJST1JfTUVTU0FHRSA9ICdJbnZhbGlkIGZpbGUgZm9ybWF0J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1hZGQtbGF5ZXItZnJvbS1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1sYXllci1mcm9tLWZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtbGF5ZXItZnJvbS1maWxlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRkTGF5ZXJGcm9tRmlsZUNvbXBvbmVudCB7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGxcbiAgc3VjY2Vzc01lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsXG4gIGxvYWRpbmcgPSBmYWxzZVxuICByZWFkb25seSBhY2NlcHRlZE1pbWVUeXBlID0gWycuZ2VvanNvbiddXG4gIHJlYWRvbmx5IG1heEZpbGVTaXplID0gNTAwMDAwMFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWFwRmFjYWRlOiBNYXBGYWNhZGUsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIGFzeW5jIGhhbmRsZUZpbGVDaGFuZ2UoZmlsZTogRmlsZSkge1xuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhpcy5kaXNwbGF5TWVzc2FnZShJTlZBTElEX0ZJTEVfRk9STUFUX0VSUk9SX01FU1NBR0UsICdlcnJvcicpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKGZpbGUuc2l6ZSA+IHRoaXMubWF4RmlsZVNpemUpIHtcbiAgICAgIHRoaXMuZGlzcGxheU1lc3NhZ2UoJ0ZpbGUgc2l6ZSBleGNlZWRzIHRoZSBsaW1pdCBvZiA1TUInLCAnZXJyb3InKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGF3YWl0IHRoaXMuYWRkTGF5ZXIoZmlsZSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYWRkTGF5ZXIoZmlsZTogRmlsZSkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbFxuICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICB0cnkge1xuICAgICAgaWYgKCF0aGlzLmlzRmlsZUZvcm1hdFZhbGlkKGZpbGUpKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheU1lc3NhZ2UoSU5WQUxJRF9GSUxFX0ZPUk1BVF9FUlJPUl9NRVNTQUdFLCAnZXJyb3InKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZ2V0RmlsZUV4dGVuc2lvbihmaWxlKVxuICAgICAgc3dpdGNoIChmaWxlRXh0ZW5zaW9uKSB7XG4gICAgICAgIGNhc2UgJ2dlb2pzb24nOlxuICAgICAgICAgIGF3YWl0IHRoaXMuYWRkR2VvSnNvbkxheWVyKGZpbGUpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLmRpc3BsYXlNZXNzYWdlKElOVkFMSURfRklMRV9GT1JNQVRfRVJST1JfTUVTU0FHRSwgJ2Vycm9yJylcbiAgICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvclxuICAgICAgdGhpcy5kaXNwbGF5TWVzc2FnZSgnRXJyb3IgbG9hZGluZyBmaWxlOiAnICsgZXJyLm1lc3NhZ2UsICdlcnJvcicpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRHZW9Kc29uTGF5ZXIoZmlsZTogRmlsZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmdcbiAgICAgICAgICBjb25zdCB0aXRsZSA9IGZpbGUubmFtZS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKS5qb2luKCcuJylcbiAgICAgICAgICBjb25zdCBsYXllclRvQWRkOiBNYXBDb250ZXh0TGF5ZXJNb2RlbCA9IHtcbiAgICAgICAgICAgIHR5cGU6ICdnZW9qc29uJyxcbiAgICAgICAgICAgIGRhdGE6IHJlc3VsdCxcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5tYXBGYWNhZGUuYWRkTGF5ZXIoeyAuLi5sYXllclRvQWRkLCB0aXRsZTogdGl0bGUgfSlcbiAgICAgICAgICB0aGlzLmRpc3BsYXlNZXNzYWdlKCdGaWxlIHN1Y2Nlc3NmdWxseSBhZGRlZCB0byBtYXAnLCAnc3VjY2VzcycpXG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIH1cbiAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSByZWplY3RcbiAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBpc0ZpbGVGb3JtYXRWYWxpZChmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZ2V0RmlsZUV4dGVuc2lvbihmaWxlKVxuICAgIHJldHVybiB0aGlzLmFjY2VwdGVkTWltZVR5cGUuaW5jbHVkZXMoYC4ke2ZpbGVFeHRlbnNpb259YClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKClcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGxheU1lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCB0eXBlOiAnc3VjY2VzcycgfCAnZXJyb3InKSB7XG4gICAgaWYgKHR5cGUgPT09ICdzdWNjZXNzJykge1xuICAgICAgdGhpcy5zdWNjZXNzTWVzc2FnZSA9IG1lc3NhZ2VcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdlcnJvcicpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbWVzc2FnZVxuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zdWNjZXNzTWVzc2FnZSA9IG51bGxcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbFxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICB9LCA1MDAwKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMiBteS0yXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJncm93IHJvdW5kZWQtbWQgYm9yZGVyLTIgYm9yZGVyLWdyYXktMjAwXCI+XG4gICAgICA8Z24tdWktZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0XG4gICAgICAgIChmaWxlQ2hhbmdlKT1cImhhbmRsZUZpbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFthY2NlcHRdPVwiYWNjZXB0ZWRNaW1lVHlwZS5qb2luKCcsJylcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ21hcC5hZGRGcm9tRmlsZS5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICBjbGFzcz1cInBsYWNlaG9sZGVyLWdyZXlcIlxuICAgICAgPjwvZ24tdWktZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHAgY2xhc3M9XCJ0ZXh0LXNtIHRleHQtZ3JheS02MDBcIiB0cmFuc2xhdGU+bWFwLmhlbHAuYWRkRnJvbUZpbGU8L3A+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZVwiIGNsYXNzPVwidGV4dC1yZWQtNTAwIG10LTJcIj5cbiAge3sgZXJyb3JNZXNzYWdlIH19XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cInN1Y2Nlc3NNZXNzYWdlXCIgY2xhc3M9XCJ0ZXh0LWdyZWVuLTUwMCBtdC0yXCI+XG4gIHt7IHN1Y2Nlc3NNZXNzYWdlIH19XG48L2Rpdj5cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20tZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvYWRkLWxheWVyLWZyb20tZmlsZS9hZGQtbGF5ZXItZnJvbS1maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1maWxlL2FkZC1sYXllci1mcm9tLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7O0FBRTlDLE1BQU0saUNBQWlDLEdBQUcscUJBQXFCLENBQUE7QUFTL0QsTUFBTSxPQUFPLHlCQUF5QjtJQU9wQyxZQUNVLFNBQW9CLEVBQ3BCLGlCQUFvQztRQURwQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSOUMsaUJBQVksR0FBa0IsSUFBSSxDQUFBO1FBQ2xDLG1CQUFjLEdBQWtCLElBQUksQ0FBQTtRQUNwQyxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ04scUJBQWdCLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUMvQixnQkFBVyxHQUFHLE9BQU8sQ0FBQTtJQUszQixDQUFDO0lBRUosS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQVU7UUFDL0IsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULElBQUksQ0FBQyxjQUFjLENBQUMsaUNBQWlDLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDL0QsT0FBTTtTQUNQO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQ0FBb0MsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUNsRSxPQUFNO1NBQ1A7UUFDRCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQUVPLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBVTtRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtRQUNuQixJQUFJO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQ0FBaUMsRUFBRSxPQUFPLENBQUMsQ0FBQTtnQkFDL0QsT0FBTTthQUNQO1lBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2pELFFBQVEsYUFBYSxFQUFFO2dCQUNyQixLQUFLLFNBQVM7b0JBQ1osTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUNoQyxNQUFLO2dCQUNQO29CQUNFLElBQUksQ0FBQyxjQUFjLENBQUMsaUNBQWlDLEVBQUUsT0FBTyxDQUFDLENBQUE7b0JBQy9ELE1BQUs7YUFDUjtTQUNGO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxNQUFNLEdBQUcsR0FBRyxLQUFjLENBQUE7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1NBQ25FO2dCQUFTO1lBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7U0FDckI7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVU7UUFDaEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJO2dCQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUE7Z0JBQy9CLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO29CQUNuQixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQWdCLENBQUMsQ0FBQTtnQkFDbEMsQ0FBQyxDQUFBO2dCQUNELE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFBO2dCQUN2QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO2FBQ3hCO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO2FBQ2Q7UUFDSCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQWMsRUFBRSxFQUFFO1lBQy9CLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN6RCxNQUFNLFVBQVUsR0FBMkI7Z0JBQ3pDLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxNQUFNO2dCQUNaLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQTtZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO2dCQUMxQixHQUFHLE9BQU87Z0JBQ1YsTUFBTSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQzthQUN4QyxDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLGdDQUFnQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ2xFLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVU7UUFDbEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQVU7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWUsRUFBRSxJQUF5QjtRQUMvRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUE7U0FDOUI7YUFBTSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUE7U0FDNUI7UUFFRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUE7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7WUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3hDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNWLENBQUM7K0dBbkdVLHlCQUF5QjttR0FBekIseUJBQXlCLHFGQ2pCdEMsb3RCQXFCQSx5REROWSxjQUFjLHFNQUFFLGVBQWUsa09BQUUsWUFBWTs7NEZBRTVDLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDRSwyQkFBMkIsY0FHekIsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hcEZhY2FkZSB9IGZyb20gJy4uLytzdGF0ZS9tYXAuZmFjYWRlJ1xuaW1wb3J0IHsgTWFwQ29udGV4dExheWVyR2VvanNvbiB9IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG5jb25zdCBJTlZBTElEX0ZJTEVfRk9STUFUX0VSUk9SX01FU1NBR0UgPSAnSW52YWxpZCBmaWxlIGZvcm1hdCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYWRkLWxheWVyLWZyb20tZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbGF5ZXItZnJvbS1maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWxheWVyLWZyb20tZmlsZS5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtVaUlucHV0c01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBBZGRMYXllckZyb21GaWxlQ29tcG9uZW50IHtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbFxuICBzdWNjZXNzTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGxcbiAgbG9hZGluZyA9IGZhbHNlXG4gIHJlYWRvbmx5IGFjY2VwdGVkTWltZVR5cGUgPSBbJy5nZW9qc29uJ11cbiAgcmVhZG9ubHkgbWF4RmlsZVNpemUgPSA1MDAwMDAwXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtYXBGYWNhZGU6IE1hcEZhY2FkZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgYXN5bmMgaGFuZGxlRmlsZUNoYW5nZShmaWxlOiBGaWxlKSB7XG4gICAgaWYgKCFmaWxlKSB7XG4gICAgICB0aGlzLmRpc3BsYXlNZXNzYWdlKElOVkFMSURfRklMRV9GT1JNQVRfRVJST1JfTUVTU0FHRSwgJ2Vycm9yJylcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAoZmlsZS5zaXplID4gdGhpcy5tYXhGaWxlU2l6ZSkge1xuICAgICAgdGhpcy5kaXNwbGF5TWVzc2FnZSgnRmlsZSBzaXplIGV4Y2VlZHMgdGhlIGxpbWl0IG9mIDVNQicsICdlcnJvcicpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgYXdhaXQgdGhpcy5hZGRMYXllcihmaWxlKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhZGRMYXllcihmaWxlOiBGaWxlKSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBudWxsXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgIHRyeSB7XG4gICAgICBpZiAoIXRoaXMuaXNGaWxlRm9ybWF0VmFsaWQoZmlsZSkpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5TWVzc2FnZShJTlZBTElEX0ZJTEVfRk9STUFUX0VSUk9SX01FU1NBR0UsICdlcnJvcicpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gdGhpcy5nZXRGaWxlRXh0ZW5zaW9uKGZpbGUpXG4gICAgICBzd2l0Y2ggKGZpbGVFeHRlbnNpb24pIHtcbiAgICAgICAgY2FzZSAnZ2VvanNvbic6XG4gICAgICAgICAgYXdhaXQgdGhpcy5hZGRHZW9Kc29uTGF5ZXIoZmlsZSlcbiAgICAgICAgICBicmVha1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMuZGlzcGxheU1lc3NhZ2UoSU5WQUxJRF9GSUxFX0ZPUk1BVF9FUlJPUl9NRVNTQUdFLCAnZXJyb3InKVxuICAgICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yXG4gICAgICB0aGlzLmRpc3BsYXlNZXNzYWdlKCdFcnJvciBsb2FkaW5nIGZpbGU6ICcgKyBlcnIubWVzc2FnZSwgJ2Vycm9yJylcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEdlb0pzb25MYXllcihmaWxlOiBGaWxlKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKClcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICByZXNvbHZlKHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKVxuICAgICAgICB9XG4gICAgICAgIHJlYWRlci5vbmVycm9yID0gcmVqZWN0XG4gICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZWplY3QoZXJyb3IpXG4gICAgICB9XG4gICAgfSkudGhlbihhc3luYyAocmVzdWx0OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLm1hcEZhY2FkZS5jb250ZXh0JClcbiAgICAgIGNvbnN0IHRpdGxlID0gZmlsZS5uYW1lLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpLmpvaW4oJy4nKVxuICAgICAgY29uc3QgbGF5ZXJUb0FkZDogTWFwQ29udGV4dExheWVyR2VvanNvbiA9IHtcbiAgICAgICAgdHlwZTogJ2dlb2pzb24nLFxuICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgIGxhYmVsOiB0aXRsZSxcbiAgICAgIH1cbiAgICAgIHRoaXMubWFwRmFjYWRlLmFwcGx5Q29udGV4dCh7XG4gICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgIGxheWVyczogWy4uLmNvbnRleHQubGF5ZXJzLCBsYXllclRvQWRkXSxcbiAgICAgIH0pXG4gICAgICB0aGlzLmRpc3BsYXlNZXNzYWdlKCdGaWxlIHN1Y2Nlc3NmdWxseSBhZGRlZCB0byBtYXAnLCAnc3VjY2VzcycpXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgaXNGaWxlRm9ybWF0VmFsaWQoZmlsZTogRmlsZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSB0aGlzLmdldEZpbGVFeHRlbnNpb24oZmlsZSlcbiAgICByZXR1cm4gdGhpcy5hY2NlcHRlZE1pbWVUeXBlLmluY2x1ZGVzKGAuJHtmaWxlRXh0ZW5zaW9ufWApXG4gIH1cblxuICBwcml2YXRlIGdldEZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpXG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZywgdHlwZTogJ3N1Y2Nlc3MnIHwgJ2Vycm9yJykge1xuICAgIGlmICh0eXBlID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHRoaXMuc3VjY2Vzc01lc3NhZ2UgPSBtZXNzYWdlXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnZXJyb3InKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG1lc3NhZ2VcbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc3VjY2Vzc01lc3NhZ2UgPSBudWxsXG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGxcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfSwgNTAwMClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTIgbXktMlwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdyByb3VuZGVkLW1kIGJvcmRlci0yIGJvcmRlci1ncmF5LTIwMFwiPlxuICAgICAgPGduLXVpLWRyYWctYW5kLWRyb3AtZmlsZS1pbnB1dFxuICAgICAgICAoZmlsZUNoYW5nZSk9XCJoYW5kbGVGaWxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbYWNjZXB0XT1cImFjY2VwdGVkTWltZVR5cGUuam9pbignLCcpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidtYXAuYWRkRnJvbUZpbGUucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlci1ncmV5XCJcbiAgICAgID48L2duLXVpLWRyYWctYW5kLWRyb3AtZmlsZS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxwIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWdyYXktNjAwXCIgdHJhbnNsYXRlPm1hcC5oZWxwLmFkZEZyb21GaWxlPC9wPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBtdC0yXCI+XG4gIHt7IGVycm9yTWVzc2FnZSB9fVxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJzdWNjZXNzTWVzc2FnZVwiIGNsYXNzPVwidGV4dC1ncmVlbi01MDAgbXQtMlwiPlxuICB7eyBzdWNjZXNzTWVzc2FnZSB9fVxuPC9kaXY+XG4iXX0=
@@ -1,16 +1,14 @@
1
- import { Component, Output, EventEmitter, Input, ChangeDetectorRef, } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';
2
2
  import { OgcApiEndpoint } from '@camptocamp/ogc-client';
3
- import { Subject, debounceTime } from 'rxjs';
4
- import { MapContextLayerTypeEnum, } from '../map-context/map-context.model';
3
+ import { debounceTime, Subject } from 'rxjs';
5
4
  import { TranslateModule } from '@ngx-translate/core';
6
- import { UiInputsModule } from '../../../../../../libs/ui/inputs/src';
5
+ import { TextInputComponent, UiInputsModule, } from '../../../../../../libs/ui/inputs/src';
7
6
  import { CommonModule } from '@angular/common';
8
7
  import * as i0 from "@angular/core";
9
8
  import * as i1 from "@angular/common";
10
9
  import * as i2 from "@ngx-translate/core";
11
10
  import * as i3 from "../../../../../ui/inputs/src/lib/dropdown-selector/dropdown-selector.component";
12
11
  import * as i4 from "../../../../../ui/inputs/src/lib/button/button.component";
13
- import * as i5 from "../../../../../ui/inputs/src/lib/text-input/text-input.component";
14
12
  export class AddLayerFromOgcApiComponent {
15
13
  constructor(changeDetectorRef) {
16
14
  this.changeDetectorRef = changeDetectorRef;
@@ -87,24 +85,27 @@ export class AddLayerFromOgcApiComponent {
87
85
  try {
88
86
  const ogcEndpoint = await new OgcApiEndpoint(this.ogcUrl);
89
87
  let layerUrl;
88
+ let useTiles;
90
89
  if (layerType === 'vectorTiles') {
91
90
  layerUrl = await ogcEndpoint.getVectorTilesetUrl(layer);
91
+ useTiles = 'vector';
92
92
  }
93
93
  else if (layerType === 'mapTiles') {
94
94
  layerUrl = await ogcEndpoint.getMapTilesetUrl(layer);
95
+ useTiles = 'map';
95
96
  }
96
97
  else {
97
98
  layerUrl = await ogcEndpoint.getCollectionItemsUrl(layer, {
98
99
  outputFormat: 'json',
99
100
  });
100
101
  }
101
- const layerToAdd = {
102
- name: layer,
102
+ this.layerAdded.emit({
103
103
  url: layerUrl,
104
- type: MapContextLayerTypeEnum.OGCAPI,
105
- layerType: layerType,
106
- };
107
- this.layerAdded.emit({ ...layerToAdd, title: layer });
104
+ type: 'ogcapi',
105
+ collection: layer,
106
+ ...(useTiles && { useTiles }),
107
+ label: layer,
108
+ });
108
109
  }
109
110
  catch (error) {
110
111
  const err = error;
@@ -112,14 +113,14 @@ export class AddLayerFromOgcApiComponent {
112
113
  }
113
114
  }
114
115
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLayerFromOgcApiComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddLayerFromOgcApiComponent, isStandalone: true, selector: "gn-ui-add-layer-from-ogc-api", inputs: { ogcUrl: "ogcUrl" }, outputs: { layerAdded: "layerAdded" }, ngImport: i0, template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"ogcUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.ogc.urlInput.hint' | translate\"\n class=\"w-96\"\n ></gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<ng-container *ngFor=\"let layer of layers\">\n <div\n *ngIf=\"shouldDisplayLayer(layer)\"\n class=\"flex items-center justify-between my-2 layer-item-tree\"\n >\n <div class=\"flex flex-col items-start w-full\">\n <p\n class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\"\n [title]=\"layer.name\"\n >\n {{ layer.name }}\n </p>\n <div class=\"flex justify-between items-center w-full\">\n <gn-ui-dropdown-selector\n [title]=\"'Add Layer As' | translate\"\n [choices]=\"getLayerChoices(layer)\"\n (selectValue)=\"onLayerTypeSelect(layer.name, $event)\"\n [selected]=\"selectedLayerTypes[layer.name]\"\n extraBtnClass=\"w-6 h-5 !text-sm !px-2 !py-1\"\n ></gn-ui-dropdown-selector>\n <gn-ui-button\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer.name, selectedLayerTypes[layer.name])\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n >\n <span translate>map.layer.add</span>\n </gn-ui-button>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [".dropdown-content{display:none}.relative:hover .dropdown-content{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i3.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i4.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i5.TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "hint", "required", "disabled"], outputs: ["valueChange"] }] }); }
116
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddLayerFromOgcApiComponent, isStandalone: true, selector: "gn-ui-add-layer-from-ogc-api", inputs: { ogcUrl: "ogcUrl" }, outputs: { layerAdded: "layerAdded" }, ngImport: i0, template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"ogcUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [placeholder]=\"'map.ogc.urlInput.hint' | translate\"\n class=\"w-96\"\n ></gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<ng-container *ngFor=\"let layer of layers\">\n <div\n *ngIf=\"shouldDisplayLayer(layer)\"\n class=\"flex items-center justify-between my-2 layer-item-tree\"\n >\n <div class=\"flex flex-col items-start w-full\">\n <p\n class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\"\n [title]=\"layer.name\"\n >\n {{ layer.name }}\n </p>\n <div class=\"flex justify-between items-center w-full\">\n <gn-ui-dropdown-selector\n [title]=\"'Add Layer As' | translate\"\n [choices]=\"getLayerChoices(layer)\"\n (selectValue)=\"onLayerTypeSelect(layer.name, $event)\"\n [selected]=\"selectedLayerTypes[layer.name]\"\n extraBtnClass=\"w-6 h-5 !text-sm !px-2 !py-1\"\n ></gn-ui-dropdown-selector>\n <gn-ui-button\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer.name, selectedLayerTypes[layer.name])\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n >\n <span translate>map.layer.add</span>\n </gn-ui-button>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [".dropdown-content{display:none}.relative:hover .dropdown-content{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i3.DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i4.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }] }); }
116
117
  }
117
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddLayerFromOgcApiComponent, decorators: [{
118
119
  type: Component,
119
- args: [{ selector: 'gn-ui-add-layer-from-ogc-api', standalone: true, imports: [CommonModule, TranslateModule, UiInputsModule], template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"ogcUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.ogc.urlInput.hint' | translate\"\n class=\"w-96\"\n ></gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<ng-container *ngFor=\"let layer of layers\">\n <div\n *ngIf=\"shouldDisplayLayer(layer)\"\n class=\"flex items-center justify-between my-2 layer-item-tree\"\n >\n <div class=\"flex flex-col items-start w-full\">\n <p\n class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\"\n [title]=\"layer.name\"\n >\n {{ layer.name }}\n </p>\n <div class=\"flex justify-between items-center w-full\">\n <gn-ui-dropdown-selector\n [title]=\"'Add Layer As' | translate\"\n [choices]=\"getLayerChoices(layer)\"\n (selectValue)=\"onLayerTypeSelect(layer.name, $event)\"\n [selected]=\"selectedLayerTypes[layer.name]\"\n extraBtnClass=\"w-6 h-5 !text-sm !px-2 !py-1\"\n ></gn-ui-dropdown-selector>\n <gn-ui-button\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer.name, selectedLayerTypes[layer.name])\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n >\n <span translate>map.layer.add</span>\n </gn-ui-button>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [".dropdown-content{display:none}.relative:hover .dropdown-content{display:block}\n"] }]
120
+ args: [{ selector: 'gn-ui-add-layer-from-ogc-api', standalone: true, imports: [CommonModule, TranslateModule, UiInputsModule, TextInputComponent], template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"ogcUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [placeholder]=\"'map.ogc.urlInput.hint' | translate\"\n class=\"w-96\"\n ></gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<ng-container *ngFor=\"let layer of layers\">\n <div\n *ngIf=\"shouldDisplayLayer(layer)\"\n class=\"flex items-center justify-between my-2 layer-item-tree\"\n >\n <div class=\"flex flex-col items-start w-full\">\n <p\n class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\"\n [title]=\"layer.name\"\n >\n {{ layer.name }}\n </p>\n <div class=\"flex justify-between items-center w-full\">\n <gn-ui-dropdown-selector\n [title]=\"'Add Layer As' | translate\"\n [choices]=\"getLayerChoices(layer)\"\n (selectValue)=\"onLayerTypeSelect(layer.name, $event)\"\n [selected]=\"selectedLayerTypes[layer.name]\"\n extraBtnClass=\"w-6 h-5 !text-sm !px-2 !py-1\"\n ></gn-ui-dropdown-selector>\n <gn-ui-button\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer.name, selectedLayerTypes[layer.name])\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n >\n <span translate>map.layer.add</span>\n </gn-ui-button>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [".dropdown-content{display:none}.relative:hover .dropdown-content{display:block}\n"] }]
120
121
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { ogcUrl: [{
121
122
  type: Input
122
123
  }], layerAdded: [{
123
124
  type: Output
124
125
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20tb2djLWFwaS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvYWRkLWxheWVyLWZyb20tb2djLWFwaS9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpL2FkZC1sYXllci1mcm9tLW9nYy1hcGkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sWUFBWSxFQUVaLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFFTCx1QkFBdUIsR0FDeEIsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFrQixjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7Ozs7Ozs7QUFVOUMsTUFBTSxPQUFPLDJCQUEyQjtJQVV0QyxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVI5QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQTtRQUVuRCxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQTtRQUNqQyxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsV0FBTSxHQUFVLEVBQUUsQ0FBQTtRQUNsQixpQkFBWSxH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T0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDbEQ7SUFDSCxDQUFDOytHQTFHVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw2SkMzQnhDLDZrREFrREEsMElEekJZLFlBQVksK1BBQUUsZUFBZSxrT0FBRSxjQUFjOzs0RkFFNUMsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLDhCQUE4QixjQUc1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQzt3R0FHL0MsTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPZ2NBcGlFbmRwb2ludCB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBTdWJqZWN0LCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHtcbiAgTWFwQ29udGV4dExheWVyTW9kZWwsXG4gIE1hcENvbnRleHRMYXllclR5cGVFbnVtLFxufSBmcm9tICcuLi9tYXAtY29udGV4dC9tYXAtY29udGV4dC5tb2RlbCdcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBEcm9wZG93bkNob2ljZSwgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXBMYXllciB9IGZyb20gJy4uLytzdGF0ZS9tYXAubW9kZWxzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1sYXllci1mcm9tLW9nYy1hcGkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpLmNvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBVaUlucHV0c01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFkZExheWVyRnJvbU9nY0FwaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG9nY1VybDogc3RyaW5nXG4gIEBPdXRwdXQoKSBsYXllckFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxNYXBMYXllcj4oKVxuXG4gIHVybENoYW5nZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKVxuICBsb2FkaW5nID0gZmFsc2VcbiAgbGF5ZXJzOiBhbnlbXSA9IFtdXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGxcbiAgc2VsZWN0ZWRMYXllclR5cGVzOiB7IFtrZXk6IHN0cmluZ106IERyb3Bkb3duQ2hvaWNlWyd2YWx1ZSddIH0gPSB7fVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXJsQ2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKDcwMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRMYXllcnMoKVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBsb2FkTGF5ZXJzKCkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbFxuICAgIHRyeSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICBpZiAoIXRoaXMub2djVXJsLnRyaW0oKSkge1xuICAgICAgICB0aGlzLmxheWVycyA9IFtdXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3Qgb2djRW5kcG9pbnQgPSBhd2FpdCBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5vZ2NVcmwpXG4gICAgICB0aGlzLmxheWVycyA9IGF3YWl0IG9nY0VuZHBvaW50LmFsbENvbGxlY3Rpb25zXG4gICAgICB0aGlzLnNldERlZmF1bHRMYXllclR5cGVzKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3JcbiAgICAgIHRoaXMubGF5ZXJzID0gW11cbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0Vycm9yIGxvYWRpbmcgbGF5ZXJzOiAnICsgZXJyLm1lc3NhZ2VcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgICB9XG4gIH1cblxuICBzZXREZWZhdWx0TGF5ZXJUeXBlcygpIHtcbiAgICB0aGlzLmxheWVycy5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgY29uc3QgY2hvaWNlcyA9IHRoaXMuZ2V0TGF5ZXJDaG9pY2VzKGxheWVyKVxuICAgICAgaWYgKGNob2ljZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGF5ZXJUeXBlc1tsYXllci5uYW1lXSA9IGNob2ljZXNbMF0udmFsdWVcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0TGF5ZXJDaG9pY2VzKGxheWVyOiBhbnkpIHtcbiAgICBjb25zdCBjaG9pY2VzID0gW11cbiAgICBpZiAobGF5ZXIuaGFzUmVjb3Jkcykge1xuICAgICAgY2hvaWNlcy5wdXNoKHsgbGFiZWw6ICdSZWNvcmRzJywgdmFsdWU6ICdyZWNvcmQnIH0pXG4gICAgfVxuICAgIGlmIChsYXllci5oYXNGZWF0dXJlcykge1xuICAgICAgY2hvaWNlcy5wdXNoKHsgbGFiZWw6ICdGZWF0dXJlcycsIHZhbHVlOiAnZmVhdHVyZXMnIH0pXG4gICAgfVxuICAgIGlmIChsYXllci5oYXNWZWN0b3JUaWxlcykge1xuICAgICAgY2hvaWNlcy5wdXNoKHsgbGFiZWw6ICdWZWN0b3IgVGlsZXMnLCB2YWx1ZTogJ3ZlY3RvclRpbGVzJyB9KVxuICAgIH1cbiAgICBpZiAobGF5ZXIuaGFzTWFwVGlsZXMpIHtcbiAgICAgIGNob2ljZXMucHVzaCh7IGxhYmVsOiAnTWFwIFRpbGVzJywgdmFsdWU6ICdtYXBUaWxlcycgfSlcbiAgICB9XG4gICAgcmV0dXJuIGNob2ljZXNcbiAgfVxuXG4gIHNob3VsZERpc3BsYXlMYXllcihsYXllcjogYW55KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGxheWVyLmhhc1JlY29yZHMgfHxcbiAgICAgIGxheWVyLmhhc0ZlYXR1cmVzIHx8XG4gICAgICBsYXllci5oYXNWZWN0b3JUaWxlcyB8fFxuICAgICAgbGF5ZXIuaGFzTWFwVGlsZXNcbiAgICApXG4gIH1cblxuICBvbkxheWVyVHlwZVNlbGVjdChsYXllck5hbWU6IHN0cmluZywgc2VsZWN0ZWRUeXBlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGF5ZXJUeXBlc1tsYXllck5hbWVdID0gc2VsZWN0ZWRUeXBlXG4gICAgICA/IHNlbGVjdGVkVHlwZVxuICAgICAgOiB0aGlzLmdldExheWVyQ2hvaWNlcyhsYXllck5hbWUpWzBdPy52YWx1ZVxuICB9XG5cbiAgYXN5bmMgYWRkTGF5ZXIobGF5ZXI6IHN0cmluZywgbGF5ZXJUeXBlOiBhbnkpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb2djRW5kcG9pbnQgPSBhd2FpdCBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5vZ2NVcmwpXG4gICAgICBsZXQgbGF5ZXJVcmw6IHN0cmluZ1xuXG4gICAgICBpZiAobGF5ZXJUeXBlID09PSAndmVjdG9yVGlsZXMnKSB7XG4gICAgICAgIGxheWVyVXJsID0gYXdhaXQgb2djRW5kcG9pbnQuZ2V0VmVjdG9yVGlsZXNldFVybChsYXllcilcbiAgICAgIH0gZWxzZSBpZiAobGF5ZXJUeXBlID09PSAnbWFwVGlsZXMnKSB7XG4gICAgICAgIGxheWVyVXJsID0gYXdhaXQgb2djRW5kcG9pbnQuZ2V0TWFwVGlsZXNldFVybChsYXllcilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxheWVyVXJsID0gYXdhaXQgb2djRW5kcG9pbnQuZ2V0Q29sbGVjdGlvbkl0ZW1zVXJsKGxheWVyLCB7XG4gICAgICAgICAgb3V0cHV0Rm9ybWF0OiAnanNvbicsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxheWVyVG9BZGQ6IE1hcENvbnRleHRMYXllck1vZGVsID0ge1xuICAgICAgICBuYW1lOiBsYXllcixcbiAgICAgICAgdXJsOiBsYXllclVybCxcbiAgICAgICAgdHlwZTogTWFwQ29udGV4dExheWVyVHlwZUVudW0uT0dDQVBJLFxuICAgICAgICBsYXllclR5cGU6IGxheWVyVHlwZSxcbiAgICAgIH1cbiAgICAgIHRoaXMubGF5ZXJBZGRlZC5lbWl0KHsgLi4ubGF5ZXJUb0FkZCwgdGl0bGU6IGxheWVyIH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhZGRpbmcgbGF5ZXI6JywgZXJyLm1lc3NhZ2UpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbWItNVwiPlxuICA8Z24tdWktdGV4dC1pbnB1dFxuICAgIFsodmFsdWUpXT1cIm9nY1VybFwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cInVybENoYW5nZS5uZXh0KCRldmVudClcIlxuICAgIFtoaW50XT1cIidtYXAub2djLnVybElucHV0LmhpbnQnIHwgdHJhbnNsYXRlXCJcbiAgICBjbGFzcz1cInctOTZcIlxuICA+PC9nbi11aS10ZXh0LWlucHV0PlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBtdC0yXCI+XG4gIHt7IGVycm9yTWVzc2FnZSB9fVxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJsb2FkaW5nXCI+XG4gIDxwIGNsYXNzPVwibG9hZGluZy1tZXNzYWdlXCIgdHJhbnNsYXRlPm1hcC5sb2FkaW5nLnNlcnZpY2U8L3A+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGF5ZXIgb2YgbGF5ZXJzXCI+XG4gIDxkaXZcbiAgICAqbmdJZj1cInNob3VsZERpc3BsYXlMYXllcihsYXllcilcIlxuICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIG15LTIgbGF5ZXItaXRlbS10cmVlXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLXN0YXJ0IHctZnVsbFwiPlxuICAgICAgPHBcbiAgICAgICAgY2xhc3M9XCJtYXgtdy14cyBvdmVyZmxvdy1oaWRkZW4gb3ZlcmZsb3ctZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXBcIlxuICAgICAgICBbdGl0bGVdPVwibGF5ZXIubmFtZVwiXG4gICAgICA+XG4gICAgICAgIHt7IGxheWVyLm5hbWUgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgdy1mdWxsXCI+XG4gICAgICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgICAgIFt0aXRsZV09XCInQWRkIExheWVyIEFzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2Nob2ljZXNdPVwiZ2V0TGF5ZXJDaG9pY2VzKGxheWVyKVwiXG4gICAgICAgICAgKHNlbGVjdFZhbHVlKT1cIm9uTGF5ZXJUeXBlU2VsZWN0KGxheWVyLm5hbWUsICRldmVudClcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZExheWVyVHlwZXNbbGF5ZXIubmFtZV1cIlxuICAgICAgICAgIGV4dHJhQnRuQ2xhc3M9XCJ3LTYgaC01ICF0ZXh0LXNtICFweC0yICFweS0xXCJcbiAgICAgICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICBjbGFzcz1cImxheWVyLWFkZC1idG5cIlxuICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiYWRkTGF5ZXIobGF5ZXIubmFtZSwgc2VsZWN0ZWRMYXllclR5cGVzW2xheWVyLm5hbWVdKVwiXG4gICAgICAgICAgZXh0cmFDbGFzcz1cInRleHQtc20gIXB4LTIgIXB5LTFcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPm1hcC5sYXllci5hZGQ8L3NwYW4+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLWZyb20tb2djLWFwaS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvYWRkLWxheWVyLWZyb20tb2djLWFwaS9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjL2xpYi9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpL2FkZC1sYXllci1mcm9tLW9nYy1hcGkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLGNBQWMsR0FDZixNQUFNLHNDQUFzQyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7O0FBVTlDLE1BQU0sT0FBTywyQkFBMkI7SUFVdEMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSOUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFBO1FBRTFELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFBO1FBQ2pDLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixXQUFNLEdBQVUsRUFBRSxDQUFBO1FBQ2xCLGlCQUFZLEdBQWtCLElBQUksQ0FBQTtRQUNsQyx1QkFBa0IsR0FBK0MsRUFBRSxDQUFBO0lBRVIsQ0FBQztJQUU1RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNwRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDbkIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUN4QixJQUFJO1lBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFBO2dCQUNoQixPQUFNO2FBQ1A7WUFDRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUN6RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLGNBQWMsQ0FBQTtZQUM5QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtTQUM1QjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsTUFBTSxHQUFHLEdBQUcsS0FBYyxDQUFBO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFBO1lBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsd0JBQXdCLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQTtTQUMzRDtnQkFBUztZQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtTQUN0QztJQUNILENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzNDLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTthQUN2RDtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUNsQixJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7U0FDcEQ7UUFDRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUE7U0FDdkQ7UUFDRCxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUU7WUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUE7U0FDOUQ7UUFDRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUE7U0FDeEQ7UUFDRCxPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBVTtRQUMzQixPQUFPLENBQ0wsS0FBSyxDQUFDLFVBQVU7WUFDaEIsS0FBSyxDQUFDLFdBQVc7WUFDakIsS0FBSyxDQUFDLGNBQWM7WUFDcEIsS0FBSyxDQUFDLFdBQVcsQ0FDbEIsQ0FBQTtJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFpQixFQUFFLFlBQWlCO1FBQ3BELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxZQUFZO1lBQy9DLENBQUMsQ0FBQyxZQUFZO1lBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFBO0lBQy9DLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQWEsRUFBRSxTQUFjO1FBQzFDLElBQUk7WUFDRixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUN6RCxJQUFJLFFBQWdCLENBQUE7WUFDcEIsSUFBSSxRQUEyQyxDQUFBO1lBRS9DLElBQUksU0FBUyxLQUFLLGFBQWEsRUFBRTtnQkFDL0IsUUFBUSxHQUFHLE1BQU0sV0FBVyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUN2RCxRQUFRLEdBQUcsUUFBUSxDQUFBO2FBQ3BCO2lCQUFNLElBQUksU0FBUyxLQUFLLFVBQVUsRUFBRTtnQkFDbkMsUUFBUSxHQUFHLE1BQU0sV0FBVyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUNwRCxRQUFRLEdBQUcsS0FBSyxDQUFBO2FBQ2pCO2lCQUFNO2dCQUNMLFFBQVEsR0FBRyxNQUFNLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUU7b0JBQ3hELFlBQVksRUFBRSxNQUFNO2lCQUNyQixDQUFDLENBQUE7YUFDSDtZQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUNuQixHQUFHLEVBQUUsUUFBUTtnQkFDYixJQUFJLEVBQUUsUUFBUTtnQkFDZCxVQUFVLEVBQUUsS0FBSztnQkFDakIsR0FBRyxDQUFDLFFBQVEsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixLQUFLLEVBQUUsS0FBSzthQUNiLENBQUMsQ0FBQTtTQUNIO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxNQUFNLEdBQUcsR0FBRyxLQUFjLENBQUE7WUFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDbEQ7SUFDSCxDQUFDOytHQTdHVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw2SkMxQnhDLG9sREFrREEsMElEMUJZLFlBQVksK1BBQUUsZUFBZSxrT0FBRSxjQUFjLGlhQUFFLGtCQUFrQjs7NEZBRWhFLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSw4QkFBOEIsY0FHNUIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLENBQUM7d0dBR25FLE1BQU07c0JBQWQsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPZ2NBcGlFbmRwb2ludCB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7XG4gIERyb3Bkb3duQ2hvaWNlLFxuICBUZXh0SW5wdXRDb21wb25lbnQsXG4gIFVpSW5wdXRzTW9kdWxlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXBDb250ZXh0TGF5ZXIsIE1hcENvbnRleHRMYXllck9nY0FwaSB9IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1sYXllci1mcm9tLW9nYy1hcGkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtbGF5ZXItZnJvbS1vZ2MtYXBpLmNvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBVaUlucHV0c01vZHVsZSwgVGV4dElucHV0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQWRkTGF5ZXJGcm9tT2djQXBpQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgb2djVXJsOiBzdHJpbmdcbiAgQE91dHB1dCgpIGxheWVyQWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1hcENvbnRleHRMYXllcj4oKVxuXG4gIHVybENoYW5nZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKVxuICBsb2FkaW5nID0gZmFsc2VcbiAgbGF5ZXJzOiBhbnlbXSA9IFtdXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgbnVsbCA9IG51bGxcbiAgc2VsZWN0ZWRMYXllclR5cGVzOiB7IFtrZXk6IHN0cmluZ106IERyb3Bkb3duQ2hvaWNlWyd2YWx1ZSddIH0gPSB7fVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXJsQ2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKDcwMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRMYXllcnMoKVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBsb2FkTGF5ZXJzKCkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbFxuICAgIHRyeSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICBpZiAoIXRoaXMub2djVXJsLnRyaW0oKSkge1xuICAgICAgICB0aGlzLmxheWVycyA9IFtdXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3Qgb2djRW5kcG9pbnQgPSBhd2FpdCBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5vZ2NVcmwpXG4gICAgICB0aGlzLmxheWVycyA9IGF3YWl0IG9nY0VuZHBvaW50LmFsbENvbGxlY3Rpb25zXG4gICAgICB0aGlzLnNldERlZmF1bHRMYXllclR5cGVzKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3JcbiAgICAgIHRoaXMubGF5ZXJzID0gW11cbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0Vycm9yIGxvYWRpbmcgbGF5ZXJzOiAnICsgZXJyLm1lc3NhZ2VcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgICB9XG4gIH1cblxuICBzZXREZWZhdWx0TGF5ZXJUeXBlcygpIHtcbiAgICB0aGlzLmxheWVycy5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgY29uc3QgY2hvaWNlcyA9IHRoaXMuZ2V0TGF5ZXJDaG9pY2VzKGxheWVyKVxuICAgICAgaWYgKGNob2ljZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGF5ZXJUeXBlc1tsYXllci5uYW1lXSA9IGNob2ljZXNbMF0udmFsdWVcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0TGF5ZXJDaG9pY2VzKGxheWVyOiBhbnkpIHtcbiAgICBjb25zdCBjaG9pY2VzID0gW11cbiAgICBpZiAobGF5ZXIuaGFzUmVjb3Jkcykge1xuICAgICAgY2hvaWNlcy5wdXNoKHsgbGFiZWw6ICdSZWNvcmRzJywgdmFsdWU6ICdyZWNvcmQnIH0pXG4gICAgfVxuICAgIGlmIChsYXllci5oYXNGZWF0dXJlcykge1xuICAgICAgY2hvaWNlcy5wdXNoKHsgbGFiZWw6ICdGZWF0dXJlcycsIHZhbHVlOiAnZmVhdHVyZXMnIH0pXG4gICAgfVxuICAgIGlmIChsYXllci5oYXNWZWN0b3JUaWxlcykge1xuICAgICAgY2hvaWNlcy5wdXNoKHsgbGFiZWw6ICdWZWN0b3IgVGlsZXMnLCB2YWx1ZTogJ3ZlY3RvclRpbGVzJyB9KVxuICAgIH1cbiAgICBpZiAobGF5ZXIuaGFzTWFwVGlsZXMpIHtcbiAgICAgIGNob2ljZXMucHVzaCh7IGxhYmVsOiAnTWFwIFRpbGVzJywgdmFsdWU6ICdtYXBUaWxlcycgfSlcbiAgICB9XG4gICAgcmV0dXJuIGNob2ljZXNcbiAgfVxuXG4gIHNob3VsZERpc3BsYXlMYXllcihsYXllcjogYW55KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGxheWVyLmhhc1JlY29yZHMgfHxcbiAgICAgIGxheWVyLmhhc0ZlYXR1cmVzIHx8XG4gICAgICBsYXllci5oYXNWZWN0b3JUaWxlcyB8fFxuICAgICAgbGF5ZXIuaGFzTWFwVGlsZXNcbiAgICApXG4gIH1cblxuICBvbkxheWVyVHlwZVNlbGVjdChsYXllck5hbWU6IHN0cmluZywgc2VsZWN0ZWRUeXBlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGF5ZXJUeXBlc1tsYXllck5hbWVdID0gc2VsZWN0ZWRUeXBlXG4gICAgICA/IHNlbGVjdGVkVHlwZVxuICAgICAgOiB0aGlzLmdldExheWVyQ2hvaWNlcyhsYXllck5hbWUpWzBdPy52YWx1ZVxuICB9XG5cbiAgYXN5bmMgYWRkTGF5ZXIobGF5ZXI6IHN0cmluZywgbGF5ZXJUeXBlOiBhbnkpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb2djRW5kcG9pbnQgPSBhd2FpdCBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5vZ2NVcmwpXG4gICAgICBsZXQgbGF5ZXJVcmw6IHN0cmluZ1xuICAgICAgbGV0IHVzZVRpbGVzOiBNYXBDb250ZXh0TGF5ZXJPZ2NBcGlbJ3VzZVRpbGVzJ11cblxuICAgICAgaWYgKGxheWVyVHlwZSA9PT0gJ3ZlY3RvclRpbGVzJykge1xuICAgICAgICBsYXllclVybCA9IGF3YWl0IG9nY0VuZHBvaW50LmdldFZlY3RvclRpbGVzZXRVcmwobGF5ZXIpXG4gICAgICAgIHVzZVRpbGVzID0gJ3ZlY3RvcidcbiAgICAgIH0gZWxzZSBpZiAobGF5ZXJUeXBlID09PSAnbWFwVGlsZXMnKSB7XG4gICAgICAgIGxheWVyVXJsID0gYXdhaXQgb2djRW5kcG9pbnQuZ2V0TWFwVGlsZXNldFVybChsYXllcilcbiAgICAgICAgdXNlVGlsZXMgPSAnbWFwJ1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGF5ZXJVcmwgPSBhd2FpdCBvZ2NFbmRwb2ludC5nZXRDb2xsZWN0aW9uSXRlbXNVcmwobGF5ZXIsIHtcbiAgICAgICAgICBvdXRwdXRGb3JtYXQ6ICdqc29uJyxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgdGhpcy5sYXllckFkZGVkLmVtaXQoe1xuICAgICAgICB1cmw6IGxheWVyVXJsLFxuICAgICAgICB0eXBlOiAnb2djYXBpJyxcbiAgICAgICAgY29sbGVjdGlvbjogbGF5ZXIsXG4gICAgICAgIC4uLih1c2VUaWxlcyAmJiB7IHVzZVRpbGVzIH0pLFxuICAgICAgICBsYWJlbDogbGF5ZXIsXG4gICAgICB9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvclxuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYWRkaW5nIGxheWVyOicsIGVyci5tZXNzYWdlKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG1iLTVcIj5cbiAgPGduLXVpLXRleHQtaW5wdXRcbiAgICBbKHZhbHVlKV09XCJvZ2NVcmxcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJ1cmxDaGFuZ2UubmV4dCgkZXZlbnQpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ21hcC5vZ2MudXJsSW5wdXQuaGludCcgfCB0cmFuc2xhdGVcIlxuICAgIGNsYXNzPVwidy05NlwiXG4gID48L2duLXVpLXRleHQtaW5wdXQ+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZVwiIGNsYXNzPVwidGV4dC1yZWQtNTAwIG10LTJcIj5cbiAge3sgZXJyb3JNZXNzYWdlIH19XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgPHAgY2xhc3M9XCJsb2FkaW5nLW1lc3NhZ2VcIiB0cmFuc2xhdGU+bWFwLmxvYWRpbmcuc2VydmljZTwvcD5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsYXllciBvZiBsYXllcnNcIj5cbiAgPGRpdlxuICAgICpuZ0lmPVwic2hvdWxkRGlzcGxheUxheWVyKGxheWVyKVwiXG4gICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gbXktMiBsYXllci1pdGVtLXRyZWVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtc3RhcnQgdy1mdWxsXCI+XG4gICAgICA8cFxuICAgICAgICBjbGFzcz1cIm1heC13LXhzIG92ZXJmbG93LWhpZGRlbiBvdmVyZmxvdy1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcFwiXG4gICAgICAgIFt0aXRsZV09XCJsYXllci5uYW1lXCJcbiAgICAgID5cbiAgICAgICAge3sgbGF5ZXIubmFtZSB9fVxuICAgICAgPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciB3LWZ1bGxcIj5cbiAgICAgICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICAgICAgW3RpdGxlXT1cIidBZGQgTGF5ZXIgQXMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbY2hvaWNlc109XCJnZXRMYXllckNob2ljZXMobGF5ZXIpXCJcbiAgICAgICAgICAoc2VsZWN0VmFsdWUpPVwib25MYXllclR5cGVTZWxlY3QobGF5ZXIubmFtZSwgJGV2ZW50KVwiXG4gICAgICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkTGF5ZXJUeXBlc1tsYXllci5uYW1lXVwiXG4gICAgICAgICAgZXh0cmFCdG5DbGFzcz1cInctNiBoLTUgIXRleHQtc20gIXB4LTIgIXB5LTFcIlxuICAgICAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwibGF5ZXItYWRkLWJ0blwiXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgIChidXR0b25DbGljayk9XCJhZGRMYXllcihsYXllci5uYW1lLCBzZWxlY3RlZExheWVyVHlwZXNbbGF5ZXIubmFtZV0pXCJcbiAgICAgICAgICBleHRyYUNsYXNzPVwidGV4dC1zbSAhcHgtMiAhcHktMVwiXG4gICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+bWFwLmxheWVyLmFkZDwvc3Bhbj5cbiAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==