geonetwork-ui 2.6.0-dev.582b4530a → 2.6.0-dev.6681b0ab3

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 (398) 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 +3 -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-repository.mjs +5 -2
  9. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
  10. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  11. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +45 -9
  12. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  13. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +25 -6
  14. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  15. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +18 -0
  16. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
  17. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
  18. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
  19. package/esm2022/libs/feature/record/src/index.mjs +1 -2
  20. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
  21. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
  22. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
  23. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
  24. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
  25. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -3
  26. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
  27. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +8 -5
  28. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +10 -6
  29. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
  30. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  31. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
  32. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
  33. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  34. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +8 -7
  35. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +13 -19
  36. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
  37. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
  38. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +26 -10
  39. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
  40. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  41. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  42. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
  43. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +11 -6
  44. package/esm2022/libs/ui/elements/src/index.mjs +4 -1
  45. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  46. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +3 -3
  47. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
  48. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  49. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +3 -3
  50. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +51 -0
  51. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +3 -3
  52. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  53. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  54. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
  55. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
  56. package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +51 -0
  57. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +161 -0
  58. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +16 -4
  59. package/esm2022/libs/ui/inputs/src/index.mjs +3 -2
  60. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  61. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  62. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  63. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
  64. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  65. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +68 -0
  66. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -3
  67. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
  68. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  69. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +43 -3
  70. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
  71. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  72. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
  73. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +15 -3
  74. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
  75. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  76. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +107 -0
  77. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
  78. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  79. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
  80. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +80 -0
  81. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  82. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  83. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  84. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  85. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +5 -4
  86. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +11 -3
  87. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  88. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
  89. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  90. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  91. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
  92. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +2 -1
  93. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +13 -6
  94. package/esm2022/translations/de.json +42 -5
  95. package/esm2022/translations/en.json +45 -6
  96. package/esm2022/translations/es.json +42 -5
  97. package/esm2022/translations/fr.json +45 -6
  98. package/esm2022/translations/it.json +42 -5
  99. package/esm2022/translations/nl.json +42 -5
  100. package/esm2022/translations/pt.json +42 -5
  101. package/fesm2022/geonetwork-ui.mjs +1807 -635
  102. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  103. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  104. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  105. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
  106. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  107. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  108. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  109. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  110. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  111. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +5 -2
  112. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  113. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +12 -8
  114. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  115. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +5 -2
  116. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  117. package/libs/feature/editor/src/index.d.ts +1 -0
  118. package/libs/feature/editor/src/index.d.ts.map +1 -1
  119. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +7 -0
  120. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
  121. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  122. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
  123. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  124. 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
  125. package/libs/feature/record/src/index.d.ts +0 -1
  126. package/libs/feature/record/src/index.d.ts.map +1 -1
  127. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
  128. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  129. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
  130. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  131. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
  132. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  133. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
  134. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  135. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
  136. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +3 -1
  137. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  138. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +11 -7
  139. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  140. package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
  141. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  142. package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
  143. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  144. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  145. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
  146. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  147. package/libs/feature/search/src/index.d.ts +1 -1
  148. package/libs/feature/search/src/index.d.ts.map +1 -1
  149. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  150. package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
  151. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  152. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
  153. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
  154. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
  155. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  156. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
  157. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  158. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
  159. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  160. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  161. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +2 -1
  162. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
  163. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
  164. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  165. package/libs/ui/elements/src/index.d.ts +3 -0
  166. package/libs/ui/elements/src/index.d.ts.map +1 -1
  167. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
  168. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  169. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  170. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  171. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +11 -0
  172. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  173. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +1 -1
  174. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  175. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
  176. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  177. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +16 -0
  178. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
  179. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +30 -0
  180. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
  181. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +3 -1
  182. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  183. package/libs/ui/inputs/src/index.d.ts +2 -1
  184. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  185. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  186. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  187. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  188. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  189. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  190. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  191. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
  192. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
  193. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  194. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
  195. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  196. package/libs/ui/layout/src/index.d.ts +1 -0
  197. package/libs/ui/layout/src/index.d.ts.map +1 -1
  198. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +10 -3
  199. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  200. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
  201. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  202. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
  203. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  204. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -0
  205. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  206. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +27 -0
  207. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
  208. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  209. package/libs/ui/map/src/index.d.ts +1 -0
  210. package/libs/ui/map/src/index.d.ts.map +1 -1
  211. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
  212. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  213. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
  214. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
  215. package/libs/ui/search/src/index.d.ts +1 -0
  216. package/libs/ui/search/src/index.d.ts.map +1 -1
  217. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  218. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  219. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  220. package/libs/ui/search/src/lib/ui-search.module.d.ts +21 -19
  221. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  222. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  223. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  224. package/libs/util/shared/src/index.d.ts +1 -0
  225. package/libs/util/shared/src/index.d.ts.map +1 -1
  226. package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
  227. package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
  228. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  229. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  230. package/libs/util/shared/src/lib/links/link-utils.d.ts +14 -7
  231. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  232. package/package.json +2 -2
  233. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  234. package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
  235. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  236. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
  237. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +2 -2
  238. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  239. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
  240. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +2 -2
  241. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
  242. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
  243. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -9
  244. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +4 -1
  245. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
  246. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +9 -4
  247. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +26 -26
  248. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +2 -2
  249. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
  250. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
  251. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +54 -10
  252. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
  253. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +27 -1
  254. package/src/libs/feature/editor/src/index.ts +1 -0
  255. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +14 -0
  256. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +15 -0
  257. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
  258. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
  259. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
  260. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  261. package/src/libs/feature/record/src/index.ts +0 -1
  262. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +16 -10
  263. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
  264. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  265. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
  266. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
  267. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
  268. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +25 -16
  269. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
  270. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +5 -3
  271. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +11 -7
  272. package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
  273. package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
  274. package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
  275. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
  276. package/src/libs/feature/search/src/index.ts +1 -1
  277. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +0 -6
  278. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -8
  279. package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -10
  280. package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
  281. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
  282. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
  283. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
  284. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.css +6 -0
  285. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
  286. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +24 -5
  287. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  288. package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
  289. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  290. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
  291. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
  292. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +5 -4
  293. package/src/libs/ui/elements/src/index.ts +3 -0
  294. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
  295. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
  296. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
  297. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +38 -7
  298. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
  299. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  300. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +2 -2
  301. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  302. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +9 -0
  303. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +51 -0
  304. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +5 -2
  305. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -7
  306. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
  307. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
  308. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
  309. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +24 -7
  310. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
  311. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +2 -3
  312. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +48 -0
  313. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +52 -0
  314. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
  315. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +96 -0
  316. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +183 -0
  317. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -1
  318. package/src/libs/ui/inputs/src/index.ts +2 -1
  319. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
  320. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  321. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
  322. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  323. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
  324. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  325. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
  326. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
  327. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +77 -0
  328. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +6 -6
  329. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -1
  330. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  331. package/src/libs/ui/layout/src/index.ts +1 -0
  332. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +46 -2
  333. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  334. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
  335. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
  336. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
  337. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  338. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
  339. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
  340. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -7
  341. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -0
  342. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  343. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  344. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  345. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +44 -0
  346. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +130 -0
  347. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +1 -5
  348. package/src/libs/ui/map/src/index.ts +1 -0
  349. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
  350. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
  351. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
  352. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
  353. 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
  354. package/src/libs/ui/search/src/index.ts +1 -0
  355. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  356. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +24 -0
  357. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  358. package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
  359. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +7 -4
  360. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +2 -1
  361. package/src/libs/ui/search/src/lib/ui-search.module.ts +5 -0
  362. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -1
  363. package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
  364. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  365. package/src/libs/util/shared/src/index.ts +1 -0
  366. package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
  367. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +12 -3
  368. package/src/libs/util/shared/src/lib/links/link-utils.ts +30 -12
  369. package/tailwind.base.config.js +3 -0
  370. package/tailwind.base.css +19 -26
  371. package/translations/de.json +42 -5
  372. package/translations/en.json +45 -6
  373. package/translations/es.json +42 -5
  374. package/translations/fr.json +45 -6
  375. package/translations/it.json +42 -5
  376. package/translations/nl.json +42 -5
  377. package/translations/pt.json +42 -5
  378. package/translations/sk.json +42 -5
  379. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
  380. package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
  381. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  382. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
  383. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
  384. 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
  385. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
  386. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
  387. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  388. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  389. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
  390. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +0 -1
  391. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
  392. package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
  393. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  394. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
  395. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
  396. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
  397. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
  398. /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
