geonetwork-ui 2.5.0-dev.50bf7a85a → 2.5.0-dev.5d0c263b8

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 (270) 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/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -2
  4. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +20 -17
  5. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +25 -9
  6. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +14 -13
  7. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  8. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  9. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
  10. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +8 -8
  11. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -4
  12. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  13. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
  14. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +2 -2
  15. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +5 -5
  16. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +5 -3
  17. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +2 -2
  18. 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
  19. 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
  20. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +2 -2
  21. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +3 -3
  22. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +2 -2
  23. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
  24. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +7 -23
  25. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
  26. package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +3 -4
  27. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
  28. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +25 -5
  29. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +10 -7
  30. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +4 -1
  31. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -2
  32. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +9 -1
  33. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +19 -1
  34. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +6 -1
  35. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +15 -3
  36. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +1 -1
  37. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +3 -3
  38. package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +3 -3
  39. package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +50 -35
  40. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
  41. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +23 -3
  42. package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
  43. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +88 -7
  44. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +2 -2
  45. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +1 -6
  46. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +6 -4
  47. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +3 -3
  48. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +14 -4
  49. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +10 -3
  50. package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
  51. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +10 -3
  52. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -6
  53. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
  54. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-cache.mjs +12 -0
  55. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +3 -3
  56. package/esm2022/libs/util/data-fetcher/src/lib/readers/base.mjs +1 -1
  57. package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +2 -2
  58. package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +2 -2
  59. package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +2 -2
  60. package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +5 -3
  61. package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +2 -2
  62. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +19 -11
  63. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +13 -9
  64. package/esm2022/translations/de.json +5 -77
  65. package/esm2022/translations/en.json +5 -77
  66. package/esm2022/translations/es.json +3 -75
  67. package/esm2022/translations/fr.json +17 -89
  68. package/esm2022/translations/it.json +22 -93
  69. package/esm2022/translations/nl.json +3 -75
  70. package/esm2022/translations/pt.json +3 -75
  71. package/fesm2022/geonetwork-ui.mjs +583 -949
  72. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  73. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  74. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -0
  75. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  76. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  77. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -0
  78. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  79. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -1
  80. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  81. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  82. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -0
  83. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  84. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -1
  85. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  86. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -1
  87. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  88. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -2
  89. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  90. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -1
  91. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  92. package/libs/feature/editor/src/index.d.ts +1 -0
  93. package/libs/feature/editor/src/index.d.ts.map +1 -1
  94. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +1 -0
  95. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  96. 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
  97. 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
  98. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  99. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
  100. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  101. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +1 -3
  102. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +1 -1
  103. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +2 -3
  104. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +1 -1
  105. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +5 -1
  106. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  107. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +3 -2
  108. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  109. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +16 -1
  110. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  111. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +5 -0
  112. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  113. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +2 -0
  114. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  115. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -1
  116. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  117. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  118. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  119. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +5 -1
  120. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  121. package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts +11 -9
  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/inputs/src/index.d.ts +0 -1
  125. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  126. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +23 -1
  127. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  128. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +27 -28
  129. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  130. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +2 -1
  131. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
  132. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -2
  133. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  134. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -1
  135. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  136. package/libs/ui/widgets/src/index.d.ts +0 -1
  137. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  138. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts +1 -1
  139. package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts.map +1 -1
  140. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +8 -9
  141. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  142. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +2 -2
  143. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  144. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts +8 -0
  145. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts.map +1 -0
  146. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts +2 -2
  147. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts.map +1 -1
  148. package/libs/util/data-fetcher/src/lib/readers/base.d.ts +2 -2
  149. package/libs/util/data-fetcher/src/lib/readers/base.d.ts.map +1 -1
  150. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts +5 -3
  151. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
  152. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +7 -4
  153. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
  154. package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
  155. package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
  156. package/package.json +1 -1
  157. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
  158. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
  159. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +19 -17
  160. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +22 -16
  161. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +44 -13
  162. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +24 -26
  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-overviews/form-field-overviews.component.ts +1 -1
  177. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
  178. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
  179. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -13
  180. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -20
  181. package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
  182. package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -1
  183. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +24 -11
  184. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +26 -4
  185. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +71 -60
  186. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +6 -3
  187. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +16 -0
  188. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +21 -2
  189. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +15 -0
  190. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +30 -1
  191. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +12 -0
  192. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +3 -0
  193. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +7 -0
  194. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +3 -1
  195. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +2 -2
  196. package/src/libs/ui/elements/src/lib/image-input/image-input.component.html +20 -15
  197. package/src/libs/ui/elements/src/lib/image-input/image-input.component.ts +49 -35
  198. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
  199. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +21 -9
  200. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +13 -0
  201. package/src/libs/ui/inputs/src/index.ts +0 -1
  202. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +36 -19
  203. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +85 -2
  204. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  205. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +3 -2
  206. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +1 -1
  207. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +37 -1
  208. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +8 -2
  209. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +2 -0
  210. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +6 -0
  211. package/src/libs/ui/widgets/src/index.ts +0 -1
  212. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +36 -11
  213. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.ts +9 -1
  214. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -3
  215. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
  216. package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +14 -0
  217. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +2 -1
  218. package/src/libs/util/data-fetcher/src/lib/readers/base.ts +2 -2
  219. package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +1 -1
  220. package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +1 -1
  221. package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +1 -1
  222. package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +7 -7
  223. package/src/libs/util/data-fetcher/src/lib/readers/json.ts +1 -1
  224. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +34 -11
  225. package/src/libs/util/data-fetcher/src/lib/utils.ts +38 -32
  226. package/translations/de.json +5 -77
  227. package/translations/en.json +5 -77
  228. package/translations/es.json +3 -75
  229. package/translations/fr.json +17 -89
  230. package/translations/it.json +22 -93
  231. package/translations/nl.json +3 -75
  232. package/translations/pt.json +3 -75
  233. package/translations/sk.json +3 -75
  234. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +0 -78
  235. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +0 -55
  236. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts +0 -33
  237. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +0 -1
  238. package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts +0 -21
  239. package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts.map +0 -1
  240. package/src/libs/data-access/datafeeder/src/index.ts +0 -1
  241. package/src/libs/data-access/datafeeder/src/openapi/api/api.ts +0 -11
  242. package/src/libs/data-access/datafeeder/src/openapi/api/config.api.service.ts +0 -168
  243. package/src/libs/data-access/datafeeder/src/openapi/api/dataPublishing.api.service.ts +0 -270
  244. package/src/libs/data-access/datafeeder/src/openapi/api/fileUpload.api.service.ts +0 -734
  245. package/src/libs/data-access/datafeeder/src/openapi/api.module.ts +0 -46
  246. package/src/libs/data-access/datafeeder/src/openapi/configuration.ts +0 -125
  247. package/src/libs/data-access/datafeeder/src/openapi/encoder.ts +0 -20
  248. package/src/libs/data-access/datafeeder/src/openapi/index.ts +0 -5
  249. package/src/libs/data-access/datafeeder/src/openapi/model/analysisStatusEnum.api.model.ts +0 -24
  250. package/src/libs/data-access/datafeeder/src/openapi/model/boundingBox.api.model.ts +0 -20
  251. package/src/libs/data-access/datafeeder/src/openapi/model/cRS.api.model.ts +0 -25
  252. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +0 -45
  253. package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishRequest.api.model.ts +0 -39
  254. package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishingStatus.api.model.ts +0 -50
  255. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +0 -39
  256. package/src/libs/data-access/datafeeder/src/openapi/model/models.ts +0 -13
  257. package/src/libs/data-access/datafeeder/src/openapi/model/property.api.model.ts +0 -17
  258. package/src/libs/data-access/datafeeder/src/openapi/model/publishJobStatus.api.model.ts +0 -33
  259. package/src/libs/data-access/datafeeder/src/openapi/model/publishRequest.api.model.ts +0 -16
  260. package/src/libs/data-access/datafeeder/src/openapi/model/publishStatusEnum.api.model.ts +0 -20
  261. package/src/libs/data-access/datafeeder/src/openapi/model/publishStepEnum.api.model.ts +0 -42
  262. package/src/libs/data-access/datafeeder/src/openapi/model/uploadJobStatus.api.model.ts +0 -33
  263. package/src/libs/data-access/datafeeder/src/openapi/variables.ts +0 -9
  264. package/src/libs/data-access/datafeeder/src/spec.yaml +0 -537
  265. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.css +0 -36
  266. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.html +0 -23
  267. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +0 -81
  268. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.css +0 -3
  269. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.html +0 -13
  270. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +0 -55
