geonetwork-ui 2.5.0-dev.a538998f8 → 2.5.0-dev.a89d8b5db

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 (272) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +11 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +20 -17
  4. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +25 -9
  5. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  6. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  7. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
  8. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +8 -8
  9. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -4
  10. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  11. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
  12. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +2 -2
  13. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +5 -5
  14. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +5 -3
  15. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +2 -2
  16. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +9 -11
  17. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +2 -2
  18. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +2 -2
  19. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +2 -2
  20. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
  21. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +7 -23
  22. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
  23. package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +3 -4
  24. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
  25. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +25 -5
  26. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +10 -7
  27. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +4 -1
  28. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -2
  29. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +9 -1
  30. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +19 -1
  31. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +6 -1
  32. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +15 -3
  33. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +1 -1
  34. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  35. package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +78 -0
  36. package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +32 -31
  37. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
  38. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +23 -3
  39. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
  40. package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
  41. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +94 -8
  42. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +2 -2
  43. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +1 -6
  44. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +6 -4
  45. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +3 -3
  46. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +14 -4
  47. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +10 -3
  48. package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
  49. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +10 -3
  50. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -6
  51. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
  52. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-cache.mjs +12 -0
  53. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +3 -3
  54. package/esm2022/libs/util/data-fetcher/src/lib/readers/base.mjs +1 -1
  55. package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +2 -2
  56. package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +2 -2
  57. package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +2 -2
  58. package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +5 -3
  59. package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +2 -2
  60. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +19 -11
  61. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +13 -9
  62. package/esm2022/translations/de.json +5 -77
  63. package/esm2022/translations/en.json +5 -77
  64. package/esm2022/translations/es.json +3 -75
  65. package/esm2022/translations/fr.json +17 -89
  66. package/esm2022/translations/it.json +22 -93
  67. package/esm2022/translations/nl.json +3 -75
  68. package/esm2022/translations/pt.json +3 -75
  69. package/fesm2022/geonetwork-ui.mjs +629 -931
  70. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  71. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  72. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -0
  73. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  74. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -0
  75. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  76. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -1
  77. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  78. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -0
  79. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  80. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -1
  81. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  82. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -1
  83. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  84. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -2
  85. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  86. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -1
  87. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  88. package/libs/feature/editor/src/index.d.ts +1 -0
  89. package/libs/feature/editor/src/index.d.ts.map +1 -1
  90. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +1 -0
  91. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  92. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +1 -0
  93. 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
  94. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  95. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
  96. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  97. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +1 -3
  98. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +1 -1
  99. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +2 -3
  100. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +1 -1
  101. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +5 -1
  102. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  103. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +3 -2
  104. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  105. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +16 -1
  106. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  107. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +5 -0
  108. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  109. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +2 -0
  110. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  111. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -1
  112. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  113. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  114. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  115. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +5 -1
  116. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  117. package/libs/ui/elements/src/index.d.ts +1 -0
  118. package/libs/ui/elements/src/index.d.ts.map +1 -1
  119. package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts +16 -0
  120. package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts.map +1 -0
  121. package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts +5 -6
  122. package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts.map +1 -1
  123. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  124. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  125. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  126. package/libs/ui/inputs/src/index.d.ts +0 -1
  127. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  128. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +23 -1
  129. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  130. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +27 -28
  131. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  132. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +2 -1
  133. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
  134. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -2
  135. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  136. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -1
  137. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  138. package/libs/ui/widgets/src/index.d.ts +0 -1
  139. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  140. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts +1 -1
  141. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts.map +1 -1
  142. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +8 -9
  143. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  144. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +2 -2
  145. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  146. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts +8 -0
  147. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts.map +1 -0
  148. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts +2 -2
  149. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts.map +1 -1
  150. package/libs/util/data-fetcher/src/lib/readers/base.d.ts +2 -2
  151. package/libs/util/data-fetcher/src/lib/readers/base.d.ts.map +1 -1
  152. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts +5 -3
  153. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
  154. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +7 -4
  155. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
  156. package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
  157. package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
  158. package/package.json +1 -1
  159. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
  160. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
  161. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +22 -16
  162. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +44 -13
  163. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -1
  164. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
  165. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +165 -0
  166. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -1
  167. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +22 -9
  168. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +2 -1
  169. package/src/libs/feature/editor/src/index.ts +1 -0
  170. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
  171. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +3 -3
  172. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +1 -0
  173. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -0
  174. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +1 -0
  175. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +10 -10
  176. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
  177. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
  178. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -13
  179. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -20
  180. package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
  181. package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -1
  182. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +24 -11
  183. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +26 -4
  184. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +71 -60
  185. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +6 -3
  186. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +16 -0
  187. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +21 -2
  188. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +15 -0
  189. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +30 -1
  190. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +12 -0
  191. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +3 -0
  192. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +7 -0
  193. package/src/libs/ui/elements/src/index.ts +1 -0
  194. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.css +0 -0
  195. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +25 -0
  196. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +70 -0
  197. package/src/libs/ui/elements/src/lib/image-input/image-input.component.html +20 -14
  198. package/src/libs/ui/elements/src/lib/image-input/image-input.component.ts +29 -32
  199. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
  200. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +21 -9
  201. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +13 -0
  202. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
  203. package/src/libs/ui/inputs/src/index.ts +0 -1
  204. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +36 -19
  205. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +91 -2
  206. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  207. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +3 -2
  208. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +1 -1
  209. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +37 -1
  210. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +8 -2
  211. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +2 -0
  212. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +6 -0
  213. package/src/libs/ui/widgets/src/index.ts +0 -1
  214. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +36 -11
  215. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.ts +9 -1
  216. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -3
  217. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
  218. package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +14 -0
  219. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +2 -1
  220. package/src/libs/util/data-fetcher/src/lib/readers/base.ts +2 -2
  221. package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +1 -1
  222. package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +1 -1
  223. package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +1 -1
  224. package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +7 -7
  225. package/src/libs/util/data-fetcher/src/lib/readers/json.ts +1 -1
  226. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +34 -11
  227. package/src/libs/util/data-fetcher/src/lib/utils.ts +38 -32
  228. package/translations/de.json +5 -77
  229. package/translations/en.json +5 -77
  230. package/translations/es.json +3 -75
  231. package/translations/fr.json +17 -89
  232. package/translations/it.json +22 -93
  233. package/translations/nl.json +3 -75
  234. package/translations/pt.json +3 -75
  235. package/translations/sk.json +3 -75
  236. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +0 -78
  237. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +0 -55
  238. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts +0 -33
  239. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +0 -1
  240. package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts +0 -21
  241. package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts.map +0 -1
  242. package/src/libs/data-access/datafeeder/src/index.ts +0 -1
  243. package/src/libs/data-access/datafeeder/src/openapi/api/api.ts +0 -11
  244. package/src/libs/data-access/datafeeder/src/openapi/api/config.api.service.ts +0 -168
  245. package/src/libs/data-access/datafeeder/src/openapi/api/dataPublishing.api.service.ts +0 -270
  246. package/src/libs/data-access/datafeeder/src/openapi/api/fileUpload.api.service.ts +0 -734
  247. package/src/libs/data-access/datafeeder/src/openapi/api.module.ts +0 -46
  248. package/src/libs/data-access/datafeeder/src/openapi/configuration.ts +0 -125
  249. package/src/libs/data-access/datafeeder/src/openapi/encoder.ts +0 -20
  250. package/src/libs/data-access/datafeeder/src/openapi/index.ts +0 -5
  251. package/src/libs/data-access/datafeeder/src/openapi/model/analysisStatusEnum.api.model.ts +0 -24
  252. package/src/libs/data-access/datafeeder/src/openapi/model/boundingBox.api.model.ts +0 -20
  253. package/src/libs/data-access/datafeeder/src/openapi/model/cRS.api.model.ts +0 -25
  254. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +0 -45
  255. package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishRequest.api.model.ts +0 -39
  256. package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishingStatus.api.model.ts +0 -50
  257. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +0 -39
  258. package/src/libs/data-access/datafeeder/src/openapi/model/models.ts +0 -13
  259. package/src/libs/data-access/datafeeder/src/openapi/model/property.api.model.ts +0 -17
  260. package/src/libs/data-access/datafeeder/src/openapi/model/publishJobStatus.api.model.ts +0 -33
  261. package/src/libs/data-access/datafeeder/src/openapi/model/publishRequest.api.model.ts +0 -16
  262. package/src/libs/data-access/datafeeder/src/openapi/model/publishStatusEnum.api.model.ts +0 -20
  263. package/src/libs/data-access/datafeeder/src/openapi/model/publishStepEnum.api.model.ts +0 -42
  264. package/src/libs/data-access/datafeeder/src/openapi/model/uploadJobStatus.api.model.ts +0 -33
  265. package/src/libs/data-access/datafeeder/src/openapi/variables.ts +0 -9
  266. package/src/libs/data-access/datafeeder/src/spec.yaml +0 -537
  267. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.css +0 -36
  268. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.html +0 -23
  269. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +0 -81
  270. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.css +0 -3
  271. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.html +0 -13
  272. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +0 -55
