geonetwork-ui 2.4.0-dev.2cc6f5b1 → 2.4.0-dev.344a92f2

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 (495) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +1 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +5 -5
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +10 -7
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +10 -15
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +28 -18
  9. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +5 -3
  10. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +11 -1
  11. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +51 -7
  12. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  13. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  14. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  15. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  16. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  17. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  18. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
  19. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  20. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  21. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -1
  22. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
  23. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +4 -16
  24. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +80 -0
  25. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  26. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +43 -67
  27. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
  28. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +31 -40
  29. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +11 -9
  30. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +101 -0
  31. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +148 -0
  32. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
  33. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +93 -11
  34. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +12 -16
  35. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
  36. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +140 -5
  37. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +41 -69
  38. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +17 -15
  39. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +45 -59
  40. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
  41. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +5 -3
  42. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +8 -8
  43. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +6 -4
  44. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +51 -6
  45. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
  46. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +5 -1
  47. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +6 -6
  48. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +7 -6
  49. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +8 -5
  50. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +6 -7
  51. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +8 -7
  52. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +7 -6
  53. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +7 -26
  54. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +29 -13
  55. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  56. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  57. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +1 -1
  58. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +1 -1
  59. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -2
  60. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
  61. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +5 -4
  62. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  63. package/esm2022/libs/ui/elements/src/index.mjs +2 -2
  64. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
  65. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
  66. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
  67. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -6
  68. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
  69. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +5 -5
  70. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -4
  71. package/esm2022/libs/ui/inputs/src/index.mjs +5 -1
  72. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -4
  73. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +5 -3
  74. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +8 -1
  75. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +11 -4
  76. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +9 -3
  77. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
  78. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  79. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +19 -15
  80. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  81. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +7 -21
  82. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +6 -17
  83. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +3 -7
  84. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
  85. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  86. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -3
  87. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  88. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  89. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +3 -3
  90. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  91. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +8 -8
  92. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  93. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
  94. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  95. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +2 -1
  96. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  97. package/esm2022/translations/de.json +34 -2
  98. package/esm2022/translations/en.json +34 -2
  99. package/esm2022/translations/es.json +32 -0
  100. package/esm2022/translations/fr.json +38 -6
  101. package/esm2022/translations/it.json +34 -2
  102. package/esm2022/translations/nl.json +32 -0
  103. package/esm2022/translations/pt.json +32 -0
  104. package/fesm2022/geonetwork-ui.mjs +2602 -1729
  105. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  106. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  107. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  108. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  109. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  110. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
  111. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  112. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -1
  113. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  114. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  115. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -5
  116. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  117. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +7 -6
  118. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  119. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  120. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +22 -2
  121. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  122. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -6
  123. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  124. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  125. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  126. package/libs/common/domain/src/lib/platform.service.interface.d.ts +16 -0
  127. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  128. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  129. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  130. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  131. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  132. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  133. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  134. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  135. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  136. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  137. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  138. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
  139. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  140. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  141. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  142. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
  143. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  144. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +1 -5
  145. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -1
  146. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
  147. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  148. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  149. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  150. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +11 -17
  151. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  152. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
  153. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +1 -0
  154. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +11 -19
  155. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  156. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  157. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  158. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +22 -0
  159. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -0
  160. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +35 -0
  161. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -0
  162. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
  163. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -0
  164. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +24 -4
  165. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  166. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
  167. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  168. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  169. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  170. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
  171. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  172. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -18
  173. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  174. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
  175. 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
  176. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +18 -25
  177. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  178. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
  179. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  180. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -3
  181. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  182. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  183. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  184. package/libs/feature/editor/src/lib/fields.config.d.ts +14 -0
  185. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  186. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -0
  187. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
  188. package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -0
  189. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  190. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  191. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  192. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +6 -6
  193. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  194. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  195. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  196. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +1 -1
  197. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  198. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +1 -1
  199. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  200. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +1 -1
  201. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  202. package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -21
  203. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  204. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +1 -1
  205. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  206. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  207. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  208. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  209. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  210. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -2
  211. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  212. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -2
  213. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  214. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  215. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  216. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +1 -0
  217. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  218. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  219. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  220. package/libs/ui/elements/src/index.d.ts +1 -1
  221. package/libs/ui/elements/src/index.d.ts.map +1 -1
  222. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  223. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  224. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  225. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  226. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  227. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  228. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  229. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  230. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  231. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  232. package/libs/ui/inputs/src/index.d.ts +4 -0
  233. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  234. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  235. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
  236. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  237. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  238. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  239. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  240. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  241. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  242. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  243. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  244. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -5
  245. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  246. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +16 -0
  247. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  248. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  249. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  250. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  251. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  252. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +34 -35
  253. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  254. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
  255. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  256. package/libs/ui/layout/src/index.d.ts +2 -0
  257. package/libs/ui/layout/src/index.d.ts.map +1 -1
  258. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  259. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  260. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  261. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  262. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  263. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  264. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  265. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  266. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +2 -2
  267. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  268. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  269. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  270. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  271. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  272. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  273. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  274. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  275. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  276. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  277. package/package.json +1 -1
  278. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +7 -2
  279. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -1
  280. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  281. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -1
  282. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
  283. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  284. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +4 -4
  285. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
  286. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +14 -8
  287. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +7 -13
  288. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +13 -15
  289. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +48 -36
  290. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +5 -5
  291. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -1
  292. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +90 -15
  293. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +8 -7
  294. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  295. package/src/libs/common/domain/src/lib/platform.service.interface.ts +30 -0
  296. package/src/libs/common/fixtures/src/index.ts +1 -1
  297. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +37 -37
  298. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  299. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  300. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1 -3
  301. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  302. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  303. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  304. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  305. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  306. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  307. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  308. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  309. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  310. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +37 -3
  311. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  312. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +9 -9
  313. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  314. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  315. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  316. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +32 -15
  317. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  318. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  319. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  320. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  321. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  322. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  323. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  324. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
  325. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +15 -0
  326. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +4 -0
  327. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +12 -22
  328. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +1 -13
  329. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  330. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +90 -0
  331. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  332. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  333. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +4 -0
  334. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +13 -23
  335. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +48 -107
  336. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.html +4 -0
  337. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.ts +21 -0
  338. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -16
  339. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +44 -45
  340. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  341. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  342. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +4 -0
  343. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +128 -0
  344. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css +0 -0
  345. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +34 -0
  346. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +182 -0
  347. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  348. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  349. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
  350. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -5
  351. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +107 -7
  352. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +15 -8
  353. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
  354. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  355. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  356. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
  357. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
  358. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  359. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +31 -4
  360. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +43 -87
  361. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  362. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
  363. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
  364. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +110 -79
  365. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +49 -59
  366. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
  367. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +32 -29
  368. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +9 -3
  369. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  370. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  371. package/src/libs/feature/editor/src/lib/fields.config.ts +56 -5
  372. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -0
  373. package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -0
  374. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  375. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +12 -8
  376. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +5 -0
  377. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  378. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +10 -7
  379. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  380. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +5 -0
  381. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  382. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +6 -1
  383. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -15
  384. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +24 -1
  385. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +26 -22
  386. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  387. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  388. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +2 -2
  389. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -2
  390. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  391. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -0
  392. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  393. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +10 -1
  394. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  395. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  396. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  397. package/src/libs/ui/elements/src/index.ts +1 -1
  398. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  399. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  400. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  401. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -20
  402. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
  403. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +5 -0
  404. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  405. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -1
  406. package/src/libs/ui/inputs/src/index.ts +4 -0
  407. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -18
  408. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +38 -24
  409. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +4 -1
  410. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +12 -3
  411. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +2 -1
  412. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  413. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  414. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +13 -6
  415. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +7 -1
  416. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  417. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +27 -23
  418. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +7 -1
  419. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  420. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  421. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +89 -0
  422. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
  423. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
  424. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +76 -68
  425. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +17 -14
  426. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +4 -3
  427. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +0 -1
  428. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -2
  429. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  430. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  431. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  432. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  433. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  434. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  435. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
  436. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
  437. package/src/libs/ui/layout/src/index.ts +2 -0
  438. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
  439. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
  440. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  441. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  442. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  443. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  444. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +11 -18
  445. package/src/libs/ui/map/src/lib/ui-map.module.ts +1 -1
  446. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  447. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -2
  448. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +5 -6
  449. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  450. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  451. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  452. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  453. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  454. package/tailwind.base.config.js +1 -0
  455. package/tailwind.base.css +49 -6
  456. package/translations/de.json +34 -2
  457. package/translations/en.json +34 -2
  458. package/translations/es.json +32 -0
  459. package/translations/fr.json +38 -6
  460. package/translations/it.json +34 -2
  461. package/translations/nl.json +32 -0
  462. package/translations/pt.json +32 -0
  463. package/translations/sk.json +32 -0
  464. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -131
  465. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
  466. 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 +0 -17
  467. 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 +0 -17
  468. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -47
  469. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +0 -27
  470. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +0 -1
  471. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
  472. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +0 -1
  473. 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 +0 -8
  474. 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 +0 -1
  475. 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 +0 -8
  476. 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 +0 -1
  477. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -22
  478. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  479. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  480. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  481. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  482. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -9
  483. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -161
  484. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
  485. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
  486. 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 +0 -7
  487. 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 +0 -16
  488. 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 +0 -13
  489. 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 +0 -16
  490. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -38
  491. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → generic-keywords/generic-keywords.component.css} +0 -0
  492. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → online-resource-card/online-resource-card.component.css} +0 -0
  493. /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.css → form-field-date-updated/form-field-date-updated.component.css} +0 -0
  494. /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.css → form-field-map-container/form-field-map-container.component.css} +0 -0
  495. /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
