geonetwork-ui 2.6.0-dev.b306f1194 → 2.6.0-dev.ceb4be4c1

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 (462) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +17 -15
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +44 -6
  6. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +4 -4
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
  9. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +2 -1
  10. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -12
  11. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +29 -5
  12. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
  13. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  14. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  15. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +49 -9
  16. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  17. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +32 -2
  18. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +29 -6
  19. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  20. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +18 -0
  21. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
  22. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
  23. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
  24. package/esm2022/libs/feature/record/src/index.mjs +2 -4
  25. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
  26. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
  27. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
  28. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
  29. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
  30. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +38 -7
  31. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
  32. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
  33. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +14 -5
  34. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +13 -15
  35. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
  36. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
  37. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
  38. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  39. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
  40. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
  41. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  42. package/esm2022/libs/feature/search/src/lib/constants.mjs +2 -1
  43. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +8 -7
  44. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +13 -19
  45. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
  46. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
  47. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +30 -10
  48. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
  49. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  50. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  51. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
  52. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +11 -6
  53. package/esm2022/libs/ui/elements/src/index.mjs +5 -1
  54. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  55. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +3 -3
  56. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
  57. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +55 -0
  58. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  59. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +27 -53
  60. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +68 -0
  61. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +3 -3
  62. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  63. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  64. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
  65. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
  66. package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +51 -0
  67. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +17 -7
  68. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +169 -0
  69. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +22 -4
  70. package/esm2022/libs/ui/inputs/src/index.mjs +3 -2
  71. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  72. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  73. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  74. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  75. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
  76. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  77. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +68 -0
  78. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -3
  79. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
  80. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  81. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +43 -3
  82. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
  83. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  84. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
  85. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +15 -3
  86. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
  87. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  88. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +107 -0
  89. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
  90. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  91. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
  92. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +80 -0
  93. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  94. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -8
  95. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  96. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  97. package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +2 -2
  98. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  99. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +29 -15
  100. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +11 -3
  101. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  102. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
  103. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  104. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  105. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
  106. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
  107. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +16 -6
  108. package/esm2022/translations/de.json +41 -6
  109. package/esm2022/translations/en.json +43 -8
  110. package/esm2022/translations/es.json +41 -6
  111. package/esm2022/translations/fr.json +42 -7
  112. package/esm2022/translations/it.json +44 -9
  113. package/esm2022/translations/nl.json +41 -6
  114. package/esm2022/translations/pt.json +41 -6
  115. package/fesm2022/geonetwork-ui.mjs +2418 -1039
  116. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  117. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  118. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  119. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
  120. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  121. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  122. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  123. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  124. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +0 -1
  125. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  126. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  127. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  128. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
  129. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  130. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +3 -0
  131. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  132. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  133. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +9 -3
  134. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  135. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -0
  136. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  137. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +12 -8
  138. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  139. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +1 -0
  140. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  141. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +6 -3
  142. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  143. package/libs/feature/editor/src/index.d.ts +1 -0
  144. package/libs/feature/editor/src/index.d.ts.map +1 -1
  145. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +7 -0
  146. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
  147. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  148. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
  149. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  150. 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
  151. package/libs/feature/record/src/index.d.ts +1 -3
  152. package/libs/feature/record/src/index.d.ts.map +1 -1
  153. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
  154. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  155. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
  156. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  157. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
  158. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  159. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
  160. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  161. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  162. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
  163. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +10 -0
  164. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  165. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +9 -1
  166. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  167. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -21
  168. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  169. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +2 -0
  170. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  171. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  172. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  173. package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
  174. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  175. package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
  176. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  177. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  178. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
  179. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  180. package/libs/feature/search/src/index.d.ts +1 -1
  181. package/libs/feature/search/src/index.d.ts.map +1 -1
  182. package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
  183. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  184. package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
  185. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  186. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
  187. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
  188. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
  189. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  190. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
  191. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  192. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
  193. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  194. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  195. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +2 -1
  196. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
  197. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
  198. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  199. package/libs/ui/elements/src/index.d.ts +4 -0
  200. package/libs/ui/elements/src/index.d.ts.map +1 -1
  201. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
  202. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  203. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  204. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  205. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +15 -0
  206. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -0
  207. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +3 -7
  208. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
  209. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +13 -0
  210. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  211. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +1 -1
  212. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  213. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
  214. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  215. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +16 -0
  216. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
  217. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +8 -1
  218. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  219. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +31 -0
  220. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
  221. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +4 -1
  222. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  223. package/libs/ui/inputs/src/index.d.ts +2 -1
  224. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  225. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  226. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  227. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  228. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  229. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  230. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  231. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
  232. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
  233. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  234. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
  235. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  236. package/libs/ui/layout/src/index.d.ts +1 -0
  237. package/libs/ui/layout/src/index.d.ts.map +1 -1
  238. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +10 -3
  239. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  240. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
  241. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  242. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
  243. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  244. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -0
  245. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  246. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +27 -0
  247. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
  248. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  249. package/libs/ui/map/src/index.d.ts +1 -0
  250. package/libs/ui/map/src/index.d.ts.map +1 -1
  251. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
  252. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  253. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
  254. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
  255. package/libs/ui/search/src/index.d.ts +1 -0
  256. package/libs/ui/search/src/index.d.ts.map +1 -1
  257. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  258. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  259. package/libs/ui/search/src/lib/results-list/results-list.component.d.ts.map +1 -1
  260. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +5 -1
  261. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  262. package/libs/ui/search/src/lib/ui-search.module.d.ts +21 -19
  263. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  264. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  265. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  266. package/libs/util/shared/src/index.d.ts +1 -0
  267. package/libs/util/shared/src/index.d.ts.map +1 -1
  268. package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
  269. package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
  270. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  271. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  272. package/libs/util/shared/src/lib/links/link-utils.d.ts +14 -7
  273. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  274. package/package.json +2 -2
  275. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  276. package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
  277. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  278. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  279. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
  280. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +2 -2
  281. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  282. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
  283. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +63 -6
  284. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
  285. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +4 -3
  286. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
  287. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +1 -0
  288. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +3 -11
  289. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +50 -5
  290. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
  291. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +14 -4
  292. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +2 -0
  293. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +36 -26
  294. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +16 -2
  295. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
  296. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +1 -1
  297. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
  298. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +58 -10
  299. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +37 -0
  300. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
  301. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +31 -1
  302. package/src/libs/feature/editor/src/index.ts +1 -0
  303. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +14 -0
  304. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +15 -0
  305. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
  306. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
  307. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
  308. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  309. package/src/libs/feature/record/src/index.ts +1 -3
  310. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +16 -10
  311. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
  312. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  313. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
  314. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
  315. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
  316. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +25 -16
  317. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +40 -4
  318. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
  319. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +10 -0
  320. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +27 -3
  321. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +21 -17
  322. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +12 -0
  323. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
  324. package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
  325. package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
  326. package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
  327. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
  328. package/src/libs/feature/search/src/index.ts +1 -1
  329. package/src/libs/feature/search/src/lib/constants.ts +1 -0
  330. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +0 -6
  331. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -8
  332. package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -10
  333. package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
  334. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
  335. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
  336. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
  337. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.css +6 -0
  338. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
  339. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +26 -5
  340. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  341. package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
  342. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  343. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
  344. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
  345. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +5 -4
  346. package/src/libs/ui/elements/src/index.ts +4 -0
  347. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
  348. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
  349. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
  350. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +38 -7
  351. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
  352. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.css +4 -0
  353. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +13 -0
  354. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +54 -0
  355. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  356. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +133 -138
  357. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +19 -47
  358. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  359. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +11 -0
  360. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +70 -0
  361. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +5 -2
  362. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -7
  363. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
  364. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
  365. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
  366. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +24 -7
  367. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
  368. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +2 -3
  369. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +48 -0
  370. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +52 -0
  371. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +8 -29
  372. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +14 -1
  373. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
  374. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +110 -0
  375. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +191 -0
  376. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +9 -1
  377. package/src/libs/ui/inputs/src/index.ts +2 -1
  378. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  379. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
  380. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  381. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
  382. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  383. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
  384. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  385. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
  386. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
  387. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +77 -0
  388. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +7 -8
  389. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -1
  390. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  391. package/src/libs/ui/layout/src/index.ts +1 -0
  392. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +46 -2
  393. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  394. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
  395. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
  396. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
  397. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  398. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
  399. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
  400. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +4 -7
  401. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -0
  402. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  403. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  404. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  405. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +44 -0
  406. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +130 -0
  407. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +1 -5
  408. package/src/libs/ui/map/src/index.ts +1 -0
  409. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
  410. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
  411. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
  412. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
  413. 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} +8 -8
  414. package/src/libs/ui/search/src/index.ts +1 -0
  415. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +9 -81
  416. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  417. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +25 -0
  418. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  419. package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +2 -2
  420. package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
  421. package/src/libs/ui/search/src/lib/results-list/results-list.component.ts +0 -1
  422. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
  423. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +28 -15
  424. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +22 -11
  425. package/src/libs/ui/search/src/lib/ui-search.module.ts +5 -0
  426. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -1
  427. package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
  428. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  429. package/src/libs/util/shared/src/index.ts +1 -0
  430. package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
  431. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +15 -3
  432. package/src/libs/util/shared/src/lib/links/link-utils.ts +33 -12
  433. package/tailwind.base.config.js +3 -0
  434. package/tailwind.base.css +19 -26
  435. package/translations/de.json +41 -6
  436. package/translations/en.json +43 -8
  437. package/translations/es.json +41 -6
  438. package/translations/fr.json +42 -7
  439. package/translations/it.json +44 -9
  440. package/translations/nl.json +41 -6
  441. package/translations/pt.json +41 -6
  442. package/translations/sk.json +41 -6
  443. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
  444. package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
  445. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  446. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
  447. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
  448. 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
  449. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
  450. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
  451. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  452. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  453. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
  454. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +0 -1
  455. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
  456. package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
  457. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  458. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
  459. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
  460. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
  461. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
  462. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-map-container/form-field-map-container.component.css → multilingual-panel/multilingual-panel.component.css} +0 -0
