geonetwork-ui 2.4.0-dev.a9a61288 → 2.4.0-dev.aa689838

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 (447) 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/contact.model.mjs +28 -1
  13. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  14. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  15. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  16. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  17. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  18. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  19. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
  20. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
  21. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  22. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -1
  23. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
  24. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +29 -0
  25. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +78 -0
  26. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  27. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +143 -0
  28. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +19 -41
  29. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +10 -8
  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 +146 -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 +91 -11
  34. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +10 -6
  35. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +11 -11
  36. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
  37. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +111 -5
  38. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +38 -68
  39. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +16 -14
  40. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +44 -53
  41. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +5 -4
  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 +34 -4
  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 +10 -4
  62. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  63. package/esm2022/libs/ui/elements/src/index.mjs +1 -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/record-api-form/record-api-form.component.mjs +5 -5
  68. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -4
  69. package/esm2022/libs/ui/inputs/src/index.mjs +5 -1
  70. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +19 -5
  71. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
  72. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  73. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +21 -23
  74. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  75. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +7 -21
  76. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +6 -17
  77. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +3 -7
  78. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
  79. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  80. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  81. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  82. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +3 -3
  83. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  84. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +8 -8
  85. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  86. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
  87. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  88. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  89. package/esm2022/translations/de.json +57 -2
  90. package/esm2022/translations/en.json +57 -2
  91. package/esm2022/translations/es.json +55 -0
  92. package/esm2022/translations/fr.json +60 -5
  93. package/esm2022/translations/it.json +57 -2
  94. package/esm2022/translations/nl.json +55 -0
  95. package/esm2022/translations/pt.json +55 -0
  96. package/fesm2022/geonetwork-ui.mjs +2720 -1488
  97. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  98. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  99. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  100. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  101. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  102. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
  103. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  104. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -1
  105. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  106. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  107. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -5
  108. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  109. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +7 -6
  110. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  111. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  112. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +22 -2
  113. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  114. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -0
  115. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  116. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -6
  117. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  118. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  119. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  120. package/libs/common/domain/src/lib/platform.service.interface.d.ts +16 -0
  121. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  122. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  123. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  124. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  125. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  126. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  127. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  128. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  129. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  130. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  131. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  132. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
  133. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  134. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  135. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  136. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
  137. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  138. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +12 -0
  139. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
  140. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +32 -0
  141. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  142. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  143. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  144. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +41 -0
  145. 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 -0
  146. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +8 -19
  147. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  148. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  149. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  150. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +22 -0
  151. 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
  152. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +34 -0
  153. 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
  154. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
  155. 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
  156. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +23 -4
  157. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  158. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +4 -3
  159. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +1 -1
  160. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -4
  161. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  162. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  163. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  164. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +23 -0
  165. 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
  166. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -16
  167. 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
  168. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
  169. 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
  170. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +18 -24
  171. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  172. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -3
  173. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  174. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  175. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  176. package/libs/feature/editor/src/lib/fields.config.d.ts +8 -0
  177. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  178. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +5 -0
  179. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
  180. package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -0
  181. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  182. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  183. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  184. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +6 -6
  185. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  186. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  187. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  188. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +1 -1
  189. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  190. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +1 -1
  191. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  192. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +1 -1
  193. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  194. package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -21
  195. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  196. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +1 -1
  197. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  198. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  199. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  200. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  201. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  202. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -2
  203. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  204. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -2
  205. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  206. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  207. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  208. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +1 -0
  209. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  210. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  211. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  212. package/libs/ui/elements/src/index.d.ts +0 -1
  213. package/libs/ui/elements/src/index.d.ts.map +1 -1
  214. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  215. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  216. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  217. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  218. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  219. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  220. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  221. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  222. package/libs/ui/inputs/src/index.d.ts +4 -0
  223. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  224. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +9 -1
  225. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  226. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  227. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  228. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  229. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  230. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +6 -9
  231. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  232. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +17 -0
  233. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  234. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  235. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  236. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  237. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  238. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +34 -35
  239. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  240. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
  241. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  242. package/libs/ui/layout/src/index.d.ts +2 -0
  243. package/libs/ui/layout/src/index.d.ts.map +1 -1
  244. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  245. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  246. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  247. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  248. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  249. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  250. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +2 -2
  251. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  252. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  253. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  254. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  255. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  256. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  257. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  258. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  259. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  260. package/package.json +1 -1
  261. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +7 -2
  262. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -1
  263. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
  264. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -1
  265. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
  266. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  267. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +4 -4
  268. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
  269. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +14 -8
  270. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +7 -13
  271. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +13 -15
  272. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +48 -36
  273. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +5 -5
  274. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -1
  275. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +90 -15
  276. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +28 -0
  277. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +8 -7
  278. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  279. package/src/libs/common/domain/src/lib/platform.service.interface.ts +30 -0
  280. package/src/libs/common/fixtures/src/index.ts +1 -1
  281. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +37 -37
  282. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  283. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  284. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1 -3
  285. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  286. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  287. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  288. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  289. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  290. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  291. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  292. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  293. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  294. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +37 -3
  295. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  296. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +9 -9
  297. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  298. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  299. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  300. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +32 -15
  301. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  302. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  303. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  304. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  305. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  306. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  307. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  308. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
  309. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +15 -0
  310. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +4 -0
  311. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +25 -0
  312. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +30 -0
  313. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  314. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +89 -0
  315. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  316. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  317. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +0 -0
  318. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +86 -0
  319. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +210 -0
  320. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -17
  321. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +18 -51
  322. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  323. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css +0 -0
  324. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +4 -0
  325. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +128 -0
  326. 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
  327. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +33 -0
  328. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +179 -0
  329. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  330. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  331. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
  332. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -5
  333. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +104 -7
  334. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +2 -2
  335. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +9 -3
  336. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +2 -2
  337. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +13 -7
  338. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  339. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  340. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +15 -1
  341. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +156 -1
  342. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +30 -4
  343. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +41 -86
  344. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
  345. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +111 -74
  346. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +48 -53
  347. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +3 -1
  348. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +9 -4
  349. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  350. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
  351. package/src/libs/feature/editor/src/lib/fields.config.ts +37 -3
  352. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +9 -0
  353. package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -0
  354. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  355. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +12 -8
  356. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +5 -0
  357. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  358. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +10 -7
  359. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  360. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +5 -0
  361. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  362. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +6 -1
  363. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -15
  364. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +24 -1
  365. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +26 -22
  366. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  367. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  368. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +2 -2
  369. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -2
  370. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  371. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
  372. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  373. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +22 -1
  374. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  375. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  376. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  377. package/src/libs/ui/elements/src/index.ts +0 -1
  378. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  379. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  380. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  381. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  382. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -1
  383. package/src/libs/ui/inputs/src/index.ts +4 -0
  384. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +15 -3
  385. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  386. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +0 -0
  387. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +85 -0
  388. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
  389. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +50 -50
  390. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +19 -21
  391. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  392. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  393. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  394. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  395. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  396. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  397. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
  398. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
  399. package/src/libs/ui/layout/src/index.ts +2 -0
  400. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  401. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  402. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  403. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  404. package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +15 -18
  405. package/src/libs/ui/map/src/lib/ui-map.module.ts +1 -1
  406. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  407. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -2
  408. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +5 -6
  409. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  410. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  411. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  412. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  413. package/tailwind.base.css +21 -4
  414. package/translations/de.json +57 -2
  415. package/translations/en.json +57 -2
  416. package/translations/es.json +55 -0
  417. package/translations/fr.json +60 -5
  418. package/translations/it.json +57 -2
  419. package/translations/nl.json +55 -0
  420. package/translations/pt.json +55 -0
  421. package/translations/sk.json +55 -0
  422. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -138
  423. 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
  424. 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
  425. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -43
  426. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +0 -27
  427. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +0 -1
  428. 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
  429. 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
  430. 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
  431. 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
  432. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -22
  433. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
  434. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  435. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  436. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  437. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -10
  438. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -166
  439. 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
  440. 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
  441. 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
  442. 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
  443. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -36
  444. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → contact-card/contact-card.component.css} +0 -0
  445. /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 → generic-keywords/generic-keywords.component.css} +0 -0
  446. /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 → online-resource-card/online-resource-card.component.css} +0 -0
  447. /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