@@ -0,0 +1,24 @@
1
+ <gn-ui-inline-filter
2
+ [choices]="availableChoices"
3
+ [selected]="selected"
4
+ (selectValues)="onSelectedValues($event)"
5
+ >
6
+ <ng-template let-choice>
7
+ <gn-ui-kind-badge
8
+ [kind]="choice.value"
9
+ [contentTemplate]="customTemplate"
10
+ class="gn-ui-btn-outline rounded-md py-2 px-2 border-gray-400 cursor-pointer focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors bg-transparent hover:text-primary-darker focus:text-primary-darker active:text-primary-black"
11
+ [ngClass]="{
12
+ '!bg-primary-lightest hover:bg-primary-lightest':
13
+ isSelectedChoice(choice.value) || isAllChoice(choice.value),
14
+ }"
15
+ >
16
+ <ng-template #customTemplate>
17
+ {{ 'search.filters.recordKind.' + choice.value | translate
18
+ }}<span class="ml-1" *ngIf="isSelectedChoice(choice.value)"
19
+ >({{ choice.count }})</span
20
+ >
21
+ </ng-template>
22
+ </gn-ui-kind-badge>
23
+ </ng-template>
24
+ </gn-ui-inline-filter>
@@ -0,0 +1,53 @@
1
+ import {
2
+ Component,
3
+ EventEmitter,
4
+ Input,
5
+ OnChanges,
6
+ SimpleChanges,
7
+ Output,
8
+ } from '@angular/core'
9
+ import { Choice } from '../../../../../../libs/ui/inputs/src'
10
+
11
+ @Component({
12
+ selector: 'gn-ui-results-hits-search-kind',
13
+ templateUrl: './results-hits-search-kind.component.html',
14
+ })
15
+ export class ResultsHitsSearchKindComponent implements OnChanges {
16
+ @Input() selected: string[] = []
17
+ @Input() choices: Choice[] = []
18
+ @Output() selectionChanged = new EventEmitter<string[]>()
19
+
20
+ availableChoices: Choice[] = []
21
+
22
+ ngOnChanges(changes: SimpleChanges) {
23
+ if (changes.choices && changes.choices.currentValue) {
24
+ this.availableChoices = this.buildFilterChoices(this.choices)
25
+ }
26
+ }
27
+
28
+ buildFilterChoices(availableValues: Choice[]) {
29
+ return [
30
+ ...[
31
+ {
32
+ label: 'all',
33
+ value: 'all',
34
+ },
35
+ ],
36
+ ...availableValues,
37
+ ]
38
+ }
39
+
40
+ onSelectedValues(values: string[]) {
41
+ const selectedValues = values.includes('all') ? [] : values
42
+
43
+ this.selectionChanged.emit(selectedValues)
44
+ }
45
+
46
+ isSelectedChoice(choiceValue: string) {
47
+ return this.selected.includes(choiceValue)
48
+ }
49
+
50
+ isAllChoice(choiceValue: string) {
51
+ return this.selected.length === 0 && choiceValue === 'all'
52
+ }
53
+ }
@@ -12,6 +12,7 @@
12
12
  (mdSelect)="mdSelect.emit($event)"
