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

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 (374) 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 +83 -58
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +6 -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 +20 -17
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +52 -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/dataviz/src/lib/service/data.service.mjs +5 -4
  24. package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +5 -3
  25. package/esm2022/libs/feature/map/src/index.mjs +2 -1
  26. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
  27. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
  28. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
  29. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
  30. package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
  31. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +23 -3
  32. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
  33. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
  34. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +5 -3
  35. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +11 -1
  36. package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
  37. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +60 -29
  38. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +29 -20
  39. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
  40. package/esm2022/libs/feature/search/src/index.mjs +4 -1
  41. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +3 -3
  42. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
  43. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
  44. package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
  45. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
  46. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
  47. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +2 -2
  48. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
  49. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
  50. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  51. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +41 -26
  52. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +11 -9
  53. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  54. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
  55. package/esm2022/libs/ui/elements/src/index.mjs +3 -1
  56. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  57. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
  58. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
  59. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  60. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +35 -17
  61. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -4
  62. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
  63. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
  64. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +8 -4
  65. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +12 -5
  66. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  67. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  68. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +3 -3
  69. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  70. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  71. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
  72. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
  73. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
  74. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +12 -7
  75. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  76. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +2 -2
  77. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
  78. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
  79. package/esm2022/libs/ui/search/src/index.mjs +1 -2
  80. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
  81. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
  82. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
  83. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
  84. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
  85. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
  86. package/esm2022/libs/util/i18n/src/index.mjs +1 -2
  87. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
  88. package/esm2022/translations/de.json +106 -96
  89. package/esm2022/translations/en.json +34 -24
  90. package/esm2022/translations/es.json +14 -4
  91. package/esm2022/translations/fr.json +18 -8
  92. package/esm2022/translations/it.json +17 -7
  93. package/esm2022/translations/nl.json +14 -4
  94. package/esm2022/translations/pt.json +14 -4
  95. package/fesm2022/geonetwork-ui.mjs +1371 -833
  96. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  97. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +3 -0
  98. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  99. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +0 -1
  100. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  101. package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
  102. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -5
  103. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  104. package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts +3 -0
  105. package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts.map +1 -0
  106. package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +1 -1
  107. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +6 -6
  108. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  109. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +4 -3
  110. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  111. package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
  112. package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
  113. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  114. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +1 -1
  115. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  116. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -2
  117. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  118. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
  119. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
  120. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +28 -17
  121. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  122. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
  123. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
  124. package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
  125. package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
  126. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
  127. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  128. package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
  129. package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
  130. package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
  131. package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
  132. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +1 -0
  133. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  134. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
  135. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  136. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
  137. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
  138. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
  139. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  140. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
  141. package/libs/feature/map/src/index.d.ts +1 -0
  142. package/libs/feature/map/src/index.d.ts.map +1 -1
  143. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
  144. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
  145. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
  146. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
  147. package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
  148. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  149. package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
  150. package/libs/feature/map/src/lib/feature-map.module.d.ts +15 -12
  151. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  152. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
  153. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
  154. package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
  155. package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
  156. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +2 -0
  157. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  158. package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
  159. package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
  160. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
  161. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  162. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
  163. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  164. package/libs/feature/search/src/index.d.ts +3 -0
  165. package/libs/feature/search/src/index.d.ts.map +1 -1
  166. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +3 -3
  167. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  168. package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
  169. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  170. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
  171. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  172. package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
  173. package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
  174. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  175. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  176. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
  177. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
  178. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
  179. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  180. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  181. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
  182. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  183. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -8
  184. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  185. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  186. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  187. package/libs/ui/elements/src/index.d.ts +2 -0
  188. package/libs/ui/elements/src/index.d.ts.map +1 -1
  189. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  190. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
  191. package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
  192. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +1 -1
  193. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -1
  194. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +10 -5
  195. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  196. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  197. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
  198. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  199. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
  200. package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
  201. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +3 -2
  202. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  203. package/libs/ui/inputs/src/index.d.ts +1 -0
  204. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  205. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  206. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  207. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
  208. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
  209. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +1 -1
  210. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  211. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +40 -39
  212. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  213. package/libs/ui/layout/src/index.d.ts +2 -0
  214. package/libs/ui/layout/src/index.d.ts.map +1 -1
  215. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
  216. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
  217. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
  218. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
  219. package/libs/ui/search/src/index.d.ts +0 -1
  220. package/libs/ui/search/src/index.d.ts.map +1 -1
  221. package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
  222. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  223. package/libs/util/i18n/src/index.d.ts +0 -1
  224. package/libs/util/i18n/src/index.d.ts.map +1 -1
  225. package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
  226. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  227. package/package.json +4 -1
  228. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +61 -8
  229. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +55 -9
  230. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +225 -24
  231. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +32 -0
  232. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +123 -73
  233. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +5 -3
  234. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +3 -5
  235. package/src/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.ts +16 -0
  236. package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +24 -21
  237. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +115 -62
  238. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +169 -95
  239. package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
  240. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +22 -2
  241. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +15 -4
  242. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -8
  243. package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
  244. package/src/libs/common/domain/src/lib/index.ts +2 -0
  245. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +33 -21
  246. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
  247. package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
  248. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
  249. package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
  250. package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
  251. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +1 -0
  252. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  253. package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -4
  254. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +1 -1
  255. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +50 -10
  256. package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
  257. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +8 -5
  258. package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
  259. package/src/libs/feature/map/src/index.ts +1 -0
  260. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
  261. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
  262. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
  263. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
  264. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
  265. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
  266. package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
  267. package/src/libs/feature/map/src/lib/feature-map.module.ts +12 -0
  268. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
  269. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
  270. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
  271. package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
  272. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +6 -2
  273. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +16 -0
  274. package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
  275. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
  276. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
  277. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
  278. package/src/libs/feature/search/src/index.ts +3 -0
  279. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +3 -4
  280. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -1
  281. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
  282. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
  283. package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
  284. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
  285. package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
  286. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
  287. package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
  288. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
  289. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
  290. package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
  291. package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
  292. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +21 -16
  293. package/src/libs/feature/search/src/lib/utils/service/fields.ts +43 -34
  294. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  295. package/src/libs/ui/elements/src/index.ts +2 -0
  296. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
  297. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
  298. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
  299. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
  300. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +5 -0
  301. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +39 -0
  302. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +58 -0
  303. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +54 -54
  304. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +1 -0
  305. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +2 -2
  306. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
  307. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +101 -45
  308. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +37 -10
  309. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +2 -3
  310. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
  311. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
  312. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  313. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.html +2 -2
  314. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
  315. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +5 -1
  316. package/src/libs/ui/inputs/src/index.ts +1 -0
  317. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  318. package/src/libs/ui/inputs/src/lib/button/button.component.css +1 -1
  319. package/src/libs/ui/inputs/src/lib/button/button.component.ts +1 -0
  320. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
  321. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  322. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
  323. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +3 -0
  324. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +1 -1
  325. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -0
  326. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +5 -2
  327. package/src/libs/ui/layout/src/index.ts +2 -0
  328. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
  329. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
  330. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
  331. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
  332. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
  333. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
  334. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
  335. package/src/libs/ui/search/src/index.ts +0 -1
  336. package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
  337. package/src/libs/util/i18n/src/index.ts +0 -1
  338. package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
  339. package/tailwind.base.config.js +3 -0
  340. package/tailwind.base.css +2 -2
  341. package/translations/de.json +106 -96
  342. package/translations/en.json +34 -24
  343. package/translations/es.json +14 -4
  344. package/translations/fr.json +18 -8
  345. package/translations/it.json +17 -7
  346. package/translations/nl.json +14 -4
  347. package/translations/pt.json +14 -4
  348. package/translations/sk.json +14 -4
  349. package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
  350. package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
  351. package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
  352. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
  353. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
  354. package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
  355. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
  356. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
  357. package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
  358. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
  359. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
  360. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
  361. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
  362. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
  363. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
  364. package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
  365. package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
  366. package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
  367. package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
  368. package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
  369. package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
  370. package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
  371. package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
  372. package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
  373. /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
  374. /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
