geonetwork-ui 2.6.0-dev.01d2b5fc0 → 2.6.0-dev.025a2f85d

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 (278) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +8 -3
  3. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -3
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
  5. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -10
  6. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +18 -11
  7. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
  8. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  9. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -3
  10. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  11. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +2 -1
  12. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -3
  13. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
  14. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
  15. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
  16. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +2 -2
  17. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +2 -4
  18. package/esm2022/libs/feature/record/src/index.mjs +1 -2
  19. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
  20. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
  21. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +45 -14
  22. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
  23. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +8 -5
  24. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -6
  25. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
  26. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  27. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
  28. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
  29. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +8 -7
  30. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -15
  31. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
  32. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +26 -10
  33. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  34. package/esm2022/libs/ui/elements/src/index.mjs +3 -1
  35. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +27 -6
  36. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +22 -6
  37. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  38. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +163 -0
  39. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +29 -7
  40. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  41. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  42. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
  43. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
  44. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +3 -2
  45. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +161 -0
  46. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +16 -4
  47. package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
  48. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -3
  49. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +43 -3
  50. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  51. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +15 -3
  52. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  53. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +14 -3
  54. package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +5 -1
  55. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +79 -0
  56. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +5 -4
  57. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  58. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +6 -2
  59. package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +4 -1
  60. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +30 -2
  61. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  62. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
  63. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -1
  64. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +33 -24
  65. package/esm2022/translations/de.json +34 -3
  66. package/esm2022/translations/en.json +35 -4
  67. package/esm2022/translations/es.json +34 -3
  68. package/esm2022/translations/fr.json +36 -5
  69. package/esm2022/translations/it.json +34 -4
  70. package/esm2022/translations/nl.json +34 -3
  71. package/esm2022/translations/pt.json +34 -3
  72. package/fesm2022/geonetwork-ui.mjs +1367 -531
  73. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  74. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
  75. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  76. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  77. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
  78. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  79. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  80. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +23 -4
  81. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  82. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  83. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  84. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -2
  85. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  86. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  87. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
  88. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  89. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  90. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  91. package/libs/feature/record/src/index.d.ts +0 -1
  92. package/libs/feature/record/src/index.d.ts.map +1 -1
  93. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
  94. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  95. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
  96. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  97. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
  98. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  99. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +7 -2
  100. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  101. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
  102. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +3 -1
  103. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  104. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  105. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  106. package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
  107. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  108. package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
  109. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  110. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  111. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
  112. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  113. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  114. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  115. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
  116. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
  117. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
  118. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  119. package/libs/ui/elements/src/index.d.ts +2 -0
  120. package/libs/ui/elements/src/index.d.ts.map +1 -1
  121. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +9 -1
  122. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  123. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +8 -1
  124. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  125. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +43 -0
  126. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -0
  127. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +10 -2
  128. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  129. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
  130. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  131. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  132. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +30 -0
  133. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
  134. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +3 -1
  135. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  136. package/libs/ui/inputs/src/index.d.ts +0 -1
  137. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  138. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  139. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +10 -3
  140. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  141. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -0
  142. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  143. package/libs/ui/map/src/index.d.ts +1 -0
  144. package/libs/ui/map/src/index.d.ts.map +1 -1
  145. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +4 -2
  146. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -1
  147. package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts.map +1 -1
  148. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
  149. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
  150. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  151. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  152. package/libs/util/data-fetcher/src/lib/model.d.ts +3 -2
  153. package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
  154. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +1 -0
  155. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
  156. package/libs/util/shared/src/index.d.ts +1 -0
  157. package/libs/util/shared/src/index.d.ts.map +1 -1
  158. package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
  159. package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
  160. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  161. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  162. package/libs/util/shared/src/lib/links/link-utils.d.ts +30 -23
  163. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  164. package/package.json +1 -1
  165. package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
  166. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
  167. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +2 -2
  168. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  169. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
  170. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +8 -2
  171. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
  172. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
  173. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -9
  174. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +20 -12
  175. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
  176. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +22 -3
  177. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +26 -26
  178. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +2 -2
  179. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
  180. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +18 -2
  181. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +1 -0
  182. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -0
  183. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +1 -0
  184. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +10 -8
  185. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -0
  186. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
  187. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
  188. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
  189. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  190. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +1 -3
  191. package/src/libs/feature/record/src/index.ts +0 -1
  192. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
  193. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
  194. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +1 -0
  195. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +41 -7
  196. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
  197. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +5 -3
  198. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +4 -7
  199. package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
  200. package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
  201. package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
  202. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
  203. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +1 -7
  204. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -8
  205. package/src/libs/feature/search/src/lib/feature-search.module.ts +0 -8
  206. package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
  207. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.css +6 -0
  208. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
  209. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +24 -5
  210. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  211. package/src/libs/ui/elements/src/index.ts +2 -0
  212. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +64 -38
  213. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +26 -2
  214. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +17 -17
  215. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +20 -2
  216. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +7 -6
  217. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +156 -0
  218. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +190 -0
  219. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +27 -29
  220. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +33 -3
  221. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +1 -1
  222. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +1 -1
  223. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
  224. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +13 -4
  225. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
  226. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +4 -2
  227. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -1
  228. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
  229. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +96 -0
  230. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +183 -0
  231. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -0
  232. package/src/libs/ui/inputs/src/index.ts +0 -1
  233. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +5 -5
  234. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -1
  235. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +46 -2
  236. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -4
  237. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -7
  238. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -0
  239. package/src/libs/ui/map/src/index.ts +1 -0
  240. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +14 -0
  241. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +3 -0
  242. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
  243. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
  244. package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts → ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts} +7 -8
  245. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +7 -4
  246. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +2 -1
  247. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -2
  248. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +3 -1
  249. package/src/libs/util/data-fetcher/src/lib/model.ts +11 -1
  250. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +29 -3
  251. package/src/libs/util/shared/src/index.ts +1 -0
  252. package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
  253. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +12 -3
  254. package/src/libs/util/shared/src/lib/links/link-utils.ts +50 -30
  255. package/tailwind.base.css +51 -13
  256. package/translations/de.json +34 -3
  257. package/translations/en.json +35 -4
  258. package/translations/es.json +34 -3
  259. package/translations/fr.json +36 -5
  260. package/translations/it.json +34 -4
  261. package/translations/nl.json +34 -3
  262. package/translations/pt.json +34 -3
  263. package/translations/sk.json +34 -3
  264. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
  265. package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
  266. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
  267. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
  268. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +0 -1
  269. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
  270. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
  271. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
  272. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +0 -1
  273. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
  274. package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
  275. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
  276. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
  277. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
  278. /package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css → ui/elements/src/lib/internal-link-card/internal-link-card.component.css} +0 -0