@@ -1,11 +1,10 @@
1
1
  import { Injectable } from '@angular/core'
2
2
  import { Actions, createEffect, ofType } from '@ngrx/effects'
3
3
  import { exhaustMap, mergeMap, of } from 'rxjs'
4
- import { catchError, map, switchMap } from 'rxjs/operators'
4
+ import { catchError, filter, map, switchMap, take } from 'rxjs/operators'
5
5
  import * as MdViewActions from './mdview.actions'
6
6
  import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface'
7
7
  import { PlatformServiceInterface } from '../../../../../../libs/common/domain/src/lib/platform.service.interface'
8
-
9
8
  @Injectable()
10
9
  export class MdViewEffects {
11
10
  constructor(
@@ -33,6 +32,26 @@ export class MdViewEffects {
33
32
  )
34
33
  )
35
34
 
35
+ loadFeatureCatalog$ = createEffect(() =>
36
+ this.actions$.pipe(
37
+ ofType(MdViewActions.loadFullMetadataSuccess),
38
+ filter(({ full }) => full !== undefined),
39
+ switchMap(({ full }) => this.recordsRepository.getFeatureCatalog(full)),
40
+ map((featureCatalog) =>
41
+ MdViewActions.loadFeatureCatalogSuccess({
42
+ datasetCatalog: featureCatalog,
43
+ })
44
+ ),
45
+ catchError((error) =>
46
+ of(
47
+ MdViewActions.loadFeatureCatalogFailure({
48
+ error: error.message,
49
+ })
50
+ )
51
+ )
52
+ )
53
+ )
54
+
36
55
  /*
37
56
  Related effects
38
57
  */
@@ -52,11 +52,26 @@ export class MdViewFacade {
52
52
  filter((md) => !!md)
53
53
  )
54
54
 
55
+ featureCatalog$ = this.store.pipe(select(MdViewSelectors.getFeatureCatalog))
56
+
55
57
  isIncomplete$ = this.store.pipe(
56
58
  select(MdViewSelectors.getMetadataIsIncomplete),
57
59
  filter((incomplete) => incomplete !== null)
58
60
  )
59
61
 
62
+ isHighUpdateFrequency$ = this.metadata$.pipe(
63
+ map((record) => {
64
+ if (record.updateFrequency instanceof Object) {
65
+ return (
66
+ record.updateFrequency.per === 'day' &&
67
+ record.updateFrequency.updatedTimes > 1
68
+ )
69
+ }
70
+
71
+ return record.updateFrequency === 'continual'
72
+ })
73
+ )
74
+
60
75
  error$ = this.store.pipe(select(MdViewSelectors.getMetadataError))
61
76
 
62
77
  related$ = this.store.pipe(select(MdViewSelectors.getRelated))
@@ -3,6 +3,7 @@ import * as MetadataViewActions from './mdview.actions'
3
3
  import { DatavizConfigurationModel } from '../../../../../../libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model'
4
4
  import {
5
5
  CatalogRecord,
6
+ DatasetFeatureCatalog,
6
7
  UserFeedback,
7
8
  } from '../../../../../../libs/common/domain/src/lib/model/record'
8
9
 
@@ -17,6 +18,9 @@ export interface MetadataViewState {
17
18
  allUserFeedbacksLoading: boolean
18
19
  addUserFeedbackLoading: boolean
19
20
  chartConfig?: DatavizConfigurationModel
21
+ featureCatalog?: DatasetFeatureCatalog
22
+ featureCatalogLoading: boolean
23
+ featureCatalogError: string | null
20
24
  }
21
25
 
22
26
  export const initialMetadataViewState: MetadataViewState = {
@@ -24,6 +28,8 @@ export const initialMetadataViewState: MetadataViewState = {
24
28
  loadingFull: false,
25
29
  allUserFeedbacksLoading: false,
26
30
  addUserFeedbackLoading: false,
31
+ featureCatalogLoading: false,
32
+ featureCatalogError: null,
27
33
  }
28
34
 
29
35
  const metadataViewReducer = createReducer(
@@ -105,7 +111,30 @@ const metadataViewReducer = createReducer(
105
111
  addUserFeedbackLoading: false,
106
112
  allUserFeedbacksLoading: false,
107
113
  })
108
- )
114
+ ),
115
+
116
+ /**
117
+ * FeatureCatalog reducers
118
+ */
119
+
120
+ on(MetadataViewActions.loadFeatureCatalog, (state) => ({
121
+ ...state,
122
+ featureCatalogError: null,
123
+ featureCatalogLoading: true,
124
+ })),
125
+ on(
126
+ MetadataViewActions.loadFeatureCatalogSuccess,
127
+ (state, { datasetCatalog }) => ({
128
+ ...state,
129
+ featureCatalog: datasetCatalog,
130
+ featureCatalogLoading: false,
131
+ })
132
+ ),
133
+ on(MetadataViewActions.loadFeatureCatalogFailure, (state, { error }) => ({
134
+ ...state,
135
+ featureCatalogError: error,
136
+ featureCatalogLoading: false,
137
+ }))
109
138
  )