@@ -30,47 +30,59 @@ export declare const FORMATS: {
30
30
  readonly color: "#328556";
31
31
  readonly mimeTypes: readonly ["x-gis/x-shapefile"];
32
32
  };
33
+ readonly gml: {
34
+ readonly extensions: readonly ["gml"];
35
+ readonly priority: 5;
36
+ readonly color: "#c92bce";
37
+ readonly mimeTypes: readonly ["application/gml+xml", "text/xml; subtype=gml"];
38
+ };
33
39
  readonly kml: {
34
40
  readonly extensions: readonly ["kml", "kmz"];
35
- readonly priority: 5;
41
+ readonly priority: 6;
36
42
  readonly color: "#348009";
37
43
  readonly mimeTypes: readonly ["application/vnd.google-earth.kml+xml", "application/vnd.google-earth.kmz"];
38
44
  };
39
45
  readonly gpkg: {
40
46
  readonly extensions: readonly ["gpkg", "geopackage"];
41
- readonly priority: 6;
47
+ readonly priority: 7;
42
48
  readonly color: "#ea79ba";
43
49
  readonly mimeTypes: readonly ["application/geopackage+sqlite3"];
44
50
  };
45
51
  readonly zip: {
46
52
  readonly extensions: readonly ["zip", "tar.gz"];
47
- readonly priority: 7;
53
+ readonly priority: 8;
48
54
  readonly color: "#f2bb3a";
49
55
  readonly mimeTypes: readonly ["application/zip", "application/x-zip"];
50
56
  };