@@ -0,0 +1,25 @@
1
+ <div
2
+ *ngIf="message && bannerOpen"
3
+ class="absolute left-0 right-0 text-wrap bg-white mt-4 max-h-24"
4
+ >
5
+ <div
6
+ class="flex flex-row py-2.5 px-5 gap-5 justify-start border max-h-20"
7
+ [ngClass]="classList"
8
+ >
9
+ <div [ngClass]="message.length > 200 ? 'pt-5' : 'pt-1'">
10
+ <ng-icon [name]="icon"></ng-icon>
11
+ </div>
12
+ <div class="flex flex-col justify-start gap-2.5">
13
+ <span *ngIf="title" class="font-bold">{{ title }}</span>
14
+ <span class="font-medium max-w-2xl" [innerHTML]="message"></span>
15
+ </div>
16
+ <button
17
+ *ngIf="closeEnabled"
18
+ class="self-start"
19
+ type="button"
20
+ (click)="closeMessage()"
21
+ >
22
+ <ng-icon name="matCloseOutline"> </ng-icon>
23
+ </button>
24
+ </div>
25
+ </div>
@@ -0,0 +1,70 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'
2
+ import { CommonModule } from '@angular/common'
3
+ import {
4
+ NgIconComponent,
5
+ provideIcons,
6
+ provideNgIconsConfig,
7
+ } from '@ng-icons/core'
8
+ import {
9
+ matCloseOutline,
10
+ matInfoOutline,
11
+ matWarningAmberOutline,
12
+ } from '@ng-icons/material-icons/outline'
13
+ import { matWarning } from '@ng-icons/material-icons/baseline'
14
+
15
+ @Component({
16
+ selector: 'gn-ui-application-banner',
17
+ standalone: true,
18
+ imports: [CommonModule, NgIconComponent],
19
+ changeDetection: ChangeDetectionStrategy.OnPush,
20
+ templateUrl: './application-banner.component.html',
21
+ styleUrl: './application-banner.component.css',
22
+ providers: [
23
+ provideIcons({
24
+ matWarningAmberOutline,
25
+ matInfoOutline,
26
+ matCloseOutline,
27
+ matWarning,
28
+ }),
29
+ provideNgIconsConfig({ size: '1.5em' }),
30
+ ],
31
+ })
32
+ export class ApplicationBannerComponent {
33
+ @Input() message: string
34
+ @Input() title: string
35
+ @Input() closeEnabled = false
36
+ @Input() extraClass = ''
37
+ @Input() icon = ''
38
+ msgClass = ''
39
+ bannerOpen = true
40
+
41
+ @Input() set type(value: 'primary' | 'secondary' | 'light') {
42
+ switch (value) {
43
+ case 'primary':
44
+ this.msgClass = 'bg-primary-darkest border-primary text-white'
45
+ this.icon = 'matWarning'
46
+ break
47
+ case 'light':
48
+ this.msgClass =
49
+ 'bg-primary-opacity-10 border-primary-lightest text-black'
50
+ this.icon = 'matInfoOutline'
51
+ break
52
+ case 'secondary':
53
+ default:
54
+ this.msgClass = 'bg-primary-opacity-50 border-primary-darker text-black'
55
+ this.icon = 'matWarningAmberOutline'
56
+ break
57
+ }
58
+ }
59
+
60
+ get classList() {
61
+ if (this.message.length > 200) {
62
+ return `${this.msgClass} ${this.extraClass} overflow-y-scroll items-start`
63
+ }
64
+ return `${this.msgClass} ${this.extraClass} items-center`
65
+ }
66
+
67
+ closeMessage() {
68
+ this.bannerOpen = false
69
+ }
70
+ }
@@ -14,7 +14,11 @@
14
14
  [disabled]="true"
