geonetwork-ui 2.2.0-dev.42331d67 → 2.2.0-dev.463b60bf

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 (322) 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 +5 -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/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 +10 -1
  28. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +32 -15
  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 +1 -1
  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/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  51. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
  52. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  53. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +35 -22
  54. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -4
  55. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
  56. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +6 -4
  57. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  58. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  59. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +3 -3
  60. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  61. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  62. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
  63. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
  64. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
  65. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +12 -7
  66. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  67. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
  68. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
  69. package/esm2022/libs/ui/search/src/index.mjs +1 -2
  70. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
  71. package/esm2022/libs/util/i18n/src/index.mjs +1 -2
  72. package/esm2022/translations/de.json +7 -5
  73. package/esm2022/translations/en.json +10 -8
  74. package/esm2022/translations/es.json +7 -5
  75. package/esm2022/translations/fr.json +10 -8
  76. package/esm2022/translations/it.json +9 -7
  77. package/esm2022/translations/nl.json +7 -5
  78. package/esm2022/translations/pt.json +7 -5
  79. package/fesm2022/geonetwork-ui.mjs +883 -678
  80. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  81. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +3 -0
  82. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  83. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +0 -1
  84. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  85. package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
  86. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -5
  87. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  88. package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts +3 -0
  89. package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts.map +1 -0
  90. package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +1 -1
  91. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +6 -6
  92. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  93. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +4 -3
  94. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  95. package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
  96. package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
  97. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  98. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +1 -1
  99. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  100. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -2
  101. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  102. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
  103. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
  104. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +27 -17
  105. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  106. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
  107. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
  108. package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
  109. package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
  110. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
  111. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  112. package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
  113. package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
  114. package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
  115. package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
  116. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +1 -0
  117. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  118. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
  119. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  120. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
  121. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
  122. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
  123. package/libs/feature/map/src/index.d.ts +1 -0
  124. package/libs/feature/map/src/index.d.ts.map +1 -1
  125. package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
  126. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  127. package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
  128. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  129. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +6 -1
  130. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  131. package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
  132. package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
  133. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -0
  134. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  135. package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
  136. package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
  137. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
  138. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  139. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
  140. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  141. package/libs/feature/search/src/index.d.ts +3 -0
  142. package/libs/feature/search/src/index.d.ts.map +1 -1
  143. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +3 -3
  144. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  145. package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
  146. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  147. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
  148. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  149. package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
  150. package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
  151. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  152. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  153. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
  154. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
  155. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
  156. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  157. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  158. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
  159. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  160. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -8
  161. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  162. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  163. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  164. package/libs/ui/elements/src/index.d.ts +1 -0
  165. package/libs/ui/elements/src/index.d.ts.map +1 -1
  166. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +1 -1
  167. package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -1
  168. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +10 -6
  169. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  170. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  171. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
  172. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  173. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -13
  174. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  175. package/libs/ui/inputs/src/index.d.ts +1 -0
  176. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  177. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  178. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  179. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
  180. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
  181. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +1 -1
  182. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  183. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +40 -39
  184. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  185. package/libs/ui/layout/src/index.d.ts +2 -0
  186. package/libs/ui/layout/src/index.d.ts.map +1 -1
  187. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
  188. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
  189. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
  190. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
  191. package/libs/ui/search/src/index.d.ts +0 -1
  192. package/libs/ui/search/src/index.d.ts.map +1 -1
  193. package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
  194. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  195. package/libs/util/i18n/src/index.d.ts +0 -1
  196. package/libs/util/i18n/src/index.d.ts.map +1 -1
  197. package/package.json +4 -1
  198. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +61 -8
  199. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +55 -9
  200. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +225 -24
  201. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +32 -0
  202. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +123 -73
  203. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +4 -3
  204. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +3 -5
  205. package/src/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.ts +16 -0
  206. package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +24 -21
  207. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +115 -62
  208. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +169 -95
  209. package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
  210. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +22 -2
  211. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +15 -4
  212. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -8
  213. package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
  214. package/src/libs/common/domain/src/lib/index.ts +2 -0
  215. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +32 -21
  216. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
  217. package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
  218. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
  219. package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
  220. package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
  221. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +1 -0
  222. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  223. package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -4
  224. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +1 -1
  225. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +50 -10
  226. package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
  227. package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
  228. package/src/libs/feature/map/src/index.ts +1 -0
  229. package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
  230. package/src/libs/feature/map/src/lib/feature-map.module.ts +5 -0
  231. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +27 -11
  232. package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
  233. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +10 -0
  234. package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
  235. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
  236. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
  237. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
  238. package/src/libs/feature/search/src/index.ts +3 -0
  239. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -1
  240. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
  241. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
  242. package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
  243. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
  244. package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
  245. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
  246. package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
  247. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
  248. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
  249. package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
  250. package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
  251. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +21 -16
  252. package/src/libs/feature/search/src/lib/utils/service/fields.ts +43 -34
  253. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  254. package/src/libs/ui/elements/src/index.ts +1 -0
  255. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +3 -2
  256. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +5 -0
  257. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +39 -0
  258. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +58 -0
  259. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +2 -2
  260. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +1 -0
  261. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +1 -1
  262. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +50 -23
  263. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +37 -15
  264. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +2 -3
  265. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
  266. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
  267. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -1
  268. package/src/libs/ui/inputs/src/index.ts +1 -0
  269. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  270. package/src/libs/ui/inputs/src/lib/button/button.component.ts +1 -0
  271. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
  272. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  273. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
  274. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +3 -0
  275. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +1 -1
  276. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -0
  277. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +5 -2
  278. package/src/libs/ui/layout/src/index.ts +2 -0
  279. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
  280. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
  281. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
  282. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
  283. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
  284. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
  285. package/src/libs/ui/search/src/index.ts +0 -1
  286. package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
  287. package/src/libs/util/i18n/src/index.ts +0 -1
  288. package/tailwind.base.css +2 -2
  289. package/translations/de.json +7 -5
  290. package/translations/en.json +10 -8
  291. package/translations/es.json +7 -5
  292. package/translations/fr.json +10 -8
  293. package/translations/it.json +9 -7
  294. package/translations/nl.json +7 -5
  295. package/translations/pt.json +7 -5
  296. package/translations/sk.json +7 -5
  297. package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
  298. package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
  299. package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
  300. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
  301. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
  302. package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
  303. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
  304. package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
  305. package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
  306. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
  307. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
  308. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
  309. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
  310. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
  311. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
  312. package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
  313. package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
  314. package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
  315. package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
  316. package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
  317. package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
  318. package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
  319. package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
  320. package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
  321. /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
  322. /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
