geonetwork-ui 2.6.0-dev.502fa026d → 2.6.0-dev.5b83cdcc5

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 (373) 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/resource-types.mjs +17 -15
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +8 -3
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -3
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
  7. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -10
  8. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
  9. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  10. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +5 -1
  11. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +5 -1
  12. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  13. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +18 -0
  14. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
  15. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
  16. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
  17. package/esm2022/libs/feature/record/src/index.mjs +1 -2
  18. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
  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-share/data-view-share.component.mjs +3 -3
  21. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
  22. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
  23. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +8 -3
  24. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
  25. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +8 -5
  26. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -6
  27. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
  28. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  29. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
  30. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
  31. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  32. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +8 -7
  33. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +13 -19
  34. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
  35. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
  36. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +26 -10
  37. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
  38. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  39. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  40. package/esm2022/libs/ui/elements/src/index.mjs +4 -1
  41. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +27 -6
  42. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +22 -6
  43. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
  44. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  45. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +163 -0
  46. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +51 -0
  47. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +29 -7
  48. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  49. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  50. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
  51. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
  52. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +3 -2
  53. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +161 -0
  54. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +22 -4
  55. package/esm2022/libs/ui/inputs/src/index.mjs +2 -2
  56. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  57. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  58. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  59. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
  60. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  61. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -3
  62. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
  63. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  64. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +43 -3
  65. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
  66. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  67. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +15 -3
  68. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
  69. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  70. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +56 -0
  71. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
  72. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  73. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +79 -0
  74. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  75. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  76. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  77. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +5 -4
  78. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +11 -3
  79. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  80. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
  81. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  82. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  83. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
  84. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -1
  85. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +33 -24
  86. package/esm2022/translations/de.json +41 -4
  87. package/esm2022/translations/en.json +44 -5
  88. package/esm2022/translations/es.json +41 -4
  89. package/esm2022/translations/fr.json +44 -5
  90. package/esm2022/translations/it.json +41 -5
  91. package/esm2022/translations/nl.json +41 -4
  92. package/esm2022/translations/pt.json +41 -4
  93. package/fesm2022/geonetwork-ui.mjs +1752 -620
  94. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  95. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  96. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  97. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
  98. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  99. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  100. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  101. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  102. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  103. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -2
  104. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  105. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  106. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +1 -1
  107. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  108. package/libs/feature/editor/src/index.d.ts +1 -0
  109. package/libs/feature/editor/src/index.d.ts.map +1 -1
  110. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +7 -0
  111. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
  112. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  113. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
  114. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  115. 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
  116. package/libs/feature/record/src/index.d.ts +0 -1
  117. package/libs/feature/record/src/index.d.ts.map +1 -1
  118. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
  119. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  120. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
  121. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  122. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
  123. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  124. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
  125. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  126. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  127. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
  128. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +3 -1
  129. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  130. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  131. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  132. package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
  133. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  134. package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
  135. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  136. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  137. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
  138. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  139. package/libs/feature/search/src/index.d.ts +1 -1
  140. package/libs/feature/search/src/index.d.ts.map +1 -1
  141. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  142. package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
  143. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  144. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
  145. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
  146. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
  147. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  148. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
  149. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  150. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
  151. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  152. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  153. package/libs/ui/elements/src/index.d.ts +3 -0
  154. package/libs/ui/elements/src/index.d.ts.map +1 -1
  155. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +9 -1
  156. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  157. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +8 -1
  158. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  159. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  160. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  161. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +43 -0
  162. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -0
  163. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +11 -0
  164. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  165. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +10 -2
  166. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  167. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
  168. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  169. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  170. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +30 -0
  171. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
  172. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +4 -1
  173. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  174. package/libs/ui/inputs/src/index.d.ts +1 -1
  175. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  176. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  177. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  178. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  179. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  180. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  181. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  182. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  183. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
  184. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  185. package/libs/ui/layout/src/index.d.ts +1 -0
  186. package/libs/ui/layout/src/index.d.ts.map +1 -1
  187. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +10 -3
  188. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  189. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
  190. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  191. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -0
  192. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  193. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +18 -0
  194. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
  195. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  196. package/libs/ui/map/src/index.d.ts +1 -0
  197. package/libs/ui/map/src/index.d.ts.map +1 -1
  198. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
  199. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
  200. package/libs/ui/search/src/index.d.ts +1 -0
  201. package/libs/ui/search/src/index.d.ts.map +1 -1
  202. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  203. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  204. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  205. package/libs/ui/search/src/lib/ui-search.module.d.ts +21 -19
  206. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  207. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  208. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  209. package/libs/util/shared/src/index.d.ts +1 -0
  210. package/libs/util/shared/src/index.d.ts.map +1 -1
  211. package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
  212. package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
  213. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  214. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  215. package/libs/util/shared/src/lib/links/link-utils.d.ts +30 -23
  216. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  217. package/package.json +1 -1
  218. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  219. package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
  220. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  221. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
  222. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +2 -2
  223. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  224. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
  225. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +8 -2
  226. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
  227. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
  228. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -9
  229. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
  230. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +6 -2
  231. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +26 -26
  232. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +2 -2
  233. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
  234. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -0
  235. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -0
  236. package/src/libs/feature/editor/src/index.ts +1 -0
  237. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +14 -0
  238. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +15 -0
  239. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
  240. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
  241. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
  242. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  243. package/src/libs/feature/record/src/index.ts +0 -1
  244. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +14 -10
  245. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
  246. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  247. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
  248. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
  249. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
  250. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +21 -15
  251. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +5 -0
  252. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
  253. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +5 -3
  254. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +4 -7
  255. package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
  256. package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
  257. package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
  258. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
  259. package/src/libs/feature/search/src/index.ts +1 -1
  260. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +1 -7
  261. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -8
  262. package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -10
  263. package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
  264. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
  265. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
  266. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
  267. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.css +6 -0
  268. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
  269. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +24 -5
  270. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  271. package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
  272. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  273. package/src/libs/ui/elements/src/index.ts +3 -0
  274. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +64 -38
  275. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +26 -2
  276. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +21 -18
  277. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +20 -2
  278. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +42 -10
  279. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
  280. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  281. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.css +0 -0
  282. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +156 -0
  283. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +190 -0
  284. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  285. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +9 -0
  286. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +51 -0
  287. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +30 -29
  288. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +28 -2
  289. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
  290. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +9 -9
  291. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
  292. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +20 -7
  293. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
  294. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +3 -2
  295. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -1
  296. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
  297. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +96 -0
  298. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +183 -0
  299. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +9 -0
  300. package/src/libs/ui/inputs/src/index.ts +1 -1
  301. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
  302. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  303. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
  304. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  305. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
  306. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  307. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +0 -0
  308. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +6 -6
  309. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -1
  310. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  311. package/src/libs/ui/layout/src/index.ts +1 -0
  312. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +46 -2
  313. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  314. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
  315. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
  316. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -5
  317. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  318. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -7
  319. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -0
  320. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  321. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  322. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  323. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +46 -0
  324. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +62 -0
  325. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +1 -5
  326. package/src/libs/ui/map/src/index.ts +1 -0
  327. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
  328. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
  329. 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
  330. package/src/libs/ui/search/src/index.ts +1 -0
  331. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  332. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +24 -0
  333. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  334. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +7 -4
  335. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +2 -1
  336. package/src/libs/ui/search/src/lib/ui-search.module.ts +5 -0
  337. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +4 -3
  338. package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
  339. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  340. package/src/libs/util/shared/src/index.ts +1 -0
  341. package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
  342. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +12 -3
  343. package/src/libs/util/shared/src/lib/links/link-utils.ts +50 -30
  344. package/tailwind.base.config.js +3 -0
  345. package/tailwind.base.css +39 -13
  346. package/translations/de.json +41 -4
  347. package/translations/en.json +44 -5
  348. package/translations/es.json +41 -4
  349. package/translations/fr.json +44 -5
  350. package/translations/it.json +41 -5
  351. package/translations/nl.json +41 -4
  352. package/translations/pt.json +41 -4
  353. package/translations/sk.json +41 -4
  354. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
  355. package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
  356. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  357. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
  358. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
  359. 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
  360. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
  361. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
  362. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  363. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  364. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
  365. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +0 -1
  366. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
  367. package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
  368. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  369. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
  370. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
  371. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
  372. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
  373. /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
