geonetwork-ui 2.6.0-dev.502fa026d → 2.6.0-dev.531f5a239

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 (525) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +17 -15
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +47 -6
  6. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +8 -4
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +5 -2
  9. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
  10. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -5
  11. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +3 -1
  12. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -12
  13. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +79 -16
  14. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
  15. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +7 -1
  16. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +2 -1
  17. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  18. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  19. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +49 -9
  20. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  21. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +32 -2
  22. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +29 -6
  23. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  24. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +273 -0
  25. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
  26. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
  27. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
  28. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
  29. package/esm2022/libs/feature/record/src/index.mjs +2 -4
  30. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
  31. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
  32. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
  33. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
  34. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
  35. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +38 -7
  36. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
  37. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
  38. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +14 -5
  39. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +13 -15
  40. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
  41. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
  42. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
  43. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  44. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
  45. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
  46. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  47. package/esm2022/libs/feature/search/src/lib/constants.mjs +4 -2
  48. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +8 -7
  49. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +13 -19
  50. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +5 -3
  51. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
  52. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
  53. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +30 -10
  54. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +13 -10
  55. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
  56. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  57. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  58. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
  59. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +11 -6
  60. package/esm2022/libs/ui/elements/src/index.mjs +6 -1
  61. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +27 -6
  62. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +22 -6
  63. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
  64. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +55 -0
  65. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  66. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +122 -0
  67. package/esm2022/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.mjs +59 -0
  68. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +68 -0
  69. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +29 -7
  70. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  71. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  72. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
  73. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +37 -12
  74. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +5 -1
  75. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +3 -2
  76. package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +72 -0
  77. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +17 -7
  78. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +169 -0
  79. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +32 -4
  80. package/esm2022/libs/ui/inputs/src/index.mjs +3 -2
  81. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  82. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  83. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  84. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  85. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
  86. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  87. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +68 -0
  88. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -3
  89. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
  90. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  91. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +43 -3
  92. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
  93. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  94. package/esm2022/libs/ui/layout/src/lib/cell-popin/cell-popin.component.mjs +110 -0
  95. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
  96. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +25 -3
  97. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
  98. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  99. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +73 -0
  100. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
  101. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  102. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
  103. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +80 -0
  104. package/esm2022/libs/ui/search/src/index.mjs +3 -1
  105. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -8
  106. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  107. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  108. package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +2 -2
  109. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  110. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +21 -12
  111. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +39 -17
  112. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +19 -5
  113. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  114. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
  115. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  116. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +42 -1
  117. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +24 -2
  118. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  119. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
  120. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
  121. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +36 -24
  122. package/esm2022/translations/de.json +84 -8
  123. package/esm2022/translations/en.json +85 -9
  124. package/esm2022/translations/es.json +83 -7
  125. package/esm2022/translations/fr.json +85 -9
  126. package/esm2022/translations/it.json +83 -8
  127. package/esm2022/translations/nl.json +83 -7
  128. package/esm2022/translations/pt.json +83 -7
  129. package/fesm2022/geonetwork-ui.mjs +3810 -1392
  130. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  131. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  132. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  133. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
  134. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  135. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  136. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  137. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  138. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +0 -1
  139. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  140. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +1 -0
  141. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  142. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  143. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  144. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  145. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  146. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
  147. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  148. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +13 -2
  149. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  150. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  151. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -0
  152. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  153. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +1 -0
  154. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
  155. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +27 -17
  156. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  157. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +6 -0
  158. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  159. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +12 -8
  160. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  161. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +1 -0
  162. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  163. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +6 -3
  164. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  165. package/libs/feature/editor/src/index.d.ts +1 -0
  166. package/libs/feature/editor/src/index.d.ts.map +1 -1
  167. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +52 -0
  168. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
  169. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  170. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
  171. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  172. 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
  173. package/libs/feature/record/src/index.d.ts +1 -3
  174. package/libs/feature/record/src/index.d.ts.map +1 -1
  175. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
  176. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  177. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
  178. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  179. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
  180. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  181. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
  182. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  183. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  184. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
  185. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +10 -0
  186. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  187. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +9 -1
  188. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  189. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -21
  190. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  191. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +2 -0
  192. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  193. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  194. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  195. package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
  196. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  197. package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
  198. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  199. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  200. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
  201. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  202. package/libs/feature/search/src/index.d.ts +1 -1
  203. package/libs/feature/search/src/index.d.ts.map +1 -1
  204. package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
  205. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  206. package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
  207. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  208. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
  209. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  210. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
  211. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
  212. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
  213. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  214. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
  215. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  216. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +6 -5
  217. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  218. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
  219. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  220. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  221. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +2 -1
  222. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
  223. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
  224. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  225. package/libs/ui/elements/src/index.d.ts +5 -0
  226. package/libs/ui/elements/src/index.d.ts.map +1 -1
  227. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +9 -1
  228. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  229. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +8 -1
  230. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  231. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  232. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  233. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +15 -0
  234. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -0
  235. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +36 -0
  236. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -0
  237. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts +14 -0
  238. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts.map +1 -0
  239. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +13 -0
  240. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  241. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +10 -2
  242. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  243. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
  244. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  245. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +3 -0
  246. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  247. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
  248. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  249. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +27 -0
  250. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
  251. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +8 -1
  252. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  253. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +31 -0
  254. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
  255. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +6 -1
  256. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  257. package/libs/ui/inputs/src/index.d.ts +2 -1
  258. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  259. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  260. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  261. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  262. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  263. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  264. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  265. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
  266. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
  267. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  268. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
  269. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  270. package/libs/ui/layout/src/index.d.ts +2 -0
  271. package/libs/ui/layout/src/index.d.ts.map +1 -1
  272. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +10 -3
  273. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  274. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
  275. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  276. package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts +28 -0
  277. package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts.map +1 -0
  278. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
  279. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  280. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +5 -1
  281. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  282. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +22 -0
  283. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
  284. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  285. package/libs/ui/map/src/index.d.ts +1 -0
  286. package/libs/ui/map/src/index.d.ts.map +1 -1
  287. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
  288. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  289. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
  290. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
  291. package/libs/ui/search/src/index.d.ts +2 -0
  292. package/libs/ui/search/src/index.d.ts.map +1 -1
  293. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  294. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  295. package/libs/ui/search/src/lib/results-list/results-list.component.d.ts.map +1 -1
  296. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -3
  297. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  298. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +10 -4
  299. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  300. package/libs/ui/search/src/lib/ui-search.module.d.ts +22 -19
  301. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  302. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  303. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  304. package/libs/util/i18n/src/lib/i18n.constants.d.ts +1 -0
  305. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  306. package/libs/util/i18n/src/lib/language-codes.d.ts +23 -1
  307. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  308. package/libs/util/shared/src/index.d.ts +1 -0
  309. package/libs/util/shared/src/index.d.ts.map +1 -1
  310. package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
  311. package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
  312. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  313. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  314. package/libs/util/shared/src/lib/links/link-utils.d.ts +30 -23
  315. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  316. package/package.json +2 -2
  317. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  318. package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
  319. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  320. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  321. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
  322. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +3 -3
  323. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  324. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
  325. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +70 -6
  326. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
  327. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +13 -3
  328. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +5 -1
  329. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +10 -6
  330. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +7 -4
  331. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +2 -0
  332. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +3 -11
  333. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +118 -16
  334. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
  335. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +11 -0
  336. package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -0
  337. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +28 -11
  338. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +6 -0
  339. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +36 -26
  340. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +16 -2
  341. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
  342. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +64 -1
  343. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
  344. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +58 -10
  345. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +37 -0
  346. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
  347. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +31 -1
  348. package/src/libs/feature/editor/src/index.ts +1 -0
  349. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +120 -0
  350. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +325 -0
  351. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
  352. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
  353. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
  354. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  355. package/src/libs/feature/record/src/index.ts +1 -3
  356. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +16 -10
  357. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
  358. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  359. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
  360. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
  361. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
  362. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +25 -16
  363. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +40 -4
  364. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
  365. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +10 -0
  366. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +27 -3
  367. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +21 -17
  368. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +12 -0
  369. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
  370. package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
  371. package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
  372. package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
  373. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
  374. package/src/libs/feature/search/src/index.ts +1 -1
  375. package/src/libs/feature/search/src/lib/constants.ts +3 -1
  376. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +1 -7
  377. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -8
  378. package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -10
  379. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
  380. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +1 -0
  381. package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
  382. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
  383. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
  384. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
  385. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.css +6 -0
  386. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
  387. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +26 -5
  388. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  389. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +13 -3
  390. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  391. package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
  392. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  393. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
  394. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
  395. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +5 -4
  396. package/src/libs/ui/elements/src/index.ts +5 -0
  397. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +64 -38
  398. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +26 -2
  399. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +21 -18
  400. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +20 -2
  401. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +42 -10
  402. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
  403. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.css +4 -0
  404. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +13 -0
  405. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +54 -0
  406. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  407. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.css +0 -0
  408. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +83 -0
  409. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +131 -0
  410. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.html +69 -0
  411. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.ts +61 -0
  412. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  413. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +11 -0
  414. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +70 -0
  415. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +30 -29
  416. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +28 -2
  417. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
  418. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
  419. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
  420. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +24 -7
  421. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
  422. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +3 -2
  423. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +48 -9
  424. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +4 -0
  425. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -1
  426. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +107 -0
  427. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +83 -0
  428. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +8 -29
  429. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +14 -1
  430. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
  431. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +110 -0
  432. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +191 -0
  433. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +14 -1
  434. package/src/libs/ui/inputs/src/index.ts +2 -1
  435. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  436. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
  437. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  438. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
  439. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  440. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
  441. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  442. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
  443. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
  444. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +77 -0
  445. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +7 -8
  446. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -1
  447. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  448. package/src/libs/ui/layout/src/index.ts +2 -0
  449. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +46 -2
  450. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  451. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
  452. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
  453. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -5
  454. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  455. package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.html +40 -0
  456. package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.ts +141 -0
  457. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
  458. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
  459. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +4 -7
  460. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +20 -0
  461. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  462. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  463. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  464. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +27 -0
  465. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +91 -0
  466. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +2 -6
  467. package/src/libs/ui/map/src/index.ts +1 -0
  468. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
  469. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
  470. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
  471. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
  472. package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts → ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts} +8 -8
  473. package/src/libs/ui/search/src/index.ts +2 -0
  474. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +9 -81
  475. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  476. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +25 -0
  477. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  478. package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +2 -2
  479. package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
  480. package/src/libs/ui/search/src/lib/results-list/results-list.component.ts +0 -1
  481. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +16 -6
  482. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +15 -11
  483. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
  484. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +31 -24
  485. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +33 -14
  486. package/src/libs/ui/search/src/lib/ui-search.module.ts +8 -0
  487. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +4 -3
  488. package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
  489. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  490. package/src/libs/util/i18n/src/lib/i18n.constants.ts +42 -0
  491. package/src/libs/util/i18n/src/lib/language-codes.ts +23 -1
  492. package/src/libs/util/shared/src/index.ts +1 -0
  493. package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
  494. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +15 -3
  495. package/src/libs/util/shared/src/lib/links/link-utils.ts +53 -30
  496. package/tailwind.base.config.js +3 -0
  497. package/tailwind.base.css +39 -13
  498. package/translations/de.json +84 -8
  499. package/translations/en.json +85 -9
  500. package/translations/es.json +83 -7
  501. package/translations/fr.json +85 -9
  502. package/translations/it.json +83 -8
  503. package/translations/nl.json +83 -7
  504. package/translations/pt.json +83 -7
  505. package/translations/sk.json +83 -7
  506. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
  507. package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
  508. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  509. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
  510. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
  511. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +0 -1
  512. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
  513. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
  514. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  515. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  516. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
  517. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +0 -1
  518. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
  519. package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
  520. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  521. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
  522. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
  523. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
  524. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
  525. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-map-container/form-field-map-container.component.css → multilingual-panel/multilingual-panel.component.css} +0 -0
