geonetwork-ui 2.3.2 → 2.4.0-alpha.1.2ade9018

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 (1163) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +4 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +64 -0
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +14 -0
  4. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +266 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/index.mjs +2 -0
  6. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.mjs +17 -0
  7. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +227 -0
  8. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +57 -0
  9. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +96 -0
  10. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.mjs +2 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +47 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +11 -1
  13. package/esm2022/libs/api/metadata-converter/src/lib/function-utils.mjs +1 -1
  14. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  15. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +6 -5
  16. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +24 -8
  17. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +4 -4
  18. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/index.mjs +2 -1
  19. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +2 -0
  20. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  21. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +12 -8
  22. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +27 -11
  23. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +53 -43
  24. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +104 -52
  25. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +107 -25
  26. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.mjs +31 -0
  27. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +1 -1
  28. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +151 -101
  29. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +118 -24
  30. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +4 -4
  31. package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +4 -4
  32. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -4
  33. package/esm2022/libs/api/repository/src/lib/gn4/favorites/favorites.service.mjs +4 -4
  34. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +156 -14
  35. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +5 -4
  36. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +6 -4
  37. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +25 -7
  38. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +118 -18
  39. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +4 -4
  40. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +4 -4
  41. package/esm2022/libs/common/domain/src/lib/model/error/index.mjs +2 -0
  42. package/esm2022/libs/common/domain/src/lib/model/error/publication-version.error.mjs +8 -0
  43. package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +28 -1
  44. package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
  45. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  46. package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
  47. package/esm2022/libs/common/domain/src/lib/model/record/translation.model.mjs +2 -0
  48. package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
  49. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  50. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  51. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  52. package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
  53. package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
  54. package/esm2022/libs/data-access/gn4/src/openapi/api/atom.api.service.mjs +4 -4
  55. package/esm2022/libs/data-access/gn4/src/openapi/api/customstyle.api.service.mjs +4 -4
  56. package/esm2022/libs/data-access/gn4/src/openapi/api/formatters.api.service.mjs +4 -4
  57. package/esm2022/libs/data-access/gn4/src/openapi/api/groups.api.service.mjs +4 -4
  58. package/esm2022/libs/data-access/gn4/src/openapi/api/harvesters.api.service.mjs +4 -4
  59. package/esm2022/libs/data-access/gn4/src/openapi/api/identifiers.api.service.mjs +4 -4
  60. package/esm2022/libs/data-access/gn4/src/openapi/api/languages.api.service.mjs +4 -4
  61. package/esm2022/libs/data-access/gn4/src/openapi/api/links.api.service.mjs +4 -4
  62. package/esm2022/libs/data-access/gn4/src/openapi/api/logos.api.service.mjs +4 -4
  63. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservers.api.service.mjs +4 -4
  64. package/esm2022/libs/data-access/gn4/src/openapi/api/mapservices.api.service.mjs +4 -4
  65. package/esm2022/libs/data-access/gn4/src/openapi/api/me.api.service.mjs +4 -4
  66. package/esm2022/libs/data-access/gn4/src/openapi/api/operations.api.service.mjs +4 -4
  67. package/esm2022/libs/data-access/gn4/src/openapi/api/pages.api.service.mjs +4 -4
  68. package/esm2022/libs/data-access/gn4/src/openapi/api/processes.api.service.mjs +4 -4
  69. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +6 -10
  70. package/esm2022/libs/data-access/gn4/src/openapi/api/regions.api.service.mjs +4 -4
  71. package/esm2022/libs/data-access/gn4/src/openapi/api/registries.api.service.mjs +4 -4
  72. package/esm2022/libs/data-access/gn4/src/openapi/api/related.api.service.mjs +4 -4
  73. package/esm2022/libs/data-access/gn4/src/openapi/api/search.api.service.mjs +4 -4
  74. package/esm2022/libs/data-access/gn4/src/openapi/api/selections.api.service.mjs +4 -4
  75. package/esm2022/libs/data-access/gn4/src/openapi/api/site.api.service.mjs +4 -4
  76. package/esm2022/libs/data-access/gn4/src/openapi/api/sources.api.service.mjs +4 -4
  77. package/esm2022/libs/data-access/gn4/src/openapi/api/standards.api.service.mjs +4 -4
  78. package/esm2022/libs/data-access/gn4/src/openapi/api/status.api.service.mjs +4 -4
  79. package/esm2022/libs/data-access/gn4/src/openapi/api/tags.api.service.mjs +4 -4
  80. package/esm2022/libs/data-access/gn4/src/openapi/api/tools.api.service.mjs +4 -4
  81. package/esm2022/libs/data-access/gn4/src/openapi/api/ui.api.service.mjs +4 -4
  82. package/esm2022/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.mjs +4 -4
  83. package/esm2022/libs/data-access/gn4/src/openapi/api/users.api.service.mjs +4 -4
  84. package/esm2022/libs/data-access/gn4/src/openapi/api/usersearches.api.service.mjs +4 -4
  85. package/esm2022/libs/data-access/gn4/src/openapi/api/userselections.api.service.mjs +4 -4
  86. package/esm2022/libs/data-access/gn4/src/openapi/api.module.mjs +5 -5
  87. package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
  88. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +5 -5
  89. package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
  90. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +11 -8
  91. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -4
  92. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +12 -12
  93. package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
  94. package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +7 -9
  95. package/esm2022/libs/feature/catalog/src/lib/site-title/site-title.component.mjs +4 -4
  96. package/esm2022/libs/feature/catalog/src/lib/source-label/source-label.component.mjs +4 -4
  97. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +4 -4
  98. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -7
  99. package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +18 -12
  100. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +4 -4
  101. package/esm2022/libs/feature/dataviz/src/lib/figure/figure.service.mjs +4 -4
  102. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +41 -51
  103. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +4 -4
  104. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +4 -4
  105. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  106. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +4 -1
  107. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +37 -8
  108. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +18 -7
  109. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  110. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +12 -4
  111. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +18 -6
  112. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +17 -0
  113. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +80 -0
  114. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +95 -0
  115. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
  116. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +72 -0
  117. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +4 -4
  118. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +109 -0
  119. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +147 -0
  120. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
  121. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +4 -4
  122. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +50 -0
  123. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +13 -11
  124. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +79 -0
  125. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +4 -4
  126. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +151 -0
  127. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +191 -0
  128. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
  129. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +104 -0
  130. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +14 -18
  131. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +11 -10
  132. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +141 -6
  133. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +78 -0
  134. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +73 -57
  135. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +53 -68
  136. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +5 -3
  137. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +15 -9
  138. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +5 -5
  139. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +11 -11
  140. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +4 -4
  141. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  142. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +12 -9
  143. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +217 -45
  144. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
  145. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
  146. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +36 -45
  147. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +4 -4
  148. package/esm2022/libs/feature/map/src/index.mjs +2 -9
  149. package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
  150. package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +12 -18
  151. package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
  152. package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
  153. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +8 -8
  154. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +21 -20
  155. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +25 -16
  156. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +17 -16
  157. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +20 -15
  158. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +18 -13
  159. package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
  160. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +12 -71
  161. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +44 -30
  162. package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +4 -4
  163. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +45 -20
  164. package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
  165. package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
  166. package/esm2022/libs/feature/map/src/lib/style/map-style.service.mjs +4 -4
  167. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +14 -173
  168. package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +5 -5
  169. package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +4 -4
  170. package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +4 -4
  171. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +4 -4
  172. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +44 -25
  173. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +15 -7
  174. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +51 -17
  175. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +22 -18
  176. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +22 -13
  177. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +41 -53
  178. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +5 -5
  179. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +7 -5
  180. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
  181. package/esm2022/libs/feature/router/src/lib/default/container/search-router.container.directive.mjs +4 -4
  182. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  183. package/esm2022/libs/feature/router/src/lib/default/router.module.mjs +5 -5
  184. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +12 -5
  185. package/esm2022/libs/feature/router/src/lib/default/services/router-search.service.mjs +4 -4
  186. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +4 -4
  187. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +11 -4
  188. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  189. package/esm2022/libs/feature/search/src/lib/facets/facets-container/facets-container.component.mjs +4 -4
  190. package/esm2022/libs/feature/search/src/lib/facets/facets.module.mjs +5 -5
  191. package/esm2022/libs/feature/search/src/lib/facets/facets.service.mjs +4 -4
  192. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
  193. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +11 -8
  194. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +4 -4
  195. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +6 -6
  196. package/esm2022/libs/feature/search/src/lib/records-metrics/records-metrics.component.mjs +4 -4
  197. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +4 -4
  198. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +4 -4
  199. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +4 -4
  200. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +94 -0
  201. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +4 -4
  202. package/esm2022/libs/feature/search/src/lib/state/container/search-state.container.directive.mjs +4 -4
  203. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +4 -4
  204. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +11 -6
  205. package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
  206. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +10 -6
  207. package/esm2022/libs/feature/search/src/lib/utils/service/search.service.mjs +4 -4
  208. package/esm2022/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.mjs +4 -4
  209. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
  210. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +7 -7
  211. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +9 -9
  212. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +4 -4
  213. package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +9 -11
  214. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +4 -4
  215. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +7 -10
  216. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +4 -4
  217. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
  218. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +5 -5
  219. package/esm2022/libs/ui/elements/src/index.mjs +5 -4
  220. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +5 -5
  221. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +4 -4
  222. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +27 -0
  223. package/esm2022/libs/ui/elements/src/lib/content-ghost/content-ghost.component.mjs +4 -4
  224. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +5 -5
  225. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +4 -4
  226. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +7 -5
  227. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +4 -4
  228. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +5 -5
  229. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +8 -7
  230. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +5 -5
  231. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +4 -4
  232. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +4 -4
  233. package/esm2022/libs/ui/elements/src/lib/metadata-info/linkify.directive.mjs +4 -4
  234. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -12
  235. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +7 -13
  236. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +5 -5
  237. package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +5 -5
  238. package/esm2022/libs/ui/elements/src/lib/pagination/pagination.component.mjs +4 -4
  239. package/esm2022/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.mjs +4 -4
  240. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +7 -7
  241. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +26 -7
  242. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +4 -4
  243. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +22 -15
  244. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +4 -4
  245. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +4 -4
  246. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -5
  247. package/esm2022/libs/ui/inputs/src/index.mjs +7 -1
  248. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +81 -31
  249. package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +30 -0
  250. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +11 -4
  251. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +4 -4
  252. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +4 -4
  253. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +4 -4
  254. package/esm2022/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.mjs +4 -4
  255. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +14 -7
  256. package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +25 -13
  257. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +4 -4
  258. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +4 -4
  259. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +4 -4
  260. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +28 -26
  261. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
  262. package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +4 -4
  263. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +21 -17
  264. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +4 -4
  265. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +4 -4
  266. package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +8 -6
  267. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -4
  268. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +34 -0
  269. package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +9 -23
  270. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +8 -19
  271. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +16 -24
  272. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +59 -0
  273. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +4 -4
  274. package/esm2022/libs/ui/layout/src/index.mjs +4 -1
  275. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +4 -4
  276. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +4 -4
  277. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +4 -4
  278. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +4 -4
  279. package/esm2022/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.mjs +4 -4
  280. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +7 -5
  281. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +4 -4
  282. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +5 -5
  283. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
  284. package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
  285. package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
  286. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +4 -4
  287. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +5 -5
  288. package/esm2022/libs/ui/map/src/index.mjs +4 -3
  289. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +10 -8
  290. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +137 -0
  291. package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
  292. package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
  293. package/esm2022/libs/ui/search/src/index.mjs +2 -1
  294. package/esm2022/libs/ui/search/src/lib/facets/facet-block/facet-block.component.mjs +7 -7
  295. package/esm2022/libs/ui/search/src/lib/facets/facet-item/facet-item.component.mjs +7 -7
  296. package/esm2022/libs/ui/search/src/lib/facets/facet-list/facet-list.component.mjs +4 -4
  297. package/esm2022/libs/ui/search/src/lib/facets/facets.module.mjs +5 -5
  298. package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
  299. package/esm2022/libs/ui/search/src/lib/record-metric/record-metric.component.mjs +4 -4
  300. package/esm2022/libs/ui/search/src/lib/record-preview/record-preview.component.mjs +4 -4
  301. package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +4 -4
  302. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +4 -4
  303. package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +4 -4
  304. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -4
  305. package/esm2022/libs/ui/search/src/lib/record-preview-text/record-preview-text.component.mjs +4 -4
  306. package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +4 -4
  307. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +4 -4
  308. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +4 -4
  309. package/esm2022/libs/ui/search/src/lib/results-list-item/results-list-item.component.mjs +4 -4
  310. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +67 -0
  311. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +140 -0
  312. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +5 -5
  313. package/esm2022/libs/ui/widgets/src/index.mjs +2 -2
  314. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +4 -4
  315. package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +4 -4
  316. package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +68 -0
  317. package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +7 -5
  318. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +4 -4
  319. package/esm2022/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.mjs +4 -4
  320. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +4 -4
  321. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -15
  322. package/esm2022/libs/util/app-config/src/index.mjs +2 -1
  323. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
  324. package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +27 -0
  325. package/esm2022/libs/util/i18n/src/index.mjs +2 -1
  326. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +1 -38
  327. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +4 -4
  328. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +5 -5
  329. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +40 -0
  330. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +5 -5
  331. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +4 -4
  332. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +4 -4
  333. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
  334. package/esm2022/libs/util/shared/src/lib/services/log.service.mjs +4 -4
  335. package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +4 -4
  336. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +5 -4
  337. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +5 -5
  338. package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
  339. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  340. package/esm2022/libs/util/shared/src/lib/utils/no-duplicate-file-name.mjs +19 -0
  341. package/esm2022/translations/de.json +180 -33
  342. package/esm2022/translations/en.json +188 -41
  343. package/esm2022/translations/es.json +158 -11
  344. package/esm2022/translations/fr.json +218 -71
  345. package/esm2022/translations/it.json +161 -14
  346. package/esm2022/translations/nl.json +158 -11
  347. package/esm2022/translations/pt.json +158 -11
  348. package/fesm2022/geonetwork-ui.mjs +9507 -5391
  349. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  350. package/libs/api/metadata-converter/src/index.d.ts +3 -0
  351. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  352. package/libs/api/metadata-converter/src/lib/common/license.d.ts +3 -0
  353. package/libs/api/metadata-converter/src/lib/common/license.d.ts.map +1 -0
  354. package/libs/api/metadata-converter/src/lib/common/url.d.ts +7 -0
  355. package/libs/api/metadata-converter/src/lib/common/url.d.ts.map +1 -0
  356. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +13 -0
  357. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -0
  358. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts +2 -0
  359. package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts.map +1 -0
  360. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts +16 -0
  361. package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts.map +1 -0
  362. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +21 -0
  363. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -0
  364. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +15 -0
  365. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -0
  366. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts +8 -0
  367. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -0
  368. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts +2 -0
  369. package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts.map +1 -0
  370. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts +6 -0
  371. package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -0
  372. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -1
  373. package/libs/api/metadata-converter/src/lib/function-utils.d.ts +1 -1
  374. package/libs/api/metadata-converter/src/lib/function-utils.d.ts.map +1 -1
  375. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  376. package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -1
  377. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
  378. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  379. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts +1 -0
  380. package/libs/api/metadata-converter/src/lib/gn4/types/index.d.ts.map +1 -1
  381. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +27 -0
  382. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -0
  383. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  384. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  385. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -1
  386. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +6 -4
  387. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  388. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +5 -4
  389. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  390. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +3 -2
  391. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  392. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +23 -9
  393. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  394. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts +5 -0
  395. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts.map +1 -0
  396. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts +1 -1
  397. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -1
  398. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +20 -15
  399. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  400. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +104 -2
  401. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  402. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +35 -8
  403. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  404. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  405. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  406. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +3 -3
  407. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  408. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +20 -8
  409. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  410. package/libs/common/domain/src/lib/model/error/index.d.ts +2 -0
  411. package/libs/common/domain/src/lib/model/error/index.d.ts.map +1 -0
  412. package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts +5 -0
  413. package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts.map +1 -0
  414. package/libs/common/domain/src/lib/model/record/contact.model.d.ts +2 -1
  415. package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
  416. package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
  417. package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
  418. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +24 -16
  419. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  420. package/libs/common/domain/src/lib/model/record/organization.model.d.ts +3 -0
  421. package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
  422. package/libs/common/domain/src/lib/model/record/translation.model.d.ts +26 -0
  423. package/libs/common/domain/src/lib/model/record/translation.model.d.ts.map +1 -0
  424. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +12 -5
  425. package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
  426. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  427. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  428. package/libs/common/domain/src/lib/platform.service.interface.d.ts +20 -3
  429. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  430. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +51 -1
  431. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  432. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
  433. package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
  434. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
  435. package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
  436. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +6 -6
  437. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  438. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
  439. package/libs/feature/catalog/src/index.d.ts +1 -0
  440. package/libs/feature/catalog/src/index.d.ts.map +1 -1
  441. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +2 -1
  442. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  443. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  444. package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
  445. package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
  446. package/libs/feature/catalog/src/lib/records/records.service.d.ts.map +1 -1
  447. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  448. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  449. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +10 -8
  450. package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
  451. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +13 -20
  452. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  453. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
  454. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  455. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
  456. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  457. package/libs/feature/editor/src/index.d.ts +1 -0
  458. package/libs/feature/editor/src/index.d.ts.map +1 -1
  459. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +11 -0
  460. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  461. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +13 -1
  462. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  463. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +14 -11
  464. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  465. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +9 -1
  466. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  467. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +13 -2
  468. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  469. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +7 -9
  470. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  471. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +8 -0
  472. package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
  473. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
  474. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  475. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -0
  476. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
  477. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
  478. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
  479. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +16 -0
  480. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -0
  481. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts +38 -0
  482. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -0
  483. 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
  484. 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
  485. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
  486. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +1 -0
  487. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +17 -0
  488. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -0
  489. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  490. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  491. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +15 -0
  492. 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
  493. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +35 -0
  494. 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
  495. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +44 -0
  496. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -0
  497. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
  498. 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
  499. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +31 -0
  500. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -0
  501. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
  502. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  503. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  504. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  505. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
  506. 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
  507. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +25 -0
  508. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -0
  509. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +9 -9
  510. 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
  511. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +19 -25
  512. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  513. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +4 -2
  514. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  515. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +7 -7
  516. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  517. package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
  518. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
  519. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -1
  520. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  521. package/libs/feature/editor/src/lib/fields.config.d.ts +56 -2
  522. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  523. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +42 -0
  524. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
  525. package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
  526. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  527. package/libs/feature/editor/src/lib/services/editor.service.d.ts +8 -10
  528. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  529. package/libs/feature/map/src/index.d.ts +1 -8
  530. package/libs/feature/map/src/index.d.ts.map +1 -1
  531. package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
  532. package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
  533. package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
  534. package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
  535. package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
  536. package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
  537. package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
  538. package/libs/feature/map/src/lib/+state/map.selectors.d.ts.map +1 -1
  539. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
  540. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  541. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +8 -10
  542. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
  543. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +1 -1
  544. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  545. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +3 -3
  546. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  547. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +2 -2
  548. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  549. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +2 -2
  550. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  551. package/libs/feature/map/src/lib/constant/index.d.ts +0 -1
  552. package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
  553. package/libs/feature/map/src/lib/feature-map.module.d.ts +12 -23
  554. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  555. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +7 -7
  556. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  557. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +5 -4
  558. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  559. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
  560. package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
  561. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
  562. package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
  563. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
  564. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  565. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
  566. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  567. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
  568. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  569. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
  570. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  571. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
  572. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  573. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +10 -7
  574. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  575. package/libs/feature/record/src/lib/feature-record.module.d.ts +13 -10
  576. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  577. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +14 -20
  578. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  579. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  580. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
  581. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  582. package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
  583. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  584. package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
  585. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  586. package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
  587. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  588. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
  589. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  590. package/libs/feature/search/src/index.d.ts +1 -1
  591. package/libs/feature/search/src/index.d.ts.map +1 -1
  592. package/libs/feature/search/src/lib/feature-search.module.d.ts +2 -1
  593. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  594. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  595. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +37 -0
  596. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
  597. package/libs/feature/search/src/lib/state/search.facade.d.ts +2 -0
  598. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  599. package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
  600. package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
  601. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  602. package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
  603. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
  604. package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
  605. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +9 -9
  606. package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
  607. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
  608. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  609. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
  610. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
  611. package/libs/ui/elements/src/index.d.ts +4 -3
  612. package/libs/ui/elements/src/index.d.ts.map +1 -1
  613. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +18 -0
  614. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -0
  615. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
  616. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  617. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
  618. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  619. package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
  620. package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
  621. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
  622. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  623. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
  624. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  625. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -3
  626. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  627. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  628. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
  629. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
  630. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +18 -15
  631. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  632. package/libs/ui/inputs/src/index.d.ts +6 -0
  633. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  634. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +15 -4
  635. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  636. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts +11 -0
  637. package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -0
  638. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  639. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  640. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  641. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts +4 -4
  642. package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
  643. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  644. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  645. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
  646. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
  647. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -5
  648. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  649. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
  650. package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
  651. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +17 -0
  652. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  653. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
  654. package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
  655. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
  656. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  657. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +33 -35
  658. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  659. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +21 -0
  660. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
  661. package/libs/ui/layout/src/index.d.ts +3 -0
  662. package/libs/ui/layout/src/index.d.ts.map +1 -1
  663. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
  664. package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
  665. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
  666. package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
  667. package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
  668. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
  669. package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
  670. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
  671. package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
  672. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  673. package/libs/ui/map/src/index.d.ts +3 -2
  674. package/libs/ui/map/src/index.d.ts.map +1 -1
  675. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
  676. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  677. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
  678. package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
  679. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
  680. package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
  681. package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
  682. package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
  683. package/libs/ui/search/src/index.d.ts +1 -0
  684. package/libs/ui/search/src/index.d.ts.map +1 -1
  685. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
  686. package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
  687. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +20 -0
  688. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  689. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +36 -0
  690. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  691. package/libs/ui/widgets/src/index.d.ts +1 -1
  692. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  693. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts +19 -0
  694. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts.map +1 -0
  695. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts +1 -1
  696. package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
  697. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +10 -12
  698. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  699. package/libs/util/app-config/src/index.d.ts +1 -0
  700. package/libs/util/app-config/src/index.d.ts.map +1 -1
  701. package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
  702. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  703. package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
  704. package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
  705. package/libs/util/i18n/src/index.d.ts +1 -0
  706. package/libs/util/i18n/src/index.d.ts.map +1 -1
  707. package/libs/util/i18n/src/lib/i18n.constants.d.ts +0 -35
  708. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  709. package/libs/util/i18n/src/lib/language-codes.d.ts +38 -0
  710. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -0
  711. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  712. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  713. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
  714. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  715. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  716. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
  717. package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
  718. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  719. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  720. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts +2 -0
  721. package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts.map +1 -0
  722. package/package.json +5 -3
  723. package/src/libs/api/metadata-converter/src/index.ts +3 -0
  724. package/src/libs/api/metadata-converter/src/lib/common/license.ts +66 -0
  725. package/src/libs/api/metadata-converter/src/lib/common/url.ts +15 -0
  726. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +500 -0
  727. package/src/libs/api/metadata-converter/src/lib/dcat-ap/index.ts +1 -0
  728. package/src/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.ts +17 -0
  729. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +463 -0
  730. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +110 -0
  731. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/individual-name.ts +20 -0
  732. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/keyword.mapper.ts +16 -0
  733. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/role.mapper.ts +48 -0
  734. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +127 -0
  735. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +19 -0
  736. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +67 -0
  737. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.ts +1 -0
  738. package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +101 -0
  739. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +13 -0
  740. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +743 -0
  741. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +41 -5
  742. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +24 -5
  743. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +364 -17
  744. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +82 -4
  745. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +437 -0
  746. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +487 -0
  747. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +76 -0
  748. package/src/libs/api/metadata-converter/src/lib/function-utils.ts +1 -1
  749. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
  750. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +2 -1
  751. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +31 -18
  752. package/src/libs/api/metadata-converter/src/lib/gn4/types/index.ts +1 -0
  753. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +27 -0
  754. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  755. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +16 -9
  756. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +57 -14
  757. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +112 -65
  758. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +118 -53
  759. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +283 -54
  760. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.ts +39 -0
  761. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.ts +1 -1
  762. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +486 -289
  763. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +132 -28
  764. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +291 -16
  765. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
  766. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
  767. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +37 -5
  768. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +248 -31
  769. package/src/libs/common/domain/src/lib/model/error/index.ts +1 -0
  770. package/src/libs/common/domain/src/lib/model/error/publication-version.error.ts +9 -0
  771. package/src/libs/common/domain/src/lib/model/record/contact.model.ts +29 -1
  772. package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
  773. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +37 -20
  774. package/src/libs/common/domain/src/lib/model/record/organization.model.ts +5 -0
  775. package/src/libs/common/domain/src/lib/model/record/translation.model.ts +49 -0
  776. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +13 -6
  777. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  778. package/src/libs/common/domain/src/lib/platform.service.interface.ts +38 -3
  779. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +72 -3
  780. package/src/libs/common/fixtures/src/index.ts +6 -1
  781. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
  782. package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
  783. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
  784. package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
  785. package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1673 -3
  786. package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
  787. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
  788. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
  789. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
  790. package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
  791. package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
  792. package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
  793. package/src/libs/common/fixtures/src/lib/individual.fixtures.ts +61 -0
  794. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
  795. package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
  796. package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
  797. package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
  798. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +65 -3
  799. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
  800. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +220 -16
  801. package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
  802. package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
  803. package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
  804. package/src/libs/common/fixtures/src/lib/user.fixtures.ts +45 -15
  805. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
  806. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
  807. package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
  808. package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
  809. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +10 -14
  810. package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
  811. package/src/libs/data-access/gn4/src/spec.yaml +4 -13
  812. package/src/libs/feature/catalog/src/index.ts +1 -0
  813. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +5 -2
  814. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
  815. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
  816. package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
  817. package/src/libs/feature/catalog/src/lib/records/records.service.ts +6 -8
  818. package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
  819. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
  820. package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +8 -3
  821. package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
  822. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
  823. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +38 -78
  824. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
  825. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
  826. package/src/libs/feature/editor/src/index.ts +1 -0
  827. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +14 -1
  828. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +97 -17
  829. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +27 -4
  830. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +12 -1
  831. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +32 -9
  832. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +32 -8
  833. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +15 -0
  834. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +18 -0
  835. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  836. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +90 -0
  837. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +47 -0
  838. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +132 -0
  839. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
  840. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
  841. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +31 -0
  842. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +82 -0
  843. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +40 -0
  844. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +170 -0
  845. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +4 -0
  846. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +66 -0
  847. 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
  848. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.html +4 -0
  849. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.ts +21 -0
  850. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +10 -0
  851. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +78 -0
  852. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
  853. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  854. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +1 -0
  855. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +86 -0
  856. 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
  857. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +43 -0
  858. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +186 -0
  859. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.css +0 -0
  860. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +71 -0
  861. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +241 -0
  862. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
  863. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
  864. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
  865. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.css +0 -0
  866. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -0
  867. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +123 -0
  868. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +15 -8
  869. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
  870. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  871. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  872. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
  873. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
  874. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
  875. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +33 -0
  876. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +87 -0
  877. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
  878. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
  879. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +101 -90
  880. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +127 -83
  881. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +61 -75
  882. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +4 -2
  883. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +52 -9
  884. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +20 -7
  885. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +2 -6
  886. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
  887. package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
  888. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +4 -2
  889. package/src/libs/feature/editor/src/lib/fields.config.ts +258 -45
  890. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +65 -0
  891. package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
  892. package/src/libs/feature/editor/src/lib/services/editor.service.ts +48 -54
  893. package/src/libs/feature/map/src/index.ts +1 -8
  894. package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
  895. package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
  896. package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
  897. package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
  898. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
  899. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +23 -22
  900. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +22 -11
  901. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
  902. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +21 -19
  903. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
  904. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +17 -10
  905. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
  906. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +17 -10
  907. package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
  908. package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -41
  909. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
  910. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +2 -2
  911. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +39 -6
  912. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.css +0 -0
  913. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
  914. package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
  915. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
  916. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +8 -232
  917. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
  918. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
  919. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
  920. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
  921. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
  922. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +29 -20
  923. package/src/libs/feature/record/src/lib/feature-record.module.ts +14 -5
  924. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +4 -4
  925. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +45 -72
  926. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +1 -3
  927. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
  928. package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
  929. package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
  930. package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
  931. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +8 -0
  932. package/src/libs/feature/search/src/index.ts +1 -1
  933. package/src/libs/feature/search/src/lib/feature-search.module.ts +2 -1
  934. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +2 -1
  935. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +2 -2
  936. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.css +0 -0
  937. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +15 -0
  938. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +114 -0
  939. package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
  940. package/src/libs/feature/search/src/lib/state/search.facade.ts +11 -0
  941. package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
  942. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +16 -2
  943. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +8 -6
  944. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  945. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
  946. package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +2 -3
  947. package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
  948. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +11 -3
  949. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
  950. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
  951. package/src/libs/ui/elements/src/index.ts +4 -3
  952. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +29 -29
  953. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.css +0 -0
  954. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +12 -0
  955. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +37 -0
  956. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  957. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
  958. package/src/libs/ui/elements/src/lib/error/error.component.html +30 -6
  959. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
  960. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
  961. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -17
  962. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
  963. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +7 -1
  964. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +14 -10
  965. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +14 -20
  966. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +0 -10
  967. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
  968. package/src/libs/ui/elements/src/lib/notification/notification.component.html +1 -3
  969. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
  970. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
  971. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
  972. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +11 -6
  973. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
  974. package/src/libs/ui/inputs/src/index.ts +6 -0
  975. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -19
  976. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +33 -15
  977. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +97 -30
  978. package/src/libs/ui/inputs/src/lib/badge/badge.component.css +0 -0
  979. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +26 -0
  980. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +28 -0
  981. package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
  982. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
  983. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +14 -5
  984. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +15 -2
  985. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
  986. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +29 -24
  987. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +20 -16
  988. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  989. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
  990. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +89 -0
  991. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
  992. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
  993. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +76 -68
  994. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +17 -14
  995. package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +5 -1
  996. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +32 -0
  997. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +14 -0
  998. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +39 -0
  999. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
  1000. package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
  1001. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
  1002. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
  1003. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -9
  1004. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
  1005. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +41 -0
  1006. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +56 -0
  1007. package/src/libs/ui/layout/src/index.ts +3 -0
  1008. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
  1009. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
  1010. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +1 -1
  1011. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -2
  1012. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.css +0 -0
  1013. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +1 -0
  1014. package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
  1015. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
  1016. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
  1017. package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
  1018. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.css +18 -0
  1019. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
  1020. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.ts +53 -0
  1021. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -1
  1022. package/src/libs/ui/map/src/index.ts +3 -2
  1023. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
  1024. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
  1025. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
  1026. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +203 -0
  1027. package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
  1028. package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
  1029. package/src/libs/ui/search/src/index.ts +1 -0
  1030. package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
  1031. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  1032. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +26 -0
  1033. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +74 -0
  1034. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
  1035. package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +51 -15
  1036. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +151 -0
  1037. package/src/libs/ui/widgets/src/index.ts +1 -1
  1038. package/src/libs/ui/widgets/src/lib/popover/popover.component.css +0 -0
  1039. package/src/libs/ui/widgets/src/lib/popover/popover.component.html +3 -0
  1040. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +85 -0
  1041. package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +4 -0
  1042. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -6
  1043. package/src/libs/util/app-config/src/index.ts +1 -0
  1044. package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
  1045. package/src/libs/util/app-config/src/lib/map-layers.ts +31 -0
  1046. package/src/libs/util/i18n/src/index.ts +1 -0
  1047. package/src/libs/util/i18n/src/lib/i18n.constants.ts +0 -43
  1048. package/src/libs/util/i18n/src/lib/lang.service.ts +1 -1
  1049. package/src/libs/util/i18n/src/lib/language-codes.ts +44 -0
  1050. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
  1051. package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
  1052. package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
  1053. package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
  1054. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  1055. package/src/libs/util/shared/src/lib/utils/no-duplicate-file-name.ts +23 -0
  1056. package/tailwind.base.config.js +1 -0
  1057. package/tailwind.base.css +77 -7
  1058. package/translations/de.json +180 -33
  1059. package/translations/en.json +188 -41
  1060. package/translations/es.json +158 -11
  1061. package/translations/fr.json +218 -71
  1062. package/translations/it.json +161 -14
  1063. package/translations/nl.json +158 -11
  1064. package/translations/pt.json +158 -11
  1065. package/translations/sk.json +160 -13
  1066. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
  1067. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.mjs +0 -11
  1068. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
  1069. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
  1070. package/esm2022/libs/feature/map/src/lib/+state/map.effects.mjs +0 -15
  1071. package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
  1072. package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
  1073. package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
  1074. package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
  1075. package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
  1076. package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
  1077. package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
  1078. package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
  1079. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
  1080. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
  1081. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -128
  1082. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
  1083. package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
  1084. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
  1085. package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +0 -17
  1086. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
  1087. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +0 -1
  1088. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts +0 -6
  1089. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.d.ts.map +0 -1
  1090. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
  1091. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
  1092. package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
  1093. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
  1094. package/libs/feature/map/src/lib/+state/map.effects.d.ts +0 -9
  1095. package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
  1096. package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
  1097. package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
  1098. package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
  1099. package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
  1100. package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
  1101. package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
  1102. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
  1103. package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
  1104. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
  1105. package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
  1106. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
  1107. package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
  1108. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
  1109. package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
  1110. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
  1111. package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
  1112. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
  1113. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
  1114. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
  1115. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
  1116. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -33
  1117. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
  1118. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
  1119. package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
  1120. package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
  1121. package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
  1122. package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
  1123. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts +0 -7
  1124. package/libs/ui/widgets/src/lib/badge/badge.component.d.ts.map +0 -1
  1125. package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
  1126. package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
  1127. package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
  1128. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -8
  1129. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -70
  1130. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
  1131. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
  1132. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.html +0 -1
  1133. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.ts +0 -10
  1134. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
  1135. package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
  1136. package/src/libs/feature/map/src/lib/+state/map.effects.ts +0 -7
  1137. package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
  1138. package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
  1139. package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
  1140. package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
  1141. package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
  1142. package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
  1143. package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
  1144. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
  1145. package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
  1146. package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -51
  1147. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
  1148. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
  1149. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -164
  1150. package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
  1151. package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
  1152. package/src/libs/ui/widgets/src/lib/badge/badge.component.html +0 -10
  1153. package/src/libs/ui/widgets/src/lib/badge/badge.component.ts +0 -11
  1154. /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → contact-card/contact-card.component.css} +0 -0
  1155. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → generic-keywords/generic-keywords.component.css} +0 -0
  1156. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extent/form-field-temporal-extent.component.css → import-record/import-record.component.css} +0 -0
  1157. /package/src/libs/feature/{map/src/lib/map-container/map-container.component.css → editor/src/lib/components/online-resource-card/online-resource-card.component.css} +0 -0
  1158. /package/src/libs/feature/{map/src/lib/map-context/component/map-context.component.css → editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.css} +0 -0
  1159. /package/src/libs/feature/{search/src/lib/results-table/results-table.component.css → editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.css} +0 -0
  1160. /package/src/libs/{ui/elements/src/lib/max-lines/max-lines.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.css} +0 -0
  1161. /package/src/libs/{ui/map/src/lib/components/map/map.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.css} +0 -0
  1162. /package/src/libs/{ui/widgets/src/lib/badge/badge.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css} +0 -0
  1163. /package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +0 -0