@@ -1,112 +1,119 @@
1
- import { DatasetOnlineResource, ServiceProtocol } from '../../../../../../libs/common/domain/src/lib/model/record';
1
+ import { DatasetOnlineResource, ServiceOnlineResource, ServiceProtocol } from '../../../../../../libs/common/domain/src/lib/model/record';
2
2
  export declare const FORMATS: {
3
3
  readonly csv: {
4
4
  readonly extensions: readonly ["csv"];
5
5
  readonly priority: 1;
6
- readonly color: "#a6d6c0";
6
+ readonly color: "#F6A924";
7
7
  readonly mimeTypes: readonly ["text/csv", "application/csv"];
8
8
  };
9
9
  readonly excel: {
10
10
  readonly extensions: readonly ["excel", "xls", "xlsx", "ms-excel", "openxmlformats-officedocument"];
11
11
  readonly priority: 2;
12
- readonly color: "#acc5e4";
12
+ readonly color: "#FFDE10";
13
13
  readonly mimeTypes: readonly ["application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"];
14
14
  };
15
15
  readonly geojson: {
16
16
  readonly extensions: readonly ["geojson"];
17
17
  readonly priority: 3;
18
- readonly color: "#b3cde8";
18
+ readonly color: "#293C6F";
19
19
  readonly mimeTypes: readonly ["application/geo+json", "application/vnd.geo+json"];
20
20
  };
21
21
  readonly json: {
22
22
  readonly extensions: readonly ["json"];
23
23
  readonly priority: 3;
24
- readonly color: "#b3cde8";
24
+ readonly color: "#84D0F0";
25
25
  readonly mimeTypes: readonly ["application/json"];
26
26
  };
27
27
  readonly shp: {
28
28
  readonly extensions: readonly ["shp", "shape", "zipped-shapefile"];
29
29
  readonly priority: 4;
30
- readonly color: "#b2d8ba";
30
+ readonly color: "#009036";
31
31
  readonly mimeTypes: readonly ["x-gis/x-shapefile"];
32
32
  };
33
33
  readonly gml: {
34
34
  readonly extensions: readonly ["gml"];
35
35
  readonly priority: 5;
36
- readonly color: "#e3b3e5";
36
+ readonly color: "#E75113";
37
37
  readonly mimeTypes: readonly ["application/gml+xml", "text/xml; subtype=gml"];
38
38
  };
39
39
  readonly kml: {
40
40
  readonly extensions: readonly ["kml", "kmz"];
41
41
  readonly priority: 6;
42
- readonly color: "#c1e6a0";
42
+ readonly color: "#F4B5D0";
43
43
  readonly mimeTypes: readonly ["application/vnd.google-earth.kml+xml", "application/vnd.google-earth.kmz"];
44
44
  };
45
45
  readonly gpkg: {
46
46
  readonly extensions: readonly ["gpkg", "geopackage"];
47
47
  readonly priority: 7;
48
- readonly color: "#f7cce6";
48
+ readonly color: "#7D5D9F";
49
49
  readonly mimeTypes: readonly ["application/geopackage+sqlite3"];
50
50
  };
51
51
  readonly zip: {
52
52
  readonly extensions: readonly ["zip", "tar.gz"];
53
53
  readonly priority: 8;
54
- readonly color: "#ffe7a3";
54
+ readonly color: "#B0CB52";
55
55
  readonly mimeTypes: readonly ["application/zip", "application/x-zip"];
56
56
  };
57
57
  readonly pdf: {
58
58
  readonly extensions: readonly ["pdf"];
59
59
  readonly priority: 9;
60
- readonly color: "#f5b2a3";
60
+ readonly color: "#49579E";
61
61
  readonly mimeTypes: readonly ["application/pdf"];
62
62
  };
63
63
  readonly jpg: {
64
64
  readonly extensions: readonly ["jpg", "jpeg", "jfif", "pjpeg", "pjp"];
65
65
  readonly priority: 9;
66
- readonly color: "#d1c1e9";
66
+ readonly color: "#C4A98F";
67
67
  readonly mimeTypes: readonly ["image/jpg"];
68
68
  };
69
69
  readonly svg: {
70
70
  readonly extensions: readonly ["svg"];
71
71
  readonly priority: 10;
72
- readonly color: "#f3c1c9";
72
+ readonly color: "#EB6D82";
73
73
  readonly mimeTypes: readonly ["image/svg+xml"];
74
74
  };
75
75
  readonly dxf: {
76
76
  readonly extensions: readonly ["dxf"];
77
77
  readonly priority: 11;
78
- readonly color: "#f6ceac";
78
+ readonly color: "#DCCD00";
79
79
  readonly mimeTypes: readonly ["application/x-dxf", "image/x-dxf"];
80
80
  };
81
81
  readonly html: {
82
82
  readonly extensions: readonly ["html", "htm"];
83
83
  readonly priority: 12;
84
- readonly color: "#FFF2CC";
84
+ readonly color: "#C0C9B6";
85
85
  readonly mimeTypes: readonly ["text/html"];
86
86
  };
87
87
  readonly fgb: {
88
88
  readonly extensions: readonly ["fgb", "flatgeobuf"];
89
89
  readonly priority: 13;
90
- readonly color: "#ffe7a3";
90
+ readonly color: "#A8111C";
91
91
  readonly mimeTypes: readonly ["application/flatgeobuf"];
92
92
  };
93
93
  readonly jsonfg: {
94
94
  readonly extensions: readonly ["jsonfg", "jsonfgc"];
95
95
  readonly priority: 14;
96
- readonly color: "#ffe7a3";
96
+ readonly color: "#009EE0";
97
97
  readonly mimeTypes: readonly ["application/vnd.ogc.fg+json", "application/vnd.ogc.fg+json;compatibility=geojson"];
98
98
  };
99
99
  };
