geonetwork-ui 2.4.0-dev.e7ff1d25 → 2.4.0-dev.e97caaf2

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 (165) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +1 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +4 -2
  3. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +11 -1
  4. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +11 -1
  5. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  6. package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
  7. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  8. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  9. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -1
  10. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
  11. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +3 -3
  12. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +78 -0
  13. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +44 -79
  14. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +35 -41
  15. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +19 -41
  16. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +10 -8
  17. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +101 -0
  18. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +22 -25
  19. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +14 -7
  20. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +10 -6
  21. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +11 -11
  22. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
  23. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +111 -5
  24. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +49 -53
  25. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +16 -14
  26. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +34 -64
  27. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +5 -3
  28. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +8 -2
  29. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +5 -1
  30. package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +3 -11
  31. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  32. package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
  33. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
  34. package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +3 -3
  35. package/esm2022/translations/de.json +12 -0
  36. package/esm2022/translations/en.json +12 -0
  37. package/esm2022/translations/es.json +12 -0
  38. package/esm2022/translations/fr.json +14 -2
  39. package/esm2022/translations/it.json +12 -0
  40. package/esm2022/translations/nl.json +12 -0
  41. package/esm2022/translations/pt.json +12 -0
  42. package/fesm2022/geonetwork-ui.mjs +846 -521
  43. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  44. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
  45. package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
  46. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  47. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  48. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +1 -0
  49. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  50. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +1 -0
  51. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  52. package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
  53. package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
  54. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -0
  55. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  56. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
  57. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  58. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
  59. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  60. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
  61. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  62. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +32 -0
  63. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
  64. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +13 -13
  65. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +1 -1
  66. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +10 -13
  67. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  68. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +8 -19
  69. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  70. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
  71. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
  72. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +22 -0
  73. 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
  74. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +10 -12
  75. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -1
  76. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +5 -3
  77. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  78. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +4 -3
  79. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +1 -1
  80. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -4
  81. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  82. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
  83. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
  84. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +23 -0
  85. 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
  86. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +15 -17
  87. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  88. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
  89. 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
  90. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +15 -27
  91. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  92. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +3 -2
  93. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  94. package/libs/feature/editor/src/lib/fields.config.d.ts +1 -0
  95. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  96. package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -0
  97. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  98. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +1 -6
  99. package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -1
  100. package/libs/ui/inputs/src/index.d.ts +1 -0
  101. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  102. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
  103. package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
  104. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +17 -0
  105. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
  106. package/package.json +1 -1
  107. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +6 -1
  108. package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
  109. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +3 -1
  110. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -1
  111. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +43 -12
  112. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +1 -0
  113. package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
  114. package/src/libs/common/domain/src/lib/platform.service.interface.ts +4 -0
  115. package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +10 -0
  116. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
  117. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +15 -0
  118. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +4 -0
  119. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +4 -2
  120. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.css +0 -0
  121. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
  122. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +89 -0
  123. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +1 -1
  124. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +46 -94
  125. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +63 -85
  126. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -17
  127. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +18 -51
  128. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
  129. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css +0 -0
  130. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +4 -0
  131. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +128 -0
  132. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +1 -1
  133. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +18 -29
  134. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +1 -1
  135. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +16 -5
  136. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +2 -2
  137. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +9 -3
  138. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +2 -2
  139. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +13 -7
  140. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
  141. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
  142. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +15 -1
  143. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +156 -1
  144. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +9 -2
  145. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +59 -71
  146. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
  147. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +99 -81
  148. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +37 -66
  149. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +1 -0
  150. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +7 -2
  151. package/src/libs/feature/editor/src/lib/fields.config.ts +8 -1
  152. package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -0
  153. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -9
  154. package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.ts +0 -4
  155. package/src/libs/ui/inputs/src/index.ts +1 -0
  156. package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
  157. package/src/libs/ui/map/src/lib/ui-map.module.ts +1 -1
  158. package/translations/de.json +12 -0
  159. package/translations/en.json +12 -0
  160. package/translations/es.json +12 -0
  161. package/translations/fr.json +14 -2
  162. package/translations/it.json +12 -0
  163. package/translations/nl.json +12 -0
  164. package/translations/pt.json +12 -0
  165. package/translations/sk.json +12 -0
@@ -1 +1 @@
1
- {"version":3,"file":"form-field-simple.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAA;;AAEjE,qBAQa,wBAAwB;IAC1B,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IAC5D,OAAO,EAAG,WAAW,CAAA;IACrB,QAAQ,UAAQ;IAChB,OAAO,UAAQ;IACf,WAAW,SAAK;IAChB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;IAEtD,IAAI,SAAS,2DAcZ;IAED,IAAI,QAAQ,YAEX;yCA1BU,wBAAwB;2CAAxB,wBAAwB;CA2BpC"}
1
+ {"version":3,"file":"form-field-simple.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAA;;AAEtB,qBAQa,wBAAwB;IAC1B,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IAC5D,QAAQ,UAAQ;IAChB,OAAO,UAAQ;IACf,WAAW,SAAK;IAChB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;IAC7C,KAAK,EAAE,OAAO,CAAA;IAEb,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAqB;IAEjE,IAAI,SAAS,2DAcZ;IAED,IAAI,QAAQ,YAEX;yCA5BU,wBAAwB;2CAAxB,wBAAwB;CA6BpC"}
@@ -1,6 +1,29 @@
1
+ import { DatasetSpatialExtent, Keyword } from '../../../../../../../../../libs/common/domain/src/lib/model/record';
2
+ import { PlatformServiceInterface } from '../../../../../../../../../libs/common/domain/src/lib/platform.service.interface';
3
+ import { EditorFacade } from '../../../../+state/editor.facade';
4
+ import { TranslateService } from '@ngx-translate/core';
1
5
  import * as i0 from "@angular/core";
