geonetwork-ui 2.4.0-dev.49a5852a → 2.4.0-dev.4e4ab1af

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 (166) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  4. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +12 -1
  5. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +9 -5
  6. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  7. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  8. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +2 -6
  9. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  10. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +3 -3
  11. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +7 -2
  12. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
  13. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +7 -3
  14. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +16 -6
  15. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +4 -2
  16. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +3 -3
  17. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +1 -2
  18. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +11 -7
  19. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
  20. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +143 -60
  21. package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
  22. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
  23. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +4 -3
  24. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +42 -23
  25. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +13 -5
  26. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +49 -15
  27. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +9 -3
  28. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +7 -3
  29. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  30. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +5 -4
  31. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -4
  32. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +3 -3
  33. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
  34. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +29 -0
  35. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +15 -7
  36. package/esm2022/translations/de.json +77 -39
  37. package/esm2022/translations/en.json +47 -12
  38. package/esm2022/translations/es.json +47 -9
  39. package/esm2022/translations/fr.json +46 -11
  40. package/esm2022/translations/it.json +47 -9
  41. package/esm2022/translations/nl.json +47 -9
  42. package/esm2022/translations/pt.json +47 -9
  43. package/fesm2022/geonetwork-ui.mjs +786 -303
  44. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  45. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  46. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  47. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  48. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  49. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  50. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
  51. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  52. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -1
  53. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  54. package/libs/common/domain/src/lib/platform.service.interface.d.ts +2 -1
  55. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  56. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +9 -0
  57. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  58. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  59. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +5 -0
  60. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  61. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +4 -4
  62. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  63. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +8 -0
  64. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
  65. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +4 -3
  66. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  67. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +4 -8
  68. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  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.component.d.ts +1 -1
  71. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  72. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +0 -1
  73. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  74. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -7
  75. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  76. package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
  77. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
  78. package/libs/feature/editor/src/lib/fields.config.d.ts +38 -2
  79. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  80. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +36 -0
  81. package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
  82. package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
  83. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  84. package/libs/feature/editor/src/lib/services/editor.service.d.ts +2 -2
  85. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  86. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
  87. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  88. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
  89. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  90. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
  91. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  92. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +3 -1
  93. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  94. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  95. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  96. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  97. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +11 -0
  98. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  99. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +4 -2
  100. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  101. package/package.json +1 -1
  102. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  103. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
  104. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  105. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +20 -0
  106. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +26 -15
  107. package/src/libs/common/domain/src/lib/platform.service.interface.ts +5 -1
  108. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +12 -0
  109. package/src/libs/common/fixtures/src/index.ts +2 -0
  110. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
  111. package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
  112. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +1 -5
  113. package/src/libs/data-access/gn4/src/spec.yaml +0 -8
  114. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +5 -0
  115. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +2 -2
  116. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +9 -1
  117. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +11 -0
  118. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +11 -5
  119. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +22 -8
  120. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +8 -6
  121. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +9 -9
  122. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +2 -1
  123. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +0 -1
  124. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +51 -11
  125. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +15 -8
  126. package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
  127. package/src/libs/feature/editor/src/lib/fields.config.ts +175 -61
  128. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +53 -0
  129. package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
  130. package/src/libs/feature/editor/src/lib/services/editor.service.ts +8 -4
  131. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
  132. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
  133. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
  134. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
  135. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  136. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +5 -0
  137. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +16 -2
  138. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +29 -29
  139. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -1
  140. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
  141. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +31 -0
  142. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +15 -0
  143. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +38 -0
  144. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -0
  145. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  146. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +17 -0
  147. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +22 -0
  148. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -0
  149. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +26 -12
  150. package/tailwind.base.css +2 -1
  151. package/translations/de.json +77 -39
  152. package/translations/en.json +47 -12
  153. package/translations/es.json +47 -9
  154. package/translations/fr.json +46 -11
  155. package/translations/it.json +47 -9
  156. package/translations/nl.json +47 -9
  157. package/translations/pt.json +47 -9
  158. package/translations/sk.json +47 -9
  159. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
  160. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
  161. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
  162. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
  163. package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
  164. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
  165. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
  166. package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