@@ -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
  },
@@ -152,12 +152,22 @@ export class Gn4FieldMapper {
152
152
  )
153
153
  const languages = langList.map((lang) => LANG_3_TO_2_MAPPER[lang])
154
154
  const defaultLanguage = output.defaultLanguage ?? languages[0] ?? null // set the first language as main one as fallback
155
+
156
+ return {
157
+ ...output,
158
+ defaultLanguage,
159
+ }
160
+ },
161
+ otherLanguage: (output, source) => {
162
+ const langList = getAsArray(selectField<string>(source, 'otherLanguage'))
163
+ const languages = langList.map((lang) => LANG_3_TO_2_MAPPER[lang])
164
+ const defaultLanguage = output.defaultLanguage ?? languages[0] ?? null
155
165
  const otherLanguages = languages.filter(
156
166
  (lang) => lang !== defaultLanguage
157
167
  )
168
+
158
169
  return {
159
170
  ...output,
160
- defaultLanguage,
161
171
  otherLanguages,
162
172
  }
163
173
  },
@@ -294,12 +304,52 @@ export class Gn4FieldMapper {
294
304
  ) ?? {},
295
305
  '_source'
296
306
  )
297
- const featureCatalogIdentifier = selectField(
307
+ const featureCatalogIdentifier: string = selectField(
298
308
  <SourceWithUnknownProps>fcatSource,
299
309
  'uuid'
300
310
  )
301
- return featureCatalogIdentifier
302
- ? this.addExtra({ featureCatalogIdentifier }, output)
311
+ const sourceOfLinks = getAsArray(
312
+ selectField(
313
+ <SourceWithUnknownProps>selectField(source, 'related'),
314
+ 'hassources'
315
+ )
316
+ )
317
+ const sourceOfIdentifiers: string[] = sourceOfLinks
318
+ .filter((link) => link['origin'] === 'catalog')
319
+ .map((link) => {
320
+ return selectField(
321
+ selectField(<SourceWithUnknownProps>link, '_source'),
322
+ 'uuid'
323
+ )
324
+ })
325
+ const extraValues: Record<string, string | string[]> = {}
326
+ if (featureCatalogIdentifier) {
327
+ extraValues.featureCatalogIdentifier = featureCatalogIdentifier
328
+ }
329
+ if (sourceOfIdentifiers && sourceOfIdentifiers.length > 0) {
330
+ extraValues.sourceOfIdentifiers = sourceOfIdentifiers
331
+ }
332
+ return Object.keys(extraValues).length > 0
333
+ ? this.addExtra(extraValues, output)
334
+ : output
335
+ },
336
+ recordLink: (output, source) => {
337
+ const recordLinks = getAsArray(
338
+ selectField<SourceWithUnknownProps[]>(source, 'recordLink')
339
+ )
340
+ const sourcesIdentifiers: string[] = recordLinks
341
+ .filter(
342
+ (link) => link['origin'] === 'catalog' && link['type'] === 'sources'
343
+ )
344
+ .map((link) => selectField(<SourceWithUnknownProps>link, 'to'))
345
+
346
+ return sourcesIdentifiers && sourcesIdentifiers.length > 0
347
+ ? this.addExtra(
348
+ {
349
+ sourcesIdentifiers,
350
+ },
351
+ output
352
+ )
303
353
  : output
304
354
  },