110
139
 
111
140
  export function reducer(
@@ -64,3 +64,15 @@ export const getAddUserFeedbacksLoading = createSelector(
64
64
  getMdViewState,
65
65
  (state: MetadataViewState) => state.addUserFeedbackLoading
66
66
  )
67
+
68
+ /*
69
+ Feature Catalog Selectors
70
+ */
71
+ export const getFeatureCatalog = createSelector(
72
+ getMdViewState,
73
+ (state: MetadataViewState) => state.featureCatalog
74
+ )
75
+ export const getFeatureCatalogIsLoading = createSelector(
76
+ getMdViewState,
77
+ (state: MetadataViewState) => state.featureCatalogLoading
78
+ )
@@ -5,8 +5,11 @@
5
5
  (itemSelected)="handleItemSelection($event)"
6
6
  (inputSubmitted)="handleInputSubmission($event)"
7
7
  (inputCleared)="handleInputCleared()"
8
+ (isSearchActive)="handleSearchActive($event)"
8
9
  [value]="searchInputValue$ | async"
9
10
  [preventCompleteOnSelection]="true"
10
11
  [autoFocus]="autoFocus"
11
12
  [allowSubmit]="true"
13
+ [forceTrackPosition]="forceTrackPosition"
14
+ [enterButton]="enterButton"
12
15
  ></gn-ui-autocomplete>
@@ -28,8 +28,11 @@ import { SearchFilters } from '../../../../../../libs/api/metadata-converter/src
28
28
  export class FuzzySearchComponent implements OnInit {
29
29
  @ViewChild(AutocompleteComponent) autocomplete: AutocompleteComponent
30
30
  @Input() autoFocus = false
31
+ @Input() forceTrackPosition = false
32
+ @Input() enterButton = false
31
33
  @Output() itemSelected = new EventEmitter<CatalogRecord>()
32
34
  @Output() inputSubmitted = new EventEmitter<string>()
35
+ @Output() isSearchActive = new EventEmitter<boolean>()
33
36
  searchInputValue$: Observable<{ title: string }>
34
37
 
35
38
  displayWithFn: (record: CatalogRecord) => string = (record) => record.title
@@ -84,4 +87,8 @@ export class FuzzySearchComponent implements OnInit {
84
87
  this.searchService.updateFilters({ any: '' })
85
88
  }
86
89
  }
90
+
91
+ handleSearchActive(event: boolean) {
92
+ this.isSearchActive.emit(event)
93
+ }
87
94
  }