@@ -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 +1 @@
1
- {"version":3,"file":"form-field-keywords.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,kFAAkF,CAAA;AAQ3H,OAAO,EAAE,OAAO,EAAE,MAAM,oEAAoE,CAAA;;AAE5F,KAAK,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAEzD,qBAca,0BAA0B;IAiBzB,OAAO,CAAC,eAAe;IAhB1B,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;IAExC,aAAa,SAAU,gBAAgB,YAEtC;IAED,kBAAkB,UAAW,MAAM;;;SAQlC;gBAEmB,eAAe,EAAE,wBAAwB;IAE7D,mBAAmB,CAAC,IAAI,EAAE,gBAAgB;IAI1C,UAAU,CAAC,OAAO,EAAE,OAAO;IAmB3B,aAAa,CAAC,KAAK,EAAE,MAAM;yCA1ChB,0BAA0B;2CAA1B,0BAA0B;CA+CtC"}
1
+ {"version":3,"file":"form-field-keywords.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,kFAAkF,CAAA;AAQ3H,OAAO,EAAE,OAAO,EAAE,MAAM,oEAAoE,CAAA;;AAE5F,KAAK,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAEzD,qBAca,0BAA0B;IAmBzB,OAAO,CAAC,eAAe;IAlB1B,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;IAExC,aAAa,SAAU,gBAAgB,YAEtC;IAED,kBAAkB,UAAW,MAAM;;;SAUlC;gBAEmB,eAAe,EAAE,wBAAwB;IAE7D,mBAAmB,CAAC,IAAI,EAAE,gBAAgB;IAI1C,UAAU,CAAC,OAAO,EAAE,OAAO;IAmB3B,aAAa,CAAC,KAAK,EAAE,MAAM;yCA5ChB,0BAA0B;2CAA1B,0BAA0B;CAiDtC"}
@@ -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"}
@@ -1,5 +1,6 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  import { Configuration } from '../../../../../../libs/data-access/gn4/src';
3
+ import { BehaviorSubject } from 'rxjs';
3
4
  import { MdViewFacade } from '../state';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare const WEB_COMPONENT_EMBEDDER_URL: InjectionToken<string>;
@@ -8,9 +9,11 @@ export declare class DataViewPermalinkComponent {
8
9
  protected wcEmbedderBaseUrl: string;
9
10
  private version;
10
11
  private facade;
12
+ viewType$: BehaviorSubject<string>;
13
+ set viewType(value: string);
11
14
  permalinkUrl$: import("rxjs").Observable<string>;
12
15
  constructor(config: Configuration, wcEmbedderBaseUrl: string, version: string, facade: MdViewFacade);
13
16
  static ɵfac: i0.ɵɵFactoryDeclaration<DataViewPermalinkComponent, [null, { optional: true; }, null, null]>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<DataViewPermalinkComponent, "gn-ui-data-view-permalink", never, {}, {}, never, never, false, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataViewPermalinkComponent, "gn-ui-data-view-permalink", never, { "viewType": { "alias": "viewType"; "required": false; }; }, {}, never, never, false, never>;
15
18
  }
16
19
  //# sourceMappingURL=data-view-permalink.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-view-permalink.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EAEf,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;;AAGvC,eAAO,MAAM,0BAA0B,wBAEtC,CAAA;AAED,qBAMa,0BAA0B;IA4BZ,OAAO,CAAC,MAAM;IAGrC,SAAS,CAAC,iBAAiB,EAAE,MAAM;IACZ,OAAO,CAAC,OAAO;IACtC,OAAO,CAAC,MAAM;IAhChB,aAAa,oCAwBZ;gBAGgC,MAAM,EAAE,aAAa,EAG1C,iBAAiB,EAAE,MAAM,EACJ,OAAO,EAAE,MAAM,EACtC,MAAM,EAAE,YAAY;yCAjCnB,0BAA0B;2CAA1B,0BAA0B;CAmCtC"}
