geonetwork-ui 2.2.0-dev.aecf1900 → 2.2.0-dev.b0f82edc

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 (351) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +28 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +96 -59
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +7 -4
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.mjs +14 -0
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +25 -17
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +55 -23
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +52 -32
  9. package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
  10. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +10 -3
  11. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +14 -5
  12. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +33 -8
  13. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
  14. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  15. package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
  16. package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
  17. package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
  18. package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
  19. package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
  20. package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
  21. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  22. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
  23. package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +5 -3
  24. package/esm2022/libs/feature/map/src/index.mjs +2 -1
  25. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
  26. package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
  27. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +17 -3
  28. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
  29. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
  30. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +9 -1
  31. package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
  32. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +60 -29
  33. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +29 -20
  34. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
  35. package/esm2022/libs/feature/search/src/index.mjs +4 -1
  36. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +3 -3
  37. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
  38. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
  39. package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
  40. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
  41. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
  42. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +2 -2
  43. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
  44. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
  45. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  46. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +41 -26
  47. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +11 -9
  48. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  49. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  50. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  51. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  52. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
  53. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +5 -3
  54. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  55. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +47 -22
  56. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -4
  57. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
  58. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +3 -3
  59. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +6 -4
  60. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  61. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  62. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +3 -3
  63. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  64. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  65. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  66. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
  67. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
  68. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
  69. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +12 -7
  70. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  71. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  72. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
  73. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
  74. package/esm2022/libs/ui/search/src/index.mjs +1 -2
  75. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
  76. package/esm2022/libs/util/i18n/src/index.mjs +1 -2
  77. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +18 -1
  78. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  79. package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +32 -0
  80. package/esm2022/translations/de.json +35 -25
  81. package/esm2022/translations/en.json +36 -26
  82. package/esm2022/translations/es.json +30 -20
  83. package/esm2022/translations/fr.json +49 -39
  84. package/esm2022/translations/it.json +42 -32
  85. package/esm2022/translations/nl.json +31 -21
  86. package/esm2022/translations/pt.json +30 -20
  87. package/fesm2022/geonetwork-ui.mjs +1251 -837
  88. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  89. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +3 -0
  90. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  91. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +0 -1
  92. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  93. package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
  94. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +4 -5
  95. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  96. package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts +3 -0
  97. package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts.map +1 -0
  98. package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +1 -1
  99. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +7 -6
  100. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  101. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +4 -3
  102. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  103. package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
  104. package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
  105. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  106. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +1 -1
  107. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  108. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -2
  109. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  110. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
  111. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
  112. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +30 -17
  113. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  114. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
  115. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
  116. package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
  117. package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
  118. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
  119. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  120. package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
  121. package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
  122. package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
  123. package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
  124. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +1 -0
  125. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  126. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
  127. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  128. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
  129. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
  130. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
  131. package/libs/feature/map/src/index.d.ts +1 -0
  132. package/libs/feature/map/src/index.d.ts.map +1 -1
  133. package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
  134. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  135. package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
  136. package/libs/feature/map/src/lib/feature-map.module.d.ts +13 -12
  137. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  138. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
  139. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
  140. package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
  141. package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
  142. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -0
  143. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  144. package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
  145. package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
  146. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
  147. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  148. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
  149. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  150. package/libs/feature/search/src/index.d.ts +3 -0
  151. package/libs/feature/search/src/index.d.ts.map +1 -1
  152. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +3 -3
  153. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  154. package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
  155. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  156. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
  157. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  158. package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
  159. package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
  160. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  161. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  162. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
  163. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
  164. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
  165. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  166. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  167. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
  168. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  169. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -8
  170. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  171. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  172. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  173. package/libs/ui/elements/src/index.d.ts +1 -0
  174. package/libs/ui/elements/src/index.d.ts.map +1 -1
  175. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +1 -1
  176. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -1
  177. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +1 -1
  178. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +16 -6
  179. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  180. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  181. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
  182. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  183. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -13
  184. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  185. package/libs/ui/inputs/src/index.d.ts +1 -0
  186. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  187. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  188. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  189. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
  190. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
  191. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +1 -1
  192. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  193. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +40 -39
  194. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  195. package/libs/ui/layout/src/index.d.ts +2 -0
  196. package/libs/ui/layout/src/index.d.ts.map +1 -1
  197. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
  198. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
  199. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
  200. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
  201. package/libs/ui/search/src/index.d.ts +0 -1
  202. package/libs/ui/search/src/index.d.ts.map +1 -1
  203. package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
  204. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  205. package/libs/util/i18n/src/index.d.ts +0 -1
  206. package/libs/util/i18n/src/index.d.ts.map +1 -1
  207. package/libs/util/i18n/src/lib/i18n.constants.d.ts +17 -0
  208. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  209. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  210. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  211. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +5 -0
  212. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -0
  213. package/package.json +4 -1
  214. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +63 -8
  215. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +57 -9
  216. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +229 -24
  217. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +32 -0
  218. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +140 -74
  219. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +6 -3
  220. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -5
  221. package/src/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.ts +16 -0
  222. package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +30 -21
  223. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +120 -63
  224. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +177 -97
  225. package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
  226. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +22 -2
  227. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +15 -4
  228. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -8
  229. package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
  230. package/src/libs/common/domain/src/lib/index.ts +2 -0
  231. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +36 -21
  232. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
  233. package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
  234. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
  235. package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
  236. package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
  237. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +1 -0
  238. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  239. package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -4
  240. package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.ts +1 -1
  241. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +1 -1
  242. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +52 -10
  243. package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
  244. package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
  245. package/src/libs/feature/map/src/index.ts +1 -0
  246. package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
  247. package/src/libs/feature/map/src/lib/feature-map.module.ts +8 -0
  248. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
  249. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
  250. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
  251. package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
  252. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +10 -0
  253. package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
  254. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
  255. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
  256. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
  257. package/src/libs/feature/search/src/index.ts +3 -0
  258. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +3 -4
  259. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -1
  260. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
  261. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
  262. package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
  263. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
  264. package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
  265. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
  266. package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
  267. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
  268. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
  269. package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
  270. package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
  271. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +21 -16
  272. package/src/libs/feature/search/src/lib/utils/service/fields.ts +43 -34
  273. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  274. package/src/libs/ui/elements/src/index.ts +1 -0
  275. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
  276. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +3 -2
  277. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +5 -0
  278. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +39 -0
  279. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +58 -0
  280. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +2 -2
  281. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +1 -0
  282. package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.html +5 -1
  283. package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.ts +1 -0
  284. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +2 -2
  285. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +157 -42
  286. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +51 -15
  287. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +2 -3
  288. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
  289. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
  290. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.html +2 -2
  291. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -1
  292. package/src/libs/ui/inputs/src/index.ts +1 -0
  293. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  294. package/src/libs/ui/inputs/src/lib/button/button.component.ts +1 -0
  295. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
  296. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +2 -2
  297. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +3 -1
  298. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
  299. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +3 -0
  300. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +1 -1
  301. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -0
  302. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +5 -2
  303. package/src/libs/ui/layout/src/index.ts +2 -0
  304. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -0
  305. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
  306. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
  307. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
  308. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
  309. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
  310. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
  311. package/src/libs/ui/search/src/index.ts +0 -1
  312. package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
  313. package/src/libs/util/i18n/src/index.ts +0 -1
  314. package/src/libs/util/i18n/src/lib/i18n.constants.ts +18 -0
  315. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  316. package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +32 -0
  317. package/tailwind.base.css +2 -2
  318. package/translations/de.json +35 -25
  319. package/translations/en.json +36 -26
  320. package/translations/es.json +30 -20
  321. package/translations/fr.json +49 -39
  322. package/translations/it.json +42 -32
  323. package/translations/nl.json +31 -21
  324. package/translations/pt.json +30 -20
  325. package/translations/sk.json +31 -21
  326. package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
  327. package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
  328. package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
  329. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
  330. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
  331. package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
  332. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
  333. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
  334. package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
  335. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
  336. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
  337. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
  338. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
  339. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
  340. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
  341. package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
  342. package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
  343. package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
  344. package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
  345. package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
  346. package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
  347. package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
  348. package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
  349. package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
  350. /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
  351. /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