@@ -1,26 +1,55 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
2
  import { Actions, createEffect, ofType } from '@ngrx/effects';
3
- import { of, withLatestFrom } from 'rxjs';
3
+ import { debounceTime, EMPTY, filter, of, withLatestFrom } from 'rxjs';
4
4
  import { catchError, map, switchMap } from 'rxjs/operators';
5
5
  import * as EditorActions from './editor.actions';
6
6
  import { EditorService } from '../services/editor.service';
7
7
  import { Store } from '@ngrx/store';
8
- import { selectRecord, selectRecordFieldsConfig } from './editor.selectors';
8
+ import { selectEditorConfig, selectRecord, selectRecordAlreadySavedOnce, selectRecordSource, } from './editor.selectors';
9
+ import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface';
10
+ import { Gn4PlatformService } from '../../../../../../libs/api/repository/src';
9
11
  import * as i0 from "@angular/core";
10
12
  export class EditorEffects {
11
13
  constructor() {
12
14
  this.actions$ = inject(Actions);
13
15
  this.editorService = inject(EditorService);
16
+ this.recordsRepository = inject(RecordsRepositoryInterface);
17
+ this.gn4PlateformService = inject(Gn4PlatformService);
14
18
  this.store = inject(Store);
15
- this.saveRecord$ = createEffect(() => this.actions$.pipe(ofType(EditorActions.saveRecord), withLatestFrom(this.store.select(selectRecord), this.store.select(selectRecordFieldsConfig)), switchMap(([, record, fieldsConfig]) => this.editorService.saveRecord(record, fieldsConfig).pipe(switchMap((newRecord) => of(EditorActions.saveRecordSuccess(), EditorActions.openRecord({ record: newRecord }))), catchError((error) => of(EditorActions.saveRecordFailure({
16
- error: error.message,
19
+ this.saveRecord$ = createEffect(() => this.actions$.pipe(ofType(EditorActions.saveRecord), withLatestFrom(this.store.select(selectRecord), this.store.select(selectRecordSource), this.store.select(selectEditorConfig), this.store.select(selectRecordAlreadySavedOnce)), switchMap(([, record, recordSource, fieldsConfig, alreadySavedOnce]) => this.editorService
20
+ .saveRecord(record, recordSource, fieldsConfig, !alreadySavedOnce)
21
+ .pipe(switchMap(([record, recordSource]) => of(EditorActions.saveRecordSuccess(), EditorActions.openRecord({
22
+ record,
23
+ alreadySavedOnce: true,
24
+ recordSource,
25
+ }))), catchError((error) => of(EditorActions.saveRecordFailure({
26
+ error,
17
27
  })))))));
28
+ this.cleanRecordAttachments$ = createEffect(() => this.actions$.pipe(ofType(EditorActions.saveRecordSuccess), withLatestFrom(this.store.select(selectRecord)), switchMap(([_, record]) => {
29
+ this.gn4PlateformService.cleanRecordAttachments(record).subscribe({
30
+ next: (_) => undefined,
31
+ error: (err) => {
32
+ console.error(err);
33
+ },
34
+ });
35
+ return EMPTY;
36
+ }), catchError((error) => {
37
+ console.error(error);
38
+ return EMPTY;
39
+ })), { dispatch: false });
18
40
  this.markAsChanged$ = createEffect(() => this.actions$.pipe(ofType(EditorActions.updateRecordField), map(() => EditorActions.markRecordAsChanged())));
41
+ this.saveRecordDraft$ = createEffect(() => this.actions$.pipe(ofType(EditorActions.updateRecordField), debounceTime(1000), withLatestFrom(this.store.select(selectRecord), this.store.select(selectRecordSource)), switchMap(([, record, recordSource]) => this.editorService.saveRecordAsDraft(record, recordSource)), map(() => EditorActions.draftSaveSuccess())));
42
+ this.undoRecordDraft$ = createEffect(() => this.actions$.pipe(ofType(EditorActions.undoRecordDraft), withLatestFrom(this.store.select(selectRecord)), switchMap(([, record]) => this.editorService.undoRecordDraft(record)), map(([record, recordSource, alreadySavedOnce]) => EditorActions.openRecord({
43
+ record,
44
+ alreadySavedOnce,
45
+ recordSource,
46
+ }))));
47
+ this.checkHasChangesOnOpen$ = createEffect(() => this.actions$.pipe(ofType(EditorActions.openRecord), map(({ record }) => this.recordsRepository.recordHasDraft(record.uniqueIdentifier)), filter((hasDraft) => hasDraft), map(() => EditorActions.markRecordAsChanged())));
19
48
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EditorEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EditorEffects }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
50
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorEffects }); }
22
51
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EditorEffects, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorEffects, decorators: [{
24
53
  type: Injectable
25
54
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvK3N0YXRlL2VkaXRvci5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMzRCxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTs7QUFHM0UsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzFCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ3JDLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFN0IsZ0JBQVcsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUNoQyxjQUFjLENBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQzVDLEVBQ0QsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFLENBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3RELFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQ3RCLEVBQUUsQ0FDQSxhQUFhLENBQUMsaUJBQWlCLEVBQUUsRUFDakMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUNoRCxDQUNGLEVBQ0QsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDbkIsRUFBRSxDQUNBLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztZQUM5QixLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU87U0FDckIsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUNGLENBQ0YsQ0FDRixDQUFBO1FBRUQsbUJBQWMsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQ3ZDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUMvQyxDQUNGLENBQUE7S0FDRjs4R0F0Q1ksYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cydcbmltcG9ydCB7IG9mLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0ICogYXMgRWRpdG9yQWN0aW9ucyBmcm9tICcuL2VkaXRvci5hY3Rpb25zJ1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2VkaXRvci5zZXJ2aWNlJ1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCB7IHNlbGVjdFJlY29yZCwgc2VsZWN0UmVjb3JkRmllbGRzQ29uZmlnIH0gZnJvbSAnLi9lZGl0b3Iuc2VsZWN0b3JzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWRpdG9yRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucylcbiAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlID0gaW5qZWN0KEVkaXRvclNlcnZpY2UpXG4gIHByaXZhdGUgc3RvcmUgPSBpbmplY3QoU3RvcmUpXG5cbiAgc2F2ZVJlY29yZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRWRpdG9yQWN0aW9ucy5zYXZlUmVjb3JkKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RSZWNvcmQpLFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RSZWNvcmRGaWVsZHNDb25maWcpXG4gICAgICApLFxuICAgICAgc3dpdGNoTWFwKChbLCByZWNvcmQsIGZpZWxkc0NvbmZpZ10pID0+XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zYXZlUmVjb3JkKHJlY29yZCwgZmllbGRzQ29uZmlnKS5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgobmV3UmVjb3JkKSA9PlxuICAgICAgICAgICAgb2YoXG4gICAgICAgICAgICAgIEVkaXRvckFjdGlvbnMuc2F2ZVJlY29yZFN1Y2Nlc3MoKSxcbiAgICAgICAgICAgICAgRWRpdG9yQWN0aW9ucy5vcGVuUmVjb3JkKHsgcmVjb3JkOiBuZXdSZWNvcmQgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PlxuICAgICAgICAgICAgb2YoXG4gICAgICAgICAgICAgIEVkaXRvckFjdGlvbnMuc2F2ZVJlY29yZEZhaWx1cmUoe1xuICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIG1hcmtBc0NoYW5nZWQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKEVkaXRvckFjdGlvbnMudXBkYXRlUmVjb3JkRmllbGQpLFxuICAgICAgbWFwKCgpID0+IEVkaXRvckFjdGlvbnMubWFya1JlY29yZEFzQ2hhbmdlZCgpKVxuICAgIClcbiAgKVxufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvK3N0YXRlL2VkaXRvci5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMzRCxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ25DLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLDRCQUE0QixFQUM1QixrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQTtBQUNqSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTs7QUFHOUUsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzFCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ3JDLHNCQUFpQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO1FBQ3RELHdCQUFtQixHQUFHLE1BQU0sQ0FB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QkFBaUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQy9ELEVBQ0QsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFDOUIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQy9DLENBQ0YsQ0FBQTtLQUNGOytHQS9HWSxhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJ1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBFTVBUWSwgZmlsdGVyLCBvZiwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCAqIGFzIEVkaXRvckFjdGlvbnMgZnJvbSAnLi9lZGl0b3IuYWN0aW9ucydcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lZGl0b3Iuc2VydmljZSdcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQge1xuICBzZWxlY3RFZGl0b3JDb25maWcsXG4gIHNlbGVjdFJlY29yZCxcbiAgc2VsZWN0UmVjb3JkQWxyZWFkeVNhdmVkT25jZSxcbiAgc2VsZWN0UmVjb3JkU291cmNlLFxufSBmcm9tICcuL2VkaXRvci5zZWxlY3RvcnMnXG5pbXBvcnQgeyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3JlcG9zaXRvcnkvcmVjb3Jkcy1yZXBvc2l0b3J5LmludGVyZmFjZSdcbmltcG9ydCB7IEduNFBsYXRmb3JtU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWRpdG9yRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucylcbiAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlID0gaW5qZWN0KEVkaXRvclNlcnZpY2UpXG4gIHByaXZhdGUgcmVjb3Jkc1JlcG9zaXRvcnkgPSBpbmplY3QoUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UpXG4gIHByaXZhdGUgZ240UGxhdGVmb3JtU2VydmljZSA9IGluamVjdChHbjRQbGF0Zm9ybVNlcnZpY2UpXG4gIHByaXZhdGUgc3RvcmUgPSBpbmplY3QoU3RvcmUpXG5cbiAgc2F2ZVJlY29yZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRWRpdG9yQWN0aW9ucy5zYXZlUmVjb3JkKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RSZWNvcmQpLFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RSZWNvcmRTb3VyY2UpLFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RFZGl0b3JDb25maWcpLFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RSZWNvcmRBbHJlYWR5U2F2ZWRPbmNlKVxuICAgICAgKSxcbiAgICAgIHN3aXRjaE1hcCgoWywgcmVjb3JkLCByZWNvcmRTb3VyY2UsIGZpZWxkc0NvbmZpZywgYWxyZWFkeVNhdmVkT25jZV0pID0+XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZVxuICAgICAgICAgIC5zYXZlUmVjb3JkKHJlY29yZCwgcmVjb3JkU291cmNlLCBmaWVsZHNDb25maWcsICFhbHJlYWR5U2F2ZWRPbmNlKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbcmVjb3JkLCByZWNvcmRTb3VyY2VdKSA9PlxuICAgICAgICAgICAgICBvZihcbiAgICAgICAgICAgICAgICBFZGl0b3JBY3Rpb25zLnNhdmVSZWNvcmRTdWNjZXNzKCksXG4gICAgICAgICAgICAgICAgRWRpdG9yQWN0aW9ucy5vcGVuUmVjb3JkKHtcbiAgICAgICAgICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgICAgICAgICAgIGFscmVhZHlTYXZlZE9uY2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICByZWNvcmRTb3VyY2UsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PlxuICAgICAgICAgICAgICBvZihcbiAgICAgICAgICAgICAgICBFZGl0b3JBY3Rpb25zLnNhdmVSZWNvcmRGYWlsdXJlKHtcbiAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgY2xlYW5SZWNvcmRBdHRhY2htZW50cyQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKEVkaXRvckFjdGlvbnMuc2F2ZVJlY29yZFN1Y2Nlc3MpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RSZWNvcmQpKSxcbiAgICAgICAgc3dpdGNoTWFwKChbXywgcmVjb3JkXSkgPT4ge1xuICAgICAgICAgIHRoaXMuZ240UGxhdGVmb3JtU2VydmljZS5jbGVhblJlY29yZEF0dGFjaG1lbnRzKHJlY29yZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IChfKSA9PiB1bmRlZmluZWQsXG4gICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycilcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm4gRU1QVFlcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcbiAgICAgICAgICByZXR1cm4gRU1QVFlcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApXG5cbiAgbWFya0FzQ2hhbmdlZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoRWRpdG9yQWN0aW9ucy51cGRhdGVSZWNvcmRGaWVsZCksXG4gICAgICBtYXAoKCkgPT4gRWRpdG9yQWN0aW9ucy5tYXJrUmVjb3JkQXNDaGFuZ2VkKCkpXG4gICAgKVxuICApXG5cbiAgc2F2ZVJlY29yZERyYWZ0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShFZGl0b3JBY3Rpb25zLnVwZGF0ZVJlY29yZEZpZWxkKSxcbiAgICAgIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RSZWNvcmQpLFxuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RSZWNvcmRTb3VyY2UpXG4gICAgICApLFxuICAgICAgc3dpdGNoTWFwKChbLCByZWNvcmQsIHJlY29yZFNvdXJjZV0pID0+XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zYXZlUmVjb3JkQXNEcmFmdChyZWNvcmQsIHJlY29yZFNvdXJjZSlcbiAgICAgICksXG4gICAgICBtYXAoKCkgPT4gRWRpdG9yQWN0aW9ucy5kcmFmdFNhdmVTdWNjZXNzKCkpXG4gICAgKVxuICApXG5cbiAgdW5kb1JlY29yZERyYWZ0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShFZGl0b3JBY3Rpb25zLnVuZG9SZWNvcmREcmFmdCksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RSZWNvcmQpKSxcbiAgICAgIHN3aXRjaE1hcCgoWywgcmVjb3JkXSkgPT4gdGhpcy5lZGl0b3JTZXJ2aWNlLnVuZG9SZWNvcmREcmFmdChyZWNvcmQpKSxcbiAgICAgIG1hcCgoW3JlY29yZCwgcmVjb3JkU291cmNlLCBhbHJlYWR5U2F2ZWRPbmNlXSkgPT5cbiAgICAgICAgRWRpdG9yQWN0aW9ucy5vcGVuUmVjb3JkKHtcbiAgICAgICAgICByZWNvcmQsXG4gICAgICAgICAgYWxyZWFkeVNhdmVkT25jZSxcbiAgICAgICAgICByZWNvcmRTb3VyY2UsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgY2hlY2tIYXNDaGFuZ2VzT25PcGVuJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShFZGl0b3JBY3Rpb25zLm9wZW5SZWNvcmQpLFxuICAgICAgbWFwKCh7IHJlY29yZCB9KSA9PlxuICAgICAgICB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LnJlY29yZEhhc0RyYWZ0KHJlY29yZC51bmlxdWVJZGVudGlmaWVyKVxuICAgICAgKSxcbiAgICAgIGZpbHRlcigoaGFzRHJhZnQpID0+IGhhc0RyYWZ0KSxcbiAgICAgIG1hcCgoKSA9PiBFZGl0b3JBY3Rpb25zLm1hcmtSZWNvcmRBc0NoYW5nZWQoKSlcbiAgICApXG4gIClcbn1cbiJdfQ==
@@ -10,25 +10,36 @@ export class EditorFacade {
10
10
  this.store = inject(Store);
11
11
  this.actions$ = inject(Actions);
12
12
  this.record$ = this.store.pipe(select(EditorSelectors.selectRecord));
13
+ this.recordSource$ = this.store.pipe(select(EditorSelectors.selectRecordSource));
14
+ this.alreadySavedOnce$ = this.store.pipe(select(EditorSelectors.selectRecordAlreadySavedOnce));
13
15
  this.saving$ = this.store.pipe(select(EditorSelectors.selectRecordSaving));
14
16
  this.saveError$ = this.store.pipe(select(EditorSelectors.selectRecordSaveError), filter((error) => !!error));
15
17
  this.saveSuccess$ = this.actions$.pipe(ofType(EditorActions.saveRecordSuccess));
16
18
  this.changedSinceSave$ = this.store.pipe(select(EditorSelectors.selectRecordChangedSinceSave));
17
- this.recordFields$ = this.store.pipe(select(EditorSelectors.selectRecordFields));
19
+ this.currentSections$ = this.store.pipe(select(EditorSelectors.selectRecordSections));
20
+ this.draftSaveSuccess$ = this.actions$.pipe(ofType(EditorActions.draftSaveSuccess));
21
+ this.currentPage$ = this.store.pipe(select(EditorSelectors.selectCurrentPage));
22
+ this.editorConfig$ = this.store.pipe(select(EditorSelectors.selectEditorConfig));
18
23
  }
19
- openRecord(record) {
20
- this.store.dispatch(EditorActions.openRecord({ record }));
24
+ openRecord(record, recordSource, alreadySavedOnce) {
25
+ this.store.dispatch(EditorActions.openRecord({ record, recordSource, alreadySavedOnce }));
21
26
  }
22
27
  saveRecord() {
23
28
  this.store.dispatch(EditorActions.saveRecord());
24
29
  }
30
+ undoRecordDraft() {
31
+ this.store.dispatch(EditorActions.undoRecordDraft());
32
+ }
25
33
  updateRecordField(field, value) {
26
34
  this.store.dispatch(EditorActions.updateRecordField({ field, value }));
27
35
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EditorFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EditorFacade }); }
36
+ setCurrentPage(page) {
37
+ this.store.dispatch(EditorActions.setCurrentPage({ page }));
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorFacade }); }
30
41
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EditorFacade, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorFacade, decorators: [{
32
43
  type: Injectable
33
44
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi8rc3RhdGUvZWRpdG9yLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMzQyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sS0FBSyxlQUFlLE1BQU0sb0JBQW9CLENBQUE7QUFFckQsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFHL0MsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFbUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QixhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRWxDLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUE7UUFDL0QsWUFBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFBO1FBQ3JFLGVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDMUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUM3QyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDM0IsQ0FBQTtRQUNELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7UUFDMUUsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2pDLE1BQU0sQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsQ0FDckQsQ0FBQTtRQUNELGtCQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUE7S0FhNUU7SUFYQyxVQUFVLENBQUMsTUFBcUI7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsS0FBYztRQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3hFLENBQUM7OEdBMUJVLFlBQVk7a0hBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQgKiBhcyBFZGl0b3JBY3Rpb25zIGZyb20gJy4vZWRpdG9yLmFjdGlvbnMnXG5pbXBvcnQgKiBhcyBFZGl0b3JTZWxlY3RvcnMgZnJvbSAnLi9lZGl0b3Iuc2VsZWN0b3JzJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBBY3Rpb25zLCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWRpdG9yRmFjYWRlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yZSA9IGluamVjdChTdG9yZSlcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKVxuXG4gIHJlY29yZCQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KEVkaXRvclNlbGVjdG9ycy5zZWxlY3RSZWNvcmQpKVxuICBzYXZpbmckID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChFZGl0b3JTZWxlY3RvcnMuc2VsZWN0UmVjb3JkU2F2aW5nKSlcbiAgc2F2ZUVycm9yJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoRWRpdG9yU2VsZWN0b3JzLnNlbGVjdFJlY29yZFNhdmVFcnJvciksXG4gICAgZmlsdGVyKChlcnJvcikgPT4gISFlcnJvcilcbiAgKVxuICBzYXZlU3VjY2VzcyQgPSB0aGlzLmFjdGlvbnMkLnBpcGUob2ZUeXBlKEVkaXRvckFjdGlvbnMuc2F2ZVJlY29yZFN1Y2Nlc3MpKVxuICBjaGFuZ2VkU2luY2VTYXZlJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoRWRpdG9yU2VsZWN0b3JzLnNlbGVjdFJlY29yZENoYW5nZWRTaW5jZVNhdmUpXG4gIClcbiAgcmVjb3JkRmllbGRzJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoRWRpdG9yU2VsZWN0b3JzLnNlbGVjdFJlY29yZEZpZWxkcykpXG5cbiAgb3BlblJlY29yZChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEVkaXRvckFjdGlvbnMub3BlblJlY29yZCh7IHJlY29yZCB9KSlcbiAgfVxuXG4gIHNhdmVSZWNvcmQoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChFZGl0b3JBY3Rpb25zLnNhdmVSZWNvcmQoKSlcbiAgfVxuXG4gIHVwZGF0ZVJlY29yZEZpZWxkKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChFZGl0b3JBY3Rpb25zLnVwZGF0ZVJlY29yZEZpZWxkKHsgZmllbGQsIHZhbHVlIH0pKVxuICB9XG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi8rc3RhdGUvZWRpdG9yLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMzQyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sS0FBSyxlQUFlLE1BQU0sb0JBQW9CLENBQUE7QUFFckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFHL0MsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFbUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QixhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRWxDLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUE7UUFDL0Qsa0JBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtRQUMzRSxzQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDakMsTUFBTSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUNyRCxDQUFBO1FBQ0QsWUFBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFBO1FBQ3JFLGVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDMUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUM3QyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDM0IsQ0FBQTtRQUNELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7UUFDMUUsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2pDLE1BQU0sQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsQ0FDckQsQ0FBQTtRQUNELHFCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNoQyxNQUFNLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQzdDLENBQUE7UUFDRCxzQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQTtRQUM5RSxpQkFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFBO1FBQ3pFLGtCQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUE7S0EyQjVFO0lBekJDLFVBQVUsQ0FDUixNQUFxQixFQUNyQixZQUFvQixFQUNwQixnQkFBeUI7UUFFekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FDckUsQ0FBQTtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYSxFQUFFLEtBQWM7UUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM3RCxDQUFDOytHQWpEVSxZQUFZO21IQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0ICogYXMgRWRpdG9yQWN0aW9ucyBmcm9tICcuL2VkaXRvci5hY3Rpb25zJ1xuaW1wb3J0ICogYXMgRWRpdG9yU2VsZWN0b3JzIGZyb20gJy4vZWRpdG9yLnNlbGVjdG9ycydcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cydcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVkaXRvckZhY2FkZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoU3RvcmUpXG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucylcblxuICByZWNvcmQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChFZGl0b3JTZWxlY3RvcnMuc2VsZWN0UmVjb3JkKSlcbiAgcmVjb3JkU291cmNlJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoRWRpdG9yU2VsZWN0b3JzLnNlbGVjdFJlY29yZFNvdXJjZSkpXG4gIGFscmVhZHlTYXZlZE9uY2UkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChFZGl0b3JTZWxlY3RvcnMuc2VsZWN0UmVjb3JkQWxyZWFkeVNhdmVkT25jZSlcbiAgKVxuICBzYXZpbmckID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChFZGl0b3JTZWxlY3RvcnMuc2VsZWN0UmVjb3JkU2F2aW5nKSlcbiAgc2F2ZUVycm9yJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoRWRpdG9yU2VsZWN0b3JzLnNlbGVjdFJlY29yZFNhdmVFcnJvciksXG4gICAgZmlsdGVyKChlcnJvcikgPT4gISFlcnJvcilcbiAgKVxuICBzYXZlU3VjY2VzcyQgPSB0aGlzLmFjdGlvbnMkLnBpcGUob2ZUeXBlKEVkaXRvckFjdGlvbnMuc2F2ZVJlY29yZFN1Y2Nlc3MpKVxuICBjaGFuZ2VkU2luY2VTYXZlJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoRWRpdG9yU2VsZWN0b3JzLnNlbGVjdFJlY29yZENoYW5nZWRTaW5jZVNhdmUpXG4gIClcbiAgY3VycmVudFNlY3Rpb25zJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoRWRpdG9yU2VsZWN0b3JzLnNlbGVjdFJlY29yZFNlY3Rpb25zKVxuICApXG4gIGRyYWZ0U2F2ZVN1Y2Nlc3MkID0gdGhpcy5hY3Rpb25zJC5waXBlKG9mVHlwZShFZGl0b3JBY3Rpb25zLmRyYWZ0U2F2ZVN1Y2Nlc3MpKVxuICBjdXJyZW50UGFnZSQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KEVkaXRvclNlbGVjdG9ycy5zZWxlY3RDdXJyZW50UGFnZSkpXG4gIGVkaXRvckNvbmZpZyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KEVkaXRvclNlbGVjdG9ycy5zZWxlY3RFZGl0b3JDb25maWcpKVxuXG4gIG9wZW5SZWNvcmQoXG4gICAgcmVjb3JkOiBDYXRhbG9nUmVjb3JkLFxuICAgIHJlY29yZFNvdXJjZTogc3RyaW5nLFxuICAgIGFscmVhZHlTYXZlZE9uY2U6IGJvb2xlYW5cbiAgKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIEVkaXRvckFjdGlvbnMub3BlblJlY29yZCh7IHJlY29yZCwgcmVjb3JkU291cmNlLCBhbHJlYWR5U2F2ZWRPbmNlIH0pXG4gICAgKVxuICB9XG5cbiAgc2F2ZVJlY29yZCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEVkaXRvckFjdGlvbnMuc2F2ZVJlY29yZCgpKVxuICB9XG5cbiAgdW5kb1JlY29yZERyYWZ0KCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRWRpdG9yQWN0aW9ucy51bmRvUmVjb3JkRHJhZnQoKSlcbiAgfVxuXG4gIHVwZGF0ZVJlY29yZEZpZWxkKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChFZGl0b3JBY3Rpb25zLnVwZGF0ZVJlY29yZEZpZWxkKHsgZmllbGQsIHZhbHVlIH0pKVxuICB9XG5cbiAgc2V0Q3VycmVudFBhZ2UocGFnZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChFZGl0b3JBY3Rpb25zLnNldEN1cnJlbnRQYWdlKHsgcGFnZSB9KSlcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi8rc3RhdGUvZWRpdG9yLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2F2ZVJlY29yZEVycm9yID0gc3RyaW5nXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi8rc3RhdGUvZWRpdG9yLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yRmllbGQsIEVkaXRvckZpZWxkVmFsdWUsIEVkaXRvclNlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMnXG5cbmV4cG9ydCB0eXBlIFNhdmVSZWNvcmRFcnJvciA9IEVycm9yXG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yRmllbGRXaXRoVmFsdWUge1xuICBjb25maWc6IEVkaXRvckZpZWxkXG4gIHZhbHVlOiBFZGl0b3JGaWVsZFZhbHVlXG59XG5cbmV4cG9ydCB0eXBlIEVkaXRvclNlY3Rpb25XaXRoVmFsdWVzID0gRWRpdG9yU2VjdGlvbiAmIHtcbiAgZmllbGRzV2l0aFZhbHVlczogRWRpdG9yRmllbGRXaXRoVmFsdWVbXVxufVxuIl19
@@ -1,17 +1,22 @@
1
1
  import { createReducer, on } from '@ngrx/store';
2
2
  import * as EditorActions from './editor.actions';
3
- import { DEFAULT_FIELDS } from '../fields.config';
3
+ import { DEFAULT_CONFIGURATION } from '../fields.config';
4
4
  export const EDITOR_FEATURE_KEY = 'editor';
5
5
  export const initialEditorState = {
6
6
  record: null,
7
+ recordSource: null,
8
+ alreadySavedOnce: false,
7
9
  saving: false,
8
10
  saveError: null,
9
11
  changedSinceSave: false,
10
- fieldsConfig: DEFAULT_FIELDS,
12
+ editorConfig: DEFAULT_CONFIGURATION,
13
+ currentPage: 0,
11
14
  };
12
- const reducer = createReducer(initialEditorState, on(EditorActions.openRecord, (state, { record }) => ({
15
+ const reducer = createReducer(initialEditorState, on(EditorActions.openRecord, (state, { record, recordSource, alreadySavedOnce }) => ({
13
16
  ...state,
14
17
  changedSinceSave: false,
18
+ recordSource: recordSource ?? null,
19
+ alreadySavedOnce,
15
20
  record,
16
21
  })), on(EditorActions.saveRecord, (state) => ({
17
22
  ...state,
@@ -35,8 +40,11 @@ const reducer = createReducer(initialEditorState, on(EditorActions.openRecord, (
35
40
  })), on(EditorActions.markRecordAsChanged, (state) => ({
36
41
  ...state,
37
42
  changedSinceSave: true,
43
+ })), on(EditorActions.setCurrentPage, (state, { page }) => ({
44
+ ...state,
45
+ currentPage: page,
38
46
  })));
39
47
  export function editorReducer(state, action) {
40
48
  return reducer(state, action);
41
49
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvK3N0YXRlL2VkaXRvci5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3ZELE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFJakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQTtBQWMxQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDN0MsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsS0FBSztJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixZQUFZLEVBQUUsY0FBYztDQUM3QixDQUFBO0FBRUQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUMzQixrQkFBa0IsRUFDbEIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRCxHQUFHLEtBQUs7SUFDUixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLE1BQU07Q0FDUCxDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2QyxHQUFHLEtBQUs7SUFDUixNQUFNLEVBQUUsSUFBSTtJQUNaLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUMsR0FBRyxLQUFLO0lBQ1IsTUFBTSxFQUFFLEtBQUs7SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLGdCQUFnQixFQUFFLEtBQUs7Q0FDeEIsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELEdBQUcsS0FBSztJQUNSLE1BQU0sRUFBRSxLQUFLO0lBQ2IsU0FBUyxFQUFFLEtBQUs7Q0FDakIsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRSxHQUFHLEtBQUs7SUFDUixNQUFNLEVBQUU7UUFDTixHQUFHLEtBQUssQ0FBQyxNQUFNO1FBQ2YsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLO0tBQ2Y7Q0FDRixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsYUFBYSxDQUFDLG1CQUFtQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELEdBQUcsS0FBSztJQUNSLGdCQUFnQixFQUFFLElBQUk7Q0FDdkIsQ0FBQyxDQUFDLENBQ0osQ0FBQTtBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBOEIsRUFBRSxNQUFjO0lBQzFFLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0ICogYXMgRWRpdG9yQWN0aW9ucyBmcm9tICcuL2VkaXRvci5hY3Rpb25zJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IFNhdmVSZWNvcmRFcnJvciB9IGZyb20gJy4vZWRpdG9yLm1vZGVscydcbmltcG9ydCB7IEVkaXRvckZpZWxkc0NvbmZpZyB9IGZyb20gJy4uL21vZGVscy9maWVsZHMubW9kZWwnXG5pbXBvcnQgeyBERUZBVUxUX0ZJRUxEUyB9IGZyb20gJy4uL2ZpZWxkcy5jb25maWcnXG5cbmV4cG9ydCBjb25zdCBFRElUT1JfRkVBVFVSRV9LRVkgPSAnZWRpdG9yJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRvclN0YXRlIHtcbiAgcmVjb3JkOiBDYXRhbG9nUmVjb3JkIHwgbnVsbFxuICBzYXZpbmc6IGJvb2xlYW5cbiAgc2F2ZUVycm9yOiBTYXZlUmVjb3JkRXJyb3IgfCBudWxsXG4gIGNoYW5nZWRTaW5jZVNhdmU6IGJvb2xlYW5cbiAgZmllbGRzQ29uZmlnOiBFZGl0b3JGaWVsZHNDb25maWdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JQYXJ0aWFsU3RhdGUge1xuICByZWFkb25seSBbRURJVE9SX0ZFQVRVUkVfS0VZXTogRWRpdG9yU3RhdGVcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxFZGl0b3JTdGF0ZTogRWRpdG9yU3RhdGUgPSB7XG4gIHJlY29yZDogbnVsbCxcbiAgc2F2aW5nOiBmYWxzZSxcbiAgc2F2ZUVycm9yOiBudWxsLFxuICBjaGFuZ2VkU2luY2VTYXZlOiBmYWxzZSxcbiAgZmllbGRzQ29uZmlnOiBERUZBVUxUX0ZJRUxEUyxcbn1cblxuY29uc3QgcmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxFZGl0b3JTdGF0ZSxcbiAgb24oRWRpdG9yQWN0aW9ucy5vcGVuUmVjb3JkLCAoc3RhdGUsIHsgcmVjb3JkIH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgY2hhbmdlZFNpbmNlU2F2ZTogZmFsc2UsXG4gICAgcmVjb3JkLFxuICB9KSksXG4gIG9uKEVkaXRvckFjdGlvbnMuc2F2ZVJlY29yZCwgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHNhdmluZzogdHJ1ZSxcbiAgICBzYXZlRXJyb3I6IG51bGwsXG4gIH0pKSxcbiAgb24oRWRpdG9yQWN0aW9ucy5zYXZlUmVjb3JkU3VjY2VzcywgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHNhdmluZzogZmFsc2UsXG4gICAgc2F2ZUVycm9yOiBudWxsLFxuICAgIGNoYW5nZWRTaW5jZVNhdmU6IGZhbHNlLFxuICB9KSksXG4gIG9uKEVkaXRvckFjdGlvbnMuc2F2ZVJlY29yZEZhaWx1cmUsIChzdGF0ZSwgeyBlcnJvciB9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHNhdmluZzogZmFsc2UsXG4gICAgc2F2ZUVycm9yOiBlcnJvcixcbiAgfSkpLFxuICBvbihFZGl0b3JBY3Rpb25zLnVwZGF0ZVJlY29yZEZpZWxkLCAoc3RhdGUsIHsgZmllbGQsIHZhbHVlIH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgcmVjb3JkOiB7XG4gICAgICAuLi5zdGF0ZS5yZWNvcmQsXG4gICAgICBbZmllbGRdOiB2YWx1ZSxcbiAgICB9LFxuICB9KSksXG4gIG9uKEVkaXRvckFjdGlvbnMubWFya1JlY29yZEFzQ2hhbmdlZCwgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGNoYW5nZWRTaW5jZVNhdmU6IHRydWUsXG4gIH0pKVxuKVxuXG5leHBvcnQgZnVuY3Rpb24gZWRpdG9yUmVkdWNlcihzdGF0ZTogRWRpdG9yU3RhdGUgfCB1bmRlZmluZWQsIGFjdGlvbjogQWN0aW9uKSB7XG4gIHJldHVybiByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pXG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvK3N0YXRlL2VkaXRvci5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3ZELE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFJakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFeEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFBO0FBeUIxQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDN0MsTUFBTSxFQUFFLElBQUk7SUFDWixZQUFZLEVBQUUsSUFBSTtJQUNsQixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLFlBQVksRUFBRSxxQkFBcUI7SUFDbkMsV0FBVyxFQUFFLENBQUM7Q0FDZixDQUFBO0FBRUQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUMzQixrQkFBa0IsRUFDbEIsRUFBRSxDQUNBLGFBQWEsQ0FBQyxVQUFVLEVBQ3hCLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELEdBQUcsS0FBSztJQUNSLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsWUFBWSxFQUFFLFlBQVksSUFBSSxJQUFJO0lBQ2xDLGdCQUFnQjtJQUNoQixNQUFNO0NBQ1AsQ0FBQyxDQUNILEVBQ0QsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkMsR0FBRyxLQUFLO0lBQ1IsTUFBTSxFQUFFLElBQUk7SUFDWixTQUFTLEVBQUUsSUFBSTtDQUNoQixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLEdBQUcsS0FBSztJQUNSLE1BQU0sRUFBRSxLQUFLO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixnQkFBZ0IsRUFBRSxLQUFLO0NBQ3hCLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxHQUFHLEtBQUs7SUFDUixNQUFNLEVBQUUsS0FBSztJQUNiLFNBQVMsRUFBRSxLQUFLO0NBQ2pCLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEUsR0FBRyxLQUFLO0lBQ1IsTUFBTSxFQUFFO1FBQ04sR0FBRyxLQUFLLENBQUMsTUFBTTtRQUNmLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSztLQUNmO0NBQ0YsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRCxHQUFHLEtBQUs7SUFDUixnQkFBZ0IsRUFBRSxJQUFJO0NBQ3ZCLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckQsR0FBRyxLQUFLO0lBQ1IsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQyxDQUFDLENBQ0osQ0FBQTtBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBOEIsRUFBRSxNQUFjO0lBQzFFLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0ICogYXMgRWRpdG9yQWN0aW9ucyBmcm9tICcuL2VkaXRvci5hY3Rpb25zJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IFNhdmVSZWNvcmRFcnJvciB9IGZyb20gJy4vZWRpdG9yLm1vZGVscydcbmltcG9ydCB7IEVkaXRvckNvbmZpZyB9IGZyb20gJy4uL21vZGVscydcbmltcG9ydCB7IERFRkFVTFRfQ09ORklHVVJBVElPTiB9IGZyb20gJy4uL2ZpZWxkcy5jb25maWcnXG5cbmV4cG9ydCBjb25zdCBFRElUT1JfRkVBVFVSRV9LRVkgPSAnZWRpdG9yJ1xuXG4vKipcbiAqIEBwcm9wZXJ0eSByZWNvcmQgVGhlIHJlY29yZCBiZWluZyBlZGl0ZWRcbiAqIEBwcm9wZXJ0eSByZWNvcmRTb3VyY2UgT3JpZ2luYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlY29yZCBhcyB0ZXh0LCB1c2VkIGFzIGEgcmVmZXJlbmNlOyBudWxsIG1lYW5zIHRoZSByZWNvcmQgaGFzbid0IGJlIHNlcmlhbGl6ZWQgeWV0XG4gKiBAcHJvcGVydHkgc2F2aW5nXG4gKiBAcHJvcGVydHkgc2F2ZUVycm9yXG4gKiBAcHJvcGVydHkgY2hhbmdlZFNpbmNlU2F2ZVxuICogQHByb3BlcnR5IGVkaXRvckNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgZmllbGRzIGluIHRoZSBlZGl0b3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JTdGF0ZSB7XG4gIHJlY29yZDogQ2F0YWxvZ1JlY29yZCB8IG51bGxcbiAgcmVjb3JkU291cmNlOiBzdHJpbmcgfCBudWxsXG4gIGFscmVhZHlTYXZlZE9uY2U6IGJvb2xlYW5cbiAgc2F2aW5nOiBib29sZWFuXG4gIHNhdmVFcnJvcjogU2F2ZVJlY29yZEVycm9yIHwgbnVsbFxuICBjaGFuZ2VkU2luY2VTYXZlOiBib29sZWFuXG4gIGVkaXRvckNvbmZpZzogRWRpdG9yQ29uZmlnXG4gIGN1cnJlbnRQYWdlOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JQYXJ0aWFsU3RhdGUge1xuICByZWFkb25seSBbRURJVE9SX0ZFQVRVUkVfS0VZXTogRWRpdG9yU3RhdGVcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxFZGl0b3JTdGF0ZTogRWRpdG9yU3RhdGUgPSB7XG4gIHJlY29yZDogbnVsbCxcbiAgcmVjb3JkU291cmNlOiBudWxsLFxuICBhbHJlYWR5U2F2ZWRPbmNlOiBmYWxzZSxcbiAgc2F2aW5nOiBmYWxzZSxcbiAgc2F2ZUVycm9yOiBudWxsLFxuICBjaGFuZ2VkU2luY2VTYXZlOiBmYWxzZSxcbiAgZWRpdG9yQ29uZmlnOiBERUZBVUxUX0NPTkZJR1VSQVRJT04sXG4gIGN1cnJlbnRQYWdlOiAwLFxufVxuXG5jb25zdCByZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihcbiAgaW5pdGlhbEVkaXRvclN0YXRlLFxuICBvbihcbiAgICBFZGl0b3JBY3Rpb25zLm9wZW5SZWNvcmQsXG4gICAgKHN0YXRlLCB7IHJlY29yZCwgcmVjb3JkU291cmNlLCBhbHJlYWR5U2F2ZWRPbmNlIH0pID0+ICh7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGNoYW5nZWRTaW5jZVNhdmU6IGZhbHNlLFxuICAgICAgcmVjb3JkU291cmNlOiByZWNvcmRTb3VyY2UgPz8gbnVsbCxcbiAgICAgIGFscmVhZHlTYXZlZE9uY2UsXG4gICAgICByZWNvcmQsXG4gICAgfSlcbiAgKSxcbiAgb24oRWRpdG9yQWN0aW9ucy5zYXZlUmVjb3JkLCAoc3RhdGUpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2F2aW5nOiB0cnVlLFxuICAgIHNhdmVFcnJvcjogbnVsbCxcbiAgfSkpLFxuICBvbihFZGl0b3JBY3Rpb25zLnNhdmVSZWNvcmRTdWNjZXNzLCAoc3RhdGUpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2F2aW5nOiBmYWxzZSxcbiAgICBzYXZlRXJyb3I6IG51bGwsXG4gICAgY2hhbmdlZFNpbmNlU2F2ZTogZmFsc2UsXG4gIH0pKSxcbiAgb24oRWRpdG9yQWN0aW9ucy5zYXZlUmVjb3JkRmFpbHVyZSwgKHN0YXRlLCB7IGVycm9yIH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc2F2aW5nOiBmYWxzZSxcbiAgICBzYXZlRXJyb3I6IGVycm9yLFxuICB9KSksXG4gIG9uKEVkaXRvckFjdGlvbnMudXBkYXRlUmVjb3JkRmllbGQsIChzdGF0ZSwgeyBmaWVsZCwgdmFsdWUgfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICByZWNvcmQ6IHtcbiAgICAgIC4uLnN0YXRlLnJlY29yZCxcbiAgICAgIFtmaWVsZF06IHZhbHVlLFxuICAgIH0sXG4gIH0pKSxcbiAgb24oRWRpdG9yQWN0aW9ucy5tYXJrUmVjb3JkQXNDaGFuZ2VkLCAoc3RhdGUpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgY2hhbmdlZFNpbmNlU2F2ZTogdHJ1ZSxcbiAgfSkpLFxuICBvbihFZGl0b3JBY3Rpb25zLnNldEN1cnJlbnRQYWdlLCAoc3RhdGUsIHsgcGFnZSB9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGN1cnJlbnRQYWdlOiBwYWdlLFxuICB9KSlcbilcblxuZXhwb3J0IGZ1bmN0aW9uIGVkaXRvclJlZHVjZXIoc3RhdGU6IEVkaXRvclN0YXRlIHwgdW5kZWZpbmVkLCBhY3Rpb246IEFjdGlvbikge1xuICByZXR1cm4gcmVkdWNlcihzdGF0ZSwgYWN0aW9uKVxufVxuIl19
@@ -2,12 +2,24 @@ import { createFeatureSelector, createSelector } from '@ngrx/store';
2
2
  import { EDITOR_FEATURE_KEY } from './editor.reducer';
3
3
  export const selectEditorState = createFeatureSelector(EDITOR_FEATURE_KEY);
4
4
  export const selectRecord = createSelector(selectEditorState, (state) => state.record);
5
+ export const selectRecordSource = createSelector(selectEditorState, (state) => state.recordSource);
5
6
  export const selectRecordSaving = createSelector(selectEditorState, (state) => state.saving);
6
7
  export const selectRecordSaveError = createSelector(selectEditorState, (state) => state.saveError);
7
8
  export const selectRecordChangedSinceSave = createSelector(selectEditorState, (state) => state.changedSinceSave);
8
- export const selectRecordFieldsConfig = createSelector(selectEditorState, (state) => state.fieldsConfig);
9
- export const selectRecordFields = createSelector(selectEditorState, (state) => state.fieldsConfig.map((fieldConfig) => ({
10
- config: fieldConfig,
11
- value: state.record?.[fieldConfig.model] || null,
12
- })));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi8rc3RhdGUvZWRpdG9yLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBZSxNQUFNLGtCQUFrQixDQUFBO0FBRWxFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUM1QixxQkFBcUIsQ0FBYyxrQkFBa0IsQ0FBQyxDQUFBO0FBRXhELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQ3hDLGlCQUFpQixFQUNqQixDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3JDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQzlDLGlCQUFpQixFQUNqQixDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3JDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxjQUFjLENBQ2pELGlCQUFpQixFQUNqQixDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQ3hDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxjQUFjLENBQ3hELGlCQUFpQixFQUNqQixDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDL0MsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGNBQWMsQ0FDcEQsaUJBQWlCLEVBQ2pCLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FDM0MsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FDOUMsaUJBQWlCLEVBQ2pCLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQ3JCLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sRUFBRSxXQUFXO0lBQ25CLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUk7Q0FDakQsQ0FBQyxDQUFDLENBQ04sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCB7IEVESVRPUl9GRUFUVVJFX0tFWSwgRWRpdG9yU3RhdGUgfSBmcm9tICcuL2VkaXRvci5yZWR1Y2VyJ1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0RWRpdG9yU3RhdGUgPVxuICBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8RWRpdG9yU3RhdGU+KEVESVRPUl9GRUFUVVJFX0tFWSlcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlY29yZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RFZGl0b3JTdGF0ZSxcbiAgKHN0YXRlOiBFZGl0b3JTdGF0ZSkgPT4gc3RhdGUucmVjb3JkXG4pXG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSZWNvcmRTYXZpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0RWRpdG9yU3RhdGUsXG4gIChzdGF0ZTogRWRpdG9yU3RhdGUpID0+IHN0YXRlLnNhdmluZ1xuKVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0UmVjb3JkU2F2ZUVycm9yID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdEVkaXRvclN0YXRlLFxuICAoc3RhdGU6IEVkaXRvclN0YXRlKSA9PiBzdGF0ZS5zYXZlRXJyb3JcbilcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlY29yZENoYW5nZWRTaW5jZVNhdmUgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0RWRpdG9yU3RhdGUsXG4gIChzdGF0ZTogRWRpdG9yU3RhdGUpID0+IHN0YXRlLmNoYW5nZWRTaW5jZVNhdmVcbilcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlY29yZEZpZWxkc0NvbmZpZyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RFZGl0b3JTdGF0ZSxcbiAgKHN0YXRlOiBFZGl0b3JTdGF0ZSkgPT4gc3RhdGUuZmllbGRzQ29uZmlnXG4pXG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSZWNvcmRGaWVsZHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0RWRpdG9yU3RhdGUsXG4gIChzdGF0ZTogRWRpdG9yU3RhdGUpID0+XG4gICAgc3RhdGUuZmllbGRzQ29uZmlnLm1hcCgoZmllbGRDb25maWcpID0+ICh7XG4gICAgICBjb25maWc6IGZpZWxkQ29uZmlnLFxuICAgICAgdmFsdWU6IHN0YXRlLnJlY29yZD8uW2ZpZWxkQ29uZmlnLm1vZGVsXSB8fCBudWxsLFxuICAgIH0pKVxuKVxuIl19
9
+ export const selectRecordAlreadySavedOnce = createSelector(selectEditorState, (state) => state.alreadySavedOnce);
10
+ export const selectEditorConfig = createSelector(selectEditorState, (state) => state.editorConfig);
11
+ export const selectCurrentPage = createSelector(selectEditorState, (state) => state.currentPage);
12
+ export const selectRecordSections = createSelector(selectEditorState, (state) => {
13
+ const currentPage = state.editorConfig.pages[state.currentPage];
14
+ if (!currentPage) {
15
+ return [];
16
+ }
17
+ return currentPage.sections.map((section) => ({
18
+ ...section,
19
+ fieldsWithValues: section.fields.map((fieldConfig) => ({
20
+ config: fieldConfig,
21
+ value: state.record?.[fieldConfig.model] ?? null,
22
+ })),
23
+ }));
24
+ });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi8rc3RhdGUvZWRpdG9yLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBZSxNQUFNLGtCQUFrQixDQUFBO0FBR2xFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUM1QixxQkFBcUIsQ0FBYyxrQkFBa0IsQ0FBQyxDQUFBO0FBRXhELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQ3hDLGlCQUFpQixFQUNqQixDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3JDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQzlDLGlCQUFpQixFQUNqQixDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQzNDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQzlDLGlCQUFpQixFQUNqQixDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3JDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxjQUFjLENBQ2pELGlCQUFpQixFQUNqQixDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQ3hDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxjQUFjLENBQ3hELGlCQUFpQixFQUNqQixDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDL0MsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLGNBQWMsQ0FDeEQsaUJBQWlCLEVBQ2pCLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUMvQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUM5QyxpQkFBaUIsRUFDakIsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUMzQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUM3QyxpQkFBaUIsRUFDakIsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUMxQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUNoRCxpQkFBaUIsRUFDakIsQ0FBQyxLQUFrQixFQUFFLEVBQUU7SUFDckIsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQy9ELElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDaEIsT0FBTyxFQUErQixDQUFBO0tBQ3ZDO0lBQ0QsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxHQUFHLE9BQU87UUFDVixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyRCxNQUFNLEVBQUUsV0FBVztZQUNuQixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJO1NBQ2pELENBQUMsQ0FBQztLQUNKLENBQUMsQ0FBOEIsQ0FBQTtBQUNsQyxDQUFDLENBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCB7IEVESVRPUl9GRUFUVVJFX0tFWSwgRWRpdG9yU3RhdGUgfSBmcm9tICcuL2VkaXRvci5yZWR1Y2VyJ1xuaW1wb3J0IHsgRWRpdG9yU2VjdGlvbldpdGhWYWx1ZXMgfSBmcm9tICcuL2VkaXRvci5tb2RlbHMnXG5cbmV4cG9ydCBjb25zdCBzZWxlY3RFZGl0b3JTdGF0ZSA9XG4gIGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxFZGl0b3JTdGF0ZT4oRURJVE9SX0ZFQVRVUkVfS0VZKVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0UmVjb3JkID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdEVkaXRvclN0YXRlLFxuICAoc3RhdGU6IEVkaXRvclN0YXRlKSA9PiBzdGF0ZS5yZWNvcmRcbilcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlY29yZFNvdXJjZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RFZGl0b3JTdGF0ZSxcbiAgKHN0YXRlOiBFZGl0b3JTdGF0ZSkgPT4gc3RhdGUucmVjb3JkU291cmNlXG4pXG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSZWNvcmRTYXZpbmcgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0RWRpdG9yU3RhdGUsXG4gIChzdGF0ZTogRWRpdG9yU3RhdGUpID0+IHN0YXRlLnNhdmluZ1xuKVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0UmVjb3JkU2F2ZUVycm9yID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdEVkaXRvclN0YXRlLFxuICAoc3RhdGU6IEVkaXRvclN0YXRlKSA9PiBzdGF0ZS5zYXZlRXJyb3JcbilcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlY29yZENoYW5nZWRTaW5jZVNhdmUgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0RWRpdG9yU3RhdGUsXG4gIChzdGF0ZTogRWRpdG9yU3RhdGUpID0+IHN0YXRlLmNoYW5nZWRTaW5jZVNhdmVcbilcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlY29yZEFscmVhZHlTYXZlZE9uY2UgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0RWRpdG9yU3RhdGUsXG4gIChzdGF0ZTogRWRpdG9yU3RhdGUpID0+IHN0YXRlLmFscmVhZHlTYXZlZE9uY2VcbilcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEVkaXRvckNvbmZpZyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RFZGl0b3JTdGF0ZSxcbiAgKHN0YXRlOiBFZGl0b3JTdGF0ZSkgPT4gc3RhdGUuZWRpdG9yQ29uZmlnXG4pXG5cbmV4cG9ydCBjb25zdCBzZWxlY3RDdXJyZW50UGFnZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RFZGl0b3JTdGF0ZSxcbiAgKHN0YXRlOiBFZGl0b3JTdGF0ZSkgPT4gc3RhdGUuY3VycmVudFBhZ2VcbilcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJlY29yZFNlY3Rpb25zID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdEVkaXRvclN0YXRlLFxuICAoc3RhdGU6IEVkaXRvclN0YXRlKSA9PiB7XG4gICAgY29uc3QgY3VycmVudFBhZ2UgPSBzdGF0ZS5lZGl0b3JDb25maWcucGFnZXNbc3RhdGUuY3VycmVudFBhZ2VdXG4gICAgaWYgKCFjdXJyZW50UGFnZSkge1xuICAgICAgcmV0dXJuIFtdIGFzIEVkaXRvclNlY3Rpb25XaXRoVmFsdWVzW11cbiAgICB9XG4gICAgcmV0dXJuIGN1cnJlbnRQYWdlLnNlY3Rpb25zLm1hcCgoc2VjdGlvbikgPT4gKHtcbiAgICAgIC4uLnNlY3Rpb24sXG4gICAgICBmaWVsZHNXaXRoVmFsdWVzOiBzZWN0aW9uLmZpZWxkcy5tYXAoKGZpZWxkQ29uZmlnKSA9PiAoe1xuICAgICAgICBjb25maWc6IGZpZWxkQ29uZmlnLFxuICAgICAgICB2YWx1ZTogc3RhdGUucmVjb3JkPy5bZmllbGRDb25maWcubW9kZWxdID8/IG51bGwsXG4gICAgICB9KSksXG4gICAgfSkpIGFzIEVkaXRvclNlY3Rpb25XaXRoVmFsdWVzW11cbiAgfVxuKVxuIl19
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { MatIconModule } from '@angular/material/icon';
3
+ import { CommonModule } from '@angular/common';
4
+ import { ButtonComponent } from '../../../../../../../libs/ui/inputs/src';
5
+ import { ThumbnailComponent } from '../../../../../../../libs/ui/elements/src';
6
+ import * as i0 from "@angular/core";
7
+ export class ContactCardComponent {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContactCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ContactCardComponent, isStandalone: true, selector: "gn-ui-contact-card", inputs: { contact: "contact" }, ngImport: i0, template: "<div class=\"gn-ui-card\">\n <gn-ui-thumbnail\n class=\"w-[56px] h-[56px] rounded-[4px] overflow-hidden shrink-0\"\n [thumbnailUrl]=\"contact.organization?.logoUrl?.href\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-col w-full overflow-hidden leading-snug\">\n <div class=\"text-[16px] font-bold text-main\" data-test=\"contactCardName\">\n {{ contact.firstName }} {{ contact.lastName }}\n </div>\n <div class=\"text-[14px] text-gray-900\" data-test=\"contactCardEmail\">\n {{ contact.email }}\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ContactCardComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'gn-ui-contact-card', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, MatIconModule, ButtonComponent, ThumbnailComponent], template: "<div class=\"gn-ui-card\">\n <gn-ui-thumbnail\n class=\"w-[56px] h-[56px] rounded-[4px] overflow-hidden shrink-0\"\n [thumbnailUrl]=\"contact.organization?.logoUrl?.href\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-col w-full overflow-hidden leading-snug\">\n <div class=\"text-[16px] font-bold text-main\" data-test=\"contactCardName\">\n {{ contact.firstName }} {{ contact.lastName }}\n </div>\n <div class=\"text-[14px] text-gray-900\" data-test=\"contactCardEmail\">\n {{ contact.email }}\n </div>\n </div>\n</div>\n" }]
14
+ }], propDecorators: { contact: [{
15
+ type: Input
16
+ }] } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhY3QtY2FyZC9jb250YWN0LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvY29udGFjdC1jYXJkL2NvbnRhY3QtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTs7QUFVOUUsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO21HQUFwQixvQkFBb0IsOEdDZmpDLHVrQkFlQSx5RERGWSxZQUFZLDhCQUFFLGFBQWEsK0JBQW1CLGtCQUFrQjs7NEZBRS9ELG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQzs4QkFHbEUsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSW5kaXZpZHVhbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWNvbnRhY3QtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250YWN0LWNhcmQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBUaHVtYm5haWxDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250YWN0Q2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbnRhY3Q6IEluZGl2aWR1YWxcbn1cbiIsIjxkaXYgY2xhc3M9XCJnbi11aS1jYXJkXCI+XG4gIDxnbi11aS10aHVtYm5haWxcbiAgICBjbGFzcz1cInctWzU2cHhdIGgtWzU2cHhdIHJvdW5kZWQtWzRweF0gb3ZlcmZsb3ctaGlkZGVuIHNocmluay0wXCJcbiAgICBbdGh1bWJuYWlsVXJsXT1cImNvbnRhY3Qub3JnYW5pemF0aW9uPy5sb2dvVXJsPy5ocmVmXCJcbiAgICBbZml0XT1cIidjb250YWluJ1wiXG4gID48L2duLXVpLXRodW1ibmFpbD5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdy1mdWxsIG92ZXJmbG93LWhpZGRlbiBsZWFkaW5nLXNudWdcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1bMTZweF0gZm9udC1ib2xkIHRleHQtbWFpblwiIGRhdGEtdGVzdD1cImNvbnRhY3RDYXJkTmFtZVwiPlxuICAgICAge3sgY29udGFjdC5maXJzdE5hbWUgfX0ge3sgY29udGFjdC5sYXN0TmFtZSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LVsxNHB4XSB0ZXh0LWdyYXktOTAwXCIgZGF0YS10ZXN0PVwiY29udGFjdENhcmRFbWFpbFwiPlxuICAgICAge3sgY29udGFjdC5lbWFpbCB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,80 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
+ import { PlatformServiceInterface } from '../../../../../../../libs/common/domain/src/lib/platform.service.interface';
4
+ import { AutocompleteComponent, DropdownSelectorComponent, UiInputsModule, } from '../../../../../../../libs/ui/inputs/src';
5
+ import { UiWidgetsModule } from '../../../../../../../libs/ui/widgets/src';
6
+ import { map } from 'rxjs';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { TranslateModule } from '@ngx-translate/core';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../../../../../../libs/common/domain/src/lib/platform.service.interface";
11
+ import * as i2 from "../../../../../../ui/inputs/src/lib/badge/badge.component";
12
+ import * as i3 from "@angular/common";
13
+ import * as i4 from "@angular/material/icon";
14
+ import * as i5 from "@ngx-translate/core";
15
+ export class GenericKeywordsComponent {
16
+ constructor(platformService) {
17
+ this.platformService = platformService;
18
+ this.changedKeywords = new EventEmitter();
19
+ this.addedKeyword = new EventEmitter();
20
+ this.deletedKeyword = new EventEmitter();
21
+ this.displayWithFn = (item) => {
22
+ return `${item.title} (${item.value.thesaurus?.name})`;
23
+ };
24
+ this.autoCompleteAction = (query) => {
25
+ return this.platformService.searchKeywords(query, this.keywordTypes).pipe(map((keywords) => keywords.map((keyword) => {
26
+ return { title: keyword.label, value: keyword };
27
+ })));
28
+ };
29
+ }
30
+ handleItemSelection(item) {
31
+ this.addKeyword(item.value);
32
+ }
33
+ addKeyword(keyword) {
34
+ const duplicatedKeyword = this.keywords.find((k) => k.label === keyword.label);
35
+ if (!duplicatedKeyword) {
36
+ this.keywords = [...this.keywords, keyword];
37
+ this.changedKeywords.emit(this.keywords);
38
+ this.addedKeyword.emit(keyword);
39
+ }
40
+ }
41
+ removeKeyword(keyword) {
42
+ this.keywords = this.keywords.filter((k) => k.label !== keyword.label);
43
+ this.changedKeywords.emit(this.keywords);
44
+ this.deletedKeyword.emit(keyword);
45
+ }
46
+ isPlaceWithoutExtent(keyword) {
47
+ if (keyword.type !== 'place')
48
+ return false;
49
+ return !keyword.bbox;
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GenericKeywordsComponent, deps: [{ token: i1.PlatformServiceInterface }], target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GenericKeywordsComponent, isStandalone: true, selector: "gn-ui-generic-keywords", inputs: { keywords: "keywords", keywordTypes: "keywordTypes", placeholder: "placeholder", allowSubmit: "allowSubmit" }, outputs: { changedKeywords: "changedKeywords", addedKeyword: "addedKeyword", deletedKeyword: "deletedKeyword" }, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"true\"\n [minCharacterCount]=\"0\"\n [allowSubmit]=\"false\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <mat-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.form.placeKeywordWithoutExtent' | translate\"\n class=\"material-symbols-outlined\"\n >warning</mat-icon\n >\n </gn-ui-badge>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i2.BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GenericKeywordsComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'gn-ui-generic-keywords', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
57
+ DropdownSelectorComponent,
58
+ UiInputsModule,
59
+ CommonModule,
60
+ UiWidgetsModule,
61
+ AutocompleteComponent,
62
+ MatIconModule,
63
+ TranslateModule,
64
+ ], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"true\"\n [minCharacterCount]=\"0\"\n [allowSubmit]=\"false\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <mat-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.form.placeKeywordWithoutExtent' | translate\"\n class=\"material-symbols-outlined\"\n >warning</mat-icon\n >\n </gn-ui-badge>\n </div>\n</div>\n" }]
65
+ }], ctorParameters: function () { return [{ type: i1.PlatformServiceInterface }]; }, propDecorators: { keywords: [{
66
+ type: Input
67
+ }], keywordTypes: [{
68
+ type: Input
69
+ }], placeholder: [{
70
+ type: Input
71
+ }], allowSubmit: [{
72
+ type: Input
73
+ }], changedKeywords: [{
74
+ type: Output
75
+ }], addedKeyword: [{
76
+ type: Output
77
+ }], deletedKeyword: [{
78
+ type: Output
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1rZXl3b3Jkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9nZW5lcmljLWtleXdvcmRzL2dlbmVyaWMta2V5d29yZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvZ2VuZXJpYy1rZXl3b3Jkcy9nZW5lcmljLWtleXdvcmRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQTtBQUNySCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixjQUFjLEdBQ2YsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUcxQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7Ozs7O0FBb0JyRCxNQUFNLE9BQU8sd0JBQXdCO0lBdUJuQyxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFsQm5ELG9CQUFlLEdBQTRCLElBQUksWUFBWSxFQUFFLENBQUE7UUFDN0QsaUJBQVksR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtR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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQge1xuICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gIFVpSW5wdXRzTW9kdWxlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBVaVdpZGdldHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEtleXdvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBLZXl3b3JkVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3RoZXNhdXJ1cydcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxudHlwZSBBdXRvY29tcGxldGVJdGVtID0geyB0aXRsZTogc3RyaW5nOyB2YWx1ZTogS2V5d29yZCB9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWdlbmVyaWMta2V5d29yZHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VuZXJpYy1rZXl3b3Jkcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dlbmVyaWMta2V5d29yZHMuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgVWlJbnB1dHNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyaWNLZXl3b3Jkc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGtleXdvcmRzOiBLZXl3b3JkW11cbiAgQElucHV0KCkga2V5d29yZFR5cGVzOiBLZXl3b3JkVHlwZVtdXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmdcbiAgQElucHV0KCkgYWxsb3dTdWJtaXQ6IGJvb2xlYW5cbiAgQE91dHB1dCgpIGNoYW5nZWRLZXl3b3JkczogRXZlbnRFbWl0dGVyPEtleXdvcmRbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGFkZGVkS2V5d29yZDogRXZlbnRFbWl0dGVyPEtleXdvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBkZWxldGVkS2V5d29yZDogRXZlbnRFbWl0dGVyPEtleXdvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgZGlzcGxheVdpdGhGbiA9IChpdGVtOiBBdXRvY29tcGxldGVJdGVtKSA9PiB7XG4gICAgcmV0dXJuIGAke2l0ZW0udGl0bGV9ICgke2l0ZW0udmFsdWUudGhlc2F1cnVzPy5uYW1lfSlgXG4gIH1cblxuICBhdXRvQ29tcGxldGVBY3Rpb24gPSAocXVlcnk6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiB0aGlzLnBsYXRmb3JtU2VydmljZS5zZWFyY2hLZXl3b3JkcyhxdWVyeSwgdGhpcy5rZXl3b3JkVHlwZXMpLnBpcGUoXG4gICAgICBtYXAoKGtleXdvcmRzKSA9PlxuICAgICAgICBrZXl3b3Jkcy5tYXAoKGtleXdvcmQpID0+IHtcbiAgICAgICAgICByZXR1cm4geyB0aXRsZToga2V5d29yZC5sYWJlbCwgdmFsdWU6IGtleXdvcmQgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UpIHt9XG5cbiAgaGFuZGxlSXRlbVNlbGVjdGlvbihpdGVtOiBBdXRvY29tcGxldGVJdGVtKSB7XG4gICAgdGhpcy5hZGRLZXl3b3JkKGl0ZW0udmFsdWUpXG4gIH1cblxuICBhZGRLZXl3b3JkKGtleXdvcmQ6IEtleXdvcmQpIHtcbiAgICBjb25zdCBkdXBsaWNhdGVkS2V5d29yZCA9IHRoaXMua2V5d29yZHMuZmluZChcbiAgICAgIChrKSA9PiBrLmxhYmVsID09PSBrZXl3b3JkLmxhYmVsXG4gICAgKVxuICAgIGlmICghZHVwbGljYXRlZEtleXdvcmQpIHtcbiAgICAgIHRoaXMua2V5d29yZHMgPSBbLi4udGhpcy5rZXl3b3Jkcywga2V5d29yZF1cbiAgICAgIHRoaXMuY2hhbmdlZEtleXdvcmRzLmVtaXQodGhpcy5rZXl3b3JkcylcbiAgICAgIHRoaXMuYWRkZWRLZXl3b3JkLmVtaXQoa2V5d29yZClcbiAgICB9XG4gIH1cblxuICByZW1vdmVLZXl3b3JkKGtleXdvcmQ6IEtleXdvcmQpIHtcbiAgICB0aGlzLmtleXdvcmRzID0gdGhpcy5rZXl3b3Jkcy5maWx0ZXIoKGspID0+IGsubGFiZWwgIT09IGtleXdvcmQubGFiZWwpXG4gICAgdGhpcy5jaGFuZ2VkS2V5d29yZHMuZW1pdCh0aGlzLmtleXdvcmRzKVxuICAgIHRoaXMuZGVsZXRlZEtleXdvcmQuZW1pdChrZXl3b3JkKVxuICB9XG5cbiAgaXNQbGFjZVdpdGhvdXRFeHRlbnQoa2V5d29yZDogS2V5d29yZCk6IGJvb2xlYW4ge1xuICAgIGlmIChrZXl3b3JkLnR5cGUgIT09ICdwbGFjZScpIHJldHVybiBmYWxzZVxuICAgIHJldHVybiAha2V5d29yZC5iYm94XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gIDxnbi11aS1hdXRvY29tcGxldGVcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtkaXNwbGF5V2l0aEZuXT1cImRpc3BsYXlXaXRoRm5cIlxuICAgIFthY3Rpb25dPVwiYXV0b0NvbXBsZXRlQWN0aW9uXCJcbiAgICAoaXRlbVNlbGVjdGVkKT1cImhhbmRsZUl0ZW1TZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgW3ByZXZlbnRDb21wbGV0ZU9uU2VsZWN0aW9uXT1cInRydWVcIlxuICAgIFttaW5DaGFyYWN0ZXJDb3VudF09XCIwXCJcbiAgICBbYWxsb3dTdWJtaXRdPVwiZmFsc2VcIlxuICA+PC9nbi11aS1hdXRvY29tcGxldGU+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGZsZXgtd3JhcFwiPlxuICAgIDxnbi11aS1iYWRnZVxuICAgICAgKm5nRm9yPVwibGV0IGtleXdvcmQgb2Yga2V5d29yZHNcIlxuICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgIChiYWRnZVJlbW92ZUNsaWNrZWQpPVwicmVtb3ZlS2V5d29yZChrZXl3b3JkKVwiXG4gICAgICA+e3sga2V5d29yZC5sYWJlbCB9fVxuXG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJpc1BsYWNlV2l0aG91dEV4dGVudChrZXl3b3JkKVwiXG4gICAgICAgIFt0aXRsZV09XCInZWRpdG9yLmZvcm0ucGxhY2VLZXl3b3JkV2l0aG91dEV4dGVudCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIlxuICAgICAgICA+d2FybmluZzwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L2duLXVpLWJhZGdlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,95 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Output, } from '@angular/core';
2
+ import { MatIconModule } from '@angular/material/icon';
3
+ import { CommonModule } from '@angular/common';
4
+ import { ButtonComponent, UrlInputComponent } from '../../../../../../../libs/ui/inputs/src';
5
+ import { ThumbnailComponent } from '../../../../../../../libs/ui/elements/src';
6
+ import { TranslateModule, TranslateService } from '@ngx-translate/core';
7
+ import { NotificationsService } from '../../../../../../../libs/feature/notifications/src';
8
+ import { RecordsRepositoryInterface } from '../../../../../../../libs/common/domain/src/lib/repository/records-repository.interface';
9
+ import { Router } from '@angular/router';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/router";
12
+ import * as i2 from "@ngx-translate/core";
13
+ import * as i3 from "../../../../../../../libs/feature/notifications/src";
14
+ import * as i4 from "../../../../../../../libs/common/domain/src/lib/repository/records-repository.interface";
15
+ import * as i5 from "@angular/common";
16
+ import * as i6 from "@angular/material/icon";
17
+ export class ImportRecordComponent {
18
+ constructor(router, translateService, cdr, notificationsService, recordsRepository) {
19
+ this.router = router;
20
+ this.translateService = translateService;
21
+ this.cdr = cdr;
22
+ this.notificationsService = notificationsService;
23
+ this.recordsRepository = recordsRepository;
24
+ this.closeImportMenu = new EventEmitter();
25
+ this.importMenuItems = [
26
+ {
27
+ label: this.translateService.instant('dashboard.importRecord.useModel'),
28
+ icon: 'highlight',
29
+ action: () => null,
30
+ dataTest: 'useAModelButton',
31
+ disabled: true,
32
+ },
33
+ {
34
+ label: this.translateService.instant('dashboard.importRecord.importExternal'),
35
+ icon: 'cloud_download',
36
+ action: this.displayImportExternal.bind(this),
37
+ dataTest: 'importFromUrlButton',
38
+ },
39
+ ];
40
+ this.isRecordImportInProgress = false;
41
+ this.sectionDisplayed = 'mainMenu';
42
+ this.externalImportBackLabel = this.translateService.instant('dashboard.importRecord.importExternalLabel');
43
+ }
44
+ displayMainMenu() {
45
+ this.sectionDisplayed = 'mainMenu';
46
+ this.cdr.markForCheck();
47
+ }
48
+ displayImportExternal() {
49
+ this.sectionDisplayed = 'importExternalFile';
50
+ this.cdr.markForCheck();
51
+ }
52
+ importRecord(url) {
53
+ this.isRecordImportInProgress = true;
54
+ this.recordsRepository.duplicateExternalRecord(url).subscribe({
55
+ next: (recordTempId) => {
56
+ if (recordTempId) {
57
+ this.notificationsService.showNotification({
58
+ type: 'success',
59
+ title: this.translateService.instant('editor.record.importFromExternalFile.success.title'),
60
+ text: `${this.translateService.instant('editor.record.importFromExternalFile.success.body')}`,
61
+ }, 2500);
62
+ this.router
63
+ .navigate(['/edit', recordTempId])
64
+ .catch((err) => console.error(err));
65
+ }
66
+ this.closeImportMenu.next();
67
+ },
68
+ error: (error) => {
69
+ this.notificationsService.showNotification({
70
+ type: 'error',
71
+ title: this.translateService.instant('editor.record.importFromExternalFile.failure.title'),
72
+ text: `${this.translateService.instant('editor.record.importFromExternalFile.failure.body')} ${error.message ?? ''}`,
73
+ }, 2500);
74
+ this.isRecordImportInProgress = false;
75
+ this.cdr.markForCheck();
76
+ },
77
+ });
78
+ }
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImportRecordComponent, deps: [{ token: i1.Router }, { token: i2.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i3.NotificationsService }, { token: i4.RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ImportRecordComponent, isStandalone: true, selector: "gn-ui-import-record", outputs: { closeImportMenu: "closeImportMenu" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><mat-icon class=\"material-symbols-outlined\">\n {{ menuItem.icon }} </mat-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <mat-icon class=\"material-symbols-outlined\">arrow_back</mat-icon>\n </gn-ui-button>\n <span class=\"font-bold\"> {{ externalImportBackLabel }}</span>\n </div>\n <gn-ui-url-input\n (valueChange)=\"importRecord($event)\"\n [disabled]=\"isRecordImportInProgress\"\n ></gn-ui-url-input>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "urlCanParse"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
+ }
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImportRecordComponent, decorators: [{
83
+ type: Component,
84
+ args: [{ selector: 'gn-ui-import-record', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
85
+ CommonModule,
86
+ MatIconModule,
87
+ ButtonComponent,
88
+ ThumbnailComponent,
89
+ UrlInputComponent,
90
+ TranslateModule,
91
+ ], template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><mat-icon class=\"material-symbols-outlined\">\n {{ menuItem.icon }} </mat-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <mat-icon class=\"material-symbols-outlined\">arrow_back</mat-icon>\n </gn-ui-button>\n <span class=\"font-bold\"> {{ externalImportBackLabel }}</span>\n </div>\n <gn-ui-url-input\n (valueChange)=\"importRecord($event)\"\n [disabled]=\"isRecordImportInProgress\"\n ></gn-ui-url-input>\n </div>\n </ng-container>\n</ng-container>\n" }]
92
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i3.NotificationsService }, { type: i4.RecordsRepositoryInterface }]; }, propDecorators: { closeImportMenu: [{
93
+ type: Output
94
+ }] } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXJlY29yZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9pbXBvcnQtcmVjb3JkL2ltcG9ydC1yZWNvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvaW1wb3J0LXJlY29yZC9pbXBvcnQtcmVjb3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUMxRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5RkFBeUYsQ0FBQTtBQUNwSSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUE7Ozs7Ozs7O0FBMkJ4QyxNQUFNLE9BQU8scUJBQXFCO0lBNkJoQyxZQUNVLE1BQWMsRUFDZCxnQkFBa0MsRUFDbEMsR0FBc0IsRUFDdEIsb0JBQTBDLEVBQzFDLGlCQUE2QztRQUo3QyxXQUFNLEdBQU4sTUFBTSxD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LHdCQUF3QixHQUFHLEtBQUssQ0FBQTtnQkFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtZQUN6QixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0F6RlUscUJBQXFCO21HQUFyQixxQkFBcUIsZ0lDekNsQyxvMERBK0NBLHlERGRJLFlBQVksdVZBQ1osYUFBYSxvTEFDYixlQUFlLCtIQUVmLGlCQUFpQixnS0FDakIsZUFBZTs7NEZBR04scUJBQXFCO2tCQWZqQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsZUFBZTtxQkFDaEI7d09BR1MsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50LCBVcmxJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL25vdGlmaWNhdGlvbnMvc3JjJ1xuaW1wb3J0IHsgUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9yZXBvc2l0b3J5L3JlY29yZHMtcmVwb3NpdG9yeS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5cbmludGVyZmFjZSBJbXBvcnRNZW51SXRlbXMge1xuICBsYWJlbDogc3RyaW5nXG4gIGljb246IHN0cmluZ1xuICBhY3Rpb246ICgpID0+IGFueVxuICBkYXRhVGVzdDogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxufVxuXG50eXBlIEltcG9ydE1lbnVQYWdlID0gJ21haW5NZW51JyB8ICdpbXBvcnRFeHRlcm5hbEZpbGUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWltcG9ydC1yZWNvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1wb3J0LXJlY29yZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltcG9ydC1yZWNvcmQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgVXJsSW5wdXRDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJbXBvcnRSZWNvcmRDb21wb25lbnQge1xuICBAT3V0cHV0KCkgY2xvc2VJbXBvcnRNZW51ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgaW1wb3J0TWVudUl0ZW1zOiBJbXBvcnRNZW51SXRlbXNbXSA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rhc2hib2FyZC5pbXBvcnRSZWNvcmQudXNlTW9kZWwnKSxcbiAgICAgIGljb246ICdoaWdobGlnaHQnLFxuICAgICAgYWN0aW9uOiAoKSA9PiBudWxsLFxuICAgICAgZGF0YVRlc3Q6ICd1c2VBTW9kZWxCdXR0b24nLFxuICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICdkYXNoYm9hcmQuaW1wb3J0UmVjb3JkLmltcG9ydEV4dGVybmFsJ1xuICAgICAgKSxcbiAgICAgIGljb246ICdjbG91ZF9kb3dubG9hZCcsXG4gICAgICBhY3Rpb246IHRoaXMuZGlzcGxheUltcG9ydEV4dGVybmFsLmJpbmQodGhpcyksXG4gICAgICBkYXRhVGVzdDogJ2ltcG9ydEZyb21VcmxCdXR0b24nLFxuICAgIH0sXG4gIF1cblxuICBpc1JlY29yZEltcG9ydEluUHJvZ3Jlc3MgPSBmYWxzZVxuXG4gIHNlY3Rpb25EaXNwbGF5ZWQ6IEltcG9ydE1lbnVQYWdlID0gJ21haW5NZW51J1xuXG4gIGV4dGVybmFsSW1wb3J0QmFja0xhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgJ2Rhc2hib2FyZC5pbXBvcnRSZWNvcmQuaW1wb3J0RXh0ZXJuYWxMYWJlbCdcbiAgKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbnNTZXJ2aWNlOiBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHJlY29yZHNSZXBvc2l0b3J5OiBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZVxuICApIHt9XG5cbiAgZGlzcGxheU1haW5NZW51KCkge1xuICAgIHRoaXMuc2VjdGlvbkRpc3BsYXllZCA9ICdtYWluTWVudSdcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKVxuICB9XG5cbiAgZGlzcGxheUltcG9ydEV4dGVybmFsKCkge1xuICAgIHRoaXMuc2VjdGlvbkRpc3BsYXllZCA9ICdpbXBvcnRFeHRlcm5hbEZpbGUnXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKClcbiAgfVxuXG4gIGltcG9ydFJlY29yZCh1cmw6IHN0cmluZykge1xuICAgIHRoaXMuaXNSZWNvcmRJbXBvcnRJblByb2dyZXNzID0gdHJ1ZVxuXG4gICAgdGhpcy5yZWNvcmRzUmVwb3NpdG9yeS5kdXBsaWNhdGVFeHRlcm5hbFJlY29yZCh1cmwpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVjb3JkVGVtcElkKSA9PiB7XG4gICAgICAgIGlmIChyZWNvcmRUZW1wSWQpIHtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLnNob3dOb3RpZmljYXRpb24oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICdlZGl0b3IucmVjb3JkLmltcG9ydEZyb21FeHRlcm5hbEZpbGUuc3VjY2Vzcy50aXRsZSdcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgdGV4dDogYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgJ2VkaXRvci5yZWNvcmQuaW1wb3J0RnJvbUV4dGVybmFsRmlsZS5zdWNjZXNzLmJvZHknXG4gICAgICAgICAgICAgICl9YCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAyNTAwXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgdGhpcy5yb3V0ZXJcbiAgICAgICAgICAgIC5uYXZpZ2F0ZShbJy9lZGl0JywgcmVjb3JkVGVtcElkXSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiBjb25zb2xlLmVycm9yKGVycikpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbG9zZUltcG9ydE1lbnUubmV4dCgpXG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLnNob3dOb3RpZmljYXRpb24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgJ2VkaXRvci5yZWNvcmQuaW1wb3J0RnJvbUV4dGVybmFsRmlsZS5mYWlsdXJlLnRpdGxlJ1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRleHQ6IGAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgICAnZWRpdG9yLnJlY29yZC5pbXBvcnRGcm9tRXh0ZXJuYWxGaWxlLmZhaWx1cmUuYm9keSdcbiAgICAgICAgICAgICl9ICR7ZXJyb3IubWVzc2FnZSA/PyAnJ31gLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgMjUwMFxuICAgICAgICApXG4gICAgICAgIHRoaXMuaXNSZWNvcmRJbXBvcnRJblByb2dyZXNzID0gZmFsc2VcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKClcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VjdGlvbkRpc3BsYXllZFwiPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbWFpbk1lbnUnXCI+XG4gICAgPGRpdlxuICAgICAgZGF0YS10ZXN0PVwiaW1wb3J0TWVudU1haW5TZWN0aW9uXCJcbiAgICAgIGNsYXNzPVwibXQtMiBib3JkZXIgYm9yZGVyLWdyYXktMTAwIHAtMiBmbGV4IGl0ZW1zLWNlbnRlciBiZy13aGl0ZSBzaGFkb3ctMnhsIHJvdW5kZWQtMnhsXCJcbiAgICA+XG4gICAgICA8dWwgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yIHctZnVsbFwiPlxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IG1lbnVJdGVtIG9mIGltcG9ydE1lbnVJdGVtc1wiPlxuICAgICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJtZW51SXRlbS5kYXRhVGVzdFwiXG4gICAgICAgICAgICB0eXBlPVwibGlnaHRcIlxuICAgICAgICAgICAgZXh0cmFDbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC0yIHctZnVsbCBqdXN0aWZ5LXN0YXJ0XCJcbiAgICAgICAgICAgIChidXR0b25DbGljayk9XCJtZW51SXRlbS5hY3Rpb24oKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwibWVudUl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAobWVudUl0ZW0uZGlzYWJsZWQgPyAnZWRpdG9yLnRlbXBvcmFyeS5kaXNhYmxlZCcgOiAnJykgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPlxuICAgICAgICAgICAgICB7eyBtZW51SXRlbS5pY29uIH19IDwvbWF0LWljb25cbiAgICAgICAgICAgID48c3Bhbj57eyBtZW51SXRlbS5sYWJlbCB9fTwvc3Bhbj48L2duLXVpLWJ1dHRvblxuICAgICAgICAgID5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW1wb3J0RXh0ZXJuYWxGaWxlJ1wiPlxuICAgIDxkaXZcbiAgICAgIGRhdGEtdGVzdD1cImltcG9ydE1lbnVJbXBvcnRFeHRlcm5hbEZpbGVTZWN0aW9uXCJcbiAgICAgIGNsYXNzPVwicC02IGZsZXggZmxleC1jb2wgZ2FwLTIgbXQtMiBib3JkZXIgYm9yZGVyLWdyYXktMTAwIGJnLXdoaXRlIHNoYWRvdy0yeGwgcm91bmRlZC0yeGxcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgZGF0YS10ZXN0PVwiaW1wb3J0TWVudUltcG9ydEV4dGVybmFsRmlsZVNlY3Rpb25CYWNrQnV0dG9uXCJcbiAgICAgICAgICB0eXBlPVwibGlnaHRcIlxuICAgICAgICAgIChidXR0b25DbGljayk9XCJkaXNwbGF5TWFpbk1lbnUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+YXJyb3dfYmFjazwvbWF0LWljb24+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPiB7eyBleHRlcm5hbEltcG9ydEJhY2tMYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGduLXVpLXVybC1pbnB1dFxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwiaW1wb3J0UmVjb3JkKCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWNvcmRJbXBvcnRJblByb2dyZXNzXCJcbiAgICAgID48L2duLXVpLXVybC1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==