geonetwork-ui 2.4.0-dev.6c8dcba0 → 2.4.0-dev.78565730

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 (379) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/index.mjs +2 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +2 -0
  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/iso19139/read-parts.mjs +1 -1
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +1 -1
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +1 -1
  9. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +25 -5
  10. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +2 -1
  11. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -1
  12. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +12 -4
  13. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +38 -14
  14. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  15. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  16. package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
  17. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  18. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  19. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +2 -6
  20. package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
  21. package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
  22. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +1 -1
  23. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
  24. package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
  25. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +4 -6
  26. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +4 -4
  27. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +7 -4
  28. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  29. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +3 -1
  30. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -4
  31. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +8 -2
  32. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  33. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +7 -3
  34. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +16 -6
  35. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +59 -0
  36. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +64 -50
  37. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +17 -35
  38. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
  39. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +11 -7
  40. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  41. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +4 -3
  42. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +144 -54
  43. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
  44. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
  45. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +15 -8
  46. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +42 -23
  47. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +13 -5
  48. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +49 -15
  49. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +7 -4
  50. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -3
  51. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +8 -12
  52. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
  53. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  54. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +9 -2
  55. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +8 -1
  56. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  57. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +7 -4
  58. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  59. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +55 -0
  60. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  61. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
  62. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +7 -3
  63. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +5 -5
  64. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +5 -2
  65. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -8
  66. package/esm2022/libs/ui/elements/src/index.mjs +1 -2
  67. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  68. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +5 -3
  69. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +7 -7
  70. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +24 -5
  71. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +9 -11
  72. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +3 -3
  73. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  74. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +59 -26
  75. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +28 -0
  76. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +11 -10
  77. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  78. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
  79. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +1 -1
  80. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  81. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +29 -0
  82. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +128 -0
  83. package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
  84. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +5 -3
  85. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +1 -6
  86. package/esm2022/translations/de.json +96 -34
  87. package/esm2022/translations/en.json +67 -5
  88. package/esm2022/translations/es.json +67 -5
  89. package/esm2022/translations/fr.json +68 -6
  90. package/esm2022/translations/it.json +67 -5
  91. package/esm2022/translations/nl.json +67 -5
  92. package/esm2022/translations/pt.json +67 -5
  93. package/fesm2022/geonetwork-ui.mjs +1615 -757
  94. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  95. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  96. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  97. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  98. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts +1 -0
  99. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts.map +1 -1
  100. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +31 -0
  101. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -0
  102. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  103. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  104. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +3 -2
  105. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  106. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts +1 -1
  107. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -1
  108. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +3 -2
  109. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  110. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -0
  111. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  112. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  113. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  114. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +3 -3
  115. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  116. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -5
  117. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  118. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +4 -7
  119. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  120. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +1 -0
  121. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  122. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +12 -5
  123. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  124. package/libs/common/domain/src/lib/platform.service.interface.d.ts +4 -3
  125. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  126. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +12 -1
  127. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  128. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  129. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
  130. package/libs/feature/catalog/src/index.d.ts +1 -0
  131. package/libs/feature/catalog/src/index.d.ts.map +1 -1
  132. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  133. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  134. package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
  135. package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
  136. package/libs/feature/catalog/src/lib/records/records.service.d.ts.map +1 -1
  137. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +2 -1
  138. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  139. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +6 -0
  140. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  141. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +1 -1
  142. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  143. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +5 -4
  144. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  145. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +8 -0
  146. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  147. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +4 -3
  148. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  149. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +4 -8
  150. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  151. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +25 -0
  152. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -0
  153. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +6 -6
  154. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  155. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +7 -11
  156. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  157. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
  158. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  159. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -7
  160. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  161. package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
  162. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
  163. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  164. package/libs/feature/editor/src/lib/fields.config.d.ts +38 -2
  165. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  166. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +36 -0
  167. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
  168. package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
  169. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  170. package/libs/feature/editor/src/lib/services/editor.service.d.ts +2 -2
  171. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  172. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
  173. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  174. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
  175. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  176. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
  177. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  178. package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -1
  179. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  180. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  181. package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
  182. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  183. package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
  184. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  185. package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
  186. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  187. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
  188. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  189. package/libs/feature/search/src/index.d.ts +1 -1
  190. package/libs/feature/search/src/index.d.ts.map +1 -1
  191. package/libs/feature/search/src/lib/feature-search.module.d.ts +2 -1
  192. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  193. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  194. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +27 -0
  195. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
  196. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -0
  197. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  198. package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
  199. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  200. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  201. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
  202. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +2 -1
  203. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  204. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
  205. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  206. package/libs/ui/elements/src/index.d.ts +0 -1
  207. package/libs/ui/elements/src/index.d.ts.map +1 -1
  208. package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
  209. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  210. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
  211. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  212. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +19 -19
  213. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  214. package/libs/ui/inputs/src/index.d.ts +1 -0
  215. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  216. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +7 -4
  217. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  218. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts +11 -0
  219. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -0
  220. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -35
  221. package/libs/ui/layout/src/index.d.ts +1 -0
  222. package/libs/ui/layout/src/index.d.ts.map +1 -1
  223. package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
  224. package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
  225. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  226. package/libs/ui/search/src/index.d.ts +1 -0
  227. package/libs/ui/search/src/index.d.ts.map +1 -1
  228. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +11 -0
  229. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  230. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +32 -0
  231. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  232. package/libs/ui/widgets/src/index.d.ts +0 -1
  233. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  234. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts +1 -1
  235. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  236. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +10 -11
  237. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  238. package/package.json +1 -1
  239. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  240. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
  241. package/src/libs/api/metadata-converter/src/lib/gn4/types/index.ts +1 -0
  242. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +31 -0
  243. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  244. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
  245. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.ts +1 -1
  246. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +2 -2
  247. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +41 -8
  248. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
  249. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
  250. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +25 -4
  251. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +81 -21
  252. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +4 -9
  253. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +1 -0
  254. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +13 -6
  255. package/src/libs/common/domain/src/lib/platform.service.interface.ts +7 -3
  256. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +16 -1
  257. package/src/libs/common/fixtures/src/index.ts +2 -0
  258. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
  259. package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
  260. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +28 -0
  261. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +8 -0
  262. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
  263. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
  264. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +1 -5
  265. package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
  266. package/src/libs/data-access/gn4/src/spec.yaml +0 -8
  267. package/src/libs/feature/catalog/src/index.ts +1 -0
  268. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +0 -1
  269. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
  270. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
  271. package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
  272. package/src/libs/feature/catalog/src/lib/records/records.service.ts +6 -8
  273. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +2 -1
  274. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +7 -0
  275. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +35 -29
  276. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +10 -1
  277. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +11 -0
  278. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +11 -5
  279. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +22 -8
  280. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +19 -0
  281. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +79 -0
  282. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +95 -86
  283. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +16 -31
  284. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +18 -45
  285. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -2
  286. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +51 -11
  287. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +15 -8
  288. package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
  289. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  290. package/src/libs/feature/editor/src/lib/fields.config.ts +176 -55
  291. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +53 -0
  292. package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
  293. package/src/libs/feature/editor/src/lib/services/editor.service.ts +27 -9
  294. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
  295. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
  296. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
  297. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
  298. package/src/libs/feature/record/src/lib/feature-record.module.ts +3 -2
  299. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +42 -31
  300. package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
  301. package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
  302. package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
  303. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +9 -1
  304. package/src/libs/feature/search/src/index.ts +1 -1
  305. package/src/libs/feature/search/src/lib/feature-search.module.ts +2 -1
  306. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +2 -2
  307. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +10 -0
  308. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +54 -0
  309. package/src/libs/feature/search/src/lib/state/search.facade.ts +5 -0
  310. package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
  311. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +16 -2
  312. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +8 -6
  313. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  314. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +2 -0
  315. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +11 -3
  316. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
  317. package/src/libs/ui/elements/src/index.ts +0 -1
  318. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +29 -29
  319. package/src/libs/ui/elements/src/lib/error/error.component.html +30 -6
  320. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
  321. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  322. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
  323. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +4 -6
  324. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
  325. package/src/libs/ui/inputs/src/index.ts +1 -0
  326. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -1
  327. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +23 -19
  328. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +79 -27
  329. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +18 -0
  330. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +27 -0
  331. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +31 -0
  332. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +15 -0
  333. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +38 -0
  334. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  335. package/src/libs/ui/layout/src/index.ts +1 -0
  336. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.css +0 -0
  337. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +1 -0
  338. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
  339. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -1
  340. package/src/libs/ui/search/src/index.ts +1 -0
  341. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  342. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +17 -0
  343. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +22 -0
  344. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
  345. package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +17 -8
  346. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +152 -0
  347. package/src/libs/ui/widgets/src/index.ts +0 -1
  348. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +4 -0
  349. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -3
  350. package/translations/de.json +96 -34
  351. package/translations/en.json +67 -5
  352. package/translations/es.json +67 -5
  353. package/translations/fr.json +68 -6
  354. package/translations/it.json +67 -5
  355. package/translations/nl.json +67 -5
  356. package/translations/pt.json +67 -5
  357. package/translations/sk.json +68 -6
  358. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
  359. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
  360. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -136
  361. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
  362. package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +0 -18
  363. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
  364. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
  365. package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
  366. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
  367. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -36
  368. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
  369. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
  370. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts +0 -7
  371. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts.map +0 -1
  372. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
  373. package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
  374. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -172
  375. package/src/libs/ui/widgets/src/lib/badge/badge.component.html +0 -10
  376. package/src/libs/ui/widgets/src/lib/badge/badge.component.ts +0 -14
  377. /package/src/libs/feature/{search/src/lib/results-table/results-table.component.css → editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.css} +0 -0
  378. /package/src/libs/{ui/elements/src/lib/max-lines/max-lines.component.css → feature/search/src/lib/results-table/results-table-container.component.css} +0 -0
  379. /package/src/libs/ui/{widgets → inputs}/src/lib/badge/badge.component.css +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"badge.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/widgets/src/lib/badge/badge.component.ts"],"names":[],"mappings":";AAGA,qBAQa,cAAc;IAChB,SAAS,UAAQ;yCADf,cAAc;2CAAd,cAAc;CAE1B"}