6
+ type KeywordWithExtent = Keyword & {
7
+ _linkedExtent: DatasetSpatialExtent;
8
+ _doNotSave: boolean;
9
+ };
10
+ /**
11
+ * This form field is not like the others, as it will read directly from the state to handle both spatial extents
12
+ * and place keywords.
13
+ * Other types of keywords will not be touched by this field.
14
+ */
2
15
  export declare class FormFieldSpatialExtentComponent {
16
+ private platformService;
17
+ private editorFacade;
18
+ private translateService;
19
+ spatialExtents$: import("rxjs").Observable<DatasetSpatialExtent[]>;
20
+ shownKeywords$: import("rxjs").Observable<Keyword[]>;
21
+ constructor(platformService: PlatformServiceInterface, editorFacade: EditorFacade, translateService: TranslateService);
22
+ handleKeywordDelete(keyword: Keyword): Promise<void>;
23
+ handleKeywordAdd(keyword: Keyword): Promise<void>;
24
+ emitChanges(placeKeywords: KeywordWithExtent[], spatialExtents: DatasetSpatialExtent[]): Promise<void>;
3
25
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldSpatialExtentComponent, never>;
4
26
  static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldSpatialExtentComponent, "gn-ui-form-field-spatial-extent", never, {}, {}, never, never, true, never>;
5
27
  }
28
+ export {};
6
29
  //# sourceMappingURL=form-field-spatial-extent.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field-spatial-extent.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts"],"names":[],"mappings":";AAEA,qBAOa,+BAA+B;yCAA/B,+BAA+B;2CAA/B,+BAA+B;CAAG"}
1
+ {"version":3,"file":"form-field-spatial-extent.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,OAAO,EACR,MAAM,oEAAoE,CAAA;AAE3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kFAAkF,CAAA;AAE3H,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAItD,KAAK,iBAAiB,GAAG,OAAO,GAAG;IACjC,aAAa,EAAE,oBAAoB,CAAA;IACnC,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;;;GAIG;AAEH,qBAYa,+BAA+B;IA8DxC,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IA/D1B,eAAe,oDAEd;IAED,cAAc,uCAsDb;gBAGS,eAAe,EAAE,wBAAwB,EACzC,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB;IAGtC,mBAAmB,CAAC,OAAO,EAAE,OAAO;IAcpC,gBAAgB,CAAC,OAAO,EAAE,OAAO;IAiBjC,WAAW,CACf,aAAa,EAAE,iBAAiB,EAAE,EAClC,cAAc,EAAE,oBAAoB,EAAE;yCApG7B,+BAA+B;2CAA/B,+BAA+B;CA6H3C"}
@@ -1,18 +1,17 @@
1
- import { OnDestroy, OnInit, Type } from '@angular/core';
2
- import { FormArray, FormControl } from '@angular/forms';
3
- import { Subscription } from 'rxjs';
1
+ import { OnChanges } from '@angular/core';
2
+ import { FormArray } from '@angular/forms';
3
+ import { DatasetTemporalExtent } from '../../../../../../../../../libs/common/domain/src/lib/model/record';
4
+ import { DynamicElement } from '../../../../../../../../../libs/ui/elements/src';
4
5
  import { TranslateService } from '@ngx-translate/core';
6
+ import { Observable } from 'rxjs';
5
7
  import * as i0 from "@angular/core";