@@ -12,7 +12,6 @@ import {
12
12
  } from '../xml-utils'
13
13
  import {
14
14
  writeAbstract,
15
- writeAccessConstraints,
16
15
  writeContacts,
17
16
  writeDatasetCreated,
18
17
  writeDatasetUpdated,
@@ -20,22 +19,23 @@ import {
20
19
  writeGraphicOverviews,
21
20
  writeKeywords,
22
21
  writeKind,
22
+ writeLegalConstraints,
23
23
  writeLicenses,
24
24
  writeLineage,
25
25
  writeOnlineResources,
26
+ writeOtherConstraints,
26
27
  writeOwnerOrganization,
27
28
  writeRecordUpdated,
29
+ writeSecurityConstraints,
28
30
  writeSpatialRepresentation,
29
31
  writeStatus,
30
- writeThemes,
32
+ writeTopics,
31
33
  writeTitle,
32
34
  writeUniqueIdentifier,
33
35
  writeUpdateFrequency,
34
- writeUseLimitations,
35
36
  } from './write-parts'
36
37
  import {
37
38
  readAbstract,
38
- readAccessConstraints,
39
39
  readContacts,
40
40
  readDatasetCreated,
41
41
  readDatasetUpdated,
@@ -43,21 +43,22 @@ import {
43
43
  readIsoTopics,
44
44
  readKeywords,
45
45
  readKind,
46
+ readLegalConstraints,
46
47
  readLicenses,
47
48
  readLineage,
48
49
  readOnlineResources,
50
+ readOtherConstraints,
49
51
  readOverviews,
50
52
  readOwnerOrganization,
51
53
  readRecordUpdated,
54
+ readSecurityConstraints,
52
55
  readSpatialExtents,
53
56
  readSpatialRepresentation,
54
57
  readStatus,
55
58
  readTemporalExtents,
56
- readThemes,
57
59
  readTitle,
58
60
  readUniqueIdentifier,
59
61
  readUpdateFrequency,
60
- readUseLimitations,
61
62
  } from './read-parts'
62
63
  import { isEqual } from '../convert-utils'
63
64
 
@@ -74,15 +75,13 @@ export function toModel(xml: string): CatalogRecord {
74
75
  const recordUpdated = readRecordUpdated(rootEl)
75
76
  const recordCreated = recordUpdated
76
77
  const keywords = readKeywords(rootEl)
77
- const themes = readThemes(rootEl)
78
- const accessConstraints = readAccessConstraints(rootEl)
79
- const useLimitations = readUseLimitations(rootEl)
78
+ const topics = readIsoTopics(rootEl)
79
+ const legalConstraints = readLegalConstraints(rootEl)
80
+ const otherConstraints = readOtherConstraints(rootEl)
81
+ const securityConstraints = readSecurityConstraints(rootEl)
80
82
  const licenses = readLicenses(rootEl)
81
83
  const overviews = readOverviews(rootEl)
82
84
 
83
- // not used yet
84
- const isoTopics = readIsoTopics(rootEl)
85
-
86
85
  if (kind === 'dataset') {
87
86
  const status = readStatus(rootEl)
88
87
  const datasetCreated = readDatasetCreated(rootEl)
@@ -106,10 +105,11 @@ export function toModel(xml: string): CatalogRecord {
106
105
  contacts,
107
106
  contactsForResource: [], // FIXME: is that really useful??
108
107
  keywords,
109
- themes,
110
- accessConstraints,
111
- useLimitations,
108
+ topics,
112
109
  licenses,
110
+ legalConstraints,
111
+ securityConstraints,
112
+ otherConstraints,
113
113
  ...(datasetCreated && { datasetCreated }),
114
114
  ...(datasetUpdated && { datasetUpdated }),
115
115
  lineage,
@@ -132,10 +132,11 @@ export function toModel(xml: string): CatalogRecord {
132
132
  ownerOrganization,
133
133
  contacts,
134
134
  keywords,
135
- themes,
136
- accessConstraints,
137
- useLimitations,
135
+ topics,
138
136
  licenses,
137
+ legalConstraints,
138
+ securityConstraints,
139
+ otherConstraints,
139
140
  overviews,
140
141
  onlineResources,
141
142
  } as ServiceRecord
@@ -163,10 +164,12 @@ export function toXml(record: CatalogRecord, originalXml?: string): string {
163
164
  writeAbstract(record, rootEl)
164
165
  fieldChanged('contacts') && writeContacts(record, rootEl)
165
166
  fieldChanged('keywords') && writeKeywords(record, rootEl)
166
- fieldChanged('themes') && writeThemes(record, rootEl)
167
- fieldChanged('accessConstraints') && writeAccessConstraints(record, rootEl)
167
+ fieldChanged('topics') && writeTopics(record, rootEl)
168
+ fieldChanged('legalConstraints') && writeLegalConstraints(record, rootEl)
169
+ fieldChanged('securityConstraints') &&
170
+ writeSecurityConstraints(record, rootEl)
168
171
  fieldChanged('licenses') && writeLicenses(record, rootEl)
169
- fieldChanged('useLimitations') && writeUseLimitations(record, rootEl)
172
+ fieldChanged('otherConstraints') && writeOtherConstraints(record, rootEl)
170
173
 
171
174
  if (record.kind === 'dataset') {
172
175
  writeStatus(record, rootEl)
@@ -1,12 +1,12 @@
1
1
  import {
2
- AccessConstraint,
3
- AccessConstraintType,
2
+ Constraint,
4
3
  DatasetDistribution,
5
4
  DatasetSpatialExtent,
6
5
  DatasetTemporalExtent,
7
6
  GraphicOverview,
8
7
  Individual,
9
- License,
8
+ Keyword,
9
+ KeywordThesaurus,
10
10
  Organization,
11
11
  RecordKind,
12
12
  RecordStatus,
@@ -41,6 +41,7 @@ import {
41
41
  } from '../function-utils'
42
42
  import { getRoleFromRoleCode } from './codelists/role.mapper'
43
43
  import { matchMimeType, matchProtocol } from '../common/distribution.mapper'
44
+ import { getKeywordTypeFromKeywordTypeCode } from './codelists/keyword.mapper'
44
45
 
45
46
  function extractCharacterString(): ChainableFunction<XmlElement, string> {
46
47
  return pipe(
@@ -183,59 +184,69 @@ function extractStatus(): ChainableFunction<XmlElement, RecordStatus> {
183
184
  }
184
185
 
185
186
  // from gmd:resourceConstraints
186
- function extractAccessConstraints(): ChainableFunction<
187
+ function extractLegalConstraints(): ChainableFunction<
187
188
  XmlElement,
188
- Array<AccessConstraint>
189
+ Array<Constraint>
189
190
  > {
190
- const getOtherConstraints = pipe(
191
+ return pipe(
191
192
  findChildrenElement('gmd:MD_LegalConstraints', false),
192
193
  filterArray(
193
194
  pipe(
194
195
  findChildrenElement('gmd:MD_RestrictionCode'),
195
196
  mapArray(readAttribute('codeListValue')),
196
- map(
197
- (values) =>
198
- values.indexOf('license') === -1 &&
199
- values.indexOf('otherRestrictions') > -1
200
- )
197
+ map((values) => values.indexOf('license') === -1)
198
+ )
199
+ ),
200
+ mapArray(
201
+ combine(
202
+ findChildrenElement('gmd:otherConstraints'),
203
+ findChildrenElement('gmd:useLimitation')
201
204
  )
202
205
  ),
203
- mapArray(findChildrenElement('gmd:otherConstraints')),
204
206
  flattenArray(),
205
- mapArray(extractCharacterString()),
206
- mapArray((text) => ({
207
+ flattenArray(),
208
+ mapArray(combine(extractCharacterString(), extractUrl())),
209
+ mapArray(([text, url]) => ({
210
+ ...(url && { url }),
207
211
  text,
208
- type: 'other' as AccessConstraintType,
209
212
  }))
210
213
  )
211
- const getSecurityConstraints = pipe(
214
+ }
215
+
216
+ // from gmd:resourceConstraints
217
+ function extractSecurityConstraints(): ChainableFunction<
218
+ XmlElement,
219
+ Array<Constraint>
220
+ > {
221
+ return pipe(
212
222
  findNestedElements('gmd:MD_SecurityConstraints', 'gmd:useLimitation'),
213
- mapArray(extractCharacterString()),
214
- mapArray((text) => ({
223
+ flattenArray(),
224
+ mapArray(combine(extractCharacterString(), extractUrl())),
225
+ mapArray(([text, url]) => ({
226
+ ...(url && { url }),
215
227
  text,
216
- type: 'security' as AccessConstraintType,
217
228
  }))
218
229
  )
219
- return pipe(
220
- combine(getOtherConstraints, getSecurityConstraints),
221
- flattenArray()
222
- )
223
230
  }
224
231
 
225
232
  // from gmd:resourceConstraints
226
- function extractUseLimitations(): ChainableFunction<XmlElement, Array<string>> {
233
+ function extractOtherConstraints(): ChainableFunction<
234
+ XmlElement,
235
+ Array<Constraint>
236
+ > {
227
237
  return pipe(
228
- combine(
229
- findNestedElements('gmd:MD_Constraints', 'gmd:useLimitation'),
230
- findNestedElements('gmd:MD_LegalConstraints', 'gmd:useLimitation')
231
- ),
238
+ findNestedElements('gmd:MD_Constraints', 'gmd:useLimitation'),
232
239
  flattenArray(),
233
- mapArray(extractCharacterString())
240
+ mapArray(combine(extractCharacterString(), extractUrl())),
241
+ mapArray(([text, url]) => ({
242
+ ...(url && { url }),
243
+ text,
244
+ }))
234
245
  )
235
246
  }
236
247
 
237
248
  // from gmd:resourceConstraints
238
- function extractLicenses(): ChainableFunction<XmlElement, Array<License>> {
249
+ function extractLicenses(): ChainableFunction<XmlElement, Array<Constraint>> {
239
250
  return pipe(
240
251
  findChildrenElement('gmd:MD_LegalConstraints', false),
241
252
  filterArray(
@@ -246,15 +257,18 @@ function extractLicenses(): ChainableFunction<XmlElement, Array<License>> {
246
257
  )
247
258
  ),
248
259
  mapArray(
249
- pipe(
250
- findChildElement('gmd:otherConstraints'),
251
- combine(extractCharacterString(), extractUrl()),
252
- map(([text, url]) => ({
253
- ...(url && { url }),
254
- text,
255
- }))
260
+ combine(
261
+ findChildrenElement('gmd:otherConstraints'),
262
+ findChildrenElement('gmd:useLimitation')
256
263
  )
257
- )
264
+ ),
265
+ flattenArray(),
266
+ flattenArray(),
267
+ mapArray(combine(extractCharacterString(), extractUrl())),
268
+ mapArray(([text, url]) => ({
269
+ ...(url && { url }),
270
+ text,
271
+ }))
258
272
  )
259
273
  }
260
274
 
@@ -541,29 +555,60 @@ export function readContacts(rootEl: XmlElement): Individual[] {
541
555
  )(rootEl)
542
556
  }
543
557
 
544
- function readKeywordsOfType(isTheme: boolean) {
545
- return pipe(
546
- findIdentification(),
547
- findNestedElements('gmd:descriptiveKeywords', 'gmd:MD_Keywords'),
548
- filterArray(
549
- pipe(
550
- findChildrenElement('gmd:MD_KeywordTypeCode'),
551
- mapArray(readAttribute('codeListValue')),
552
- map((values) => isTheme === values.indexOf('theme') > -1)
553
- )
554
- ),
555
- mapArray(findChildrenElement('gmd:keyword')),
556
- flattenArray(),
557
- mapArray(extractCharacterString())
558
+ // from gmd:thesaurusName
559
+ function readThesaurus(rootEl: XmlElement): KeywordThesaurus {
560
+ if (!rootEl) return null
561
+
562
+ const findIdentifier = findNestedElement(
563
+ 'gmd:CI_Citation',
564
+ 'gmd:identifier',
565
+ 'gmd:MD_Identifier',
566
+ 'gmd:code'
558
567
  )
568
+ const id = pipe(findIdentifier, extractCharacterString())(rootEl)
569
+ const url = pipe(findIdentifier, extractUrl())(rootEl)
570
+ const name = pipe(
571
+ findNestedElement('gmd:CI_Citation', 'gmd:title'),
572
+ extractCharacterString()
573
+ )(rootEl)
574
+ return {
575
+ id,
576
+ ...(name && { name }),
577
+ ...(url && { url }),
578
+ }
559
579
  }
560
580
 
561
- export function readKeywords(rootEl: XmlElement): string[] {
562
- return readKeywordsOfType(false)(rootEl)
581
+ // from gmd:MD_Keywords
582
+ function readKeywordGroup(rootEl: XmlElement): Keyword[] {
583
+ const type = pipe(
584
+ findChildrenElement('gmd:MD_KeywordTypeCode'),
585
+ mapArray(readAttribute('codeListValue')),
586
+ map((values) => getKeywordTypeFromKeywordTypeCode(values[0]))
587
+ )(rootEl)
588
+ const thesaurus = pipe(
589
+ findNestedElement('gmd:thesaurusName'),
590
+ readThesaurus
591
+ )(rootEl)
592
+ return pipe(
593
+ findChildrenElement('gmd:keyword'),
594
+ mapArray((el) => {
595
+ const label = extractCharacterString()(el)
596
+ return {
597
+ ...(thesaurus ? { thesaurus } : {}),
598
+ label,
599
+ type,
600
+ } as Keyword
601
+ })
602
+ )(rootEl)
563
603
  }
564
604
 
565
- export function readThemes(rootEl: XmlElement): string[] {
566
- return readKeywordsOfType(true)(rootEl)
605
+ export function readKeywords(rootEl: XmlElement): Keyword[] {
606
+ return pipe(
607
+ findIdentification(),
608
+ findNestedElements('gmd:descriptiveKeywords', 'gmd:MD_Keywords'),
609
+ mapArray(readKeywordGroup),
610
+ flattenArray()
611
+ )(rootEl)
567
612
  }
568
613
 
569
614
  export function readStatus(rootEl: XmlElement): RecordStatus {
@@ -579,24 +624,32 @@ const getConstraints = pipe(
579
624
  findChildrenElement('gmd:resourceConstraints', false)
580
625
  )
581
626
 
582
- export function readAccessConstraints(rootEl: XmlElement): AccessConstraint[] {
627
+ export function readLegalConstraints(rootEl: XmlElement): Constraint[] {
583
628
  return pipe(
584
629
  getConstraints,
585
- mapArray(extractAccessConstraints()),
630
+ mapArray(extractLegalConstraints()),
586
631
  flattenArray(),
587
632
  flattenArray()
588
633
  )(rootEl)
589
634
  }
590
635
 
591
- export function readUseLimitations(rootEl: XmlElement): string[] {
636
+ export function readSecurityConstraints(rootEl: XmlElement): Constraint[] {
637
+ return pipe(
638
+ getConstraints,
639
+ mapArray(extractSecurityConstraints()),
640
+ flattenArray()
641
+ )(rootEl)
642
+ }
643
+
644
+ export function readOtherConstraints(rootEl: XmlElement): Constraint[] {
592
645
  return pipe(
593
646
  getConstraints,
594
- mapArray(extractUseLimitations()),
647
+ mapArray(extractOtherConstraints()),
595
648
  flattenArray()
596
649
  )(rootEl)
597
650
  }
598
651
 
599
- export function readLicenses(rootEl: XmlElement): License[] {
652
+ export function readLicenses(rootEl: XmlElement): Constraint[] {
600
653
  return pipe(
601
654
  getConstraints,
602
655
  mapArray(extractLicenses()),
@@ -608,7 +661,7 @@ export function readLicenses(rootEl: XmlElement): License[] {
608
661
  export function readIsoTopics(rootEl: XmlElement): string[] {
609
662
  return pipe(
610
663
  findIdentification(),
611
- findChildrenElement('gmd:MD_TopicCategoryCode', false),
664
+ findChildrenElement('gmd:MD_TopicCategoryCode', true),
612
665
  mapArray(readText())
613
666
  )(rootEl)
614
667
  }