geonetwork-ui 2.4.0-dev.5cc37149 → 2.4.0-dev.613f7319

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 (115) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +12 -1
  3. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  4. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  5. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +3 -3
  6. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +7 -2
  7. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  8. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +7 -3
  9. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +16 -6
  10. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +3 -3
  11. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +1 -2
  12. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +11 -7
  13. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  14. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +143 -60
  15. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
  16. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
  17. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +4 -3
  18. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +9 -3
  19. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +3 -3
  20. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +29 -0
  21. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +15 -7
  22. package/esm2022/translations/de.json +30 -0
  23. package/esm2022/translations/en.json +30 -0
  24. package/esm2022/translations/es.json +30 -0
  25. package/esm2022/translations/fr.json +30 -0
  26. package/esm2022/translations/it.json +30 -0
  27. package/esm2022/translations/nl.json +30 -0
  28. package/esm2022/translations/pt.json +30 -0
  29. package/fesm2022/geonetwork-ui.mjs +451 -89
  30. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  31. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  32. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  33. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
  34. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  35. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +9 -0
  36. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  37. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +5 -0
  38. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  39. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +4 -4
  40. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  41. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +8 -0
  42. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  43. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +4 -3
  44. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  45. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +4 -8
  46. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  47. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -1
  48. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  49. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +0 -1
  50. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  51. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -7
  52. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  53. package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
  54. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
  55. package/libs/feature/editor/src/lib/fields.config.d.ts +38 -2
  56. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  57. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +36 -0
  58. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
  59. package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
  60. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  61. package/libs/feature/editor/src/lib/services/editor.service.d.ts +2 -2
  62. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  63. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +3 -1
  64. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  65. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +11 -0
  66. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  67. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +4 -2
  68. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  69. package/package.json +1 -1
  70. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  71. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +20 -0
  72. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +12 -0
  73. package/src/libs/common/fixtures/src/index.ts +2 -0
  74. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
  75. package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
  76. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +5 -0
  77. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +2 -2
  78. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +9 -1
  79. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +11 -0
  80. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +11 -5
  81. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +22 -8
  82. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +9 -9
  83. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +2 -1
  84. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +0 -1
  85. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +51 -11
  86. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +15 -8
  87. package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
  88. package/src/libs/feature/editor/src/lib/fields.config.ts +175 -61
  89. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +53 -0
  90. package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
  91. package/src/libs/feature/editor/src/lib/services/editor.service.ts +8 -4
  92. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  93. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +5 -0
  94. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
  95. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  96. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +17 -0
  97. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +22 -0
  98. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -0
  99. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +26 -12
  100. package/translations/de.json +30 -0
  101. package/translations/en.json +30 -0
  102. package/translations/es.json +30 -0
  103. package/translations/fr.json +30 -0
  104. package/translations/it.json +30 -0
  105. package/translations/nl.json +30 -0
  106. package/translations/pt.json +30 -0
  107. package/translations/sk.json +30 -0
  108. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
  109. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
  110. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
  111. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
  112. package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
  113. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
  114. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
  115. package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
@@ -1,3 +1,4 @@
1
+ export * from './lib/base.converter';
1
2
  export * from './lib/iso19139';
2
3
  export * from './lib/iso19115-3';
3
4
  export * from './lib/find-converter';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/api/metadata-converter/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/api/metadata-converter/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,WAAW,CAAA"}
@@ -25,6 +25,7 @@ export declare class Gn4Repository implements RecordsRepositoryInterface {
25
25
  private loadRecordAsXml;
26
26
  private getLocalStorageKeyForRecord;
27
27
  openRecordForEdition(uniqueIdentifier: string): Observable<[CatalogRecord, string, boolean] | null>;
28
+ openRecordForDuplication(uniqueIdentifier: string): Observable<[CatalogRecord, string, false] | null>;
28
29
  private serializeRecordToXml;
29
30
  saveRecord(record: CatalogRecord, referenceRecordSource?: string): Observable<string>;
30
31
  saveRecordAsDraft(record: CatalogRecord, referenceRecordSource?: string): Observable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"gn4-repository.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/api/repository/src/lib/gn4/gn4-repository.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAGL,UAAU,EAIX,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAA;AACjI,OAAO,EACL,YAAY,EACZ,aAAa,EACd,MAAM,wEAAwE,CAAA;AAC/E,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACb,MAAM,2DAA2D,CAAA;AAElE,OAAO,EAEL,YAAY,EAGb,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;;AAGzF,qBACa,aAAc,YAAW,0BAA0B;IAE5D,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;gBAHb,YAAY,EAAE,gBAAgB,EAC9B,eAAe,EAAE,oBAAoB,EACrC,SAAS,EAAE,YAAY,EACvB,aAAa,EAAE,iBAAiB;IAG1C,MAAM,CAAC,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,IAAI,EACJ,SAAS,EACT,cAAc,GACf,EAAE,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC;IA6B3C,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;IAoB1D,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;IAiBrE,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;IAmBxE,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC;IA2B/D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC;IAiBrD;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,2BAA2B;IAInC,oBAAoB,CAClB,gBAAgB,EAAE,MAAM,GACvB,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAqBtD,OAAO,CAAC,oBAAoB;IAW5B,UAAU,CACR,MAAM,EAAE,aAAa,EACrB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,UAAU,CAAC,MAAM,CAAC;IA+BrB,iBAAiB,CACf,MAAM,EAAE,aAAa,EACrB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,UAAU,CAAC,MAAM,CAAC;IAWrB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAMhD,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO;IASjD,YAAY,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;yCA/QhC,aAAa;6CAAb,aAAa;CA2RzB"}
