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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +36 -2
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +2 -1
  4. package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
  5. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
  6. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  7. package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
  8. package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
  9. package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
  10. package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
  11. package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
  12. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
  13. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
  14. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +5 -4
  15. package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +5 -3
  16. package/esm2022/libs/feature/map/src/index.mjs +2 -1
  17. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
  18. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
  19. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
  20. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +63 -0
  21. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
  22. package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
  23. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +26 -3
  24. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
  25. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
  26. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -3
  27. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +3 -1
  28. package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
  29. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +60 -29
  30. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +29 -20
  31. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
  32. package/esm2022/libs/feature/search/src/index.mjs +4 -1
  33. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -4
  34. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
  35. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
  36. package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
  37. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
  38. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
  39. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +3 -3
  40. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
  41. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
  42. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  43. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
  44. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
  45. package/esm2022/libs/ui/elements/src/index.mjs +4 -1
  46. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  47. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
  48. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
  49. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +10 -3
  50. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -6
  51. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
  52. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
  53. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +7 -3
  54. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +15 -3
  55. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  56. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  57. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  58. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  59. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +8 -5
  60. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
  61. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
  62. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
  63. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -3
  64. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  65. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +2 -2
  66. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
  67. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
  68. package/esm2022/libs/ui/search/src/index.mjs +1 -2
  69. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
  70. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
  71. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
  72. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
  73. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
  74. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
  75. package/esm2022/libs/util/i18n/src/index.mjs +2 -2
  76. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
  77. package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
  78. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  79. package/esm2022/translations/de.json +104 -88
  80. package/esm2022/translations/en.json +40 -24
  81. package/esm2022/translations/es.json +19 -3
  82. package/esm2022/translations/fr.json +24 -8
  83. package/esm2022/translations/it.json +31 -15
  84. package/esm2022/translations/nl.json +19 -3
  85. package/esm2022/translations/pt.json +19 -3
  86. package/fesm2022/geonetwork-ui.mjs +1171 -649
  87. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  88. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +1 -0
  89. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  90. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  91. package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
  92. package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
  93. package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
  94. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
  95. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
  96. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +10 -5
  97. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  98. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
  99. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
  100. package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
  101. package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
  102. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
  103. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  104. package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
  105. package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
  106. package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
  107. package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
  108. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
  109. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
  110. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
  111. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  112. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
  113. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  114. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
  115. package/libs/feature/map/src/index.d.ts +1 -0
  116. package/libs/feature/map/src/index.d.ts.map +1 -1
  117. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
  118. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
  119. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
  120. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
  121. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +22 -0
  122. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -0
  123. package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
  124. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  125. package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
  126. package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -12
  127. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  128. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
  129. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
  130. package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
  131. package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
  132. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -0
  133. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  134. package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
  135. package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
  136. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
  137. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  138. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
  139. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  140. package/libs/feature/search/src/index.d.ts +3 -0
  141. package/libs/feature/search/src/index.d.ts.map +1 -1
  142. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +5 -4
  143. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  144. package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
  145. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  146. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
  147. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  148. package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
  149. package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
  150. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  151. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  152. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
  153. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
  154. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
  155. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  156. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  157. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
  158. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  159. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  160. package/libs/ui/elements/src/index.d.ts +3 -0
  161. package/libs/ui/elements/src/index.d.ts.map +1 -1
  162. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  163. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
  164. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
  165. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
  166. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
  167. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -0
  168. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
  169. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -0
  170. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  171. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
  172. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  173. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
  174. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
  175. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -11
  176. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  177. package/libs/ui/inputs/src/index.d.ts +1 -0
  178. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  179. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
  180. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
  181. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
  182. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +2 -1
  183. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  184. package/libs/ui/layout/src/index.d.ts +2 -0
  185. package/libs/ui/layout/src/index.d.ts.map +1 -1
  186. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
  187. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
  188. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
  189. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
  190. package/libs/ui/search/src/index.d.ts +0 -1
  191. package/libs/ui/search/src/index.d.ts.map +1 -1
  192. package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
  193. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  194. package/libs/util/i18n/src/index.d.ts +1 -1
  195. package/libs/util/i18n/src/index.d.ts.map +1 -1
  196. package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
  197. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  198. package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
  199. package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
  200. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  201. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  202. package/package.json +4 -1
  203. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +3 -0
  204. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +43 -0
  205. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +1 -0
  206. package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
  207. package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
  208. package/src/libs/common/domain/src/lib/index.ts +2 -0
  209. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +12 -7
  210. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
  211. package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
  212. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
  213. package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
  214. package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
  215. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  216. package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
  217. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
  218. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +8 -5
  219. package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
  220. package/src/libs/feature/map/src/index.ts +1 -0
  221. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
  222. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
  223. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
  224. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
  225. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
  226. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
  227. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.css +0 -0
  228. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +55 -0
  229. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +63 -0
  230. package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
  231. package/src/libs/feature/map/src/lib/feature-map.module.ts +14 -0
  232. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
  233. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
  234. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
  235. package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
  236. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +9 -3
  237. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +6 -0
  238. package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
  239. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
  240. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
  241. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
  242. package/src/libs/feature/search/src/index.ts +3 -0
  243. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +12 -4
  244. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -1
  245. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
  246. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
  247. package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
  248. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
  249. package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
  250. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
  251. package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
  252. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
  253. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
  254. package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
  255. package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
  256. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
  257. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
  258. package/src/libs/ui/elements/src/index.ts +3 -0
  259. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
  260. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
  261. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
  262. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
  263. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
  264. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
  265. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +16 -0
  266. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +93 -27
  267. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
  268. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
  269. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +59 -32
  270. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +5 -0
  271. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
  272. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
  273. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  274. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
  275. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +7 -0
  276. package/src/libs/ui/inputs/src/index.ts +1 -0
  277. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  278. package/src/libs/ui/inputs/src/lib/button/button.component.css +1 -1
  279. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
  280. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  281. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
  282. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
  283. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
  284. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
  285. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -0
  286. package/src/libs/ui/layout/src/index.ts +2 -0
  287. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
  288. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
  289. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
  290. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
  291. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
  292. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
  293. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
  294. package/src/libs/ui/search/src/index.ts +0 -1
  295. package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
  296. package/src/libs/util/i18n/src/index.ts +1 -1
  297. package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
  298. package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
  299. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  300. package/translations/de.json +104 -88
  301. package/translations/en.json +40 -24
  302. package/translations/es.json +19 -3
  303. package/translations/fr.json +24 -8
  304. package/translations/it.json +31 -15
  305. package/translations/nl.json +19 -3
  306. package/translations/pt.json +19 -3
  307. package/translations/sk.json +19 -3
  308. package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
  309. package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
  310. package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
  311. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
  312. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
  313. package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
  314. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
  315. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
  316. package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
  317. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
  318. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
  319. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
  320. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
  321. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
  322. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
  323. package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
  324. package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
  325. package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
  326. package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
  327. package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
  328. package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
  329. package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
  330. package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
  331. package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
  332. /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
  333. /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