100
100
  export type FileFormat = keyof typeof FORMATS;
101
101
  export declare function getFormatPriority(linkFormat: FileFormat): number;
102
- export declare function getLinkPriority(link: DatasetOnlineResource): number;
102
+ export declare function getLinkPriority(link: DatasetOnlineResource | ServiceOnlineResource): number;
103
103
  export declare function getFileFormatFromServiceOutput(serviceOutput: string): FileFormat | null;
104
- export declare function getFileFormat(link: DatasetOnlineResource): FileFormat;
105
- export declare function isFormatInQueryParam(link: DatasetOnlineResource, alias: string): boolean;
104
+ export declare function getFileFormat(link: DatasetOnlineResource | ServiceOnlineResource): FileFormat;
105
+ export declare function isFormatInQueryParam(link: DatasetOnlineResource | ServiceOnlineResource, alias: string): boolean;
106
106
  export declare function mimeTypeToFormat(mimeType: string): FileFormat;
107
- export declare function checkFileFormat(link: DatasetOnlineResource, format: FileFormat): boolean;
107
+ export declare function checkFileFormat(link: DatasetOnlineResource | ServiceOnlineResource, format: FileFormat): boolean;
108
108
  export declare function getBadgeColor(linkFormat: FileFormat): string;
109
- export declare function getLinkLabel(link: DatasetOnlineResource): string;
110
- export declare function getLayers(url: string, serviceProtocol: ServiceProtocol): Promise<any[]>;
109
+ export declare function getLinkLabel(link: DatasetOnlineResource | ServiceOnlineResource): string;
110
+ export declare function getLayers(url: string, serviceProtocol: ServiceProtocol): Promise<{
111
+ name: string;
112
+ hasRecords?: boolean;
113
+ hasFeatures?: boolean;
114
+ hasVectorTiles?: boolean;
115
+ hasMapTiles?: boolean;
116
+ }[] | import("@camptocamp/ogc-client").WfsFeatureTypeFull[] | import("@camptocamp/ogc-client").WmsLayerFull[] | import("@camptocamp/ogc-client").WmtsLayer[]>;
117
+ export declare function wmsLayerFlatten(layerFull: any): any[];
111
118
  export declare function getMimeTypeForFormat(format: FileFormat): string | null;