@@ -32,7 +32,9 @@
32
32
  mat-row
33
33
  *matRowDef="let row; columns: properties"
34
34
  (click)="selected.emit(row)"
35
- [class.active]="row.id === activeId"
35
+ [class.active]="
36
+ activeId !== undefined && activeId !== null && row.id === activeId
37
+ "
36
38
  ></tr>
37
39
  </table>
38
40
  <gn-ui-loading-mask
@@ -1,12 +1,12 @@
1
1
  <div
2
2
  *ngIf="message && bannerOpen"
3
- class="absolute top-0 text-wrap bg-white mt-4 max-h-24"
3
+ class="absolute left-0 right-0 text-wrap bg-white mt-4 max-h-24"
4
4
  >
5
5
  <div
6
6
  class="flex flex-row py-2.5 px-5 gap-5 justify-start border max-h-20"
7
7
  [ngClass]="classList"
8
8
  >
9
- <div [ngClass]="{ 'pt-5': message.length > 200 }">
9
+ <div [ngClass]="message.length > 200 ? 'pt-5' : 'pt-1'">
10
10
  <ng-icon [name]="icon"></ng-icon>
11
11
  </div>
12
12
  <div class="flex flex-col justify-start gap-2.5">
@@ -11,10 +11,13 @@
11
11
  [value]="altText ?? ''"