@@ -5,7 +5,7 @@ export const FORMATS = {
5
5
  csv: {
6
6
  extensions: ['csv'],
7
7
  priority: 1,
8
- color: '#a6d6c0',
8
+ color: '#F6A924',
9
9
  mimeTypes: ['text/csv', 'application/csv'],
10
10
  },
11
11
  excel: {
@@ -17,7 +17,7 @@ export const FORMATS = {
17
17
  'openxmlformats-officedocument',
18
18
  ],
19
19
  priority: 2,
20
- color: '#acc5e4',
20
+ color: '#FFDE10',
21
21
  mimeTypes: [
22
22
  'application/vnd.ms-excel',
23
23
  'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
@@ -26,31 +26,31 @@ export const FORMATS = {
26
26
  geojson: {
27
27
  extensions: ['geojson'],
28
28
  priority: 3,
29
- color: '#b3cde8',
29
+ color: '#293C6F',
30
30
  mimeTypes: ['application/geo+json', 'application/vnd.geo+json'],
31
31
  },
32
32
  json: {
33
33
  extensions: ['json'],
34
34
  priority: 3,
35
- color: '#b3cde8',
35
+ color: '#84D0F0',
36
36
  mimeTypes: ['application/json'],
37
37
  },
38
38
  shp: {
39
39
  extensions: ['shp', 'shape', 'zipped-shapefile'],
40
40
  priority: 4,
41
- color: '#b2d8ba',
41
+ color: '#009036',
42
42
  mimeTypes: ['x-gis/x-shapefile'],
43
43
  },
44
44
  gml: {
45
45
  extensions: ['gml'],
46
46
  priority: 5,
47
- color: '#e3b3e5',
47
+ color: '#E75113',
48
48
  mimeTypes: ['application/gml+xml', 'text/xml; subtype=gml'],
49
49
  },
50
50
  kml: {
51
51
  extensions: ['kml', 'kmz'],
52
52
  priority: 6,
53
- color: '#c1e6a0',
53
+ color: '#F4B5D0',
54
54
  mimeTypes: [
55
55
  'application/vnd.google-earth.kml+xml',
56
56
  'application/vnd.google-earth.kmz',
@@ -59,55 +59,55 @@ export const FORMATS = {
59
59
  gpkg: {
60
60
  extensions: ['gpkg', 'geopackage'],
61
61
  priority: 7,
62
- color: '#f7cce6',
62
+ color: '#7D5D9F',
63
63
  mimeTypes: ['application/geopackage+sqlite3'],
64
64
  },
65
65
  zip: {
66
66
  extensions: ['zip', 'tar.gz'],
67
67
  priority: 8,
68
- color: '#ffe7a3',
68
+ color: '#B0CB52',
69
69
  mimeTypes: ['application/zip', 'application/x-zip'],
70
70
  },
71
71
  pdf: {
72
72
  extensions: ['pdf'],
73
73
  priority: 9,
74
- color: '#f5b2a3',
74
+ color: '#49579E',
75
75
  mimeTypes: ['application/pdf'],
76
76
  },
77
77
  jpg: {
78
78
  extensions: ['jpg', 'jpeg', 'jfif', 'pjpeg', 'pjp'],
79
79
  priority: 9,
80
- color: '#d1c1e9',
80
+ color: '#C4A98F',
81
81
  mimeTypes: ['image/jpg'],
82
82
  },
83
83
  svg: {
84
84
  extensions: ['svg'],
85
85
  priority: 10,
86
- color: '#f3c1c9',
86
+ color: '#EB6D82',
87
87
  mimeTypes: ['image/svg+xml'],
88
88
  },
89
89
  dxf: {
90
90
  extensions: ['dxf'],
91
91
  priority: 11,
92
- color: '#f6ceac',
92
+ color: '#DCCD00',
93
93
  mimeTypes: ['application/x-dxf', 'image/x-dxf'],
94
94
  },
95
95
  html: {
96
96
  extensions: ['html', 'htm'],
97
97
  priority: 12,
98
- color: '#FFF2CC',
98
+ color: '#C0C9B6',
99
99
  mimeTypes: ['text/html'],
100
100
  },
101
101
  fgb: {
102
102
  extensions: ['fgb', 'flatgeobuf'],
103
103
  priority: 13,
104
- color: '#ffe7a3',
104
+ color: '#A8111C',
105
105
  mimeTypes: ['application/flatgeobuf'],
106
106
  },
107
107
  jsonfg: {
108
108
  extensions: ['jsonfg', 'jsonfgc'],
109
109
  priority: 14,
110
- color: '#ffe7a3',
110
+ color: '#009EE0',
111
111
  mimeTypes: [
112
112
  'application/vnd.ogc.fg+json',
113
113
  'application/vnd.ogc.fg+json;compatibility=geojson',
@@ -178,9 +178,11 @@ export function mimeTypeToFormat(mimeType) {
178
178
  return null;
179
179
  }
180
180
  export function checkFileFormat(link, format) {
181
- return (('name' in link && new RegExp(`[./]${format}`, 'i').test(link.name)) ||
181
+ return (('name' in link &&
182
+ new RegExp(`[./]${format}`, 'i').test(link.name.toLowerCase())) ||
182
183
  ('url' in link &&
183
- new RegExp(`[./]${format}`, 'i').test(link.url.toString())));
184
+ new RegExp(`[./]${format}`, 'i').test(link.url.toString())) ||
185
+ ('name' in link && link.name.toLowerCase().includes(format)));
184
186
  }
185
187
  export function getBadgeColor(linkFormat) {
186
188
  for (const format in FORMATS) {
@@ -206,6 +208,9 @@ export function getLinkLabel(link) {
206
208
  case 'wmts':
207
209
  format = 'WMTS';
208
210
  break;
211
+ case 'tms':
212
+ format = 'TMS';
213
+ break;
209
214
  case 'esriRest':
210
215
  format = 'REST';
211
216
  break;
@@ -215,7 +220,7 @@ export function getLinkLabel(link) {
215
220
  default:
216
221
  format = getFileFormat(link);
217
222
  }
218
- const label = link.description || link.name;
223
+ const label = link.description || ('name' in link ? link.name : '');
219
224
  return format ? `${label} (${format})` : label;
220
225
  }
221
226
  export async function getLayers(url, serviceProtocol) {
@@ -226,14 +231,21 @@ export async function getLayers(url, serviceProtocol) {
226
231
  }
227
232
  case 'wfs': {
228
233
  const endpointWfs = await new WfsEndpoint(url).isReady();
229
- return endpointWfs.getFeatureTypes();
234
+ const featureTypes = await endpointWfs.getFeatureTypes();
235
+ const layers = await Promise.all(featureTypes.map(async (collection) => {
236
+ return await endpointWfs.getFeatureTypeFull(collection.name);
237
+ }));
238
+ return layers;
230
239
  }
231
240
  case 'wms': {
232
241
  const endpointWms = await new WmsEndpoint(url).isReady();
233
- return endpointWms
242
+ const layers = (await endpointWms
234
243
  .getLayers()
235
244
  .flatMap(wmsLayerFlatten)
236
- .filter((l) => l.name);
245
+ .filter((l) => l.name)).map((collection) => {
246
+ return endpointWms.getLayerByName(collection.name);
247
+ });
248
+ return layers;
237
249
  }
238
250
  case 'wmts': {
239
251
  const endpointWmts = await new WmtsEndpoint(url).isReady();
@@ -243,7 +255,7 @@ export async function getLayers(url, serviceProtocol) {
243
255
  return undefined;
244
256
  }
245
257
  }
246
- function wmsLayerFlatten(layerFull) {
258
+ export function wmsLayerFlatten(layerFull) {
247
259
  const layer = {
248
260
  title: layerFull.title,
249
261
  name: layerFull.name,
@@ -256,4 +268,4 @@ function wmsLayerFlatten(layerFull) {
256
268
  export function getMimeTypeForFormat(format) {
257
269
  return format in FORMATS ? FORMATS[format.toLowerCase()].mimeTypes[0] : null;
258
270
  }
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUtoRSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sd0JBQXdCLENBQUE7QUFFL0IsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFFN0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztLQUMzQztJQUNELEtBQUssRUFBRTtRQUNMLFVBQVUsRUFBRTtZQUNWLE9BQU87WUFDUCxLQUFLO1lBQ0wsTUFBTTtZQUNOLFVBQVU7WUFDViwrQkFBK0I7U0FDaEM7UUFDRCxRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRTtZQUNULDBCQUEwQjtZQUMxQixtRUFBbUU7U0FDcEU7S0FDRjtJQUNELE9BQU8sRUFBRTtRQUNQLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUN2QixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLDBCQUEwQixDQUFDO0tBQ2hFO0lBQ0QsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3BCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsa0JB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QUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgRGF0YXNldE9ubGluZVJlc291cmNlLFxuICBTZXJ2aWNlUHJvdG9jb2wsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIE9nY0FwaUVuZHBvaW50LFxuICBXZnNFbmRwb2ludCxcbiAgV21zRW5kcG9pbnQsXG4gIFdtdHNFbmRwb2ludCxcbn0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcblxubWFya2VyKCdkb3dubG9hZHMud2ZzLmZlYXR1cmV0eXBlLm5vdC5mb3VuZCcpXG5cbmV4cG9ydCBjb25zdCBGT1JNQVRTID0ge1xuICBjc3Y6IHtcbiAgICBleHRlbnNpb25zOiBbJ2NzdiddLFxuICAgIHByaW9yaXR5OiAxLFxuICAgIGNvbG9yOiAnI2E2ZDZjMCcsXG4gICAgbWltZVR5cGVzOiBbJ3RleHQvY3N2JywgJ2FwcGxpY2F0aW9uL2NzdiddLFxuICB9LFxuICBleGNlbDoge1xuICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICdleGNlbCcsXG4gICAgICAneGxzJyxcbiAgICAgICd4bHN4JyxcbiAgICAgICdtcy1leGNlbCcsXG4gICAgICAnb3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQnLFxuICAgIF0sXG4gICAgcHJpb3JpdHk6IDIsXG4gICAgY29sb3I6ICcjYWNjNWU0JyxcbiAgICBtaW1lVHlwZXM6IFtcbiAgICAgICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICBdLFxuICB9LFxuICBnZW9qc29uOiB7XG4gICAgZXh0ZW5zaW9uczogWydnZW9qc29uJ10sXG4gICAgcHJpb3JpdHk6IDMsXG4gICAgY29sb3I6ICcjYjNjZGU4JyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vZ2VvK2pzb24nLCAnYXBwbGljYXRpb24vdm5kLmdlbytqc29uJ10sXG4gIH0sXG4gIGpzb246IHtcbiAgICBleHRlbnNpb25zOiBbJ2pzb24nXSxcbiAgICBwcmlvcml0eTogMyxcbiAgICBjb2xvcjogJyNiM2NkZTgnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9qc29uJ10sXG4gIH0sXG4gIHNocDoge1xuICAgIGV4dGVuc2lvbnM6IFsnc2hwJywgJ3NoYXBlJywgJ3ppcHBlZC1zaGFwZWZpbGUnXSxcbiAgICBwcmlvcml0eTogNCxcbiAgICBjb2xvcjogJyNiMmQ4YmEnLFxuICAgIG1pbWVUeXBlczogWyd4LWdpcy94LXNoYXBlZmlsZSddLFxuICB9LFxuICBnbWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2dtbCddLFxuICAgIHByaW9yaXR5OiA1LFxuICAgIGNvbG9yOiAnI2UzYjNlNScsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dtbCt4bWwnLCAndGV4dC94bWw7IHN1YnR5cGU9Z21sJ10sXG4gIH0sXG4gIGttbDoge1xuICAgIGV4dGVuc2lvbnM6IFsna21sJywgJ2tteiddLFxuICAgIHByaW9yaXR5OiA2LFxuICAgIGNvbG9yOiAnI2MxZTZhMCcsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbWwreG1sJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmtteicsXG4gICAgXSxcbiAgfSxcbiAgZ3BrZzoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ3BrZycsICdnZW9wYWNrYWdlJ10sXG4gICAgcHJpb3JpdHk6IDcsXG4gICAgY29sb3I6ICcjZjdjY2U2JyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vZ2VvcGFja2FnZStzcWxpdGUzJ10sXG4gIH0sXG4gIHppcDoge1xuICAgIGV4dGVuc2lvbnM6IFsnemlwJywgJ3Rhci5neiddLFxuICAgIHByaW9yaXR5OiA4LFxuICAgIGNvbG9yOiAnI2ZmZTdhMycsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3ppcCcsICdhcHBsaWNhdGlvbi94LXppcCddLFxuICB9LFxuICBwZGY6IHtcbiAgICBleHRlbnNpb25zOiBbJ3BkZiddLFxuICAgIHByaW9yaXR5OiA5LFxuICAgIGNvbG9yOiAnI2Y1YjJhMycsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3BkZiddLFxuICB9LFxuICBqcGc6IHtcbiAgICBleHRlbnNpb25zOiBbJ2pwZycsICdqcGVnJywgJ2pmaWYnLCAncGpwZWcnLCAncGpwJ10sXG4gICAgcHJpb3JpdHk6IDksXG4gICAgY29sb3I6ICcjZDFjMWU5JyxcbiAgICBtaW1lVHlwZXM6IFsnaW1hZ2UvanBnJ10sXG4gIH0sXG4gIHN2Zzoge1xuICAgIGV4dGVuc2lvbnM6IFsnc3ZnJ10sXG4gICAgcHJpb3JpdHk6IDEwLFxuICAgIGNvbG9yOiAnI2YzYzFjOScsXG4gICAgbWltZVR5cGVzOiBbJ2ltYWdlL3N2Zyt4bWwnXSxcbiAgfSxcbiAgZHhmOiB7XG4gICAgZXh0ZW5zaW9uczogWydkeGYnXSxcbiAgICBwcmlvcml0eTogMTEsXG4gICAgY29sb3I6ICcjZjZjZWFjJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24veC1keGYnLCAnaW1hZ2UveC1keGYnXSxcbiAgfSxcbiAgaHRtbDoge1xuICAgIGV4dGVuc2lvbnM6IFsnaHRtbCcsICdodG0nXSxcbiAgICBwcmlvcml0eTogMTIsXG4gICAgY29sb3I6ICcjRkZGMkNDJyxcbiAgICBtaW1lVHlwZXM6IFsndGV4dC9odG1sJ10sXG4gIH0sXG4gIGZnYjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZmdiJywgJ2ZsYXRnZW9idWYnXSxcbiAgICBwcmlvcml0eTogMTMsXG4gICAgY29sb3I6ICcjZmZlN2EzJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vZmxhdGdlb2J1ZiddLFxuICB9LFxuICBqc29uZmc6IHtcbiAgICBleHRlbnNpb25zOiBbJ2pzb25mZycsICdqc29uZmdjJ10sXG4gICAgcHJpb3JpdHk6IDE0LFxuICAgIGNvbG9yOiAnI2ZmZTdhMycsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9nYy5mZytqc29uJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub2djLmZnK2pzb247Y29tcGF0aWJpbGl0eT1nZW9qc29uJyxcbiAgICBdLFxuICB9LFxufSBhcyBjb25zdFxuXG5leHBvcnQgdHlwZSBGaWxlRm9ybWF0ID0ga2V5b2YgdHlwZW9mIEZPUk1BVFNcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1hdFByaW9yaXR5KGxpbmtGb3JtYXQ6IEZpbGVGb3JtYXQpOiBudW1iZXIge1xuICBmb3IgKGNvbnN0IGZvcm1hdCBpbiBGT1JNQVRTKSB7XG4gICAgZm9yIChjb25zdCBleHQgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKGAke2V4dH1gLCAnaScpLnRlc3QobGlua0Zvcm1hdCkpIHtcbiAgICAgICAgaWYgKEZPUk1BVFNbZm9ybWF0XS5wcmlvcml0eSA9PT0gMCkgcmV0dXJuIDBcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEZPUk1BVFMpLmxlbmd0aCAtIEZPUk1BVFNbZm9ybWF0XS5wcmlvcml0eVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gMFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGlua1ByaW9yaXR5KGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSk6IG51bWJlciB7XG4gIHJldHVybiBnZXRGb3JtYXRQcmlvcml0eShnZXRGaWxlRm9ybWF0KGxpbmspKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZUZvcm1hdEZyb21TZXJ2aWNlT3V0cHV0KFxuICBzZXJ2aWNlT3V0cHV0OiBzdHJpbmdcbik6IEZpbGVGb3JtYXQgfCBudWxsIHtcbiAgZnVuY3Rpb24gZm9ybWF0TWF0Y2hlcihmb3JtYXQ6ICh0eXBlb2YgRk9STUFUUylbRmlsZUZvcm1hdF0pOiBib29sZWFuIHtcbiAgICBjb25zdCBvdXRwdXQgPSBzZXJ2aWNlT3V0cHV0LnRvTG93ZXJDYXNlKClcbiAgICByZXR1cm4gKFxuICAgICAgZm9ybWF0LmV4dGVuc2lvbnMuc29tZSgoZXh0ZW5zaW9uOiBzdHJpbmcpID0+XG4gICAgICAgIG91dHB1dC5pbmNsdWRlcyhleHRlbnNpb24pXG4gICAgICApIHx8XG4gICAgICBmb3JtYXQubWltZVR5cGVzLnNvbWUoKG1pbWVUeXBlOiBzdHJpbmcpID0+IG91dHB1dC5pbmNsdWRlcyhtaW1lVHlwZSkpXG4gICAgKVxuICB9XG4gIGZvciAoY29uc3QgZm9ybWF0TmFtZSBpbiBGT1JNQVRTKSB7XG4gICAgaWYgKGZvcm1hdE1hdGNoZXIoRk9STUFUU1tmb3JtYXROYW1lXSkpIHtcbiAgICAgIHJldHVybiBmb3JtYXROYW1lIGFzIEZpbGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVGb3JtYXQobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKTogRmlsZUZvcm1hdCB7XG4gIGlmICgnbWltZVR5cGUnIGluIGxpbmspIHtcbiAgICBjb25zdCBtaW1lVHlwZUZvcm1hdCA9IG1pbWVUeXBlVG9Gb3JtYXQobGluay5taW1lVHlwZSlcbiAgICBpZiAobWltZVR5cGVGb3JtYXQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBtaW1lVHlwZUZvcm1hdFxuICAgIH1cbiAgfVxuICBmb3IgKGNvbnN0IGZvcm1hdCBpbiBGT1JNQVRTKSB7XG4gICAgZm9yIChjb25zdCBhbGlhcyBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKGNoZWNrRmlsZUZvcm1hdChsaW5rLCBhbGlhcykpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgICAgaWYgKGlzRm9ybWF0SW5RdWVyeVBhcmFtKGxpbmssIGFsaWFzKSkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Zvcm1hdEluUXVlcnlQYXJhbShcbiAgbGluazogRGF0YXNldE9ubGluZVJlc291cmNlLFxuICBhbGlhczogc3RyaW5nXG4pOiBib29sZWFuIHtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBsaW5rLnVybC5zZWFyY2hQYXJhbXNcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcXVlcnlQYXJhbXMuZW50cmllcygpKSB7XG4gICAgaWYgKGtleSA9PT0gJ2Zvcm1hdCcgfHwga2V5ID09PSAnZicpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gYWxpYXNcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlOiBzdHJpbmcpOiBGaWxlRm9ybWF0IHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgbXQgb2YgRk9STUFUU1tmb3JtYXRdLm1pbWVUeXBlcykge1xuICAgICAgaWYgKG1pbWVUeXBlID09PSBtdCkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZpbGVGb3JtYXQoXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSxcbiAgZm9ybWF0OiBGaWxlRm9ybWF0XG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICAoJ25hbWUnIGluIGxpbmsgJiYgbmV3IFJlZ0V4cChgWy4vXSR7Zm9ybWF0fWAsICdpJykudGVzdChsaW5rLm5hbWUpKSB8fFxuICAgICgndXJsJyBpbiBsaW5rICYmXG4gICAgICBuZXcgUmVnRXhwKGBbLi9dJHtmb3JtYXR9YCwgJ2knKS50ZXN0KGxpbmsudXJsLnRvU3RyaW5nKCkpKVxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYWRnZUNvbG9yKGxpbmtGb3JtYXQ6IEZpbGVGb3JtYXQpOiBzdHJpbmcge1xuICBmb3IgKGNvbnN0IGZvcm1hdCBpbiBGT1JNQVRTKSB7XG4gICAgZm9yIChjb25zdCBhbGlhcyBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7YWxpYXN9YCwgJ2knKS50ZXN0KGxpbmtGb3JtYXQpKVxuICAgICAgICByZXR1cm4gRk9STUFUU1tmb3JtYXRdLmNvbG9yXG4gICAgfVxuICB9XG4gIHJldHVybiAndmFyKC0tY29sb3ItZ3JheS03MDApJyAvLyBEZWZhdWx0IGNvbG9yID9cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpbmtMYWJlbChsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBzdHJpbmcge1xuICBsZXQgZm9ybWF0ID0gJydcbiAgc3dpdGNoIChsaW5rLnR5cGUpIHtcbiAgICBjYXNlICdzZXJ2aWNlJzpcbiAgICAgIHtcbiAgICAgICAgc3dpdGNoIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCkge1xuICAgICAgICAgIGNhc2UgJ3dmcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnV0ZTJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICd3bXMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dNUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnd210cyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnV01UUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnZXNyaVJlc3QnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1JFU1QnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBicmVha1xuICAgIGRlZmF1bHQ6XG4gICAgICBmb3JtYXQgPSBnZXRGaWxlRm9ybWF0KGxpbmspXG4gIH1cbiAgY29uc3QgbGFiZWwgPSBsaW5rLmRlc2NyaXB0aW9uIHx8IGxpbmsubmFtZVxuICByZXR1cm4gZm9ybWF0ID8gYCR7bGFiZWx9ICgke2Zvcm1hdH0pYCA6IGxhYmVsXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMYXllcnModXJsOiBzdHJpbmcsIHNlcnZpY2VQcm90b2NvbDogU2VydmljZVByb3RvY29sKSB7XG4gIHN3aXRjaCAoc2VydmljZVByb3RvY29sKSB7XG4gICAgY2FzZSAnb2djRmVhdHVyZXMnOiB7XG4gICAgICBjb25zdCBsYXllcnMgPSBhd2FpdCBuZXcgT2djQXBpRW5kcG9pbnQodXJsKS5hbGxDb2xsZWN0aW9uc1xuICAgICAgcmV0dXJuIGxheWVyc1xuICAgIH1cbiAgICBjYXNlICd3ZnMnOiB7XG4gICAgICBjb25zdCBlbmRwb2ludFdmcyA9IGF3YWl0IG5ldyBXZnNFbmRwb2ludCh1cmwpLmlzUmVhZHkoKVxuICAgICAgcmV0dXJuIGVuZHBvaW50V2ZzLmdldEZlYXR1cmVUeXBlcygpXG4gICAgfVxuICAgIGNhc2UgJ3dtcyc6IHtcbiAgICAgIGNvbnN0IGVuZHBvaW50V21zID0gYXdhaXQgbmV3IFdtc0VuZHBvaW50KHVybCkuaXNSZWFkeSgpXG4gICAgICByZXR1cm4gZW5kcG9pbnRXbXNcbiAgICAgICAgLmdldExheWVycygpXG4gICAgICAgIC5mbGF0TWFwKHdtc0xheWVyRmxhdHRlbilcbiAgICAgICAgLmZpbHRlcigobCkgPT4gbC5uYW1lKVxuICAgIH1cbiAgICBjYXNlICd3bXRzJzoge1xuICAgICAgY29uc3QgZW5kcG9pbnRXbXRzID0gYXdhaXQgbmV3IFdtdHNFbmRwb2ludCh1cmwpLmlzUmVhZHkoKVxuICAgICAgcmV0dXJuIGVuZHBvaW50V210cy5nZXRMYXllcnMoKVxuICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbmZ1bmN0aW9uIHdtc0xheWVyRmxhdHRlbihsYXllckZ1bGwpIHtcbiAgY29uc3QgbGF5ZXIgPSB7XG4gICAgdGl0bGU6IGxheWVyRnVsbC50aXRsZSxcbiAgICBuYW1lOiBsYXllckZ1bGwubmFtZSxcbiAgICBhYnN0cmFjdDogbGF5ZXJGdWxsLmFic3RyYWN0LFxuICB9XG5cbiAgcmV0dXJuICdjaGlsZHJlbicgaW4gbGF5ZXJGdWxsICYmIEFycmF5LmlzQXJyYXkobGF5ZXJGdWxsLmNoaWxkcmVuKVxuICAgID8gW2xheWVyLCAuLi5sYXllckZ1bGwuY2hpbGRyZW4uZmxhdE1hcCh3bXNMYXllckZsYXR0ZW4pXVxuICAgIDogW2xheWVyXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWltZVR5cGVGb3JGb3JtYXQoZm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBmb3JtYXQgaW4gRk9STUFUUyA/IEZPUk1BVFNbZm9ybWF0LnRvTG93ZXJDYXNlKCldLm1pbWVUeXBlc1swXSA6IG51bGxcbn1cbiJdfQ==
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQU1oRSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sd0JBQXdCLENBQUE7QUFFL0IsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFFN0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztLQUMzQztJQUNELEtBQUssRUFBRTtRQUNMLFVBQVUsRUFBRTtZQUNWLE9BQU87WUFDUCxLQUFLO1lBQ0wsTUFBTTtZQUNOLFVBQVU7WUFDViwrQkFBK0I7U0FDaEM7UUFDRCxRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRTtZQUNULDBCQUEwQjtZQUMxQixtRUFBbUU7U0FDcEU7S0FDRjtJQUNELE9BQU8sRUFBRTtRQUNQLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUN2QixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLDBCQUEwQixDQUFDO0tBQ2hFO0lBQ0QsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3BCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsa0JB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WSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQzFELE9BQU8sWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ2pDLENBQUM7UUFDRDtZQUNFLE9BQU8sU0FBUyxDQUFBO0lBQ3BCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUFTO0lBQ3ZDLE1BQU0sS0FBSyxHQUFHO1FBQ1osS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1FBQ3RCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNwQixRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVE7S0FDN0IsQ0FBQTtJQUVELE9BQU8sVUFBVSxJQUFJLFNBQVMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQWtCO0lBQ3JELE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQzlFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBEYXRhc2V0T25saW5lUmVzb3VyY2UsXG4gIFNlcnZpY2VPbmxpbmVSZXNvdXJjZSxcbiAgU2VydmljZVByb3RvY29sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBPZ2NBcGlFbmRwb2ludCxcbiAgV2ZzRW5kcG9pbnQsXG4gIFdtc0VuZHBvaW50LFxuICBXbXRzRW5kcG9pbnQsXG59IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5cbm1hcmtlcignZG93bmxvYWRzLndmcy5mZWF0dXJldHlwZS5ub3QuZm91bmQnKVxuXG5leHBvcnQgY29uc3QgRk9STUFUUyA9IHtcbiAgY3N2OiB7XG4gICAgZXh0ZW5zaW9uczogWydjc3YnXSxcbiAgICBwcmlvcml0eTogMSxcbiAgICBjb2xvcjogJyNGNkE5MjQnLFxuICAgIG1pbWVUeXBlczogWyd0ZXh0L2NzdicsICdhcHBsaWNhdGlvbi9jc3YnXSxcbiAgfSxcbiAgZXhjZWw6IHtcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAnZXhjZWwnLFxuICAgICAgJ3hscycsXG4gICAgICAneGxzeCcsXG4gICAgICAnbXMtZXhjZWwnLFxuICAgICAgJ29wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50JyxcbiAgICBdLFxuICAgIHByaW9yaXR5OiAyLFxuICAgIGNvbG9yOiAnI0ZGREUxMCcsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgXSxcbiAgfSxcbiAgZ2VvanNvbjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ2VvanNvbiddLFxuICAgIHByaW9yaXR5OiAzLFxuICAgIGNvbG9yOiAnIzI5M0M2RicsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlbytqc29uJywgJ2FwcGxpY2F0aW9uL3ZuZC5nZW8ranNvbiddLFxuICB9LFxuICBqc29uOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uJ10sXG4gICAgcHJpb3JpdHk6IDMsXG4gICAgY29sb3I6ICcjODREMEYwJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICB9LFxuICBzaHA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3NocCcsICdzaGFwZScsICd6aXBwZWQtc2hhcGVmaWxlJ10sXG4gICAgcHJpb3JpdHk6IDQsXG4gICAgY29sb3I6ICcjMDA5MDM2JyxcbiAgICBtaW1lVHlwZXM6IFsneC1naXMveC1zaGFwZWZpbGUnXSxcbiAgfSxcbiAgZ21sOiB7XG4gICAgZXh0ZW5zaW9uczogWydnbWwnXSxcbiAgICBwcmlvcml0eTogNSxcbiAgICBjb2xvcjogJyNFNzUxMTMnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nbWwreG1sJywgJ3RleHQveG1sOyBzdWJ0eXBlPWdtbCddLFxuICB9LFxuICBrbWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2ttbCcsICdrbXonXSxcbiAgICBwcmlvcml0eTogNixcbiAgICBjb2xvcjogJyNGNEI1RDAnLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbCcsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbXonLFxuICAgIF0sXG4gIH0sXG4gIGdwa2c6IHtcbiAgICBleHRlbnNpb25zOiBbJ2dwa2cnLCAnZ2VvcGFja2FnZSddLFxuICAgIHByaW9yaXR5OiA3LFxuICAgIGNvbG9yOiAnIzdENUQ5RicsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlb3BhY2thZ2Urc3FsaXRlMyddLFxuICB9LFxuICB6aXA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3ppcCcsICd0YXIuZ3onXSxcbiAgICBwcmlvcml0eTogOCxcbiAgICBjb2xvcjogJyNCMENCNTInLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi96aXAnLCAnYXBwbGljYXRpb24veC16aXAnXSxcbiAgfSxcbiAgcGRmOiB7XG4gICAgZXh0ZW5zaW9uczogWydwZGYnXSxcbiAgICBwcmlvcml0eTogOSxcbiAgICBjb2xvcjogJyM0OTU3OUUnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9wZGYnXSxcbiAgfSxcbiAganBnOiB7XG4gICAgZXh0ZW5zaW9uczogWydqcGcnLCAnanBlZycsICdqZmlmJywgJ3BqcGVnJywgJ3BqcCddLFxuICAgIHByaW9yaXR5OiA5LFxuICAgIGNvbG9yOiAnI0M0QTk4RicsXG4gICAgbWltZVR5cGVzOiBbJ2ltYWdlL2pwZyddLFxuICB9LFxuICBzdmc6IHtcbiAgICBleHRlbnNpb25zOiBbJ3N2ZyddLFxuICAgIHByaW9yaXR5OiAxMCxcbiAgICBjb2xvcjogJyNFQjZEODInLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9zdmcreG1sJ10sXG4gIH0sXG4gIGR4Zjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZHhmJ10sXG4gICAgcHJpb3JpdHk6IDExLFxuICAgIGNvbG9yOiAnI0RDQ0QwMCcsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3gtZHhmJywgJ2ltYWdlL3gtZHhmJ10sXG4gIH0sXG4gIGh0bWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2h0bWwnLCAnaHRtJ10sXG4gICAgcHJpb3JpdHk6IDEyLFxuICAgIGNvbG9yOiAnI0MwQzlCNicsXG4gICAgbWltZVR5cGVzOiBbJ3RleHQvaHRtbCddLFxuICB9LFxuICBmZ2I6IHtcbiAgICBleHRlbnNpb25zOiBbJ2ZnYicsICdmbGF0Z2VvYnVmJ10sXG4gICAgcHJpb3JpdHk6IDEzLFxuICAgIGNvbG9yOiAnI0E4MTExQycsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2ZsYXRnZW9idWYnXSxcbiAgfSxcbiAganNvbmZnOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uZmcnLCAnanNvbmZnYyddLFxuICAgIHByaW9yaXR5OiAxNCxcbiAgICBjb2xvcjogJyMwMDlFRTAnLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vZ2MuZmcranNvbicsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9nYy5mZytqc29uO2NvbXBhdGliaWxpdHk9Z2VvanNvbicsXG4gICAgXSxcbiAgfSxcbn0gYXMgY29uc3RcblxuZXhwb3J0IHR5cGUgRmlsZUZvcm1hdCA9IGtleW9mIHR5cGVvZiBGT1JNQVRTXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtYXRQcmlvcml0eShsaW5rRm9ybWF0OiBGaWxlRm9ybWF0KTogbnVtYmVyIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgZXh0IG9mIEZPUk1BVFNbZm9ybWF0XS5leHRlbnNpb25zKSB7XG4gICAgICBpZiAobmV3IFJlZ0V4cChgJHtleHR9YCwgJ2knKS50ZXN0KGxpbmtGb3JtYXQpKSB7XG4gICAgICAgIGlmIChGT1JNQVRTW2Zvcm1hdF0ucHJpb3JpdHkgPT09IDApIHJldHVybiAwXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhGT1JNQVRTKS5sZW5ndGggLSBGT1JNQVRTW2Zvcm1hdF0ucHJpb3JpdHlcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIDBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpbmtQcmlvcml0eShcbiAgbGluazogRGF0YXNldE9ubGluZVJlc291cmNlIHwgU2VydmljZU9ubGluZVJlc291cmNlXG4pOiBudW1iZXIge1xuICByZXR1cm4gZ2V0Rm9ybWF0UHJpb3JpdHkoZ2V0RmlsZUZvcm1hdChsaW5rKSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVGb3JtYXRGcm9tU2VydmljZU91dHB1dChcbiAgc2VydmljZU91dHB1dDogc3RyaW5nXG4pOiBGaWxlRm9ybWF0IHwgbnVsbCB7XG4gIGZ1bmN0aW9uIGZvcm1hdE1hdGNoZXIoZm9ybWF0OiAodHlwZW9mIEZPUk1BVFMpW0ZpbGVGb3JtYXRdKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gc2VydmljZU91dHB1dC50b0xvd2VyQ2FzZSgpXG4gICAgcmV0dXJuIChcbiAgICAgIGZvcm1hdC5leHRlbnNpb25zLnNvbWUoKGV4dGVuc2lvbjogc3RyaW5nKSA9PlxuICAgICAgICBvdXRwdXQuaW5jbHVkZXMoZXh0ZW5zaW9uKVxuICAgICAgKSB8fFxuICAgICAgZm9ybWF0Lm1pbWVUeXBlcy5zb21lKChtaW1lVHlwZTogc3RyaW5nKSA9PiBvdXRwdXQuaW5jbHVkZXMobWltZVR5cGUpKVxuICAgIClcbiAgfVxuICBmb3IgKGNvbnN0IGZvcm1hdE5hbWUgaW4gRk9STUFUUykge1xuICAgIGlmIChmb3JtYXRNYXRjaGVyKEZPUk1BVFNbZm9ybWF0TmFtZV0pKSB7XG4gICAgICByZXR1cm4gZm9ybWF0TmFtZSBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlRm9ybWF0KFxuICBsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UgfCBTZXJ2aWNlT25saW5lUmVzb3VyY2Vcbik6IEZpbGVGb3JtYXQge1xuICBpZiAoJ21pbWVUeXBlJyBpbiBsaW5rKSB7XG4gICAgY29uc3QgbWltZVR5cGVGb3JtYXQgPSBtaW1lVHlwZVRvRm9ybWF0KGxpbmsubWltZVR5cGUpXG4gICAgaWYgKG1pbWVUeXBlRm9ybWF0ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbWltZVR5cGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChjaGVja0ZpbGVGb3JtYXQobGluaywgYWxpYXMpKSByZXR1cm4gZm9ybWF0IGFzIEZpbGVGb3JtYXRcbiAgICAgIGlmIChpc0Zvcm1hdEluUXVlcnlQYXJhbShsaW5rLCBhbGlhcykpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtYXRJblF1ZXJ5UGFyYW0oXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZSxcbiAgYWxpYXM6IHN0cmluZ1xuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbGluay51cmwuc2VhcmNoUGFyYW1zXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHF1ZXJ5UGFyYW1zLmVudHJpZXMoKSkge1xuICAgIGlmIChrZXkgPT09ICdmb3JtYXQnIHx8IGtleSA9PT0gJ2YnKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IGFsaWFzXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWltZVR5cGVUb0Zvcm1hdChtaW1lVHlwZTogc3RyaW5nKTogRmlsZUZvcm1hdCB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IG10IG9mIEZPUk1BVFNbZm9ybWF0XS5taW1lVHlwZXMpIHtcbiAgICAgIGlmIChtaW1lVHlwZSA9PT0gbXQpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tGaWxlRm9ybWF0KFxuICBsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UgfCBTZXJ2aWNlT25saW5lUmVzb3VyY2UsXG4gIGZvcm1hdDogRmlsZUZvcm1hdFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgKCduYW1lJyBpbiBsaW5rICYmXG4gICAgICBuZXcgUmVnRXhwKGBbLi9dJHtmb3JtYXR9YCwgJ2knKS50ZXN0KGxpbmsubmFtZS50b0xvd2VyQ2FzZSgpKSkgfHxcbiAgICAoJ3VybCcgaW4gbGluayAmJlxuICAgICAgbmV3IFJlZ0V4cChgWy4vXSR7Zm9ybWF0fWAsICdpJykudGVzdChsaW5rLnVybC50b1N0cmluZygpKSkgfHxcbiAgICAoJ25hbWUnIGluIGxpbmsgJiYgbGluay5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZm9ybWF0KSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFkZ2VDb2xvcihsaW5rRm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKGAke2FsaWFzfWAsICdpJykudGVzdChsaW5rRm9ybWF0KSlcbiAgICAgICAgcmV0dXJuIEZPUk1BVFNbZm9ybWF0XS5jb2xvclxuICAgIH1cbiAgfVxuICByZXR1cm4gJ3ZhcigtLWNvbG9yLWdyYXktNzAwKScgLy8gRGVmYXVsdCBjb2xvciA/XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rTGFiZWwoXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZVxuKTogc3RyaW5nIHtcbiAgbGV0IGZvcm1hdCA9ICcnXG4gIHN3aXRjaCAobGluay50eXBlKSB7XG4gICAgY2FzZSAnc2VydmljZSc6XG4gICAgICB7XG4gICAgICAgIHN3aXRjaCAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wpIHtcbiAgICAgICAgICBjYXNlICd3ZnMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dGUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnd21zJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXTVMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3dtdHMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dNVFMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3Rtcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnVE1TJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICdlc3JpUmVzdCc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnUkVTVCdcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgZGVmYXVsdDpcbiAgICAgIGZvcm1hdCA9IGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuICBjb25zdCBsYWJlbCA9IGxpbmsuZGVzY3JpcHRpb24gfHwgKCduYW1lJyBpbiBsaW5rID8gbGluay5uYW1lIDogJycpXG4gIHJldHVybiBmb3JtYXQgPyBgJHtsYWJlbH0gKCR7Zm9ybWF0fSlgIDogbGFiZWxcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldExheWVycyh1cmw6IHN0cmluZywgc2VydmljZVByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2wpIHtcbiAgc3dpdGNoIChzZXJ2aWNlUHJvdG9jb2wpIHtcbiAgICBjYXNlICdvZ2NGZWF0dXJlcyc6IHtcbiAgICAgIGNvbnN0IGxheWVycyA9IGF3YWl0IG5ldyBPZ2NBcGlFbmRwb2ludCh1cmwpLmFsbENvbGxlY3Rpb25zXG4gICAgICByZXR1cm4gbGF5ZXJzXG4gICAgfVxuICAgIGNhc2UgJ3dmcyc6IHtcbiAgICAgIGNvbnN0IGVuZHBvaW50V2ZzID0gYXdhaXQgbmV3IFdmc0VuZHBvaW50KHVybCkuaXNSZWFkeSgpXG4gICAgICBjb25zdCBmZWF0dXJlVHlwZXMgPSBhd2FpdCBlbmRwb2ludFdmcy5nZXRGZWF0dXJlVHlwZXMoKVxuICAgICAgY29uc3QgbGF5ZXJzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIGZlYXR1cmVUeXBlcy5tYXAoYXN5bmMgKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZW5kcG9pbnRXZnMuZ2V0RmVhdHVyZVR5cGVGdWxsKGNvbGxlY3Rpb24ubmFtZSlcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIHJldHVybiBsYXllcnNcbiAgICB9XG4gICAgY2FzZSAnd21zJzoge1xuICAgICAgY29uc3QgZW5kcG9pbnRXbXMgPSBhd2FpdCBuZXcgV21zRW5kcG9pbnQodXJsKS5pc1JlYWR5KClcbiAgICAgIGNvbnN0IGxheWVycyA9IChcbiAgICAgICAgYXdhaXQgZW5kcG9pbnRXbXNcbiAgICAgICAgICAuZ2V0TGF5ZXJzKClcbiAgICAgICAgICAuZmxhdE1hcCh3bXNMYXllckZsYXR0ZW4pXG4gICAgICAgICAgLmZpbHRlcigobCkgPT4gbC5uYW1lKVxuICAgICAgKS5tYXAoKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIGVuZHBvaW50V21zLmdldExheWVyQnlOYW1lKGNvbGxlY3Rpb24ubmFtZSlcbiAgICAgIH0pXG4gICAgICByZXR1cm4gbGF5ZXJzXG4gICAgfVxuICAgIGNhc2UgJ3dtdHMnOiB7XG4gICAgICBjb25zdCBlbmRwb2ludFdtdHMgPSBhd2FpdCBuZXcgV210c0VuZHBvaW50KHVybCkuaXNSZWFkeSgpXG4gICAgICByZXR1cm4gZW5kcG9pbnRXbXRzLmdldExheWVycygpXG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdtc0xheWVyRmxhdHRlbihsYXllckZ1bGwpIHtcbiAgY29uc3QgbGF5ZXIgPSB7XG4gICAgdGl0bGU6IGxheWVyRnVsbC50aXRsZSxcbiAgICBuYW1lOiBsYXllckZ1bGwubmFtZSxcbiAgICBhYnN0cmFjdDogbGF5ZXJGdWxsLmFic3RyYWN0LFxuICB9XG5cbiAgcmV0dXJuICdjaGlsZHJlbicgaW4gbGF5ZXJGdWxsICYmIEFycmF5LmlzQXJyYXkobGF5ZXJGdWxsLmNoaWxkcmVuKVxuICAgID8gW2xheWVyLCAuLi5sYXllckZ1bGwuY2hpbGRyZW4uZmxhdE1hcCh3bXNMYXllckZsYXR0ZW4pXVxuICAgIDogW2xheWVyXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWltZVR5cGVGb3JGb3JtYXQoZm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBmb3JtYXQgaW4gRk9STUFUUyA/IEZPUk1BVFNbZm9ybWF0LnRvTG93ZXJDYXNlKCldLm1pbWVUeXBlc1swXSA6IG51bGxcbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "": "",
3
3
  "Add Layer As": "",
4
+ "Enter to search": "",
4
5
  "button.login": "",
5
6
  "catalog.figures.datasets": "{count, plural, =0{Datensätze} one{Datensatz} other{Datensätze}}",
6
7
  "catalog.figures.organizations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
@@ -29,6 +30,7 @@
29
30
  "dashboard.labels.mySpace": "Mein Bereich",
30
31
  "dashboard.records.all": "Metadatenkatalog",
31
32
  "dashboard.records.hasDraft": "",
33
+ "dashboard.records.isMultilingual": "Dieser Eintrag ist mehrsprachig ({languages})",
32
34
  "dashboard.records.myDraft": "Meine Entwürfe",
33
35
  "dashboard.records.myRecords": "Meine Datensätze",
34
36
  "dashboard.records.search": "Suche nach \"{searchText}\"",
@@ -50,7 +52,7 @@
50
52
  "datafeeder.month.september": "September",
51
53
  "datafeeder.wizardSummarize.createdAt": "Erstellt am",
52
54
  "datafeeder.wizardSummarize.scale": "Maßstab",
53
- "datahub.header.datasets": "Datensätze",
55
+ "datahub.header.datasets": "Katalog",
54
56
  "datahub.header.lastRecords": "Die neuesten",
55
57
  "datahub.header.myfavorites": "Meine Favoriten",
56
58
  "datahub.header.news": "Startseite",
@@ -62,7 +64,6 @@
62
64
  "datahub.news.contact.title": "Ein spezielles Bedürfnis?",
63
65
  "datahub.news.feed": "Nachrichtenfeed",
64
66
  "datahub.news.figures": "Indikatoren",
65
- "datahub.record.addToFavorites": "Zu Favoriten hinzufügen",
66
67
  "datahub.search.back": "Zurück",
67
68
  "datahub.search.filter.all": "Alle",
68
69
  "datahub.search.filter.generatedByAPI": "Generiert durch eine API",
@@ -72,6 +73,7 @@
72
73
  "dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
73
74
  "dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
74
75
  "dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht gelesen werden: \"{ info }\"",
76
+ "dataset.error.restrictedAccess": "",
75
77
  "dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
76
78
  "dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
77
79
  "domain.contact.role.author": "",
@@ -203,6 +205,13 @@
203
205
  "editor.record.form.license.odc-by": "",
204
206
  "editor.record.form.license.pddl": "",
205
207
  "editor.record.form.license.unknown": "",
208
+ "editor.record.form.multilingual.activate": "",
209
+ "editor.record.form.multilingual.default": "",
210
+ "editor.record.form.multilingual.enable": "",
211
+ "editor.record.form.multilingual.forbidden": "",
212
+ "editor.record.form.multilingual.open": "",
213
+ "editor.record.form.multilingual.title": "",
214
+ "editor.record.form.multilingual.validate": "",
206
215
  "editor.record.form.page.accessAndContact": "",
207
216
  "editor.record.form.page.description": "",
208
217
  "editor.record.form.page.resources": "",
@@ -232,7 +241,13 @@
232
241
  "editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
233
242
  "editor.record.loadError.closeMessage": "Verstanden",
234
243
  "editor.record.loadError.title": "Fehler beim Laden des Datensatzes",
235
- "editor.record.lock.reason": "",
244
+ "editor.record.lock.harvested": "",
245
+ "editor.record.lock.owner": "",
246
+ "editor.record.lock.resourceType": "",
247
+ "editor.record.multilingual.confirmation.cancelText": "",
248
+ "editor.record.multilingual.confirmation.confirmText": "",
249
+ "editor.record.multilingual.confirmation.message": "",
250
+ "editor.record.multilingual.confirmation.title": "",
236
251
  "editor.record.onlineResource.protocol.other": "",
237
252
  "editor.record.onlineResourceError.body": "",
238
253
  "editor.record.onlineResourceError.closeMessage": "",
@@ -279,6 +294,11 @@
279
294
  "facets.block.title.tag.default": "Stichwort",
280
295
  "facets.block.title.th_regions_tree.default": "Regionen",
281
296
  "favorite.not.authenticated.tooltip": "<div><a href=' {link} '>Anmelden</a>, um auf diese Funktion zuzugreifen</div>",
297
+ "feature.catalog.attribute.code": "Code",
298
+ "feature.catalog.attribute.definition": "Beschreibung",
299
+ "feature.catalog.attribute.name": "Name",
300
+ "feature.catalog.attribute.type": "Typ",
301
+ "feature.catalog.attribute.values": "Werte",
282
302
  "input.file.dropFileLabel": "",
283
303
  "input.file.orInputUrl": "",
284
304
  "input.file.selectFileLabel": "",
@@ -291,23 +311,34 @@
291
311
  "input.image.dropFileLabel": "",
292
312
  "input.image.selectFileLabel": "",
293
313
  "input.image.uploadErrorLabel": "",
294
- "input.image.uploadErrorRetry": "",
295
314
  "input.image.uploadProgressCancel": "",
296
315
  "input.image.uploadProgressLabel": "",
316
+ "language.ar": "",
317
+ "language.az": "",
297
318
  "language.ca": "Katalanisch",
298
319
  "language.cs": "Tschechisch",
320
+ "language.cy": "",
321
+ "language.da": "",
299
322
  "language.de": "Deutsch",
300
323
  "language.en": "Englisch",
301
324
  "language.es": "Spanisch",
302
325
  "language.fi": "Finnisch",
303
326
  "language.fr": "Französisch",
327
+ "language.hy": "",
304
328
  "language.is": "Isländisch",
305
329
  "language.it": "Italienisch",
330
+ "language.ka": "",
306
331
  "language.ko": "Koreanisch",
307
332
  "language.nl": "Niederländisch",
333
+ "language.no": "",
334
+ "language.pl": "",
308
335
  "language.pt": "Portugiesisch",
336
+ "language.rm": "",
309
337
  "language.ru": "Russisch",
310
338
  "language.sk": "Slowakisch",
339
+ "language.sv": "",
340
+ "language.tr": "",
341
+ "language.uk": "",
311
342
  "language.zh": "Chinesisch",
312
343
  "map.add.layer": "Eine Ebene hinzufügen",
313
344
  "map.add.layer.catalog": "Aus dem Katalog",
@@ -331,6 +362,7 @@
331
362
  "map.wms.urlInput.hint": "Geben Sie die WMS URL ein",
332
363
  "multiselect.filter.placeholder": "Suche",
333
364
  "nav.back": "Zurück",
365
+ "navbar.mobile.menuTitle": "Schnellzugriff",
334
366
  "next": "weiter",
335
367
  "ogc.unreachable.unknown": "Der Dienst konnte nicht erreicht werden",
336
368
  "organisation.filter.placeholder": "Ergebnisse filtern",
@@ -353,9 +385,16 @@
353
385
  "record.action.duplicate": "",
354
386
  "record.action.duplicating": "",
355
387
  "record.action.rollback": "",
388
+ "record.action.switchLang": "",
356
389
  "record.action.view": "Anzeigen",
390
+ "record.card.metadata.contact": "",
357
391
  "record.externalViewer.open": "In externem Kartenviewer öffnen",
392
+ "record.feature.catalog.number.total.attribute": "",
393
+ "record.feature.catalog.number.total.object": "",
358
394
  "record.feature.limit": "Die Vorschau wurde aufgrund zu vieler Elemente deaktiviert",
395
+ "record.kind.dataset": "",
396
+ "record.kind.reuse": "",
397
+ "record.kind.service": "",
359
398
  "record.metadata.about": "Beschreibung",
360
399
  "record.metadata.api": "API",
361
400
  "record.metadata.api.form.closeButton": "Schließen",
@@ -389,15 +428,23 @@
389
428
  "record.metadata.api.form.zoneTitle": "",
390
429
  "record.metadata.api.form.zoneTooltip": "",
391
430
  "record.metadata.api.gpfdl": "",
431
+ "record.metadata.capabilities": "",
392
432
  "record.metadata.catalog": "Katalog",
393
433
  "record.metadata.contact": "Kontakt",
394
434
  "record.metadata.creation": "Erstellungsdatum",
395
435
  "record.metadata.details": "Über die Daten",
396
436
  "record.metadata.download": "Downloads",
437
+ "record.metadata.feature.catalog": "",
397
438
  "record.metadata.formats": "Formate",
439
+ "record.metadata.isGeographical": "Geographischer Datensatz",
398
440
  "record.metadata.keywords": "Stichworte",
399
441
  "record.metadata.languages": "Sprachen",
400
442
  "record.metadata.lastUpdate": "Zuletzt aktualisiert am {date}",
443
+ "record.metadata.linked.datasets": "Verknüpfte Datensätze",
444
+ "record.metadata.linked.records": "Verknüpfte Inhalte",
445
+ "record.metadata.linked.reuses": "Verknüpfte Wiederverwendungen",
446
+ "record.metadata.linked.services": "Verknüpfte Dienste",
447
+ "record.metadata.linked.sourceDatasets": "Quelldatensätze",
401
448
  "record.metadata.links": "Links",
402
449
  "record.metadata.noUsage": "Für diesen Datensatz sind keine Nutzungsbedingungen angegeben.",
403
450
  "record.metadata.otherConstraints": "Zusätzliche Bedingungen",
@@ -407,6 +454,8 @@
407
454
  "record.metadata.publication": "Veröffentlichungsdatum",
408
455
  "record.metadata.publications": "{count, plural, =0{Veröffentlichungsdatum} one{Veröffentlichungsdatum} other{Veröffentlichungen}}",
409
456
  "record.metadata.quality": "Metadatenqualität",
457
+ "record.metadata.quality.capabilities.failed": "",
458
+ "record.metadata.quality.capabilities.success": "",
410
459
  "record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
411
460
  "record.metadata.quality.contact.success": "Kontakt angegeben",
412
461
  "record.metadata.quality.description.failed": "Beschreibung nicht angegeben",
@@ -418,25 +467,26 @@
418
467
  "record.metadata.quality.legalConstraints.success": "Rechtliche Beschränkungen angegeben",
419
468
  "record.metadata.quality.organisation.failed": "Organisation nicht angegeben",
420
469
  "record.metadata.quality.organisation.success": "Organisation angegeben",
470
+ "record.metadata.quality.source.failed": "",
471
+ "record.metadata.quality.source.success": "",
421
472
  "record.metadata.quality.title.failed": "Titel nicht angegeben",
422
473
  "record.metadata.quality.title.success": "Titel angegeben",
423
474
  "record.metadata.quality.topic.failed": "Thema nicht angegeben",
424
475
  "record.metadata.quality.topic.success": "Thema angegeben",
425
476
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
426
477
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
427
- "record.metadata.related": "Ähnliche Datensätze",
478
+ "record.metadata.related": "Entdecken Sie den Katalog",
479
+ "record.metadata.ressources.and.links": "Ressourcen und Links",
428
480
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
429
481
  "record.metadata.status": "Status",
430
482
  "record.metadata.status.notPublished": "",
431
483
  "record.metadata.status.published": "",
432
- "record.metadata.technical": "Technische Informationen",
433
484
  "record.metadata.temporalExtent": "Zeitlicher Umfang",
434
485
  "record.metadata.temporalExtent.fromDateToDate": "Von {start} bis {end}",
435
486
  "record.metadata.temporalExtent.sinceDate": "Seit {start}",
436
487
  "record.metadata.temporalExtent.untilDate": "Bis {end}",
437
488
  "record.metadata.title": "Titel",
438
489
  "record.metadata.topics": "Kategorien",
439
- "record.metadata.type": "Geographischer Datensatz",
440
490
  "record.metadata.uniqueId": "Eindeutige Kennung",
441
491
  "record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
442
492
  "record.metadata.updatedOn": "Geändert am",
@@ -466,6 +516,7 @@
466
516
  "results.sortBy.popularity": "Beliebtheit",
467
517
  "results.sortBy.qualityScore": "Qualitätsbewertung",
468
518
  "results.sortBy.relevancy": "Relevanz",
519
+ "reuse.metadata.access": "",
469
520
  "search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
470
521
  "search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
471
522
  "search.error.organizationHasNoDataset": "",
@@ -475,6 +526,7 @@
475
526
  "search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
476
527
  "search.field.any.placeholder": "Suche im katalog ...",
477
528
  "search.field.sortBy": "Sortieren nach:",
529
+ "search.filter.into.feature.catalog": "",
478
530
  "search.filters.availableServices.download": "",
479
531
  "search.filters.availableServices.view": "",
480
532
  "search.filters.changeDate": "Letzte Aktualisierung",
@@ -505,6 +557,10 @@
505
557
  "search.filters.producerOrg": "",
506
558
  "search.filters.publicationYear": "Veröffentlichungsjahr",
507
559
  "search.filters.publisherOrg": "",
560
+ "search.filters.recordKind.all": "Alle",
561
+ "search.filters.recordKind.dataset": "Datensätze",
562
+ "search.filters.recordKind.reuse": "Wiederverwendungen",
563
+ "search.filters.recordKind.service": "Dienste",
508
564
  "search.filters.representationType": "Repräsentationstyp",
509
565
  "search.filters.resourceType": "Ressourcentyp",
510
566
  "search.filters.standard": "Standard",
@@ -515,6 +571,27 @@
515
571
  "search.filters.useSpatialFilter": "Zuerst Datensätze im Interessenbereich anzeigen",
516
572
  "search.filters.useSpatialFilterHelp": "Wenn diese Option aktiviert ist, werden Datensätze im Bereich des Katalogs zuerst angezeigt. Datensätze außerhalb dieses Bereichs werden nicht angezeigt.",
517
573
  "search.filters.user": "Editor",
574
+ "service.metadata.capabilities": "",
575
+ "service.metadata.capabilities.abstract": "",
576
+ "service.metadata.capabilities.attribution": "",
577
+ "service.metadata.capabilities.availableCrs": "",
578
+ "service.metadata.capabilities.defaultCrs": "",
579
+ "service.metadata.capabilities.geometryName": "",
580
+ "service.metadata.capabilities.geometryType": "",
581
+ "service.metadata.capabilities.keywords": "",
582
+ "service.metadata.capabilities.name": "",
583
+ "service.metadata.capabilities.objectCount": "",
584
+ "service.metadata.capabilities.otherCrs": "",
585
+ "service.metadata.capabilities.outputFormats": "",
586
+ "service.metadata.capabilities.resourceLinks": "",
587
+ "service.metadata.capabilities.title": "",
588
+ "service.metadata.filter": "",
589
+ "service.metadata.filter.noLayers": "",
590
+ "service.metadata.other": "",
591
+ "service.metadata.question": "",
592
+ "service.metadata.search": "",
593
+ "service.metadata.search.clear": "",
594
+ "service.metadata.spatialExtent": "",
518
595
  "share.tab.permalink": "Teilen",
519
596
  "share.tab.webComponent": "Integrieren",
520
597
  "table.loading.data": "Daten werden geladen...",
@@ -529,7 +606,6 @@
529
606
  "tooltip.html.copy": "HTML kopieren",
530
607
  "tooltip.id.copy": "Eindeutige Kennung kopieren",
531
608
  "tooltip.url.copy": "URL kopieren",
532
- "tooltip.url.open": "URL öffnen",
533
609
  "ui.readLess": "Weniger lesen",
534
610
  "ui.readMore": "Weiterlesen",
535
611
  "wfs.feature.limit": "Zu viele Features, um den WFS-Layer anzuzeigen!",