1
+ {"version":3,"file":"gn4-repository.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/api/repository/src/lib/gn4/gn4-repository.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAGL,UAAU,EAIX,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAA;AACjI,OAAO,EACL,YAAY,EACZ,aAAa,EACd,MAAM,wEAAwE,CAAA;AAC/E,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACb,MAAM,2DAA2D,CAAA;AAElE,OAAO,EAGL,YAAY,EAGb,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;;AAGzF,qBACa,aAAc,YAAW,0BAA0B;IAE5D,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;gBAHb,YAAY,EAAE,gBAAgB,EAC9B,eAAe,EAAE,oBAAoB,EACrC,SAAS,EAAE,YAAY,EACvB,aAAa,EAAE,iBAAiB;IAG1C,MAAM,CAAC,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,IAAI,EACJ,SAAS,EACT,cAAc,GACf,EAAE,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC;IA6B3C,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;IAoB1D,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;IAiBrE,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;IAmBxE,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC;IA2B/D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC;IAiBrD;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,2BAA2B;IAInC,oBAAoB,CAClB,gBAAgB,EAAE,MAAM,GACvB,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAqBtD,wBAAwB,CACtB,gBAAgB,EAAE,MAAM,GACvB,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IAiBpD,OAAO,CAAC,oBAAoB;IAW5B,UAAU,CACR,MAAM,EAAE,aAAa,EACrB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,UAAU,CAAC,MAAM,CAAC;IA+BrB,iBAAiB,CACf,MAAM,EAAE,aAAa,EACrB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,UAAU,CAAC,MAAM,CAAC;IAWrB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAMhD,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO;IASjD,YAAY,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;yCAlShC,aAAa;6CAAb,aAAa;CA8SzB"}
@@ -17,6 +17,15 @@ export declare abstract class RecordsRepositoryInterface {
17
17
  * @returns Observable<[CatalogRecord, string, boolean] | null>
18
18
  */
19
19
  abstract openRecordForEdition(uniqueIdentifier: string): Observable<[CatalogRecord, string, boolean] | null>;
20
+ /**
21
+ * This emits once:
22
+ * - record object with a new unique identifier and suffixed title
23
+ * - serialized representation of the record as text
24
+ * - false, as the duplicated record is always a draft
25
+ * @param uniqueIdentifier
26
+ * @returns Observable<[CatalogRecord, string, false] | null>
27
+ */
28
+ abstract openRecordForDuplication(uniqueIdentifier: string): Observable<[CatalogRecord, string, false] | null>;
20
29
  /**
21
30
  * @param record
22
31
  * @param referenceRecordSource
@@ -1 +1 @@
1
- {"version":3,"file":"records-repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/common/domain/src/lib/repository/records-repository.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,8BAAsB,0BAA0B;IAC9C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC;IAChE,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;IACnE,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC;IACxE,QAAQ,CAAC,iBAAiB,CACxB,SAAS,EAAE,aAAa,GACvB,UAAU,CAAC,aAAa,EAAE,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC;IAE9D;;;;;;;OAOG;IACH,QAAQ,CAAC,oBAAoB,CAC3B,gBAAgB,EAAE,MAAM,GACvB,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEtD;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CACjB,MAAM,EAAE,aAAa,EACrB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,UAAU,CAAC,MAAM,CAAC;IAErB;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CACxB,MAAM,EAAE,aAAa,EACrB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,UAAU,CAAC,MAAM,CAAC;IAErB,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IACzD,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO;IAE1D,uEAAuE;IACvE,QAAQ,CAAC,YAAY,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;CACrD"}
1
+ {"version":3,"file":"records-repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/common/domain/src/lib/repository/records-repository.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,8BAAsB,0BAA0B;IAC9C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC;IAChE,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;IACnE,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC;IACxE,QAAQ,CAAC,iBAAiB,CACxB,SAAS,EAAE,aAAa,GACvB,UAAU,CAAC,aAAa,EAAE,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC;IAE9D;;;;;;;OAOG;IACH,QAAQ,CAAC,oBAAoB,CAC3B,gBAAgB,EAAE,MAAM,GACvB,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEtD;;;;;;;OAOG;IACH,QAAQ,CAAC,wBAAwB,CAC/B,gBAAgB,EAAE,MAAM,GACvB,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CACjB,MAAM,EAAE,aAAa,EACrB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,UAAU,CAAC,MAAM,CAAC;IAErB;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CACxB,MAAM,EAAE,aAAa,EACrB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,UAAU,CAAC,MAAM,CAAC;IAErB,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IACzD,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO;IAE1D,uEAAuE;IACvE,QAAQ,CAAC,YAAY,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;CACrD"}
@@ -25,4 +25,9 @@ export declare const saveRecordFailure: import("@ngrx/store").ActionCreator<"[Ed
25
25
  error: SaveRecordError;
26
26
  } & import("@ngrx/store/src/models").TypedAction<"[Editor] Save record failure">>;
27
27
  export declare const draftSaveSuccess: import("@ngrx/store").ActionCreator<"[Editor] Draft save success", () => import("@ngrx/store/src/models").TypedAction<"[Editor] Draft save success">>;
28
+ export declare const setCurrentPage: import("@ngrx/store").ActionCreator<"[Editor] Set current page", (props: {
29
+ page: number;
30
+ }) => {
31
+ page: number;
32
+ } & import("@ngrx/store/src/models").TypedAction<"[Editor] Set current page">>;
28
33
  //# sourceMappingURL=editor.actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.actions.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/+state/editor.actions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,eAAO,MAAM,UAAU;YAGX,aAAa;sBACH,OAAO;mBACV,MAAM,GAAG,IAAI;;YAFpB,aAAa;sBACH,OAAO;mBACV,MAAM,GAAG,IAAI;yEAE/B,CAAA;AAED,eAAO,MAAM,iBAAiB;WAEb,MAAM;WAAS,OAAO;;WAAtB,MAAM;WAAS,OAAO;iFACtC,CAAA;AAED,eAAO,MAAM,mBAAmB,+JAE/B,CAAA;AAED,eAAO,MAAM,UAAU,yIAAuC,CAAA;AAC9D,eAAO,MAAM,iBAAiB,yJAA+C,CAAA;AAC7E,eAAO,MAAM,iBAAiB;WAEb,eAAe;;WAAf,eAAe;iFAC/B,CAAA;AAED,eAAO,MAAM,gBAAgB,uJAA8C,CAAA"}
1
+ {"version":3,"file":"editor.actions.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/+state/editor.actions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,eAAO,MAAM,UAAU;YAGX,aAAa;sBACH,OAAO;mBACV,MAAM,GAAG,IAAI;;YAFpB,aAAa;sBACH,OAAO;mBACV,MAAM,GAAG,IAAI;yEAE/B,CAAA;AAED,eAAO,MAAM,iBAAiB;WAEb,MAAM;WAAS,OAAO;;WAAtB,MAAM;WAAS,OAAO;iFACtC,CAAA;AAED,eAAO,MAAM,mBAAmB,+JAE/B,CAAA;AAED,eAAO,MAAM,UAAU,yIAAuC,CAAA;AAC9D,eAAO,MAAM,iBAAiB,yJAA+C,CAAA;AAC7E,eAAO,MAAM,iBAAiB;WAEb,eAAe;;WAAf,eAAe;iFAC/B,CAAA;AAED,eAAO,MAAM,gBAAgB,uJAA8C,CAAA;AAE3E,eAAO,MAAM,cAAc;UAEX,MAAM;;UAAN,MAAM;8EACrB,CAAA"}
@@ -10,14 +10,14 @@ export declare class EditorFacade {
10
10
  saveError$: import("rxjs").Observable<string>;
11
11
  saveSuccess$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<"[Editor] Save record success">>;
12
12
  changedSinceSave$: import("rxjs").Observable<boolean>;
13
- recordFields$: import("rxjs").Observable<{
14
- config: import("../models/fields.model").EditorFieldConfig;
15
- value: any;
16
- }[]>;
13
+ currentSections$: import("rxjs").Observable<import("geonetwork-ui").EditorSectionWithValues[]>;
17
14
  draftSaveSuccess$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<"[Editor] Draft save success">>;
15
+ currentPage$: import("rxjs").Observable<number>;
16
+ editorConfig$: import("rxjs").Observable<import("geonetwork-ui").EditorConfig>;
18
17
  openRecord(record: CatalogRecord, recordSource: string, alreadySavedOnce: boolean): void;
19
18
  saveRecord(): void;
20
19
  updateRecordField(field: string, value: unknown): void;
20
+ setCurrentPage(page: number): void;
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<EditorFacade, never>;
22
22
  static ɵprov: i0.ɵɵInjectableDeclaration<EditorFacade>;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"editor.facade.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/+state/editor.facade.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;;AAIzF,qBACa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,2CAAwD;IAC/D,aAAa,oCAA8D;IAC3E,iBAAiB,qCAEhB;IACD,OAAO,qCAA8D;IACrE,UAAU,oCAGT;IACD,YAAY,0GAA8D;IAC1E,iBAAiB,qCAEhB;IACD,aAAa;;;SAA8D;IAC3E,iBAAiB,yGAA6D;IAE9E,UAAU,CACR,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,OAAO;IAO3B,UAAU;IAIV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;yCAnCpC,YAAY;6CAAZ,YAAY;CAsCxB"}
1
+ {"version":3,"file":"editor.facade.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/+state/editor.facade.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;;AAIzF,qBACa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,2CAAwD;IAC/D,aAAa,oCAA8D;IAC3E,iBAAiB,qCAEhB;IACD,OAAO,qCAA8D;IACrE,UAAU,oCAGT;IACD,YAAY,0GAA8D;IAC1E,iBAAiB,qCAEhB;IACD,gBAAgB,+EAEf;IACD,iBAAiB,yGAA6D;IAC9E,YAAY,oCAA6D;IACzE,aAAa,kEAA8D;IAE3E,UAAU,CACR,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,OAAO;IAO3B,UAAU;IAIV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAI/C,cAAc,CAAC,IAAI,EAAE,MAAM;yCA3ChB,YAAY;6CAAZ,YAAY;CA8CxB"}
@@ -1,2 +1,10 @@
1
+ import { EditorField, EditorFieldValue, EditorSection } from '../models';
1
2
  export type SaveRecordError = string;
3
+ export interface EditorFieldWithValue {
4
+ config: EditorField;
5
+ value: EditorFieldValue;
6
+ }
7
+ export type EditorSectionWithValues = EditorSection & {
8
+ fieldsWithValues: EditorFieldWithValue[];
9
+ };
2
10
  //# sourceMappingURL=editor.models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.models.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/+state/editor.models.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"editor.models.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/+state/editor.models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAExE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAA;AAEpC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,gBAAgB,CAAA;CACxB;AAED,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IACpD,gBAAgB,EAAE,oBAAoB,EAAE,CAAA;CACzC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { Action } from '@ngrx/store';
2
2
  import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record';
3
3
  import { SaveRecordError } from './editor.models';
4
- import { EditorFieldsConfig } from '../models/fields.model';
4
+ import { EditorConfig } from '../models';
5
5
  export declare const EDITOR_FEATURE_KEY = "editor";
6
6
  /**
7
7
  * @property record The record being edited
@@ -9,7 +9,7 @@ export declare const EDITOR_FEATURE_KEY = "editor";
9
9
  * @property saving
10
10
  * @property saveError
11
11
  * @property changedSinceSave
12
- * @property fieldsConfig Configuration for the fields in the editor
12
+ * @property editorConfig Configuration for the fields in the editor
13
13
  */
14
14
  export interface EditorState {
15
15
  record: CatalogRecord | null;
@@ -18,7 +18,8 @@ export interface EditorState {
18
18
  saving: boolean;
19
19
  saveError: SaveRecordError | null;
20
20
  changedSinceSave: boolean;
21
- fieldsConfig: EditorFieldsConfig;
21
+ editorConfig: EditorConfig;
22
+ currentPage: number;
22
23
  }
23
24
  export interface EditorPartialState {
24
25
  readonly [EDITOR_FEATURE_KEY]: EditorState;
@@ -1 +1 @@
1
- {"version":3,"file":"editor.reducer.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/+state/editor.reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAA;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG3D,eAAO,MAAM,kBAAkB,WAAW,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gBAAgB,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,eAAe,GAAG,IAAI,CAAA;IACjC,gBAAgB,EAAE,OAAO,CAAA;IACzB,YAAY,EAAE,kBAAkB,CAAA;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAA;CAC3C;AAED,eAAO,MAAM,kBAAkB,EAAE,WAQhC,CAAA;AA2CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,eAE3E"}
1
+ {"version":3,"file":"editor.reducer.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/+state/editor.reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAA;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,eAAO,MAAM,kBAAkB,WAAW,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gBAAgB,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,eAAe,GAAG,IAAI,CAAA;IACjC,gBAAgB,EAAE,OAAO,CAAA;IACzB,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAA;CAC3C;AAED,eAAO,MAAM,kBAAkB,EAAE,WAShC,CAAA;AA+CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,eAE3E"}
@@ -1,4 +1,5 @@
1
1
  import { EditorState } from './editor.reducer';
2
+ import { EditorSectionWithValues } from './editor.models';
2
3
  export declare const selectEditorState: import("@ngrx/store").MemoizedSelector<object, EditorState, import("@ngrx/store").DefaultProjectorFn<EditorState>>;
3
4
  export declare const selectRecord: import("@ngrx/store").MemoizedSelector<object, import("../../../../../common/domain/src/lib/model/record").CatalogRecord, (s1: EditorState) => import("../../../../../common/domain/src/lib/model/record").CatalogRecord>;
4
5
  export declare const selectRecordSource: import("@ngrx/store").MemoizedSelector<object, string, (s1: EditorState) => string>;
@@ -6,12 +7,7 @@ export declare const selectRecordSaving: import("@ngrx/store").MemoizedSelector<
6
7
  export declare const selectRecordSaveError: import("@ngrx/store").MemoizedSelector<object, string, (s1: EditorState) => string>;
7
8
  export declare const selectRecordChangedSinceSave: import("@ngrx/store").MemoizedSelector<object, boolean, (s1: EditorState) => boolean>;
8
9
  export declare const selectRecordAlreadySavedOnce: import("@ngrx/store").MemoizedSelector<object, boolean, (s1: EditorState) => boolean>;
9
- export declare const selectRecordFieldsConfig: import("@ngrx/store").MemoizedSelector<object, import("../models/fields.model").EditorFieldsConfig, (s1: EditorState) => import("../models/fields.model").EditorFieldsConfig>;
10
- export declare const selectRecordFields: import("@ngrx/store").MemoizedSelector<object, {
11
- config: import("../models/fields.model").EditorFieldConfig;
12
- value: any;
13
- }[], (s1: EditorState) => {
14
- config: import("../models/fields.model").EditorFieldConfig;
15
- value: any;
16
- }[]>;
10
+ export declare const selectEditorConfig: import("@ngrx/store").MemoizedSelector<object, import("geonetwork-ui").EditorConfig, (s1: EditorState) => import("geonetwork-ui").EditorConfig>;
11
+ export declare const selectCurrentPage: import("@ngrx/store").MemoizedSelector<object, number, (s1: EditorState) => number>;
12
+ export declare const selectRecordSections: import("@ngrx/store").MemoizedSelector<object, EditorSectionWithValues[], (s1: EditorState) => EditorSectionWithValues[]>;
17
13
  //# sourceMappingURL=editor.selectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.selectors.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/+state/editor.selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAElE,eAAO,MAAM,iBAAiB,oHAC0B,CAAA;AAExD,eAAO,MAAM,YAAY,2NAGxB,CAAA;AAED,eAAO,MAAM,kBAAkB,qFAG9B,CAAA;AAED,eAAO,MAAM,kBAAkB,uFAG9B,CAAA;AAED,eAAO,MAAM,qBAAqB,qFAGjC,CAAA;AAED,eAAO,MAAM,4BAA4B,uFAGxC,CAAA;AAED,eAAO,MAAM,4BAA4B,uFAGxC,CAAA;AAED,eAAO,MAAM,wBAAwB,+KAGpC,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;;;IAO9B,CAAA"}
1
+ {"version":3,"file":"editor.selectors.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/+state/editor.selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,eAAO,MAAM,iBAAiB,oHAC0B,CAAA;AAExD,eAAO,MAAM,YAAY,2NAGxB,CAAA;AAED,eAAO,MAAM,kBAAkB,qFAG9B,CAAA;AAED,eAAO,MAAM,kBAAkB,uFAG9B,CAAA;AAED,eAAO,MAAM,qBAAqB,qFAGjC,CAAA;AAED,eAAO,MAAM,4BAA4B,uFAGxC,CAAA;AAED,eAAO,MAAM,4BAA4B,uFAGxC,CAAA;AAED,eAAO,MAAM,kBAAkB,iJAG9B,CAAA;AAED,eAAO,MAAM,iBAAiB,qFAG7B,CAAA;AAED,eAAO,MAAM,oBAAoB,2HAehC,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { ElementRef } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
3
  import { Observable } from 'rxjs';
4
- import { FormFieldConfig } from './form-field.model';
5
4
  import { CatalogRecordKeys } from '../../../../../../../../libs/common/domain/src/lib/model/record';
5
+ import { FormFieldConfig } from '../../../models';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class FormFieldComponent {
8
8
  model: CatalogRecordKeys;
@@ -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,EAIX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAA;AAMjE,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAYjC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iEAAiE,CAAA;;AAGnG,qBA2Ba,kBAAkB;IACpB,KAAK,EAAE,iBAAiB,CAAA;IACxB,MAAM,EAAE,eAAe,CAAA;IAChC,IAAa,KAAK,CAAC,CAAC,EAAE,OAAO,EAI5B;IACS,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IAEjB,UAAU,EAAE,UAAU,CAAA;IAE/C,WAAW,mBAAoB;;IAM/B,eAAe;IAIf,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,aAAa,YAEhB;IACD,IAAI,UAAU,YAEb;IACD,IAAI,UAAU,YAEb;IAED,IAAI,cAAc,YAEjB;yCAvDU,kBAAkB;2CAAlB,kBAAkB;CAwD9B"}
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,EAIX,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;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;;AAEjD,qBA2Ba,kBAAkB;IACpB,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;IAEjB,UAAU,EAAE,UAAU,CAAA;IAE/C,WAAW,mBAAoB;;IAM/B,eAAe;IAIf,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,aAAa,YAEhB;IACD,IAAI,UAAU,YAEb;IACD,IAAI,UAAU,YAEb;IAED,IAAI,cAAc,YAEjB;yCAxDU,kBAAkB;2CAAlB,kBAAkB;CAyD9B"}
@@ -9,5 +9,4 @@ export * from './form-field-object/form-field-object.component';
9
9
  export * from './form-field-array/form-field-array.component';
10
10
  export * from './form-field-spatial-extent/form-field-spatial-extent.component';
11
11
  export * from './form-field.component';
12
- export * from './form-field.model';
13
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts"],"names":[],"mappings":"AAAA,cAAc,qDAAqD,CAAA;AACnE,cAAc,mDAAmD,CAAA;AACjE,cAAc,qEAAqE,CAAA;AACnF,cAAc,qEAAqE,CAAA;AACnF,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,iEAAiE,CAAA;AAC/E,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts"],"names":[],"mappings":"AAAA,cAAc,qDAAqD,CAAA;AACnE,cAAc,mDAAmD,CAAA;AACjE,cAAc,qEAAqE,CAAA;AACnF,cAAc,qEAAqE,CAAA;AACnF,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,iEAAiE,CAAA;AAC/E,cAAc,wBAAwB,CAAA"}
@@ -1,15 +1,13 @@
1
1
  import { EditorFacade } from '../../+state/editor.facade';
2
- import { EditorFieldState, EditorFieldValue } from '../../models/fields.model';
2
+ import { EditorFieldValue } from '../../models';
3
+ import { EditorFieldWithValue, EditorSectionWithValues } from '../../+state/editor.models';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class RecordFormComponent {
5
6
  facade: EditorFacade;
6
- fields$: import("rxjs").Observable<{
7
- config: import("../../models/fields.model").EditorFieldConfig;
8
- value: any;
9
- }[]>;
10
7
  constructor(facade: EditorFacade);
11
- handleFieldValueChange(field: EditorFieldState, newValue: EditorFieldValue): void;
12
- fieldTracker(index: number, field: EditorFieldState): string;
8
+ handleFieldValueChange(model: string, newValue: EditorFieldValue): void;
9
+ fieldTracker(index: number, field: EditorFieldWithValue): any;
10
+ sectionTracker(index: number, section: EditorSectionWithValues): any;
13
11
  static ɵfac: i0.ɵɵFactoryDeclaration<RecordFormComponent, never>;
14
12
  static ɵcmp: i0.ɵɵComponentDeclaration<RecordFormComponent, "gn-ui-record-form", never, {}, {}, never, never, true, never>;
15
13
  }
@@ -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,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;AAG9E,qBAQa,mBAAmB;IAGX,MAAM,EAAE,YAAY;IAFvC,OAAO;;;SAA4B;gBAEhB,MAAM,EAAE,YAAY;IAEvC,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB;IAO1E,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB;yCAZxC,mBAAmB;2CAAnB,mBAAmB;CAe/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;;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,4 +1,4 @@
1
- import { EditorFieldState, EditorFieldValue } from './models/fields.model';
1
+ import { EditorFieldState, EditorFieldValue } from './models/';
2
2
  export type ExpressionEvaluator = (field: EditorFieldState) => EditorFieldValue;
3
3
  export declare function evaluate(expression: string): ExpressionEvaluator;
4
4
  //# sourceMappingURL=expressions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../../../src/libs/feature/editor/src/lib/expressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,gBAAgB,CAAA;AAE/E,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAWhE"}
1
+ {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../../../src/libs/feature/editor/src/lib/expressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,gBAAgB,CAAA;AAE/E,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAWhE"}
@@ -1,3 +1,39 @@
1
- import { EditorFieldsConfig } from './models/fields.model';
2
- export declare const DEFAULT_FIELDS: EditorFieldsConfig;
1
+ import { EditorConfig, EditorField, EditorSection } from './models/editor-config.model';
2
+ /**
3
+ * This file contains the configuration of the fields that will be displayed in the editor.
4
+ * To add a new field, you need to create a new EditorField object in the fields part of this file.
5
+ * Then add it to the corresponding section in the sections part of this file.
6
+ * Finally, add the section to the corresponding page in the pages part of this file.
7
+ */
8
+ /************************************************************
9
+ *************** FIELDS *****************
10
+ ************************************************************
11
+ */
12
+ export declare const RECORD_LICENSE_FIELD: EditorField;
13
+ export declare const RECORD_KEYWORDS_FIELD: EditorField;
14
+ export declare const RECORD_UNIQUE_IDENTIFIER_FIELD: EditorField;
15
+ export declare const RECORD_RESOURCE_UPDATED_FIELD: EditorField;
16
+ export declare const RECORD_UPDATED_FIELD: EditorField;
17
+ export declare const RECORD_UPDATE_FREQUENCY_FIELD: EditorField;
18
+ export declare const RECORD_TEMPORAL_EXTENTS_FIELD: EditorField;
19
+ export declare const RECORD_TITLE_FIELD: EditorField;
20
+ export declare const RECORD_ABSTRACT_FIELD: EditorField;
21
+ /************************************************************
22
+ *************** SECTIONS *****************
23
+ ************************************************************
24
+ */
25
+ export declare const TITLE_SECTION: EditorSection;
26
+ export declare const ABOUT_SECTION: EditorSection;
27
+ export declare const GEOGRAPHICAL_COVERAGE_SECTION: EditorSection;
28
+ export declare const ASSOCIATED_RESOURCES_SECTION: EditorSection;
29
+ export declare const ANNEXES_SECTION: EditorSection;
30
+ export declare const CLASSIFICATION_SECTION: EditorSection;
31
+ export declare const USE_AND_ACCESS_CONDITIONS_SECTION: EditorSection;
32
+ export declare const DATA_MANAGERS_SECTION: EditorSection;
33
+ export declare const DATA_POINT_OF_CONTACT_SECTION: EditorSection;
34
+ /************************************************************
35
+ *************** PAGES *****************
36
+ ************************************************************
37
+ */
38
+ export declare const DEFAULT_CONFIGURATION: EditorConfig;
3
39
  //# sourceMappingURL=fields.config.d.ts.map
@@ -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,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,eAAO,MAAM,cAAc,EAAE,kBAmE5B,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;;;GAGG;AAEH,eAAO,MAAM,aAAa,EAAE,aAG3B,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"}
@@ -0,0 +1,36 @@
1
+ import { CatalogRecordKeys } from '../../../../../../libs/common/domain/src/lib/model/record';
2
+ export type EditorFieldExpression = `$\{${string}}`;
3
+ export type EditorFieldValue = string | number | boolean | unknown;
4
+ export interface FormFieldConfig {
5
+ labelKey?: string;
6
+ hintKey?: string;
7
+ tooltipKey?: string;
8
+ required?: boolean;
9
+ locked?: boolean;
10
+ invalid?: boolean;
11
+ invalidHintKey?: string;
12
+ }
13
+ export interface EditorField {
14
+ formFieldConfig: FormFieldConfig;
15
+ model?: CatalogRecordKeys;
16
+ hidden?: boolean;
17
+ onSaveProcess?: EditorFieldExpression;
18
+ }
19
+ export interface EditorSection {
20
+ labelKey?: string;
21
+ descriptionKey?: string;
22
+ hidden: boolean;
23
+ fields: EditorField[];
24
+ }
25
+ export interface EditorFieldPage {
26
+ labelKey?: string;
27
+ sections: EditorSection[];
28
+ }
29
+ export interface EditorConfig {
30
+ pages: EditorFieldPage[];
31
+ }
32
+ export interface EditorFieldState {
33
+ model: string;
34
+ value: EditorFieldValue;
35
+ }
36
+ //# sourceMappingURL=editor-config.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-config.model.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/models/editor-config.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAA;AAI7F,MAAM,MAAM,qBAAqB,GAAG,MAAM,MAAM,GAAG,CAAA;AAEnD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAElE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,WAAW;IAE1B,eAAe,EAAE,eAAe,CAAA;IAGhC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAIzB,MAAM,CAAC,EAAE,OAAO,CAAA;IAGhB,aAAa,CAAC,EAAE,qBAAqB,CAAA;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,eAAe,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,gBAAgB,CAAA;CACxB"}
@@ -1,3 +1,4 @@
1
1
  export * from './wizard-field.model';
2
2
  export * from './wizard-field.type';
3
+ export * from './editor-config.model';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/editor/src/lib/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA"}
@@ -1,12 +1,12 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record';
3
- import { EditorFieldsConfig } from '../models/fields.model';
3
+ import { EditorConfig } from '../models/';
4
4
  import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class EditorService {
7
7
  private recordsRepository;
8
8
  constructor(recordsRepository: RecordsRepositoryInterface);
9
- saveRecord(record: CatalogRecord, fieldsConfig: EditorFieldsConfig, generateNewUniqueIdentifier?: boolean): Observable<[CatalogRecord, string]>;
9
+ saveRecord(record: CatalogRecord, fieldsConfig: EditorConfig, generateNewUniqueIdentifier?: boolean): Observable<[CatalogRecord, string]>;
10
10
  saveRecordAsDraft(record: CatalogRecord): Observable<void>;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<EditorService, never>;
12
12
  static ɵprov: i0.ɵɵInjectableDeclaration<EditorService>;
@@ -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,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,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,kBAAkB,EAChC,2BAA2B,UAAQ,GAClC,UAAU,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAiCtC,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC;yCAzC/C,aAAa;6CAAb,aAAa;CA8CzB"}
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"}
@@ -11,15 +11,17 @@ export declare class ResultsTableContainerComponent {
11
11
  private selectionService;
12
12
  private recordsRepository;
13
13
  recordClick: EventEmitter<CatalogRecord>;
14
+ duplicateRecord: EventEmitter<CatalogRecord>;
14
15
  records$: import("rxjs").Observable<CatalogRecord[]>;
15
16
  selectedRecords$: import("rxjs").BehaviorSubject<string[]>;
16
17
  sortBy$: import("rxjs").Observable<import("../../../../../common/domain/src/lib/model/search").SortByField>;
17
18
  hasDraft: (record: CatalogRecord) => boolean;
18
19
  constructor(searchFacade: SearchFacade, searchService: SearchService, selectionService: SelectionService, recordsRepository: RecordsRepositoryInterface);
19
20
  handleRecordClick(item: unknown): void;
21
+ handleDuplicateRecord(item: unknown): void;
20
22
  handleSortByChange(col: string, order: 'asc' | 'desc'): void;
21
23
  handleRecordsSelectedChange(records: CatalogRecord[], selected: boolean): void;
22
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ResultsTableContainerComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<ResultsTableContainerComponent, "gn-ui-results-table-container", never, {}, { "recordClick": "recordClick"; }, never, never, true, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<ResultsTableContainerComponent, "gn-ui-results-table-container", never, {}, { "recordClick": "recordClick"; "duplicateRecord": "duplicateRecord"; }, never, never, true, never>;
24
26
  }
25
27
  //# sourceMappingURL=results-table-container.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"results-table-container.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/search/src/lib/results-table/results-table-container.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAU,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAA;;AAIjI,qBAOa,8BAA8B;IAWvC,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,iBAAiB;IAbjB,WAAW,8BAAoC;IAEzD,QAAQ,6CAA6B;IACrC,gBAAgB,2CAAoD;IACpE,OAAO,qGAA4B;IAEnC,QAAQ,WAAY,aAAa,KAAG,OAAO,CACqB;gBAGtD,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,0BAA0B;IAGvD,iBAAiB,CAAC,IAAI,EAAE,OAAO;IAI/B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;IAIrD,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO;yCAzB5D,8BAA8B;2CAA9B,8BAA8B;CAgC1C"}
1
+ {"version":3,"file":"results-table-container.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/search/src/lib/results-table/results-table-container.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAU,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAA;;AAIjI,qBAOa,8BAA8B;IAYvC,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,iBAAiB;IAdjB,WAAW,8BAAoC;IAC/C,eAAe,8BAAoC;IAE7D,QAAQ,6CAA6B;IACrC,gBAAgB,2CAAoD;IACpE,OAAO,qGAA4B;IAEnC,QAAQ,WAAY,aAAa,KAAG,OAAO,CACqB;gBAGtD,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,0BAA0B;IAGvD,iBAAiB,CAAC,IAAI,EAAE,OAAO;IAI/B,qBAAqB,CAAC,IAAI,EAAE,OAAO;IAInC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;IAIrD,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO;yCA9B5D,8BAA8B;2CAA9B,8BAA8B;CAqC1C"}
@@ -0,0 +1,11 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { MatMenuTrigger } from '@angular/material/menu';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ActionMenuComponent {
5
+ duplicate: EventEmitter<void>;
6
+ trigger: MatMenuTrigger;
7
+ openMenu(): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionMenuComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActionMenuComponent, "gn-ui-action-menu", never, {}, { "duplicate": "duplicate"; }, never, never, true, never>;
10
+ }
11
+ //# sourceMappingURL=action-menu.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-menu.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAqB,MAAM,eAAe,CAAA;AAE1E,OAAO,EAAiB,cAAc,EAAE,MAAM,wBAAwB,CAAA;;AAItE,qBAOa,mBAAmB;IACpB,SAAS,qBAA2B;IAEnB,OAAO,EAAE,cAAc,CAAA;IAElD,QAAQ;yCALG,mBAAmB;2CAAnB,mBAAmB;CAQ/B"}
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record';
3
- import { FileFormat } from '../../../../../../libs/util/shared/src';
4
3
  import { SortByField } from '../../../../../../libs/common/domain/src/lib/model/search';
4
+ import { FileFormat } from '../../../../../../libs/util/shared/src';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class ResultsTableComponent {
7
7
  records: CatalogRecord[];
@@ -10,6 +10,7 @@ export declare class ResultsTableComponent {
10
10
  recordHasDraft: (record: CatalogRecord) => boolean;
11
11
  sortByChange: EventEmitter<[string, "asc" | "desc"]>;
12
12
  recordClick: EventEmitter<CatalogRecord>;
13
+ duplicateRecord: EventEmitter<CatalogRecord>;
13
14
  recordsSelectedChange: EventEmitter<[CatalogRecord[], boolean]>;
14
15
  dateToString(date: Date): string;
15
16
  getStatus(isPublishedToAll: boolean | unknown): "published" | "not published";
@@ -17,6 +18,7 @@ export declare class ResultsTableComponent {
17
18
  formatUserInfo(userInfo: string | unknown): string;
18
19
  getBadgeColor(format: FileFormat): string;
19
20
  handleRecordClick(item: unknown): void;
21
+ handleDuplicate(item: unknown): void;
20
22
  setSortBy(col: string, order: 'asc' | 'desc'): void;
21
23
  isSortedBy(col: string): 'desc' | 'asc' | null;
22
24
  isChecked(record: CatalogRecord): boolean;
@@ -25,6 +27,6 @@ export declare class ResultsTableComponent {
25
27
  isAllSelected(): boolean;
26
28
  isSomeSelected(): boolean;
27
29
  static ɵfac: i0.ɵɵFactoryDeclaration<ResultsTableComponent, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<ResultsTableComponent, "gn-ui-results-table", never, { "records": { "alias": "records"; "required": false; }; "selectedRecordsIdentifiers": { "alias": "selectedRecordsIdentifiers"; "required": false; }; "sortOrder": { "alias": "sortOrder"; "required": false; }; "recordHasDraft": { "alias": "recordHasDraft"; "required": false; }; }, { "sortByChange": "sortByChange"; "recordClick": "recordClick"; "recordsSelectedChange": "recordsSelectedChange"; }, never, never, true, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<ResultsTableComponent, "gn-ui-results-table", never, { "records": { "alias": "records"; "required": false; }; "selectedRecordsIdentifiers": { "alias": "selectedRecordsIdentifiers"; "required": false; }; "sortOrder": { "alias": "sortOrder"; "required": false; }; "recordHasDraft": { "alias": "recordHasDraft"; "required": false; }; }, { "sortByChange": "sortByChange"; "recordClick": "recordClick"; "duplicateRecord": "duplicateRecord"; "recordsSelectedChange": "recordsSelectedChange"; }, never, never, true, never>;
29
31
  }
30
32
  //# sourceMappingURL=results-table.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"results-table.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/search/src/lib/results-table/results-table.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EACL,UAAU,EAIX,MAAM,wCAAwC,CAAA;AAS/C,OAAO,EAEL,WAAW,EACZ,MAAM,2DAA2D,CAAA;;AAElE,qBAea,qBAAqB;IACvB,OAAO,EAAE,aAAa,EAAE,CAAK;IAC7B,0BAA0B,EAAE,MAAM,EAAE,CAAK;IACzC,SAAS,EAAE,WAAW,CAAO;IAC7B,cAAc,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAc;IAG/D,YAAY,yCAA+C;IAC3D,WAAW,8BAAoC;IAC/C,qBAAqB,2CAE5B;IAEH,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAShC,SAAS,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO;IAI7C,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,EAAE;IAarD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAQlD,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIzC,iBAAiB,CAAC,IAAI,EAAE,OAAO;IAI/B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;IAI5C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;IAe9C,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIzC,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAI7D,eAAe;IAIrB,aAAa,IAAI,OAAO;IAMxB,cAAc,IAAI,OAAO;yCA5Fd,qBAAqB;2CAArB,qBAAqB;CAqGjC"}
1
+ {"version":3,"file":"results-table.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/search/src/lib/results-table/results-table.component.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,EAIb,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAEL,WAAW,EACZ,MAAM,2DAA2D,CAAA;AAMlE,OAAO,EACL,UAAU,EAIX,MAAM,wCAAwC,CAAA;;AAI/C,qBAgBa,qBAAqB;IACvB,OAAO,EAAE,aAAa,EAAE,CAAK;IAC7B,0BAA0B,EAAE,MAAM,EAAE,CAAK;IACzC,SAAS,EAAE,WAAW,CAAO;IAC7B,cAAc,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAc;IAG/D,YAAY,yCAA+C;IAC3D,WAAW,8BAAoC;IAC/C,eAAe,8BAAoC;IACnD,qBAAqB,2CAE5B;IAEH,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAShC,SAAS,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO;IAI7C,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,EAAE;IAarD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAQlD,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIzC,iBAAiB,CAAC,IAAI,EAAE,OAAO;IAI/B,eAAe,CAAC,IAAI,EAAE,OAAO;IAI7B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;IAI5C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;IAe9C,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIzC,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAI7D,eAAe;IAIrB,aAAa,IAAI,OAAO;IAMxB,cAAc,IAAI,OAAO;yCAjGd,qBAAqB;2CAArB,qBAAqB;CA0GjC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.4.0-dev.5cc37149",
3
+ "version": "2.4.0-dev.613f7319",
4
4
  "engines": {
5
5
  "node": ">=14.17.0"
6
6
  },
@@ -1,3 +1,4 @@
1
+ export * from './lib/base.converter'
1
2
  export * from './lib/iso19139'
2
3
  export * from './lib/iso19115-3'
3
4
  export * from './lib/find-converter'
@@ -24,6 +24,7 @@ import {
24
24
  } from '../../../../../../libs/common/domain/src/lib/model/search'
25
25
  import { catchError, map, tap } from 'rxjs/operators'
26
26
  import {
27
+ BaseConverter,
27
28
  findConverterForDocument,
28
29
  Gn4Converter,
29
30
  Gn4SearchResults,
@@ -230,6 +231,25 @@ export class Gn4Repository implements RecordsRepositoryInterface {
230
231
  )
231
232
  }
232
233
 
234
+ openRecordForDuplication(
235
+ uniqueIdentifier: string
236
+ ): Observable<[CatalogRecord, string, false] | null> {
237
+ return this.loadRecordAsXml(uniqueIdentifier).pipe(
238
+ switchMap(async (recordAsXml) => {
239
+ const converter = findConverterForDocument(recordAsXml)
240
+ const record = await converter.readRecord(recordAsXml)
241
+ record.uniqueIdentifier = `TEMP-ID-${Date.now()}`
242
+ record.title = `${record.title} (Copy)`
243
+ const xml = await converter.writeRecord(record, recordAsXml)
244
+ window.localStorage.setItem(
245
+ this.getLocalStorageKeyForRecord(record.uniqueIdentifier),
246
+ xml
247
+ )
248
+ return [record, xml, false] as [CatalogRecord, string, false]
249
+ })
250
+ )
251
+ }
252
+
233
253
  private serializeRecordToXml(
234
254
  record: CatalogRecord,
235
255
  referenceRecordSource?: string
@@ -30,6 +30,18 @@ export abstract class RecordsRepositoryInterface {
30
30
  uniqueIdentifier: string
31
31
  ): Observable<[CatalogRecord, string, boolean] | null>
32
32
 
33
+ /**
34
+ * This emits once:
35
+ * - record object with a new unique identifier and suffixed title
36
+ * - serialized representation of the record as text
37
+ * - false, as the duplicated record is always a draft
38
+ * @param uniqueIdentifier
39
+ * @returns Observable<[CatalogRecord, string, false] | null>
40
+ */
41
+ abstract openRecordForDuplication(
42
+ uniqueIdentifier: string
43
+ ): Observable<[CatalogRecord, string, false] | null>
44
+
33
45
  /**
34
46
  * @param record
35
47
  * @param referenceRecordSource
@@ -11,3 +11,5 @@ export * from './lib/records.fixtures'
11
11
  export * from './lib/repository.fixtures'
12
12
  export * from './lib/user.fixtures'
13
13
  export * from './lib/user-feedbacks.fixtures'
14
+
15
+ export * from './lib/editor'