geonetwork-ui 2.6.0-dev.0739ca76d → 2.6.0-dev.10c659821

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 (414) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -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 +40 -4
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +8 -4
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +5 -2
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +4 -4
  9. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +2 -2
  10. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +5 -2
  11. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -4
  12. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +79 -16
  13. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +7 -1
  14. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +2 -1
  15. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  16. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  17. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +45 -9
  18. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  19. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +32 -2
  20. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +25 -6
  21. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  22. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +273 -0
  23. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
  24. package/esm2022/libs/feature/record/src/index.mjs +2 -3
  25. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +17 -16
  26. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
  27. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
  28. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +85 -18
  29. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
  30. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -1
  31. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +13 -13
  32. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
  33. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
  34. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  35. package/esm2022/libs/feature/search/src/lib/constants.mjs +4 -2
  36. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +12 -5
  37. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +5 -3
  38. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
  39. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +6 -2
  40. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +13 -10
  41. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
  42. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  43. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
  44. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +11 -6
  45. package/esm2022/libs/ui/elements/src/index.mjs +4 -2
  46. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  47. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +3 -3
  48. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
  49. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +55 -0
  50. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  51. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +42 -83
  52. package/esm2022/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.mjs +59 -0
  53. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +68 -0
  54. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +3 -3
  55. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  56. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  57. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
  58. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +37 -12
  59. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +5 -1
  60. package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +72 -0
  61. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +12 -4
  62. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +20 -4
  63. package/esm2022/libs/ui/inputs/src/index.mjs +3 -1
  64. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  65. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  66. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  67. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  68. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
  69. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  70. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +68 -0
  71. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +3 -3
  72. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
  73. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  74. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
  75. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  76. package/esm2022/libs/ui/layout/src/lib/cell-popin/cell-popin.component.mjs +110 -0
  77. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
  78. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +20 -10
  79. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
  80. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  81. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +73 -0
  82. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
  83. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
  84. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +2 -1
  85. package/esm2022/libs/ui/search/src/index.mjs +3 -1
  86. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -8
  87. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  88. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  89. package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +2 -2
  90. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  91. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +21 -12
  92. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +39 -18
  93. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +19 -5
  94. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  95. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +42 -1
  96. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +24 -2
  97. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +4 -1
  98. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +4 -1
  99. package/esm2022/translations/de.json +55 -8
  100. package/esm2022/translations/en.json +55 -8
  101. package/esm2022/translations/es.json +54 -7
  102. package/esm2022/translations/fr.json +56 -9
  103. package/esm2022/translations/it.json +81 -34
  104. package/esm2022/translations/nl.json +54 -7
  105. package/esm2022/translations/pt.json +54 -7
  106. package/fesm2022/geonetwork-ui.mjs +2885 -1214
  107. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  108. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  109. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  110. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  111. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  112. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  113. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  114. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +0 -1
  115. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  116. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +1 -0
  117. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  118. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  119. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  120. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  121. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  122. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
  123. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  124. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +13 -2
  125. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  126. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -0
  127. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  128. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +1 -0
  129. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
  130. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +21 -15
  131. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  132. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +6 -0
  133. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  134. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +12 -8
  135. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  136. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +1 -0
  137. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  138. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +5 -2
  139. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  140. package/libs/feature/editor/src/index.d.ts +1 -0
  141. package/libs/feature/editor/src/index.d.ts.map +1 -1
  142. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +52 -0
  143. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
  144. package/libs/feature/record/src/index.d.ts +1 -2
  145. package/libs/feature/record/src/index.d.ts.map +1 -1
  146. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +7 -4
  147. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  148. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
  149. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  150. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +16 -6
  151. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  152. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +10 -0
  153. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  154. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +6 -0
  155. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  156. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -21
  157. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  158. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +2 -0
  159. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  160. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  161. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  162. package/libs/feature/search/src/index.d.ts +1 -1
  163. package/libs/feature/search/src/index.d.ts.map +1 -1
  164. package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
  165. package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
  166. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  167. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
  168. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  169. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
  170. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  171. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +1 -1
  172. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  173. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +6 -5
  174. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  175. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
  176. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  177. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  178. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +2 -1
  179. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
  180. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
  181. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  182. package/libs/ui/elements/src/index.d.ts +3 -1
  183. package/libs/ui/elements/src/index.d.ts.map +1 -1
  184. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
  185. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  186. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  187. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  188. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +15 -0
  189. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -0
  190. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +6 -13
  191. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
  192. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts +14 -0
  193. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts.map +1 -0
  194. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +13 -0
  195. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  196. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +1 -1
  197. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  198. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +3 -0
  199. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  200. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
  201. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +27 -0
  202. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
  203. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +1 -0
  204. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -1
  205. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +4 -1
  206. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  207. package/libs/ui/inputs/src/index.d.ts +2 -0
  208. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  209. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  210. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  211. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  212. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  213. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  214. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  215. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
  216. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
  217. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
  218. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  219. package/libs/ui/layout/src/index.d.ts +2 -0
  220. package/libs/ui/layout/src/index.d.ts.map +1 -1
  221. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
  222. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  223. package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts +28 -0
  224. package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts.map +1 -0
  225. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
  226. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  227. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +4 -2
  228. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  229. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +22 -0
  230. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
  231. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  232. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
  233. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  234. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -1
  235. package/libs/ui/search/src/index.d.ts +2 -0
  236. package/libs/ui/search/src/index.d.ts.map +1 -1
  237. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  238. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  239. package/libs/ui/search/src/lib/results-list/results-list.component.d.ts.map +1 -1
  240. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -3
  241. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  242. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +10 -4
  243. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  244. package/libs/ui/search/src/lib/ui-search.module.d.ts +22 -19
  245. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  246. package/libs/util/i18n/src/lib/i18n.constants.d.ts +1 -0
  247. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  248. package/libs/util/i18n/src/lib/language-codes.d.ts +23 -1
  249. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  250. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  251. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  252. package/package.json +2 -2
  253. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  254. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  255. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  256. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  257. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +62 -4
  258. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
  259. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +13 -3
  260. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +5 -1
  261. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +8 -4
  262. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -1
  263. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +4 -1
  264. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +3 -3
  265. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +118 -16
  266. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +11 -0
  267. package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -0
  268. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +22 -9
  269. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +6 -0
  270. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +10 -0
  271. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +14 -0
  272. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +62 -1
  273. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
  274. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +54 -10
  275. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +37 -0
  276. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
  277. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +27 -1
  278. package/src/libs/feature/editor/src/index.ts +1 -0
  279. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +120 -0
  280. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +325 -0
  281. package/src/libs/feature/record/src/index.ts +1 -2
  282. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +17 -11
  283. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +17 -15
  284. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  285. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
  286. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
  287. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +38 -11
  288. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +119 -18
  289. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +10 -0
  290. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +22 -0
  291. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +22 -15
  292. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +12 -0
  293. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
  294. package/src/libs/feature/search/src/index.ts +1 -1
  295. package/src/libs/feature/search/src/lib/constants.ts +3 -1
  296. package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -2
  297. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
  298. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +1 -0
  299. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
  300. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
  301. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
  302. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +2 -0
  303. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  304. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +13 -3
  305. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  306. package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
  307. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
  308. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
  309. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +5 -4
  310. package/src/libs/ui/elements/src/index.ts +3 -1
  311. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
  312. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
  313. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
  314. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +38 -7
  315. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
  316. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.css +4 -0
  317. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +13 -0
  318. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +54 -0
  319. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  320. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +68 -141
  321. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +38 -97
  322. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.html +69 -0
  323. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.ts +61 -0
  324. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  325. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +11 -0
  326. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +70 -0
  327. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +5 -2
  328. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -7
  329. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
  330. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
  331. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +1 -1
  332. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +11 -3
  333. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +2 -3
  334. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +48 -9
  335. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +4 -0
  336. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +107 -0
  337. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +83 -0
  338. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +16 -2
  339. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +9 -1
  340. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +8 -1
  341. package/src/libs/ui/inputs/src/index.ts +2 -0
  342. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  343. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
  344. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  345. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
  346. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  347. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
  348. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  349. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
  350. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
  351. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +77 -0
  352. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +3 -4
  353. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  354. package/src/libs/ui/layout/src/index.ts +2 -0
  355. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  356. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
  357. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
  358. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
  359. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  360. package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.html +40 -0
  361. package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.ts +141 -0
  362. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
  363. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
  364. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -2
  365. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -6
  366. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  367. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  368. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  369. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +27 -0
  370. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +91 -0
  371. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +2 -6
  372. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
  373. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
  374. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts +1 -0
  375. package/src/libs/ui/search/src/index.ts +2 -0
  376. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +9 -81
  377. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  378. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +25 -0
  379. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  380. package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +2 -2
  381. package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
  382. package/src/libs/ui/search/src/lib/results-list/results-list.component.ts +0 -1
  383. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +16 -6
  384. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +15 -11
  385. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
  386. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +31 -27
  387. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +33 -15
  388. package/src/libs/ui/search/src/lib/ui-search.module.ts +8 -0
  389. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -1
  390. package/src/libs/util/i18n/src/lib/i18n.constants.ts +42 -0
  391. package/src/libs/util/i18n/src/lib/language-codes.ts +23 -1
  392. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +3 -0
  393. package/src/libs/util/shared/src/lib/links/link-utils.ts +3 -0
  394. package/tailwind.base.config.js +3 -0
  395. package/tailwind.base.css +2 -14
  396. package/translations/de.json +55 -8
  397. package/translations/en.json +55 -8
  398. package/translations/es.json +54 -7
  399. package/translations/fr.json +56 -9
  400. package/translations/it.json +81 -34
  401. package/translations/nl.json +54 -7
  402. package/translations/pt.json +54 -7
  403. package/translations/sk.json +54 -7
  404. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  405. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +0 -46
  406. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  407. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  408. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +0 -12
  409. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +0 -1
  410. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  411. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
  412. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +0 -30
  413. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +0 -48
  414. /package/src/libs/{ui/elements/src/lib/related-record-card/related-record-card.component.css → feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.css} +0 -0