@@ -1,11 +1,34 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core'
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core'
2
2
  import { MapFacade } from '../+state/map.facade'
3
+ import { MatIconModule } from '@angular/material/icon'
4
+ import { UiLayoutModule } from '../../../../../../libs/ui/layout/src'
5
+ import { MatTabsModule } from '@angular/material/tabs'
6
+ import { AddLayerFromOgcApiComponent } from '../add-layer-from-ogc-api/add-layer-from-ogc-api.component'
7
+ import { AddLayerFromWfsComponent } from '../add-layer-from-wfs/add-layer-from-wfs.component'
8
+ import { AddLayerFromWmsComponent } from '../add-layer-from-wms/add-layer-from-wms.component'
9
+ import { AddLayerFromCatalogComponent } from '../add-layer-from-catalog/add-layer-from-catalog.component'
10
+ import { AddLayerFromFileComponent } from '../add-layer-from-file/add-layer-from-file.component'
11
+ import { TranslateModule } from '@ngx-translate/core'
12
+ import { CommonModule } from '@angular/common'
3
13
 
4
14
  @Component({
5
15
  selector: 'gn-ui-layers-panel',
6
16
  templateUrl: './layers-panel.component.html',
7
17
  styleUrls: ['./layers-panel.component.scss'],
8
18
  changeDetection: ChangeDetectionStrategy.OnPush,
19
+ standalone: true,
20
+ imports: [
21
+ MatIconModule,
22
+ UiLayoutModule,
23
+ MatTabsModule,
24
+ AddLayerFromOgcApiComponent,
25
+ AddLayerFromWfsComponent,
26
+ AddLayerFromWmsComponent,
27
+ AddLayerFromCatalogComponent,
28
+ AddLayerFromFileComponent,
29
+ TranslateModule,
30
+ CommonModule,
31
+ ],
9
32
  })