@@ -1,43 +0,0 @@
1
- type BaseFormFieldType =
2
- | 'text'
3
- | 'number'
4
- | 'rich'
5
- | 'date'
6
- | 'list'
7
- | 'spatial_extent'
8
- | 'temporal_extent'
9
- | 'url'
10
- | 'file'
11
- | 'toggle'
12
-
13
- type AllFormFieldType = BaseFormFieldType | 'object' | 'array'
14
-
15
- interface FormFieldConfigBase {
16
- type: AllFormFieldType
17
- labelKey: string
18
- hintKey?: string
19
- tooltipKey?: string
20
- required?: boolean
21
- locked?: boolean
22
- invalid?: boolean
23
- invalidHintKey?: string
24
- }
25
-
26
- export interface FormFieldConfigSimple extends FormFieldConfigBase {
27
- type: BaseFormFieldType
28
- }
29
-
30
- export interface FormFieldConfigArray extends FormFieldConfigBase {
31
- type: 'array'
32
- items: FormFieldConfig
33
- }
34
-
35
- export interface FormFieldConfigObject extends FormFieldConfigBase {
36
- type: 'object'
37
- fields: Array<FormFieldConfig>
38
- }
39
-
40
- export type FormFieldConfig =
41
- | FormFieldConfigSimple
42
- | FormFieldConfigArray
43
- | FormFieldConfigObject
@@ -1,29 +0,0 @@
1
- import { FormFieldConfig } from '../components/record-form/form-field'
2
-
3
- // Expressions should be enclosed in `${}` to be recognized as such
4
- // eg. ${dateNow()}
5
- export type EditorFieldExpression = `$\{${string}}`
6
-
7
- export interface EditorFieldConfig {
8
- // configuration of the form field used as presentation; optional, nothing shown if not defined
9
- formFieldConfig?: FormFieldConfig
10
-
11
- // name of the target field in the record; will not change the record directly if not defined
12
- model?: string
13
-
14
- // a hidden field won't show but can still be used to modify the record
15
- // FIXME: currently this is redundant with an absence of formFieldConfig but necessary for clarity
16
- hidden?: boolean
17
-
18
- // the result of this expression will replace the field value on save
19
- onSaveProcess?: EditorFieldExpression
20
- }
21
-
22
- export type EditorFieldsConfig = EditorFieldConfig[]
23
-
24
- export type EditorFieldValue = string | number | boolean | unknown
25
-
26
- export interface EditorFieldState {
27
- config: EditorFieldConfig
28
- value: string | number | boolean | unknown
29
- }
@@ -1,172 +0,0 @@
1
- import { Component, EventEmitter, Output } from '@angular/core'
2
- import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record'
3
- import {
4
- FileFormat,
5
- getBadgeColor,
6
- getFileFormat,
7
- getFormatPriority,
8
- } from '../../../../../../libs/util/shared/src'
9
- import { UiInputsModule } from '../../../../../../libs/ui/inputs/src'
10
- import {
11
- InteractiveTableColumnComponent,
12
- InteractiveTableComponent,
13
- } from '../../../../../../libs/ui/layout/src'
14
- import { MatIconModule } from '@angular/material/icon'
15
- import { TranslateModule } from '@ngx-translate/core'
16
- import { SearchFacade } from '../state/search.facade'
17
- import { SelectionService } from '../../../../../../libs/api/repository/src'
18
- import { combineLatest, firstValueFrom, Observable } from 'rxjs'
19
- import { CommonModule } from '@angular/common'
20
- import { map, take } from 'rxjs/operators'
21
- import { FieldSort } from '../../../../../../libs/common/domain/src/lib/model/search'
22
- import { SearchService } from '../utils/service/search.service'
23
- import { BadgeComponent } from '../../../../../../libs/ui/widgets/src'
24
- import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface'
25
-
26
- @Component({
27
- selector: 'gn-ui-results-table',
28
- templateUrl: './results-table.component.html',
29
- styleUrls: ['./results-table.component.css'],
30
- standalone: true,
31
- imports: [
32
- CommonModule,
33
- UiInputsModule,
34
- InteractiveTableComponent,
35
- InteractiveTableColumnComponent,
36
- MatIconModule,
37
- TranslateModule,
38
- BadgeComponent,
39
- ],
40
- })
41
- export class ResultsTableComponent {
42
- @Output() recordClick = new EventEmitter<CatalogRecord>()
43
-
44
- records$ = this.searchFacade.results$
45
- selectedRecords$ = this.selectionService.selectedRecordsIdentifiers$
46
-
47
- constructor(
48
- private searchFacade: SearchFacade,
49
- private searchService: SearchService,
50
- private selectionService: SelectionService,
51
- private recordsRepository: RecordsRepositoryInterface
52
- ) {}
53
-
54
- dateToString(date: Date): string {
55
- return date?.toLocaleDateString(undefined, {
56
- year: 'numeric',
57
- month: 'long',
58
- day: 'numeric',
59
- timeZone: 'UTC',
60
- })
61
- }
62
-
63
- getStatus(isPublishedToAll: boolean | unknown) {
64
- return isPublishedToAll ? 'published' : 'not published'
65
- }
66
-
67
- getRecordFormats(record: CatalogRecord): FileFormat[] {
68
- if (record.kind === 'service' || !('distributions' in record)) {
69
- return []
70
- }
71
- const formats = Array.from(
72
- new Set(
73
- record.distributions.map((distribution) => getFileFormat(distribution))
74
- )
75
- ).filter((format) => !!format)
76
- formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a))
77
- return formats
78
- }
79
-
80
- formatUserInfo(userInfo: string | unknown): string {
81
- const infos = (typeof userInfo === 'string' ? userInfo : '').split('|')
82
- if (infos && infos.length === 4) {
83
- return `${infos[2]} ${infos[1]}`
84
- }
85
- return undefined
86
- }
87
-
88
- getBadgeColor(format: FileFormat): string {
89
- return getBadgeColor(format)
90
- }
91
-
92
- handleRecordClick(item: unknown) {
93
- this.recordClick.emit(item as CatalogRecord)
94
- }
95
-
96
- setSortBy(col: string, order: 'asc' | 'desc') {
97
- this.searchService.setSortBy([order, col])
98
- }
99
-
100
- isSortedBy(col: string): Observable<'asc' | 'desc' | null> {
101
- return this.searchFacade.sortBy$.pipe(
102
- take(1),
103
- map((sortOrder) => {
104
- const sortArray = Array.isArray(sortOrder[0])
105
- ? (sortOrder as FieldSort[])
106
- : ([sortOrder] as FieldSort[])
107
- for (const sort of sortArray) {
108
- if (sort[1] === col) {
109
- return sort[0]
110
- }
111
- }
112
- return null
113
- })
114
- )
115
- }
116
-
117
- isChecked(record: CatalogRecord): Observable<boolean> {
118
- return this.selectedRecords$.pipe(
119
- take(1),
120
- map((selectedRecords) => {
121
- return selectedRecords.includes(record.uniqueIdentifier)
122
- })
123
- )
124
- }
125
-
126
- handleRecordSelectedChange(selected: boolean, record: CatalogRecord) {
127
- if (!selected) {
128
- this.selectionService.deselectRecords([record])
129
- } else {
130
- this.selectionService.selectRecords([record])
131
- }
132
- }
133
-
134
- async toggleSelectAll() {
135
- const records = await firstValueFrom(this.records$)
136
- if (await firstValueFrom(this.isAllSelected())) {
137
- this.selectionService.deselectRecords(records)
138
- } else {
139
- this.selectionService.selectRecords(records)
140
- }
141
- }
142
-
143
- isAllSelected(): Observable<boolean> {
144
- return combineLatest([this.records$, this.selectedRecords$]).pipe(
145
- take(1),
146
- map(([records, selectedRecords]) => {
147
- return records.every((record) =>
148
- selectedRecords.includes(record.uniqueIdentifier)
149
- )
150
- })
151
- )
152
- }
153
-
154
- isSomeSelected(): Observable<boolean> {
155
- return combineLatest([this.records$, this.selectedRecords$]).pipe(
156
- take(1),
157
- map(([records, selectedRecords]) => {
158
- const allSelected = records.every((record) =>
159
- selectedRecords.includes(record.uniqueIdentifier)
160
- )
161
- const someSelected = records.some((record) =>
162
- selectedRecords.includes(record.uniqueIdentifier)
163
- )
164
- return !allSelected && someSelected
165
- })
166
- )
167
- }
168
-
169
- hasDraft(record: CatalogRecord): boolean {
170
- return this.recordsRepository.recordHasDraft(record.uniqueIdentifier)
171
- }
172
- }
@@ -1,10 +0,0 @@
1
- <div
2
- class="gn-ui-badge"
3
- [ngClass]="
4
- clickable
5
- ? 'hover:bg-primary cursor-pointer transition-colors duration-100'
6
- : ''
7
- "
8
- >
9
- <ng-content></ng-content>
10
- </div>
@@ -1,14 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core'
2
- import { CommonModule } from '@angular/common'
3
-
4
- @Component({
5
- selector: 'gn-ui-badge',
6
- templateUrl: './badge.component.html',
7
- styleUrls: ['./badge.component.css'],
8
- changeDetection: ChangeDetectionStrategy.OnPush,
9
- standalone: true,
10
- imports: [CommonModule],
11
- })
12
- export class BadgeComponent {
13
- @Input() clickable = false
14
- }