51
57
  readonly pdf: {
52
58
  readonly extensions: readonly ["pdf"];
53
- readonly priority: 8;
59
+ readonly priority: 9;
54
60
  readonly color: "#db544a";
55
61
  readonly mimeTypes: readonly ["application/pdf"];
56
62
  };
57
63
  readonly jpg: {
58
64
  readonly extensions: readonly ["jpg", "jpeg", "jfif", "pjpeg", "pjp"];
59
- readonly priority: 8;
65
+ readonly priority: 9;
60
66
  readonly color: "#673ab7";
61
67
  readonly mimeTypes: readonly ["image/jpg"];
62
68
  };
63
69
  readonly svg: {
64
70
  readonly extensions: readonly ["svg"];
65
- readonly priority: 9;
71
+ readonly priority: 10;
66
72
  readonly color: "#d98294";
67
73
  readonly mimeTypes: readonly ["image/svg+xml"];
68
74
  };
75
+ readonly dxf: {
76
+ readonly extensions: readonly ["dxf"];
77
+ readonly priority: 11;
78
+ readonly color: "#de630b";
79
+ readonly mimeTypes: readonly ["application/x-dxf", "image/x-dxf"];
80
+ };
69
81
  };
70
82
  export type FileFormat = keyof typeof FORMATS;
71
83
  export declare function getFormatPriority(linkFormat: FileFormat): number;
72
84
  export declare function getLinkPriority(link: DatasetDistribution): number;
73
- export declare function extensionToFormat(extension: string): FileFormat;
85
+ export declare function getFileFormatFromServiceOutput(serviceOutput: string): FileFormat | null;
74
86
  export declare function getFileFormat(link: DatasetDistribution): FileFormat;
75
87
  export declare function isFormatInQueryParam(link: DatasetDistribution, alias: string): boolean;
76
88
  export declare function mimeTypeToFormat(mimeType: string): FileFormat;