12
12
  (valueChange)="handleAltTextChange($event)"
13
13
  extraClass="gn-ui-editor-textarea"
14
- [disabled]="true"
15
14
  ></gn-ui-text-input>
16
15
  <div class="flex flex-row gap-2 mt-2">
17
- <gn-ui-button type="gray" (buttonClick)="handleDelete()">
16
+ <gn-ui-button
17
+ type="gray"
18
+ (buttonClick)="handleDelete()"
19
+ data-cy="delete-image"
20
+ >
18
21
  <ng-icon class="me-1 text-primary" name="iconoirBin"></ng-icon>
19
22
  {{ 'input.image.delete' | translate }}
20
23
  </gn-ui-button>
@@ -38,20 +41,17 @@
38
41
  [ngClass]="{
39
42
  'border-primary-lighter bg-primary-white': dragFilesOver,
40
43
  'border-gray-300': !dragFilesOver,
41
- 'cursor-pointer hover:border-gray-500':
42
- !isUploadInProgress && !uploadError && !showUrlInput && !disabled,
44
+ 'cursor-pointer hover:border-gray-500': !getIsActionBlocked(),
43
45
  'cursor-not-allowed': disabled,
44
46
  }"
45
- [attr.tabindex]="
46
- isUploadInProgress || uploadError || showUrlInput || disabled ? null : 0
47
- "
47
+ [attr.tabindex]="getIsActionBlocked() ? null : 0"
48
48
  (keydown.enter)="fileInput.click()"
49
49
  (dragFilesOver)="handleDragFilesOver($event)"
50
50
  (dropFiles)="handleDropFiles($event)"
51
51
  >
52
52
  <div
53
53
  class="w-14 h-14 rounded-md bg-gray-50 grid"
54
- *ngIf="!isUploadInProgress && !uploadError"
54
+ *ngIf="!isUploadInProgress && !imageFileError"
55
55
  >
56
56
  <ng-icon
57
57
  *ngIf="!dragFilesOver"
@@ -66,7 +66,7 @@
66
66
  </div>
67
67
 
68
68
  <div
69
- *ngIf="isUploadInProgress && !uploadError"
69
+ *ngIf="isUploadInProgress && !imageFileError"
70
70
  class="w-14 h-14 grid items-center justify-center relative"
71
71
  >
72
72
  <div class="text-gray-100 absolute">
@@ -88,19 +88,23 @@
88
88
  <span class="text-sm text-main font-bold">{{ uploadProgress }}%</span>
89
89
  </div>
90
90
 