112
119
  //# sourceMappingURL=link-utils.d.ts.map
@@ -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,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,2DAA2D,CAAA;AAUlE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHV,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,qBAAqB,GAAG,MAAM,CAEnE;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GACpB,UAAU,GAAG,IAAI,CAgBnB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,qBAAqB,GAAG,UAAU,CAcrE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO7D;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,UAAU,GACjB,OAAO,CAMT;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CA0BhE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,kBAwB5E;AAcD,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,EACL,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EAChB,MAAM,2DAA2D,CAAA;AAUlE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,GAClD,MAAM,CAER;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GACpB,UAAU,GAAG,IAAI,CAgBnB;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,GAClD,UAAU,CAcZ;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,EACnD,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO7D;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,EACnD,MAAM,EAAE,UAAU,GACjB,OAAO,CAQT;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,GAClD,MAAM,CA0BR;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;;;;;;8JAmC5E;AAED,wBAAgB,eAAe,CAAC,SAAS,KAAA,SAUxC;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.6.0-dev.01d2b5fc0",
3
+ "version": "2.6.0-dev.025a2f85d",
4
4
  "engines": {
5
5
  "node": ">=20"
6
6
  },
@@ -1,7 +1,4 @@
1
- import {
2
- CatalogRecord,
3
- DatasetRecord,
4
- } from '../../../../../libs/common/domain/src/lib/model/record'
1
+ import { CatalogRecord } from '../../../../../libs/common/domain/src/lib/model/record'
5
2
 