1
+ {"version":3,"file":"data-view-permalink.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EAGf,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAsB,MAAM,MAAM,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;;AAGvC,eAAO,MAAM,0BAA0B,wBAEtC,CAAA;AAED,qBAMa,0BAA0B;IA4CZ,OAAO,CAAC,MAAM;IAGrC,SAAS,CAAC,iBAAiB,EAAE,MAAM;IACZ,OAAO,CAAC,OAAO;IACtC,OAAO,CAAC,MAAM;IAhDhB,SAAS,0BAAqC;IAC9C,IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED,aAAa,oCAkCZ;gBAGgC,MAAM,EAAE,aAAa,EAG1C,iBAAiB,EAAE,MAAM,EACJ,OAAO,EAAE,MAAM,EACtC,MAAM,EAAE,YAAY;yCAjDnB,0BAA0B;2CAA1B,0BAA0B;CAmDtC"}
@@ -1,8 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class DataViewShareComponent {
3
3
  protected wcEmbedderBaseUrl: string;
4
+ private _viewType;
5
+ set viewType(value: string);
6
+ get viewType(): string;
4
7
  constructor(wcEmbedderBaseUrl: string);
5
8
  static ɵfac: i0.ɵɵFactoryDeclaration<DataViewShareComponent, [{ optional: true; }]>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<DataViewShareComponent, "gn-ui-data-view-share", never, {}, {}, never, never, false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataViewShareComponent, "gn-ui-data-view-share", never, { "viewType": { "alias": "viewType"; "required": false; }; }, {}, never, never, false, never>;
7
10
  }
8
11
  //# sourceMappingURL=data-view-share.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-view-share.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts"],"names":[],"mappings":";AAQA,qBAMa,sBAAsB;IAI/B,SAAS,CAAC,iBAAiB,EAAE,MAAM;gBAAzB,iBAAiB,EAAE,MAAM;yCAJ1B,sBAAsB;2CAAtB,sBAAsB;CAMlC"}
1
+ {"version":3,"file":"data-view-share.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts"],"names":[],"mappings":";AASA,qBAMa,sBAAsB;IAc/B,SAAS,CAAC,iBAAiB,EAAE,MAAM;IAbrC,OAAO,CAAC,SAAS,CAAQ;IAEzB,IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;gBAIW,iBAAiB,EAAE,MAAM;yCAd1B,sBAAsB;2CAAtB,sBAAsB;CAgBlC"}
@@ -1,13 +1,16 @@
1
1
  import { Configuration } from '../../../../../../libs/data-access/gn4/src';
2
2
  import { MdViewFacade } from '../state';
3
+ import { BehaviorSubject } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class DataViewWebComponentComponent {
5
6
  private config;
6
7
  private version;
7
8
  private facade;
9
+ viewType$: BehaviorSubject<string>;
10
+ set viewType(value: string);
8
11
  webComponentHtml$: import("rxjs").Observable<string>;
9
12
  constructor(config: Configuration, version: string, facade: MdViewFacade);
10
13
  static ɵfac: i0.ɵɵFactoryDeclaration<DataViewWebComponentComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<DataViewWebComponentComponent, "gn-ui-data-view-web-component", never, {}, {}, never, never, false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataViewWebComponentComponent, "gn-ui-data-view-web-component", never, { "viewType": { "alias": "viewType"; "required": false; }; }, {}, never, never, false, never>;
12
15
  }
13
16
  //# sourceMappingURL=data-view-web-component.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-view-web-component.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;;AAIvC,qBAMa,6BAA6B;IAkCf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACtC,OAAO,CAAC,MAAM;IAnChB,iBAAiB,oCA8BhB;gBAGgC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACtC,MAAM,EAAE,YAAY;yCApCnB,6BAA6B;2CAA7B,6BAA6B;CAsCzC"}
