geonetwork-ui 2.2.0-dev.9ae0a68b → 2.2.0-dev.a9d33529

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 (241) 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/search.model.mjs +1 -1
  8. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
  9. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +5 -4
  10. package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +5 -3
  11. package/esm2022/libs/feature/map/src/index.mjs +2 -1
  12. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
  13. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
  14. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
  15. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
  16. package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
  17. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +23 -3
  18. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
  19. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
  20. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +5 -3
  21. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +3 -1
  22. package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
  23. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +60 -29
  24. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +29 -20
  25. package/esm2022/libs/feature/search/src/index.mjs +2 -1
  26. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +1 -1
  27. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
  28. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
  29. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +129 -0
  30. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +5 -3
  31. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
  32. package/esm2022/libs/ui/elements/src/index.mjs +3 -1
  33. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  34. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
  35. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
  36. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  37. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -7
  38. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
  39. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +7 -3
  40. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -3
  41. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  42. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  43. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  44. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  45. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  46. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
  47. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -3
  48. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  49. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +2 -2
  50. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
  51. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
  52. package/esm2022/libs/ui/search/src/index.mjs +1 -2
  53. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
  54. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
  55. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
  56. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
  57. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
  58. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
  59. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
  60. package/esm2022/translations/de.json +102 -94
  61. package/esm2022/translations/en.json +27 -19
  62. package/esm2022/translations/es.json +8 -0
  63. package/esm2022/translations/fr.json +12 -4
  64. package/esm2022/translations/it.json +11 -3
  65. package/esm2022/translations/nl.json +8 -0
  66. package/esm2022/translations/pt.json +8 -0
  67. package/fesm2022/geonetwork-ui.mjs +946 -457
  68. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  69. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +1 -0
  70. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  71. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  72. package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
  73. package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
  74. package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
  75. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
  76. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
  77. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +10 -5
  78. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  79. package/libs/common/domain/src/lib/model/search/search.model.d.ts +1 -2
  80. package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
  81. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
  82. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
  83. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
  84. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  85. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
  86. package/libs/feature/map/src/index.d.ts +1 -0
  87. package/libs/feature/map/src/index.d.ts.map +1 -1
  88. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
  89. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
  90. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
  91. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
  92. package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
  93. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  94. package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
  95. package/libs/feature/map/src/lib/feature-map.module.d.ts +15 -12
  96. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  97. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
  98. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
  99. package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
  100. package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
  101. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -0
  102. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  103. package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
  104. package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
  105. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
  106. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  107. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
  108. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  109. package/libs/feature/search/src/index.d.ts +1 -0
  110. package/libs/feature/search/src/index.d.ts.map +1 -1
  111. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +3 -3
  112. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  113. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
  114. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  115. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  116. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  117. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +34 -0
  118. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  119. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  120. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  121. package/libs/ui/elements/src/index.d.ts +2 -0
  122. package/libs/ui/elements/src/index.d.ts.map +1 -1
  123. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  124. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
  125. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
  126. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -0
  127. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  128. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
  129. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
  130. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +12 -11
  131. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  132. package/libs/ui/inputs/src/index.d.ts +1 -0
  133. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  134. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
  135. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
  136. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +2 -1
  137. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  138. package/libs/ui/layout/src/index.d.ts +2 -0
  139. package/libs/ui/layout/src/index.d.ts.map +1 -1
  140. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
  141. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
  142. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
  143. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
  144. package/libs/ui/search/src/index.d.ts +0 -1
  145. package/libs/ui/search/src/index.d.ts.map +1 -1
  146. package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
  147. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  148. package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
  149. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  150. package/package.json +4 -1
  151. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +3 -0
  152. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +43 -0
  153. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +1 -0
  154. package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
  155. package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
  156. package/src/libs/common/domain/src/lib/index.ts +2 -0
  157. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +12 -7
  158. package/src/libs/common/domain/src/lib/model/search/search.model.ts +1 -1
  159. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  160. package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
  161. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +8 -5
  162. package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
  163. package/src/libs/feature/map/src/index.ts +1 -0
  164. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
  165. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
  166. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
  167. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
  168. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
  169. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
  170. package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
  171. package/src/libs/feature/map/src/lib/feature-map.module.ts +12 -0
  172. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
  173. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
  174. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
  175. package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
  176. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +6 -2
  177. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +6 -0
  178. package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
  179. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
  180. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
  181. package/src/libs/feature/search/src/index.ts +1 -0
  182. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -1
  183. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
  184. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
  185. package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
  186. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +135 -0
  187. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +165 -0
  188. package/src/libs/feature/search/src/lib/state/effects.ts +4 -3
  189. package/src/libs/ui/elements/src/index.ts +2 -0
  190. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
  191. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
  192. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
  193. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
  194. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +52 -52
  195. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +2 -2
  196. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
  197. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +56 -27
  198. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +5 -0
  199. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  200. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
  201. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +4 -0
  202. package/src/libs/ui/inputs/src/index.ts +1 -0
  203. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  204. package/src/libs/ui/inputs/src/lib/button/button.component.css +1 -1
  205. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
  206. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  207. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
  208. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -0
  209. package/src/libs/ui/layout/src/index.ts +2 -0
  210. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
  211. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
  212. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
  213. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
  214. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
  215. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
  216. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
  217. package/src/libs/ui/search/src/index.ts +0 -1
  218. package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
  219. package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
  220. package/translations/de.json +102 -94
  221. package/translations/en.json +27 -19
  222. package/translations/es.json +8 -0
  223. package/translations/fr.json +12 -4
  224. package/translations/it.json +11 -3
  225. package/translations/nl.json +8 -0
  226. package/translations/pt.json +8 -0
  227. package/translations/sk.json +8 -0
  228. package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
  229. package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
  230. package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
  231. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
  232. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
  233. package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
  234. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
  235. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
  236. package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
  237. package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
  238. package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
  239. package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
  240. /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
  241. /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