6
3
  export class MetadataMapperContext {
7
4
  readonly location?
@@ -174,10 +174,10 @@ export const GEO2FRANCE_SERVICE_EAUXUSEES_RECORD: ServiceRecord = {
174
174
  onlineResources: [
175
175
  {
176
176
  type: 'endpoint',
177
- endpointUrl: new URL(
177
+ url: new URL(
178
178
  'https://services.sandre.eaufrance.fr/geo/odp?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetCapabilities'
179
179
  ),
180
- protocol: 'wfs',
180
+ accessServiceProtocol: 'wfs',
181
181
  description:
182
182
  'Ouvrages de dépollution - Système de traitement des eaux usées - France entière',
183
183
  translations: {},
@@ -772,10 +772,10 @@ export const GEOCAT_CH_SERVICE_RECORD: ServiceRecord = {
772
772
  },
773
773
  {
774
774
  type: 'endpoint',
775
- endpointUrl: new URL(
775
+ url: new URL(
776
776
  'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?request=GetCapabilities&service=WMS'
777
777
  ),
778
- protocol: 'wms',
778
+ accessServiceProtocol: 'wms',
779
779
  description:
780
780
  'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?request=GetCapabilities&service=WMS',
781
781
  translations: {
@@ -629,10 +629,10 @@ export const METAWAL_SERVICE_RECORD: ServiceRecord = {
629
629
  {
630
630
  description:
631
631
  'Ce service ESRI-REST permet de visualiser la couche de données "Plan parcellaire cadastral - situation 01/01/2016" (uniquement les données du bâti et le parcellaire)',
632
- endpointUrl: new URL(
632
+ url: new URL(
633
633
  'https://geoservices.wallonie.be/arcgis/rest/services/PLAN_REGLEMENT/CADMAP_2016_PARCELLES/MapServer'
634
634
  ),
635
- protocol: 'esriRest',
635
+ accessServiceProtocol: 'esriRest',
636
636
  type: 'endpoint',
637
637
  translations: {},
638
638
  },
@@ -274,10 +274,10 @@ export const WALLONIE_SERVICE_NAPITSWALLONIA_RECORD: ServiceRecord = {
274
274
  onlineResources: [
275
275
  {
276
276
  type: 'endpoint',
277
- endpointUrl: new URL(
277
+ url: new URL(
278
278
  'https://metawal.wallonie.be/geonetwork/api/collections/napits'
279
279
  ),
280
- protocol: 'other',
280
+ accessServiceProtocol: 'other',
281
281
  description: "Point d'accès OGC API Records pour NAP-ITS-Wallonia.",
282
282
  translations: {},
283
283
  },
@@ -460,6 +460,11 @@ export class Gn4FieldMapper {
460
460
  ),
461
461
  selectField<string>(sourceLink, 'description')
462
462
  )
463
+ const descriptionLink = selectField<object>(sourceLink, 'descriptionObject')
464
+ const accessRestricted =
465
+ descriptionLink &&
466
+ 'link' in descriptionLink &&
467
+ descriptionLink.link.toString().includes('#MD_RestrictionCode_restricted')
463
468
  // no url: fail early
464
469
  if (url === null) {
465
470
  // TODO: collect errors at the record level?
@@ -485,6 +490,7 @@ export class Gn4FieldMapper {
485
490
  type,
486
491
  url: url,
487
492
  accessServiceProtocol,
493
+ accessRestricted: accessRestricted,
488
494
  }
489
495
  case 'link':
490
496
  return {
@@ -503,8 +509,8 @@ export class Gn4FieldMapper {
503
509
  return {
504
510
  ...distribution,
505
511
  type,
506
- endpointUrl: url,
507
- protocol: accessServiceProtocol,
512
+ url: url,
513
+ accessServiceProtocol: accessServiceProtocol,
508
514
  }
509
515
  }
510
516
  }
@@ -965,8 +965,8 @@ export function extractServiceOnlineResources(): ChainableFunction<
965
965
  } else {
966
966
  return {
967
967
  type: 'endpoint',
968
- endpointUrl: url,
969
- protocol,
968
+ url: url,
969
+ accessServiceProtocol: protocol,
970
970
  ...(description && { description }),
971
971
  translations,
972
972
  }
@@ -1227,7 +1227,7 @@ export function writeLineage(record: DatasetRecord, rootEl: XmlElement) {
1227
1227
  }
1228
1228
 
1229
1229
  export function getServiceEndpointProtocol(endpoint: ServiceEndpoint): string {
1230
- switch (endpoint.protocol.toLowerCase()) {
1230
+ switch (endpoint.accessServiceProtocol.toLowerCase()) {
1231
1231
  case 'wfs':
1232
1232
  return 'OGC:WFS'
1233
1233
  case 'wms':
@@ -1235,14 +1235,14 @@ export function getServiceEndpointProtocol(endpoint: ServiceEndpoint): string {
1235
1235
  case 'wps':
1236
1236
  return 'OGC:WPS'
1237
1237
  default:
1238
- return endpoint.protocol
1238
+ return endpoint.accessServiceProtocol
1239
1239
  }
1240
1240
  }
1241
1241
 
1242
1242
  export function createOnlineResource(onlineResource: ServiceOnlineResource) {
1243
1243
  let linkageUrl, functionCode, protocol
1244
1244
  if (onlineResource.type === 'endpoint') {
1245
- linkageUrl = onlineResource.endpointUrl.toString()
1245
+ linkageUrl = onlineResource.url.toString()
1246
1246
  protocol = getServiceEndpointProtocol(onlineResource)
1247
1247
  functionCode = 'download'
1248
1248
  } else {
@@ -299,14 +299,6 @@ export class ElasticsearchService {
299
299
 
300
300
  private mustNotFilters(): Record<string, unknown>[] {
301
301
  return [
302
- {
303
- ...this.queryFilterOnValues('resourceType', [
304
- 'service',
305
- 'map',
306
- 'map/static',
307
- 'mapDigital',
308
- ]),
309
- },
310
302
  {
311
303
  query_string: {
312
304
  query:
@@ -429,7 +421,7 @@ export class ElasticsearchService {
429
421
  must_not: this.mustNotFilters(),
430
422
  },
431
423
  },
432
- _source: ['resourceTitleObject', 'uuid'],
424
+ _source: ['resourceTitleObject', 'uuid', 'resourceType'],
433
425
  from: 0,
434
426
  size: 20,
435
427
  }
@@ -14,6 +14,7 @@ import {
14
14
  import { PublicationVersionError } from '../../../../../../libs/common/domain/src/lib/model/error'
15
15
  import {
16
16
  CatalogRecord,
17
+ DatasetFeatureType,
17
18
  DatasetFeatureCatalog,
18
19
  } from '../../../../../../libs/common/domain/src/lib/model/record'
19
20
  import {
@@ -141,24 +142,31 @@ export class Gn4Repository implements RecordsRepositoryInterface {
141
142
  )
142
143
  }
143
144
 
145
+ private mapEmbeddedFeatureCatalog(
146
+ featureTypes: Array<DatasetFeatureType>
147
+ ): DatasetFeatureCatalog {
148
+ return {
149
+ featureTypes: featureTypes.map((featureType) => ({
150
+ name: featureType.typeName || '',
151
+ definition: featureType.definition || '',
152
+ attributes: Array.isArray(featureType.attributeTable)
153
+ ? featureType.attributeTable.map((attr) => ({
154
+ name: attr.name,
155
+ title: attr.definition,
156
+ }))
157
+ : [],
158
+ })),
159
+ }
160
+ }
144
161
  getFeatureCatalog(
145
162
  record: CatalogRecord,
146
163
  visited: Set<string> = new Set() // prevent looping
147
164
  ): Observable<DatasetFeatureCatalog | null> {
148
165
  if (
149
- record.extras &&
150
- record.extras['featureTypes'] &&
151
- record.extras['featureTypes'][0]?.attributeTable &&
152
- Array.isArray(record.extras['featureTypes'][0].attributeTable)
166
+ record.extras?.['featureTypes'] &&
167
+ Array.isArray(record.extras['featureTypes'])
153
168
  ) {
154
- return of({
155
- attributes: record.extras['featureTypes'][0]?.attributeTable?.map(
156
- (attr) => ({
157
- name: attr.name,
158
- title: attr.definition,
159
- })
160
- ),
161
- } as DatasetFeatureCatalog)
169
+ return of(this.mapEmbeddedFeatureCatalog(record.extras['featureTypes']))
162
170
  }
163
171
 
164
172
  const featureCatalogIdentifier = record.extras[
@@ -2,6 +2,8 @@ import { Provider } from '@angular/core'
2
2
  import { PlatformServiceInterface } from '../../../../../../libs/common/domain/src/lib/platform.service.interface'
3
3
  import { Gn4PlatformService } from './platform/gn4-platform.service'
4
4
  import { Gn4PlatformMapper } from './platform/gn4-platform.mapper'
5
+ import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface'
6
+ import { Gn4Repository } from './gn4-repository'
5
7
 
6
8
  export function provideGn4(): Provider[] {
7
9
  return [
@@ -9,6 +11,10 @@ export function provideGn4(): Provider[] {
9
11
  provide: PlatformServiceInterface,
10
12
  useClass: Gn4PlatformService,
11
13
  },
14
+ {
15
+ provide: RecordsRepositoryInterface,
16
+ useClass: Gn4Repository,
17
+ },
12
18
  Gn4PlatformMapper,
13
19
  ]
14
20
  }
@@ -164,6 +164,7 @@ export interface DatasetServiceDistribution {
164
164
  name?: string
165
165
  description?: string
166
166
  translations?: OnlineResourceTranslations
167
+ accessRestricted?: boolean
167
168
  }
168
169
 
169
170
  export interface DatasetDownloadDistribution {
@@ -178,6 +179,7 @@ export interface DatasetDownloadDistribution {
178
179
  description?: string
179
180
  accessServiceProtocol?: ServiceProtocol
180
181
  translations?: OnlineResourceTranslations
182
+ accessRestricted?: boolean
181
183
  }
182
184
 
183
185
  export interface OnlineLinkResource {
@@ -186,6 +188,8 @@ export interface OnlineLinkResource {
186
188
  name?: string
187
189
  description?: string
188
190
  translations?: OnlineResourceTranslations
191
+ mimeType?: string
192
+ accessRestricted?: boolean
189
193
  }
190
194
 
191
195
  export type DatasetOnlineResource = (
@@ -226,12 +230,18 @@ export interface DatasetRecord extends BaseRecord {
226
230
  temporalExtents: Array<DatasetTemporalExtent>
227
231
  spatialRepresentation?: SpatialRepresentationType
228
232
  }
233
+
229
234
  export type DatasetFeatureCatalog = {
230
- attributes: Array<{ name: string; title: string }>
235
+ featureTypes: Array<{
236
+ name: string
237
+ definition: string
238
+ attributes: Array<{ name: string; title: string }>
239
+ }>
231
240
  }
241
+
232
242
  export interface ServiceEndpoint {
233
- endpointUrl: URL
234
- protocol: string
243
+ url: URL
244
+ accessServiceProtocol: ServiceProtocol
235
245
  type: 'endpoint'
236
246
  description?: string
237
247
  translations?: OnlineResourceTranslations
@@ -256,6 +266,15 @@ export interface ReuseRecord extends BaseRecord {
256
266
  temporalExtents: Array<DatasetTemporalExtent>
257
267
  }
258
268
 
269
+ export interface DatasetFeatureType {
270
+ aliases: string
271
+ code: string
272
+ isAbstract: string
273
+ typeName: string
274
+ definition: string
275
+ attributeTable: Array<{ name: string; definition: string }>
276
+ }
277
+
259
278
  export type ReuseType = 'application' | 'map' | 'other'
260
279
 
261
280
  export type OnlineResource = DatasetOnlineResource | ServiceOnlineResource
@@ -1,146 +1,146 @@
1
1
  export const elasticLinkFixture = (): Record<string, unknown> => ({
2
2
  readmeLink: {
3
- protocol: 'WWW:LINK',
3
+ accessServiceProtocol: 'WWW:LINK',
4
4
  description: 'Readme page',
5
5
  url: 'http://envlit.ifremer.fr/resultats/quadrige',
6
6
  },
7
7
  doiLink: {
8
- protocol: 'WWW:DOI',
8
+ accessServiceProtocol: 'WWW:DOI',
9
9
  description: 'DOI for the resource',
10
10
  url: 'http://doi.org/123-456-678',
11
11
  },
12
12
  dataCsv: {
13
- protocol: 'WWW:DOWNLOAD',
13
+ accessServiceProtocol: 'WWW:DOWNLOAD',
14
14
  description: 'Data in CSV format',
15
15
  name: 'abc.csv',
16
16
  url: 'http://my.server/files/abc.csv',
17
17
  },
18
18
  dataPdf: {
19
- protocol: 'WWW:DOWNLOAD',
19
+ accessServiceProtocol: 'WWW:DOWNLOAD',
20
20
  description: 'Data in PDF format',
21
21
  name: 'abc.pdf',
22
22
  url: 'https://my.server/files/abc.pdf',
23
23
  },
24
24
  dataJpg: {
25
- protocol: 'WWW:DOWNLOAD',
25
+ accessServiceProtocol: 'WWW:DOWNLOAD',
26
26
  description: 'Data in JPG format',
27
27
  name: 'abc.jpg',
28
28
  url: 'https://my.server/files/abc.jpg',
29
29
  },
30
30
  dataZip: {
31
- protocol: 'WWW:DOWNLOAD',
31
+ accessServiceProtocol: 'WWW:DOWNLOAD',
32
32
  description: 'Data in ZIP format',
33
33
  name: 'abc.zip',
34
34
  url: 'https://my.server/files/abc.zip',
35
35
  },
36
36
  dataXls: {
37
- protocol: 'WWW:DOWNLOAD',
37
+ accessServiceProtocol: 'WWW:DOWNLOAD',
38
38
  description: 'Data in XLS format',
39
39
  name: 'abc.xls',
40
40
  url: 'https://my.server/files/abc.xls',
41
41
  },
42
42
  dataXlsx: {
43
- protocol: 'WWW:DOWNLOAD',
43
+ accessServiceProtocol: 'WWW:DOWNLOAD',
44
44
  description: 'Data in XLSX format',
45
45
  name: 'abc.XLSX',
46
46
  url: 'https://my.server/files/abc.XLSX',
47
47
  },
48
48
  dataJson: {
49
- protocol: 'WWW:DOWNLOAD',
49
+ accessServiceProtocol: 'WWW:DOWNLOAD',
50
50
  description: 'Data in JSON format',
51
51
  name: 'abc.json',
52
52
  url: 'https://my.server/files/abc.json',
53
53
  },
54
54
  geodataJson: {
55
- protocol: 'WWW:DOWNLOAD',
55
+ accessServiceProtocol: 'WWW:DOWNLOAD',
56
56
  description: 'Geographic data in GeoJSON format',
57
57
  name: 'dataset.geojson',
58
58
  url: 'http://my.server/files/geographic/dataset.geojson',
59
59
  },
60
60
  geodataJsonWithMimeType: {
61
- protocol: 'WWW:DOWNLOAD:application/vnd.geo+json',
61
+ accessServiceProtocol: 'WWW:DOWNLOAD:application/vnd.geo+json',
62
62
  description: 'Geographic data in GeoJSON format',
63
63
  name: 'dataset.geojson',
64
64
  url: 'http://my.server/files/geographic/dataset',
65
65
  mimeType: 'application/vnd.geo+json',
66
66
  },
67
67
  geodataKml: {
68
- protocol: 'WWW:DOWNLOAD',
68
+ accessServiceProtocol: 'WWW:DOWNLOAD',
69
69
  description: 'Geographic data in KML format',
70
70
  name: 'dataset.kml',
71
71
  url: 'http://my.server/files/geographic/dataset.kml',
72
72
  },
73
73
  geodataGpkg: {
74
- protocol: 'WWW:DOWNLOAD',
74
+ accessServiceProtocol: 'WWW:DOWNLOAD',
75
75
  description: 'Geographic data in geopackage format',
76
76
  name: 'dataset.gpkg',
77
77
  url: 'http://my.server/files/geographic/dataset.gpkg',
78
78
  },
79
79
  geodataShp: {
80
- protocol: 'WWW:DOWNLOAD',
80
+ accessServiceProtocol: 'WWW:DOWNLOAD',
81
81
  description: 'Geographic data in shapefile format',
82
82
  name: 'dataset.shp',
83
83
  url: 'http://my.server/files/geographic/dataset.zip',
84
84
  },
85
85
  geodataShpWithMimeType: {
86
- protocol: 'WWW:DOWNLOAD:x-gis/x-shapefile',
86
+ accessServiceProtocol: 'WWW:DOWNLOAD:x-gis/x-shapefile',
87
87
  description: 'Geographic data in shapefile format',
88
88
  name: 'dataset',
89
89
  url: 'http://my.server/files/geographic/dataset.zip',
90
90
  mimeType: 'x-gis/x-shapefile',
91
91
  },
92
92
  geodataWms: {
93
- protocol: 'OGC:WMS',
93
+ accessServiceProtocol: 'OGC:WMS',
94
94
  name: 'mylayer',
95
95
  url: 'https://my.ogc.server/wms',
96
96
  },
97
97
  geodataWmts: {
98
- protocol: 'OGC:WMTS',
98
+ accessServiceProtocol: 'OGC:WMTS',
99
99
  name: 'mylayer',
100
100
  url: 'https://my.ogc.server/wmts',
101
101
  },
102
102
  geodataWfs: {
103
- protocol: 'OGC:WFS',
103
+ accessServiceProtocol: 'OGC:WFS',
104
104
  name: 'mylayer',
105
105
  url: 'https://my.ogc.server/wfs',
106
106
  },
107
107
  geodataWms2: {
108
- protocol: 'OGC:WMS',
108
+ accessServiceProtocol: 'OGC:WMS',
109
109
  name: 'myotherlayer',
110
110
  url: 'https://my.ogc.server/wms',
111
111
  },
112
112
  geodataWfs2: {
113
- protocol: 'OGC:WFS',
113
+ accessServiceProtocol: 'OGC:WFS',
114
114
  name: 'myotherlayer',
115
115
  url: 'https://my.ogc.server/wfs',
116
116
  },
117
117
  geodataRest: {
118
- protocol: 'ESRI:REST',
118
+ accessServiceProtocol: 'ESRI:REST',
119
119
  name: 'myrestlayer',
120
120
  url: 'https://my.esri.server/FeatureServer',
121
121
  },
122
122
  geodataRestWfs: {
123
- protocol: 'OGC:WFS',
123
+ accessServiceProtocol: 'OGC:WFS',
124
124
  name: 'mywfsrestlayer',
125
125
  url: 'https://my.esri.server/WFSServer',
126
126
  },
127
127
  maplayerRest: {
128
- protocol: 'ESRI:REST',
128
+ accessServiceProtocol: 'ESRI:REST',
129
129
  name: 'myotherrestlayer',
130
130
  url: 'https://my.esri.server/MapServer',
131
131
  },
132
132
  landingPage: {
133
- protocol: 'WWW:LINK:LANDING_PAGE',
133
+ accessServiceProtocol: 'WWW:LINK:LANDING_PAGE',
134
134
  name: 'landingpage link',
135
135
  url: 'https://landing.page',
136
136
  },
137
137
  unknownFormat: {
138
- protocol: 'WWW:DOWNLOAD-1.0-http--download',
138
+ accessServiceProtocol: 'WWW:DOWNLOAD-1.0-http--download',
139
139
  name: 'Vue HTML des métadonnées sur internet',
140
140
  url: 'http://catalogue.geo-ide.developpement-durable.gouv.fr/catalogue/srv/fre/catalog.search#/metadata/fr-120066022-jdd-199fd14c-2abb-4c14-b0f8-6c8d92e7b480',
141
141
  },
142
142
  geodataogcfeatures: {
143
- protocol: 'OGC API - Features',
143
+ accessServiceProtocol: 'OGC API - Features',
144
144
  name: 'ogcapi features layer',
145
145
  url: 'https://mel.integration.apps.gs-fr-prod.camptocamp.com/data/ogcapi/collections/comptages_velo/items?',
146
146
  },
@@ -239,10 +239,10 @@ export const aSetOfLinksFixture = () => ({
239
239
  ({
240
240
  description:
241
241
  'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?request=GetCapabilities&service=WMS',
242
- endpointUrl: new URL(
242
+ url: new URL(
243
243
  'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?request=GetCapabilities&service=WMS'
244
244
  ),
245
- protocol: 'wms',
245
+ accessServiceProtocol: 'wms',
246
246
  type: 'endpoint',
247
247
  }) as ServiceEndpoint,
248
248
  })