@@ -174,8 +174,9 @@ export class ResultsTableComponent {
174
174
  }
175
175
 
176
176
  handleRecordClick(item: CatalogRecord) {
177
- if (item?.extras?.edit || this.isDraftPage)
177
+ if ((item?.extras?.edit || this.isDraftPage) && item.kind === 'dataset') {
178
178
  this.recordClick.emit(item as CatalogRecord)
179
+ }
179
180
  }
180
181
 
181
182
  handleDuplicate(item: unknown) {
@@ -11,6 +11,7 @@ import { RecordPreviewRowComponent } from './record-preview-row/record-preview-r
11
11
  import { RecordPreviewTextComponent } from './record-preview-text/record-preview-text.component'
12
12
  import { RecordPreviewTitleComponent } from './record-preview-title/record-preview-title.component'
13
13
  import { ResultsHitsNumberComponent } from './results-hits-number/results-hits-number.component'
14
+ import { ResultsHitsSearchKindComponent } from './results-hits-search-kind/results-hits-search-kind.component'
14
15
  import {
15
16
  DEFAULT_RESULTS_LAYOUT_CONFIG,
16
17
  RESULTS_LAYOUT_CONFIG,
@@ -24,6 +25,7 @@ import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src'
24
25
  import {
25
26
  MetadataQualityComponent,
26
27
  UiElementsModule,
28
+ KindBadgeComponent,
27
29
  } from '../../../../../libs/ui/elements/src'
28
30
  import { RecordPreviewFeedComponent } from './record-preview-feed/record-preview-feed.component'
29
31
  import { CommonModule } from '@angular/common'
@@ -48,6 +50,7 @@ import { matFace } from '@ng-icons/material-icons/baseline'
48
50
  RecordMetricComponent,
49
51
  ResultsListComponent,
50
52
  ResultsHitsNumberComponent,
53
+ ResultsHitsSearchKindComponent,
51
54
  ResultsListItemComponent,
52
55
  RecordPreviewFeedComponent,
53
56
  RecordPreviewRowComponent,
@@ -74,6 +77,7 @@ import { matFace } from '@ng-icons/material-icons/baseline'
74
77
  matFace,
75
78
  matHomeWorkOutline,
76
79
  }),