@@ -0,0 +1,54 @@
1
+ <div class="grid w-full" [ngStyle]="gridStyle">
2
+ <div class="contents">
3
+ <ng-container *ngFor="let column of columns">
4
+ <button
5
+ *ngIf="column.sortable"
6
+ type="button"
7
+ class="table-header-cell"
8
+ (click)="column.sortable && column.handleSortChange()"
9
+ >
10
+ <ng-container *ngTemplateOutlet="column.header"></ng-container>
11
+ <div class="sort-button flex flex-col" *ngIf="column.sortable">
12
+ <mat-icon
13
+ class="material-symbols-outlined text-gray-600"
14
+ [ngClass]="{ 'text-main': column.activeSort === 'asc' }"
15
+ >expand_less</mat-icon
16
+ >
17
+ <mat-icon
18
+ class="material-symbols-outlined text-gray-600"
19
+ [ngClass]="{ 'text-main': column.activeSort === 'desc' }"
20
+ >expand_more</mat-icon
21
+ >
22
+ </div>
23
+ </button>
24
+ <div *ngIf="!column.sortable" class="table-header-cell">
25
+ <ng-container *ngTemplateOutlet="column.header"></ng-container>
26
+ </div>
27
+ </ng-container>
28
+ </div>
29
+ <div
30
+ class="contents text-gray-900 cursor-pointer group"
31
+ *ngFor="let item of items"
32
+ (click)="handleRowClick(item)"
33
+ >
34
+ <div
35
+ class="relative h-0"
36
+ [ngStyle]="{ 'grid-column': 'span ' + this.columns.length }"
37
+ >
38
+ <!-- this element is only used in keyboard navigation -->
39
+ <button
40
+ type="button"
41
+ class="absolute inset-x-0 h-[50px] bg-transparent pointer-events-none"
42
+ ></button>
43
+ </div>
44
+ <ng-container *ngFor="let column of columns">
45
+ <div
46
+ class="table-row-cell px-4 py-3 flex items-center bg-white transition-colors duration-75 truncate group-hover:text-main group-hover:bg-gray-50 border-b border-gray-200"
47
+ >
48
+ <ng-container
49
+ *ngTemplateOutlet="column.cell; context: { $implicit: item }"
50
+ ></ng-container>
51
+ </div>
52
+ </ng-container>
53
+ </div>
54
+ </div>
@@ -0,0 +1,42 @@
1
+ import {
2
+ ChangeDetectionStrategy,
3
+ Component,
4
+ ContentChildren,
5
+ EventEmitter,
6
+ Input,
7
+ Output,
8
+ QueryList,
9
+ } from '@angular/core'
10
+ import { InteractiveTableColumnComponent } from './interactive-table-column/interactive-table-column.component'
11
+ import { CommonModule } from '@angular/common'
12
+ import { MatIconModule } from '@angular/material/icon'
13
+
14
+ @Component({
15
+ selector: 'gn-ui-interactive-table',
16
+ templateUrl: './interactive-table.component.html',
17
+ styleUrls: ['./interactive-table.component.css'],
18
+ changeDetection: ChangeDetectionStrategy.OnPush,
19
+ standalone: true,
20
+ imports: [CommonModule, InteractiveTableColumnComponent, MatIconModule],
21
+ })
22
+ export class InteractiveTableComponent {
23
+ @ContentChildren(InteractiveTableColumnComponent)
24
+ columns: QueryList<InteractiveTableColumnComponent>
25
+
26
+ @Input() items: unknown[] = []
27
+ @Output() itemClick = new EventEmitter<unknown>()
28
+
29
+ get gridStyle() {
30
+ return {
31
+ 'grid-template-columns': this.columns
32
+ .map((column) =>
33
+ column.grow ? `minmax(0px,1fr)` : `minmax(0px,max-content)`
34
+ )
35
+ .join(' '),
36
+ }
37
+ }
38
+
39
+ handleRowClick(item: unknown) {
40
+ this.itemClick.emit(item)
41
+ }
42
+ }
@@ -14,7 +14,6 @@ export * from './lib/record-preview-card/record-preview-card.component'
14
14
  export * from './lib/record-preview-list/record-preview-list.component'