6
- export declare class FormFieldTemporalExtentsComponent implements OnInit, OnDestroy {
8
+ export declare class FormFieldTemporalExtentsComponent implements OnChanges {
7
9
  private translateService;
8
- control: FormControl;
9
- subscription: Subscription;
10
+ value: Array<DatasetTemporalExtent>;
11
+ valueChange: Observable<Array<DatasetTemporalExtent>>;
10
12
  array: FormArray;
11
- elements: Array<{
12
- component: Type<any>;
13
- inputs: Record<string, any>;
14
- }>;
15
- addOptions$: import("rxjs").Observable<[{
13
+ elements: DynamicElement[];
14
+ addOptions$: Observable<[{
16
15
  buttonLabel: any;
17
16
  eventName: string;
18
17
  }, {
@@ -20,14 +19,13 @@ export declare class FormFieldTemporalExtentsComponent implements OnInit, OnDest
20
19
  eventName: string;
21
20
  }]>;
22
21
  constructor(translateService: TranslateService);
23
- ngOnInit(): void;
24
- onElementsChange(elements: {
25
- inputs: Record<string, unknown>;
26
- }[]): void;
22
+ ngOnChanges(): void;
23
+ onElementsChange(elements: DynamicElement[]): void;
27
24
  onAdd(eventName: string): void;
28
- ngOnDestroy(): void;
29
25
  private resetValueFromInput;
26
+ private pushDate;
27
+ private pushRange;
30
28
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldTemporalExtentsComponent, never>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldTemporalExtentsComponent, "gn-ui-form-field-temporal-extents", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldTemporalExtentsComponent, "gn-ui-form-field-temporal-extents", never, { "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
32
30
  }
33
31
  //# sourceMappingURL=form-field-temporal-extents.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field-temporal-extents.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EACT,MAAM,EACN,IAAI,EACL,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAsB,MAAM,MAAM,CAAA;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAGtD,qBAQa,iCAAkC,YAAW,MAAM,EAAE,SAAS;IAoB7D,OAAO,CAAC,gBAAgB;IAnB3B,OAAO,EAAG,WAAW,CAAA;IAE9B,YAAY,EAAE,YAAY,CAAA;IAE1B,KAAK,EAAE,SAAS,CAAoB;IACpC,QAAQ,EAAE,KAAK,CAAC;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAC5B,CAAC,CAAA;IAEF,WAAW;;;;;;QAOT;gBAEkB,gBAAgB,EAAE,gBAAgB;IAEtD,QAAQ;IAkBR,gBAAgB,CAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE;IAShE,KAAK,CAAC,SAAS,EAAE,MAAM;IAkBvB,WAAW,IAAI,IAAI;IAInB,OAAO,CAAC,mBAAmB;yCAvEhB,iCAAiC;2CAAjC,iCAAiC;CA0G7C"}
1
+ {"version":3,"file":"form-field-temporal-extents.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,SAAS,EAEV,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAe,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAA;AAC1G,OAAO,EACL,cAAc,EAEf,MAAM,iDAAiD,CAAA;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAsB,MAAM,MAAM,CAAA;;AAIrD,qBAQa,iCAAkC,YAAW,SAAS;IAgBrD,OAAO,CAAC,gBAAgB;IAf3B,KAAK,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAClC,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAE/D,KAAK,EAAE,SAAS,CAAoB;IACpC,QAAQ,EAAE,cAAc,EAAE,CAAK;IAE/B,WAAW;;;;;;QAOT;gBAEkB,gBAAgB,EAAE,gBAAgB;IAItD,WAAW;IAIX,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE;IAW3C,KAAK,CAAC,SAAS,EAAE,MAAM;IAkBvB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,SAAS;yCAhFN,iCAAiC;2CAAjC,iCAAiC;CA0F7C"}
@@ -1,12 +1,12 @@
1
- import { OnInit } from '@angular/core';
2
- import { FormControl } from '@angular/forms';
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { UpdateFrequency } from '../../../../../../../../../libs/common/domain/src/lib/model/record';
3
3
  import { DropdownChoice } from '../../../../../../../../../libs/ui/inputs/src';
4
4
  import { TranslateService } from '@ngx-translate/core';
5
- import { UpdateFrequency } from '../../../../../../../../../libs/common/domain/src/lib/model/record';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class FormFieldUpdateFrequencyComponent implements OnInit {
8
7
  private translateService;
9
- control: FormControl<UpdateFrequency>;
8
+ value: UpdateFrequency;
9
+ valueChange: EventEmitter<UpdateFrequency>;
10
10
  protected choices: DropdownChoice[];
11
11
  get planned(): boolean;
12
12
  constructor(translateService: TranslateService);
@@ -16,6 +16,6 @@ export declare class FormFieldUpdateFrequencyComponent implements OnInit {
16
16
  onSelectFrequencyValue(value: unknown): void;
17
17
  private getInitialChoices;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldUpdateFrequencyComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldUpdateFrequencyComponent, "gn-ui-form-field-update-frequency", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldUpdateFrequencyComponent, "gn-ui-form-field-update-frequency", never, { "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
20
20
  }
21
21
  //# sourceMappingURL=form-field-update-frequency.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field-update-frequency.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,MAAM,EACP,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAEL,cAAc,EAEf,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EACL,eAAe,EAEhB,MAAM,oEAAoE,CAAA;;AAG3E,qBAQa,iCAAkC,YAAW,MAAM;IASlD,OAAO,CAAC,gBAAgB;IAR3B,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IAE9C,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,CAAK;IAExC,IAAI,OAAO,YAEV;gBAEmB,gBAAgB,EAAE,gBAAgB;IAEhD,QAAQ;IAuBd,gBAAgB;IAQhB,IAAI,iBAAiB,IAAI,MAAM,CAI9B;IAED,sBAAsB,CAAC,KAAK,EAAE,OAAO;YAQvB,iBAAiB;yCAxDpB,iCAAiC;2CAAjC,iCAAiC;CA4H7C"}
1
+ {"version":3,"file":"form-field-update-frequency.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAEZ,MAAM,EAEP,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,eAAe,EAEhB,MAAM,oEAAoE,CAAA;AAC3E,OAAO,EAEL,cAAc,EAEf,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAGvE,qBAQa,iCAAkC,YAAW,MAAM;IAUlD,OAAO,CAAC,gBAAgB;IAT3B,KAAK,EAAE,eAAe,CAAA;IACrB,WAAW,EAAE,YAAY,CAAC,eAAe,CAAC,CAAqB;IAEzE,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,CAAK;IAExC,IAAI,OAAO,YAEV;gBAEmB,gBAAgB,EAAE,gBAAgB;IAEhD,QAAQ;IAuBd,gBAAgB;IAQhB,IAAI,iBAAiB,IAAI,MAAM,CAI9B;IAED,sBAAsB,CAAC,KAAK,EAAE,OAAO;YAQvB,iBAAiB;yCAzDpB,iCAAiC;2CAAjC,iCAAiC;CA6H7C"}
@@ -1,38 +1,26 @@
1
- import { ElementRef } from '@angular/core';
2
- import { FormControl } from '@angular/forms';
3
- import { Observable } from 'rxjs';
4
- import { CatalogRecordKeys } from '../../../../../../../../libs/common/domain/src/lib/model/record';
5
- import { EditorFacade } from '../../../+state/editor.facade';
1
+ import { ElementRef, EventEmitter } from '@angular/core';
2
+ import { CatalogRecordKeys, Constraint, DatasetTemporalExtent, GraphicOverview, Individual, Keyword, UpdateFrequency } from '../../../../../../../../libs/common/domain/src/lib/model/record';
6
3
  import { FormFieldConfig } from '../../../models';
7
4
  import * as i0 from "@angular/core";
8
5
  export declare class FormFieldComponent {
9
- private facade;
6
+ uniqueIdentifier: string;
10
7
  model: CatalogRecordKeys;
11
8
  config: FormFieldConfig;
12
- set value(v: unknown);
13
- valueChange: Observable<unknown>;
14
- isHidden: boolean;
9
+ value: unknown;
10
+ valueChange: EventEmitter<unknown>;
15
11
  titleInput: ElementRef;
16
- metadataUuid$: Observable<string>;
17
- formControl: FormControl<any>;
18
- constructor(facade: EditorFacade);
12
+ isHidden: boolean;
19
13
  focusTitleInput(): void;
20
- onVisibilityChange(visibility: boolean): void;
21
- get isTitle(): boolean;
22
- get isAbstract(): boolean;
23
- get isLicenses(): boolean;
24
- get isResourceUpdated(): boolean;
25
- get isUpdateFrequency(): boolean;
26
- get isTemporalExtents(): boolean;
27
- get isSpatialExtentField(): boolean;
28
- get isGraphicOverview(): boolean;
29
- get isSimpleField(): boolean;
30
- get isReadOnly(): boolean;
31
- get isKeywords(): boolean;
32
- get isContactsForResource(): boolean;
33
14
  get withoutWrapper(): boolean;
34
- get isOpenData(): boolean;
15
+ get valueAsString(): string;
16
+ get valueAsDate(): Date;
17
+ get valueAsOverviews(): GraphicOverview[];
18
+ get valueAsUpdateFrequency(): UpdateFrequency;
19
+ get valueAsTemporalExtents(): DatasetTemporalExtent[];
20
+ get valueAsKeywords(): Keyword[];
21
+ get valueAsConstraints(): Constraint[];
22
+ get valueAsIndividuals(): Individual[];
35
23
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "gn-ui-form-field", never, { "model": { "alias": "model"; "required": false; }; "config": { "alias": "config"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "gn-ui-form-field", never, { "uniqueIdentifier": { "alias": "uniqueIdentifier"; "required": false; }; "model": { "alias": "model"; "required": false; }; "config": { "alias": "config"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
37
25
  }
38
26
  //# sourceMappingURL=form-field.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.component.d.ts","sourceRoot":"","sources":["../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,UAAU,EAKX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAA;AAMjE,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAajC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iEAAiE,CAAA;AAInG,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;;AAIjD,qBA8Ba,kBAAkB;IAqBjB,OAAO,CAAC,MAAM;IApBjB,KAAK,EAAE,iBAAiB,CAAA;IACxB,MAAM,EAAE,eAAe,CAAA;IAChC,IAAa,KAAK,CAAC,CAAC,EAAE,OAAO,EAI5B;IAES,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IAC1C,QAAQ,UAAQ;IAES,UAAU,EAAE,UAAU,CAAA;IAE/C,aAAa,qBAGZ;IAED,WAAW,mBAAoB;gBAEX,MAAM,EAAE,YAAY;IAIxC,eAAe;IAIf,kBAAkB,CAAC,UAAU,EAAE,OAAO;IAItC,IAAI,OAAO,YAEV;IACD,IAAI,UAAU,YAEb;IACD,IAAI,UAAU,YAEb;IACD,IAAI,iBAAiB,YAEpB;IACD,IAAI,iBAAiB,YAEpB;IACD,IAAI,iBAAiB,YAEpB;IACD,IAAI,oBAAoB,YAEvB;IACD,IAAI,iBAAiB,YAEpB;IACD,IAAI,aAAa,YAEhB;IACD,IAAI,UAAU,YAEb;IACD,IAAI,UAAU,YAEb;IACD,IAAI,qBAAqB,YAExB;IAED,IAAI,cAAc,YAEjB;IAED,IAAI,UAAU,YAEb;yCA5EU,kBAAkB;2CAAlB,kBAAkB;CA6E9B"}
1
+ {"version":3,"file":"form-field.component.d.ts","sourceRoot":"","sources":["../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,UAAU,EACV,YAAY,EAIb,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,OAAO,EACP,eAAe,EAChB,MAAM,iEAAiE,CAAA;AASxE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;;AAajD,qBA6Ba,kBAAkB;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,iBAAiB,CAAA;IACxB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IAEb,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAqB;IAExC,UAAU,EAAE,UAAU,CAAA;IAE/C,QAAQ,UAAQ;IAEhB,eAAe;IAIf,IAAI,cAAc,YAEjB;IAED,IAAI,aAAa,WAEhB;IACD,IAAI,WAAW,SAEd;IAED,IAAI,gBAAgB,sBAEnB;IACD,IAAI,sBAAsB,oBAEzB;IACD,IAAI,sBAAsB,4BAEzB;IACD,IAAI,eAAe,cAElB;IACD,IAAI,kBAAkB,iBAErB;IACD,IAAI,kBAAkB,iBAErB;yCA5CU,kBAAkB;2CAAlB,kBAAkB;CA6C9B"}
@@ -4,10 +4,11 @@ import { EditorFieldWithValue, EditorSectionWithValues } from '../../+state/edit
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class RecordFormComponent {
6
6
  facade: EditorFacade;
7
+ recordUniqueIdentifier$: import("rxjs").Observable<string>;
7
8
  constructor(facade: EditorFacade);
8
9
  handleFieldValueChange(model: string, newValue: EditorFieldValue): void;
9
- fieldTracker(index: number, field: EditorFieldWithValue): any;
10
- sectionTracker(index: number, section: EditorSectionWithValues): any;
10
+ fieldTracker(index: number, field: EditorFieldWithValue): import("../../../../../../common/domain/src/lib/model/record").CatalogRecordKeys;
11
+ sectionTracker(index: number, section: EditorSectionWithValues): string;
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<RecordFormComponent, never>;
12
13
  static ɵcmp: i0.ɵɵComponentDeclaration<RecordFormComponent, "gn-ui-record-form", never, {}, {}, never, never, true, never>;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"record-form.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,4BAA4B,CAAA;;AAEnC,qBAQa,mBAAmB;IACX,MAAM,EAAE,YAAY;gBAApB,MAAM,EAAE,YAAY;IAEvC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB;IAOhE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,GAAG;IAI7D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,GAAG;yCAdzD,mBAAmB;2CAAnB,mBAAmB;CAiB/B"}
1
+ {"version":3,"file":"record-form.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,4BAA4B,CAAA;;AAGnC,qBAQa,mBAAmB;IAKX,MAAM,EAAE,YAAY;IAJvC,uBAAuB,oCAEtB;gBAEkB,MAAM,EAAE,YAAY;IAEvC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB;IAOhE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB;IAIvD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;yCAlBnD,mBAAmB;2CAAnB,mBAAmB;CAqB/B"}
@@ -20,6 +20,7 @@ export declare const RECORD_TITLE_FIELD: EditorField;
20
20
  export declare const RECORD_ABSTRACT_FIELD: EditorField;
21
21
  export declare const CONTACTS_FOR_RESOURCE_FIELD: EditorField;
22
22
  export declare const RECORD_GRAPHICAL_OVERVIEW_FIELD: EditorField;
23
+ export declare const RECORD_SPATIAL_EXTENTS_FIELD: EditorField;
23
24
  /************************************************************
24
25
  *************** SECTIONS *****************
25
26
  ************************************************************
@@ -1 +1 @@
1
- {"version":3,"file":"fields.config.d.ts","sourceRoot":"","sources":["../../../../../src/libs/feature/editor/src/lib/fields.config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACd,MAAM,8BAA8B,CAAA;AAErC;;;;;GAKG;AAEH;;;GAGG;AAEH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,WAKnC,CAAA;AAED,eAAO,MAAM,8BAA8B,EAAE,WAM5C,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,WAK3C,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,WAOlC,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,WAK3C,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,WAK3C,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,WAKhC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,WAKnC,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,WAKzC,CAAA;AAED,eAAO,MAAM,+BAA+B,EAAE,WAK7C,CAAA;AAED;;;GAGG;AAEH,eAAO,MAAM,aAAa,EAAE,aAO3B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,aAW3B,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,aAI3C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,aAO1C,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,aAI7B,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,aAOpC,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,aAI/C,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,aAKnC,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,aAO3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAoBnC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAMtC,CAAA"}
1
+ {"version":3,"file":"fields.config.d.ts","sourceRoot":"","sources":["../../../../../src/libs/feature/editor/src/lib/fields.config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACd,MAAM,8BAA8B,CAAA;AAErC;;;;;GAKG;AAEH;;;GAGG;AAEH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,WAKnC,CAAA;AAED,eAAO,MAAM,8BAA8B,EAAE,WAM5C,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,WAK3C,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,WAOlC,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,WAK3C,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,WAK3C,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,WAKhC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,WAKnC,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,WAKzC,CAAA;AAED,eAAO,MAAM,+BAA+B,EAAE,WAK7C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,WAK1C,CAAA;AAED;;;GAGG;AAEH,eAAO,MAAM,aAAa,EAAE,aAO3B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,aAW3B,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,aAI3C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,aAO1C,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,aAI7B,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,aAOpC,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,aAI/C,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,aAKnC,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,aAO3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAoBnC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAMtC,CAAA"}
@@ -8,6 +8,7 @@ export declare class EditorService {
8
8
  constructor(recordsRepository: RecordsRepositoryInterface);
9
9
  saveRecord(record: CatalogRecord, fieldsConfig: EditorConfig, generateNewUniqueIdentifier?: boolean): Observable<[CatalogRecord, string]>;
10
10
  saveRecordAsDraft(record: CatalogRecord): Observable<void>;
11
+ undoRecordDraft(record: CatalogRecord): Observable<[CatalogRecord, string, boolean]>;
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<EditorService, never>;
12
13
  static ɵprov: i0.ɵɵInjectableDeclaration<EditorService>;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"editor.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/services/editor.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAa,MAAM,MAAM,CAAA;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAA;;AAEjI,qBAGa,aAAa;IACZ,OAAO,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,0BAA0B;IAGjE,UAAU,CACR,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,YAAY,EAC1B,2BAA2B,UAAQ,GAClC,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAqCtC,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC;yCA7C/C,aAAa;6CAAb,aAAa;CAkDzB"}
1
+ {"version":3,"file":"editor.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/services/editor.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAa,MAAM,MAAM,CAAA;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAA;;AAEjI,qBAGa,aAAa;IACZ,OAAO,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,0BAA0B;IAGjE,UAAU,CACR,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,YAAY,EAC1B,2BAA2B,UAAQ,GAClC,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAqCtC,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC;IAM1D,eAAe,CACb,MAAM,EAAE,aAAa,GACpB,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;yCArDpC,aAAa;6CAAb,aAAa;CAyDzB"}
@@ -7,16 +7,11 @@ export type DynamicElement = {
7
7
  };
8
8
  export declare class SortableListComponent {
9
9
  elements: Array<DynamicElement>;
10
- addOptions: Array<{
11
- buttonLabel: string;
12
- eventName: string;
13
- }>;
14
10
  elementsChange: EventEmitter<DynamicElement[]>;
15
- add: EventEmitter<string>;
16
11
  drop(event: CdkDragDrop<string[]>): void;
17
12
  removeElement(index: number): void;
18
13
  trackByFn(index: number): number;
19
14
  static ɵfac: i0.ɵɵFactoryDeclaration<SortableListComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<SortableListComponent, "gn-ui-sortable-list", never, { "elements": { "alias": "elements"; "required": false; }; "addOptions": { "alias": "addOptions"; "required": false; }; }, { "elementsChange": "elementsChange"; "add": "add"; }, never, never, true, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<SortableListComponent, "gn-ui-sortable-list", never, { "elements": { "alias": "elements"; "required": false; }; }, { "elementsChange": "elementsChange"; }, never, never, true, never>;
21
16
  }
22
17
  //# sourceMappingURL=sortable-list.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sortable-list.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAIZ,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAGL,YAAY,EAGZ,IAAI,EACL,MAAM,eAAe,CAAA;;AAItB,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,qBAgBa,qBAAqB;IACvB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC/B,UAAU,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAK;IACjE,cAAc,iCAA4C;IAC1D,GAAG,uBAA6B;IAE1C,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IAKjC,aAAa,CAAC,KAAK,EAAE,MAAM;IAK3B,SAAS,CAAC,KAAK,EAAE,MAAM;yCAhBZ,qBAAqB;2CAArB,qBAAqB;CAmBjC"}
1
+ {"version":3,"file":"sortable-list.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAIZ,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAGL,YAAY,EAGZ,IAAI,EACL,MAAM,eAAe,CAAA;;AAGtB,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,qBAea,qBAAqB;IACvB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC9B,cAAc,iCAA4C;IAEpE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IAKjC,aAAa,CAAC,KAAK,EAAE,MAAM;IAK3B,SAAS,CAAC,KAAK,EAAE,MAAM;yCAdZ,qBAAqB;2CAArB,qBAAqB;CAiBjC"}
@@ -21,4 +21,5 @@ export * from './lib/text-input/text-input.component';
21
21
  export * from './lib/ui-inputs.module';
22
22
  export * from './lib/viewport-intersector/viewport-intersector.component';
23
23
  export * from './lib/previous-next-buttons/previous-next-buttons.component';
24
+ export * from './lib/switch-toggle/switch-toggle.component';
24
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/inputs/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAA;AACzD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2CAA2C,CAAA;AACzD,cAAc,mCAAmC,CAAA;AACjD,cAAc,yCAAyC,CAAA;AACvD,cAAc,mDAAmD,CAAA;AACjE,cAAc,yCAAyC,CAAA;AACvD,cAAc,qDAAqD,CAAA;AACnE,cAAc,mEAAmE,CAAA;AACjF,cAAc,2DAA2D,CAAA;AACzE,cAAc,uDAAuD,CAAA;AACrE,cAAc,qDAAqD,CAAA;AACnE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,qDAAqD,CAAA;AACnE,cAAc,2CAA2C,CAAA;AACzD,cAAc,yCAAyC,CAAA;AACvD,cAAc,qCAAqC,CAAA;AACnD,cAAc,uCAAuC,CAAA;AACrD,cAAc,wBAAwB,CAAA;AACtC,cAAc,2DAA2D,CAAA;AACzE,cAAc,6DAA6D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/inputs/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAA;AACzD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2CAA2C,CAAA;AACzD,cAAc,mCAAmC,CAAA;AACjD,cAAc,yCAAyC,CAAA;AACvD,cAAc,mDAAmD,CAAA;AACjE,cAAc,yCAAyC,CAAA;AACvD,cAAc,qDAAqD,CAAA;AACnE,cAAc,mEAAmE,CAAA;AACjF,cAAc,2DAA2D,CAAA;AACzE,cAAc,uDAAuD,CAAA;AACrE,cAAc,qDAAqD,CAAA;AACnE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,qDAAqD,CAAA;AACnE,cAAc,2CAA2C,CAAA;AACzD,cAAc,yCAAyC,CAAA;AACvD,cAAc,qCAAqC,CAAA;AACnD,cAAc,uCAAuC,CAAA;AACrD,cAAc,wBAAwB,CAAA;AACtC,cAAc,2DAA2D,CAAA;AACzE,cAAc,6DAA6D,CAAA;AAC3E,cAAc,6CAA6C,CAAA"}
@@ -1,11 +1,13 @@
1
- import { ElementRef, Renderer2, AfterViewInit, EventEmitter } from '@angular/core';
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnChanges, Renderer2 } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class EditableLabelDirective implements AfterViewInit {
3
+ export declare class EditableLabelDirective implements OnChanges, AfterViewInit {
4
4
  private el;
5
5
  private renderer;
6
+ gnUiEditableLabel?: string;
6
7
  editableLabelChanged: EventEmitter<string>;
7
- gnUiEditableLabel?: boolean;
8
+ appendedInput: HTMLInputElement;
8
9
  constructor(el: ElementRef, renderer: Renderer2);
10
+ ngOnChanges(): void;
9
11
  ngAfterViewInit(): void;
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<EditableLabelDirective, never>;
11
13
  static ɵdir: i0.ɵɵDirectiveDeclaration<EditableLabelDirective, "[gnUiEditableLabel]", never, { "gnUiEditableLabel": { "alias": "gnUiEditableLabel"; "required": false; }; }, { "editableLabelChanged": "editableLabelChanged"; }, never, never, true, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"editable-label.directive.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,SAAS,EACT,aAAa,EACb,YAAY,EAGb,MAAM,eAAe,CAAA;;AAEtB,qBAIa,sBAAuB,YAAW,aAAa;IAI9C,OAAO,CAAC,EAAE;IAAc,OAAO,CAAC,QAAQ;IAH1C,oBAAoB,uBAA6B;IAClD,iBAAiB,CAAC,EAAE,OAAO,CAAA;gBAEhB,EAAE,EAAE,UAAU,EAAU,QAAQ,EAAE,SAAS;IAE/D,eAAe;yCANJ,sBAAsB;2CAAtB,sBAAsB;CAiClC"}
1
+ {"version":3,"file":"editable-label.directive.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,UAAU,EACV,YAAY,EAEZ,SAAS,EAET,SAAS,EACV,MAAM,eAAe,CAAA;;AAEtB,qBAIa,sBAAuB,YAAW,SAAS,EAAE,aAAa;IAMzD,OAAO,CAAC,EAAE;IAAc,OAAO,CAAC,QAAQ;IAL3C,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACzB,oBAAoB,uBAA6B;IAE3D,aAAa,EAAE,gBAAgB,CAAA;gBAEX,EAAE,EAAE,UAAU,EAAU,QAAQ,EAAE,SAAS;IAE/D,WAAW;IAUX,eAAe;yCAlBJ,sBAAsB;2CAAtB,sBAAsB;CA8ClC"}
@@ -0,0 +1,17 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export type SwitchToggleOption = {
4
+ label: string;
5
+ value: string;
6
+ checked: boolean;
7
+ };
8
+ export declare class SwitchToggleComponent {
9
+ options: SwitchToggleOption[];
10
+ ariaLabel?: string;
11
+ extraClasses?: string;
12
+ selectedValue: EventEmitter<SwitchToggleOption>;
13
+ onChange(selectedOption: SwitchToggleOption): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<SwitchToggleComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<SwitchToggleComponent, "gn-ui-switch-toggle", never, { "options": { "alias": "options"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "extraClasses": { "alias": "extraClasses"; "required": false; }; }, { "selectedValue": "selectedValue"; }, never, never, true, never>;
16
+ }
17
+ //# sourceMappingURL=switch-toggle.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch-toggle.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAA;;AAGtB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,qBAQa,qBAAqB;IACvB,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,SAAS,CAAC,SAAK;IACf,YAAY,CAAC,SAAK;IACjB,aAAa,mCAAyC;IAEhE,QAAQ,CAAC,cAAc,EAAE,kBAAkB;yCANhC,qBAAqB;2CAArB,qBAAqB;CAajC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.4.0-dev.e7ff1d25",
3
+ "version": "2.4.0-dev.e97caaf2",
4
4
  "engines": {
5
5
  "node": ">=14.17.0"
6
6
  },
@@ -194,7 +194,12 @@ As such, **it is not very interesting at all.**`,
194
194
  text: 'Contains sensitive information related to national defense',
195
195
  },
196
196
  ],
197
- spatialExtents: [],
197
+ spatialExtents: [
198
+ {
199
+ bbox: [-11.5, 35.3, 43.2, 81.4],
200
+ description: 'http://www.naturalearthdata.com/ne_admin#Continent/Europe',
201
+ },
202
+ ],
198
203
  temporalExtents: [
199
204
  {
200
205
  start: new Date('2024-05-24'),
@@ -1,10 +1,6 @@
1
1
  export interface KeywordApiResponse {
2
- values?: {
3
- eng: string
4
- }
5
- definitions?: {
6
- eng: string
7
- }
2
+ values?: Record<string, string>
3
+ definitions?: Record<string, string>
8
4
  coordEast?: string
9
5
  coordWest?: string
10
6
  coordSouth?: string
@@ -141,7 +141,7 @@ export class Iso19139Converter extends BaseConverter<string> {
141
141
  distributions: writeDistributions,
142
142
  onlineResources: writeOnlineResources,
143
143
  temporalExtents: writeTemporalExtents,
144
- spatialExtents: () => writeSpatialExtents,
144
+ spatialExtents: writeSpatialExtents,
145
145
  // TODO
146
146
  extras: () => undefined,
147
147
  landingPage: () => undefined,
@@ -317,6 +317,8 @@ export class Iso19139Converter extends BaseConverter<string> {
317
317
  fieldChanged('overviews') && this.writers['overviews'](record, rootEl)
318
318
  fieldChanged('temporalExtents') &&
319
319
  this.writers['temporalExtents'](record, rootEl)
320
+ fieldChanged('spatialExtents') &&
321
+ this.writers['spatialExtents'](record, rootEl)
320
322
  fieldChanged('distributions') &&
321
323
  this.writers['distributions'](record, rootEl)
322
324
  fieldChanged('lineage') && this.writers['lineage'](record, rootEl)
@@ -79,6 +79,16 @@ export class Gn4PlatformMapper {
79
79
  (thes) => keyword.thesaurusKey === thes.key
80
80
  )
81
81
 
82
+ let bbox: [number, number, number, number]
83
+ if (keyword.coordWest) {
84
+ bbox = [
85
+ parseFloat(keyword.coordWest),
86
+ parseFloat(keyword.coordSouth),
87
+ parseFloat(keyword.coordEast),
88
+ parseFloat(keyword.coordNorth),
89
+ ]
90
+ }
91
+
82
92
  return {
83
93
  key,
84
94
  label,
@@ -90,7 +100,8 @@ export class Gn4PlatformMapper {
90
100
  url: new URL(matchedThesaurus?.url),
91
101
  type: matchedThesaurus?.dname as KeywordType,
92
102
  },
93
- }
103
+ ...(bbox && { bbox }),
104
+ } as Keyword
94
105
  })
95
106
  }
96
107
 
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core'
2
- import { Observable, combineLatest, of, switchMap } from 'rxjs'
2
+ import { combineLatest, Observable, of, switchMap } from 'rxjs'
3
3
  import { catchError, map, shareReplay, tap } from 'rxjs/operators'
4
4
  import {
5
5
  MeApiService,
@@ -192,17 +192,16 @@ export class Gn4PlatformService implements PlatformServiceInterface {
192
192
  if (this.keywordsByThesauri[uri]) {
193
193
  return this.keywordsByThesauri[uri]
194
194
  }
195
- const keywords$: Observable<KeywordApiResponse[]> =
196
- this.registriesApiService.searchKeywords(
197
- null,
198
- this.langService.iso3,
199
- 1000,
200
- 0,
201
- null,
202
- null,
203
- null,
204
- `${uri}*`
205
- ) as Observable<KeywordApiResponse[]>
195
+ const keywords$ = this.registriesApiService.searchKeywords(
196
+ null,
197
+ this.langService.iso3,
198
+ 1000,
199
+ 0,
200
+ null,
201
+ null,
202
+ null,
203
+ `${uri}*`
204
+ ) as Observable<KeywordApiResponse[]>
206
205
 
207
206
  this.keywordsByThesauri[uri] = combineLatest([
208
207
  keywords$,
@@ -221,6 +220,38 @@ export class Gn4PlatformService implements PlatformServiceInterface {
221
220
  return this.keywordsByThesauri[uri]
222
221
  }
223
222
 
223
+ searchKeywordsInThesaurus(query: string, thesaurusId: string) {
224
+ return this.allThesaurus$.pipe(
225
+ switchMap((thesauri) => {
226
+ const strippedThesaurusId = thesaurusId.replace(
227
+ 'geonetwork.thesaurus.',
228
+ ''
229
+ )
230
+ if (!thesauri.find((thes) => thes.key === strippedThesaurusId))
231
+ return of([])
232
+ return this.registriesApiService
233
+ .searchKeywords(
234
+ query,
235
+ this.langService.iso3,
236
+ 100,
237
+ 0,
238
+ null,
239
+ [strippedThesaurusId],
240
+ null
241
+ )
242
+ .pipe(
243
+ map((keywords: KeywordApiResponse[]) =>
244
+ this.mapper.keywordsFromApi(
245
+ keywords,
246
+ thesauri,
247
+ this.langService.iso3
248
+ )
249
+ )
250
+ )
251
+ })
252
+ )
253
+ }
254
+
224
255
  getUserFeedbacks(uuid: string): Observable<UserFeedback[]> {
225
256
  return this.userfeedbackApiService.getUserComments(uuid).pipe(
226
257
  map((userFeedbacks) =>
@@ -67,6 +67,7 @@ export interface Keyword {
67
67
  description?: string
68
68
  type: KeywordType
69
69
  thesaurus?: ThesaurusModel
70
+ bbox?: [number, number, number, number]
70
71
  }
71
72
  // languages should be expressed using two-letters ISO 639-1 codes
72
73
  export type LanguageCode = string
@@ -5,6 +5,6 @@ export interface UserModel {
5
5
  name: string
6
6
  surname: string
7
7
  email: string
8
- organisation: string
8
+ organisation?: string
9
9
  profileIcon?: string
10
10
  }
@@ -21,6 +21,10 @@ export abstract class PlatformServiceInterface {
21
21
  keywordTypes: KeywordType[]
22
22
  ): Observable<Keyword[]>
23
23
  abstract getKeywordsByUri(uri: string): Observable<Keyword[]>
24
+ abstract searchKeywordsInThesaurus(
25
+ query: string,
26
+ thesaurusId: string
27
+ ): Observable<Keyword[]>
24
28
  abstract getUserFeedbacks(recordUuid: string): Observable<UserFeedback[]>
25
29
  abstract postUserFeedbacks(recordUuid: UserFeedback): Observable<void>
26
30
  }
@@ -1,6 +1,15 @@
1
1
  import { deepFreeze } from './utils/freeze'
2
2
  import { Organization } from '../../../../../libs/common/domain/src/lib/model/record'
3
3
 
4
+ export const REGION_HAUT_DE_FRANCE_ORG_FIXTURE = (): Organization => ({
5
+ name: 'Région Hauts-de-France',
6
+ description: 'A very sweet description about Région Hauts-de-France.',
7
+ email: 'contact@region-haut-de-france.com',
8
+ website: new URL('https://region-haut-de-france.com/'),
9
+ logoUrl: new URL('https://region-haut-de-france.com/logo.png'),
10
+ recordCount: 4,
11
+ })
12
+
4
13
  export const ORGANISATIONS_FIXTURE: Organization[] = deepFreeze([
5
14
  {
6
15
  name: 'I Data Org',
@@ -114,4 +123,5 @@ export const ORGANISATIONS_FIXTURE: Organization[] = deepFreeze([
114
123
  logoUrl: new URL('https://my-geonetwork.org/logo12.png'),
115
124
  recordCount: 2,
116
125
  },
126
+ REGION_HAUT_DE_FRANCE_ORG_FIXTURE(),
117
127
  ])
@@ -29,6 +29,8 @@ export const saveRecordFailure = createAction(
29
29
 
30
30
  export const draftSaveSuccess = createAction('[Editor] Draft save success')
31
31
 
32
+ export const undoRecordDraft = createAction('[Editor] Undo record draft')
33
+
32
34
  export const setCurrentPage = createAction(
33
35
  '[Editor] Set current page',
34
36
  props<{ page: number }>()
@@ -70,6 +70,21 @@ export class EditorEffects {
70
70
  )
71
71
  )
72
72
 
73
+ undoRecordDraft$ = createEffect(() =>
74
+ this.actions$.pipe(
75
+ ofType(EditorActions.undoRecordDraft),
76
+ withLatestFrom(this.store.select(selectRecord)),
77
+ switchMap(([, record]) => this.editorService.undoRecordDraft(record)),
78
+ map(([record, recordSource, alreadySavedOnce]) =>
79
+ EditorActions.openRecord({
80
+ record,
81
+ alreadySavedOnce,
82
+ recordSource,
83
+ })
84
+ )
85
+ )
86
+ )
87
+
73
88
  checkHasChangesOnOpen$ = createEffect(() =>
74
89
  this.actions$.pipe(
75
90
  ofType(EditorActions.openRecord),
@@ -46,6 +46,10 @@ export class EditorFacade {
46
46
  this.store.dispatch(EditorActions.saveRecord())
47
47
  }
48
48
 
49
+ undoRecordDraft() {
50
+ this.store.dispatch(EditorActions.undoRecordDraft())
51
+ }
52
+
49
53
  updateRecordField(field: string, value: unknown) {
50
54
  this.store.dispatch(EditorActions.updateRecordField({ field, value }))
51
55
  }