13
13
  [favoriteTemplate]="favoriteTemplate"
14
14
  [linkHref]="recordUrlGetter(record)"
15
+ [attr.data-cy]="record.uniqueIdentifier"
15
16
  ></gn-ui-results-list-item>
16
17
  </div>
17
18
  </div>
@@ -9,10 +9,10 @@
9
9
  <ng-icon
10
10
  name="iconoirLock"
11
11
  class="text-purple"
12
- *ngIf="!item.extras?.edit && !isDraftPage"
12
+ *ngIf="(!item.extras?.edit && !isDraftPage) || item.kind !== 'dataset'"
13
13
  ></ng-icon>
14
14
  <gn-ui-checkbox
15
- *ngIf="item.extras?.edit || isDraftPage"
15
+ *ngIf="(item.extras?.edit || isDraftPage) && item.kind === 'dataset'"
16
16
  [checked]="isChecked(item)"
17
17
  (changed)="handleRecordSelectedChange($event, item)"
18
18
  class="-m-2"
@@ -149,11 +149,14 @@
149
149
  (buttonClick)="openActionMenu(item, template)"
150
150
  type="light"
151
151
  data-test="record-menu-button"
152
- [disabled]="!item.extras?.edit && !isDraftPage"
152
+ [disabled]="
153
+ (!item.extras?.edit && !isDraftPage) || item.kind !== 'dataset'
154
+ "
153
155
  >
