geonetwork-ui 2.4.0-dev.a2f3bb9f → 2.4.0-dev.e1bb65c4

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 (466) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +4 -4
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +4 -4
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +4 -4
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/index.mjs +2 -1
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +2 -0
  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/auth/auth.service.mjs +4 -4
  10. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +4 -4
  11. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -4
  12. package/esm2022/libs/api/repository/src/lib/gn4/favorites/favorites.service.mjs +4 -4
  13. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +68 -11
  14. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +4 -4
  15. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +4 -4
  16. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +14 -6
  17. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +36 -16
  18. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +4 -4
  19. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +4 -4
  20. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  21. package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
  22. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  23. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  24. package/esm2022/libs/data-access/gn4/src/openapi/api/atom.api.service.mjs +4 -4
  25. package/esm2022/libs/data-access/gn4/src/openapi/api/customstyle.api.service.mjs +4 -4
  26. package/esm2022/libs/data-access/gn4/src/openapi/api/formatters.api.service.mjs +4 -4
  27. package/esm2022/libs/data-access/gn4/src/openapi/api/groups.api.service.mjs +4 -4
  28. package/esm2022/libs/data-access/gn4/src/openapi/api/harvesters.api.service.mjs +4 -4
  29. package/esm2022/libs/data-access/gn4/src/openapi/api/identifiers.api.service.mjs +4 -4
  30. package/esm2022/libs/data-access/gn4/src/openapi/api/languages.api.service.mjs +4 -4
  31. package/esm2022/libs/data-access/gn4/src/openapi/api/links.api.service.mjs +4 -4
  32. package/esm2022/libs/data-access/gn4/src/openapi/api/logos.api.service.mjs +4 -4
  33. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservers.api.service.mjs +4 -4
  34. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservices.api.service.mjs +4 -4
  35. package/esm2022/libs/data-access/gn4/src/openapi/api/me.api.service.mjs +4 -4
  36. package/esm2022/libs/data-access/gn4/src/openapi/api/operations.api.service.mjs +4 -4
  37. package/esm2022/libs/data-access/gn4/src/openapi/api/pages.api.service.mjs +4 -4
  38. package/esm2022/libs/data-access/gn4/src/openapi/api/processes.api.service.mjs +4 -4
  39. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +5 -5
  40. package/esm2022/libs/data-access/gn4/src/openapi/api/regions.api.service.mjs +4 -4
  41. package/esm2022/libs/data-access/gn4/src/openapi/api/registries.api.service.mjs +4 -4
  42. package/esm2022/libs/data-access/gn4/src/openapi/api/related.api.service.mjs +4 -4
  43. package/esm2022/libs/data-access/gn4/src/openapi/api/search.api.service.mjs +4 -4
  44. package/esm2022/libs/data-access/gn4/src/openapi/api/selections.api.service.mjs +4 -4
  45. package/esm2022/libs/data-access/gn4/src/openapi/api/site.api.service.mjs +4 -4
  46. package/esm2022/libs/data-access/gn4/src/openapi/api/sources.api.service.mjs +4 -4
  47. package/esm2022/libs/data-access/gn4/src/openapi/api/standards.api.service.mjs +4 -4
  48. package/esm2022/libs/data-access/gn4/src/openapi/api/status.api.service.mjs +4 -4
  49. package/esm2022/libs/data-access/gn4/src/openapi/api/tags.api.service.mjs +4 -4
  50. package/esm2022/libs/data-access/gn4/src/openapi/api/tools.api.service.mjs +4 -4
  51. package/esm2022/libs/data-access/gn4/src/openapi/api/ui.api.service.mjs +4 -4
  52. package/esm2022/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.mjs +4 -4
  53. package/esm2022/libs/data-access/gn4/src/openapi/api/users.api.service.mjs +4 -4
  54. package/esm2022/libs/data-access/gn4/src/openapi/api/usersearches.api.service.mjs +4 -4
  55. package/esm2022/libs/data-access/gn4/src/openapi/api/userselections.api.service.mjs +4 -4
  56. package/esm2022/libs/data-access/gn4/src/openapi/api.module.mjs +5 -5
  57. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +5 -5
  58. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +5 -5
  59. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -4
  60. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -4
  61. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +4 -4
  62. package/esm2022/libs/feature/catalog/src/lib/site-title/site-title.component.mjs +4 -4
  63. package/esm2022/libs/feature/catalog/src/lib/source-label/source-label.component.mjs +4 -4
  64. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +4 -4
  65. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -7
  66. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +11 -8
  67. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +4 -4
  68. package/esm2022/libs/feature/dataviz/src/lib/figure/figure.service.mjs +4 -4
  69. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +4 -4
  70. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +4 -4
  71. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +4 -4
  72. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  73. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +17 -7
  74. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +9 -6
  75. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +6 -2
  76. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +4 -2
  77. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +4 -4
  78. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +4 -4
  79. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +57 -0
  80. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +4 -4
  81. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +4 -4
  82. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +4 -4
  83. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +4 -4
  84. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +4 -4
  85. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +4 -4
  86. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.mjs +17 -0
  87. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.mjs +17 -0
  88. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +105 -0
  89. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +67 -53
  90. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +24 -44
  91. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +5 -2
  92. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +4 -4
  93. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +4 -4
  94. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +4 -4
  95. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +4 -4
  96. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +7 -6
  97. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +15 -1
  98. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +29 -43
  99. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +4 -4
  100. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +4 -4
  101. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +4 -4
  102. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +4 -4
  103. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +4 -4
  104. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +4 -4
  105. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +4 -4
  106. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +4 -4
  107. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +4 -4
  108. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +4 -4
  109. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +5 -5
  110. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +4 -4
  111. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +4 -4
  112. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +4 -4
  113. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +4 -4
  114. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +4 -4
  115. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +4 -4
  116. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +4 -4
  117. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +4 -4
  118. package/esm2022/libs/feature/map/src/lib/style/map-style.service.mjs +4 -4
  119. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +4 -4
  120. package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +5 -5
  121. package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +4 -4
  122. package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +4 -4
  123. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +4 -4
  124. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +4 -4
  125. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +4 -4
  126. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +4 -4
  127. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +4 -4
  128. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +11 -8
  129. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +6 -6
  130. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +5 -5
  131. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +7 -14
  132. package/esm2022/libs/feature/router/src/lib/default/container/search-router.container.directive.mjs +4 -4
  133. package/esm2022/libs/feature/router/src/lib/default/router.module.mjs +5 -5
  134. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +4 -4
  135. package/esm2022/libs/feature/router/src/lib/default/services/router-search.service.mjs +4 -4
  136. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +4 -4
  137. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +4 -4
  138. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  139. package/esm2022/libs/feature/search/src/lib/facets/facets-container/facets-container.component.mjs +4 -4
  140. package/esm2022/libs/feature/search/src/lib/facets/facets.module.mjs +5 -5
  141. package/esm2022/libs/feature/search/src/lib/facets/facets.service.mjs +4 -4
  142. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
  143. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +11 -8
  144. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +4 -4
  145. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +5 -5
  146. package/esm2022/libs/feature/search/src/lib/records-metrics/records-metrics.component.mjs +4 -4
  147. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +4 -4
  148. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +4 -4
  149. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +4 -4
  150. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +49 -0
  151. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +4 -4
  152. package/esm2022/libs/feature/search/src/lib/state/container/search-state.container.directive.mjs +4 -4
  153. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +4 -4
  154. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +4 -4
  155. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -4
  156. package/esm2022/libs/feature/search/src/lib/utils/service/search.service.mjs +4 -4
  157. package/esm2022/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.mjs +4 -4
  158. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
  159. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +4 -4
  160. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +4 -4
  161. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +4 -4
  162. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +5 -5
  163. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +4 -4
  164. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +4 -4
  165. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +4 -4
  166. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +5 -5
  167. package/esm2022/libs/ui/elements/src/index.mjs +4 -3
  168. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +4 -4
  169. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +4 -4
  170. package/esm2022/libs/ui/elements/src/lib/content-ghost/content-ghost.component.mjs +4 -4
  171. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +4 -4
  172. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +4 -4
  173. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +4 -4
  174. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +4 -4
  175. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +4 -4
  176. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +4 -4
  177. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +4 -4
  178. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +4 -4
  179. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +4 -4
  180. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +4 -4
  181. package/esm2022/libs/ui/elements/src/lib/metadata-info/linkify.directive.mjs +4 -4
  182. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -8
  183. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +4 -4
  184. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +4 -4
  185. package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +4 -4
  186. package/esm2022/libs/ui/elements/src/lib/pagination/pagination.component.mjs +4 -4
  187. package/esm2022/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.mjs +4 -4
  188. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +4 -4
  189. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +4 -4
  190. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  191. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +4 -4
  192. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +11 -8
  193. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +4 -4
  194. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +4 -4
  195. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +4 -4
  196. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  197. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +61 -28
  198. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +28 -0
  199. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +4 -4
  200. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +4 -4
  201. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +4 -4
  202. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +4 -4
  203. package/esm2022/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.mjs +4 -4
  204. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +6 -6
  205. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +19 -13
  206. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +4 -4
  207. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +4 -4
  208. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +4 -4
  209. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +4 -4
  210. package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +4 -4
  211. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +4 -4
  212. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +4 -4
  213. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +4 -4
  214. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +4 -4
  215. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -4
  216. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +4 -4
  217. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +4 -4
  218. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +14 -13
  219. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +4 -4
  220. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +4 -4
  221. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +4 -4
  222. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +4 -4
  223. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +4 -4
  224. package/esm2022/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.mjs +4 -4
  225. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +4 -4
  226. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +4 -4
  227. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +4 -4
  228. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +4 -4
  229. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +5 -5
  230. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +4 -4
  231. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +4 -4
  232. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +5 -5
  233. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  234. package/esm2022/libs/ui/search/src/lib/facets/facet-block/facet-block.component.mjs +7 -7
  235. package/esm2022/libs/ui/search/src/lib/facets/facet-item/facet-item.component.mjs +7 -7
  236. package/esm2022/libs/ui/search/src/lib/facets/facet-list/facet-list.component.mjs +4 -4
  237. package/esm2022/libs/ui/search/src/lib/facets/facets.module.mjs +5 -5
  238. package/esm2022/libs/ui/search/src/lib/record-metric/record-metric.component.mjs +4 -4
  239. package/esm2022/libs/ui/search/src/lib/record-preview/record-preview.component.mjs +4 -4
  240. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +4 -4
  241. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +4 -4
  242. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +4 -4
  243. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -4
  244. package/esm2022/libs/ui/search/src/lib/record-preview-text/record-preview-text.component.mjs +4 -4
  245. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +4 -4
  246. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +4 -4
  247. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +4 -4
  248. package/esm2022/libs/ui/search/src/lib/results-list-item/results-list-item.component.mjs +4 -4
  249. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +120 -0
  250. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +5 -5
  251. package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
  252. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +4 -4
  253. package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +4 -4
  254. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +7 -5
  255. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +4 -4
  256. package/esm2022/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.mjs +4 -4
  257. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +4 -4
  258. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -15
  259. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +4 -4
  260. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +4 -4
  261. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +5 -5
  262. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +4 -4
  263. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +4 -4
  264. package/esm2022/libs/util/shared/src/lib/services/log.service.mjs +4 -4
  265. package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +4 -4
  266. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +4 -4
  267. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +5 -5
  268. package/esm2022/translations/de.json +18 -2
  269. package/esm2022/translations/en.json +18 -2
  270. package/esm2022/translations/es.json +18 -2
  271. package/esm2022/translations/fr.json +18 -2
  272. package/esm2022/translations/it.json +18 -2
  273. package/esm2022/translations/nl.json +18 -2
  274. package/esm2022/translations/pt.json +18 -2
  275. package/fesm2022/geonetwork-ui.mjs +1833 -1353
  276. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  277. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts +1 -0
  278. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts.map +1 -1
  279. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +31 -0
  280. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -0
  281. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +3 -2
  282. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  283. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts +1 -1
  284. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -1
  285. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +3 -2
  286. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  287. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +16 -3
  288. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  289. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +3 -3
  290. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  291. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +8 -5
  292. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  293. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +4 -7
  294. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  295. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +12 -5
  296. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  297. package/libs/common/domain/src/lib/platform.service.interface.d.ts +3 -3
  298. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  299. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +26 -1
  300. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  301. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +6 -6
  302. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  303. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +2 -1
  304. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  305. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +5 -0
  306. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  307. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  308. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  309. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +10 -8
  310. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  311. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +10 -0
  312. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  313. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +2 -0
  314. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  315. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +25 -0
  316. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -0
  317. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts +8 -0
  318. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts.map +1 -0
  319. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts +8 -0
  320. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts.map +1 -0
  321. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +31 -0
  322. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -0
  323. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +6 -6
  324. 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
  325. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +7 -11
  326. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  327. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +4 -1
  328. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  329. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  330. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  331. package/libs/feature/editor/src/lib/services/editor.service.d.ts +6 -9
  332. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  333. package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -1
  334. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  335. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  336. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  337. package/libs/feature/search/src/index.d.ts +1 -1
  338. package/libs/feature/search/src/index.d.ts.map +1 -1
  339. package/libs/feature/search/src/lib/feature-search.module.d.ts +2 -1
  340. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  341. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  342. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +25 -0
  343. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
  344. package/libs/ui/elements/src/index.d.ts +3 -2
  345. package/libs/ui/elements/src/index.d.ts.map +1 -1
  346. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +22 -0
  347. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  348. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  349. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  350. package/libs/ui/inputs/src/index.d.ts +1 -0
  351. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  352. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +7 -4
  353. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  354. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts +11 -0
  355. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -0
  356. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  357. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts +4 -4
  358. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  359. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +35 -35
  360. package/libs/ui/search/src/index.d.ts +1 -0
  361. package/libs/ui/search/src/index.d.ts.map +1 -1
  362. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +30 -0
  363. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  364. package/libs/ui/widgets/src/index.d.ts +0 -1
  365. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  366. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts +1 -1
  367. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  368. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +10 -12
  369. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  370. package/package.json +1 -1
  371. package/src/libs/api/metadata-converter/src/lib/gn4/types/index.ts +1 -0
  372. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +31 -0
  373. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
  374. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.ts +1 -1
  375. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +2 -2
  376. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +158 -7
  377. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +24 -3
  378. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +70 -21
  379. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +4 -9
  380. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +13 -6
  381. package/src/libs/common/domain/src/lib/platform.service.interface.ts +3 -3
  382. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +39 -3
  383. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +211 -0
  384. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +9 -9
  385. package/src/libs/data-access/gn4/src/spec.yaml +4 -5
  386. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +2 -1
  387. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +7 -1
  388. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +51 -17
  389. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +14 -3
  390. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +22 -5
  391. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +11 -1
  392. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +19 -0
  393. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +77 -0
  394. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.html +7 -0
  395. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.ts +16 -0
  396. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.html +13 -0
  397. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.ts +16 -0
  398. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +0 -0
  399. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +6 -0
  400. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +130 -0
  401. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +95 -86
  402. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +11 -24
  403. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +25 -51
  404. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +4 -1
  405. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  406. package/src/libs/feature/editor/src/lib/fields.config.ts +14 -0
  407. package/src/libs/feature/editor/src/lib/services/editor.service.ts +30 -51
  408. package/src/libs/feature/record/src/lib/feature-record.module.ts +3 -2
  409. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +1 -3
  410. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +38 -31
  411. package/src/libs/feature/search/src/index.ts +1 -1
  412. package/src/libs/feature/search/src/lib/feature-search.module.ts +2 -1
  413. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +2 -2
  414. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.css +0 -0
  415. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +9 -0
  416. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +49 -0
  417. package/src/libs/ui/elements/src/index.ts +3 -2
  418. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.css +18 -0
  419. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +36 -0
  420. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.ts +56 -0
  421. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -1
  422. package/src/libs/ui/inputs/src/index.ts +1 -0
  423. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -1
  424. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +23 -19
  425. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +79 -27
  426. package/src/libs/ui/inputs/src/lib/badge/badge.component.css +0 -0
  427. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +18 -0
  428. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +27 -0
  429. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +2 -1
  430. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +8 -1
  431. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +7 -7
  432. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +13 -15
  433. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  434. package/src/libs/ui/search/src/index.ts +1 -0
  435. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
  436. package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +19 -8
  437. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +138 -0
  438. package/src/libs/ui/widgets/src/index.ts +0 -1
  439. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +4 -0
  440. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -6
  441. package/tailwind.base.css +26 -1
  442. package/translations/de.json +18 -2
  443. package/translations/en.json +18 -2
  444. package/translations/es.json +18 -2
  445. package/translations/fr.json +18 -2
  446. package/translations/it.json +18 -2
  447. package/translations/nl.json +18 -2
  448. package/translations/pt.json +18 -2
  449. package/translations/sk.json +18 -2
  450. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +0 -11
  451. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -128
  452. package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +0 -17
  453. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts +0 -6
  454. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +0 -1
  455. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -33
  456. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
  457. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts +0 -7
  458. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts.map +0 -1
  459. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.html +0 -1
  460. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.ts +0 -10
  461. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -164
  462. package/src/libs/ui/widgets/src/lib/badge/badge.component.html +0 -10
  463. package/src/libs/ui/widgets/src/lib/badge/badge.component.ts +0 -11
  464. /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-temporal-extent/form-field-temporal-extent.component.css → form-field-keywords/form-field-keywords.component.css} +0 -0
  465. /package/src/libs/feature/{search/src/lib/results-table/results-table.component.css → editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.css} +0 -0
  466. /package/src/libs/{ui/widgets/src/lib/badge/badge.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.css} +0 -0