80
+ KindBadgeComponent,
77
81
  MetadataQualityComponent,
78
82
  ],
79
83
  exports: [
@@ -86,6 +90,7 @@ import { matFace } from '@ng-icons/material-icons/baseline'
86
90
  FacetsModule,
87
91
  RecordPreviewComponent,
88
92
  ResultsHitsNumberComponent,
93
+ ResultsHitsSearchKindComponent,
89
94
  RecordPreviewFeedComponent,
90
95
  RecordPreviewRowComponent,
91
96
  ],
@@ -3,16 +3,17 @@
3
3
  <ng-container *ngSwitchCase="'light'">
4
4
  <div class="flex items-center relative">
5
5
  <div
6
- class="flex-shrink-0 {{ color.text }} text-xs font-medium mr-2
6
+ class="flex-shrink-0 {{ color.text }} font-medium mr-2
7
7
  text-opacity-100 !text-slate-800"
8
+ data-cy="progressPercentage"
8
9
  >
9
10
  {{ progress }}%
10
11
  </div>
11
- <div class="flex-grow h-[6px] w-full {{ color.outerBar }} rounded-full">
12
+ <div class="flex-grow h-[4px] w-[52px] {{ color.outerBar }} rounded-full">
12
13
  <div
13
14
  [style.width.%]="progress"
14
15
  class="{{ color.innerBar }} transition-width duration-500
15
- ease-in-out rounded-full shadow-sm h-full"
16
+ ease-in-out rounded-full shadow-sm w-[52px] h-[4px]"
16
17
  ></div>
17
18
  </div>
18
19
  </div>