15
15
  ></gn-ui-text-input>
16
16
  <div class="flex flex-row gap-2 mt-2">
17
- <gn-ui-button type="gray" (buttonClick)="handleDelete()">
17
+ <gn-ui-button
18
+ type="gray"
19
+ (buttonClick)="handleDelete()"
20
+ data-cy="delete-image"
21
+ >
18
22
  <ng-icon class="me-1 text-primary" name="iconoirBin"></ng-icon>
19
23
  {{ 'input.image.delete' | translate }}
20
24
  </gn-ui-button>
@@ -38,20 +42,17 @@
38
42
  [ngClass]="{
39
43
  'border-primary-lighter bg-primary-white': dragFilesOver,
40
44
  'border-gray-300': !dragFilesOver,
41
- 'cursor-pointer hover:border-gray-500':
42
- !isUploadInProgress && !uploadError && !showUrlInput && !disabled,
45
+ 'cursor-pointer hover:border-gray-500': !getIsActionBlocked(),
43
46
  'cursor-not-allowed': disabled,
44
47
  }"
45
- [attr.tabindex]="
46
- isUploadInProgress || uploadError || showUrlInput || disabled ? null : 0
47
- "
48
+ [attr.tabindex]="getIsActionBlocked() ? null : 0"
48
49
  (keydown.enter)="fileInput.click()"