154
156
  <ng-icon
155
157
  [ngClass]="{
156
- 'text-purple-light': !item.extras?.edit && !isDraftPage,
158
+ 'text-purple-light':
159
+ (!item.extras?.edit && !isDraftPage) || item.kind !== 'dataset',
157
160
  }"
158
161
  name="matMoreVert"
159
162
  ></ng-icon>
@@ -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,8 +3,9 @@
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>
@@ -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 {
@@ -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,7 +208,7 @@ 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 (
@@ -225,7 +230,9 @@ export function getBadgeColor(linkFormat: FileFormat): string {
225
230
  return 'var(--color-gray-700)' // Default color ?
226
231
  }
227
232
 
228
- export function getLinkLabel(link: DatasetOnlineResource): string {
233
+ export function getLinkLabel(
234
+ link: DatasetOnlineResource | ServiceOnlineResource
235
+ ): string {
229
236
  let format = ''
230
237
  switch (link.type) {
231
238
  case 'service':
@@ -249,7 +256,7 @@ export function getLinkLabel(link: DatasetOnlineResource): string {
249
256
  default:
250
257
  format = getFileFormat(link)
251
258
  }
252
- const label = link.description || link.name
259
+ const label = link.description || ('name' in link ? link.name : '')
253
260
  return format ? `${label} (${format})` : label
254
261
  }
255
262
 
@@ -261,14 +268,25 @@ export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
261
268
  }
262
269
  case 'wfs': {
263
270
  const endpointWfs = await new WfsEndpoint(url).isReady()
264
- 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
265
278
  }
266
279
  case 'wms': {
267
280
  const endpointWms = await new WmsEndpoint(url).isReady()
268
- return endpointWms
269
- .getLayers()
270
- .flatMap(wmsLayerFlatten)
271
- .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
272
290
  }
273
291
  case 'wmts': {
274
292
  const endpointWmts = await new WmtsEndpoint(url).isReady()
@@ -279,7 +297,7 @@ export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
279
297
  }
280
298
  }
281
299
 
282
- function wmsLayerFlatten(layerFull) {
300
+ export function wmsLayerFlatten(layerFull) {
283
301
  const layer = {
284
302
  title: layerFull.title,
285
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,60 +94,48 @@
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;
130
- }
131
-
132
- .gn-ui-card-xs {
133
- @apply min-h-[68px] md:w-[487px];
134
+ border-white focus:ring-4 focus:ring-gray-300;
134
135
  }
135
136
 
136
137
  .gn-ui-card-s {
137
- @apply min-h-[135px] md:w-80;
138
- }
139
-
140
- .gn-ui-card-m {
141
- @apply min-h-[68px] md:w-[487px];
142
- }
143
-
144
- .gn-ui-card-l {
145
- @apply min-h-[68px] md:w-[992px];
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];
146
139
  }
147
140
 
148
141
  .gn-ui-card-title {
@@ -225,7 +218,7 @@
225
218
 
226
219
  /* Section title */
227
220
  .gn-ui-section-title {
228
- @apply text-title font-medium pt-9 text-[28px] container-lg px-4 lg:mx-auto;
221
+ @apply text-title font-medium pt-9 text-[28px];
229
222
  }
230
223
  }
231
224
 
@@ -51,7 +51,7 @@
51
51
  "datafeeder.month.september": "September",
52
52
  "datafeeder.wizardSummarize.createdAt": "Erstellt am",
53
53
  "datafeeder.wizardSummarize.scale": "Maßstab",
54
- "datahub.header.datasets": "Datensätze",
54
+ "datahub.header.datasets": "Katalog",
55
55
  "datahub.header.lastRecords": "Die neuesten",
56
56
  "datahub.header.myfavorites": "Meine Favoriten",
57
57
  "datahub.header.news": "Startseite",
@@ -63,7 +63,6 @@
63
63
  "datahub.news.contact.title": "Ein spezielles Bedürfnis?",
64
64
  "datahub.news.feed": "Nachrichtenfeed",
65
65
  "datahub.news.figures": "Indikatoren",
66
- "datahub.record.addToFavorites": "Zu Favoriten hinzufügen",
67
66
  "datahub.search.back": "Zurück",
68
67
  "datahub.search.filter.all": "Alle",
69
68
  "datahub.search.filter.generatedByAPI": "Generiert durch eine API",
@@ -205,6 +204,9 @@
205
204
  "editor.record.form.license.odc-by": "",
206
205
  "editor.record.form.license.pddl": "",
207
206
  "editor.record.form.license.unknown": "",
207
+ "editor.record.form.multilingual.enable": "",
208
+ "editor.record.form.multilingual.open": "",
209
+ "editor.record.form.multilingual.title": "",
208
210
  "editor.record.form.page.accessAndContact": "",
209
211
  "editor.record.form.page.description": "",
210
212
  "editor.record.form.page.resources": "",
@@ -234,6 +236,7 @@
234
236
  "editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
235
237
  "editor.record.loadError.closeMessage": "Verstanden",
236
238
  "editor.record.loadError.title": "Fehler beim Laden des Datensatzes",
239
+ "editor.record.lock.format": "",
237
240
  "editor.record.lock.reason": "",
238
241
  "editor.record.onlineResource.protocol.other": "",
239
242
  "editor.record.onlineResourceError.body": "",
@@ -281,6 +284,10 @@
281
284
  "facets.block.title.tag.default": "Stichwort",
282
285
  "facets.block.title.th_regions_tree.default": "Regionen",
283
286
  "favorite.not.authenticated.tooltip": "<div><a href=' {link} '>Anmelden</a>, um auf diese Funktion zuzugreifen</div>",
287
+ "feature.catalog.attribute.code": "",
288
+ "feature.catalog.attribute.description": "",
289
+ "feature.catalog.attribute.name": "",
290
+ "feature.catalog.attribute.type": "",
284
291
  "input.file.dropFileLabel": "",
285
292
  "input.file.orInputUrl": "",
286
293
  "input.file.selectFileLabel": "",
@@ -293,7 +300,6 @@
293
300
  "input.image.dropFileLabel": "",
294
301
  "input.image.selectFileLabel": "",
295
302
  "input.image.uploadErrorLabel": "",
296
- "input.image.uploadErrorRetry": "",
297
303
  "input.image.uploadProgressCancel": "",
298
304
  "input.image.uploadProgressLabel": "",
299
305
  "language.ca": "Katalanisch",
@@ -333,6 +339,7 @@
333
339
  "map.wms.urlInput.hint": "Geben Sie die WMS URL ein",
334
340
  "multiselect.filter.placeholder": "Suche",
335
341
  "nav.back": "Zurück",
342
+ "navbar.mobile.menuTitle": "Schnellzugriff",
336
343
  "next": "weiter",
337
344
  "ogc.unreachable.unknown": "Der Dienst konnte nicht erreicht werden",
338
345
  "organisation.filter.placeholder": "Ergebnisse filtern",
@@ -358,7 +365,11 @@
358
365
  "record.action.view": "Anzeigen",
359
366
  "record.card.metadata.contact": "",
360
367
  "record.externalViewer.open": "In externem Kartenviewer öffnen",
368
+ "record.metadata.feature.catalog": "",
369
+ "record.feature.catalog.number.total.attribute": "",
370
+ "record.feature.catalog.number.total.object": "",
361
371
  "record.feature.limit": "Die Vorschau wurde aufgrund zu vieler Elemente deaktiviert",
372
+ "record.kind.data": "",
362
373
  "record.kind.dataset": "",
363
374
  "record.kind.reuse": "",
364
375
  "record.kind.service": "",
@@ -395,6 +406,7 @@
395
406
  "record.metadata.api.form.zoneTitle": "",
396
407
  "record.metadata.api.form.zoneTooltip": "",
397
408
  "record.metadata.api.gpfdl": "",
409
+ "record.metadata.capabilities": "",
398
410
  "record.metadata.catalog": "Katalog",
399
411
  "record.metadata.contact": "Kontakt",
400
412
  "record.metadata.creation": "Erstellungsdatum",
@@ -431,13 +443,12 @@
431
443
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
432
444
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
433
445
  "record.metadata.related": "Ähnliche Datensätze",
434
- "record.metadata.related.contents": "Verwandte Inhalte",
446
+ "record.metadata.related.contents": "",
435
447
  "record.metadata.ressources.and.links": "Ressourcen und Links",
436
448
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
437
449
  "record.metadata.status": "Status",
438
450
  "record.metadata.status.notPublished": "",
439
451
  "record.metadata.status.published": "",
440
- "record.metadata.technical": "Technische Informationen",
441
452
  "record.metadata.temporalExtent": "Zeitlicher Umfang",
442
453
  "record.metadata.temporalExtent.fromDateToDate": "Von {start} bis {end}",
443
454
  "record.metadata.temporalExtent.sinceDate": "Seit {start}",
@@ -474,6 +485,7 @@
474
485
  "results.sortBy.popularity": "Beliebtheit",
475
486
  "results.sortBy.qualityScore": "Qualitätsbewertung",
476
487
  "results.sortBy.relevancy": "Relevanz",
488
+ "reuse.metadata.access": "",
477
489
  "search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
478
490
  "search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
479
491
  "search.error.organizationHasNoDataset": "",
@@ -483,6 +495,7 @@
483
495
  "search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
484
496
  "search.field.any.placeholder": "Suche im katalog ...",
485
497
  "search.field.sortBy": "Sortieren nach:",
498
+ "search.filter.into.feature.catalog": "",
486
499
  "search.filters.availableServices.download": "",
487
500
  "search.filters.availableServices.view": "",
488
501
  "search.filters.changeDate": "Letzte Aktualisierung",
@@ -513,6 +526,10 @@
513
526
  "search.filters.producerOrg": "",
514
527
  "search.filters.publicationYear": "Veröffentlichungsjahr",
515
528
  "search.filters.publisherOrg": "",
529
+ "search.filters.recordKind.all": "Alle",
530
+ "search.filters.recordKind.dataset": "Datensätze",
531
+ "search.filters.recordKind.reuse": "Wiederverwendungen",
532
+ "search.filters.recordKind.service": "Dienste",
516
533
  "search.filters.representationType": "Repräsentationstyp",
517
534
  "search.filters.resourceType": "Ressourcentyp",
518
535
  "search.filters.standard": "Standard",
@@ -523,6 +540,26 @@
523
540
  "search.filters.useSpatialFilter": "Zuerst Datensätze im Interessenbereich anzeigen",
524
541
  "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.",
525
542
  "search.filters.user": "Editor",
543
+ "service.metadata.capabilities": "",
544
+ "service.metadata.capabilities.abstract": "",
545
+ "service.metadata.capabilities.attribution": "",
546
+ "service.metadata.capabilities.availableCrs": "",
547
+ "service.metadata.capabilities.defaultCrs": "",
548
+ "service.metadata.capabilities.geometryName": "",
549
+ "service.metadata.capabilities.geometryType": "",
550
+ "service.metadata.capabilities.keywords": "",
551
+ "service.metadata.capabilities.name": "",
552
+ "service.metadata.capabilities.objectCount": "",
553
+ "service.metadata.capabilities.otherCrs": "",
554
+ "service.metadata.capabilities.outputFormats": "",
555
+ "service.metadata.capabilities.resourceLinks": "",
556
+ "service.metadata.capabilities.title": "",
557
+ "service.metadata.filter": "",
558
+ "service.metadata.filter.noLayers": "",
559
+ "service.metadata.other": "",
560
+ "service.metadata.question": "",
561
+ "service.metadata.search": "",
562
+ "service.metadata.spatialExtent": "",
526
563
  "share.tab.permalink": "Teilen",
527
564
  "share.tab.webComponent": "Integrieren",
528
565
  "table.loading.data": "Daten werden geladen...",