91
- <div class="w-14 h-14 rounded-md bg-gray-50 grid" *ngIf="uploadError">
91
+ <div class="w-14 h-14 rounded-md bg-gray-50 grid" *ngIf="imageFileError">
92
92
  <ng-icon
93
93
  name="iconoirMediaImageXmark"
94
94
  class="place-self-center text-rose-500"
95
+ data-cy="imgErrorIcon"
95
96
  ></ng-icon>
96
97
  </div>
97
98
 
98
99
  <div class="flex flex-col items-center gap-1">
99
- <p class="font-medium">{{ getPrimaryText() | translate }}</p>
100
+ <p class="font-medium" data-cy="imgInputMsgPrimary">
101
+ {{ getPrimaryText() | translate }}
102
+ </p>
100
103
  <p
101
104
  class="text-sm"
105
+ data-cy="imgInputMsgSecondary"
102
106
  [class]="
103
- isUploadInProgress || uploadError
107
+ isUploadInProgress
104
108
  ? 'font-bold text-blue-500 cursor-pointer'
105
109
  : 'font-medium text-gray-500'
106
110
  "
@@ -111,17 +115,17 @@
111
115
  </div>
112
116
  <input
113
117
  #fileInput
118
+ accept="image/*"
114
119
  type="file"
115
120
  class="hidden"
116
121
  (change)="handleFileInput($event)"
117
- [disabled]="
118
- showUrlInput || isUploadInProgress || uploadError || disabled
119
- "
122
+ [disabled]="isUploadInProgress || disabled"
120
123
  />
121
124
  </label>
122
125
 
123
126
  <div *ngIf="!showUrlInput" class="flex-none mt-2">
124
127
  <gn-ui-button
128
+ data-cy="imgUrlBtn"
125
129
  (buttonClick)="displayUrlInput()"
126
130
  type="gray"
127
131
  [disabled]="disabled"
@@ -135,6 +139,7 @@
135
139
  <gn-ui-url-input
136
140
  *ngIf="showUrlInput"
137
141
  class="mt-3.5"
142
+ data-cy="imgUrlInput"
138
143
  (uploadClick)="downloadUrl($event)"
139
144
  [disabled]="isUploadInProgress || disabled"
140
145
  >
@@ -66,9 +66,22 @@ import { ImageOverlayPreviewComponent } from '../image-overlay-preview/image-ove
66
66
  ],
67
67
  })