1
+ {"version":3,"file":"data-view-web-component.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,eAAe,EAAsB,MAAM,MAAM,CAAA;;AAG1D,qBAMa,6BAA6B;IA4Ef,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACtC,OAAO,CAAC,MAAM;IA7EhB,SAAS,0BAAqC;IAC9C,IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IACD,iBAAiB,oCAmEhB;gBAGgC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACtC,MAAM,EAAE,YAAY;yCA9EnB,6BAA6B;2CAA7B,6BAA6B;CAgFzC"}
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fields.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/feature/search/src/lib/utils/service/fields.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EACL,mBAAmB,EACnB,UAAU,EASX,MAAM,UAAU,CAAA;AACjB,OAAO,EAAY,UAAU,EAAM,MAAM,MAAM,CAAA;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;;AAI3F,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,CAAA;AAenE,qBAGa,aAAa;IAyCZ,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAxCxC,SAAS,CAAC,MAAM,sCAkCwB;IAExC,IAAI,eAAe,aAElB;gBAEqB,QAAQ,EAAE,QAAQ;IAExC,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAMpC,OAAO,CAAC,mBAAmB;IAG3B,OAAO,CAAC,mBAAmB;IAI3B,2BAA2B,CACzB,WAAW,EAAE,WAAW,GACvB,UAAU,CAAC,YAAY,CAAC;IAkB3B,0BAA0B,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC;yCA5E/D,aAAa;6CAAb,aAAa;CAwFzB"}
1
+ {"version":3,"file":"fields.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/feature/search/src/lib/utils/service/fields.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EACL,mBAAmB,EACnB,UAAU,EASX,MAAM,UAAU,CAAA;AACjB,OAAO,EAAY,UAAU,EAAM,MAAM,MAAM,CAAA;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;;AAI3F,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,CAAA;AAiBnE,qBAGa,aAAa;IAqDZ,SAAS,CAAC,QAAQ,EAAE,QAAQ;IApDxC,SAAS,CAAC,MAAM,sCA8CwB;IAExC,IAAI,eAAe,aAElB;gBAEqB,QAAQ,EAAE,QAAQ;IAExC,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAMpC,OAAO,CAAC,mBAAmB;IAG3B,OAAO,CAAC,mBAAmB;IAI3B,2BAA2B,CACzB,WAAW,EAAE,WAAW,GACvB,UAAU,CAAC,YAAY,CAAC;IAkB3B,0BAA0B,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC;yCAxF/D,aAAa;6CAAb,aAAa;CAoGzB"}
@@ -32,9 +32,10 @@ import * as i30 from "./markdown-parser/markdown-parser.component";
32
32
  import * as i31 from "./thumbnail/thumbnail.component";
33
33
  import * as i32 from "./user-feedback-item/time-since.pipe";
34
34
  import * as i33 from "../../../inputs/src/lib/badge/badge.component";