@@ -0,0 +1,48 @@
1
+ import {
2
+ Directive,
3
+ ElementRef,
4
+ Renderer2,
5
+ AfterViewInit,
6
+ EventEmitter,
7
+ Output,
8
+ Input,
9
+ } from '@angular/core'
10
+
11
+ @Directive({
12
+ selector: '[gnUiEditableLabel]',
13
+ standalone: true,
14
+ })
15
+ export class EditableLabelDirective implements AfterViewInit {
16
+ @Output() editableLabelChanged = new EventEmitter<string>()
17
+ @Input() gnUiEditableLabel?: boolean
18
+
19
+ constructor(private el: ElementRef, private renderer: Renderer2) {}
20
+
21
+ ngAfterViewInit() {
22
+ if (this.gnUiEditableLabel !== false) {
23
+ const appendedInput = this.renderer.createElement('input')
24
+
25
+ this.renderer.setStyle(appendedInput, 'background', 'inherit')
26
+ this.renderer.setStyle(appendedInput, 'color', 'inherit')
27
+ this.renderer.setStyle(appendedInput, 'font', 'inherit')
28
+ this.renderer.setStyle(appendedInput, 'border', 'inherit')
29
+ this.renderer.setStyle(appendedInput, 'width', '100%')
30
+ this.renderer.setStyle(appendedInput, 'padding', 'inherit')
31
+ this.renderer.setStyle(appendedInput, 'margin', '0')
32
+ this.renderer.setStyle(appendedInput, 'height', 'inherit')
33
+ this.renderer.setStyle(appendedInput, 'line-height', 'inherit')
34
+ this.renderer.setStyle(appendedInput, 'text-decoration', 'inherit')
35
+
36
+ const hostContent = this.el.nativeElement.textContent || ''
37
+ const formattedContent = hostContent.replace(/\s+/g, ' ').trim()
38
+ this.renderer.setProperty(appendedInput, 'value', formattedContent)
39
+ this.renderer.setProperty(this.el.nativeElement, 'innerHTML', '')
40
+
41
+ this.renderer.listen(appendedInput, 'input', (event) => {
42
+ this.editableLabelChanged.emit(event.target.value)
43
+ })
44
+
45
+ this.renderer.appendChild(this.el.nativeElement, appendedInput)
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,3 @@
1
+ button {
2
+ color: var(--navigation-button-color, --color-background);
3
+ }
@@ -1,5 +1,5 @@
1
1
  <button
2
- class="group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 text-white rounded content-center"
2
+ class="group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 rounded content-center"
3
3
  >
4
4
  <mat-icon class="material-symbols-outlined align-middle w-[18px]">{{
5
5
  icon
@@ -12,6 +12,7 @@ import { distinctUntilChanged } from 'rxjs/operators'
12
12
  selector: 'gn-ui-text-area',
13
13
  templateUrl: './text-area.component.html',
14
14
  styleUrls: ['./text-area.component.css'],
15
+ standalone: true,
15
16
  })
16
17
  export class TextAreaComponent implements AfterViewInit {
17
18
  @Input() value = ''
@@ -41,15 +41,14 @@ import { MatFormFieldModule } from '@angular/material/form-field'
41
41
  import { MatInputModule } from '@angular/material/input'
42
42
  import { MatDatepickerModule } from '@angular/material/datepicker'
43
43
  import { MatNativeDateModule } from '@angular/material/core'
44
+ import { EditableLabelDirective } from './editable-label/editable-label.directive'
44
45
 
45
46
  @NgModule({
46
47
  declarations: [
47
48
  DropdownSelectorComponent,
48
49
  AutocompleteComponent,
49
- ButtonComponent,
50
50
  TextInputComponent,
51
51
  DragAndDropFileInputComponent,
52
- TextAreaComponent,
53
52
  ChipsInputComponent,
54
53
  NavigationButtonComponent,
55
54
  StarToggleComponent,
@@ -87,6 +86,9 @@ import { MatNativeDateModule } from '@angular/material/core'
87
86
  MatInputModule,
88
87
  MatDatepickerModule,
89
88
  MatNativeDateModule,
89
+ EditableLabelDirective,
90
+ TextAreaComponent,
91
+ ButtonComponent,
90
92
  ],
91
93
  exports: [
92
94
  DropdownSelectorComponent,
@@ -106,6 +108,7 @@ import { MatNativeDateModule } from '@angular/material/core'
106
108
  CheckboxComponent,
107
109
  SearchInputComponent,
108
110
  DateRangePickerComponent,
111
+ EditableLabelDirective,
109
112
  ],
110
113
  })
111
114
  export class UiInputsModule {}
@@ -4,3 +4,5 @@ export * from './lib/carousel/carousel.component'
4
4
  export * from './lib/expandable-panel/expandable-panel.component'
5
5
  export * from './lib/sticky-header/sticky-header.component'
6
6
  export * from './lib/expandable-panel-button/expandable-panel-button.component'
7
+ export * from './lib/interactive-table/interactive-table.component'
8
+ export * from './lib/interactive-table/interactive-table-column/interactive-table-column.component'
@@ -4,6 +4,7 @@
4
4
  </div>
5
5
  </div>
6
6
  <div
7
+ *ngIf="steps.length > 1"
7
8
  class="absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1"
8
9
  [ngClass]="stepsContainerClass"
9
10
  >
@@ -0,0 +1,33 @@
1
+ import {
2
+ ChangeDetectionStrategy,
3
+ Component,
4
+ ContentChild,
5
+ EventEmitter,
6
+ Input,
7
+ Output,
8
+ TemplateRef,
9
+ } from '@angular/core'
10
+ import { CommonModule } from '@angular/common'
11
+
12
+ @Component({
13
+ selector: 'gn-ui-interactive-table-column',
14
+ standalone: true,
15
+ imports: [CommonModule],
16
+ templateUrl: './interactive-table-column.component.html',
17
+ styleUrls: ['./interactive-table-column.component.css'],
18
+ changeDetection: ChangeDetectionStrategy.OnPush,
19
+ })
20
+ export class InteractiveTableColumnComponent {
21
+ @ContentChild('header') header: TemplateRef<unknown>
22
+ @ContentChild('cell') cell: TemplateRef<unknown>
23
+
24
+ @Input() grow = false
25
+ @Input() sortable = false
26
+ @Input() activeSort: 'asc' | 'desc' | null = null
27
+ @Output() sortChange = new EventEmitter<'asc' | 'desc'>()
28
+
29
+ handleSortChange() {
30
+ this.activeSort = this.activeSort === 'asc' ? 'desc' : 'asc'
31
+ this.sortChange.emit(this.activeSort)
32
+ }
33
+ }
@@ -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 },
@@ -3,6 +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'
8
7
  export * from './lib/translate.loader.utils'
@@ -40,6 +40,24 @@ export const LANG_3_TO_2_MAPPER = {
40
40
  slo: 'sk',
41
41
  }
42
42
 
43
+ export const LANGUAGE_NAMES = {
44
+ en: 'English',
45
+ nl: 'Nederlands',
46
+ fr: 'Français',
47
+ de: 'Deutsch',
48
+ ko: '한국어',
49
+ es: 'Español',
50
+ cs: 'Čeština',
51
+ ca: 'Català',
52
+ fi: 'Suomi',
53
+ is: 'Íslenska',
54
+ it: 'Italiano',
55
+ pt: 'Português',
56
+ ru: 'Русский',
57
+ zh: '中文',
58
+ sk: 'Slovenčina',
59
+ }
60
+
43
61
  // Caution: changing this can break language selection from third parties!
44
62
  export const LANGUAGE_STORAGE_KEY = 'geonetwork-ui-language'
45
63
 
@@ -6,3 +6,4 @@ export * from './sort-by'
6
6
  export * from './url'
7
7
  export * from './event'
8
8
  export * from './fuzzy-filter'
9
+ export * from './temporal-extent-union'
@@ -0,0 +1,32 @@
1
+ export function getTemporalRangeUnion(ranges) {
2
+ let earliestStartDate = Infinity
3
+ let latestEndDate = -Infinity
4
+ if (ranges.length) {
5
+ for (let i = 0; i < ranges.length; i++) {
6
+ const rangeStart = ranges[i].start
7
+ ? new Date(ranges[i].start).getTime()
8
+ : -Infinity
9
+ const rangeEnd = ranges[i].end
10
+ ? new Date(ranges[i].end).getTime()
11
+ : Infinity
12
+ if (rangeStart < earliestStartDate) {
13
+ earliestStartDate = rangeStart
14
+ }
15
+ if (rangeEnd > latestEndDate) {
16
+ latestEndDate = rangeEnd
17
+ }
18
+ }
19
+ return {
20
+ start:
21
+ earliestStartDate !== -Infinity
22
+ ? new Date(earliestStartDate).toLocaleDateString()
23
+ : undefined,
24
+ end:
25
+ latestEndDate !== Infinity
26
+ ? new Date(latestEndDate).toLocaleDateString()
27
+ : undefined,
28
+ }
29
+ } else {
30
+ return undefined
31
+ }
32
+ }
package/tailwind.base.css CHANGED
@@ -31,8 +31,8 @@
31
31
 
32
32
  .btn-outline {
33
33
  @apply btn text-main
34
- bg-white hover:text-primary-darker focus:text-primary-darker active:text-primary-black
35
- border border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker;
34
+ bg-transparent hover:text-primary-darker focus:text-primary-darker active:text-primary-black
35
+ border border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker;
36
36
  }
37
37
 
38
38
  .btn-light {
@@ -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.createRecord": "Neuer Eintrag",
19
20
  "dashboard.labels.mySpace": "Mein Bereich",
20
21
  "dashboard.records.all": "Katalog",
21
22
  "dashboard.records.myDraft": "Meine Entwürfe",
22
23
  "dashboard.records.myLibrary": "Meine Bibliothek",
23
24
  "dashboard.records.myOrg": "Meine Organisation",
24
25
  "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
26
  "dashboard.records.publishedRecords": "{count, plural, =1{veröffentlichter Datensatz} other{veröffentlichte Datensätze}}",
28
27
  "dashboard.records.search": "Suche nach \"{searchText}\"",
29
28
  "dashboard.records.userDetail": "Name",
30
29
  "dashboard.records.userEmail": "E-Mail",
31
30
  "dashboard.records.username": "Benutzername",
32
31
  "dashboard.records.users": "{count, plural, =1{Benutzer} other{Benutzer}}",
32
+ "dashboard.results.listMetadata": "Metadaten anzeigen",
33
+ "dashboard.results.listResources": "Ressourcen anzeigen",
33
34
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Dateiformat-Erkennung",
34
35
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Sammeln von Datensatzinformationen",
35
36
  "datafeeder.analysisProgressBar.illustration.samplingData": "Datenauswahl",
@@ -156,27 +157,28 @@
156
157
  "facets.block.title.tag.default": "Stichwort",
157
158
  "facets.block.title.th_regions_tree.default": "Regionen",
158
159
  "favorite.not.authenticated.tooltip": "<div><a href=' {link} '>Anmelden</a>, um auf diese Funktion zuzugreifen</div>",
159
- "language.ca": "Català",
160
- "language.cs": "Čeština",
160
+ "language.ca": "Katalanisch",
161
+ "language.cs": "Tschechisch",
161
162
  "language.de": "Deutsch",
162
- "language.en": "English",
163
- "language.es": "Español",
164
- "language.fi": "Suomi",
165
- "language.fr": "Français",
166
- "language.is": "Íslenska",
167
- "language.it": "Italiano",
168
- "language.ko": "한국어",
169
- "language.nl": "Nederlands",
170
- "language.pt": "Português",
171
- "language.ru": "Русский",
172
- "language.sk": "Slovenčina",
173
- "language.zh": "中文",
163
+ "language.en": "Englisch",
164
+ "language.es": "Spanisch",
165
+ "language.fi": "Finnisch",
166
+ "language.fr": "Französisch",
167
+ "language.is": "Isländisch",
168
+ "language.it": "Italienisch",
169
+ "language.ko": "Koreanisch",
170
+ "language.nl": "Niederländisch",
171
+ "language.pt": "Portugiesisch",
172
+ "language.ru": "Russisch",
173
+ "language.sk": "Slowakisch",
174
+ "language.zh": "Chinesisch",
174
175
  "map.add.layer": "Eine Ebene hinzufügen",
175
176
  "map.add.layer.catalog": "Aus dem Katalog",
176
177
  "map.add.layer.file": "Aus einer Datei",
177
178
  "map.add.layer.wfs": "Aus WFS",
178
179
  "map.add.layer.wms": "Aus WMS",
179
180
  "map.addFromFile.placeholder": "Klicke hier oder ziehe eine Datei herein",
181
+ "map.geocoding.placeholder": "Nach einem Ort suchen",
180
182
  "map.help.addFromFile": "Klicke oder ziehe eine Datei herein um eine Karte hinzuzufügen (momentan wird nur das GeoJSON-Format unterstützt).",
181
183
  "map.layer.add": "Hinzufügen",
182
184
  "map.layers.available": "Verfügbare Layer",
@@ -220,18 +222,20 @@
220
222
  "record.metadata.author": "Autor",
221
223
  "record.metadata.catalog": "Katalog",
222
224
  "record.metadata.contact": "Kontakt",
223
- "record.metadata.createdOn": "Erstellt am",
224
- "record.metadata.details": "Technische Informationen",
225
+ "record.metadata.creation": "Erstellungsdatum",
226
+ "record.metadata.details": "Über die Daten",
225
227
  "record.metadata.download": "Downloads",
226
228
  "record.metadata.formats": "Formate",
227
- "record.metadata.isOpenData": "Open Data",
228
229
  "record.metadata.keywords": "Stichworte",
229
- "record.metadata.lastUpdate": "Zuletzt aktualisiert am",
230
+ "record.metadata.languages": "Sprachen",
231
+ "record.metadata.lastUpdate": "Zuletzt aktualisiert am {date}",
230
232
  "record.metadata.links": "Links",
231
233
  "record.metadata.noUsage": "Für diesen Datensatz sind keine Nutzungsbedingungen angegeben.",
232
- "record.metadata.origin": "Über die Daten",
233
- "record.metadata.owner": "",
234
+ "record.metadata.otherConstraints": "Zusätzliche Bedingungen",
235
+ "record.metadata.owner": "Herkunftskatalog",
234
236
  "record.metadata.preview": "Vorschau",
237
+ "record.metadata.producer": "Datenproduzent",
238
+ "record.metadata.publication": "Veröffentlichungsdatum",
235
239
  "record.metadata.publications": "Veröffentlichungen",
236
240
  "record.metadata.quality": "Metadatenqualität",
237
241
  "record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
@@ -253,12 +257,17 @@
253
257
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
254
258
  "record.metadata.related": "Ähnliche Datensätze",
255
259
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
256
- "record.metadata.themes": "Kategorien",
260
+ "record.metadata.status": "Status",
261
+ "record.metadata.technical": "Technische Informationen",
262
+ "record.metadata.temporalExtent": "Zeitlicher Umfang",
263
+ "record.metadata.temporalExtent.fromDateToDate": "Von {start} bis {end}",
264
+ "record.metadata.temporalExtent.sinceDate": "Seit {start}",
265
+ "record.metadata.temporalExtent.untilDate": "Bis {end}",
257
266
  "record.metadata.title": "Titel",
267
+ "record.metadata.topics": "Kategorien",
258
268
  "record.metadata.type": "Geographischer Datensatz",
259
269
  "record.metadata.uniqueId": "Eindeutige Kennung",
260
270
  "record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
261
- "record.metadata.updateStatus": "Aktualisierungsstatus der Daten",
262
271
  "record.metadata.updatedOn": "Letzte Aktualisierung der Dateninformationen",
263
272
  "record.metadata.usage": "Nutzung und Einschränkungen",
264
273
  "record.more.details": "Weitere Details",
@@ -290,6 +299,7 @@
290
299
  "search.filters.isSpatial": "Ist räumliche Daten",
291
300
  "search.filters.isSpatial.no": "nicht räumlich",
292
301
  "search.filters.isSpatial.yes": "räumlich",
302
+ "search.filters.keyword": "Schlüsselwort",
293
303
  "search.filters.license": "Lizenz",
294
304
  "search.filters.license.cc-by": "Creative Commons CC-BY",
295
305
  "search.filters.license.cc-by-sa": "Creative Commons CC-BY-SA",
@@ -320,7 +330,7 @@
320
330
  "table.object.count": "Objekte in diesem Datensatz",
321
331
  "table.select.data": "Datenquelle",
322
332
  "tooltip.html.copy": "HTML kopieren",
323
- "tooltip.id.copy": "",
333
+ "tooltip.id.copy": "Eindeutige Kennung kopieren",
324
334
  "tooltip.url.copy": "URL kopieren",
325
335
  "tooltip.url.open": "URL öffnen",
326
336
  "ui.readLess": "Weniger lesen",