@@ -1,9 +1,10 @@
1
1
  import {
2
2
  Constraint,
3
- DatasetDistribution,
3
+ DatasetOnlineResource,
4
4
  GraphicOverview,
5
5
  Individual,
6
6
  Keyword,
7
+ OnlineResource,
7
8
  Organization,
8
9
  RecordKind,
9
10
  RecordStatus,
@@ -326,12 +327,12 @@ const getMimeType = pipe(
326
327
  )
327
328
 
328
329
  /**
329
- * Extract distributions from a MD_Distribution element
330
+ * Extract online resources from an MD_Distribution element
330
331
  * @param getMimeTypeFn This function starts from a gmd:transferOptions element
331
332
  */
332
- export function extractDatasetDistributions(
333
+ export function extractDatasetOnlineResources(
333
334
  getMimeTypeFn: ChainableFunction<XmlElement, string>
334
- ): ChainableFunction<XmlElement, DatasetDistribution[]> {
335
+ ): ChainableFunction<XmlElement, DatasetOnlineResource[]> {
335
336
  const getUrl = pipe(findChildElement('gmd:linkage'), extractMandatoryUrl())
336
337
  const getProtocolStr = pipe(
337
338
  findChildElement('gmd:protocol'),
@@ -774,14 +775,6 @@ export function readLineage(rootEl: XmlElement): string {
774
775
  )(rootEl)
775
776
  }
776
777
 
777
- export function readDistributions(rootEl: XmlElement): DatasetDistribution[] {
778
- return pipe(
779
- findNestedElements('gmd:distributionInfo', 'gmd:MD_Distribution'),
780
- mapArray(extractDatasetDistributions(getMimeType)),
781
- flattenArray()
782
- )(rootEl)
783
- }
784
-
785
778
  export function readUpdateFrequency(rootEl: XmlElement): UpdateFrequency {
786
779
  return pipe(
787
780
  findIdentification(),
@@ -845,9 +838,14 @@ export function extractServiceOnlineResources(): ChainableFunction<
845
838
  )
846
839
  }
847
840
 
848
- export function readOnlineResources(
849
- rootEl: XmlElement
850
- ): ServiceOnlineResource[] {
841
+ export function readOnlineResources(rootEl: XmlElement): OnlineResource[] {
842
+ if (readKind(rootEl) === 'dataset') {
843
+ return pipe(
844
+ findNestedElements('gmd:distributionInfo', 'gmd:MD_Distribution'),
845
+ mapArray(extractDatasetOnlineResources(getMimeType)),
846
+ flattenArray()
847
+ )(rootEl)
848
+ }
851
849
  return pipe(
852
850
  findNestedElements('gmd:distributionInfo', 'gmd:MD_Distribution'),
853
851
  mapArray(extractServiceOnlineResources()),
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  CatalogRecord,
3
3
  Constraint,
4
- DatasetDistribution,
4
+ DatasetOnlineResource,
5
5
  DatasetRecord,
6
6
  DatasetServiceDistribution,
7
7
  Individual,
@@ -29,7 +29,6 @@ import {
29
29
  tap,
30
30
  } from '../function-utils'
31
31
  import {
32
- XmlElement,
33
32
  addAttribute,
34
33
  appendChildren,
35
34
  createChild,
@@ -44,6 +43,7 @@ import {
44
43
  removeChildren,
45
44
  removeChildrenByName,
46
45
  setTextContent,
46
+ XmlElement,
47
47
  } from '../xml-utils'
48
48
  import { readKind } from './read-parts'
49
49
  import { writeGeometry } from './utils/geometry'
@@ -179,7 +179,7 @@ export function getRoleCode(role: Role): string {
179
179
  }
180
180
  }
181
181
 
182
- export function getDistributionProtocol(
182
+ export function getServiceDistributionProtocol(
183
183
  distribution: DatasetServiceDistribution
184
184
  ): string {
185
185
  switch (distribution.accessServiceProtocol.toLowerCase()) {
@@ -610,11 +610,11 @@ export function createLicense(license: Constraint) {
610
610
  )
611
611
  }
612
612
 
613
- export function removeDistributions() {
613
+ export function removeOnlineResources() {
614
614
  return pipe(removeChildrenByName('gmd:distributionInfo'))
615
615
  }
616
616
 
617
- function appendDistributionFormat(mimeType: string) {
617
+ function appendOnlineResourceFormat(mimeType: string) {
618
618
  return appendChildren(
619
619
  pipe(
620
620
  createElement('gmd:distributionFormat'),
@@ -638,8 +638,8 @@ export function createDistributionInfo() {
638
638
  }
639
639
 
640
640
  // apply to MD_Distribution
641
- export function appendDistribution(
642
- distribution: DatasetDistribution,
641
+ export function appendOnlineResource(
642
+ onlineResource: DatasetOnlineResource,
643
643
  appendFormatFn: (
644
644
  mimeType: string
645
645
  ) => ChainableFunction<XmlElement, XmlElement>
@@ -647,16 +647,16 @@ export function appendDistribution(
647
647
  let name: string
648
648
  let functionCode: string
649
649
  let protocol: string
650
- if (distribution.type === 'service') {
651
- name = distribution.identifierInService // this is for GeoNetwork to know the layer name
650
+ if (onlineResource.type === 'service') {
651
+ name = onlineResource.identifierInService // this is for GeoNetwork to know the layer name
652
652
  functionCode = 'download'
653
- protocol = getDistributionProtocol(distribution)
654
- } else if (distribution.type === 'download') {
655
- name = distribution.name
653
+ protocol = getServiceDistributionProtocol(onlineResource)
654
+ } else if (onlineResource.type === 'download') {
655
+ name = onlineResource.name
656
656
  functionCode = 'download'
657
657
  protocol = 'WWW:DOWNLOAD'
658
658
  } else {
659
- name = distribution.name
659
+ name = onlineResource.name
660
660
  functionCode = 'information'
661
661
  protocol = 'WWW:LINK'
662
662
  }
@@ -666,12 +666,12 @@ export function appendDistribution(
666
666
  createChild('gmd:MD_DigitalTransferOptions'),
667
667
  createChild('gmd:onLine'),
668
668
  createChild('gmd:CI_OnlineResource'),
669
- writeLinkage(distribution.url),
670
- 'description' in distribution
669
+ writeLinkage(onlineResource.url),
670
+ 'description' in onlineResource
671
671
  ? appendChildren(
672
672
  pipe(
673
673
  createElement('gmd:description'),
674
- writeCharacterString(distribution.description)
674
+ writeCharacterString(onlineResource.description)
675
675
  )
676
676
  )
677
677
  : noop,
@@ -695,7 +695,9 @@ export function appendDistribution(
695
695
  )
696
696
  )
697
697
  return pipe(
698
- 'mimeType' in distribution ? appendFormatFn(distribution.mimeType) : noop,
698
+ 'mimeType' in onlineResource
699
+ ? appendFormatFn(onlineResource.mimeType)
700
+ : noop,
699
701
  appendTransferOptions
700
702
  )
701
703
  }
@@ -1032,20 +1034,6 @@ export function writeGraphicOverviews(
1032
1034
  )(rootEl)
1033
1035
  }
1034
1036
 
1035
- export function writeDistributions(record: DatasetRecord, rootEl: XmlElement) {
1036
- pipe(
1037
- removeDistributions(),
1038
- appendChildren(
1039
- ...record.distributions.map((d) =>
1040
- pipe(
1041
- createDistributionInfo(),
1042
- appendDistribution(d, appendDistributionFormat)
1043
- )
1044
- )
1045
- )
1046
- )(rootEl)
1047
- }
1048
-
1049
1037
  export function writeLineage(record: DatasetRecord, rootEl: XmlElement) {
1050
1038
  pipe(
1051
1039
  findNestedChildOrCreate(
@@ -1127,16 +1115,40 @@ export function createOnlineResource(onlineResource: ServiceOnlineResource) {
1127
1115
  )
1128
1116
  }
1129
1117
 
1130
- export function writeOnlineResources(
1131
- record: ServiceRecord,
1118
+ export function appendDatasetOnlineResources(
1119
+ record: DatasetRecord,
1132
1120
  rootEl: XmlElement
1133
1121
  ) {
1134
- pipe(
1135
- removeDistributions(),
1136
- appendChildren(...record.onlineResources.map(createOnlineResource))
1122
+ appendChildren(
1123
+ ...record.onlineResources.map((d) =>
1124
+ pipe(
1125
+ createDistributionInfo(),
1126
+ appendOnlineResource(d, appendOnlineResourceFormat)
1127
+ )
1128
+ )
1137
1129
  )(rootEl)
1138
1130
  }
1139
1131
 
1132
+ export function appendServiceOnlineResources(
1133
+ record: ServiceRecord,
1134
+ rootEl: XmlElement
1135
+ ) {
1136
+ appendChildren(...record.onlineResources.map(createOnlineResource))(rootEl)
1137
+ }
1138
+
1139
+ export function writeOnlineResources(
1140
+ record: CatalogRecord,
1141
+ rootEl: XmlElement
1142
+ ) {
1143
+ removeOnlineResources()(rootEl)
1144
+
1145
+ if (record.kind === 'dataset') {
1146
+ appendDatasetOnlineResources(record, rootEl)
1147
+ return
1148
+ }
1149
+ appendServiceOnlineResources(record, rootEl)
1150
+ }
1151
+
1140
1152
  export function writeTemporalExtents(
1141
1153
  record: DatasetRecord,
1142
1154
  rootEl: XmlElement
@@ -180,11 +180,11 @@ export function findParent(
180
180
 
181
181
  export function readText(): ChainableFunction<XmlElement, string> {
182
182
  return (el) => {
183
- const textNode =
184
- el && Array.isArray(el.children)
185
- ? (el.children.find((node) => node.type === 'text') as XmlText)
186
- : null
187
- return textNode ? textNode.text : null
183
+ if (!el) return null
184
+ const textNode = Array.isArray(el.children)
185
+ ? (el.children.find((node) => node.type === 'text') as XmlText)
186
+ : null
187
+ return textNode ? textNode.text : ''
188
188
  }
189
189
  }
190
190
 
@@ -79,6 +79,16 @@ export class Gn4PlatformMapper {
79
79
  (thes) => keyword.thesaurusKey === thes.key
80
80
  )
81
81
 
82
+ let bbox: [number, number, number, number]
83
+ if (keyword.coordWest) {
84
+ bbox = [
85
+ parseFloat(keyword.coordWest),
86
+ parseFloat(keyword.coordSouth),
87
+ parseFloat(keyword.coordEast),
88
+ parseFloat(keyword.coordNorth),
89
+ ]
90
+ }
91
+
82
92
  return {
83
93
  key,
84
94
  label,
@@ -90,7 +100,8 @@ export class Gn4PlatformMapper {
90
100
  url: new URL(matchedThesaurus?.url),
91
101
  type: matchedThesaurus?.dname as KeywordType,
92
102
  },
93
- }
103
+ ...(bbox && { bbox }),
104
+ } as Keyword
94
105
  })
95
106
  }
96
107
 
@@ -1,8 +1,9 @@
1
1
  import { Injectable } from '@angular/core'
2
- import { Observable, combineLatest, of, switchMap } from 'rxjs'
3
- import { catchError, map, shareReplay, tap } from 'rxjs/operators'
2
+ import { combineLatest, Observable, of, switchMap } from 'rxjs'
3
+ import { catchError, filter, map, shareReplay, tap } from 'rxjs/operators'
4
4
  import {
5
5
  MeApiService,
6
+ RecordsApiService,
6
7
  RegistriesApiService,
7
8
  SiteApiService,
8
9
  ToolsApiService,
@@ -19,7 +20,7 @@ import {
19
20
  import { Gn4PlatformMapper } from './gn4-platform.mapper'
20
21
  import { ltr } from 'semver'
21
22
  import { LangService } from '../../../../../../../libs/util/i18n/src'
22
- import { HttpClient } from '@angular/common/http'
23
+ import { HttpClient, HttpEventType } from '@angular/common/http'
23
24
  import {
24
25
  KeywordApiResponse,
25
26
  ThesaurusApiResponse,
@@ -77,7 +78,8 @@ export class Gn4PlatformService implements PlatformServiceInterface {
77
78
  private registriesApiService: RegistriesApiService,
78
79
  private langService: LangService,
79
80
  private userfeedbackApiService: UserfeedbackApiService,
80
- private httpClient: HttpClient
81
+ private httpClient: HttpClient,
82
+ private recordsApiService: RecordsApiService
81
83
  ) {
82
84
  this.me$ = this.meApi.getMe().pipe(
83
85
  switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)),
@@ -192,17 +194,16 @@ export class Gn4PlatformService implements PlatformServiceInterface {
192
194
  if (this.keywordsByThesauri[uri]) {
193
195
  return this.keywordsByThesauri[uri]
194
196
  }
195
- const keywords$: Observable<KeywordApiResponse[]> =
196
- this.registriesApiService.searchKeywords(
197
- null,
198
- this.langService.iso3,
199
- 1000,
200
- 0,
201
- null,
202
- null,
203
- null,
204
- `${uri}*`
205
- ) as Observable<KeywordApiResponse[]>
197
+ const keywords$ = this.registriesApiService.searchKeywords(
198
+ null,
199
+ this.langService.iso3,
200
+ 1000,
201
+ 0,
202
+ null,
203
+ null,
204
+ null,
205
+ `${uri}*`
206
+ ) as Observable<KeywordApiResponse[]>
206
207
 
207
208
  this.keywordsByThesauri[uri] = combineLatest([
208
209
  keywords$,
@@ -221,6 +222,38 @@ export class Gn4PlatformService implements PlatformServiceInterface {
221
222
  return this.keywordsByThesauri[uri]
222
223
  }
223
224
 
225
+ searchKeywordsInThesaurus(query: string, thesaurusId: string) {
226
+ return this.allThesaurus$.pipe(
227
+ switchMap((thesauri) => {
228
+ const strippedThesaurusId = thesaurusId.replace(
229
+ 'geonetwork.thesaurus.',
230
+ ''
231
+ )
232
+ if (!thesauri.find((thes) => thes.key === strippedThesaurusId))
233
+ return of([])
234
+ return this.registriesApiService
235
+ .searchKeywords(
236
+ query,
237
+ this.langService.iso3,
238
+ 100,
239
+ 0,
240
+ null,
241
+ [strippedThesaurusId],
242
+ null
243
+ )
244
+ .pipe(
245
+ map((keywords: KeywordApiResponse[]) =>
246
+ this.mapper.keywordsFromApi(
247
+ keywords,
248
+ thesauri,
249
+ this.langService.iso3
250
+ )
251
+ )
252
+ )
253
+ })
254
+ )
255
+ }
256
+
224
257
  getUserFeedbacks(uuid: string): Observable<UserFeedback[]> {
225
258
  return this.userfeedbackApiService.getUserComments(uuid).pipe(
226
259
  map((userFeedbacks) =>
@@ -243,4 +276,46 @@ export class Gn4PlatformService implements PlatformServiceInterface {
243
276
  })
244
277
  )
245
278
  }
279
+
280
+ getRecordAttachments(recordUuid: string) {
281
+ return this.recordsApiService.getAllResources(recordUuid).pipe(
282
+ map((resources) =>
283
+ resources.map((r) => ({
284
+ url: new URL(r.url),
285
+ fileName: r.filename,
286
+ }))
287
+ )
288
+ )
289
+ }
290
+
291
+ attachFileToRecord(recordUuid: string, file: File) {
292
+ let sizeBytes = -1
293
+ return this.recordsApiService
294
+ .putResource(recordUuid, file, 'public', undefined, 'events', true)
295
+ .pipe(
296
+ map((event) => {
297
+ if (event.type === HttpEventType.UploadProgress) {
298
+ sizeBytes = event.total
299
+ return {
300
+ type: 'progress',
301
+ progress: event.total
302
+ ? Math.round((100 * event.loaded) / event.total)
303
+ : 0,
304
+ } as const
305
+ }
306
+ if (event.type === HttpEventType.Response) {
307
+ return {
308
+ type: 'success',
309
+ attachment: {
310
+ url: new URL(event.body.url),
311
+ fileName: event.body.filename,
312
+ },
313
+ sizeBytes,
314
+ } as const
315
+ }
316
+ return undefined
317
+ }),
318
+ filter((event) => !!event)
319
+ )
320
+ }
246
321
  }
@@ -67,6 +67,7 @@ export interface Keyword {
67
67
  description?: string
68
68
  type: KeywordType
69
69
  thesaurus?: ThesaurusModel
70
+ bbox?: [number, number, number, number]
70
71
  }
71
72
  // languages should be expressed using two-letters ISO 639-1 codes
72
73
  export type LanguageCode = string
@@ -114,7 +115,7 @@ export type ServiceProtocol =
114
115
  | 'ogcFeatures'
115
116
  | 'other'
116
117
 
117
- export type DatasetDistributionType = 'service' | 'download' | 'link'
118
+ export type OnlineResourceType = 'service' | 'download' | 'link' | 'endpoint'
118
119
 
119
120
  export interface DatasetServiceDistribution {
120
121
  type: 'service'
@@ -145,12 +146,12 @@ export interface OnlineLinkResource {
145
146
  description?: string
146
147
  }
147
148
 
148
- export type DatasetDistribution = (
149
+ export type DatasetOnlineResource = (
149
150
  | DatasetServiceDistribution
150
151
  | DatasetDownloadDistribution
151
152
  | OnlineLinkResource
152
153
  ) & {
153
- type: DatasetDistributionType
154
+ type: OnlineResourceType
154
155
  }
155
156
 
156
157
  export interface GraphicOverview {
@@ -177,14 +178,12 @@ export interface DatasetRecord extends BaseRecord {
177
178
  kind: 'dataset'
178
179
  status: RecordStatus
179
180
  lineage: string // Explanation of the origin of this record (e.g: how, why)"
180
- distributions: Array<DatasetDistribution>
181
+ onlineResources: Array<DatasetOnlineResource>
181
182
  spatialExtents: Array<DatasetSpatialExtent>
182
183
  temporalExtents: Array<DatasetTemporalExtent>
183
184
  spatialRepresentation?: SpatialRepresentationType
184
185
  }
185
186
 
186
- export type ServiceOnlineResourceType = 'endpoint' | 'link'
187
-
188
187
  export interface ServiceEndpoint {
189
188
  endpointUrl: URL
190
189
  protocol: string
@@ -193,7 +192,7 @@ export interface ServiceEndpoint {
193
192
  }
194
193
 
195
194
  export type ServiceOnlineResource = (ServiceEndpoint | OnlineLinkResource) & {
196
- type: ServiceOnlineResourceType
195
+ type: OnlineResourceType
197
196
  }
198
197
 
199
198
  export interface ServiceRecord extends BaseRecord {
@@ -201,6 +200,8 @@ export interface ServiceRecord extends BaseRecord {
201
200
  onlineResources: Array<ServiceOnlineResource>
202
201
  }
203
202
 
203
+ export type OnlineResource = DatasetOnlineResource | ServiceOnlineResource
204
+
204
205
  export type CatalogRecord = ServiceRecord | DatasetRecord
205
206
 
206
207
  export type CatalogRecordKeys = keyof ServiceRecord | keyof DatasetRecord
@@ -5,6 +5,6 @@ export interface UserModel {
5
5
  name: string
6
6
  surname: string
7
7
  email: string
8
- organisation: string
8
+ organisation?: string
9
9
  profileIcon?: string
10
10
  }
@@ -4,6 +4,21 @@ import type { Organization } from './model/record/organization.model'
4
4
  import { Keyword, UserFeedback } from './model/record'
5
5
  import { KeywordType } from './model/thesaurus'
6
6
 
7
+ interface RecordAttachment {
8
+ url: URL
9
+ fileName: string
10
+ }
11
+ type UploadEvent =
12
+ | {
13
+ type: 'progress'
14
+ progress: number // in percent
15
+ }
16
+ | {
17
+ type: 'success'
18
+ attachment: RecordAttachment
19
+ sizeBytes: number
20
+ }
21
+
7
22
  export abstract class PlatformServiceInterface {
8
23
  abstract getType(): string
9
24
  abstract getApiVersion(): Observable<string>
@@ -15,12 +30,27 @@ export abstract class PlatformServiceInterface {
15
30
  organisation: Organization
16
31
  ): Observable<UserModel[]>
17
32
  abstract getOrganizations(): Observable<Organization[]>
33
+
18
34
  abstract translateKey(key: string): Observable<string>
35
+
19
36
  abstract searchKeywords(
20
37
  query: string,
21
38
  keywordTypes: KeywordType[]
22
39
  ): Observable<Keyword[]>
23
40
  abstract getKeywordsByUri(uri: string): Observable<Keyword[]>
41
+ abstract searchKeywordsInThesaurus(
42
+ query: string,
43
+ thesaurusId: string
44
+ ): Observable<Keyword[]>
45
+
24
46
  abstract getUserFeedbacks(recordUuid: string): Observable<UserFeedback[]>
25
47
  abstract postUserFeedbacks(recordUuid: UserFeedback): Observable<void>
48
+
49
+ abstract getRecordAttachments(
50
+ recordUuid: string
51
+ ): Observable<RecordAttachment[]>
52
+ abstract attachFileToRecord(
53
+ recordUuid: string,
54
+ file: File
55
+ ): Observable<UploadEvent>
26
56
  }
@@ -4,7 +4,7 @@ export * from './lib/search'
4
4
 
5
5
  export * from './lib/geojson.fixtures'
6
6
  export * from './lib/link.fixtures'
7
- export * from './lib/ol-feature.fixture'
7
+ export * from './lib/ol-feature.fixtures'
8
8
  export * from './lib/organisations.fixture'
9
9
  export * from './lib/record-link.fixtures'
10
10
  export * from './lib/records.fixtures'