68
68
  export class ImageInputComponent {
69
- @Input() maxSizeMB: number
69
+ private _altText?: string
70
+
70
71
  @Input() previewUrl?: string
71
- @Input() altText?: string
72
+ @Input()
73
+ get altText(): string | undefined {
74
+ return this._altText
75
+ }
76
+ set altText(value: string | undefined) {
77
+ if (value !== 'KO' && this._altText === 'KO') {
78
+ //This is a dataset rollback after upload error
79
+ this.resetErrors()
80
+ }
81
+ this._altText = value
82
+ }
83
+
84
+ @Input() maxSizeMB: number
72
85
  @Input() uploadProgress?: number
73
86
  @Input() uploadError?: boolean
74
87
  @Input() disabled?: boolean = false
@@ -80,11 +93,9 @@ export class ImageInputComponent {
80
93
 
81
94
  dragFilesOver = false
82
95
  showUrlInput = false
83
- downloadError = false
96
+ imageFileError = this.uploadError
84
97
  showAltTextInput = false
85
-
86
- lastUploadType?: 'file' | 'url'
87
- lastUploadContent?: string | File
98
+ pendingAltText: string
88
99
 
89
100
  get isUploadInProgress() {
90
101
  return this.uploadProgress !== undefined
@@ -95,8 +106,12 @@ export class ImageInputComponent {
95
106
  private cd: ChangeDetectorRef
96
107
  ) {}
97
108
 
109
+ getIsActionBlocked() {
110
+ return this.isUploadInProgress || this.disabled
111
+ }
112
+
98
113
  getPrimaryText() {
99
- if (this.uploadError) {
114
+ if (this.imageFileError) {
100
115
  return marker('input.image.uploadErrorLabel')
101
116
  }
102
117
  if (this.uploadProgress) {
@@ -106,8 +121,8 @@ export class ImageInputComponent {
106
121
  }
107
122
 
108
123
  getSecondaryText() {
109
- if (this.uploadError) {
110
- return marker('input.image.uploadErrorRetry')
124
+ if (this.imageFileError) {
125
+ return '\u00A0' // (only to keep same spacing, next step is to handle "Retry")
111
126
  }
112
127
  if (this.uploadProgress) {
113
128
  return marker('input.image.uploadProgressCancel')
@@ -123,19 +138,26 @@ export class ImageInputComponent {
123
138
  }
124
139
 
125
140
  handleDropFiles(files: File[]) {
126
- if (!this.showUrlInput) {
127
- const validFiles = this.filterTypeImage(files)
128
- if (validFiles.length > 0) {
129
- this.resizeAndEmit(validFiles[0])
130
- }
141
+ this.resetErrors()
142
+ const validFiles = this.filterTypeImage(files)
143
+ if (validFiles.length > 0) {
144
+ this.showUrlInput = false
145
+ this.resizeAndEmit(validFiles[0])
146
+ } else {
147
+ this.imageFileError = true
148
+ this.handleAltTextChange('KO')
131
149
  }
132
150
  }
133
151
 
134
152
  handleFileInput(event: Event) {
153
+ this.resetErrors()
135
154
  const inputFiles = Array.from((event.target as HTMLInputElement).files)
136
155
  const validFiles = this.filterTypeImage(inputFiles)
137
156
  if (validFiles.length > 0) {
138
157
  this.resizeAndEmit(validFiles[0])
158
+ } else {
159
+ this.imageFileError = true
160
+ this.handleAltTextChange('KO')
139
161
  }
140
162
  }
141
163
 
@@ -145,9 +167,8 @@ export class ImageInputComponent {
145
167
  }
146
168
 
147
169
  async downloadUrl(url: string) {
148
- this.downloadError = false
170
+ this.resetErrors()
149
171
  const name = url.split('/').pop()
150
-
151
172
  try {
152
173
  const response = await firstValueFrom(
153
174
  this.http.head(url, { observe: 'response' })
@@ -164,47 +185,41 @@ export class ImageInputComponent {
164
185
  this.fileChange.emit(file)
165
186
  },
166
187
  error: () => {
167
- this.downloadError = true
188
+ this.imageFileError = true
189
+ this.handleAltTextChange('KO')
168
190
  this.cd.markForCheck()
169
191
  this.urlChange.emit(url)
170
192
  },
171
193
  })
172
194
  }
173
195
  } catch {
174
- this.downloadError = true
196
+ this.imageFileError = true
197
+ this.handleAltTextChange('KO')
175
198
  this.cd.markForCheck()
176
199
  return
177
200
  }
178
201
  }
179
202
 
180
203
  handleSecondaryTextClick(event: Event) {
181
- if (this.uploadError) {
182
- this.handleRetry()
183
- } else if (this.uploadProgress) {
184
- this.handleCancel()
204
+ if (this.uploadProgress) {
205
+ this.handleCancelUpload()
185
206
  event.preventDefault()
186
207
  }
187
208
  }
188
209
 
189
- handleCancel() {
210
+ handleCancelUpload() {
190
211
  this.uploadCancel.emit()
191
212
  }
192
213
 
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
214
  handleDelete() {
205
215
  this.delete.emit()
206
216
  }
207
217
 
218
+ resetErrors() {
219
+ this.imageFileError = false
220
+ this.uploadError = false
221
+ }
222
+
208
223
  toggleAltTextInput() {
209
224
  this.showAltTextInput = !this.showAltTextInput
210
225
  }
@@ -212,7 +227,6 @@ export class ImageInputComponent {
212
227
  handleAltTextChange(altText: string) {
213
228
  this.altTextChange.emit(altText)
214
229
  }
215
-
216
230
  private filterTypeImage(files: File[]) {
217
231
  return files.filter((file) => {
218
232
  return file.type.startsWith('image/')
@@ -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 {
@@ -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"