49
50
  (dragFilesOver)="handleDragFilesOver($event)"
50
51
  (dropFiles)="handleDropFiles($event)"
51
52
  >
52
53
  <div
53
54
  class="w-14 h-14 rounded-md bg-gray-50 grid"
54
- *ngIf="!isUploadInProgress && !uploadError"
55
+ *ngIf="!isUploadInProgress && !imageFileError"
55
56
  >
56
57
  <ng-icon
57
58
  *ngIf="!dragFilesOver"
@@ -66,7 +67,7 @@
66
67
  </div>
67
68
 
68
69
  <div
69
- *ngIf="isUploadInProgress && !uploadError"
70
+ *ngIf="isUploadInProgress && !imageFileError"
70
71
  class="w-14 h-14 grid items-center justify-center relative"
71
72
  >
72
73
  <div class="text-gray-100 absolute">
@@ -88,19 +89,23 @@
88
89
  <span class="text-sm text-main font-bold">{{ uploadProgress }}%</span>
89
90
  </div>
90
91
 
91
- <div class="w-14 h-14 rounded-md bg-gray-50 grid" *ngIf="uploadError">
92
+ <div class="w-14 h-14 rounded-md bg-gray-50 grid" *ngIf="imageFileError">
92
93
  <ng-icon
93
94
  name="iconoirMediaImageXmark"
94
95
  class="place-self-center text-rose-500"
96
+ data-cy="imgErrorIcon"
95
97
  ></ng-icon>
96
98
  </div>
97
99
 
98
100
  <div class="flex flex-col items-center gap-1">
99
- <p class="font-medium">{{ getPrimaryText() | translate }}</p>
101
+ <p class="font-medium" data-cy="imgInputMsgPrimary">
102
+ {{ getPrimaryText() | translate }}
103
+ </p>
100
104
  <p
101
105
  class="text-sm"
106
+ data-cy="imgInputMsgSecondary"
102
107
  [class]="
103
- isUploadInProgress || uploadError
108
+ isUploadInProgress
104
109
  ? 'font-bold text-blue-500 cursor-pointer'
105
110
  : 'font-medium text-gray-500'
106
111
  "
@@ -111,17 +116,17 @@
111
116
  </div>
112
117
  <input
113
118
  #fileInput
119
+ accept="image/*"
114
120
  type="file"
115
121
  class="hidden"
116
122
  (change)="handleFileInput($event)"
117
- [disabled]="
118
- showUrlInput || isUploadInProgress || uploadError || disabled
119
- "
123
+ [disabled]="isUploadInProgress || disabled"
120
124
  />
121
125
  </label>
122
126
 
123
127
  <div *ngIf="!showUrlInput" class="flex-none mt-2">
124
128
  <gn-ui-button
129
+ data-cy="imgUrlBtn"
125
130
  (buttonClick)="displayUrlInput()"