@@ -30,13 +30,15 @@ type ActionMenuPage = 'mainMenu' | 'deleteMenu' | 'rollbackMenu'
30
30
  ],
31
31
  })
32
32
  export class ActionMenuComponent {
33
- @Input() canDuplicate: boolean
34
- @Input() canDelete: boolean
35
- @Input() isDraftPage: boolean
33
+ @Input() canDuplicate = true
34
+ @Input() isDuplicating: boolean
35
+ @Input() canDelete = true
36
+ @Input() page: 'draft' | 'main' | 'record'
36
37
  @Output() duplicate = new EventEmitter<void>()
37
38
  @Output() delete = new EventEmitter<void>()
38
39
  @Output() closeActionMenu = new EventEmitter<void>()
39
40
  @Output() rollback = new EventEmitter<void>()
41
+ @Output() switch = new EventEmitter<void>()
40
42
 
41
43
  @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger
42
44
 
@@ -47,20 +49,22 @@ export class ActionMenuComponent {
47
49
  private cdr: ChangeDetectorRef
48
50
  ) {}
49
51
 
50
- openMenu() {
51
- this.trigger.openMenu()
52
- }
53
-
54
52
  displayMainMenu() {
55
53
  this.sectionDisplayed = 'mainMenu'
56
54
  this.cdr.markForCheck()
57
55
  }
58
56
 
59
57
  displayDeleteMenu() {
60
- if (this.isDraftPage) {
61
- this.sectionDisplayed = 'rollbackMenu'
62
- } else {
63
- this.sectionDisplayed = 'deleteMenu'
58
+ switch (this.page) {
59
+ case 'draft':
60
+ this.sectionDisplayed = 'rollbackMenu'
61
+ break
62
+ case 'record':
63
+ this.delete.emit()
64
+ break
65
+ case 'main':
66
+ default:
67
+ this.sectionDisplayed = 'deleteMenu'
64
68
  }
65
69
  this.cdr.markForCheck()
66
70
  }
@@ -0,0 +1,4 @@
1
+ :host {
2
+ --gn-ui-button-height: 40px;
3
+ --gn-ui-button-width: 40px;
4
+ }
@@ -1,5 +1,6 @@
1
1
  <gn-ui-interactive-table
2
2
  [items]="records"
3
+ [canEditItem]="canEdit"
3
4
  [isDraftPage]="isDraftPage"
4
5
  (itemClick)="handleRecordClick($event)"
5
6
  >
@@ -9,15 +10,16 @@
9
10
  <ng-icon
10
11
  name="iconoirLock"
11
12
  class="text-purple"
12
- *ngIf="(!item.extras?.edit && !isDraftPage) || item.kind !== 'dataset'"
13
+ *ngIf="(canEdit(item) | async) === false; else selectCheckbox"
13
14
  ></ng-icon>
14
- <gn-ui-checkbox
15
- *ngIf="(item.extras?.edit || isDraftPage) && item.kind === 'dataset'"
16
- [checked]="isChecked(item)"
17
- (changed)="handleRecordSelectedChange($event, item)"
18
- class="-m-2"
19
- type="default"
20
- ></gn-ui-checkbox>
15
+ <ng-template #selectCheckbox>
16
+ <gn-ui-checkbox
17
+ [checked]="isChecked(item)"
18
+ (changed)="handleRecordSelectedChange($event, item)"
19
+ class="-m-2"
20
+ type="default"
21
+ ></gn-ui-checkbox>
22
+ </ng-template>
21
23
  </ng-template>
22
24
  </gn-ui-interactive-table-column>
23
25
 
@@ -143,29 +145,31 @@
143
145
  <gn-ui-interactive-table-column>
144
146
  <ng-template #header> </ng-template>
145
147
  <ng-template #cell let-item>
146
- <gn-ui-button
147
- cdkOverlayOrigin
148
- #actionMenuButton
149
- (buttonClick)="openActionMenu(item, template)"
150
- type="light"
151
- data-test="record-menu-button"
152
- [disabled]="
153
- (!item.extras?.edit && !isDraftPage) || item.kind !== 'dataset'
154
- "
155
- >
148
+ <div class="flex justify-end items-center gap-4 w-full">
149
+ <!-- IS MULTILINGUAL -->
156
150
  <ng-icon
157
- [ngClass]="{
158
- 'text-purple-light':
159
- (!item.extras?.edit && !isDraftPage) || item.kind !== 'dataset',
160
- }"
161
- name="matMoreVert"
151
+ *ngIf="isMultilingual(item)"
152
+ data-cy="multilingual-indicator"
153
+ name="iconoirTranslate"
154
+ [attr.title]="getTxtHoverMultilingual(item)"
162
155
  ></ng-icon>
163
- </gn-ui-button>
156
+ <!-- MORE ACTIONS MENU BUTTON -->
157
+ <gn-ui-button
158
+ cdkOverlayOrigin
159
+ #actionMenuButton
160
+ (buttonClick)="openActionMenu(item, template)"
161
+ type="light"
162
+ data-test="record-menu-button"
163
+ >
164
+ <ng-icon name="matMoreVert"></ng-icon>
165
+ </gn-ui-button>
166
+ </div>
164
167
  <ng-template #template>
165
168
  <gn-ui-action-menu
166
- [canDuplicate]="canDuplicate(item) && !isDuplicating"
167
- [canDelete]="canDelete(item)"
168
- [isDraftPage]="isDraftPage"
169
+ [canDuplicate]="canDuplicate(item)"
170
+ [isDuplicating]="isDuplicating"
171
+ [canDelete]="canDelete(item) | async"
172
+ [page]="isDraftPage ? 'draft' : 'main'"
169
173
  (duplicate)="handleDuplicate(item)"
170
174
  (delete)="handleDelete(item)"
171
175
  (closeActionMenu)="closeActionMenu()"
@@ -28,18 +28,14 @@ import {
28
28
  getFileFormat,
29
29
  getFormatPriority,
30
30
  } from '../../../../../../libs/util/shared/src'
31
- import { TranslateModule } from '@ngx-translate/core'
31
+ import { TranslateModule, TranslateService } from '@ngx-translate/core'
32
32
  import { ActionMenuComponent } from './action-menu/action-menu.component'
33
33
  import { NgIconComponent, provideIcons } from '@ng-icons/core'
34
- import { iconoirUser, iconoirLock } from '@ng-icons/iconoir'
35
- import {
36
- CdkConnectedOverlay,
37
- CdkOverlayOrigin,
38
- Overlay,
39
- OverlayRef,
40
- } from '@angular/cdk/overlay'
34
+ import { iconoirUser, iconoirLock, iconoirTranslate } from '@ng-icons/iconoir'
35
+ import { CdkOverlayOrigin, Overlay, OverlayRef } from '@angular/cdk/overlay'
41
36
  import { TemplatePortal } from '@angular/cdk/portal'
42
37
  import { matMoreVert } from '@ng-icons/material-icons/baseline'
38
+ import { Observable, of, take } from 'rxjs'
43
39
 
44
40
  @Component({
45
41
  selector: 'gn-ui-results-table',
@@ -57,7 +53,9 @@ import { matMoreVert } from '@ng-icons/material-icons/baseline'
57
53
  NgIconComponent,
58
54
  CdkOverlayOrigin,
59
55
  ],
60
- providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })],
56
+ providers: [
57
+ provideIcons({ iconoirUser, iconoirLock, iconoirTranslate, matMoreVert }),
58
+ ],
61
59
  })