10
33
  export class LayersPanelComponent {
11
34
  layers$ = this.mapFacade.layers$
@@ -1,4 +1,4 @@
1
- import { FEATURE_COLLECTION_POLYGON_FIXTURE_4326 } from '../../../../../../libs/common/fixtures/src'
1
+ import { polygonFeatureCollectionFixture } from '../../../../../../libs/common/fixtures/src'
2
2
  import { Extent } from 'ol/extent'
3
3
  import {
4
4
  MapContextLayerGeojsonModel,
@@ -8,44 +8,48 @@ import {
8
8
  MapContextViewModel,
9
9
  } from '../map-context/map-context.model'
10
10
 
11
- export const MAP_CTX_LAYER_XYZ_FIXTURE: MapContextLayerModel = {
11
+ export const mapCtxLayerXyzFixture = (): MapContextLayerModel => ({
12
12
  type: MapContextLayerTypeEnum.XYZ,
13
13
  url: 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png',
14
- }
15
- export const MAP_CTX_LAYER_WMS_FIXTURE: MapContextLayerModel = {
14
+ })
15
+
16
+ export const mapCtxLayerWmsFixture = (): MapContextLayerModel => ({
16
17
  type: MapContextLayerTypeEnum.WMS,
17
18
  url: 'https://www.geograndest.fr/geoserver/region-grand-est/ows?REQUEST=GetCapabilities&SERVICE=WMS',
18
19
  name: 'commune_actuelle_3857',
19
- }
20
- export const MAP_CTX_LAYER_WFS_FIXTURE: MapContextLayerModel = {
20
+ })
21
+
22
+ export const mapCtxLayerWfsFixture = (): MapContextLayerModel => ({
21
23
  type: MapContextLayerTypeEnum.WFS,
22
24
  url: 'https://www.geograndest.fr/geoserver/region-grand-est/ows?REQUEST=GetCapabilities&SERVICE=WFS&VERSION=1.1.0',
23
25
  name: 'ms:commune_actuelle_3857',
24
- }
25
- export const MAP_CTX_LAYER_GEOJSON_FIXTURE: MapContextLayerGeojsonModel = {
26
+ })
27
+
28
+ export const mapCtxLayerGeojsonFixture = (): MapContextLayerGeojsonModel => ({
26
29
  type: MapContextLayerTypeEnum.GEOJSON,
27
- data: FEATURE_COLLECTION_POLYGON_FIXTURE_4326,
28
- }
29
- export const MAP_CTX_LAYER_GEOJSON_REMOTE_FIXTURE: MapContextLayerGeojsonModel =
30
- {
30
+ data: polygonFeatureCollectionFixture(),
31
+ })
32
+
33
+ export const mapCtxLayerGeojsonRemoteFixture =
34
+ (): MapContextLayerGeojsonModel => ({
31
35
  type: MapContextLayerTypeEnum.GEOJSON,
32
36
  url: 'https://my.host.com/data/regions.json',
33
- }
37
+ })
34
38
 
35
- export const MAP_CTX_VIEW_FIXTURE: MapContextViewModel = {
39
+ export const mapCtxViewFixture = (): MapContextViewModel => ({
36
40
  center: [7.75, 48.6],
37
41
  zoom: 9,
38
- }
42
+ })
39
43
 
40
- export const MAP_CTX_FIXTURE: MapContextModel = {
44
+ export const mapCtxFixture = (): MapContextModel => ({
41
45
  layers: [
42
- MAP_CTX_LAYER_XYZ_FIXTURE,
43
- MAP_CTX_LAYER_WMS_FIXTURE,
44
- MAP_CTX_LAYER_GEOJSON_FIXTURE,
46
+ mapCtxLayerXyzFixture(),
47
+ mapCtxLayerWmsFixture(),
48
+ mapCtxLayerGeojsonFixture(),
45
49
  ],
46
- view: MAP_CTX_VIEW_FIXTURE,
47
- }
50
+ view: mapCtxViewFixture(),
51
+ })
48
52
 
49
- export const MAP_CTX_EXTENT_FIXTURE: Extent = [
53
+ export const mapCtxExtentFixture = (): Extent => [
50
54
  171083.69713494915, 6246047.945419401, 476970.39956295764, 6631079.362882684,
51
55
  ]
@@ -4,42 +4,44 @@ const colorPrimary = 'blue'
4
4
  const colorSecondary = 'red'
5
5
  const colorStroke = 'white'
6
6
 
7
- export const DEFAULT_STYLE_FIXTURE = new Style({
8
- image: new Circle({
7
+ export const defaultMapStyleFixture = (): Style =>
8
+ new Style({
9
+ image: new Circle({
10
+ fill: new Fill({
11
+ color: colorPrimary,
12
+ }),
13
+ stroke: new Stroke({
14
+ color: colorStroke,
15
+ width: 2,
16
+ }),
17
+ radius: 5,
18
+ }),
9
19
  fill: new Fill({
10
- color: colorPrimary,
20
+ color: 'rgba(0,0,255,0.25)',
11
21
  }),
12
22
  stroke: new Stroke({
13
23
  color: colorStroke,
14
24
  width: 2,
15
25
  }),
16
- radius: 5,
17
- }),
18
- fill: new Fill({
19
- color: 'rgba(0,0,255,0.25)',
20
- }),
21
- stroke: new Stroke({
22
- color: colorStroke,
23
- width: 2,
24
- }),
25
- })
26
+ })
26
27
 
27
- export const DEFAULT_STYLE_HL_FIXTURE = new Style({
28
- image: new Circle({
28
+ export const defaultMapStyleHlFixture = (): Style =>
29
+ new Style({
30
+ image: new Circle({
31
+ fill: new Fill({
32
+ color: colorSecondary,
33
+ }),
34
+ stroke: new Stroke({
35
+ color: colorStroke,
36
+ width: 3,
37
+ }),
38
+ radius: 6,
39
+ }),
29
40
  fill: new Fill({
30
- color: colorSecondary,
41
+ color: 'rgba(255,0,0,0.25)',
31
42
  }),
32
43
  stroke: new Stroke({
33
- color: colorStroke,
44
+ color: colorSecondary,
34
45
  width: 3,
35
46
  }),
36
- radius: 6,
37
- }),
38
- fill: new Fill({
39
- color: 'rgba(255,0,0,0.25)',
40
- }),
41
- stroke: new Stroke({
42
- color: colorSecondary,
43
- width: 3,
44
- }),
45
- })
47
+ })
@@ -9,7 +9,7 @@ import { BehaviorSubject, combineLatest } from 'rxjs'
9
9
  import { map, tap } from 'rxjs/operators'
10
10
  import { MdViewFacade } from '../state'
11
11
  import { DatavizConfigurationModel } from '../../../../../../libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model'
12
- import { DatasetDistribution } from '../../../../../../libs/common/domain/src/lib/model/record'
12
+ import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
13
13
 
14
14
  @Component({
15
15
  selector: 'gn-ui-data-view',
@@ -43,7 +43,7 @@ export class DataViewComponent {
43
43
  }))
44
44
  )
45
45
  )
46
- selectedLink$ = new BehaviorSubject<DatasetDistribution>(null)
46
+ selectedLink$ = new BehaviorSubject<DatasetOnlineResource>(null)
47
47
 
48
48
  constructor(private mdViewFacade: MdViewFacade) {}
49
49
 
@@ -52,7 +52,7 @@ export class DataViewComponent {
52
52
  }
53
53
 
54
54
  selectLink(linkAsString: string) {
55
- const link: DatasetDistribution = JSON.parse(linkAsString)
55
+ const link: DatasetOnlineResource = JSON.parse(linkAsString)
56
56
  link.url = new URL(link.url)
57
57
  this.selectedLink$.next(link)
58
58
  }
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core'
2
2
  import { MapConfig } from '../../../../../../libs/util/app-config/src'
3
- import { DatasetDistribution } from '../../../../../../libs/common/domain/src/lib/model/record'
3
+ import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
4
4
  import { marker } from '@biesbjerg/ngx-translate-extract-marker'
5
5
  import { TranslateService } from '@ngx-translate/core'
6
6
  import { getFileFormat } from '../../../../../../libs/util/shared/src'
@@ -14,7 +14,7 @@ marker('externalviewer.dataset.unnamed')
14
14
  changeDetection: ChangeDetectionStrategy.OnPush,
15
15
  })