@@ -1 +1 @@
1
- {"version":3,"file":"link-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAA;AAI/F,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+EV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAEjE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAO/D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,UAAU,CAcnE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO7D;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,UAAU,GACjB,OAAO,CAMT;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CA0B9D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAEtE"}
1
+ {"version":3,"file":"link-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAA;AAI/F,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAEjE;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GACpB,UAAU,GAAG,IAAI,CAgBnB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,UAAU,CAcnE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO7D;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,UAAU,GACjB,OAAO,CAMT;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CA0B9D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAEtE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.2.0-dev.9ae0a68b",
3
+ "version": "2.2.0-dev.9f0a89f5",
4
4
  "engines": {
5
5
  "node": ">=14.17.0"
6
6
  },
@@ -48,12 +48,14 @@
48
48
  "dependencies": {
49
49
  "@biesbjerg/ngx-translate-extract-marker": "^1.0.0",
50
50
  "@camptocamp/ogc-client": "^0.4.0",
51
+ "@geospatial-sdk/geocoding": "^0.0.5-alpha.2",
51
52
  "@ltd/j-toml": "~1.35.2",
52
53
  "@messageformat/core": "^3.0.1",
53
54
  "@nx/angular": "16.6.0",
54
55
  "@rgrove/parse-xml": "~4.0.1",
55
56
  "alasql": "^3.1.0",
56
57
  "axios": "^1.6.0",
58
+ "basiclightbox": "^5.0.4",
57
59
  "chart.js": "^4.2.0",
58
60
  "chroma-js": "^2.1.2",
59
61
  "date-fns": "^2.29.3",
@@ -62,6 +64,7 @@
62
64
  "embla-carousel": "^8.0.0-rc14",
63
65
  "express": "^4.17.1",
64
66
  "geojson-validation": "^1.0.2",
67
+ "marked": "^11.1.1",
65
68
  "moment": "^2.29.4",
66
69
  "ng-table-virtual-scroll": "^1.4.1",
67
70
  "ngx-chips": "3.0.0",
@@ -57,8 +57,61 @@ Cette section contient des *caractères internationaux* (ainsi que des "caractè
57
57
  url: new URL('http://my-org.net/two.png'),
58
58
  },
59
59
  ],
60
- keywords: ['international', 'test', '_another_keyword_'],
61
- themes: ['testData', 'exampleData'],
60
+ keywords: [
61
+ {
62
+ thesaurus: {
63
+ id: 'geonetwork.thesaurus.local',
64
+ name: 'geonetwork.thesaurus.local',
65
+ },
66
+ type: 'other',
67
+ label: 'international',
68
+ },
69
+ {
70
+ thesaurus: {
71
+ id: 'geonetwork.thesaurus.local',
72
+ name: 'geonetwork.thesaurus.local',
73
+ },
74
+ type: 'other',
75
+ label: 'test',
76
+ },
77
+ {
78
+ thesaurus: {
79
+ id: 'geonetwork.thesaurus.local',
80
+ name: 'geonetwork.thesaurus.local',
81
+ },
82
+ type: 'other',
83
+ label: '_another_keyword_',
84
+ },
85
+ {
86
+ thesaurus: {
87
+ id: 'geonetwork.thesaurus.theme',
88
+ name: 'geonetwork.thesaurus.theme',
89
+ },
90
+ type: 'theme',
91
+ label: 'test theme',
92
+ },
93
+ {
94
+ thesaurus: {
95
+ id: 'geonetwork.thesaurus.place',
96
+ name: 'geonetwork.thesaurus.place',
97
+ },
98
+ type: 'place',
99
+ label: 'test place',
100
+ },
101
+ {
102
+ type: 'theme',
103
+ label: 'themeNoThesaurus',
104
+ },
105
+ {
106
+ type: 'theme',
107
+ label: 'themeNoThesaurus 2',
108
+ },
109
+ {
110
+ type: 'temporal',
111
+ label: 'temporalNoThesaurus',
112
+ },
113
+ ],
114
+ topics: ['agriculture'],
62
115
  spatialRepresentation: 'grid',
63
116
  distributions: [
64
117
  {
@@ -93,9 +146,9 @@ Cette section contient des *caractères internationaux* (ainsi que des "caractè
93
146
  lineage: `This record was edited manually to test the conversion processes
94
147
 
95
148
  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',
149
+ otherConstraints: [
150
+ { text: 'Should only be used as a testing tool' },
151
+ { text: 'Might cause minor annoyance in people' },
99
152
  ],
100
153
  licenses: [
101
154
  {
@@ -103,14 +156,14 @@ As such, **it is not very interesting at all.**`,
103
156
  url: new URL('https://data.rennesmetropole.fr/pages/licence/'),
104
157
  },
105
158
  ],
106
- accessConstraints: [
159
+ legalConstraints: [
107
160
  {
108
161
  text: "Dataset access isn't possible since it does not really exist",
109
- type: 'other',
110
162
  },
163
+ ],
164
+ securityConstraints: [
111
165
  {
112
166
  text: 'Contains sensitive information related to national defense',
113
- type: 'security',
114
167
  },
115
168
  ],
116
169
  spatialExtents: [],
@@ -38,13 +38,57 @@ Malgré l'attention portée à la création de ces données, il est rappelé que
38
38
  },
39
39
  ],
40
40
  keywords: [
41
- 'planification',
42
- 'PLU',
43
- "Plan local d'urbanisme",
44
- 'données ouvertes',
45
- 'Avrigny*60036',
41
+ {
42
+ thesaurus: {
43
+ name: 'GEMET - INSPIRE themes, version 1.0',
44
+ id: 'geonetwork.thesaurus.external.theme.inspire-theme',
45
+ url: new URL(
46
+ 'http://geo.compiegnois.fr/geonetwork/srv/eng/thesaurus.download?ref=external.theme.inspire-theme'
47
+ ),
48
+ },
49
+ type: 'theme',
50
+ label: 'Usage des sols',
51
+ },
52
+ {
53
+ thesaurus: {
54
+ name: 'GEMET - Concepts, version 2.4',
55
+ id: 'geonetwork.thesaurus.external.theme.gemet',
56
+ url: new URL(
57
+ 'http://geo.compiegnois.fr/geonetwork/srv/eng/thesaurus.download?ref=external.theme.gemet'
58
+ ),
59
+ },
60
+ type: 'theme',
61
+ label: "document d'urbanisme",
62
+ },
63
+ {
64
+ type: 'other',
65
+ label: 'planification',
66
+ },
67
+ {
68
+ type: 'other',
69
+ label: 'PLU',
70
+ },
71
+ {
72
+ type: 'other',
73
+ label: "Plan local d'urbanisme",
74
+ },
75
+ {
76
+ type: 'other',
77
+ label: 'données ouvertes',
78
+ },
79
+ {
80
+ thesaurus: {
81
+ id: 'geonetwork.thesaurus.external.place.GeoCompiegnois',
82
+ name: 'Collectivités du Pays Compiégnois',
83
+ url: new URL(
84
+ 'http://geo.compiegnois.fr/geonetwork/srv/eng/thesaurus.download?ref=external.place.GeoCompiegnois'
85
+ ),
86
+ },
87
+ type: 'place',
88
+ label: 'Avrigny*60036',
89
+ },
46
90
  ],
47
- themes: ['Usage des sols', "document d'urbanisme"],
91
+ topics: ['planningCadastre'],
48
92
  spatialRepresentation: 'vector',
49
93
  distributions: [
50
94
  {
@@ -59,14 +103,16 @@ Malgré l'attention portée à la création de ces données, il est rappelé que
59
103
  ],
60
104
  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
105
  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
106
  licenses: [
65
- // this does not make sense but there's no way to infer anything else from the metadata
66
107
  {
67
108
  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
109
  },
110
+ { text: "Aucune condition ne s'applique" },
111
+ { text: 'Licence Ouverte 2.0' },
69
112
  ],
113
+ legalConstraints: [],
114
+ securityConstraints: [],
115
+ otherConstraints: [],
70
116
  // data quality?
71
117
  spatialExtents: [],
72
118
  temporalExtents: [],
@@ -33,25 +33,185 @@ export const GEOCAT_CH_DATASET_RECORD: DatasetRecord = {
33
33
  title: 'Alpenkonvention',
34
34
  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
35
  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',
36
+ topics: ['planningCadastre', 'planningCadastre_Planning'],
37
+ keywords: [
38
+ {
39
+ thesaurus: {
40
+ name: 'geocat.ch',
41
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
42
+ url: new URL(
43
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
44
+ ),
45
+ },
46
+ type: 'theme',
47
+ label: 'Aufbewahrungs- und Archivierungsplanung AAP - Bund',
48
+ },
49
+ {
50
+ thesaurus: {
51
+ name: 'geocat.ch',
52
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
53
+ url: new URL(
54
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
55
+ ),
56
+ },
57
+ type: 'theme',
58
+ label: 'Geobasisdaten',
59
+ },
60
+ {
61
+ thesaurus: {
62
+ name: 'geocat.ch',
63
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
64
+ url: new URL(
65
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
66
+ ),
67
+ },
68
+ type: 'theme',
69
+ label: 'e-geo.ch',
70
+ },
71
+ {
72
+ label: 'opendata.swiss',
73
+ thesaurus: {
74
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
75
+ name: 'geocat.ch',
76
+ url: new URL(
77
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
78
+ ),
79
+ },
80
+ type: 'theme',
81
+ },
82
+ {
83
+ label: 'Nachhaltige Entwicklung',
84
+ thesaurus: {
85
+ id: 'geonetwork.thesaurus.external.theme.gemet',
86
+ name: 'GEMET',
87
+ url: new URL(
88
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
89
+ ),
90
+ },
91
+ type: 'theme',
92
+ },
93
+ {
94
+ label: 'Raumplanung',
95
+ thesaurus: {
96
+ id: 'geonetwork.thesaurus.external.theme.gemet',
97
+ name: 'GEMET',
98
+ url: new URL(
99
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
100
+ ),
101
+ },
102
+ type: 'theme',
103
+ },
104
+ {
105
+ label: 'Bergschutz',
106
+ thesaurus: {
107
+ id: 'geonetwork.thesaurus.external.theme.gemet',
108
+ name: 'GEMET',
109
+ url: new URL(
110
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
111
+ ),
112
+ },
113
+ type: 'theme',
114
+ },
115
+ {
116
+ label: 'Bodenschutz',
117
+ thesaurus: {
118
+ id: 'geonetwork.thesaurus.external.theme.gemet',
119
+ name: 'GEMET',
120
+ url: new URL(
121
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
122
+ ),
123
+ },
124
+ type: 'theme',
125
+ },
126
+ {
127
+ label: 'Umweltpolitik',
128
+ thesaurus: {
129
+ id: 'geonetwork.thesaurus.external.theme.gemet',
130
+ name: 'GEMET',
131
+ url: new URL(
132
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
133
+ ),
134
+ },
135
+ type: 'theme',
136
+ },
137
+ {
138
+ label: 'Umweltpolitik',
139
+ thesaurus: {
140
+ id: 'geonetwork.thesaurus.external.theme.gemet',
141
+ name: 'GEMET',
142
+ url: new URL(
143
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
144
+ ),
145
+ },
146
+ type: 'theme',
147
+ },
148
+ {
149
+ label: 'Verkehr',
150
+ thesaurus: {
151
+ id: 'geonetwork.thesaurus.external.theme.gemet',
152
+ name: 'GEMET',
153
+ url: new URL(
154
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
155
+ ),
156
+ },
157
+ type: 'theme',
158
+ },
159
+ {
160
+ label: 'Verkehr',
161
+ thesaurus: {
162
+ id: 'geonetwork.thesaurus.external.theme.gemet',
163
+ name: 'GEMET',
164
+ url: new URL(
165
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
166
+ ),
167
+ },
168
+ type: 'theme',
169
+ },
170
+ {
171
+ label: 'Verkehr',
172
+ thesaurus: {
173
+ id: 'geonetwork.thesaurus.external.theme.gemet',
174
+ name: 'GEMET',
175
+ url: new URL(
176
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
177
+ ),
178
+ },
179
+ type: 'theme',
180
+ },
181
+ {
182
+ label: 'Umweltüberwachung',
183
+ thesaurus: {
184
+ id: 'geonetwork.thesaurus.external.theme.inspire-theme',
185
+ name: 'GEMET - INSPIRE themes, version 1.0',
186
+ url: new URL(
187
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
188
+ ),
189
+ },
190
+ type: 'theme',
191
+ },
192
+ {
193
+ label: 'Verwaltungseinheiten',
194
+ thesaurus: {
195
+ id: 'geonetwork.thesaurus.external.theme.inspire-theme',
196
+ name: 'GEMET - INSPIRE themes, version 1.0',
197
+ url: new URL(
198
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
199
+ ),
200
+ },
201
+ type: 'theme',
202
+ },
203
+ {
204
+ label: 'BGDI Bundesgeodaten-Infrastruktur',
205
+ thesaurus: {
206
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
207
+ name: 'geocat.ch',
208
+ url: new URL(
209
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
210
+ ),
211
+ },
212
+ type: 'theme',
213
+ },
53
214
  ],
54
- keywords: [],
55
215
  spatialRepresentation: 'vector',
56
216
  distributions: [
57
217
  {
@@ -138,13 +298,30 @@ export const GEOCAT_CH_DATASET_RECORD: DatasetRecord = {
138
298
  ],
139
299
  lineage:
140
300
  'Digitalisiert nach den administrativen Einheiten der Schweiz, die im Anhang des Übereinkommens erscheinen.',
141
- accessConstraints: [],
142
- useLimitations: [],
143
301
  licenses: [
144
302
  {
145
303
  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
304
  },
147
305
  ],
306
+ legalConstraints: [
307
+ {
308
+ text: `1. Nutzungsbestimmung
309
+
310
+ Diese Geodaten unterliegen folgenden Nutzungsbeschränkungen:
311
+
312
+ - Sie dürfen nicht vervielfältigt, verbreitet und/oder weiter zugänglich gemacht werden.
313
+
314
+ - Sie dürfen nicht kommerziell genutzt werden.
315
+
316
+ - Sie dürfen ausschliesslich zu vorgegebenen Zwecken genutzt werden.
317
+
318
+ - Sie dürfen ausschliesslich zu dem unter 4. beschriebenen Zweck genutzt werden.
319
+
320
+ Die Quelle ist zu bezeichnen: „Quelle: Stadt Zürich“.`,
321
+ },
322
+ ],
323
+ securityConstraints: [],
324
+ otherConstraints: [],
148
325
  // data quality?
149
326
  spatialExtents: [],
150
327
  temporalExtents: [],
@@ -193,8 +370,31 @@ export const GEOCAT_CH_SERVICE_RECORD: ServiceRecord = {
193
370
  description: 'Vorschaubild',
194
371
  },
195
372
  ],
196
- themes: [],
197
- keywords: ['Verkehr', 'opendata.swiss'],
373
+ topics: [],
374
+ keywords: [
375
+ {
376
+ label: 'Verkehr',
377
+ thesaurus: {
378
+ id: 'geonetwork.thesaurus.external.theme.gemet',
379
+ name: 'GEMET',
380
+ url: new URL(
381
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
382
+ ),
383
+ },
384
+ type: 'other',
385
+ },
386
+ {
387
+ label: 'opendata.swiss',
388
+ thesaurus: {
389
+ id: 'geonetwork.thesaurus.local.theme.geocat.ch',
390
+ name: 'geocat.ch',
391
+ url: new URL(
392
+ 'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
393
+ ),
394
+ },
395
+ type: 'other',
396
+ },
397
+ ],
198
398
  onlineResources: [
199
399
  {
200
400
  type: 'link',
@@ -216,7 +416,8 @@ export const GEOCAT_CH_SERVICE_RECORD: ServiceRecord = {
216
416
  'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?request=GetCapabilities&service=WMS',
217
417
  },
218
418
  ],
219
- accessConstraints: [],
220
- useLimitations: [],
221
419
  licenses: [],
420
+ legalConstraints: [],
421
+ securityConstraints: [],
422
+ otherConstraints: [],
222
423
  }
@@ -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
+ }