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
@@ -36,6 +36,7 @@ export const GENERIC_DATASET_RECORD: DatasetRecord = {
36
36
  contactsForResource: [],
37
37
  status: 'ongoing',
38
38
  recordCreated: new Date('2022-02-01T15:12:00'),
39
+ recordPublished: new Date('2022-02-01T15:12:00'),
39
40
  recordUpdated: new Date('2022-02-01T15:12:00'),
40
41
  datasetCreated: new Date('2022-09-01T14:18:19'),
41
42
  datasetUpdated: new Date('2022-12-04T15:12:00'),
@@ -57,8 +58,61 @@ Cette section contient des *caractères internationaux* (ainsi que des "caractè
57
58
  url: new URL('http://my-org.net/two.png'),
58
59
  },
59
60
  ],
60
- keywords: ['international', 'test', '_another_keyword_'],
61
- themes: ['testData', 'exampleData'],
61
+ keywords: [
62
+ {
63
+ thesaurus: {
64
+ id: 'geonetwork.thesaurus.local',
65
+ name: 'geonetwork.thesaurus.local',
66
+ },
67
+ type: 'other',
68
+ label: 'international',
69
+ },
70
+ {
71
+ thesaurus: {
72
+ id: 'geonetwork.thesaurus.local',
73
+ name: 'geonetwork.thesaurus.local',
74
+ },
75
+ type: 'other',
76
+ label: 'test',
77
+ },
78
+ {
79
+ thesaurus: {
80
+ id: 'geonetwork.thesaurus.local',
81
+ name: 'geonetwork.thesaurus.local',
82
+ },
83
+ type: 'other',
84
+ label: '_another_keyword_',
85
+ },
86
+ {
87
+ thesaurus: {
88
+ id: 'geonetwork.thesaurus.theme',
89
+ name: 'geonetwork.thesaurus.theme',
90
+ },
91
+ type: 'theme',
92
+ label: 'test theme',
93
+ },
94
+ {
95
+ thesaurus: {
96
+ id: 'geonetwork.thesaurus.place',
97
+ name: 'geonetwork.thesaurus.place',
98
+ },
99
+ type: 'place',
100
+ label: 'test place',
101
+ },
102
+ {
103
+ type: 'theme',
104
+ label: 'themeNoThesaurus',
105
+ },
106
+ {
107
+ type: 'theme',
108
+ label: 'themeNoThesaurus 2',
109
+ },
110
+ {
111
+ type: 'temporal',
112
+ label: 'temporalNoThesaurus',
113
+ },
114
+ ],
115
+ topics: ['agriculture'],
62
116
  spatialRepresentation: 'grid',