16
16
  export class ExternalViewerButtonComponent {
17
- @Input() link: DatasetDistribution
17
+ @Input() link: DatasetOnlineResource
18
18
  @Input() mapConfig: MapConfig
19
19
 
20
20
  get externalViewer() {
@@ -40,7 +40,7 @@ import {
40
40
  } from 'rxjs/operators'
41
41
  import { MdViewFacade } from '../state/mdview.facade'
42
42
  import { DataService } from '../../../../../../libs/feature/dataviz/src'
43
- import { DatasetDistribution } from '../../../../../../libs/common/domain/src/lib/model/record'
43
+ import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
44
44
 
45
45
  @Component({
46
46
  selector: 'gn-ui-map-view',
@@ -183,7 +183,7 @@ export class MapViewComponent implements OnInit, OnDestroy {
183
183
  }
184
184
 
185
185
  getLayerFromLink(
186
- link: DatasetDistribution
186
+ link: DatasetOnlineResource
187
187
  ): Observable<MapContextLayerModel> {
188
188
  if (link.type === 'service' && link.accessServiceProtocol === 'wms') {
189
189
  return of({
@@ -63,7 +63,11 @@ export class MdViewFacade {
63
63
  chartConfig$ = this.store.pipe(select(MdViewSelectors.getChartConfig))
64
64
 
65
65
  allLinks$ = this.metadata$.pipe(
66
- map((record) => ('distributions' in record ? record.distributions : []))
66
+ map((record) =>
67
+ record.kind === 'dataset' && 'onlineResources' in record
68
+ ? record.onlineResources
69
+ : []
70
+ )
67
71
  )
68
72
 
69
73
  apiLinks$ = this.allLinks$.pipe(
@@ -6,6 +6,6 @@
6
6
  (inputSubmitted)="handleInputSubmission($event)"
7
7
  (inputCleared)="handleInputCleared()"
8
8
  [value]="searchInputValue$ | async"
9
- [clearOnSelection]="true"
9
+ [preventCompleteOnSelection]="true"
10
10
  [autoFocus]="autoFocus"
11
11
  ></gn-ui-autocomplete>
@@ -3,6 +3,7 @@
3
3
  [hasDraft]="hasDraft"
4
4
  [selectedRecordsIdentifiers]="selectedRecords$ | async"
5
5
  [sortOrder]="sortBy$ | async"
6
+ [isUnsavedDraft]="isUnsavedDraft"
6
7
  (recordClick)="handleRecordClick($event)"
7
8
  (duplicateRecord)="handleDuplicateRecord($event)"
8
9
  (deleteRecord)="handleDeleteRecord($event)"
@@ -1,4 +1,10 @@
1
- import { Component, EventEmitter, OnDestroy, Output } from '@angular/core'
1
+ import {
2
+ Component,
3
+ EventEmitter,
4
+ Input,
5
+ OnDestroy,
6
+ Output,
7
+ } from '@angular/core'
2
8
  import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record'
3
9
  import { SearchFacade } from '../state/search.facade'
4
10
  import { SelectionService } from '../../../../../../libs/api/repository/src'
@@ -30,6 +36,9 @@ export class ResultsTableContainerComponent implements OnDestroy {
30
36
  hasDraft = (record: CatalogRecord): boolean =>
31
37
  this.recordsRepository.recordHasDraft(record.uniqueIdentifier)
32
38
 
39
+ isUnsavedDraft = (record: CatalogRecord): boolean =>
40
+ this.recordsRepository.isRecordNotYetSaved(record.uniqueIdentifier)
41
+
33
42
  constructor(
34
43
  private searchFacade: SearchFacade,
35
44
  private searchService: SearchService,
@@ -54,6 +63,18 @@ export class ResultsTableContainerComponent implements OnDestroy {
54
63
  next: () => {
55
64
  this.recordsRepository.clearRecordDraft(uniqueIdentifier)
56
65
  this.searchFacade.requestNewResults()
66
+ this.notificationsService.showNotification(
67
+ {
68
+ type: 'success',
69
+ title: this.translateService.instant(
70
+ 'editor.record.deleteSuccess.title'
71
+ ),
72
+ text: `${this.translateService.instant(
73
+ 'editor.record.deleteSuccess.body'
74
+ )}`,
75
+ },
76
+ 2500
77
+ )
57
78
  },
58
79
  error: (error) => {
59
80
  this.notificationsService.showNotification({
@@ -1,4 +1,4 @@
1
- export const SEARCH_STATE_FILTERS_FIXTURE = {
1
+ export const searchStateFiltersFixture = () => ({
2
2
  recursiveTerms: {
3
3
  resourceType: {
4
4
  service: {
@@ -26,4 +26,4 @@ export const SEARCH_STATE_FILTERS_FIXTURE = {
26
26
  availableInViewService: '+linkProtocol:/OGC:WMS.*/',
27
27
  },
28
28
  },
29
- }
29
+ })
@@ -1,4 +1,4 @@
1
- export const CHART_ITEM_FIXTURE = [
1
+ export const charItemFixture = () => [
2
2
  {
3
3
  name: 'name 1',
4
4
  id: 'id 1',
@@ -19,7 +19,7 @@ export const CHART_ITEM_FIXTURE = [
19
19
  },
20
20
  ]
21
21
 
22
- export const CHART_ITEM_FIXTURE_HAB = [
22
+ export const chartItemHabFixture = () => [
23
23
  {
24
24
  name: 'France',
25
25
  id: '1',
@@ -1,4 +1,4 @@
1
- export const TABLE_ITEM_FIXTURE = [
1
+ export const tableItemFixture = () => [
2
2
  {
3
3
  name: 'name 1',
4
4
  id: 'id 1',
@@ -16,7 +16,7 @@ export const TABLE_ITEM_FIXTURE = [
16
16
  },
17
17
  ]
18
18
 
19
- export const TABLE_ITEM_FIXTURE_HAB = [
19
+ export const someHabTableItemFixture = () => [
20
20
  {
21
21
  name: 'France',
22
22
  id: '1',
@@ -19,7 +19,6 @@ export * from './lib/pagination-buttons/pagination-buttons.component'
19
19
  export * from './lib/pagination/pagination.component'
20
20
  export * from './lib/record-api-form/record-api-form.component'
21
21
  export * from './lib/related-record-card/related-record-card.component'
22
- export * from './lib/sortable-list/sortable-list.component'
23
22
  export * from './lib/thumbnail/thumbnail.component'
24
23
  export * from './lib/ui-elements.module'
25
24
  export * from './lib/user-preview/user-preview.component'
@@ -1,11 +1,11 @@
1
1
  import {
2
- Component,
3
2
  ChangeDetectionStrategy,
3
+ Component,
4
+ EventEmitter,
4
5
  Input,
5
6
  Output,
6
- EventEmitter,
7
7
  } from '@angular/core'
8
- import { DatasetDistribution } from '../../../../../../libs/common/domain/src/lib/model/record'
8
+ import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
9
9
 
10
10
  @Component({
11
11
  selector: 'gn-ui-download-item',
@@ -14,7 +14,7 @@ import { DatasetDistribution } from '../../../../../../libs/common/domain/src/li
14
14
  changeDetection: ChangeDetectionStrategy.OnPush,
15
15
  })
16
16
  export class DownloadItemComponent {
17
- @Input() link: DatasetDistribution
17
+ @Input() link: DatasetOnlineResource
18
18
  @Input() color: string
19
19
  @Input() format: string
20
20
  @Input() isFromWfs: boolean
@@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'
2
2
  import { TranslateService } from '@ngx-translate/core'
3
3
  import { marker } from '@biesbjerg/ngx-translate-extract-marker'
4
4
  import { getBadgeColor, getFileFormat } from '../../../../../../libs/util/shared/src'
5
- import { DatasetDistribution } from '../../../../../../libs/common/domain/src/lib/model/record'
5
+ import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
6
6
 
7
7
  marker('datahub.search.filter.all')
8
8
  marker('datahub.search.filter.others')
@@ -19,11 +19,11 @@ type FilterFormat = typeof FILTER_FORMATS[number]
19
19
  export class DownloadsListComponent {
20
20
  constructor(private translateService: TranslateService) {}
21
21
 
22
- @Input() links: DatasetDistribution[]
22
+ @Input() links: DatasetOnlineResource[]
23
23
 
24
24
  activeFilterFormats: FilterFormat[] = ['all']
25
25
 
26
- get filteredLinks(): DatasetDistribution[] {
26
+ get filteredLinks(): DatasetOnlineResource[] {
27
27
  return this.links.filter((link) =>
28
28
  this.activeFilterFormats.some((format) =>
29
29
  this.isLinkOfFormat(link, format)
@@ -68,7 +68,7 @@ export class DownloadsListComponent {
68
68
  return format
69
69
  }
70
70
 
71
- isLinkOfFormat(link: DatasetDistribution, format: FilterFormat): boolean {
71
+ isLinkOfFormat(link: DatasetOnlineResource, format: FilterFormat): boolean {
72
72
  if (format === 'all') {
73
73
  return true
74
74
  }
@@ -86,15 +86,15 @@ export class DownloadsListComponent {
86
86
  return getFileFormat(link).includes(format)
87
87
  }
88
88
 
89
- getLinkFormat(link: DatasetDistribution) {
89
+ getLinkFormat(link: DatasetOnlineResource) {
90
90
  return getFileFormat(link)
91
91
  }
92
92
 
93
- getLinkColor(link: DatasetDistribution) {
93
+ getLinkColor(link: DatasetOnlineResource) {
94
94
  return getBadgeColor(getFileFormat(link))
95
95
  }
96
96
 
97
- isFromWfs(link: DatasetDistribution) {
97
+ isFromWfs(link: DatasetOnlineResource) {
98
98
  return link.type === 'download' && link.accessServiceProtocol === 'wfs'
99
99
  }
100
100
  }
@@ -1,5 +1,5 @@
1
- import { Component, ChangeDetectionStrategy, Input } from '@angular/core'
2
- import { DatasetDistribution } from '../../../../../../libs/common/domain/src/lib/model/record'
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'
2
+ import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
3
3
  import { MatIconModule } from '@angular/material/icon'
4
4
  import { CommonModule } from '@angular/common'
5
5
 
@@ -12,7 +12,7 @@ import { CommonModule } from '@angular/common'
12
12
  imports: [CommonModule, MatIconModule],
13
13
  })
14
14
  export class LinkCardComponent {
15
- @Input() link: DatasetDistribution
15
+ @Input() link: DatasetOnlineResource
16
16
  @Input() compact = false
17
17
 
18
18
  get title() {
@@ -21,7 +21,7 @@
21
21
  class="mr-2 w-20"
22
22
  (valueChange)="setLimit($event)"
23
23
  [value]="displayLimit$ | async"
24
- hint=""
24
+ placeholder=""
25
25
  >
26
26
  </gn-ui-text-input>
27
27
  <div class="flex items-center">
@@ -47,7 +47,7 @@
47
47
  [value]="offset$ | async"
48
48
  [disabled]="!supportOffset"
49
49
  (valueChange)="supportOffset ? setOffset($event) : null"
50
- hint=""
50
+ placeholder=""
51
51
  >
52
52
  </gn-ui-text-input>
53
53
  <div
@@ -20,7 +20,11 @@ import { MetadataQualityItemComponent } from './metadata-quality-item/metadata-q
20
20
  import { ErrorComponent } from './error/error.component'
21
21
  import { PaginationComponent } from './pagination/pagination.component'
22
22
  import { ThumbnailComponent } from './thumbnail/thumbnail.component'
23
- import { BadgeComponent, UiInputsModule } from '../../../../../libs/ui/inputs/src'
23
+ import {
24
+ BadgeComponent,
25
+ TextInputComponent,
26
+ UiInputsModule,
27
+ } from '../../../../../libs/ui/inputs/src'
24
28
  import { FormsModule } from '@angular/forms'
25
29
  import { AvatarComponent } from './avatar/avatar.component'
26
30
  import { UserPreviewComponent } from './user-preview/user-preview.component'
@@ -51,6 +55,7 @@ import { TimeSincePipe } from './user-feedback-item/time-since.pipe'
51
55
  TimeSincePipe,
52
56
  BadgeComponent,
53
57
  MaxLinesComponent,
58
+ TextInputComponent,
54
59
  ],
55
60
  declarations: [
56
61
  MetadataInfoComponent,
@@ -21,3 +21,7 @@ export * from './lib/text-input/text-input.component'
21
21
  export * from './lib/ui-inputs.module'
22
22
  export * from './lib/viewport-intersector/viewport-intersector.component'
23
23
  export * from './lib/previous-next-buttons/previous-next-buttons.component'
24
+ export * from './lib/switch-toggle/switch-toggle.component'
25
+ export * from './lib/file-input/file-input.component'
26
+ export * from './lib/image-input/image-input.component'
27
+ export * from './lib/url-input/url-input.component'
@@ -61,6 +61,7 @@ export class AutocompleteComponent
61
61
  @Input() action: (value: string) => Observable<AutocompleteItem[]>
62
62
  @Input() value?: AutocompleteItem
63
63
  @Input() clearOnSelection = false
64
+ @Input() preventCompleteOnSelection = false
64
65
  @Input() autoFocus = false
65
66
  @Input() minCharacterCount? = 3
66
67
  @Input() allowSubmit = true
@@ -206,13 +207,24 @@ export class AutocompleteComponent
206
207
  this.inputSubmitted.emit(this.inputRef.nativeElement.value)
207
208
  }
208
209
 
210
+ /**
211
+ * This function is triggered when an item is selected in the list of displayed items.
212
+ * If preventCompleteOnSelection is true then the input will be left as entered by the user.
213
+ * If preventCompleteOnSelection is false (by default) then the input will be completed with the item selected by the user.
214
+ * If clearOnSelection is true then the input will be cleared upon selection.
215
+ * @param event
216
+ */
209
217
  handleSelection(event: MatAutocompleteSelectedEvent) {
210
218
  this.cancelEnter = true
211
219
  this.itemSelected.emit(event.option.value)
212
- if (this.clearOnSelection) {
213
- this.lastInputValue$.pipe(first()).subscribe((any) => {
214
- this.inputRef.nativeElement.value = any
220
+ if (this.preventCompleteOnSelection) {
221
+ this.lastInputValue$.pipe(first()).subscribe((lastInputValue) => {
222
+ this.inputRef.nativeElement.value = lastInputValue
215
223
  })
224
+ return
225
+ }
226
+ if (this.clearOnSelection) {
227
+ this.inputRef.nativeElement.value = ''
216
228
  }
217
229
  }
218
230
  }
@@ -1,48 +1,62 @@
1
1
  import {
2
+ AfterViewInit,
2
3
  Directive,
3
4
  ElementRef,
4
- Renderer2,
5
- AfterViewInit,
6
5
  EventEmitter,
7
- Output,
8
6
  Input,
7
+ OnChanges,
8
+ Output,
9
+ Renderer2,
9
10
  } from '@angular/core'
10
11
 
11
12
  @Directive({
12
13
  selector: '[gnUiEditableLabel]',
13
14
  standalone: true,
14
15
  })
15
- export class EditableLabelDirective implements AfterViewInit {
16
+ export class EditableLabelDirective implements OnChanges, AfterViewInit {
17
+ @Input() gnUiEditableLabel?: string
16
18
  @Output() editableLabelChanged = new EventEmitter<string>()
17
- @Input() gnUiEditableLabel?: boolean
19
+
20
+ appendedInput: HTMLInputElement
18
21
 
19
22
  constructor(private el: ElementRef, private renderer: Renderer2) {}
20
23
 
24
+ ngOnChanges() {
25
+ if (this.appendedInput) {
26
+ this.renderer.setProperty(
27
+ this.appendedInput,
28
+ 'value',
29
+ this.gnUiEditableLabel
30
+ )
31
+ }
32
+ }
33
+
21
34
  ngAfterViewInit() {
22
- if (this.gnUiEditableLabel !== false) {
23
- const appendedInput = this.renderer.createElement('input')
24
-
25
- this.renderer.setStyle(appendedInput, 'background', 'inherit')
26
- this.renderer.setStyle(appendedInput, 'color', 'inherit')
27
- this.renderer.setStyle(appendedInput, 'font', 'inherit')
28
- this.renderer.setStyle(appendedInput, 'border', 'inherit')
29
- this.renderer.setStyle(appendedInput, 'width', '100%')
30
- this.renderer.setStyle(appendedInput, 'padding', 'inherit')
31
- this.renderer.setStyle(appendedInput, 'margin', '0')
32
- this.renderer.setStyle(appendedInput, 'height', 'inherit')
33
- this.renderer.setStyle(appendedInput, 'line-height', 'inherit')
34
- this.renderer.setStyle(appendedInput, 'text-decoration', 'inherit')
35
-
36
- const hostContent = this.el.nativeElement.textContent || ''
37
- const formattedContent = hostContent.replace(/\s+/g, ' ').trim()
38
- this.renderer.setProperty(appendedInput, 'value', formattedContent)
39
- this.renderer.setProperty(this.el.nativeElement, 'innerHTML', '')
40
-
41
- this.renderer.listen(appendedInput, 'input', (event) => {
35
+ if (this.gnUiEditableLabel !== undefined) {
36
+ this.appendedInput = this.renderer.createElement('input')
37
+
38
+ this.renderer.setStyle(this.appendedInput, 'background', 'inherit')
39
+ this.renderer.setStyle(this.appendedInput, 'color', 'inherit')
40
+ this.renderer.setStyle(this.appendedInput, 'font', 'inherit')
41
+ this.renderer.setStyle(this.appendedInput, 'border', 'inherit')
42
+ this.renderer.setStyle(this.appendedInput, 'width', '100%')
43
+ this.renderer.setStyle(this.appendedInput, 'padding', 'inherit')
44
+ this.renderer.setStyle(this.appendedInput, 'margin', '0')
45
+ this.renderer.setStyle(this.appendedInput, 'height', 'inherit')
46
+ this.renderer.setStyle(this.appendedInput, 'line-height', 'inherit')
47
+ this.renderer.setStyle(this.appendedInput, 'text-decoration', 'inherit')
48
+
49
+ this.renderer.setProperty(
50
+ this.appendedInput,
51
+ 'value',
52
+ this.gnUiEditableLabel
53
+ )
54
+
55
+ this.renderer.listen(this.appendedInput, 'input', (event) => {
42
56
  this.editableLabelChanged.emit(event.target.value)
43
57
  })
44
58
 
45
- this.renderer.appendChild(this.el.nativeElement, appendedInput)
59
+ this.renderer.appendChild(this.el.nativeElement, this.appendedInput)
46
60
  }
47
61
  }
48
62
  }