35
+ import * as i34 from "../../../layout/src/lib/max-lines/max-lines.component";
35
36
  export declare class UiElementsModule {
36
37
  static ɵfac: i0.ɵɵFactoryDeclaration<UiElementsModule, never>;
37
- static ɵmod: i0.ɵɵNgModuleDeclaration<UiElementsModule, [typeof i1.MetadataInfoComponent, typeof i2.ContentGhostComponent, typeof i3.DownloadItemComponent, typeof i4.DownloadsListComponent, typeof i5.ApiCardComponent, typeof i6.RelatedRecordCardComponent, typeof i7.MetadataContactComponent, typeof i8.MetadataCatalogComponent, typeof i9.MetadataQualityComponent, typeof i10.MetadataQualityItemComponent, typeof i11.ErrorComponent, typeof i12.PaginationComponent, typeof i13.AvatarComponent, typeof i14.UserPreviewComponent, typeof i15.GnUiLinkifyDirective, typeof i16.PaginationButtonsComponent, typeof i17.RecordApiFormComponent, typeof i18.UserFeedbackItemComponent, typeof i19.ImageOverlayPreviewComponent], [typeof i20.CommonModule, typeof i21.MatIconModule, typeof i22.MatTooltipModule, typeof i23.UiWidgetsModule, typeof i24.UiLayoutModule, typeof i25.TranslateModule, typeof i26.UtilSharedModule, typeof i27.RouterModule, typeof i28.UiInputsModule, typeof i29.FormsModule, typeof i20.NgOptimizedImage, typeof i30.MarkdownParserComponent, typeof i31.ThumbnailComponent, typeof i32.TimeSincePipe, typeof i33.BadgeComponent], [typeof i1.MetadataInfoComponent, typeof i2.ContentGhostComponent, typeof i3.DownloadItemComponent, typeof i4.DownloadsListComponent, typeof i5.ApiCardComponent, typeof i6.RelatedRecordCardComponent, typeof i7.MetadataContactComponent, typeof i8.MetadataCatalogComponent, typeof i9.MetadataQualityComponent, typeof i10.MetadataQualityItemComponent, typeof i11.ErrorComponent, typeof i12.PaginationComponent, typeof i31.ThumbnailComponent, typeof i13.AvatarComponent, typeof i14.UserPreviewComponent, typeof i16.PaginationButtonsComponent, typeof i17.RecordApiFormComponent, typeof i30.MarkdownParserComponent, typeof i18.UserFeedbackItemComponent, typeof i19.ImageOverlayPreviewComponent]>;
38
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UiElementsModule, [typeof i1.MetadataInfoComponent, typeof i2.ContentGhostComponent, typeof i3.DownloadItemComponent, typeof i4.DownloadsListComponent, typeof i5.ApiCardComponent, typeof i6.RelatedRecordCardComponent, typeof i7.MetadataContactComponent, typeof i8.MetadataCatalogComponent, typeof i9.MetadataQualityComponent, typeof i10.MetadataQualityItemComponent, typeof i11.ErrorComponent, typeof i12.PaginationComponent, typeof i13.AvatarComponent, typeof i14.UserPreviewComponent, typeof i15.GnUiLinkifyDirective, typeof i16.PaginationButtonsComponent, typeof i17.RecordApiFormComponent, typeof i18.UserFeedbackItemComponent, typeof i19.ImageOverlayPreviewComponent], [typeof i20.CommonModule, typeof i21.MatIconModule, typeof i22.MatTooltipModule, typeof i23.UiWidgetsModule, typeof i24.UiLayoutModule, typeof i25.TranslateModule, typeof i26.UtilSharedModule, typeof i27.RouterModule, typeof i28.UiInputsModule, typeof i29.FormsModule, typeof i20.NgOptimizedImage, typeof i30.MarkdownParserComponent, typeof i31.ThumbnailComponent, typeof i32.TimeSincePipe, typeof i33.BadgeComponent, typeof i34.MaxLinesComponent], [typeof i1.MetadataInfoComponent, typeof i2.ContentGhostComponent, typeof i3.DownloadItemComponent, typeof i4.DownloadsListComponent, typeof i5.ApiCardComponent, typeof i6.RelatedRecordCardComponent, typeof i7.MetadataContactComponent, typeof i8.MetadataCatalogComponent, typeof i9.MetadataQualityComponent, typeof i10.MetadataQualityItemComponent, typeof i11.ErrorComponent, typeof i12.PaginationComponent, typeof i31.ThumbnailComponent, typeof i13.AvatarComponent, typeof i14.UserPreviewComponent, typeof i16.PaginationButtonsComponent, typeof i17.RecordApiFormComponent, typeof i30.MarkdownParserComponent, typeof i18.UserFeedbackItemComponent, typeof i19.ImageOverlayPreviewComponent]>;
38
39
  static ɵinj: i0.ɵɵInjectorDeclaration<UiElementsModule>;
39
40
  }
40
41
  //# sourceMappingURL=ui-elements.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-elements.module.d.ts","sourceRoot":"","sources":["../../../../../src/libs/ui/elements/src/lib/ui-elements.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,qBA8Da,gBAAgB;yCAAhB,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAAG"}
1
+ {"version":3,"file":"ui-elements.module.d.ts","sourceRoot":"","sources":["../../../../../src/libs/ui/elements/src/lib/ui-elements.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,qBA+Da,gBAAgB;yCAAhB,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAAG"}
@@ -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.49a5852a",
3
+ "version": "2.4.0-dev.4e4ab1af",
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'
@@ -120,6 +120,7 @@ export const mapKeywords = (thesauri: Thesaurus[], language: string) => {
120
120
  keywords.push({
121
121
  label: selectTranslatedValue<string>(keyword, language),
122
122
  type: getKeywordTypeFromKeywordTypeCode(rawThesaurus.theme),
123
+ ...(keyword.link && { key: keyword.link }),
123
124
  ...(thesaurus && { thesaurus }),
124
125
  })
125
126
  }
@@ -5,6 +5,7 @@ type MultilingualField = {
5
5
  [K in `lang${LangCode}`]: string
6
6
  } & {
7
7
  default: string
8
+ link?: string
8
9
  }
9
10
 
10
11
  type BooleanString = 'true' | 'false'
@@ -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