15
15
  export * from './lib/record-preview-text/record-preview-text.component'
16
16
  export * from './lib/record-preview-title/record-preview-title.component'
17
- export * from './lib/record-table/record-table.component'
18
17
  export * from './lib/record-metric/record-metric.component'
19
18
  export * from './lib/results-list-item/results-list-item.component'
20
19
  export * from './lib/results-hits-number/results-hits-number.component'
@@ -24,10 +24,10 @@ import { ResultsListItemComponent } from './results-list-item/results-list-item.
24
24
  import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src'
25
25
  import { UiElementsModule } from '../../../../../libs/ui/elements/src'
26
26
  import { RecordPreviewFeedComponent } from './record-preview-feed/record-preview-feed.component'
27
- import { RecordTableComponent } from './record-table/record-table.component'
28
27
  import { CommonModule } from '@angular/common'
29
28
  import { UiInputsModule } from '../../../../../libs/ui/inputs/src'
30
29
  import { MatCheckboxModule } from '@angular/material/checkbox'
30
+ import { InteractiveTableComponent } from '../../../../../libs/ui/layout/src'
31
31
 
32
32
  @NgModule({
33
33
  declarations: [
@@ -42,7 +42,6 @@ import { MatCheckboxModule } from '@angular/material/checkbox'
42
42
  ResultsListItemComponent,
43
43
  RecordPreviewFeedComponent,
44
44
  RecordPreviewRowComponent,
45
- RecordTableComponent,
46
45
  ],
47
46
  imports: [
48
47
  CommonModule,
@@ -59,6 +58,7 @@ import { MatCheckboxModule } from '@angular/material/checkbox'
59
58
  MatIconModule,
60
59
  MatCheckboxModule,
61
60
  RouterLink,
61
+ InteractiveTableComponent,
62
62
  ],
63
63
  exports: [
64
64
  RecordPreviewListComponent,
@@ -72,7 +72,6 @@ import { MatCheckboxModule } from '@angular/material/checkbox'
72
72
  ResultsHitsNumberComponent,
73
73
  RecordPreviewFeedComponent,
74
74
  RecordPreviewRowComponent,
75
- RecordTableComponent,
76
75
  ],
77
76
  providers: [
78
77
  { provide: RESULTS_LAYOUT_CONFIG, useValue: DEFAULT_RESULTS_LAYOUT_CONFIG },
@@ -3,5 +3,5 @@ export * from './lib/i18n.constants'
3
3
  export * from './lib/i18n.interceptor'
4
4
  export * from './lib/lang.service'
5
5
  export * from './lib/file.translate.loader'
6
- export * from './lib/testing/test.translate.module'
7
6
  export * from './lib/embedded.translate.loader'
7
+ export * from './lib/translate.loader.utils'
@@ -43,9 +43,15 @@ export const FORMATS = {
43
43
  color: '#328556',
44
44
  mimeTypes: ['x-gis/x-shapefile'],
45
45
  },
46
+ gml: {
47
+ extensions: ['gml'],
48
+ priority: 5,
49
+ color: '#c92bce',
50
+ mimeTypes: ['application/gml+xml', 'text/xml; subtype=gml'],
51
+ },
46
52
  kml: {
47
53
  extensions: ['kml', 'kmz'],
48
- priority: 5,
54
+ priority: 6,
49
55
  color: '#348009',
50
56
  mimeTypes: [
51
57
  'application/vnd.google-earth.kml+xml',
@@ -54,34 +60,40 @@ export const FORMATS = {
54
60
  },
55
61
  gpkg: {
56
62
  extensions: ['gpkg', 'geopackage'],
57
- priority: 6,
63
+ priority: 7,
58
64
  color: '#ea79ba',
59
65
  mimeTypes: ['application/geopackage+sqlite3'],
60
66
  },
61
67
  zip: {
62
68
  extensions: ['zip', 'tar.gz'],
63
- priority: 7,
69
+ priority: 8,
64
70
  color: '#f2bb3a',
65
71
  mimeTypes: ['application/zip', 'application/x-zip'],
66
72
  },
67
73
  pdf: {
68
74
  extensions: ['pdf'],
69
- priority: 8,
75
+ priority: 9,
70
76
  color: '#db544a',
71
77
  mimeTypes: ['application/pdf'],
72
78
  },
73
79
  jpg: {
74
80
  extensions: ['jpg', 'jpeg', 'jfif', 'pjpeg', 'pjp'],
75
- priority: 8,
81
+ priority: 9,
76
82
  color: '#673ab7',
77
83
  mimeTypes: ['image/jpg'],
78
84
  },
79
85
  svg: {
80
86
  extensions: ['svg'],
81
- priority: 9,
87
+ priority: 10,
82
88
  color: '#d98294',
83
89
  mimeTypes: ['image/svg+xml'],
84
90
  },
91
+ dxf: {
92
+ extensions: ['dxf'],
93
+ priority: 11,
94
+ color: '#de630b',
95
+ mimeTypes: ['application/x-dxf', 'image/x-dxf'],
96
+ },
85
97
  } as const
86
98
 
87
99
  export type FileFormat = keyof typeof FORMATS
@@ -102,13 +114,24 @@ export function getLinkPriority(link: DatasetDistribution): number {
102
114
  return getFormatPriority(getFileFormat(link))
103
115
  }
104
116
 
105
- export function extensionToFormat(extension: string): FileFormat {
106
- for (const format in FORMATS) {
107
- for (const alias of FORMATS[format].extensions) {
108
- if (alias === extension.toLowerCase()) return format as FileFormat
117
+ export function getFileFormatFromServiceOutput(
118
+ serviceOutput: string
119
+ ): FileFormat | null {
120
+ function formatMatcher(format: typeof FORMATS[FileFormat]): boolean {
121
+ const output = serviceOutput.toLowerCase()
122
+ return (
123
+ format.extensions.some((extension: string) =>
124
+ output.includes(extension)
125
+ ) ||
126
+ format.mimeTypes.some((mimeType: string) => output.includes(mimeType))
127
+ )
128
+ }
129
+ for (const formatName in FORMATS) {
130
+ if (formatMatcher(FORMATS[formatName])) {
131
+ return formatName as FileFormat
109
132
  }
110
133
  }
111
- return undefined
134
+ return null
112
135
  }
113
136
 
114
137
  export function getFileFormat(link: DatasetDistribution): FileFormat {
@@ -0,0 +1,32 @@
1
+ type FuzzyFilter = (input: string) => boolean
2
+
3
+ function normalize(input: string) {
4
+ return input
5
+ .toLowerCase()
6
+ .normalize('NFD') // explode composite chars (e.g. é) into multiple chars
7
+ .replace(/[\u0300-\u036f]/g, '') // remove accents
8
+ .replace(/œ/g, 'oe') // remove accents
9
+ .replace(/[^a-z0-9\s]/g, ' ') // replace special characters with space
10
+ }
11
+
12
+ function asNormalizedParts(input: string): string[] {
13
+ return normalize(input)
14
+ .split(/\s+/)
15
+ .map((part) => part.trim())
16
+ .filter((part) => part.length > 0)
17
+ }
18
+
19
+ /**
20
+ * This creates a filter function based on a pattern (typically a user-input
21
+ * search text).
22
+ * @param pattern
23
+ */
24
+ export function createFuzzyFilter(pattern: string): FuzzyFilter {
25
+ const patternParts = asNormalizedParts(pattern)
26
+ return (input: string) => {
27
+ const inputParts = asNormalizedParts(input)
28
+ return patternParts.every((patternPart) =>
29
+ inputParts.some((part) => part.includes(patternPart))
30
+ )
31
+ }
32
+ }
@@ -5,3 +5,4 @@ export * from './geojson'
5
5
  export * from './sort-by'
6
6
  export * from './url'
7
7
  export * from './event'
8
+ export * from './fuzzy-filter'
@@ -16,20 +16,21 @@
16
16
  "chart.type.line": "Liniendiagramm",
17
17
  "chart.type.lineSmooth": "Geglättes Liniendiagramm",
18
18
  "chart.type.pie": "Kreisdiagramm",
19
- "dashboard.labels.mySpace": "",
20
- "dashboard.records.all": "",
21
- "dashboard.records.myDraft": "",
22
- "dashboard.records.myLibrary": "",
23
- "dashboard.records.myOrg": "",
24
- "dashboard.records.myRecords": "",
25
- "dashboard.records.noRecord": "",
26
- "dashboard.records.noUser": "",
27
- "dashboard.records.publishedRecords": "",
28
- "dashboard.records.search": "",
29
- "dashboard.records.userDetail": "",
30
- "dashboard.records.userEmail": "",
31
- "dashboard.records.username": "",
32
- "dashboard.records.users": "",
19
+ "dashboard.createRecord": "",
20
+ "dashboard.labels.mySpace": "Mein Bereich",
21
+ "dashboard.records.all": "Katalog",
22
+ "dashboard.records.myDraft": "Meine Entwürfe",
23
+ "dashboard.records.myLibrary": "Meine Bibliothek",
24
+ "dashboard.records.myOrg": "Meine Organisation",
25
+ "dashboard.records.myRecords": "Meine Datensätze",
26
+ "dashboard.records.publishedRecords": "{count, plural, =1{veröffentlichter Datensatz} other{veröffentlichte Datensätze}}",
27
+ "dashboard.records.search": "Suche nach \"{searchText}\"",
28
+ "dashboard.records.userDetail": "Name",
29
+ "dashboard.records.userEmail": "E-Mail",
30
+ "dashboard.records.username": "Benutzername",
31
+ "dashboard.records.users": "{count, plural, =1{Benutzer} other{Benutzer}}",
32
+ "dashboard.results.listMetadata": "",
33
+ "dashboard.results.listResources": "",
33
34
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Dateiformat-Erkennung",
34
35
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Sammeln von Datensatzinformationen",
35
36
  "datafeeder.analysisProgressBar.illustration.samplingData": "Datenauswahl",
@@ -43,7 +44,7 @@
43
44
  "datafeeder.form.datepicker": "Wissen Sie, wann der Datensatz erstellt wurde?",
44
45
  "datafeeder.form.description": "Beschreiben Sie abschließend den Prozess, der zur Erstellung des Datensatzes verwendet wurde",
45
46
  "datafeeder.form.dropdown": "Für welche Skala wurde er erstellt?",
46
- "datafeeder.form.tags": "Wählen Sie einen oder mehrere Tags aus, die zu Ihrem Datensatz passen",
47
+ "datafeeder.form.tags": "Wählen Sie einen oder mehrere Tage aus, die zu Ihrem Datensatz passen",
47
48
  "datafeeder.form.title": "Geben Sie Ihrem Datensatz den besten Titel",
48
49
  "datafeeder.formsPage.title": "Erzählen Sie uns mehr über Ihren Datensatz",
49
50
  "datafeeder.month.april": "April",
@@ -58,16 +59,16 @@
58
59
  "datafeeder.month.november": "November",
59
60
  "datafeeder.month.october": "Oktober",
60
61
  "datafeeder.month.september": "September",
61
- "datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist",
62
- "datafeeder.publish.illustration.title": "Ein weiterer Datensatz zum Veröffentlichen?",
62
+ "datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist.",
63
+ "datafeeder.publish.illustration.title": "Ein weiterer Datensatz \n zum Veröffentlichen?",
63
64
  "datafeeder.publish.subtitle": "Das Veröffentlichen kann einige Minuten dauern.",
64
- "datafeeder.publish.title": "Vielen Dank! Ihr Datensatz wird veröffentlicht",
65
+ "datafeeder.publish.title": "Vielen Dank! \n Ihr Datensatz wird veröffentlicht",
65
66
  "datafeeder.publish.upload": "Jetzt hochladen",
66
67
  "datafeeder.publishSuccess.geonetworkRecord": "Metadatensatz",
67
68
  "datafeeder.publishSuccess.illustration.title": "Erledigt, alles ist gut!",
68
69
  "datafeeder.publishSuccess.mapViewer": "Kartenviewer",
69
70
  "datafeeder.publishSuccess.subtitle": "Zeigen Sie Ihre Daten an in:",
70
- "datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! Ihr Datensatz wurde veröffentlicht",
71
+ "datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! \n Ihr Datensatz wurde veröffentlicht",
71
72
  "datafeeder.publishSuccess.uploadAnotherData": "Ein weiteren Datensatz hochladen",
72
73
  "datafeeder.summarizePage.illustration": "Kein Fehler? Los geht's!",
73
74
  "datafeeder.summarizePage.previous": "Zurück",
@@ -75,11 +76,11 @@
75
76
  "datafeeder.summarizePage.title": "Sie sind fast fertig...",
76
77
  "datafeeder.upload.acceptedFormats": "Akzeptierte Dateiformate:",
77
78
  "datafeeder.upload.checkboxLabel": "Ich besitze die Rechte zur Veröffentlichung dieses Datensatzes",
78
- "datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen geospatialen Datensatz enthält",
79
+ "datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen geografischen Datensatz enthält",
79
80
  "datafeeder.upload.error.subtitle.cantOpenFile": "Bitte überprüfen Sie, ob die Datei gültig ist",
80
81
  "datafeeder.upload.error.subtitle.fileFormat": "Beachten Sie: Nur SHP-Dateien",
81
- "datafeeder.upload.error.subtitle.fileSize": "Beachten Sie: Maximal {size} MB",
82
- "datafeeder.upload.error.title.analysis": "Fehler bei der Datensatzanalyse",
82
+ "datafeeder.upload.error.subtitle.fileSize": "Beachten Sie: Maximale Dateigröße {size} MB",
83
+ "datafeeder.upload.error.title.analysis": "Fehler während der Datensatzanalyse",
83
84
  "datafeeder.upload.error.title.cantOpenFile": "Fehler beim Öffnen der Datei",
84
85
  "datafeeder.upload.error.title.fileFormat": "Das ausgewählte Dateiformat wird nicht unterstützt",
85
86
  "datafeeder.upload.error.title.fileHasntSelected": "Keine Datei ausgewählt",
@@ -87,19 +88,19 @@
87
88
  "datafeeder.upload.error.title.noRightsToSendData": "Sie dürfen diesen Datensatz nicht veröffentlichen",
88
89
  "datafeeder.upload.illustration.enrichment": "Anreicherung",
89
90
  "datafeeder.upload.illustration.import": "Import",
90
- "datafeeder.upload.illustration.title": "Das Hinzufügen von Daten war noch nie einfacher",
91
+ "datafeeder.upload.illustration.title": "Das Hinzufügen von Daten \n war noch nie so einfach",
91
92
  "datafeeder.upload.illustration.validation": "Validierung",
92
- "datafeeder.upload.illustration.verification": "Verifizierung",
93
+ "datafeeder.upload.illustration.verification": "Überprüfung",
93
94
  "datafeeder.upload.inputLabel": "Importieren Sie Ihre Datei",
94
95
  "datafeeder.upload.maxFileSize": "Maximale Dateigröße beträgt {size} MB",
95
96
  "datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
96
97
  "datafeeder.upload.uploadButton": "Hochladen",
97
- "datafeeder.validation.encoding": "Kodierung",
98
+ "datafeeder.validation.encoding": "Codierung",
98
99
  "datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
99
100
  "datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
100
101
  "datafeeder.validation.projection": "Raumbezugssystem:",
101
- "datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem",
102
- "datafeeder.validation.sample.title": "Und eine Beispieleinheit aus dem Datensatz",
102
+ "datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem aus",
103
+ "datafeeder.validation.sample.title": "Und eine Beispielentität aus dem Datensatz",
103
104
  "datafeeder.wizard.emptyRequiredValuesMessage": "Bitte füllen Sie die obligatorischen Felder aus",
104
105
  "datafeeder.wizardSummarize.createdAt": "Erstellt am",
105
106
  "datafeeder.wizardSummarize.scale": "Maßstab",
@@ -109,19 +110,20 @@
109
110
  "datahub.header.news": "Startseite",
110
111
  "datahub.header.organisations": "Organisationen",
111
112
  "datahub.header.popularRecords": "Die beliebtesten",
112
- "datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten von meiner Organisation</div>",
113
- "datahub.news.contact.contactus": "",
114
- "datahub.news.contact.html": "",
115
- "datahub.news.contact.title": "",
113
+ "datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten meiner Organisation</div>",
114
+ "datahub.news.contact.contactus": "Kontaktieren Sie uns",
115
+ "datahub.news.contact.html": "<p>Brauchen Sie Daten, die derzeit nicht auf der Plattform vorhanden sind?</p><p>Unsere Teams stehen Ihnen zur Verfügung.</p>",
116
+ "datahub.news.contact.title": "Ein spezielles Bedürfnis?",
116
117
  "datahub.news.feed": "Nachrichtenfeed",
117
118
  "datahub.news.figures": "Indikatoren",
118
- "datahub.search.back": "Zurück zu den Ergebnissen",
119
+ "datahub.record.addToFavorites": "Zu Favoriten hinzufügen",
120
+ "datahub.search.back": "Zurück",
119
121
  "datahub.search.filter.all": "Alle",
120
- "datahub.search.filter.generatedByWfs": "Generiert durch API",
122
+ "datahub.search.filter.generatedByWfs": "Generiert durch eine API",
121
123
  "datahub.search.filter.others": "Andere",
122
124
  "dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
123
125
  "dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
124
- "dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht geparst werden: \"{ info }\"",
126
+ "dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht gelesen werden: \"{ info }\"",
125
127
  "dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
126
128
  "dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
127
129
  "domain.record.status.completed": "Abgeschlossen",
@@ -129,18 +131,18 @@
129
131
  "domain.record.status.ongoing": "Kontinuierliche Aktualisierung",
130
132
  "domain.record.status.removed": "Entfernt",
131
133
  "domain.record.status.under_development": "In Erstellung",
132
- "domain.record.updateFrequency.asNeeded": "Bei Bedarf",
133
- "domain.record.updateFrequency.continual": "Kontinuierlich",
134
+ "domain.record.updateFrequency.asNeeded": "Nach Bedarf",
135
+ "domain.record.updateFrequency.continual": "Fortlaufend",
134
136
  "domain.record.updateFrequency.day": "{count, plural, =0{0} one{Ein} other{{count}}} mal am Tag",
135
- "domain.record.updateFrequency.irregular": "Unregelmässig",
137
+ "domain.record.updateFrequency.irregular": "Unregelmäßig",
136
138
  "domain.record.updateFrequency.month": "{count, plural, =0{0} one{Ein} other{{count}}} mal im Monat",
137
139
  "domain.record.updateFrequency.notPlanned": "Nicht geplant",
138
- "domain.record.updateFrequency.periodic": "Regelmässig",
140
+ "domain.record.updateFrequency.periodic": "Regelmäßig",
139
141
  "domain.record.updateFrequency.unknown": "Unbekannt",
140
142
  "domain.record.updateFrequency.week": "{count, plural, =0{0} one{Ein} other{{count}}} mal in der Woche",
141
143
  "domain.record.updateFrequency.year": "{count, plural, =0{0} one{Ein} other{{count}}} mal im Jahr",
142
144
  "downloads.format.unknown": "unbekannt",
143
- "downloads.wfs.featuretype.not.found": "Die Schicht wurde nicht gefunden",
145
+ "downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
144
146
  "dropFile": "Datei ablegen",
145
147
  "externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
146
148
  "facets.block.title.OrgForResource": "Organisation",
@@ -175,10 +177,18 @@
175
177
  "map.add.layer.file": "Aus einer Datei",
176
178
  "map.add.layer.wfs": "Aus WFS",
177
179
  "map.add.layer.wms": "Aus WMS",
180
+ "map.addFromFile.placeholder": "Klicke hier oder ziehe eine Datei herein",
181
+ "map.geocoding.placeholder": "",
182
+ "map.help.addFromFile": "Klicke oder ziehe eine Datei herein um eine Karte hinzuzufügen (momentan wird nur das GeoJSON-Format unterstützt).",
183
+ "map.layer.add": "Hinzufügen",
184
+ "map.layers.available": "Verfügbare Layer",
178
185
  "map.layers.list": "Ebenen",
179
186
  "map.loading.data": "Kartendaten werden geladen...",
187
+ "map.loading.service": "Dienst wird geladen...",
180
188
  "map.navigation.message": "Bitte verwenden Sie STRG + Maus (oder zwei Finger auf einem Mobilgerät), um die Karte zu navigieren",
181
189
  "map.select.layer": "Datenquelle",
190
+ "map.wfs.urlInput.hint": "Geben Sie die WFS URL ein",
191
+ "map.wms.urlInput.hint": "Geben Sie die WMS URL ein",
182
192
  "multiselect.filter.placeholder": "Suche",
183
193
  "nav.back": "Zurück",
184
194
  "next": "weiter",
@@ -194,56 +204,61 @@
194
204
  "pagination.pageOf": "von",
195
205
  "previous": "zurück",
196
206
  "record.action.download": "Herunterladen",
197
- "record.action.view": "Ansehen",
207
+ "record.action.view": "Anzeigen",
198
208
  "record.externalViewer.open": "In externem Kartenviewer öffnen",
199
209
  "record.metadata.about": "Beschreibung",
200
210
  "record.metadata.api": "API",
201
- "record.metadata.api.form.closeButton": "",
202
- "record.metadata.api.form.closeForm": "",
203
- "record.metadata.api.form.create": "",
204
- "record.metadata.api.form.customUrl": "",
205
- "record.metadata.api.form.limit": "",
206
- "record.metadata.api.form.limit.all": "",
207
- "record.metadata.api.form.offset": "",
208
- "record.metadata.api.form.openForm": "",
209
- "record.metadata.api.form.reset": "",
210
- "record.metadata.api.form.title": "",
211
- "record.metadata.api.form.type": "",
212
- "record.metadata.author": "",
211
+ "record.metadata.api.form.closeButton": "Schließen",
212
+ "record.metadata.api.form.closeForm": "Formular schließen",
213
+ "record.metadata.api.form.create": "Ihre Anfrage erstellen",
214
+ "record.metadata.api.form.customUrl": "Benutzerdefinierte URL",
215
+ "record.metadata.api.form.limit": "Anzahl der Datensätze",
216
+ "record.metadata.api.form.limit.all": "Alle",
217
+ "record.metadata.api.form.offset": "Anzahl des ersten Datensatzes",
218
+ "record.metadata.api.form.openForm": "Formular öffnen",
219
+ "record.metadata.api.form.reset": "Zurücksetzen",
220
+ "record.metadata.api.form.title": "Benutzerdefinierte URL generieren",
221
+ "record.metadata.api.form.type": "Ausgabeformat",
222
+ "record.metadata.author": "Autor",
213
223
  "record.metadata.catalog": "Katalog",
214
224
  "record.metadata.contact": "Kontakt",
215
- "record.metadata.createdOn": "Erstellt am",
216
- "record.metadata.details": "Details",
225
+ "record.metadata.details": "Technische Informationen",
217
226
  "record.metadata.download": "Downloads",
218
- "record.metadata.formats": "",
227
+ "record.metadata.formats": "Formate",
219
228
  "record.metadata.isOpenData": "Open Data",
220
229
  "record.metadata.keywords": "Stichworte",
230
+ "record.metadata.lastUpdate": "Zuletzt aktualisiert am",
221
231
  "record.metadata.links": "Links",
222
- "record.metadata.noUsage": "Für diesen Datensatz sind keine Verwendungsbedingungen angegeben.",
232
+ "record.metadata.noUsage": "Für diesen Datensatz sind keine Nutzungsbedingungen angegeben.",
223
233
  "record.metadata.origin": "Über die Daten",
234
+ "record.metadata.owner": "",
224
235
  "record.metadata.preview": "Vorschau",
225
236
  "record.metadata.publications": "Veröffentlichungen",
226
- "record.metadata.quality": "",
227
- "record.metadata.quality.contact.failed": "",
228
- "record.metadata.quality.contact.success": "",
229
- "record.metadata.quality.description.failed": "",
230
- "record.metadata.quality.description.success": "",
231
- "record.metadata.quality.details": "",
232
- "record.metadata.quality.keywords.failed": "",
233
- "record.metadata.quality.keywords.success": "",
234
- "record.metadata.quality.legalConstraints.failed": "",
235
- "record.metadata.quality.legalConstraints.success": "",
236
- "record.metadata.quality.organisation.failed": "",
237
- "record.metadata.quality.organisation.success": "",
238
- "record.metadata.quality.title.failed": "",
239
- "record.metadata.quality.title.success": "",
240
- "record.metadata.quality.topic.failed": "",
241
- "record.metadata.quality.topic.success": "",
242
- "record.metadata.quality.updateFrequency.failed": "",
243
- "record.metadata.quality.updateFrequency.success": "",
237
+ "record.metadata.quality": "Metadatenqualität",
238
+ "record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
239
+ "record.metadata.quality.contact.success": "Kontakt angegeben",
240
+ "record.metadata.quality.description.failed": "Beschreibung nicht angegeben",
241
+ "record.metadata.quality.description.success": "Beschreibung angegeben",
242
+ "record.metadata.quality.details": "Details",
243
+ "record.metadata.quality.keywords.failed": "Schlagwörter nicht angegeben",
244
+ "record.metadata.quality.keywords.success": "Schlagwörter angegeben",
245
+ "record.metadata.quality.legalConstraints.failed": "Rechtliche Beschränkungen nicht angegeben",
246
+ "record.metadata.quality.legalConstraints.success": "Rechtliche Beschränkungen angegeben",
247
+ "record.metadata.quality.organisation.failed": "Organisation nicht angegeben",
248
+ "record.metadata.quality.organisation.success": "Organisation angegeben",
249
+ "record.metadata.quality.title.failed": "Titel nicht angegeben",
250
+ "record.metadata.quality.title.success": "Titel angegeben",
251
+ "record.metadata.quality.topic.failed": "Thema nicht angegeben",
252
+ "record.metadata.quality.topic.success": "Thema angegeben",
253
+ "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
254
+ "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
244
255
  "record.metadata.related": "Ähnliche Datensätze",
245
- "record.metadata.sheet": "Weitere Informationen erhalten Sie unter :",
256
+ "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
257
+ "record.metadata.status": "",
258
+ "record.metadata.themes": "Kategorien",
246
259
  "record.metadata.title": "Titel",
260
+ "record.metadata.type": "Geographischer Datensatz",
261
+ "record.metadata.uniqueId": "Eindeutige Kennung",
247
262
  "record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
248
263
  "record.metadata.updateStatus": "Aktualisierungsstatus der Daten",
249
264
  "record.metadata.updatedOn": "Letzte Aktualisierung der Dateninformationen",
@@ -255,23 +270,23 @@
255
270
  "record.was.created.time": "erstellte diesen Datensatz {time}",
256
271
  "records": "Datensätze",
257
272
  "results.layout.selectOne": "Layout auswählen",
258
- "results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{auf {hits} insgesamt angezeigt.}}",
259
- "results.records.hits.empty.help.html": "Vorschläge: <ul class='list-disc list-inside'><li>Versuchen Sie andere Wörter</li><li>Geben Sie weniger Wörter ein</li></ul>",
273
+ "results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{angezeigt von {hits} insgesamt.}}",
274
+ "results.records.hits.empty.help.html": "Vorschläge: <ul class='list-disc list-inside'><li>Versuchen Sie es mit anderen Worten</li><li>Beschränken Sie die Suchwörter</li></ul>",
260
275
  "results.records.hits.found": "{hits, plural, =0{Keine Dokumente entsprechen der angegebenen Suche.} one{1 Datensatz gefunden.} other{{hits} Datensätze gefunden.}}",
261
- "results.records.hits.selected": "",
276
+ "results.records.hits.selected": "{ amount } ausgewählt",
262
277
  "results.showMore": "Mehr Ergebnisse anzeigen...",
263
- "results.sortBy.dateStamp": "Letzte Aktualisierungen",
278
+ "results.sortBy.dateStamp": "Neueste",
264
279
  "results.sortBy.popularity": "Beliebtheit",
265
- "results.sortBy.qualityScore": "",
280
+ "results.sortBy.qualityScore": "Qualitätsbewertung",
266
281
  "results.sortBy.relevancy": "Relevanz",
267
282
  "search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
268
283
  "search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
269
- "search.error.receivedError": "Ein Fehler wurde empfangen",
284
+ "search.error.receivedError": "Ein Fehler ist aufgetreten",
270
285
  "search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
271
- "search.field.any.placeholder": "Suche nach Datensätzen ...",
286
+ "search.field.any.placeholder": "Suche Datensätze ...",
272
287
  "search.field.sortBy": "Sortieren nach:",
273
288
  "search.filters.clear": "Zurücksetzen",
274
- "search.filters.contact": "Kontakt",
289
+ "search.filters.contact": "Kontakte",
275
290
  "search.filters.format": "Formate",
276
291
  "search.filters.inspireKeyword": "INSPIRE-Schlüsselwort",
277
292
  "search.filters.isSpatial": "Ist räumliche Daten",
@@ -289,13 +304,13 @@
289
304
  "search.filters.license.unknown": "Unbekannt oder nicht vorhanden",
290
305
  "search.filters.maximize": "Erweitern",
291
306
  "search.filters.minimize": "Minimieren",
292
- "search.filters.myRecords": "",
293
- "search.filters.myRecordsHelp": "",
294
- "search.filters.otherRecords": "",
307
+ "search.filters.myRecords": "Nur meine Datensätze anzeigen",
308
+ "search.filters.myRecordsHelp": "Wenn dies aktiviert ist, werden nur von mir erstellte Datensätze angezeigt; Datensätze, die von anderen erstellt wurden, werden nicht angezeigt.",
309
+ "search.filters.otherRecords": "Datensätze von einer anderen Person anzeigen",
295
310
  "search.filters.publicationYear": "Veröffentlichungsjahr",
296
311
  "search.filters.publisher": "Organisationen",
297
- "search.filters.representationType": "",
298
- "search.filters.resourceType": "",
312
+ "search.filters.representationType": "Repräsentationstyp",
313
+ "search.filters.resourceType": "Ressourcentyp",
299
314
  "search.filters.standard": "Standard",
300
315
  "search.filters.title": "Ergebnisse filtern",
301
316
  "search.filters.topic": "Thema",
@@ -307,6 +322,7 @@
307
322
  "table.object.count": "Objekte in diesem Datensatz",
308
323
  "table.select.data": "Datenquelle",
309
324
  "tooltip.html.copy": "HTML kopieren",
325
+ "tooltip.id.copy": "",
310
326
  "tooltip.url.copy": "URL kopieren",
311
327
  "tooltip.url.open": "URL öffnen",
312
328
  "ui.readLess": "Weniger lesen",