@@ -99,6 +99,7 @@ export function loadAppConfig() {
99
99
  'metadata_language',
100
100
  'login_url',
101
101
  'logout_url',
102
+ 'settings_url',
102
103
  'web_component_embedder_url',
103
104
  'languages',
104
105
  'contact_email',
@@ -7,6 +7,7 @@ proxy_path = "/proxy/?url="
7
7
  metadata_language = "fre"
8
8
  login_url = "/cas/login?service="
9
9
  logout_url = "/geonetwork/signout"
10
+ settings_url = "/geonetwork/settings"
10
11
  web_component_embedder_url = "/datahub/wc-embedder.html"
11
12
 
12
13
  [map]
@@ -3,3 +3,4 @@ export * from './lib/services'
3
3
  export * from './lib/utils'
4
4
  export * from './lib/links'
5
5
  export * from './lib/image-fallback.directive'
6
+ export * from './lib/gn-ui-version'
@@ -0,0 +1,8 @@
1
+ import packageJson from '../../../../../package.json'
2
+
3
+ export const GEONETWORK_UI_VERSION = packageJson.version
4
+
5
+ export const GEONETWORK_UI_TAG_NAME =
6
+ GEONETWORK_UI_VERSION.split('-')[1] === 'dev'
7
+ ? 'main'
8
+ : `v${packageJson.version}`
@@ -1,5 +1,8 @@
1
1
  import { Injectable } from '@angular/core'
2
- import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
2
+ import {
3
+ DatasetOnlineResource,
4
+ ServiceOnlineResource,
5
+ } from '../../../../../../libs/common/domain/src/lib/model/record'
3
6
  import { getFileFormat } from './link-utils'
4
7
 
5
8
  export enum LinkUsage {
@@ -16,8 +19,11 @@ export enum LinkUsage {
16
19
  providedIn: 'root',
17
20
  })
18
21
  export class LinkClassifierService {
19
- getUsagesForLink(link: DatasetOnlineResource): LinkUsage[] {
22
+ getUsagesForLink(
23
+ link: DatasetOnlineResource | ServiceOnlineResource
24
+ ): LinkUsage[] {
20
25
  switch (link.type) {
26
+ case 'endpoint':
21
27
  case 'service': {
22
28
  switch (link.accessServiceProtocol) {
23
29
  case 'esriRest':
@@ -54,7 +60,10 @@ export class LinkClassifierService {
54
60
  }
55
61
  }
56
62
 
57
- hasUsage(link: DatasetOnlineResource, usage: LinkUsage) {
63
+ hasUsage(
64
+ link: DatasetOnlineResource | ServiceOnlineResource,
65
+ usage: LinkUsage
66
+ ) {
58
67
  return this.getUsagesForLink(link).indexOf(usage) > -1
59
68
  }
60
69
  }
@@ -1,6 +1,7 @@
1
1
  import { marker } from '@biesbjerg/ngx-translate-extract-marker'
2
2
  import {
3
3
  DatasetOnlineResource,
4
+ ServiceOnlineResource,
4
5
  ServiceProtocol,
5
6
  } from '../../../../../../libs/common/domain/src/lib/model/record'
6
7
  import {
@@ -16,7 +17,7 @@ export const FORMATS = {
16
17
  csv: {
17
18
  extensions: ['csv'],
18
19
  priority: 1,
19
- color: '#a6d6c0',
20
+ color: '#F6A924',
20
21
  mimeTypes: ['text/csv', 'application/csv'],
21
22
  },
22
23
  excel: {
@@ -28,7 +29,7 @@ export const FORMATS = {
28
29
  'openxmlformats-officedocument',
29
30
  ],
30
31
  priority: 2,
31
- color: '#acc5e4',
32
+ color: '#FFDE10',
32
33
  mimeTypes: [
33
34
  'application/vnd.ms-excel',
34
35
  'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
@@ -37,31 +38,31 @@ export const FORMATS = {
37
38
  geojson: {
38
39
  extensions: ['geojson'],
39
40
  priority: 3,
40
- color: '#b3cde8',
41
+ color: '#293C6F',
41
42
  mimeTypes: ['application/geo+json', 'application/vnd.geo+json'],
42
43
  },
43
44
  json: {
44
45
  extensions: ['json'],
45
46
  priority: 3,
46
- color: '#b3cde8',
47
+ color: '#84D0F0',
47
48
  mimeTypes: ['application/json'],
48
49
  },
49
50
  shp: {
50
51
  extensions: ['shp', 'shape', 'zipped-shapefile'],
51
52
  priority: 4,
52
- color: '#b2d8ba',
53
+ color: '#009036',
53
54
  mimeTypes: ['x-gis/x-shapefile'],
54
55
  },
55
56
  gml: {
56
57
  extensions: ['gml'],
57
58
  priority: 5,
58
- color: '#e3b3e5',
59
+ color: '#E75113',
59
60
  mimeTypes: ['application/gml+xml', 'text/xml; subtype=gml'],
60
61
  },
61
62
  kml: {
62
63
  extensions: ['kml', 'kmz'],
63
64
  priority: 6,
64
- color: '#c1e6a0',
65
+ color: '#F4B5D0',
65
66
  mimeTypes: [
66
67
  'application/vnd.google-earth.kml+xml',
67
68
  'application/vnd.google-earth.kmz',
@@ -70,55 +71,55 @@ export const FORMATS = {
70
71
  gpkg: {
71
72
  extensions: ['gpkg', 'geopackage'],
72
73
  priority: 7,
73
- color: '#f7cce6',
74
+ color: '#7D5D9F',
74
75
  mimeTypes: ['application/geopackage+sqlite3'],
75
76
  },
76
77
  zip: {
77
78
  extensions: ['zip', 'tar.gz'],
78
79
  priority: 8,
79
- color: '#ffe7a3',
80
+ color: '#B0CB52',
80
81
  mimeTypes: ['application/zip', 'application/x-zip'],
81
82
  },
82
83
  pdf: {
83
84
  extensions: ['pdf'],
84
85
  priority: 9,
85
- color: '#f5b2a3',
86
+ color: '#49579E',
86
87
  mimeTypes: ['application/pdf'],
87
88
  },
88
89
  jpg: {
89
90
  extensions: ['jpg', 'jpeg', 'jfif', 'pjpeg', 'pjp'],
90
91
  priority: 9,
91
- color: '#d1c1e9',
92
+ color: '#C4A98F',
92
93
  mimeTypes: ['image/jpg'],
93
94
  },
94
95
  svg: {
95
96
  extensions: ['svg'],
96
97
  priority: 10,
97
- color: '#f3c1c9',
98
+ color: '#EB6D82',
98
99
  mimeTypes: ['image/svg+xml'],
99
100
  },
100
101
  dxf: {
101
102
  extensions: ['dxf'],
102
103
  priority: 11,
103
- color: '#f6ceac',
104
+ color: '#DCCD00',
104
105
  mimeTypes: ['application/x-dxf', 'image/x-dxf'],
105
106
  },
106
107
  html: {
107
108
  extensions: ['html', 'htm'],
108
109
  priority: 12,
109
- color: '#FFF2CC',
110
+ color: '#C0C9B6',
110
111
  mimeTypes: ['text/html'],
111
112
  },
112
113
  fgb: {
113
114
  extensions: ['fgb', 'flatgeobuf'],
114
115
  priority: 13,
115
- color: '#ffe7a3',
116
+ color: '#A8111C',
116
117
  mimeTypes: ['application/flatgeobuf'],
117
118
  },
118
119
  jsonfg: {
119
120
  extensions: ['jsonfg', 'jsonfgc'],
120
121
  priority: 14,
121
- color: '#ffe7a3',
122
+ color: '#009EE0',
122
123
  mimeTypes: [
123
124
  'application/vnd.ogc.fg+json',
124
125
  'application/vnd.ogc.fg+json;compatibility=geojson',
@@ -140,7 +141,9 @@ export function getFormatPriority(linkFormat: FileFormat): number {
140
141
  return 0
141
142
  }
142
143
 
143
- export function getLinkPriority(link: DatasetOnlineResource): number {
144
+ export function getLinkPriority(
145
+ link: DatasetOnlineResource | ServiceOnlineResource
146
+ ): number {
144
147
  return getFormatPriority(getFileFormat(link))
145
148
  }
146
149
 
@@ -164,7 +167,9 @@ export function getFileFormatFromServiceOutput(
164
167
  return null
165
168
  }
166
169
 
167
- export function getFileFormat(link: DatasetOnlineResource): FileFormat {
170
+ export function getFileFormat(
171
+ link: DatasetOnlineResource | ServiceOnlineResource
172
+ ): FileFormat {
168
173
  if ('mimeType' in link) {
169
174
  const mimeTypeFormat = mimeTypeToFormat(link.mimeType)
170
175
  if (mimeTypeFormat !== null) {
@@ -181,7 +186,7 @@ export function getFileFormat(link: DatasetOnlineResource): FileFormat {
181
186
  }
182
187
 
183
188
  export function isFormatInQueryParam(
184
- link: DatasetOnlineResource,
189
+ link: DatasetOnlineResource | ServiceOnlineResource,
185
190
  alias: string
186
191
  ): boolean {
187
192
  const queryParams = link.url.searchParams
@@ -203,13 +208,15 @@ export function mimeTypeToFormat(mimeType: string): FileFormat {
203
208
  }
204
209
 
205
210
  export function checkFileFormat(
206
- link: DatasetOnlineResource,
211
+ link: DatasetOnlineResource | ServiceOnlineResource,
207
212
  format: FileFormat
208
213
  ): boolean {
209
214
  return (
210
- ('name' in link && new RegExp(`[./]${format}`, 'i').test(link.name)) ||
215
+ ('name' in link &&
216
+ new RegExp(`[./]${format}`, 'i').test(link.name.toLowerCase())) ||
211
217
  ('url' in link &&
212
- new RegExp(`[./]${format}`, 'i').test(link.url.toString()))
218
+ new RegExp(`[./]${format}`, 'i').test(link.url.toString())) ||
219
+ ('name' in link && link.name.toLowerCase().includes(format))
213
220
  )
214
221
  }
215
222
 
@@ -223,7 +230,9 @@ export function getBadgeColor(linkFormat: FileFormat): string {
223
230
  return 'var(--color-gray-700)' // Default color ?
224
231
  }
225
232
 
226
- export function getLinkLabel(link: DatasetOnlineResource): string {
233
+ export function getLinkLabel(
234
+ link: DatasetOnlineResource | ServiceOnlineResource
235
+ ): string {
227
236
  let format = ''
228
237
  switch (link.type) {
229
238
  case 'service':
@@ -247,7 +256,7 @@ export function getLinkLabel(link: DatasetOnlineResource): string {
247
256
  default:
248
257
  format = getFileFormat(link)
249
258
  }
250
- const label = link.description || link.name
259
+ const label = link.description || ('name' in link ? link.name : '')
251
260
  return format ? `${label} (${format})` : label
252
261
  }
253
262
 
@@ -259,14 +268,25 @@ export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
259
268
  }
260
269
  case 'wfs': {
261
270
  const endpointWfs = await new WfsEndpoint(url).isReady()
262
- return endpointWfs.getFeatureTypes()
271
+ const featureTypes = await endpointWfs.getFeatureTypes()
272
+ const layers = await Promise.all(
273
+ featureTypes.map(async (collection) => {
274
+ return await endpointWfs.getFeatureTypeFull(collection.name)
275
+ })
276
+ )
277
+ return layers
263
278
  }
264
279
  case 'wms': {
265
280
  const endpointWms = await new WmsEndpoint(url).isReady()
266
- return endpointWms
267
- .getLayers()
268
- .flatMap(wmsLayerFlatten)
269
- .filter((l) => l.name)
281
+ const layers = (
282
+ await endpointWms
283
+ .getLayers()
284
+ .flatMap(wmsLayerFlatten)
285
+ .filter((l) => l.name)
286
+ ).map((collection) => {
287
+ return endpointWms.getLayerByName(collection.name)
288
+ })
289
+ return layers
270
290
  }
271
291
  case 'wmts': {
272
292
  const endpointWmts = await new WmtsEndpoint(url).isReady()
@@ -277,7 +297,7 @@ export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
277
297
  }
278
298
  }
279
299
 
280
- function wmsLayerFlatten(layerFull) {
300
+ export function wmsLayerFlatten(layerFull) {
281
301
  const layer = {
282
302
  title: layerFull.title,
283
303
  name: layerFull.name,
@@ -1,6 +1,9 @@
1
1
  module.exports = {
2
2
  theme: {
3
3
  extend: {
4
+ screens: {
5
+ xs: '320px',
6
+ },
4
7
  colors: {
5
8
  'primary-white': 'var(--color-primary-white)',
6
9
  'primary-lightest': 'var(--color-primary-lightest)',
package/tailwind.base.css CHANGED
@@ -66,15 +66,20 @@
66
66
  /* this is a base class, do not use it directly */
67
67
  .gn-ui-btn {
68
68
  --rounded: var(--gn-ui-button-rounded, 0.25em);
69
+ --border-width: var(--gn-ui-button-border-width, 1px);
69
70
  --padding: var(--gn-ui-button-padding, 1em);
70
71
  --width: var(--gn-ui-button-width, auto);
71
72
  --height: var(--gn-ui-button-height, auto);
72
- --background: var(--gn-ui-button-background, --color-background);
73
+ --background: var(--gn-ui-button-background, var(--color-background));
74
+ --bg-hover: var(--gn-ui-button-bg-hover, var(--color-background));
73
75
  --font-size: var(--gn-ui-button-font-size, 1em);
76
+ --color: var(--gn-ui-button-color, var(--color-main));
74
77
  @apply flex flex-row items-center justify-center
75
78
  text-[length:--font-size] leading-none
79
+ text-[color:--color]
76
80
  p-[--padding] rounded-[--rounded] w-[--width] h-[--height] overflow-hidden
77
- bg-[--background] transition-all duration-100
81
+ border-[length:--border-width] bg-[--background] transition-all duration-100
82
+ hover:bg-[--bg-hover] focus:bg-[--bg-hover] active:bg-[--background]
78
83
  outline-none
79
84
  relative
80
85
  disabled:opacity-50 disabled:pointer-events-none
@@ -89,44 +94,60 @@
89
94
 
90
95
  .gn-ui-btn-default {
91
96
  @apply gn-ui-btn text-white
92
- bg-gray-700 hover:bg-gray-800 active:bg-gray-900
93
- border border-gray-700 focus:ring-4 focus:ring-gray-200;
97
+ bg-gray-700 hover:bg-gray-800 hover:!text-white active:bg-gray-900
98
+ border-gray-700 focus:ring-4 focus:ring-gray-200 focus:text-gray-900;
94
99
  }
95
100
 
96
101
  .gn-ui-btn-primary {
97
102
  @apply gn-ui-btn text-white
98
103
  bg-primary hover:bg-primary-darker focus:bg-primary-darker active:bg-primary-darkest
99
- border border-primary focus:ring-4 focus:ring-primary-lightest;
104
+ border-primary focus:ring-4 focus:ring-primary-lightest;
100
105
  }
101
106
 
102
107
  .gn-ui-btn-secondary {
103
108
  @apply gn-ui-btn text-white
104
109
  bg-secondary hover:bg-secondary-darker focus:bg-secondary-darker active:bg-secondary-darkest
105
- border border-secondary focus:ring-4 focus:ring-secondary-lightest;
110
+ border-secondary focus:ring-4 focus:ring-secondary-lightest;
106
111
  }
107
112
 
108
113
  .gn-ui-btn-gray {
109
114
  @apply gn-ui-btn text-black
110
115
  bg-gray-100 hover:bg-gray-200 focus:bg-gray-200 active:bg-gray-300
111
- border border-gray-100 focus:ring-4 focus:ring-gray-50;
116
+ border-gray-100 focus:ring-4 focus:ring-gray-50;
112
117
  }
113
118
 
114
119
  .gn-ui-btn-black {
115
120
  @apply gn-ui-btn text-white
116
121
  bg-black hover:bg-gray-950 focus:bg-gray-950 active:bg-gray-900
117
- border border-black focus:ring-4 focus:ring-gray-300;
122
+ border-black focus:ring-4 focus:ring-gray-300;
118
123
  }
119
124
 
120
125
  .gn-ui-btn-outline {
121
- @apply gn-ui-btn text-main
126
+ @apply gn-ui-btn
122
127
  hover:text-primary-darker focus:text-primary-darker active:text-primary-black
123
- border border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker;
128
+ border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker;
124
129
  }
125
130
 
126
131
  .gn-ui-btn-light {
127
- @apply gn-ui-btn text-main
132
+ @apply gn-ui-btn
128
133
  hover:bg-gray-50 focus:bg-gray-50 active:bg-gray-100
129
- border border-white focus:ring-4 focus:ring-gray-300;
134
+ border-white focus:ring-4 focus:ring-gray-300;
135
+ }
136
+
137
+ .gn-ui-card-s {
138
+ @apply min-h-[64px] w-full xs:min-w-[260px] xs:max-w-[280px] sm:min-w-[300px] sm:max-w-[500px] md:min-w-[230px];
139
+ }
140
+
141
+ .gn-ui-card-title {
142
+ @apply font-title font-medium text-black text-ellipsis overflow-hidden break-words line-clamp-3;
143
+ }
144
+
145
+ .gn-ui-card-icon {
146
+ @apply flex border border-gray-300 rounded-lg py-1 px-2 align-middle;
147
+ }
148
+
149
+ .gn-ui-card-detail {
150
+ @apply font-medium text-gray-500 text-ellipsis break-words text-sm;
130
151
  }
131
152
 
132
153
  /* DROPDOWN MULTISELECT CLASS */
@@ -186,7 +207,7 @@
186
207
 
187
208
  /* TODO: add prefix */
188
209
  .card-icon {
189
- @apply text-primary opacity-50 group-hover:text-secondary group-hover:opacity-100 transition-colors transition-opacity;
210
+ @apply text-black group-hover:text-primary-darkest transition-colors;
190
211
  }
191
212
 
192
213
  /* makes spinners appear in the right color */
@@ -194,6 +215,11 @@
194
215
  mat-progress-spinner circle {
195
216
  stroke: currentColor !important;
196
217
  }
218
+
219
+ /* Section title */
220
+ .gn-ui-section-title {
221
+ @apply text-title font-medium pt-9 text-[28px];
222
+ }
197
223
  }
198
224
 
199
225
  html {
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "": "",
3
3
  "Add Layer As": "",
4
+ "Enter to search": "",
4
5
  "button.login": "",
5
6
  "catalog.figures.datasets": "{count, plural, =0{Datensätze} one{Datensatz} other{Datensätze}}",
6
7
  "catalog.figures.organizations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
@@ -50,7 +51,7 @@
50
51
  "datafeeder.month.september": "September",
51
52
  "datafeeder.wizardSummarize.createdAt": "Erstellt am",
52
53
  "datafeeder.wizardSummarize.scale": "Maßstab",
53
- "datahub.header.datasets": "Datensätze",
54
+ "datahub.header.datasets": "Katalog",
54
55
  "datahub.header.lastRecords": "Die neuesten",
55
56
  "datahub.header.myfavorites": "Meine Favoriten",
56
57
  "datahub.header.news": "Startseite",
@@ -62,7 +63,6 @@
62
63
  "datahub.news.contact.title": "Ein spezielles Bedürfnis?",
63
64
  "datahub.news.feed": "Nachrichtenfeed",
64
65
  "datahub.news.figures": "Indikatoren",
65
- "datahub.record.addToFavorites": "Zu Favoriten hinzufügen",
66
66
  "datahub.search.back": "Zurück",
67
67
  "datahub.search.filter.all": "Alle",
68
68
  "datahub.search.filter.generatedByAPI": "Generiert durch eine API",
@@ -72,6 +72,7 @@
72
72
  "dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
73
73
  "dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
74
74
  "dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht gelesen werden: \"{ info }\"",
75
+ "dataset.error.restrictedAccess": "",
75
76
  "dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
76
77
  "dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
77
78
  "domain.contact.role.author": "",
@@ -203,6 +204,9 @@
203
204
  "editor.record.form.license.odc-by": "",
204
205
  "editor.record.form.license.pddl": "",
205
206
  "editor.record.form.license.unknown": "",
207
+ "editor.record.form.multilingual.enable": "",
208
+ "editor.record.form.multilingual.open": "",
209
+ "editor.record.form.multilingual.title": "",
206
210
  "editor.record.form.page.accessAndContact": "",
207
211
  "editor.record.form.page.description": "",
208
212
  "editor.record.form.page.resources": "",
@@ -232,6 +236,7 @@
232
236
  "editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
233
237
  "editor.record.loadError.closeMessage": "Verstanden",
234
238
  "editor.record.loadError.title": "Fehler beim Laden des Datensatzes",
239
+ "editor.record.lock.format": "",
235
240
  "editor.record.lock.reason": "",
236
241
  "editor.record.onlineResource.protocol.other": "",
237
242
  "editor.record.onlineResourceError.body": "",
@@ -291,7 +296,6 @@
291
296
  "input.image.dropFileLabel": "",
292
297
  "input.image.selectFileLabel": "",
293
298
  "input.image.uploadErrorLabel": "",
294
- "input.image.uploadErrorRetry": "",
295
299
  "input.image.uploadProgressCancel": "",
296
300
  "input.image.uploadProgressLabel": "",
297
301
  "language.ca": "Katalanisch",
@@ -331,6 +335,7 @@
331
335
  "map.wms.urlInput.hint": "Geben Sie die WMS URL ein",
332
336
  "multiselect.filter.placeholder": "Suche",
333
337
  "nav.back": "Zurück",
338
+ "navbar.mobile.menuTitle": "Schnellzugriff",
334
339
  "next": "weiter",
335
340
  "ogc.unreachable.unknown": "Der Dienst konnte nicht erreicht werden",
336
341
  "organisation.filter.placeholder": "Ergebnisse filtern",
@@ -354,8 +359,13 @@
354
359
  "record.action.duplicating": "",
355
360
  "record.action.rollback": "",
356
361
  "record.action.view": "Anzeigen",
362
+ "record.card.metadata.contact": "",
357
363
  "record.externalViewer.open": "In externem Kartenviewer öffnen",
358
364
  "record.feature.limit": "Die Vorschau wurde aufgrund zu vieler Elemente deaktiviert",
365
+ "record.kind.data": "",
366
+ "record.kind.dataset": "",
367
+ "record.kind.reuse": "",
368
+ "record.kind.service": "",
359
369
  "record.metadata.about": "Beschreibung",
360
370
  "record.metadata.api": "API",
361
371
  "record.metadata.api.form.closeButton": "Schließen",
@@ -389,6 +399,7 @@
389
399
  "record.metadata.api.form.zoneTitle": "",
390
400
  "record.metadata.api.form.zoneTooltip": "",
391
401
  "record.metadata.api.gpfdl": "",
402
+ "record.metadata.capabilities": "",
392
403
  "record.metadata.catalog": "Katalog",
393
404
  "record.metadata.contact": "Kontakt",
394
405
  "record.metadata.creation": "Erstellungsdatum",
@@ -425,11 +436,12 @@
425
436
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
426
437
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
427
438
  "record.metadata.related": "Ähnliche Datensätze",
439
+ "record.metadata.related.contents": "",
440
+ "record.metadata.ressources.and.links": "Ressourcen und Links",
428
441
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
429
442
  "record.metadata.status": "Status",
430
443
  "record.metadata.status.notPublished": "",
431
444
  "record.metadata.status.published": "",
432
- "record.metadata.technical": "Technische Informationen",
433
445
  "record.metadata.temporalExtent": "Zeitlicher Umfang",
434
446
  "record.metadata.temporalExtent.fromDateToDate": "Von {start} bis {end}",
435
447
  "record.metadata.temporalExtent.sinceDate": "Seit {start}",
@@ -466,6 +478,7 @@
466
478
  "results.sortBy.popularity": "Beliebtheit",
467
479
  "results.sortBy.qualityScore": "Qualitätsbewertung",
468
480
  "results.sortBy.relevancy": "Relevanz",
481
+ "reuse.metadata.access": "",
469
482
  "search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
470
483
  "search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
471
484
  "search.error.organizationHasNoDataset": "",
@@ -505,6 +518,10 @@
505
518
  "search.filters.producerOrg": "",
506
519
  "search.filters.publicationYear": "Veröffentlichungsjahr",
507
520
  "search.filters.publisherOrg": "",
521
+ "search.filters.recordKind.all": "Alle",
522
+ "search.filters.recordKind.dataset": "Datensätze",
523
+ "search.filters.recordKind.reuse": "Wiederverwendungen",
524
+ "search.filters.recordKind.service": "Dienste",
508
525
  "search.filters.representationType": "Repräsentationstyp",
509
526
  "search.filters.resourceType": "Ressourcentyp",
510
527
  "search.filters.standard": "Standard",
@@ -515,6 +532,26 @@
515
532
  "search.filters.useSpatialFilter": "Zuerst Datensätze im Interessenbereich anzeigen",
516
533
  "search.filters.useSpatialFilterHelp": "Wenn diese Option aktiviert ist, werden Datensätze im Bereich des Katalogs zuerst angezeigt. Datensätze außerhalb dieses Bereichs werden nicht angezeigt.",
517
534
  "search.filters.user": "Editor",
535
+ "service.metadata.capabilities": "",
536
+ "service.metadata.capabilities.abstract": "",
537
+ "service.metadata.capabilities.attribution": "",
538
+ "service.metadata.capabilities.availableCrs": "",
539
+ "service.metadata.capabilities.defaultCrs": "",
540
+ "service.metadata.capabilities.geometryName": "",
541
+ "service.metadata.capabilities.geometryType": "",
542
+ "service.metadata.capabilities.keywords": "",
543
+ "service.metadata.capabilities.name": "",
544
+ "service.metadata.capabilities.objectCount": "",
545
+ "service.metadata.capabilities.otherCrs": "",
546
+ "service.metadata.capabilities.outputFormats": "",
547
+ "service.metadata.capabilities.resourceLinks": "",
548
+ "service.metadata.capabilities.title": "",
549
+ "service.metadata.filter": "",
550
+ "service.metadata.filter.noLayers": "",
551
+ "service.metadata.other": "",
552
+ "service.metadata.question": "",
553
+ "service.metadata.search": "",
554
+ "service.metadata.spatialExtent": "",
518
555
  "share.tab.permalink": "Teilen",
519
556
  "share.tab.webComponent": "Integrieren",
520
557
  "table.loading.data": "Daten werden geladen...",