@@ -0,0 +1,15 @@
1
+ .sort-button mat-icon {
2
+ padding: 0;
3
+ margin: 0;
4
+ height: 8px;
5
+ line-height: 8px;
6
+ font-size: 18px;
7
+ }
8
+
9
+ .table-header-cell {
10
+ @apply text-gray-700 px-4 py-5 flex items-center truncate bg-white;
11
+ }
12
+
13
+ button.table-header-cell {
14
+ @apply transition-colors duration-75 hover:text-main hover:bg-gray-50 focus:text-main focus:bg-gray-50;
15
+ }
@@ -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 },
@@ -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 {
@@ -16,20 +16,20 @@
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.labels.mySpace": "Mein Bereich",
20
+ "dashboard.records.all": "Katalog",
21
+ "dashboard.records.myDraft": "Meine Entwürfe",
22
+ "dashboard.records.myLibrary": "Meine Bibliothek",
23
+ "dashboard.records.myOrg": "Meine Organisation",
24
+ "dashboard.records.myRecords": "Meine Datensätze",
25
+ "dashboard.records.noRecord": "Kein Datensatz für diese Organisation",
26
+ "dashboard.records.noUser": "Keine Benutzer für diese Organisation",
27
+ "dashboard.records.publishedRecords": "{count, plural, =1{veröffentlichter Datensatz} other{veröffentlichte Datensätze}}",
28
+ "dashboard.records.search": "Suche nach \"{searchText}\"",
29
+ "dashboard.records.userDetail": "Name",
30
+ "dashboard.records.userEmail": "E-Mail",
31
+ "dashboard.records.username": "Benutzername",
32
+ "dashboard.records.users": "{count, plural, =1{Benutzer} other{Benutzer}}",
33
33
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Dateiformat-Erkennung",
34
34
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Sammeln von Datensatzinformationen",
35
35
  "datafeeder.analysisProgressBar.illustration.samplingData": "Datenauswahl",
@@ -43,7 +43,7 @@
43
43
  "datafeeder.form.datepicker": "Wissen Sie, wann der Datensatz erstellt wurde?",
44
44
  "datafeeder.form.description": "Beschreiben Sie abschließend den Prozess, der zur Erstellung des Datensatzes verwendet wurde",
45
45
  "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",
46
+ "datafeeder.form.tags": "Wählen Sie einen oder mehrere Tage aus, die zu Ihrem Datensatz passen",
47
47
  "datafeeder.form.title": "Geben Sie Ihrem Datensatz den besten Titel",
48
48
  "datafeeder.formsPage.title": "Erzählen Sie uns mehr über Ihren Datensatz",
49
49
  "datafeeder.month.april": "April",
@@ -58,16 +58,16 @@
58
58
  "datafeeder.month.november": "November",
59
59
  "datafeeder.month.october": "Oktober",
60
60
  "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?",
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 \n zum Veröffentlichen?",
63
63
  "datafeeder.publish.subtitle": "Das Veröffentlichen kann einige Minuten dauern.",
64
- "datafeeder.publish.title": "Vielen Dank! Ihr Datensatz wird veröffentlicht",
64
+ "datafeeder.publish.title": "Vielen Dank! \n Ihr Datensatz wird veröffentlicht",
65
65
  "datafeeder.publish.upload": "Jetzt hochladen",
66
66
  "datafeeder.publishSuccess.geonetworkRecord": "Metadatensatz",
67
67
  "datafeeder.publishSuccess.illustration.title": "Erledigt, alles ist gut!",
68
68
  "datafeeder.publishSuccess.mapViewer": "Kartenviewer",
69
69
  "datafeeder.publishSuccess.subtitle": "Zeigen Sie Ihre Daten an in:",
70
- "datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! Ihr Datensatz wurde veröffentlicht",
70
+ "datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! \n Ihr Datensatz wurde veröffentlicht",
71
71
  "datafeeder.publishSuccess.uploadAnotherData": "Ein weiteren Datensatz hochladen",
72
72
  "datafeeder.summarizePage.illustration": "Kein Fehler? Los geht's!",
73
73
  "datafeeder.summarizePage.previous": "Zurück",
@@ -75,11 +75,11 @@
75
75
  "datafeeder.summarizePage.title": "Sie sind fast fertig...",
76
76
  "datafeeder.upload.acceptedFormats": "Akzeptierte Dateiformate:",
77
77
  "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",
78
+ "datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen geografischen Datensatz enthält",
79
79
  "datafeeder.upload.error.subtitle.cantOpenFile": "Bitte überprüfen Sie, ob die Datei gültig ist",
80
80
  "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",
81
+ "datafeeder.upload.error.subtitle.fileSize": "Beachten Sie: Maximale Dateigröße {size} MB",
82
+ "datafeeder.upload.error.title.analysis": "Fehler während der Datensatzanalyse",
83
83
  "datafeeder.upload.error.title.cantOpenFile": "Fehler beim Öffnen der Datei",
84
84
  "datafeeder.upload.error.title.fileFormat": "Das ausgewählte Dateiformat wird nicht unterstützt",
85
85
  "datafeeder.upload.error.title.fileHasntSelected": "Keine Datei ausgewählt",
@@ -87,19 +87,19 @@
87
87
  "datafeeder.upload.error.title.noRightsToSendData": "Sie dürfen diesen Datensatz nicht veröffentlichen",
88
88
  "datafeeder.upload.illustration.enrichment": "Anreicherung",
89
89
  "datafeeder.upload.illustration.import": "Import",
90
- "datafeeder.upload.illustration.title": "Das Hinzufügen von Daten war noch nie einfacher",
90
+ "datafeeder.upload.illustration.title": "Das Hinzufügen von Daten \n war noch nie so einfach",
91
91
  "datafeeder.upload.illustration.validation": "Validierung",
92
- "datafeeder.upload.illustration.verification": "Verifizierung",
92
+ "datafeeder.upload.illustration.verification": "Überprüfung",
93
93
  "datafeeder.upload.inputLabel": "Importieren Sie Ihre Datei",
94
94
  "datafeeder.upload.maxFileSize": "Maximale Dateigröße beträgt {size} MB",
95
95
  "datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
96
96
  "datafeeder.upload.uploadButton": "Hochladen",
97
- "datafeeder.validation.encoding": "Kodierung",
97
+ "datafeeder.validation.encoding": "Codierung",
98
98
  "datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
99
99
  "datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
100
100
  "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",
101
+ "datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem aus",
102
+ "datafeeder.validation.sample.title": "Und eine Beispielentität aus dem Datensatz",
103
103
  "datafeeder.wizard.emptyRequiredValuesMessage": "Bitte füllen Sie die obligatorischen Felder aus",
104
104
  "datafeeder.wizardSummarize.createdAt": "Erstellt am",
105
105
  "datafeeder.wizardSummarize.scale": "Maßstab",
@@ -109,20 +109,20 @@
109
109
  "datahub.header.news": "Startseite",
110
110
  "datahub.header.organisations": "Organisationen",
111
111
  "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": "",
112
+ "datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten meiner Organisation</div>",
113
+ "datahub.news.contact.contactus": "Kontaktieren Sie uns",
114
+ "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>",
115
+ "datahub.news.contact.title": "Ein spezielles Bedürfnis?",
116
116
  "datahub.news.feed": "Nachrichtenfeed",
117
117
  "datahub.news.figures": "Indikatoren",
118
- "datahub.record.addToFavorites": "",
119
- "datahub.search.back": "Zurück zu den Ergebnissen",
118
+ "datahub.record.addToFavorites": "Zu Favoriten hinzufügen",
119
+ "datahub.search.back": "Zurück",
120
120
  "datahub.search.filter.all": "Alle",
121
- "datahub.search.filter.generatedByWfs": "Generiert durch API",
121
+ "datahub.search.filter.generatedByWfs": "Generiert durch eine API",
122
122
  "datahub.search.filter.others": "Andere",
123
123
  "dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
124
124
  "dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
125
- "dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht geparst werden: \"{ info }\"",
125
+ "dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht gelesen werden: \"{ info }\"",
126
126
  "dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
127
127
  "dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
128
128
  "domain.record.status.completed": "Abgeschlossen",
@@ -130,18 +130,18 @@
130
130
  "domain.record.status.ongoing": "Kontinuierliche Aktualisierung",
131
131
  "domain.record.status.removed": "Entfernt",
132
132
  "domain.record.status.under_development": "In Erstellung",
133
- "domain.record.updateFrequency.asNeeded": "Bei Bedarf",
134
- "domain.record.updateFrequency.continual": "Kontinuierlich",
133
+ "domain.record.updateFrequency.asNeeded": "Nach Bedarf",
134
+ "domain.record.updateFrequency.continual": "Fortlaufend",
135
135
  "domain.record.updateFrequency.day": "{count, plural, =0{0} one{Ein} other{{count}}} mal am Tag",
136
- "domain.record.updateFrequency.irregular": "Unregelmässig",
136
+ "domain.record.updateFrequency.irregular": "Unregelmäßig",
137
137
  "domain.record.updateFrequency.month": "{count, plural, =0{0} one{Ein} other{{count}}} mal im Monat",
138
138
  "domain.record.updateFrequency.notPlanned": "Nicht geplant",
139
- "domain.record.updateFrequency.periodic": "Regelmässig",
139
+ "domain.record.updateFrequency.periodic": "Regelmäßig",
140
140
  "domain.record.updateFrequency.unknown": "Unbekannt",
141
141
  "domain.record.updateFrequency.week": "{count, plural, =0{0} one{Ein} other{{count}}} mal in der Woche",
142
142
  "domain.record.updateFrequency.year": "{count, plural, =0{0} one{Ein} other{{count}}} mal im Jahr",
143
143
  "downloads.format.unknown": "unbekannt",
144
- "downloads.wfs.featuretype.not.found": "Die Schicht wurde nicht gefunden",
144
+ "downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
145
145
  "dropFile": "Datei ablegen",
146
146
  "externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
147
147
  "facets.block.title.OrgForResource": "Organisation",
@@ -176,14 +176,18 @@
176
176
  "map.add.layer.file": "Aus einer Datei",
177
177
  "map.add.layer.wfs": "Aus WFS",
178
178
  "map.add.layer.wms": "Aus WMS",
179
- "map.layer.add": "",
180
- "map.layers.available": "",
179
+ "map.addFromFile.placeholder": "Klicke hier oder ziehe eine Datei herein",
180
+ "map.geocoding.placeholder": "",
181
+ "map.help.addFromFile": "Klicke oder ziehe eine Datei herein um eine Karte hinzuzufügen (momentan wird nur das GeoJSON-Format unterstützt).",
182
+ "map.layer.add": "Hinzufügen",
183
+ "map.layers.available": "Verfügbare Layer",
181
184
  "map.layers.list": "Ebenen",
182
185
  "map.loading.data": "Kartendaten werden geladen...",
183
- "map.loading.service": "",
186
+ "map.loading.service": "Dienst wird geladen...",
184
187
  "map.navigation.message": "Bitte verwenden Sie STRG + Maus (oder zwei Finger auf einem Mobilgerät), um die Karte zu navigieren",
185
188
  "map.select.layer": "Datenquelle",
186
- "map.wms.urlInput.hint": "",
189
+ "map.wfs.urlInput.hint": "Geben Sie die WFS URL ein",
190
+ "map.wms.urlInput.hint": "Geben Sie die WMS URL ein",
187
191
  "multiselect.filter.placeholder": "Suche",
188
192
  "nav.back": "Zurück",
189
193
  "next": "weiter",
@@ -199,58 +203,61 @@
199
203
  "pagination.pageOf": "von",
200
204
  "previous": "zurück",
201
205
  "record.action.download": "Herunterladen",
202
- "record.action.view": "Ansehen",
206
+ "record.action.view": "Anzeigen",
203
207
  "record.externalViewer.open": "In externem Kartenviewer öffnen",
204
208
  "record.metadata.about": "Beschreibung",
205
209
  "record.metadata.api": "API",
206
- "record.metadata.api.form.closeButton": "",
207
- "record.metadata.api.form.closeForm": "",
208
- "record.metadata.api.form.create": "",
209
- "record.metadata.api.form.customUrl": "",
210
- "record.metadata.api.form.limit": "",
211
- "record.metadata.api.form.limit.all": "",
212
- "record.metadata.api.form.offset": "",
213
- "record.metadata.api.form.openForm": "",
214
- "record.metadata.api.form.reset": "",
215
- "record.metadata.api.form.title": "",
216
- "record.metadata.api.form.type": "",
217
- "record.metadata.author": "",
210
+ "record.metadata.api.form.closeButton": "Schließen",
211
+ "record.metadata.api.form.closeForm": "Formular schließen",
212
+ "record.metadata.api.form.create": "Ihre Anfrage erstellen",
213
+ "record.metadata.api.form.customUrl": "Benutzerdefinierte URL",
214
+ "record.metadata.api.form.limit": "Anzahl der Datensätze",
215
+ "record.metadata.api.form.limit.all": "Alle",
216
+ "record.metadata.api.form.offset": "Anzahl des ersten Datensatzes",
217
+ "record.metadata.api.form.openForm": "Formular öffnen",
218
+ "record.metadata.api.form.reset": "Zurücksetzen",
219
+ "record.metadata.api.form.title": "Benutzerdefinierte URL generieren",
220
+ "record.metadata.api.form.type": "Ausgabeformat",
221
+ "record.metadata.author": "Autor",
218
222
  "record.metadata.catalog": "Katalog",
219
223
  "record.metadata.contact": "Kontakt",
220
224
  "record.metadata.createdOn": "Erstellt am",
221
- "record.metadata.details": "Details",
225
+ "record.metadata.details": "Technische Informationen",
222
226
  "record.metadata.download": "Downloads",
223
- "record.metadata.formats": "",
227
+ "record.metadata.formats": "Formate",
224
228
  "record.metadata.isOpenData": "Open Data",
225
229
  "record.metadata.keywords": "Stichworte",
226
- "record.metadata.lastUpdate": "",
230
+ "record.metadata.lastUpdate": "Zuletzt aktualisiert am",
227
231
  "record.metadata.links": "Links",
228
- "record.metadata.noUsage": "Für diesen Datensatz sind keine Verwendungsbedingungen angegeben.",
232
+ "record.metadata.noUsage": "Für diesen Datensatz sind keine Nutzungsbedingungen angegeben.",
229
233
  "record.metadata.origin": "Über die Daten",
234
+ "record.metadata.owner": "",
230
235
  "record.metadata.preview": "Vorschau",
231
236
  "record.metadata.publications": "Veröffentlichungen",
232
- "record.metadata.quality": "",
233
- "record.metadata.quality.contact.failed": "",
234
- "record.metadata.quality.contact.success": "",
235
- "record.metadata.quality.description.failed": "",
236
- "record.metadata.quality.description.success": "",
237
- "record.metadata.quality.details": "",
238
- "record.metadata.quality.keywords.failed": "",
239
- "record.metadata.quality.keywords.success": "",
240
- "record.metadata.quality.legalConstraints.failed": "",
241
- "record.metadata.quality.legalConstraints.success": "",
242
- "record.metadata.quality.organisation.failed": "",
243
- "record.metadata.quality.organisation.success": "",
244
- "record.metadata.quality.title.failed": "",
245
- "record.metadata.quality.title.success": "",
246
- "record.metadata.quality.topic.failed": "",
247
- "record.metadata.quality.topic.success": "",
248
- "record.metadata.quality.updateFrequency.failed": "",
249
- "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",
250
255
  "record.metadata.related": "Ähnliche Datensätze",
251
- "record.metadata.sheet": "Weitere Informationen erhalten Sie unter :",
256
+ "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
257
+ "record.metadata.themes": "Kategorien",
252
258
  "record.metadata.title": "Titel",
253
- "record.metadata.type": "",
259
+ "record.metadata.type": "Geographischer Datensatz",
260
+ "record.metadata.uniqueId": "Eindeutige Kennung",
254
261
  "record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
255
262
  "record.metadata.updateStatus": "Aktualisierungsstatus der Daten",
256
263
  "record.metadata.updatedOn": "Letzte Aktualisierung der Dateninformationen",
@@ -262,23 +269,23 @@
262
269
  "record.was.created.time": "erstellte diesen Datensatz {time}",
263
270
  "records": "Datensätze",
264
271
  "results.layout.selectOne": "Layout auswählen",
265
- "results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{auf {hits} insgesamt angezeigt.}}",
266
- "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>",
272
+ "results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{angezeigt von {hits} insgesamt.}}",
273
+ "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>",
267
274
  "results.records.hits.found": "{hits, plural, =0{Keine Dokumente entsprechen der angegebenen Suche.} one{1 Datensatz gefunden.} other{{hits} Datensätze gefunden.}}",
268
- "results.records.hits.selected": "",
275
+ "results.records.hits.selected": "{ amount } ausgewählt",
269
276
  "results.showMore": "Mehr Ergebnisse anzeigen...",
270
- "results.sortBy.dateStamp": "Letzte Aktualisierungen",
277
+ "results.sortBy.dateStamp": "Neueste",
271
278
  "results.sortBy.popularity": "Beliebtheit",
272
- "results.sortBy.qualityScore": "",
279
+ "results.sortBy.qualityScore": "Qualitätsbewertung",
273
280
  "results.sortBy.relevancy": "Relevanz",
274
281
  "search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
275
282
  "search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
276
- "search.error.receivedError": "Ein Fehler wurde empfangen",
283
+ "search.error.receivedError": "Ein Fehler ist aufgetreten",
277
284
  "search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
278
- "search.field.any.placeholder": "Suche nach Datensätzen ...",
285
+ "search.field.any.placeholder": "Suche Datensätze ...",
279
286
  "search.field.sortBy": "Sortieren nach:",
280
287
  "search.filters.clear": "Zurücksetzen",
281
- "search.filters.contact": "Kontakt",
288
+ "search.filters.contact": "Kontakte",
282
289
  "search.filters.format": "Formate",
283
290
  "search.filters.inspireKeyword": "INSPIRE-Schlüsselwort",
284
291
  "search.filters.isSpatial": "Ist räumliche Daten",
@@ -296,13 +303,13 @@
296
303
  "search.filters.license.unknown": "Unbekannt oder nicht vorhanden",
297
304
  "search.filters.maximize": "Erweitern",
298
305
  "search.filters.minimize": "Minimieren",
299
- "search.filters.myRecords": "",
300
- "search.filters.myRecordsHelp": "",
301
- "search.filters.otherRecords": "",
306
+ "search.filters.myRecords": "Nur meine Datensätze anzeigen",
307
+ "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.",
308
+ "search.filters.otherRecords": "Datensätze von einer anderen Person anzeigen",
302
309
  "search.filters.publicationYear": "Veröffentlichungsjahr",
303
310
  "search.filters.publisher": "Organisationen",
304
- "search.filters.representationType": "",
305
- "search.filters.resourceType": "",
311
+ "search.filters.representationType": "Repräsentationstyp",
312
+ "search.filters.resourceType": "Ressourcentyp",
306
313
  "search.filters.standard": "Standard",
307
314
  "search.filters.title": "Ergebnisse filtern",
308
315
  "search.filters.topic": "Thema",
@@ -314,6 +321,7 @@
314
321
  "table.object.count": "Objekte in diesem Datensatz",
315
322
  "table.select.data": "Datenquelle",
316
323
  "tooltip.html.copy": "HTML kopieren",
324
+ "tooltip.id.copy": "",
317
325
  "tooltip.url.copy": "URL kopieren",
318
326
  "tooltip.url.open": "URL öffnen",
319
327
  "ui.readLess": "Weniger lesen",