305
355
  isPublishedToAll: (output, source) =>
@@ -430,6 +480,7 @@ export class Gn4FieldMapper {
430
480
  /^OGC:WMS/.test(protocol) ||
431
481
  /^OGC:WFS/.test(protocol) ||
432
482
  /^OGC:WMTS/.test(protocol) ||
483
+ /TMS/i.test(protocol) ||
433
484
  /ogc\W*api\W*features/i.test(protocol) ||
434
485
  (/^WWW:DOWNLOAD-/.test(protocol) && /data.geopf.fr/.test(url)) // TO DO : change with the good protocol when decided
435
486
  ) {
@@ -460,6 +511,11 @@ export class Gn4FieldMapper {
460
511
  ),
461
512
  selectField<string>(sourceLink, 'description')
462
513
  )
514
+ const descriptionLink = selectField<object>(sourceLink, 'descriptionObject')
515
+ const accessRestricted =
516
+ descriptionLink &&
517
+ 'link' in descriptionLink &&
518
+ descriptionLink.link.toString().includes('#MD_RestrictionCode_restricted')
463
519
  // no url: fail early
464
520
  if (url === null) {
465
521
  // TODO: collect errors at the record level?
@@ -485,6 +541,7 @@ export class Gn4FieldMapper {
485
541
  type,
486
542
  url: url,
487
543
  accessServiceProtocol,
544
+ accessRestricted: accessRestricted,
488
545
  }
489
546
  case 'link':
490
547
  return {
@@ -503,8 +560,8 @@ export class Gn4FieldMapper {
503
560
  return {
504
561
  ...distribution,
505
562
  type,
506
- endpointUrl: url,
507
- protocol: accessServiceProtocol,
563
+ url: url,
564
+ accessServiceProtocol: accessServiceProtocol,
508
565
  }
509
566
  }
510
567
  }
@@ -164,7 +164,6 @@ export type MetadataObject = Partial<{
164
164
  resourceDate: ResourceDate[]
165
165
  resourceEdition: string
166
166
  resourceIdentifier: ResourceIdentifier[]
167
- resourceLanguage: string[]
168
167
  resourceTemporalDateRange: ResourceTemporalDateRange[]
169
168
  resourceTemporalExtentDateRange: ResourceTemporalDateRange[]
170
169
  resourceTitleObject: MultilingualField
@@ -65,7 +65,8 @@ export function extractCharacterString(): ChainableFunction<
65
65
  return pipe(
66
66
  fallback(
67
67
  findChildElement('gco:CharacterString', false),
68
- findChildElement('gmx:Anchor', false)
68
+ findChildElement('gmx:Anchor', false),
69
+ findChildElement('gmx:MimeFileType', false)
69
70
  ),
70
71
  readText()
71
72
  )
@@ -965,8 +966,8 @@ export function extractServiceOnlineResources(): ChainableFunction<
965
966
  } else {
966
967
  return {
967
968
  type: 'endpoint',
968
- endpointUrl: url,
969
- protocol,
969
+ url: url,
970
+ accessServiceProtocol: protocol,
970
971
  ...(description && { description }),
971
972
  translations,
972
973
  }
@@ -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 {
@@ -8,6 +8,7 @@ export const ES_SOURCE_SUMMARY = [
8
8
  'overview',
9
9
  'logo',
10
10
  'codelist_status_text',
11
+ 'link',
11
12
  'linkProtocol',
12
13
  'contactForResource.organisation',
13
14
  'contact.organisation',
@@ -124,11 +124,11 @@ export class ElasticsearchService {
124
124
  this.runtimeFields[fieldName] = expression
125
125
  }
126
126
 
127
- getMetadataByIdPayload(uuid: string): EsSearchParams {
127
+ getMetadataByIdsPayload(uuids: string[]): EsSearchParams {
128
128
  return {
129
129
  query: {
130
130
  ids: {
131
- values: [uuid],
131
+ values: uuids,
132
132
  },
133
133
  },
134
134
  }
@@ -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
  }
@@ -129,9 +129,9 @@ export class Gn4Repository implements RecordsRepositoryInterface {
129
129
  return this.gn4SearchApi
130
130
  .search(
131
131
  'bucket',
132
- ['fcats'],
132
+ ['fcats', 'hassources'],
133
133
  JSON.stringify(
134
- this.gn4SearchHelper.getMetadataByIdPayload(uniqueIdentifier)
134
+ this.gn4SearchHelper.getMetadataByIdsPayload([uniqueIdentifier])
135
135
  )
136
136
  )
137
137
  .pipe(
@@ -142,6 +142,27 @@ export class Gn4Repository implements RecordsRepositoryInterface {
142
142
  )
143
143
  }
144
144
 
145
+ getMultipleRecords(
146
+ uniqueIdentifiers: string[]
147
+ ): Observable<CatalogRecord[] | null> {
148
+ return this.gn4SearchApi
149
+ .search(
150
+ 'bucket',
151
+ undefined,
152
+ JSON.stringify(
153
+ this.gn4SearchHelper.getMetadataByIdsPayload(uniqueIdentifiers)
154
+ )
155
+ )
156
+ .pipe(
157
+ map((results: Gn4SearchResults) => results.hits.hits),
158
+ switchMap((records) =>
159
+ records && records.length > 0
160
+ ? this.gn4Mapper.readRecords(records)
161
+ : of(null)
162
+ )
163
+ )
164
+ }
165
+
145
166
  private mapEmbeddedFeatureCatalog(
146
167
  featureTypes: Array<DatasetFeatureType>
147
168
  ): DatasetFeatureCatalog {
@@ -152,7 +173,9 @@ export class Gn4Repository implements RecordsRepositoryInterface {
152
173
  attributes: Array.isArray(featureType.attributeTable)
153
174
  ? featureType.attributeTable.map((attr) => ({
154
175
  name: attr.name,
176
+ code: attr.code,
155
177
  title: attr.definition,
178
+ type: attr.type,
156
179
  }))
157
180
  : [],
158
181
  })),
@@ -164,7 +187,8 @@ export class Gn4Repository implements RecordsRepositoryInterface {
164
187
  ): Observable<DatasetFeatureCatalog | null> {
165
188
  if (
166
189
  record.extras?.['featureTypes'] &&
167
- Array.isArray(record.extras['featureTypes'])
190
+ Array.isArray(record.extras['featureTypes']) &&
191
+ record.extras['featureTypes'].length > 0
168
192
  ) {
169
193
  return of(this.mapEmbeddedFeatureCatalog(record.extras['featureTypes']))
170
194
  }
@@ -200,6 +224,24 @@ export class Gn4Repository implements RecordsRepositoryInterface {
200
224
  )
201
225
  }
202
226
 
227
+ getSources(record: CatalogRecord): Observable<CatalogRecord[]> {
228
+ const sourcesIdentifiers = record.extras?.['sourcesIdentifiers'] as string[]
229
+ if (sourcesIdentifiers && sourcesIdentifiers.length > 0) {
230
+ return this.getMultipleRecords(sourcesIdentifiers)
231
+ }
232
+ return of(null)
233
+ }
234
+
235
+ getSourceOf(record: CatalogRecord): Observable<CatalogRecord[]> {
236
+ const sourceOfIdentifiers = record.extras?.[
237
+ 'sourceOfIdentifiers'
238
+ ] as string[]
239
+ if (sourceOfIdentifiers && sourceOfIdentifiers.length > 0) {
240
+ return this.getMultipleRecords(sourceOfIdentifiers)
241
+ }
242
+ return of(null)
243
+ }
244
+
203
245
  aggregate(params: AggregationsParams): Observable<Aggregations> {
204
246
  // if aggregations are empty, return an empty object right away
205
247
  if (Object.keys(params).length === 0) return of({})
@@ -362,9 +404,12 @@ export class Gn4Repository implements RecordsRepositoryInterface {
362
404
  const record = await converter.readRecord(fetchedRecordAsXml)
363
405
 
364
406
  record.title = `${record.title} (Copy)`
365
- await converter.writeRecord(record, fetchedRecordAsXml)
407
+ const recordAsXml = await converter.writeRecord(
408
+ record,
409
+ fetchedRecordAsXml
410
+ )
366
411
 
367
- return this.saveRecord(record, '', false)
412
+ return this.saveRecord(record, recordAsXml, false)
368
413
  }),
369
414
  exhaustMap((uuidObservable: Observable<string>) => uuidObservable),
370
415
  catchError((error: HttpErrorResponse) => {
@@ -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
  }
@@ -152,6 +152,8 @@ export type ServiceProtocol =
152
152
  | 'esriRest'
153
153
  | 'ogcFeatures'
154
154
  | 'GPFDL'
155
+ | 'tms'
156
+ | 'maplibre-style'
155
157
  | 'other'
156
158
 
157
159
  export type OnlineResourceType = 'service' | 'download' | 'link' | 'endpoint'
@@ -164,6 +166,7 @@ export interface DatasetServiceDistribution {
164
166
  name?: string
165
167
  description?: string
166
168
  translations?: OnlineResourceTranslations
169
+ accessRestricted?: boolean
167
170
  }
168
171
 
169
172
  export interface DatasetDownloadDistribution {
@@ -178,6 +181,7 @@ export interface DatasetDownloadDistribution {
178
181
  description?: string
179
182
  accessServiceProtocol?: ServiceProtocol
180
183
  translations?: OnlineResourceTranslations
184
+ accessRestricted?: boolean
181
185
  }
182
186
 
183
187
  export interface OnlineLinkResource {
@@ -187,6 +191,7 @@ export interface OnlineLinkResource {
187
191
  description?: string
188
192
  translations?: OnlineResourceTranslations
189
193
  mimeType?: string
194
+ accessRestricted?: boolean
190
195
  }
191
196
 
192
197
  export type DatasetOnlineResource = (
@@ -232,13 +237,13 @@ export type DatasetFeatureCatalog = {
232
237
  featureTypes: Array<{
233
238
  name: string
234
239
  definition: string
235
- attributes: Array<{ name: string; title: string }>
240
+ attributes: Array<{ name: string; title: string; code: string }>
236
241
  }>
237
242
  }
238
243
 
239
244
  export interface ServiceEndpoint {
240
- endpointUrl: URL
241
- protocol: string
245
+ url: URL
246
+ accessServiceProtocol: ServiceProtocol
242
247
  type: 'endpoint'
243
248
  description?: string
244
249
  translations?: OnlineResourceTranslations
@@ -269,7 +274,12 @@ export interface DatasetFeatureType {
269
274
  isAbstract: string
270
275
  typeName: string
271
276
  definition: string
272
- attributeTable: Array<{ name: string; definition: string }>
277
+ attributeTable: Array<{
278
+ name: string
279
+ definition: string
280
+ type: string
281
+ code: string
282
+ }>
273
283
  }
274
284
 
275
285
  export type ReuseType = 'application' | 'map' | 'other'
@@ -19,6 +19,8 @@ export abstract class RecordsRepositoryInterface {
19
19
  abstract getSimilarRecords(
20
20
  similarTo: CatalogRecord
21
21
  ): Observable<CatalogRecord[]>
22
+ abstract getSources(record: CatalogRecord): Observable<CatalogRecord[]>
23
+ abstract getSourceOf(record: CatalogRecord): Observable<CatalogRecord[]>
22
24
  abstract fuzzySearch(query: string): Observable<SearchResults>
23
25
  abstract canEditRecord(uniqueIdentifier: string): Observable<boolean>
24
26
  /**
@@ -1,147 +1,157 @@
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
  },
147
+ maplayerTms: {
148
+ accessServiceProtocol: 'TMS',
149
+ name: 'mytmslayer',
150
+ url: 'https://my.tms.server/MapServer',
151
+ },
152
+ maplayerTms2: {
153
+ accessServiceProtocol: 'OSGeo:TMS',
154
+ name: 'myothertmslayer',
155
+ url: 'https://my.tms.server/MapServer',
156
+ },
147
157
  })
@@ -185,6 +185,20 @@ export const aSetOfLinksFixture = () => ({
185
185
  url: new URL('https://my.ogc.server/wms'),
186
186
  accessServiceProtocol: 'wms',
187
187
  }) as DatasetServiceDistribution,
188
+ geodataTms: () =>
189
+ ({
190
+ name: 'mytmslayer',
191
+ type: 'service',
192
+ url: new URL('https://my.ogc.server/tms'),
193
+ accessServiceProtocol: 'tms',
194
+ }) as DatasetServiceDistribution,
195
+ geodataAsMaplibreStyle: () =>
196
+ ({
197
+ name: 'mytmslayerAsMaplibreJson',
198
+ type: 'service',
199
+ url: new URL('https://my.ogc.server/tms/layer/style.json'),
200
+ accessServiceProtocol: 'maplibre-style',
201
+ }) as DatasetServiceDistribution,
188
202
  geodataWfs2: () =>
189
203
  ({
190
204
  name: 'myotherlayer',
@@ -239,10 +253,10 @@ export const aSetOfLinksFixture = () => ({
239
253
  ({
240
254
  description:
241
255
  'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?request=GetCapabilities&service=WMS',
242
- endpointUrl: new URL(
256
+ url: new URL(
243
257
  'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?request=GetCapabilities&service=WMS'
244
258
  ),
245
- protocol: 'wms',
259
+ accessServiceProtocol: 'wms',
246
260
  type: 'endpoint',
247
261
  }) as ServiceEndpoint,
248
262
  })