63
117
  distributions: [
64
118
  {
@@ -93,9 +147,9 @@ Cette section contient des *caractères internationaux* (ainsi que des "caractè
93
147
  lineage: `This record was edited manually to test the conversion processes
94
148
 
95
149
  As such, **it is not very interesting at all.**`,
96
- useLimitations: [
97
- 'Should only be used as a testing tool',
98
- 'Might cause minor annoyance in people',
150
+ otherConstraints: [
151
+ { text: 'Should only be used as a testing tool' },
152
+ { text: 'Might cause minor annoyance in people' },
99
153
  ],
100
154
  licenses: [
101
155
  {
@@ -103,14 +157,14 @@ As such, **it is not very interesting at all.**`,
103
157
  url: new URL('https://data.rennesmetropole.fr/pages/licence/'),
104
158
  },
105
159
  ],
106
- accessConstraints: [
160
+ legalConstraints: [
107
161
  {
108
162
  text: "Dataset access isn't possible since it does not really exist",
109
- type: 'other',
110
163
  },
164
+ ],
165
+ securityConstraints: [
111
166
  {
112
167
  text: 'Contains sensitive information related to national defense',
113
- type: 'security',
114
168
  },
115
169
  ],
116
170
  spatialExtents: [],
@@ -119,4 +173,5 @@ As such, **it is not very interesting at all.**`,
119
173
  updatedTimes: 3,
120
174
  per: 'month',
121
175
  },
176
+ languages: [],
122
177
  }
@@ -18,6 +18,7 @@ export const GEO2FRANCE_PLU_DATASET_RECORD: DatasetRecord = {
18
18
  ],
19
19
  contactsForResource: [],
20
20
  recordCreated: new Date('2022-04-15T14:18:19'),
21
+ recordPublished: new Date('2022-04-15T14:18:19'),
21
22
  recordUpdated: new Date('2022-04-15T14:18:19'),
22
23
  datasetUpdated: new Date('2022-03-29'),
23
24
  title:
@@ -38,13 +39,57 @@ Malgré l'attention portée à la création de ces données, il est rappelé que
38
39
  },
39
40
  ],
40
41
  keywords: [
41
- 'planification',
42
- 'PLU',
43
- "Plan local d'urbanisme",
44
- 'données ouvertes',
45
- 'Avrigny*60036',
42
+ {
43
+ thesaurus: {
44
+ name: 'GEMET - INSPIRE themes, version 1.0',
45
+ id: 'geonetwork.thesaurus.external.theme.inspire-theme',
46
+ url: new URL(
47
+ 'http://geo.compiegnois.fr/geonetwork/srv/eng/thesaurus.download?ref=external.theme.inspire-theme'
48
+ ),
49
+ },
50
+ type: 'theme',
51
+ label: 'Usage des sols',
52
+ },
53
+ {
54
+ thesaurus: {
55
+ name: 'GEMET - Concepts, version 2.4',
56
+ id: 'geonetwork.thesaurus.external.theme.gemet',
57
+ url: new URL(
58
+ 'http://geo.compiegnois.fr/geonetwork/srv/eng/thesaurus.download?ref=external.theme.gemet'
59
+ ),
60
+ },
61
+ type: 'theme',
62
+ label: "document d'urbanisme",
63
+ },
64
+ {
65
+ type: 'other',
66
+ label: 'planification',
67
+ },
68
+ {
69
+ type: 'other',
70
+ label: 'PLU',
71
+ },
72
+ {
73
+ type: 'other',
74
+ label: "Plan local d'urbanisme",
75
+ },
76
+ {
77
+ type: 'other',
78
+ label: 'données ouvertes',
79
+ },
80
+ {
81
+ thesaurus: {
82
+ id: 'geonetwork.thesaurus.external.place.GeoCompiegnois',
83
+ name: 'Collectivités du Pays Compiégnois',
84
+ url: new URL(
85
+ 'http://geo.compiegnois.fr/geonetwork/srv/eng/thesaurus.download?ref=external.place.GeoCompiegnois'
86
+ ),
87
+ },
88
+ type: 'place',
89
+ label: 'Avrigny*60036',
90
+ },
46
91
  ],
47
- themes: ['Usage des sols', "document d'urbanisme"],
92
+ topics: ['planningCadastre'],
48
93
  spatialRepresentation: 'vector',
49
94
  distributions: [
50
95
  {
@@ -59,17 +104,20 @@ Malgré l'attention portée à la création de ces données, il est rappelé que
59
104
  ],
60
105
  lineage: `Document d’urbanisme numérisé conformément aux prescriptions nationales du CNIG par le Service d'Information Géographique de l'Agglomération de la Région de Compiègne.
61
106
  Ce lot de données produit en 2019, a été numérisé à partir du PCI Vecteur de 2019 et contrôlé par le Service d'Information Géographique de l'Agglomération de la Région de Compiègne.`,
62
- accessConstraints: [],
63
- useLimitations: ["Aucune condition ne s'applique", 'Licence Ouverte 2.0'],
64
107
  licenses: [
65
- // this does not make sense but there's no way to infer anything else from the metadata
66
108
  {
67
109
  text: "En dépit des efforts et diligences mis en œuvre pour en vérifier la fiabilité, le fournisseur n’est pas en mesure de garantir l’exactitude, la mise à jour, l’intégrité, l’exhaustivité des données et en particulier que les données sont exemptes d'erreurs, notamment de localisation, d’identification ou d’actualisation ou d’imprécisions. Les données ne sont pas fournies en vue d'une utilisation particulière et aucune garantie quant à leur aptitude à un usage particulier n'est apportée par le fournisseur. En conséquence, les utilisateurs utilisent les données sous leur responsabilité pleine et entière, à leurs risques et périls, sans recours possible contre le fournisseur dont la responsabilité ne saurait être engagée du fait d’un dommage résultant directement ou indirectement de l’utilisation de ces données. En particulier, il appartient aux utilisateurs d’apprécier, sous leur seule responsabilité : – l'opportunité d'utiliser les données ; – la compatibilité des fichiers avec leurs systèmes informatiques ; – l’adéquation des données à leurs besoins ; – qu’ils disposent de la compétence suffisante pour utiliser les données ; – l’opportunité d’utiliser la documentation ou les outils d’analyse fournis ou préconisés, en relation avec l’utilisation des données, le cas échéant. Le fournisseur n’est en aucune façon responsable des éléments extérieurs aux données et notamment des outils d’analyse, matériels, logiciels, réseaux..., utilisés pour consulter et/ou traiter les données, même s’il a préconisé ces éléments. L’utilisateur veille à vérifier que l’actualité des informations mises à disposition est compatible avec l’usage qu’il en fait.",
68
110
  },
111
+ { text: "Aucune condition ne s'applique" },
112
+ { text: 'Licence Ouverte 2.0' },
69
113
  ],
114
+ legalConstraints: [],
115
+ securityConstraints: [],
116
+ otherConstraints: [],
70
117
  // data quality?
71
118
  spatialExtents: [],
72
119
  temporalExtents: [],
73
120
  status: 'completed',
74
121
  updateFrequency: 'unknown',
122
+ languages: [],
75
123
  }
@@ -27,31 +27,192 @@ export const GEOCAT_CH_DATASET_RECORD: DatasetRecord = {
27
27
  ],
28
28
  contactsForResource: [],
29
29
  recordCreated: new Date('2022-02-22T19:40:06'),
30
+ recordPublished: new Date('2022-02-22T19:40:06'),
30
31
  recordUpdated: new Date('2022-02-22T19:40:06'),
31
32
  datasetCreated: new Date('1999-01-01T00:00:00'),
32
33
  datasetUpdated: new Date('2009-01-01'),
33
34
  title: 'Alpenkonvention',
34
35
  abstract: `Perimeter der Alpenkonvention in der Schweiz. Die Alpenkonvention ist ein völkerrechtlicher Vertrag zwischen den acht Alpenländern Deutschland, Frankreich, Italien, Liechtenstein, Monaco, Österreich, Schweiz, Slowenien sowie der Europäischen Union. Das Ziel des Übereinkommens ist der Schutz der Alpen durch eine sektorübergreifende, ganzheitliche und nachhaltige Politik.`,
35
36
  overviews: [],
36
- themes: [
37
- 'Aufbewahrungs- und Archivierungsplanung AAP - Bund',
38
- 'Geobasisdaten',
39
- 'e-geo.ch',
40
- 'opendata.swiss',
41
- 'Nachhaltige Entwicklung',
42
- 'Raumplanung',
43
- 'Bergschutz',
44
- 'Bodenschutz',
45
- 'Umweltpolitik',
46
- 'Umweltpolitik',
47
- 'Verkehr',
48
- 'Verkehr',
49
- 'Verkehr',
50
- 'Umweltüberwachung',
51
- 'Verwaltungseinheiten',
52
- 'BGDI Bundesgeodaten-Infrastruktur',
37
+ topics: ['planningCadastre', 'planningCadastre_Planning'],
38
+ keywords: [
39
+ {
40
+ thesaurus: {
41
+ name: 'geocat.ch',
42
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
43
+ url: new URL(
44
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
45
+ ),
46
+ },
47
+ type: 'theme',
48
+ label: 'Aufbewahrungs- und Archivierungsplanung AAP - Bund',
49
+ },
50
+ {
51
+ thesaurus: {
52
+ name: 'geocat.ch',
53
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
54
+ url: new URL(
55
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
56
+ ),
57
+ },
58
+ type: 'theme',
59
+ label: 'Geobasisdaten',
60
+ },
61
+ {
62
+ thesaurus: {
63
+ name: 'geocat.ch',
64
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
65
+ url: new URL(
66
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
67
+ ),
68
+ },
69
+ type: 'theme',
70
+ label: 'e-geo.ch',
71
+ },
72
+ {
73
+ label: 'opendata.swiss',
74
+ thesaurus: {
75
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
76
+ name: 'geocat.ch',
77
+ url: new URL(
78
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
79
+ ),
80
+ },
81
+ type: 'theme',
82
+ },
83
+ {
84
+ label: 'Nachhaltige Entwicklung',
85
+ thesaurus: {
86
+ id: 'geonetwork.thesaurus.external.theme.gemet',
87
+ name: 'GEMET',
88
+ url: new URL(
89
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
90
+ ),
91
+ },
92
+ type: 'theme',
93
+ },
94
+ {
95
+ label: 'Raumplanung',
96
+ thesaurus: {
97
+ id: 'geonetwork.thesaurus.external.theme.gemet',
98
+ name: 'GEMET',
99
+ url: new URL(
100
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
101
+ ),
102
+ },
103
+ type: 'theme',
104
+ },
105
+ {
106
+ label: 'Bergschutz',
107
+ thesaurus: {
108
+ id: 'geonetwork.thesaurus.external.theme.gemet',
109
+ name: 'GEMET',
110
+ url: new URL(
111
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
112
+ ),
113
+ },
114
+ type: 'theme',
115
+ },
116
+ {
117
+ label: 'Bodenschutz',
118
+ thesaurus: {
119
+ id: 'geonetwork.thesaurus.external.theme.gemet',
120
+ name: 'GEMET',
121
+ url: new URL(
122
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
123
+ ),
124
+ },
125
+ type: 'theme',
126
+ },
127
+ {
128
+ label: 'Umweltpolitik',
129
+ thesaurus: {
130
+ id: 'geonetwork.thesaurus.external.theme.gemet',
131
+ name: 'GEMET',
132
+ url: new URL(
133
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
134
+ ),
135
+ },
136
+ type: 'theme',
137
+ },
138
+ {
139
+ label: 'Umweltpolitik',
140
+ thesaurus: {
141
+ id: 'geonetwork.thesaurus.external.theme.gemet',
142
+ name: 'GEMET',
143
+ url: new URL(
144
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
145
+ ),
146
+ },
147
+ type: 'theme',
148
+ },
149
+ {
150
+ label: 'Verkehr',
151
+ thesaurus: {
152
+ id: 'geonetwork.thesaurus.external.theme.gemet',
153
+ name: 'GEMET',
154
+ url: new URL(
155
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
156
+ ),
157
+ },
158
+ type: 'theme',
159
+ },
160
+ {
161
+ label: 'Verkehr',
162
+ thesaurus: {
163
+ id: 'geonetwork.thesaurus.external.theme.gemet',
164
+ name: 'GEMET',
165
+ url: new URL(
166
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
167
+ ),
168
+ },
169
+ type: 'theme',
170
+ },
171
+ {
172
+ label: 'Verkehr',
173
+ thesaurus: {
174
+ id: 'geonetwork.thesaurus.external.theme.gemet',
175
+ name: 'GEMET',
176
+ url: new URL(
177
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
178
+ ),
179
+ },
180
+ type: 'theme',
181
+ },
182
+ {
183
+ label: 'Umweltüberwachung',
184
+ thesaurus: {
185
+ id: 'geonetwork.thesaurus.external.theme.inspire-theme',
186
+ name: 'GEMET - INSPIRE themes, version 1.0',
187
+ url: new URL(
188
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
189
+ ),
190
+ },
191
+ type: 'theme',
192
+ },
193
+ {
194
+ label: 'Verwaltungseinheiten',
195
+ thesaurus: {
196
+ id: 'geonetwork.thesaurus.external.theme.inspire-theme',
197
+ name: 'GEMET - INSPIRE themes, version 1.0',
198
+ url: new URL(
199
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
200
+ ),
201
+ },
202
+ type: 'theme',
203
+ },
204
+ {
205
+ label: 'BGDI Bundesgeodaten-Infrastruktur',
206
+ thesaurus: {
207
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
208
+ name: 'geocat.ch',
209
+ url: new URL(
210
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
211
+ ),
212
+ },
213
+ type: 'theme',
214
+ },
53
215
  ],
54
- keywords: [],
55
216
  spatialRepresentation: 'vector',
56
217
  distributions: [
57
218
  {
@@ -138,18 +299,36 @@ export const GEOCAT_CH_DATASET_RECORD: DatasetRecord = {
138
299
  ],
139
300
  lineage:
140
301
  'Digitalisiert nach den administrativen Einheiten der Schweiz, die im Anhang des Übereinkommens erscheinen.',
141
- accessConstraints: [],
142
- useLimitations: [],
143
302
  licenses: [
144
303
  {
145
304
  text: "Licence passée entre l'Office fédéral de l'environnement (OFEV), et le canton de Fribourg, représenté par la Coordination SIT (SITel)",
146
305
  },
147
306
  ],
307
+ legalConstraints: [
308
+ {
309
+ text: `1. Nutzungsbestimmung
310
+
311
+ Diese Geodaten unterliegen folgenden Nutzungsbeschränkungen:
312
+
313
+ - Sie dürfen nicht vervielfältigt, verbreitet und/oder weiter zugänglich gemacht werden.
314
+
315
+ - Sie dürfen nicht kommerziell genutzt werden.
316
+
317
+ - Sie dürfen ausschliesslich zu vorgegebenen Zwecken genutzt werden.
318
+
319
+ - Sie dürfen ausschliesslich zu dem unter 4. beschriebenen Zweck genutzt werden.
320
+
321
+ Die Quelle ist zu bezeichnen: „Quelle: Stadt Zürich“.`,
322
+ },
323
+ ],
324
+ securityConstraints: [],
325
+ otherConstraints: [],
148
326
  // data quality?
149
327
  spatialExtents: [],
150
328
  temporalExtents: [],
151
329
  status: 'completed',
152
330
  updateFrequency: 'asNeeded',
331
+ languages: [],
153
332
  }
154
333
 
155
334
  export const GEOCAT_CH_SERVICE_RECORD: ServiceRecord = {
@@ -182,6 +361,7 @@ export const GEOCAT_CH_SERVICE_RECORD: ServiceRecord = {
182
361
  },
183
362
  ],
184
363
  recordCreated: new Date('2022-03-07T01:15:51+01:00'),
364
+ recordPublished: new Date('2022-03-07T01:15:51+01:00'),
185
365
  recordUpdated: new Date('2022-03-07T01:15:51+01:00'),
186
366
  title: 'Verkehrsregelungsanlagen (WMS)',
187
367
  abstract: `Diese Karte beinhaltet die Verkehrsregelungsanlagen des Kantons St.Gallen.`,
@@ -193,8 +373,31 @@ export const GEOCAT_CH_SERVICE_RECORD: ServiceRecord = {
193
373
  description: 'Vorschaubild',
194
374
  },
195
375
  ],
196
- themes: [],
197
- keywords: ['Verkehr', 'opendata.swiss'],
376
+ topics: [],
377
+ keywords: [
378
+ {
379
+ label: 'Verkehr',
380
+ thesaurus: {
381
+ id: 'geonetwork.thesaurus.external.theme.gemet',
382
+ name: 'GEMET',
383
+ url: new URL(
384
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
385
+ ),
386
+ },
387
+ type: 'other',
388
+ },
389
+ {
390
+ label: 'opendata.swiss',
391
+ thesaurus: {
392
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
393
+ name: 'geocat.ch',
394
+ url: new URL(
395
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
396
+ ),
397
+ },
398
+ type: 'other',
399
+ },
400
+ ],
198
401
  onlineResources: [
199
402
  {
200
403
  type: 'link',
@@ -216,7 +419,9 @@ export const GEOCAT_CH_SERVICE_RECORD: ServiceRecord = {
216
419
  'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?request=GetCapabilities&service=WMS',
217
420
  },
218
421
  ],
219
- accessConstraints: [],
220
- useLimitations: [],
221
422
  licenses: [],
423
+ legalConstraints: [],
424
+ securityConstraints: [],
425
+ otherConstraints: [],
426
+ languages: [],
222
427
  }
@@ -3,6 +3,8 @@ import {
3
3
  Organization,
4
4
  } from '../../../../../../libs/common/domain/src/lib/model/record'
5
5
  import { getRoleFromRoleCode } from '../iso19139/codelists/role.mapper'
6
+ import { Thesaurus } from './types'
7
+ import { getKeywordTypeFromKeywordTypeCode } from '../iso19139/codelists/keyword.mapper'
6
8
 
7
9
  export type SourceWithUnknownProps = { [key: string]: unknown }
8
10
 
@@ -41,6 +43,9 @@ export const toDate = (field) => new Date(field)
41
43
  export const getFirstValue = (field) =>
42
44
  Array.isArray(field) ? field[0] : field
43
45
 
46
+ export const getArrayItem = (field, index) =>
47
+ Array.isArray(field) && field[index] !== undefined ? field[index] : null
48
+
44
49
  export const getAsArray = (field) =>
45
50
  Array.isArray(field) ? field : field !== null ? [field] : []
46
51
 
@@ -95,3 +100,30 @@ export const mapContact = (
95
100
  ...(phone && { phone }),
96
101
  }
97
102
  }
103
+
104
+ export const mapKeywords = (thesauri: Thesaurus[], language: string) => {
105
+ const keywords = []
106
+ for (const thesaurusId in thesauri) {
107
+ const rawThesaurus = thesauri[thesaurusId]
108
+ let thesaurus = null
109
+ if (rawThesaurus.id) {
110
+ const thesaurusSource: SourceWithUnknownProps = { ...rawThesaurus }
111
+ const url = getAsUrl(selectField(thesaurusSource, 'link'))
112
+ const name = selectField(thesaurusSource, 'title')
113
+ thesaurus = {
114
+ id: rawThesaurus.id,
115
+ ...(name && { name }),
116
+ ...(url && { url }),
117
+ }
118
+ }
119
+ for (const keyword of rawThesaurus.keywords) {
120
+ keywords.push({
121
+ label: selectTranslatedValue<string>(keyword, language),
122
+ type: getKeywordTypeFromKeywordTypeCode(rawThesaurus.theme),
123
+ ...(thesaurus && { thesaurus }),
124
+ })
125
+ }
126
+ }
127
+
128
+ return keywords
129
+ }