62
60
  export class ResultsTableComponent {
63
61
  @Input() records: CatalogRecord[] = []
@@ -65,7 +63,10 @@ export class ResultsTableComponent {
65
63
  @Input() sortOrder: SortByField = null
66
64
  @Input() hasDraft: (record: CatalogRecord) => boolean = () => false
67
65
  @Input() canDuplicate: (record: CatalogRecord) => boolean = () => true
68
- @Input() canDelete: (record: CatalogRecord) => boolean = () => true
66
+ @Input() canDelete: (record: CatalogRecord) => Observable<boolean> = () =>
67
+ of(true)
68
+ @Input() canEdit: (record: CatalogRecord) => Observable<boolean> = () =>
69
+ of(true)
69
70
  @Input() isDraftPage = false
70
71
  @Input() isDuplicating = false
71
72
 
@@ -89,7 +90,8 @@ export class ResultsTableComponent {
89
90
  private overlay: Overlay,
90
91
  private viewContainerRef: ViewContainerRef,
91
92
  private cdr: ChangeDetectorRef,
92
- private dateService: DateService
93
+ private dateService: DateService,
94
+ private translateService: TranslateService
93
95
  ) {}
94
96
 
95
97
  openActionMenu(item, template) {
@@ -173,10 +175,14 @@ export class ResultsTableComponent {
173
175
  return getBadgeColor(format)
174
176
  }
175
177
 
176
- handleRecordClick(item: CatalogRecord) {
177
- if ((item?.extras?.edit || this.isDraftPage) && item.kind === 'dataset') {
178
- this.recordClick.emit(item as CatalogRecord)
179
- }
178
+ handleRecordClick(item: unknown) {
179
+ this.canEdit(item as CatalogRecord)
180
+ .pipe(take(1))
181
+ .subscribe((canEdit) => {
182
+ if (canEdit) {
183
+ this.recordClick.emit(item as CatalogRecord)
184
+ }
185
+ })
180
186
  }
181
187
 
182
188
  handleDuplicate(item: unknown) {
@@ -219,4 +225,16 @@ export class ResultsTableComponent {
219
225
  handleRecordSelectedChange(selected: boolean, record: CatalogRecord) {
220
226
  this.recordsSelectedChange.emit([[record], selected])
221
227
  }
228
+
229
+ isMultilingual(record: CatalogRecord): boolean {
230
+ return record.otherLanguages.length > 0
231
+ }
232
+
233
+ getTxtHoverMultilingual(record: CatalogRecord) {
234
+ return this.translateService.instant('dashboard.records.isMultilingual', {
235
+ languages: [...[record.defaultLanguage], ...record.otherLanguages].join(
236
+ ', '
237
+ ),
238
+ })
239
+ }
222
240
  }
@@ -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'
@@ -37,6 +39,7 @@ import {
37
39
  matMapOutline,
38
40
  } from '@ng-icons/material-icons/outline'
39
41
  import { matFace } from '@ng-icons/material-icons/baseline'
42
+ import { ActionMenuComponent } from './results-table/action-menu/action-menu.component'
40
43
 
41
44
  @NgModule({
42
45
  declarations: [
@@ -48,6 +51,7 @@ import { matFace } from '@ng-icons/material-icons/baseline'
48
51
  RecordMetricComponent,
49
52
  ResultsListComponent,
50
53
  ResultsHitsNumberComponent,
54
+ ResultsHitsSearchKindComponent,
51
55
  ResultsListItemComponent,
52
56
  RecordPreviewFeedComponent,
53
57
  RecordPreviewRowComponent,
@@ -74,7 +78,9 @@ import { matFace } from '@ng-icons/material-icons/baseline'
74
78
  matFace,
75
79
  matHomeWorkOutline,
76
80
  }),
81
+ KindBadgeComponent,
77
82
  MetadataQualityComponent,
83
+ ActionMenuComponent,
78
84
  ],
79
85
  exports: [
80
86
  RecordPreviewListComponent,
@@ -86,8 +92,10 @@ import { matFace } from '@ng-icons/material-icons/baseline'
86
92
  FacetsModule,
87
93
  RecordPreviewComponent,
88
94
  ResultsHitsNumberComponent,
95
+ ResultsHitsSearchKindComponent,
89
96
  RecordPreviewFeedComponent,
90
97
  RecordPreviewRowComponent,
98
+ ActionMenuComponent,
91
99
  ],
92
100
  providers: [
93
101
  provideNgIconsConfig({
@@ -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>
@@ -19,12 +19,54 @@ marker('language.pt')
19
19
  marker('language.ru')
20
20
  marker('language.zh')
21
21
  marker('language.sk')
22
+ marker('language.rm')
23
+ marker('language.ar')
24
+ marker('language.da')
25
+ marker('language.no')
26
+ marker('language.pl')
27
+ marker('language.sv')
28
+ marker('language.tr')
29
+ marker('language.hy')
30
+ marker('language.az')
31
+ marker('language.ka')
32
+ marker('language.uk')
33
+ marker('language.cy')
22
34
 
23
35
  export const DEFAULT_LANG = 'en'
24
36
 
25
37
  // Caution: changing this can break language selection from third parties!
26
38
  export const LANGUAGE_STORAGE_KEY = 'geonetwork-ui-language'
27
39
 
40
+ export const SUPPORTED_LANGUAGES = [
41
+ 'en',
42
+ 'nl',
43
+ 'fr',
44
+ 'de',
45
+ 'ko',
46
+ 'es',
47
+ 'cs',
48
+ 'ca',
49
+ 'fi',
50
+ 'is',
51
+ 'it',
52
+ 'pt',
53
+ 'ru',
54
+ 'zh',
55
+ 'sk',
56
+ 'rm',
57
+ 'ar',
58
+ 'da',
59
+ 'no',
60
+ 'pl',
61
+ 'sv',
62
+ 'tr',
63
+ 'hy',
64
+ 'az',
65
+ 'ka',
66
+ 'uk',
67
+ 'cy',
68
+ ]
69
+
28
70
  export function HttpLoaderFactory(http: HttpClient) {
29
71
  return new FileTranslateLoader(http, './assets/i18n/')
30
72
  }
@@ -15,6 +15,17 @@ export const LANG_3_TO_2_MAPPER = {
15
15
  chi: 'zh',
16
16
  slo: 'sk',
17
17
  roh: 'rm',
18
+ ara: 'ar',
19
+ dan: 'da',
20
+ nor: 'no',
21
+ pol: 'pl',
22
+ swe: 'sv',
23
+ tur: 'tr',
24
+ arm: 'hy',
25
+ aze: 'az',
26
+ geo: 'ka',
27
+ ukr: 'uk',
28
+ wel: 'cy',
18
29
  }
19
30
 
20
31
  export const LANGUAGE_NAMES = {
@@ -33,7 +44,18 @@ export const LANGUAGE_NAMES = {
33
44
  ru: 'Русский',
34
45
  zh: '中文',
35
46
  sk: 'Slovenčina',
36
- roh: 'Rumantsch',
47
+ rm: 'Rumantsch',
48
+ ar: 'العربية',
49
+ da: 'Dansk',
50
+ no: 'Norsk',
51
+ pl: 'Polski',
52
+ sv: 'Swedish',
53
+ tr: 'Türkçe',
54
+ hy: 'հայերեն',
55
+ az: 'Azərbaycan dili',
56
+ ka: 'ქართული',
57
+ uk: 'українська',
58
+ wel: 'Cymraeg',
37
59
  }
38
60
 
39
61
  export const LANG_2_TO_3_MAPPER = Object.entries(LANG_3_TO_2_MAPPER).reduce(
@@ -31,7 +31,10 @@ export class LinkClassifierService {
31
31
  return [LinkUsage.API, LinkUsage.DOWNLOAD, LinkUsage.GEODATA]
32
32
  case 'wms':
33
33
  case 'wmts':
34
+ case 'tms':
34
35
  return [LinkUsage.API, LinkUsage.MAP_API]
36
+ case 'maplibre-style':
37
+ return [LinkUsage.GEODATA]
35
38
  case 'ogcFeatures':
36
39
  return [LinkUsage.API, LinkUsage.DOWNLOAD, LinkUsage.GEODATA]
37
40
  case 'GPFDL':
@@ -247,6 +247,9 @@ export function getLinkLabel(
247
247
  case 'wmts':
248
248
  format = 'WMTS'
249
249
  break
250
+ case 'tms':
251
+ format = 'TMS'
252
+ break
250
253
  case 'esriRest':
251
254
  format = 'REST'
252
255
  break
@@ -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
@@ -131,23 +131,11 @@
131
131
  .gn-ui-btn-light {
132
132
  @apply gn-ui-btn
133
133
  hover:bg-gray-50 focus:bg-gray-50 active:bg-gray-100
134
- border-white focus:ring-4 focus:ring-gray-300;
135
- }
136
-
137
- .gn-ui-card-xs {
138
- @apply min-h-[68px] md:w-[487px];
134
+ bg-white border-white focus:ring-4 focus:ring-gray-300;
139
135
  }
140
136
 
141
137
  .gn-ui-card-s {
142
- @apply min-h-[135px] md:w-80;
143
- }
144
-
145
- .gn-ui-card-m {
146
- @apply min-h-[68px] md:w-[487px];
147
- }
148
-
149
- .gn-ui-card-l {
150
- @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];
151
139
  }
152
140
 
153
141
  .gn-ui-card-title {
@@ -30,6 +30,7 @@
30
30
  "dashboard.labels.mySpace": "Mein Bereich",
31
31
  "dashboard.records.all": "Metadatenkatalog",
32
32
  "dashboard.records.hasDraft": "",
33
+ "dashboard.records.isMultilingual": "Dieser Eintrag ist mehrsprachig ({languages})",
33
34
  "dashboard.records.myDraft": "Meine Entwürfe",
34
35
  "dashboard.records.myRecords": "Meine Datensätze",
35
36
  "dashboard.records.search": "Suche nach \"{searchText}\"",
@@ -51,7 +52,7 @@
51
52
  "datafeeder.month.september": "September",
52
53
  "datafeeder.wizardSummarize.createdAt": "Erstellt am",
53
54
  "datafeeder.wizardSummarize.scale": "Maßstab",
54
- "datahub.header.datasets": "Datensätze",
55
+ "datahub.header.datasets": "Katalog",
55
56
  "datahub.header.lastRecords": "Die neuesten",
56
57
  "datahub.header.myfavorites": "Meine Favoriten",
57
58
  "datahub.header.news": "Startseite",
@@ -204,6 +205,13 @@
204
205
  "editor.record.form.license.odc-by": "",
205
206
  "editor.record.form.license.pddl": "",
206
207
  "editor.record.form.license.unknown": "",
208
+ "editor.record.form.multilingual.activate": "",
209
+ "editor.record.form.multilingual.default": "",
210
+ "editor.record.form.multilingual.enable": "",
211
+ "editor.record.form.multilingual.forbidden": "",
212
+ "editor.record.form.multilingual.open": "",
213
+ "editor.record.form.multilingual.title": "",
214
+ "editor.record.form.multilingual.validate": "",
207
215
  "editor.record.form.page.accessAndContact": "",
208
216
  "editor.record.form.page.description": "",
209
217
  "editor.record.form.page.resources": "",
@@ -233,8 +241,13 @@
233
241
  "editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
234
242
  "editor.record.loadError.closeMessage": "Verstanden",
235
243
  "editor.record.loadError.title": "Fehler beim Laden des Datensatzes",
236
- "editor.record.lock.format": "",
237
- "editor.record.lock.reason": "",
244
+ "editor.record.lock.harvested": "",
245
+ "editor.record.lock.owner": "",
246
+ "editor.record.lock.resourceType": "",
247
+ "editor.record.multilingual.confirmation.cancelText": "",
248
+ "editor.record.multilingual.confirmation.confirmText": "",
249
+ "editor.record.multilingual.confirmation.message": "",
250
+ "editor.record.multilingual.confirmation.title": "",
238
251
  "editor.record.onlineResource.protocol.other": "",
239
252
  "editor.record.onlineResourceError.body": "",
240
253
  "editor.record.onlineResourceError.closeMessage": "",
@@ -281,6 +294,11 @@
281
294
  "facets.block.title.tag.default": "Stichwort",
282
295
  "facets.block.title.th_regions_tree.default": "Regionen",
283
296
  "favorite.not.authenticated.tooltip": "<div><a href=' {link} '>Anmelden</a>, um auf diese Funktion zuzugreifen</div>",
297
+ "feature.catalog.attribute.code": "Code",
298
+ "feature.catalog.attribute.definition": "Beschreibung",
299
+ "feature.catalog.attribute.name": "Name",
300
+ "feature.catalog.attribute.type": "Typ",
301
+ "feature.catalog.attribute.values": "Werte",
284
302
  "input.file.dropFileLabel": "",
285
303
  "input.file.orInputUrl": "",
286
304
  "input.file.selectFileLabel": "",
@@ -295,20 +313,32 @@
295
313
  "input.image.uploadErrorLabel": "",
296
314
  "input.image.uploadProgressCancel": "",
297
315
  "input.image.uploadProgressLabel": "",
316
+ "language.ar": "",
317
+ "language.az": "",
298
318
  "language.ca": "Katalanisch",
299
319
  "language.cs": "Tschechisch",
320
+ "language.cy": "",
321
+ "language.da": "",
300
322
  "language.de": "Deutsch",
301
323
  "language.en": "Englisch",
302
324
  "language.es": "Spanisch",
303
325
  "language.fi": "Finnisch",
304
326
  "language.fr": "Französisch",
327
+ "language.hy": "",
305
328
  "language.is": "Isländisch",
306
329
  "language.it": "Italienisch",
330
+ "language.ka": "",
307
331
  "language.ko": "Koreanisch",
308
332
  "language.nl": "Niederländisch",
333
+ "language.no": "",
334
+ "language.pl": "",
309
335
  "language.pt": "Portugiesisch",
336
+ "language.rm": "",
310
337
  "language.ru": "Russisch",
311
338
  "language.sk": "Slowakisch",
339
+ "language.sv": "",
340
+ "language.tr": "",
341
+ "language.uk": "",
312
342
  "language.zh": "Chinesisch",
313
343
  "map.add.layer": "Eine Ebene hinzufügen",
314
344
  "map.add.layer.catalog": "Aus dem Katalog",
@@ -328,6 +358,7 @@
328
358
  "map.navigation.message": "Bitte verwenden Sie STRG + Maus (oder zwei Finger auf einem Mobilgerät), um die Karte zu navigieren",
329
359
  "map.ogc.urlInput.hint": "",
330
360
  "map.select.layer": "Datenquelle",
361
+ "map.select.style": "Style",
331
362
  "map.wfs.urlInput.hint": "Geben Sie die WFS URL ein",
332
363
  "map.wms.urlInput.hint": "Geben Sie die WMS URL ein",
333
364
  "multiselect.filter.placeholder": "Suche",
@@ -355,11 +386,13 @@
355
386
  "record.action.duplicate": "",
356
387
  "record.action.duplicating": "",
357
388
  "record.action.rollback": "",
389
+ "record.action.switchLang": "",
358
390
  "record.action.view": "Anzeigen",
359
391
  "record.card.metadata.contact": "",
360
392
  "record.externalViewer.open": "In externem Kartenviewer öffnen",
393
+ "record.feature.catalog.number.total.attribute": "",
394
+ "record.feature.catalog.number.total.object": "",
361
395
  "record.feature.limit": "Die Vorschau wurde aufgrund zu vieler Elemente deaktiviert",
362
- "record.kind.data": "",
363
396
  "record.kind.dataset": "",
364
397
  "record.kind.reuse": "",
365
398
  "record.kind.service": "",
@@ -402,10 +435,17 @@
402
435
  "record.metadata.creation": "Erstellungsdatum",
403
436
  "record.metadata.details": "Über die Daten",
404
437
  "record.metadata.download": "Downloads",
438
+ "record.metadata.feature.catalog": "",
405
439
  "record.metadata.formats": "Formate",
440
+ "record.metadata.isGeographical": "Geographischer Datensatz",
406
441
  "record.metadata.keywords": "Stichworte",
407
442
  "record.metadata.languages": "Sprachen",
408
443
  "record.metadata.lastUpdate": "Zuletzt aktualisiert am {date}",
444
+ "record.metadata.linked.datasets": "Verknüpfte Datensätze",
445
+ "record.metadata.linked.records": "Verknüpfte Inhalte",
446
+ "record.metadata.linked.reuses": "Verknüpfte Wiederverwendungen",
447
+ "record.metadata.linked.services": "Verknüpfte Dienste",
448
+ "record.metadata.linked.sourceDatasets": "Quelldatensätze",
409
449
  "record.metadata.links": "Links",
410
450
  "record.metadata.noUsage": "Für diesen Datensatz sind keine Nutzungsbedingungen angegeben.",
411
451
  "record.metadata.otherConstraints": "Zusätzliche Bedingungen",
@@ -415,6 +455,8 @@
415
455
  "record.metadata.publication": "Veröffentlichungsdatum",
416
456
  "record.metadata.publications": "{count, plural, =0{Veröffentlichungsdatum} one{Veröffentlichungsdatum} other{Veröffentlichungen}}",
417
457
  "record.metadata.quality": "Metadatenqualität",
458
+ "record.metadata.quality.capabilities.failed": "",
459
+ "record.metadata.quality.capabilities.success": "",
418
460
  "record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
419
461
  "record.metadata.quality.contact.success": "Kontakt angegeben",
420
462
  "record.metadata.quality.description.failed": "Beschreibung nicht angegeben",
@@ -426,14 +468,15 @@
426
468
  "record.metadata.quality.legalConstraints.success": "Rechtliche Beschränkungen angegeben",
427
469
  "record.metadata.quality.organisation.failed": "Organisation nicht angegeben",
428
470
  "record.metadata.quality.organisation.success": "Organisation angegeben",
471
+ "record.metadata.quality.source.failed": "",
472
+ "record.metadata.quality.source.success": "",
429
473
  "record.metadata.quality.title.failed": "Titel nicht angegeben",
430
474
  "record.metadata.quality.title.success": "Titel angegeben",
431
475
  "record.metadata.quality.topic.failed": "Thema nicht angegeben",
432
476
  "record.metadata.quality.topic.success": "Thema angegeben",
433
477
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
434
478
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
435
- "record.metadata.related": "Ähnliche Datensätze",
436
- "record.metadata.related.contents": "",
479
+ "record.metadata.related": "Entdecken Sie den Katalog",
437
480
  "record.metadata.ressources.and.links": "Ressourcen und Links",
438
481
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
439
482
  "record.metadata.status": "Status",
@@ -445,7 +488,6 @@
445
488
  "record.metadata.temporalExtent.untilDate": "Bis {end}",
446
489
  "record.metadata.title": "Titel",
447
490
  "record.metadata.topics": "Kategorien",
448
- "record.metadata.type": "Geographischer Datensatz",
449
491
  "record.metadata.uniqueId": "Eindeutige Kennung",
450
492
  "record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
451
493
  "record.metadata.updatedOn": "Geändert am",
@@ -485,6 +527,7 @@
485
527
  "search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
486
528
  "search.field.any.placeholder": "Suche im katalog ...",
487
529
  "search.field.sortBy": "Sortieren nach:",
530
+ "search.filter.into.feature.catalog": "",
488
531
  "search.filters.availableServices.download": "",
489
532
  "search.filters.availableServices.view": "",
490
533
  "search.filters.changeDate": "Letzte Aktualisierung",
@@ -515,6 +558,10 @@
515
558
  "search.filters.producerOrg": "",
516
559
  "search.filters.publicationYear": "Veröffentlichungsjahr",
517
560
  "search.filters.publisherOrg": "",
561
+ "search.filters.recordKind.all": "Alle",
562
+ "search.filters.recordKind.dataset": "Datensätze",
563
+ "search.filters.recordKind.reuse": "Wiederverwendungen",
564
+ "search.filters.recordKind.service": "Dienste",
518
565
  "search.filters.representationType": "Repräsentationstyp",
519
566
  "search.filters.resourceType": "Ressourcentyp",
520
567
  "search.filters.standard": "Standard",
@@ -544,6 +591,7 @@
544
591
  "service.metadata.other": "",
545
592
  "service.metadata.question": "",
546
593
  "service.metadata.search": "",
594
+ "service.metadata.search.clear": "",
547
595
  "service.metadata.spatialExtent": "",
548
596
  "share.tab.permalink": "Teilen",
549
597
  "share.tab.webComponent": "Integrieren",
@@ -559,7 +607,6 @@
559
607
  "tooltip.html.copy": "HTML kopieren",
560
608
  "tooltip.id.copy": "Eindeutige Kennung kopieren",
561
609
  "tooltip.url.copy": "URL kopieren",
562
- "tooltip.url.open": "URL öffnen",
563
610
  "ui.readLess": "Weniger lesen",
564
611
  "ui.readMore": "Weiterlesen",
565
612
  "wfs.feature.limit": "Zu viele Features, um den WFS-Layer anzuzeigen!",