126
131
  type="gray"
127
132
  [disabled]="disabled"
@@ -135,6 +140,7 @@
135
140
  <gn-ui-url-input
136
141
  *ngIf="showUrlInput"
137
142
  class="mt-3.5"
143
+ data-cy="imgUrlInput"
138
144
  (uploadClick)="downloadUrl($event)"
139
145
  [disabled]="isUploadInProgress || disabled"
140
146
  >
@@ -80,12 +80,9 @@ export class ImageInputComponent {
80
80
 
81
81
  dragFilesOver = false
82
82
  showUrlInput = false
83
- downloadError = false
83
+ imageFileError = this.uploadError
84
84
  showAltTextInput = false
85
85
 
86
- lastUploadType?: 'file' | 'url'
87
- lastUploadContent?: string | File
88
-
89
86
  get isUploadInProgress() {
90
87
  return this.uploadProgress !== undefined
91
88
  }
@@ -95,8 +92,12 @@ export class ImageInputComponent {
95
92
  private cd: ChangeDetectorRef
96
93
  ) {}
97
94
 
95
+ getIsActionBlocked() {
96
+ return this.isUploadInProgress || this.disabled
97
+ }
98
+
98
99
  getPrimaryText() {
99
- if (this.uploadError) {
100
+ if (this.imageFileError) {
100
101
  return marker('input.image.uploadErrorLabel')
101
102
  }
102
103
  if (this.uploadProgress) {
@@ -106,8 +107,8 @@ export class ImageInputComponent {
106
107
  }
107
108
 
108
109
  getSecondaryText() {
109
- if (this.uploadError) {
110
- return marker('input.image.uploadErrorRetry')
110
+ if (this.imageFileError) {
111
+ return '\u00A0' // (only to keep same spacing, next step is to handle "Retry")
111
112
  }
112
113
  if (this.uploadProgress) {
113
114
  return marker('input.image.uploadProgressCancel')
@@ -123,19 +124,24 @@ export class ImageInputComponent {
123
124
  }
124
125
 
125
126
  handleDropFiles(files: File[]) {
126
- if (!this.showUrlInput) {
127
- const validFiles = this.filterTypeImage(files)
128
- if (validFiles.length > 0) {
129
- this.resizeAndEmit(validFiles[0])
130
- }
127
+ this.resetErrors()
128
+ const validFiles = this.filterTypeImage(files)
129
+ if (validFiles.length > 0) {
130
+ this.showUrlInput = false
131
+ this.resizeAndEmit(validFiles[0])
132
+ } else {
133
+ this.imageFileError = true
131
134
  }
132
135
  }
133
136
 
134
137
  handleFileInput(event: Event) {
138
+ this.resetErrors()
135
139
  const inputFiles = Array.from((event.target as HTMLInputElement).files)
136
140
  const validFiles = this.filterTypeImage(inputFiles)
137
141
  if (validFiles.length > 0) {
138
142
  this.resizeAndEmit(validFiles[0])
143
+ } else {
144
+ this.imageFileError = true
139
145
  }
140
146
  }
141
147
 
@@ -145,9 +151,8 @@ export class ImageInputComponent {
145
151
  }
146
152
 
147
153
  async downloadUrl(url: string) {
148
- this.downloadError = false
154
+ this.resetErrors()
149
155
  const name = url.split('/').pop()
150
-
151
156
  try {
152
157
  const response = await firstValueFrom(
153
158
  this.http.head(url, { observe: 'response' })
@@ -164,47 +169,39 @@ export class ImageInputComponent {
164
169
  this.fileChange.emit(file)
165
170
  },
166
171
  error: () => {
167
- this.downloadError = true
172
+ this.imageFileError = true
168
173
  this.cd.markForCheck()
169
174
  this.urlChange.emit(url)
170
175
  },
171
176
  })
172
177
  }
173
178
  } catch {
174
- this.downloadError = true
179
+ this.imageFileError = true
175
180
  this.cd.markForCheck()
176
181
  return
177
182
  }
178
183
  }
179
184
 
180
185
  handleSecondaryTextClick(event: Event) {
181
- if (this.uploadError) {
182
- this.handleRetry()
183
- } else if (this.uploadProgress) {
184
- this.handleCancel()
186
+ if (this.uploadProgress) {
187
+ this.handleCancelUpload()
185
188
  event.preventDefault()
186
189
  }
187
190
  }
188
191
 
189
- handleCancel() {
192
+ handleCancelUpload() {
190
193
  this.uploadCancel.emit()
191
194
  }
192
195
 
193
- handleRetry() {
194
- switch (this.lastUploadType) {
195
- case 'file':
196
- this.fileChange.emit(this.lastUploadContent as File)
197
- break
198
- case 'url':
199
- this.urlChange.emit(this.lastUploadContent as string)
200
- break
201
- }
202
- }
203
-
204
196
  handleDelete() {
205
197
  this.delete.emit()
206
198
  }
207
199
 
200
+ resetErrors() {
201
+ this.imageFileError = false
202
+ this.uploadError = false
203
+ }
204
+
208
205
  toggleAltTextInput() {
209
206
  this.showAltTextInput = !this.showAltTextInput
210
207
  }
@@ -1,4 +1,4 @@
1
- import { Component, Input, ChangeDetectionStrategy } from '@angular/core'
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'
2
2
  import { marked } from 'marked'
3
3
 
4
4
  @Component({
@@ -13,6 +13,6 @@ export class MarkdownParserComponent {
13
13
  @Input() whitoutStyles?: boolean
14
14
 
15
15
  get parsedMarkdown() {
16
- return marked.parse(this.textContent)
16
+ return marked.parse(this.textContent ?? '')
17
17
  }
18
18
  }
@@ -1,13 +1,25 @@
1
1
  <div *ngIf="metadataQualityDisplay" class="mb-6 metadata-quality">
2
- <gn-ui-popover [content]="popoverItems" theme="light-border">
3
- <div class="min-w-[200px]" [class]="smaller ? 'leading-[8px]' : ''">
4
- <gn-ui-progress-bar
5
- tabindex="0"
6
- [value]="qualityScore"
7
- type="primary"
8
- ></gn-ui-progress-bar>
9
- </div>
10
- </gn-ui-popover>
2
+ <div
3
+ class="flex items-center"
4
+ [class]="smaller ? 'leading-[8px] min-w-[120px]' : 'min-w-[200px]'"
5
+ >
6
+ <gn-ui-progress-bar
7
+ tabindex="0"
8
+ [value]="qualityScore"
9
+ [type]="'light'"
10
+ class="flex-grow"
11
+ ></gn-ui-progress-bar>
12
+ <gn-ui-popover
13
+ [content]="popoverItems"
14
+ theme="light-border"
15
+ [class]="smaller ? 'ml-2' : 'ml-2 mt-1'"
16
+ >
17
+ <ng-icon
18
+ name="matInfoOutline"
19
+ class="flex-shrink-0 text-gray-600"
20
+ ></ng-icon>
21
+ </gn-ui-popover>
22
+ </div>
11
23
  </div>
12
24
  <ng-template #popoverItems>
13
25
  <div class="p-2 py-4">
@@ -16,6 +16,9 @@ import {
16
16
  } from '../../../../../../libs/ui/widgets/src'
17
17
  import { CommonModule } from '@angular/common'
18
18
  import { TranslateModule } from '@ngx-translate/core'
19
+ import { NgIcon } from '@ng-icons/core'
20
+ import { matInfoOutline } from '@ng-icons/material-icons/outline'
21
+ import { provideIcons, provideNgIconsConfig } from '@ng-icons/core'
19
22
 
20
23
  @Component({
21
24
  selector: 'gn-ui-metadata-quality',
@@ -29,6 +32,16 @@ import { TranslateModule } from '@ngx-translate/core'
29
32
  ProgressBarComponent,
30
33
  MetadataQualityItemComponent,
31
34
  TranslateModule,
35
+ NgIcon,
36
+ ],
37
+ providers: [
38
+ provideIcons({
39
+ matInfoOutline,
40
+ }),
41
+ provideNgIconsConfig({
42
+ size: '1.2em',
43
+ strokeWidth: '1.5px',
44
+ }),
32
45
  ],
33
46
  })
34
47
  export class MetadataQualityComponent implements OnChanges {
@@ -19,6 +19,7 @@ import { MarkdownParserComponent } from './markdown-parser/markdown-parser.compo
19
19
  import { ThumbnailComponent } from './thumbnail/thumbnail.component'
20
20
  import { TimeSincePipe } from './user-feedback-item/time-since.pipe'
21
21
  import { UserPreviewComponent } from './user-preview/user-preview.component'
22
+ import { ApplicationBannerComponent } from './application-banner/application-banner.component'
22
23
 
23
24
  @NgModule({
24
25
  imports: [
@@ -40,6 +41,7 @@ import { UserPreviewComponent } from './user-preview/user-preview.component'
40
41
  MaxLinesComponent,
41
42
  TextInputComponent,
42
43
  ImageInputComponent,
44
+ ApplicationBannerComponent,
43
45
  ],
44
46
  providers: [
45
47
  provideNgIconsConfig({
@@ -53,6 +55,7 @@ import { UserPreviewComponent } from './user-preview/user-preview.component'
53
55
  UserPreviewComponent,
54
56
  MarkdownParserComponent,
55
57
  ImageInputComponent,
58
+ ApplicationBannerComponent,
56
59
  ],
57
60
  })
58
61
  export class UiElementsModule {}
@@ -3,7 +3,6 @@ export * from './lib/badge/badge.component'
3
3
  export * from './lib/button/button.component'
4
4
  export * from './lib/check-toggle/check-toggle.component'
5
5
  export * from './lib/checkbox/checkbox.component'
6
- export * from './lib/chips-input/chips-input.component'
7
6
  export * from './lib/copy-text-button/copy-text-button.component'
8
7
  export * from './lib/date-picker/date-picker.component'
9
8
  export * from './lib/date-range-dropdown/date-range-dropdown.component'
@@ -5,31 +5,48 @@
5
5
  >
6
6
  <ng-icon name="iconoirSearch" class="text-primary search"></ng-icon>
7
7
  </div>
8
- <input
9
- #searchInput
10
- type="text"
11
- class="gn-ui-text-input"
12
- [ngClass]="{
13
- 'px-[--icon-width]': !allowSubmit,
14
- }"
15
- [placeholder]="placeholder"
16
- [formControl]="control"
17
- [matAutocomplete]="auto"
18
- (keyup.enter)="handleEnter(searchInput.value)"
19
- />
8
+ <div class="flex flex-row">
9
+ <input
10
+ #searchInput
11
+ type="text"
12
+ class="gn-ui-text-input"
13
+ (input)="handleInput($event)"
14
+ [placeholder]="placeholder"
15
+ [formControl]="control"
16
+ [matAutocomplete]="auto"
17
+ (keyup.enter)="handleEnter(searchInput.value)"
18
+ [ngClass]="{
19
+ 'text-primary': searchActive && enterButton,
20
+ 'text-gray-900': !searchActive,
21
+ 'px-[--icon-width]': !allowSubmit,
22
+ }"
23
+ />
24
+ <gn-ui-button
25
+ type="gray"
26
+ *ngIf="searchInput.value && displayEnterBtn"
27
+ extraClass="w-32 h-8 !opacity-100"
28
+ [ngStyle]="{ left: enterBtnPosition + 'px' }"
29
+ class="absolute"
30
+ disabled="true"
31
+ >
32
+ <ng-icon
33
+ name="iconoirLongArrowDownLeft"
34
+ class="!w-4 text-gray-900 font-bold"
35
+ ></ng-icon>
36
+ <span translate class="text-bold text-gray-900 font-bold">
37
+ Enter to search
38
+ </span>
39
+ </gn-ui-button>
40
+ </div>
20
41
  <gn-ui-button
21
- type="light"
22
- extraClass="border-0 text-primary-lightest hover:text-primary focus:text-primary absolute inset-y-[--icon-padding] {{
23
- allowSubmit
24
- ? 'right-[calc(var(--icon-width)+var(--icon-padding))]'
25
- : 'right-[--icon-padding]'
26
- }}"
42
+ type="primary"
43
+ [extraClass]="getExtraClass()"
27
44
  data-test="clear-btn"
28
45
  *ngIf="searchInput.value"
29
46
  aria-label="Clear"
30
47
  (buttonClick)="clear()"
31
48
  >
32
- <ng-icon name="matClose"></ng-icon>
49
+ <ng-icon class="text-white" name="matClose"></ng-icon>
33
50
  </gn-ui-button>
34
51
  <gn-ui-button
35
52
  type="light"