@@ -1,10 +1,11 @@
1
1
  import { Injectable } from '@angular/core'
2
- import { Observable, of, switchMap } from 'rxjs'
2
+ import { Observable, combineLatest, of, switchMap } from 'rxjs'
3
3
  import { catchError, map, shareReplay, tap } from 'rxjs/operators'
4
4
  import {
5
5
  MeApiService,
6
6
  RegistriesApiService,
7
7
  SiteApiService,
8
+ ThesaurusInfoApiModel,
8
9
  ToolsApiService,
9
10
  UserfeedbackApiService,
10
11
  UsersApiService,
@@ -12,13 +13,18 @@ import {
12
13
  import { PlatformServiceInterface } from '../../../../../../../libs/common/domain/src/lib/platform.service.interface'
13
14
  import { UserModel } from '../../../../../../../libs/common/domain/src/lib/model/user/user.model'
14
15
  import {
16
+ Keyword,
15
17
  Organization,
16
18
  UserFeedback,
17
19
  } from '../../../../../../../libs/common/domain/src/lib/model/record'
18
20
  import { Gn4PlatformMapper } from './gn4-platform.mapper'
19
21
  import { ltr } from 'semver'
20
- import { ThesaurusModel } from '../../../../../../../libs/common/domain/src/lib/model/thesaurus/thesaurus.model'
21
22
  import { LangService } from '../../../../../../../libs/util/i18n/src'
23
+ import { HttpClient } from '@angular/common/http'
24
+ import {
25
+ KeywordApiResponse,
26
+ ThesaurusApiResponse,
27
+ } from '../../../../../../../libs/api/metadata-converter/src'
22
28
 
23
29
  const minApiVersion = '4.2.2'
24
30
 
@@ -60,7 +66,7 @@ export class Gn4PlatformService implements PlatformServiceInterface {
60
66
  * A map of already loaded thesauri (groups of keywords); the key is a URI
61
67
  * @private
62
68
  */
63
- private thesauri: Record<string, Observable<ThesaurusModel>> = {}
69
+ private keywordsByThesauri: Record<string, Observable<Keyword[]>> = {}
64
70
 
65
71
  constructor(
66
72
  private siteApiService: SiteApiService,
@@ -70,7 +76,8 @@ export class Gn4PlatformService implements PlatformServiceInterface {
70
76
  private toolsApiService: ToolsApiService,
71
77
  private registriesApiService: RegistriesApiService,
72
78
  private langService: LangService,
73
- private userfeedbackApiService: UserfeedbackApiService
79
+ private userfeedbackApiService: UserfeedbackApiService,
80
+ private httpClient: HttpClient
74
81
  ) {
75
82
  this.me$ = this.meApi.getMe().pipe(
76
83
  switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)),
@@ -121,7 +128,7 @@ export class Gn4PlatformService implements PlatformServiceInterface {
121
128
  // the thesaurus URI is inferred by removing a part of the keyword URI
122
129
  // this is not exact science but it's OK, we'll still end up loading a bunch of keywords at once anyway
123
130
  const thesaurusUri = key.replace(/\/([^/]+)$/, '/')
124
- return this.getThesaurusByUri(thesaurusUri).pipe(
131
+ return this.getKeywordsByUri(thesaurusUri).pipe(
125
132
  map((thesaurus) => {
126
133
  for (const item of thesaurus) {
127
134
  if (item.key === key) return item.label
@@ -133,12 +140,49 @@ export class Gn4PlatformService implements PlatformServiceInterface {
133
140
  return this.keyTranslations$.pipe(map((translations) => translations[key]))
134
141
  }
135
142
 
136
- getThesaurusByUri(uri: string): Observable<ThesaurusModel> {
137
- if (this.thesauri[uri]) {
138
- return this.thesauri[uri]
143
+ private allThesaurus$ = this.httpClient
144
+ .get(
145
+ `${this.registriesApiService.configuration.basePath}/thesaurus?_content_type=json`
146
+ )
147
+ .pipe(
148
+ map((thesaurus) => {
149
+ // FIXME: find a better way to exclude place keywords
150
+ // thesaurus[0].filter((thes) => thes.dname !== 'place')
151
+ return thesaurus[0] as ThesaurusApiResponse[]
152
+ }),
153
+ shareReplay(1)
154
+ )
155
+
156
+ searchKeywords(query: string): Observable<Keyword[]> {
157
+ const keywords$: Observable<KeywordApiResponse[]> =
158
+ this.registriesApiService.searchKeywords(
159
+ query,
160
+ this.langService.iso3,
161
+ 10,
162
+ 0,
163
+ null,
164
+ null,
165
+ null,
166
+ `*${query}*`
167
+ ) as Observable<KeywordApiResponse[]>
168
+
169
+ return combineLatest([keywords$, this.allThesaurus$]).pipe(
170
+ map(([keywords, thesaurus]) => {
171
+ return this.mapper.keywordsFromApi(
172
+ keywords,
173
+ thesaurus,
174
+ this.langService.iso3
175
+ )
176
+ })
177
+ )
178
+ }
179
+
180
+ getKeywordsByUri(uri: string): Observable<Keyword[]> {
181
+ if (this.keywordsByThesauri[uri]) {
182
+ return this.keywordsByThesauri[uri]
139
183
  }
140
- this.thesauri[uri] = this.registriesApiService
141
- .searchKeywords(
184
+ const keywords$: Observable<KeywordApiResponse[]> =
185
+ this.registriesApiService.searchKeywords(
142
186
  null,
143
187
  this.langService.iso3,
144
188
  1000,
@@ -147,18 +191,23 @@ export class Gn4PlatformService implements PlatformServiceInterface {
147
191
  null,
148
192
  null,
149
193
  `${uri}*`
150
- )
151
- .pipe(
152
- map((thesaurus) =>
153
- this.mapper.thesaurusFromApi(
154
- thesaurus as any[],
155
- this.langService.iso3
156
- )
157
- ),
158
- shareReplay(1)
159
- )
194
+ ) as Observable<KeywordApiResponse[]>
195
+
196
+ this.keywordsByThesauri[uri] = combineLatest([
197
+ keywords$,
198
+ this.allThesaurus$,
199
+ ]).pipe(
200
+ map(([keywords, thesaurus]) => {
201
+ return this.mapper.keywordsFromApi(
202
+ keywords,
203
+ thesaurus,
204
+ this.langService.iso3
205
+ )
206
+ }),
207
+ shareReplay(1)
208
+ )
160
209
 
161
- return this.thesauri[uri]
210
+ return this.keywordsByThesauri[uri]
162
211
  }
163
212
 
164
213
  getUserFeedbacks(uuid: string): Observable<UserFeedback[]> {
@@ -2,6 +2,7 @@ import { marker } from '@biesbjerg/ngx-translate-extract-marker'
2
2
  import type { Individual } from './contact.model'
3
3
  import type { Organization } from './organization.model'
4
4
  import type { Geometry } from 'geojson'
5
+ import { KeywordType, ThesaurusModel } from '../thesaurus'
5
6
 
6
7
  type Uuid = string
7
8
 
@@ -60,18 +61,12 @@ export type SpatialRepresentationType =
60
61
  | 'table'
61
62
  | 'point'
62
63
 
63
- export type KeywordType = 'place' | 'temporal' | 'theme' | 'other'
64
-
65
- export type KeywordThesaurus = {
66
- id: string
67
- name?: string
68
- url?: URL
69
- }
70
-
71
64
  export interface Keyword {
65
+ key?: string
72
66
  label: string
67
+ description?: string
73
68
  type: KeywordType
74
- thesaurus?: KeywordThesaurus
69
+ thesaurus?: ThesaurusModel
75
70
  }
76
71
  // languages should be expressed using two-letters ISO 639-1 codes
77
72
  export type LanguageCode = string
@@ -1,7 +1,14 @@
1
- export interface ThesaurusItemModel {
2
- key: string
3
- label: string
4
- description?: string
5
- }
1
+ export type KeywordType = 'place' | 'temporal' | 'theme' | 'other'
6
2
 
7
- export type ThesaurusModel = ThesaurusItemModel[]
3
+ export interface ThesaurusModel {
4
+ id: string
5
+ name?: string
6
+ url?: URL
7
+ thesaurusKey?: string
8
+ definition?: string
9
+ definitions?: object
10
+ uri?: string
11
+ value?: string
12
+ values?: object
13
+ type?: KeywordType
14
+ }
@@ -1,8 +1,7 @@
1
1
  import type { Observable } from 'rxjs'
2
2
  import type { UserModel } from './model/user/user.model'
3
3
  import type { Organization } from './model/record/organization.model'
4
- import type { ThesaurusModel } from './model/thesaurus/'
5
- import { UserFeedback } from './model/record'
4
+ import { Keyword, UserFeedback } from './model/record'
6
5
 
7
6
  export abstract class PlatformServiceInterface {
8
7
  abstract getType(): string
@@ -16,7 +15,8 @@ export abstract class PlatformServiceInterface {
16
15
  ): Observable<UserModel[]>
17
16
  abstract getOrganizations(): Observable<Organization[]>
18
17
  abstract translateKey(key: string): Observable<string>
19
- abstract getThesaurusByUri(uri: string): Observable<ThesaurusModel>
18
+ abstract searchKeywords(query: string): Observable<Keyword[]>
19
+ abstract getKeywordsByUri(uri: string): Observable<Keyword[]>
20
20
  abstract getUserFeedbacks(recordUuid: string): Observable<UserFeedback[]>
21
21
  abstract postUserFeedbacks(recordUuid: UserFeedback): Observable<void>
22
22
  }
@@ -11,12 +11,48 @@ import { CatalogRecord } from '../model/record'
11
11
  export abstract class RecordsRepositoryInterface {
12
12
  abstract search(params: SearchParams): Observable<SearchResults>
13
13
  abstract getMatchesCount(filters: FieldFilters): Observable<number>
14
- abstract getByUniqueIdentifier(
15
- uniqueIdentifier: string
16
- ): Observable<CatalogRecord | null>
14
+ abstract getRecord(uniqueIdentifier: string): Observable<CatalogRecord | null>
17
15
  abstract aggregate(params: AggregationsParams): Observable<Aggregations>
18
16
  abstract getSimilarRecords(
19
17
  similarTo: CatalogRecord
20
18
  ): Observable<CatalogRecord[]>
21
19
  abstract fuzzySearch(query: string): Observable<SearchResults>
20
+
21
+ /**
22
+ * This emits once:
23
+ * - record object; if a draft exists, this will return it
24
+ * - serialized representation of the record as text
25
+ * - boolean indicating if the record has been saved at least once in a final version (i.e. not only as draft)
26
+ * @param uniqueIdentifier
27
+ * @returns Observable<[CatalogRecord, string, boolean] | null>
28
+ */
29
+ abstract openRecordForEdition(
30
+ uniqueIdentifier: string
31
+ ): Observable<[CatalogRecord, string, boolean] | null>
32
+
33
+ /**
34
+ * @param record
35
+ * @param referenceRecordSource
36
+ * @returns Observable<string> Returns the unique identifier of the record as it was when saved
37
+ */
38
+ abstract saveRecord(
39
+ record: CatalogRecord,
40
+ referenceRecordSource?: string
41
+ ): Observable<string>
42
+
43
+ /**
44
+ * @param record
45
+ * @param referenceRecordSource
46
+ * @returns Observable<string> Returns the source of the record as it was serialized when saved
47
+ */
48
+ abstract saveRecordAsDraft(
49
+ record: CatalogRecord,
50
+ referenceRecordSource?: string
51
+ ): Observable<string>
52
+
53
+ abstract clearRecordDraft(uniqueIdentifier: string): void
54
+ abstract recordHasDraft(uniqueIdentifier: string): boolean
55
+
56
+ /** will return all pending drafts, both published and not published */
57
+ abstract getAllDrafts(): Observable<CatalogRecord[]>
22
58
  }
@@ -233,6 +233,14 @@ Malgré l'attention portée à la création de ces données, il est rappelé que
233
233
  description: 'Téléchargement du fichier',
234
234
  mimeType: 'x-gis/x-shapefile',
235
235
  },
236
+ {
237
+ type: 'service',
238
+ url: new URL('https://my-org.net/ogc'),
239
+ accessServiceProtocol: 'ogcFeatures',
240
+ name: 'ogcFeaturesSecondRecord',
241
+ description: 'This OGC service is the second part of the download',
242
+ identifierInService: 'my:featuretype',
243
+ },
236
244
  ],
237
245
  lineage: `Document d’urbanisme numérisé conformément aux prescriptions nationales du CNIG par le Service d'Information Géographique de l'Agglomération de la Région de Compiègne.
238
246
  Ce lot de données produit en 2019, a été numérisé à partir du PCI Vecteur de 2019 et contrôlé par le Service d'Information Géographique de l'Agglomération de la Région de Compiègne.`,
@@ -252,3 +260,206 @@ Ce lot de données produit en 2019, a été numérisé à partir du PCI Vecteur
252
260
  languages: ['fr', 'de'],
253
261
  },
254
262
  ])
263
+
264
+ export const DATASET_RECORD_SIMPLE: DatasetRecord = {
265
+ uniqueIdentifier: 'my-dataset-001',
266
+ kind: 'dataset',
267
+ languages: [],
268
+ recordUpdated: new Date('2022-02-01T14:12:00.000Z'),
269
+ resourceCreated: new Date('2022-09-01T12:18:19.000Z'),
270
+ resourceUpdated: new Date('2022-12-04T14:12:00.000Z'),
271
+ status: 'ongoing',
272
+ title: 'A very interesting dataset (un jeu de données très intéressant)',
273
+ abstract: `This dataset has been established for testing purposes.`,
274
+ ownerOrganization: { name: 'MyOrganization' },
275
+ contacts: [
276
+ {
277
+ email: 'bob@org.net',
278
+ position: 'developer',
279
+ organization: { name: 'MyOrganization' },
280
+ role: 'point_of_contact',
281
+ firstName: 'Bob',
282
+ lastName: 'TheGreat',
283
+ },
284
+ ],
285
+ contactsForResource: [],
286
+ keywords: [],
287
+ topics: ['testData'],
288
+ licenses: [],
289
+ legalConstraints: [],
290
+ securityConstraints: [],
291
+ otherConstraints: [],
292
+ lineage: 'This record was edited manually to test the conversion processes',
293
+ spatialRepresentation: 'grid',
294
+ overviews: [],
295
+ spatialExtents: [],
296
+ temporalExtents: [],
297
+ distributions: [
298
+ {
299
+ type: 'download',
300
+ url: new URL('http://my-org.net/download/1.zip'),
301
+ name: 'Direct download',
302
+ description: 'Dataset downloaded as a shapefile',
303
+ mimeType: 'x-gis/x-shapefile',
304
+ },
305
+ ],
306
+ updateFrequency: { per: 'month', updatedTimes: 3 },
307
+ }
308
+
309
+ export const DATASET_RECORD_SIMPLE_AS_XML = `<?xml version="1.0" encoding="UTF-8"?>
310
+ <mdb:MD_Metadata xmlns:mdb="http://standards.iso.org/iso/19115/-3/mdb/2.0" xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0" xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0" xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/2.0" xmlns:mri="http://standards.iso.org/iso/19115/-3/mri/1.0" xmlns:mco="http://standards.iso.org/iso/19115/-3/mco/1.0" xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mmi="http://standards.iso.org/iso/19115/-3/mmi/1.0" xmlns:mrd="http://standards.iso.org/iso/19115/-3/mrd/1.0" xmlns:mrl="http://standards.iso.org/iso/19115/-3/mrl/2.0">
311
+ <mdb:metadataIdentifier>
312
+ <mcc:MD_Identifier>
313
+ <mcc:code>
314
+ <gco:CharacterString>my-dataset-001</gco:CharacterString>
315
+ </mcc:code>
316
+ </mcc:MD_Identifier>
317
+ </mdb:metadataIdentifier>
318
+ <mdb:metadataScope>
319
+ <mdb:MD_MetadataScope>
320
+ <mdb:resourceScope>
321
+ <mcc:MD_ScopeCode codeList="https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#MD_ScopeCode" codeListValue="dataset">dataset</mcc:MD_ScopeCode>
322
+ </mdb:resourceScope>
323
+ </mdb:MD_MetadataScope>
324
+ </mdb:metadataScope>
325
+ <mdb:contact>
326
+ <cit:CI_Responsibility>
327
+ <cit:role>
328
+ <cit:CI_RoleCode codeList="https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#CI_RoleCode" codeListValue="pointOfContact">pointOfContact</cit:CI_RoleCode>
329
+ </cit:role>
330
+ <cit:party>
331
+ <cit:CI_Organisation>
332
+ <cit:name>
333
+ <gco:CharacterString>MyOrganization</gco:CharacterString>
334
+ </cit:name>
335
+ <cit:contactInfo>
336
+ <cit:CI_Contact>
337
+ <cit:address>
338
+ <cit:CI_Address>
339
+ <cit:electronicMailAddress>
340
+ <gco:CharacterString>bob@org.net</gco:CharacterString>
341
+ </cit:electronicMailAddress>
342
+ </cit:CI_Address>
343
+ </cit:address>
344
+ </cit:CI_Contact>
345
+ </cit:contactInfo>
346
+ <cit:individual>
347
+ <cit:CI_Individual>
348
+ <cit:name>
349
+ <gco:CharacterString>Bob TheGreat</gco:CharacterString>
350
+ </cit:name>
351
+ <cit:positionName>
352
+ <gco:CharacterString>developer</gco:CharacterString>
353
+ </cit:positionName>
354
+ </cit:CI_Individual>
355
+ </cit:individual>
356
+ </cit:CI_Organisation>
357
+ </cit:party>
358
+ </cit:CI_Responsibility>
359
+ </mdb:contact>
360
+ <mdb:dateInfo>
361
+ <cit:CI_Date>
362
+ <cit:date>
363
+ <gco:DateTime>2022-02-01T15:12:00</gco:DateTime>
364
+ </cit:date>
365
+ <cit:dateType>
366
+ <cit:CI_DateTypeCode codeList="https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#CI_DateTypeCode" codeListValue="revision">revision</cit:CI_DateTypeCode>
367
+ </cit:dateType>
368
+ </cit:CI_Date>
369
+ </mdb:dateInfo>
370
+ <mdb:identificationInfo>
371
+ <mri:MD_DataIdentification>
372
+ <mri:citation>
373
+ <cit:CI_Citation>
374
+ <cit:title>
375
+ <gco:CharacterString>A very interesting dataset (un jeu de données très intéressant)</gco:CharacterString>
376
+ </cit:title>
377
+ <cit:date>
378
+ <cit:CI_Date>
379
+ <cit:date>
380
+ <gco:DateTime>2022-09-01T14:18:19</gco:DateTime>
381
+ </cit:date>
382
+ <cit:dateType>
383
+ <cit:CI_DateTypeCode codeList="https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#CI_DateTypeCode" codeListValue="creation">creation</cit:CI_DateTypeCode>
384
+ </cit:dateType>
385
+ </cit:CI_Date>
386
+ </cit:date>
387
+ <cit:date>
388
+ <cit:CI_Date>
389
+ <cit:date>
390
+ <gco:DateTime>2022-12-04T15:12:00</gco:DateTime>
391
+ </cit:date>
392
+ <cit:dateType>
393
+ <cit:CI_DateTypeCode codeList="https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#CI_DateTypeCode" codeListValue="revision">revision</cit:CI_DateTypeCode>
394
+ </cit:dateType>
395
+ </cit:CI_Date>
396
+ </cit:date>
397
+ </cit:CI_Citation>
398
+ </mri:citation>
399
+ <mri:abstract>
400
+ <gco:CharacterString>This dataset has been established for testing purposes.</gco:CharacterString>
401
+ </mri:abstract>
402
+ <mri:topicCategory>
403
+ <mri:MD_TopicCategoryCode>testData</mri:MD_TopicCategoryCode>
404
+ </mri:topicCategory>
405
+ <mri:status>
406
+ <mcc:MD_ProgressCode codeList="https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#MD_ProgressCode" codeListValue="onGoing">onGoing</mcc:MD_ProgressCode>
407
+ </mri:status>
408
+ <mri:resourceMaintenance>
409
+ <mmi:MD_MaintenanceInformation>
410
+ <mmi:userDefinedMaintenanceFrequency>
411
+ <gco:TM_PeriodDuration>P0Y0M10D</gco:TM_PeriodDuration>
412
+ </mmi:userDefinedMaintenanceFrequency>
413
+ </mmi:MD_MaintenanceInformation>
414
+ </mri:resourceMaintenance>
415
+ <mri:spatialRepresentationType>
416
+ <mcc:MD_SpatialRepresentationTypeCode codeList="https://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#MD_SpatialRepresentationTypeCode" codeListValue="grid">grid</mcc:MD_SpatialRepresentationTypeCode>
417
+ </mri:spatialRepresentationType>
418
+ </mri:MD_DataIdentification>
419
+ </mdb:identificationInfo>
420
+ <mdb:distributionInfo>
421
+ <mrd:MD_Distribution>
422
+ <mrd:distributionFormat>
423
+ <mrd:MD_Format>
424
+ <mrd:formatSpecificationCitation>
425
+ <cit:CI_Citation>
426
+ <cit:title>
427
+ <gco:CharacterString>x-gis/x-shapefile</gco:CharacterString>
428
+ </cit:title>
429
+ </cit:CI_Citation>
430
+ </mrd:formatSpecificationCitation>
431
+ </mrd:MD_Format>
432
+ </mrd:distributionFormat>
433
+ <mrd:transferOptions>
434
+ <mrd:MD_DigitalTransferOptions>
435
+ <mrd:onLine>
436
+ <cit:CI_OnlineResource>
437
+ <cit:linkage>
438
+ <gco:CharacterString>http://my-org.net/download/1.zip</gco:CharacterString>
439
+ </cit:linkage>
440
+ <cit:description>
441
+ <gco:CharacterString>Dataset downloaded as a shapefile</gco:CharacterString>
442
+ </cit:description>
443
+ <cit:name>
444
+ <gco:CharacterString>Direct download</gco:CharacterString>
445
+ </cit:name>
446
+ <cit:protocol>
447
+ <gco:CharacterString>WWW:DOWNLOAD</gco:CharacterString>
448
+ </cit:protocol>
449
+ <cit:function>
450
+ <cit:CI_OnLineFunctionCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="download"/>
451
+ </cit:function>
452
+ </cit:CI_OnlineResource>
453
+ </mrd:onLine>
454
+ </mrd:MD_DigitalTransferOptions>
455
+ </mrd:transferOptions>
456
+ </mrd:MD_Distribution>
457
+ </mdb:distributionInfo>
458
+ <mdb:resourceLineage>
459
+ <mrl:LI_Lineage>
460
+ <mrl:statement>
461
+ <gco:CharacterString>This record was edited manually to test the conversion processes</gco:CharacterString>
462
+ </mrl:statement>
463
+ </mrl:LI_Lineage>
464
+ </mdb:resourceLineage>
465
+ </mdb:MD_Metadata>`
@@ -4586,8 +4586,8 @@ export class RecordsApiService {
4586
4586
  accept?: string,
4587
4587
  observe?: 'body',
4588
4588
  reportProgress?: boolean,
4589
- options?: { httpHeaderAccept?: 'application/json' | 'application/xml' }
4590
- ): Observable<object>
4589
+ options?: { httpHeaderAccept?: 'application/xml' | 'application/json' }
4590
+ ): Observable<string>
4591
4591
  public getRecordAs(
4592
4592
  metadataUuid: string,
4593
4593
  addSchemaLocation?: boolean,
@@ -4598,8 +4598,8 @@ export class RecordsApiService {
4598
4598
  accept?: string,
4599
4599
  observe?: 'response',
4600
4600
  reportProgress?: boolean,
4601
- options?: { httpHeaderAccept?: 'application/json' | 'application/xml' }
4602
- ): Observable<HttpResponse<object>>
4601
+ options?: { httpHeaderAccept?: 'application/xml' | 'application/json' }
4602
+ ): Observable<HttpResponse<string>>
4603
4603
  public getRecordAs(
4604
4604
  metadataUuid: string,
4605
4605
  addSchemaLocation?: boolean,
@@ -4610,8 +4610,8 @@ export class RecordsApiService {
4610
4610
  accept?: string,
4611
4611
  observe?: 'events',
4612
4612
  reportProgress?: boolean,
4613
- options?: { httpHeaderAccept?: 'application/json' | 'application/xml' }
4614
- ): Observable<HttpEvent<object>>
4613
+ options?: { httpHeaderAccept?: 'application/xml' | 'application/json' }
4614
+ ): Observable<HttpEvent<string>>
4615
4615
  public getRecordAs(
4616
4616
  metadataUuid: string,
4617
4617
  addSchemaLocation?: boolean,
@@ -4622,7 +4622,7 @@ export class RecordsApiService {
4622
4622
  accept?: string,
4623
4623
  observe: any = 'body',
4624
4624
  reportProgress: boolean = false,
4625
- options?: { httpHeaderAccept?: 'application/json' | 'application/xml' }
4625
+ options?: { httpHeaderAccept?: 'application/xml' | 'application/json' }
4626
4626
  ): Observable<any> {
4627
4627
  if (metadataUuid === null || metadataUuid === undefined) {
4628
4628
  throw new Error(
@@ -4677,8 +4677,8 @@ export class RecordsApiService {
4677
4677
  if (httpHeaderAcceptSelected === undefined) {
4678
4678
  // to determine the Accept header
4679
4679
  const httpHeaderAccepts: string[] = [
4680
- 'application/json',
4681
4680
  'application/xml',
4681
+ 'application/json',
4682
4682
  ]
4683
4683
  httpHeaderAcceptSelected =
4684
4684
  this.configuration.selectHeaderAccept(httpHeaderAccepts)
@@ -4695,7 +4695,7 @@ export class RecordsApiService {
4695
4695
  responseType_ = 'text'
4696
4696
  }
4697
4697
 
4698
- return this.httpClient.get<object>(
4698
+ return this.httpClient.get<string>(
4699
4699
  `${this.configuration.basePath}/records/${encodeURIComponent(
4700
4700
  String(metadataUuid)
4701
4701
  )}/formatters/xml`,
@@ -11114,16 +11114,15 @@ paths:
11114
11114
  default:
11115
11115
  description: default response
11116
11116
  content:
11117
- application/json: {}
11117
+ application/xml:
11118
+ schema:
11119
+ type: string
11118
11120
  "200":
11119
11121
  description: Return the record.
11120
11122
  content:
11121
11123
  application/xml:
11122
11124
  schema:
11123
- type: object
11124
- application/json:
11125
- schema:
11126
- type: object
11125
+ type: string
11127
11126
  "403":
11128
11127
  description: Operation not allowed. User needs to be able to view the resource.
11129
11128
  content:
@@ -12,7 +12,7 @@ import {
12
12
  import { TableViewComponent } from './table-view/table-view.component'
13
13
  import { ChartViewComponent } from './chart-view/chart-view.component'
14
14
  import { TranslateModule } from '@ngx-translate/core'
15
- import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src'
15
+ import { PopupAlertComponent, UiWidgetsModule } from '../../../../../libs/ui/widgets/src'
16
16
  import { UiInputsModule } from '../../../../../libs/ui/inputs/src'
17
17
 
18
18
  @NgModule({
@@ -26,6 +26,7 @@ import { UiInputsModule } from '../../../../../libs/ui/inputs/src'
26
26
  TranslateModule,
27
27
  ChartComponent,
28
28
  UiInputsModule,
29
+ PopupAlertComponent,
29
30
  ],
30
31
  declarations: [
31
32
  GeoTableViewComponent,
@@ -4,7 +4,11 @@ import { SaveRecordError } from './editor.models'
4
4
 
5
5
  export const openRecord = createAction(
6
6
  '[Editor] Open record',
7
- props<{ record: CatalogRecord }>()
7
+ props<{
8
+ record: CatalogRecord
9
+ alreadySavedOnce: boolean
10
+ recordSource?: string | null
11
+ }>()
8
12
  )
9
13
 
10
14
  export const updateRecordField = createAction(
@@ -22,3 +26,5 @@ export const saveRecordFailure = createAction(
22
26
  '[Editor] Save record failure',
23
27
  props<{ error: SaveRecordError }>()
24
28
  )
29
+
30
+ export const draftSaveSuccess = createAction('[Editor] Draft save success')