geonetwork-ui 2.5.0-dev.b51c2cb0f → 2.5.0-dev.caf47b863

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 (168) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +11 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +34 -28
  4. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +22 -2
  5. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  6. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  7. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
  8. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +24 -14
  9. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -4
  10. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
  11. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +2 -1
  12. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +2 -2
  13. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
  14. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +4 -3
  15. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -2
  16. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +4 -1
  17. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -2
  18. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +9 -1
  19. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +19 -1
  20. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +6 -1
  21. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +1 -1
  22. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
  23. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
  24. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  25. package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +78 -0
  26. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
  27. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +2 -1
  28. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
  29. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -2
  30. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +14 -4
  31. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +10 -3
  32. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
  33. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-cache.mjs +12 -0
  34. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +3 -3
  35. package/esm2022/libs/util/data-fetcher/src/lib/readers/base.mjs +1 -1
  36. package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +2 -2
  37. package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +2 -2
  38. package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +2 -2
  39. package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +5 -3
  40. package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +2 -2
  41. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +19 -11
  42. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +9 -7
  43. package/esm2022/translations/de.json +3 -4
  44. package/esm2022/translations/en.json +4 -13
  45. package/esm2022/translations/es.json +3 -4
  46. package/esm2022/translations/fr.json +15 -16
  47. package/esm2022/translations/it.json +20 -20
  48. package/esm2022/translations/nl.json +3 -4
  49. package/esm2022/translations/pt.json +3 -4
  50. package/fesm2022/geonetwork-ui.mjs +469 -218
  51. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  52. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  53. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -0
  54. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  55. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -0
  56. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  57. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -1
  58. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  59. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -0
  60. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  61. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -1
  62. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  63. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -1
  64. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  65. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -2
  66. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  67. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -1
  68. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  69. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  70. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  71. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +1 -0
  72. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  73. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  74. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +16 -1
  75. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  76. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +5 -0
  77. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  78. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +2 -0
  79. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  80. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -1
  81. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  82. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  83. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  84. package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
  85. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  86. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  87. package/libs/ui/elements/src/index.d.ts +1 -0
  88. package/libs/ui/elements/src/index.d.ts.map +1 -1
  89. package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts +16 -0
  90. package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts.map +1 -0
  91. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  92. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  93. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  94. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  95. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -2
  96. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  97. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -1
  98. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  99. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +2 -2
  100. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  101. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts +8 -0
  102. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts.map +1 -0
  103. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts +2 -2
  104. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts.map +1 -1
  105. package/libs/util/data-fetcher/src/lib/readers/base.d.ts +2 -2
  106. package/libs/util/data-fetcher/src/lib/readers/base.d.ts.map +1 -1
  107. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts +5 -3
  108. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
  109. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +7 -4
  110. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
  111. package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
  112. package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
  113. package/package.json +1 -1
  114. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
  115. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
  116. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +36 -27
  117. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +41 -2
  118. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -1
  119. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
  120. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +75 -0
  121. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -1
  122. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +43 -20
  123. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +2 -1
  124. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
  125. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +1 -0
  126. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
  127. package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
  128. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +2 -0
  129. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -0
  130. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -1
  131. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +16 -0
  132. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +21 -2
  133. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +15 -0
  134. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +30 -1
  135. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +12 -0
  136. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
  137. package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
  138. package/src/libs/ui/elements/src/index.ts +1 -0
  139. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.css +0 -0
  140. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +25 -0
  141. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +70 -0
  142. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
  143. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -0
  144. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
  145. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +6 -0
  146. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +37 -1
  147. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +8 -2
  148. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +2 -0
  149. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +6 -0
  150. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
  151. package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +14 -0
  152. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +2 -1
  153. package/src/libs/util/data-fetcher/src/lib/readers/base.ts +2 -2
  154. package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +1 -1
  155. package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +1 -1
  156. package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +1 -1
  157. package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +7 -7
  158. package/src/libs/util/data-fetcher/src/lib/readers/json.ts +1 -1
  159. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +34 -11
  160. package/src/libs/util/data-fetcher/src/lib/utils.ts +36 -32
  161. package/translations/de.json +3 -4
  162. package/translations/en.json +4 -13
  163. package/translations/es.json +3 -4
  164. package/translations/fr.json +15 -16
  165. package/translations/it.json +20 -20
  166. package/translations/nl.json +3 -4
  167. package/translations/pt.json +3 -4
  168. package/translations/sk.json +3 -4
@@ -1 +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":"AACA,OAAO,EACL,iBAAiB,EAEjB,YAAY,EAIb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAmB,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAiB,cAAc,EAAE,MAAM,wBAAwB,CAAA;;AAKtE,KAAK,cAAc,GAAG,UAAU,GAAG,YAAY,CAAA;AAE/C,qBAca,mBAAmB;IAYrB,MAAM,EAAE,SAAS;IACxB,OAAO,CAAC,GAAG;IAZJ,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IACjB,SAAS,qBAA2B;IACpC,MAAM,qBAA2B;IACjC,eAAe,qBAA2B;IAEzB,OAAO,EAAE,cAAc,CAAA;IAElD,gBAAgB,EAAE,cAAc,CAAa;gBAGpC,MAAM,EAAE,SAAS,EAChB,GAAG,EAAE,iBAAiB;IAGhC,QAAQ;IAIR,eAAe;IAKf,iBAAiB;yCAzBN,mBAAmB;2CAAnB,mBAAmB;CA6B/B"}
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":"AACA,OAAO,EACL,iBAAiB,EAEjB,YAAY,EAIb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAmB,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAiB,cAAc,EAAE,MAAM,wBAAwB,CAAA;;AAKtE,KAAK,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,cAAc,CAAA;AAEhE,qBAca,mBAAmB;IAcrB,MAAM,EAAE,SAAS;IACxB,OAAO,CAAC,GAAG;IAdJ,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACnB,SAAS,qBAA2B;IACpC,MAAM,qBAA2B;IACjC,eAAe,qBAA2B;IAC1C,QAAQ,qBAA2B;IAElB,OAAO,EAAE,cAAc,CAAA;IAElD,gBAAgB,EAAE,cAAc,CAAa;gBAGpC,MAAM,EAAE,SAAS,EAChB,GAAG,EAAE,iBAAiB;IAGhC,QAAQ;IAIR,eAAe;IAKf,iBAAiB;yCA3BN,mBAAmB;2CAAnB,mBAAmB;CAmC/B"}
@@ -21,6 +21,7 @@ export declare class ResultsTableComponent {
21
21
  recordClick: EventEmitter<CatalogRecord>;
22
22
  duplicateRecord: EventEmitter<CatalogRecord>;
23
23
  deleteRecord: EventEmitter<CatalogRecord>;
24
+ rollbackDraft: EventEmitter<CatalogRecord>;
24
25
  recordsSelectedChange: EventEmitter<[CatalogRecord[], boolean]>;
25
26
  actionMenuButtons: QueryList<ElementRef>;
26
27
  private overlayRef;
@@ -35,11 +36,12 @@ export declare class ResultsTableComponent {
35
36
  handleRecordClick(item: CatalogRecord): void;
36
37
  handleDuplicate(item: unknown): void;
37
38
  handleDelete(item: unknown): void;
39
+ handleRollback(item: unknown): void;
38
40
  setSortBy(col: string, order: 'asc' | 'desc'): void;
39
41
  isSortedBy(col: string): 'desc' | 'asc' | null;
40
42
  isChecked(record: CatalogRecord): boolean;
41
43
  handleRecordSelectedChange(selected: boolean, record: CatalogRecord): void;
42
44
  static ɵfac: i0.ɵɵFactoryDeclaration<ResultsTableComponent, never>;
43
- 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; }; "hasDraft": { "alias": "hasDraft"; "required": false; }; "canDuplicate": { "alias": "canDuplicate"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "isDraftPage": { "alias": "isDraftPage"; "required": false; }; "isDuplicating": { "alias": "isDuplicating"; "required": false; }; }, { "sortByChange": "sortByChange"; "recordClick": "recordClick"; "duplicateRecord": "duplicateRecord"; "deleteRecord": "deleteRecord"; "recordsSelectedChange": "recordsSelectedChange"; }, never, never, true, never>;
45
+ 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; }; "hasDraft": { "alias": "hasDraft"; "required": false; }; "canDuplicate": { "alias": "canDuplicate"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "isDraftPage": { "alias": "isDraftPage"; "required": false; }; "isDuplicating": { "alias": "isDuplicating"; "required": false; }; }, { "sortByChange": "sortByChange"; "recordClick": "recordClick"; "duplicateRecord": "duplicateRecord"; "deleteRecord": "deleteRecord"; "rollbackDraft": "rollbackDraft"; "recordsSelectedChange": "recordsSelectedChange"; }, never, never, true, never>;
44
46
  }
45
47
  //# 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":"AACA,OAAO,EACL,iBAAiB,EAEjB,UAAU,EACV,YAAY,EAGZ,SAAS,EAET,gBAAgB,EACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAEL,WAAW,EACZ,MAAM,2DAA2D,CAAA;AAMlE,OAAO,EACL,WAAW,EACX,UAAU,EAKX,MAAM,wCAAwC,CAAA;AAK/C,OAAO,EAGL,OAAO,EAER,MAAM,sBAAsB,CAAA;;AAI7B,qBAkBa,qBAAqB;IA0B9B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IA5BZ,OAAO,EAAE,aAAa,EAAE,CAAK;IAC7B,0BAA0B,EAAE,MAAM,EAAE,CAAK;IACzC,SAAS,EAAE,WAAW,CAAO;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAc;IAC1D,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAa;IAC7D,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAa;IAC1D,WAAW,UAAQ;IACnB,aAAa,UAAQ;IAGpB,YAAY,yCAA+C;IAC3D,WAAW,8BAAoC;IAC/C,eAAe,8BAAoC;IACnD,YAAY,8BAAoC;IAChD,qBAAqB,2CAE5B;IAGH,iBAAiB,EAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACzC,OAAO,CAAC,UAAU,CAAa;IAE/B,gBAAgB,UAAQ;gBAGd,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,iBAAiB,EACtB,WAAW,EAAE,WAAW;IAGlC,cAAc,CAAC,IAAI,KAAA,EAAE,QAAQ,KAAA;IAyC7B,eAAe;IAQf,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAShC,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,EAAE;IAerD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAIlD,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIzC,iBAAiB,CAAC,IAAI,EAAE,aAAa;IAKrC,eAAe,CAAC,IAAI,EAAE,OAAO;IAI7B,YAAY,CAAC,IAAI,EAAE,OAAO;IAK1B,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;yCAtJxD,qBAAqB;2CAArB,qBAAqB;CAyJjC"}
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,EACL,iBAAiB,EAEjB,UAAU,EACV,YAAY,EAGZ,SAAS,EAET,gBAAgB,EACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAEL,WAAW,EACZ,MAAM,2DAA2D,CAAA;AAMlE,OAAO,EACL,WAAW,EACX,UAAU,EAKX,MAAM,wCAAwC,CAAA;AAK/C,OAAO,EAGL,OAAO,EAER,MAAM,sBAAsB,CAAA;;AAI7B,qBAkBa,qBAAqB;IA2B9B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IA7BZ,OAAO,EAAE,aAAa,EAAE,CAAK;IAC7B,0BAA0B,EAAE,MAAM,EAAE,CAAK;IACzC,SAAS,EAAE,WAAW,CAAO;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAc;IAC1D,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAa;IAC7D,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAa;IAC1D,WAAW,UAAQ;IACnB,aAAa,UAAQ;IAGpB,YAAY,yCAA+C;IAC3D,WAAW,8BAAoC;IAC/C,eAAe,8BAAoC;IACnD,YAAY,8BAAoC;IAChD,aAAa,8BAAoC;IACjD,qBAAqB,2CAE5B;IAGH,iBAAiB,EAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACzC,OAAO,CAAC,UAAU,CAAa;IAE/B,gBAAgB,UAAQ;gBAGd,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,iBAAiB,EACtB,WAAW,EAAE,WAAW;IAGlC,cAAc,CAAC,IAAI,KAAA,EAAE,QAAQ,KAAA;IAyC7B,eAAe;IAQf,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAShC,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,EAAE;IAerD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAIlD,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIzC,iBAAiB,CAAC,IAAI,EAAE,aAAa;IAKrC,eAAe,CAAC,IAAI,EAAE,OAAO;IAI7B,YAAY,CAAC,IAAI,EAAE,OAAO;IAK1B,cAAc,CAAC,IAAI,EAAE,OAAO;IAK5B,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;yCA5JxD,qBAAqB;2CAArB,qBAAqB;CA+JjC"}
@@ -5,7 +5,7 @@ export declare function openDataset(url: string, typeHint?: SupportedType, optio
5
5
  namespace?: string;
6
6
  wfsVersion?: WfsVersion;
7
7
  wfsFeatureType?: string;
8
- }): Promise<BaseReader>;
8
+ }, cacheActive?: boolean): Promise<BaseReader>;
9
9
  /**
10
10
  * This fetches the full dataset at the given URL and parses it according to its mime type.
11
11
  * All items in the dataset are converted to GeoJSON features, even if they do not bear any spatial geometry.
@@ -15,7 +15,7 @@ export declare function openDataset(url: string, typeHint?: SupportedType, optio
15
15
  * 2. otherwise, look for a Content-Type header in the response with a supported mime type
16
16
  * 3. if no valid mime type was found, look for an explicit file extension in the url (.csv, .geojson etc.)
17
17
  */
18
- export declare function readDataset(url: string, typeHint?: SupportedType, options?: any): Promise<DataItem[]>;
18
+ export declare function readDataset(url: string, typeHint?: SupportedType, options?: any, cacheActive?: boolean): Promise<DataItem[]>;
19
19
  /**
20
20
  * This fetches only the header of the dataset at the given URL, giving info on size, mime-type and last update if available.
21
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"data-fetcher.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/data-fetcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAc,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GACA,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,QAAQ,EAAE,CAAC,CAOrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAEvE"}
1
+ {"version":3,"file":"data-fetcher.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/data-fetcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAc,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,EACD,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,UAAU,CAAC,CAoCrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,GAAG,EACb,WAAW,UAAO,GACjB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAOrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAEvE"}
@@ -0,0 +1,8 @@
1
+ import { BaseReader } from './base';
2
+ export declare abstract class BaseCacheReader extends BaseReader {
3
+ protected url: string;
4
+ protected cacheActive: boolean;
5
+ constructor(url: string, cacheActive?: boolean);
6
+ setCacheActive(value: boolean): void;
7
+ }
8
+ //# sourceMappingURL=base-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-cache.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,8BAAsB,eAAgB,SAAQ,UAAU;IAEpD,SAAS,CAAC,GAAG,EAAE,MAAM;IACrB,SAAS,CAAC,WAAW;gBADX,GAAG,EAAE,MAAM,EACX,WAAW,UAAO;IAK9B,cAAc,CAAC,KAAK,EAAE,OAAO;CAG9B"}
@@ -1,10 +1,10 @@
1
- import { BaseReader } from './base';
2
1
  import { DataItem, DatasetInfo, PropertyInfo } from '../model';
2
+ import { BaseCacheReader } from './base-cache';
3
3
  type ParseResult = {
4
4
  items: DataItem[];
5
5
  properties: PropertyInfo[];
6
6
  };
7
- export declare class BaseFileReader extends BaseReader {
7
+ export declare class BaseFileReader extends BaseCacheReader {
8
8
  private parseResult_;
9
9
  protected getData(): Promise<ParseResult>;
10
10
  load(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"base-file.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAI9D,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAAA;AAED,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAO,CAAC,YAAY,CAAsB;IAE1C,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;IAEK,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CA8BlC"}
1
+ {"version":3,"file":"base-file.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAAA;AAED,qBAAa,cAAe,SAAQ,eAAe;IACjD,OAAO,CAAC,YAAY,CAAsB;IAE1C,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;IAEK,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CA8BlC"}
@@ -2,8 +2,8 @@ import { DataItem, DatasetInfo, FieldAggregation, FieldFilter, FieldGroupBy, Fie
2
2
  export declare class BaseReader {
3
3
  protected url: string;
4
4
  protected selected: FieldName[];
5
- protected groupedBy: FieldGroupBy[];
6
- protected aggregations: FieldAggregation[];
5
+ groupedBy: FieldGroupBy[];
6
+ aggregations: FieldAggregation[];
7
7
  protected filter: FieldFilter;
8
8
  protected sort: FieldSort[];
9
9
  protected startIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACb,MAAM,UAAU,CAAA;AAEjB,qBAAa,UAAU;IAST,SAAS,CAAC,GAAG,EAAE,MAAM;IARjC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAO;IACtC,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,CAAO;IAC1C,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE,CAAO;IACjD,SAAS,CAAC,MAAM,EAAE,WAAW,CAAO;IACpC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAO;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAO;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAO;gBAER,GAAG,EAAE,MAAM;IAEjC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAE/B;IAED,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI3B,SAAS,IAAI,IAAI;IASjB,MAAM,CAAC,GAAG,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI;IAM5C,OAAO,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAKzC,SAAS,CAAC,GAAG,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIpD,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIhC,OAAO,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAIzC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAK/C"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACb,MAAM,UAAU,CAAA;AAEjB,qBAAa,UAAU;IAST,SAAS,CAAC,GAAG,EAAE,MAAM;IARjC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAO;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAO;IAChC,YAAY,EAAE,gBAAgB,EAAE,CAAO;IAC9C,SAAS,CAAC,MAAM,EAAE,WAAW,CAAO;IACpC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAO;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAO;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAO;gBAER,GAAG,EAAE,MAAM;IAEjC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAE/B;IAED,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI3B,SAAS,IAAI,IAAI;IASjB,MAAM,CAAC,GAAG,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI;IAM5C,OAAO,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAKzC,SAAS,CAAC,GAAG,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIpD,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIhC,OAAO,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAIzC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAK/C"}
@@ -6,9 +6,11 @@ export declare function parseGml(text: string, namespace: string, version: strin
6
6
  properties: PropertyInfo[];
7
7
  };
8
8
  export declare class GmlReader extends BaseFileReader {
9
- namespace: string;
10
- version: WfsVersion;
11
- constructor(url: any, namespace: any, version: any);
9
+ protected url: string;
10
+ protected namespace: string;
11
+ protected version: WfsVersion;
12
+ protected cacheActive: boolean;
13
+ constructor(url: string, namespace: string, version: WfsVersion, cacheActive?: boolean);
12
14
  protected getData(): Promise<{
13
15
  items: DataItem[];
14
16
  properties: PropertyInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"gml.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/gml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAuBA;AAED,qBAAa,SAAU,SAAQ,cAAc;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;gBAEP,GAAG,KAAA,EAAE,SAAS,KAAA,EAAE,OAAO,KAAA;IAMnC,SAAS,CAAC,OAAO;eArCV,QAAQ,EAAE;oBACL,YAAY,EAAE;;CAyC3B"}
1
+ {"version":3,"file":"gml.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/gml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAuBA;AAED,qBAAa,SAAU,SAAQ,cAAc;IAEzC,SAAS,CAAC,GAAG,EAAE,MAAM;IACrB,SAAS,CAAC,SAAS,EAAE,MAAM;IAC3B,SAAS,CAAC,OAAO,EAAE,UAAU;IAC7B,SAAS,CAAC,WAAW;gBAHX,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,EACnB,WAAW,UAAO;IAK9B,SAAS,CAAC,OAAO;eArCV,QAAQ,EAAE;oBACL,YAAY,EAAE;;CAyC3B"}
@@ -1,20 +1,23 @@
1
1
  import { WfsEndpoint, WfsVersion } from '@camptocamp/ogc-client';
2
2
  import { DataItem, DatasetInfo, PropertyInfo } from '../model';
3
- import { BaseReader } from './base';
4
3
  import { GmlReader } from './gml';
5
4
  import { GeojsonReader } from './geojson';
6
- export declare class WfsReader extends BaseReader {
5
+ import { BaseCacheReader } from './base-cache';
6
+ export declare class WfsReader extends BaseCacheReader {
7
7
  endpoint: WfsEndpoint;
8
8
  featureTypeName: string;
9
9
  version: WfsVersion;
10
- constructor(url: string, wfsEndpoint: WfsEndpoint, featureTypeName: string);
10
+ constructor(url: string, wfsEndpoint: WfsEndpoint, featureTypeName: string, cacheActive?: boolean);
11
11
  get properties(): Promise<PropertyInfo[]>;
12
12
  get info(): Promise<DatasetInfo>;
13
13
  static createReader(wfsUrlEndpoint: string, featureTypeName?: string): Promise<GeojsonReader | GmlReader | WfsReader>;
14
- protected getData(): Promise<{
14
+ getData(aggregation?: any, groupedBy?: any): Promise<{
15
15
  items: DataItem[];
16
16
  properties: PropertyInfo[];
17
+ } | {
18
+ items: any;
17
19
  }>;
20
+ getQueryData(): Promise<any>;
18
21
  load(): void;
19
22
  read(): Promise<DataItem[]>;
20
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wfs.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/wfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAA;AAGvD,qBAAa,SAAU,SAAQ,UAAU;IACvC,QAAQ,EAAE,WAAW,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,UAAU,CAAA;gBAEP,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM;IAO1E,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBxC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;WAEY,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;IA4C1E,SAAS,CAAC,OAAO;;;;IAkCjB,IAAI;IAIE,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGlC"}
1
+ {"version":3,"file":"wfs.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/wfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,qBAAa,SAAU,SAAQ,eAAe;IAC5C,QAAQ,EAAE,WAAW,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,UAAU,CAAA;gBAGjB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,OAAO;IAQvB,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBxC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;WAEY,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;IA4C7D,OAAO,CAAC,WAAW,CAAC,KAAA,EAAE,SAAS,CAAC,KAAA;;;;;;IAiChC,YAAY;IAkBzB,IAAI;IAIE,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGlC"}
@@ -1,8 +1,8 @@
1
1
  import { DataItem, DatasetHeaders, PropertyInfo, SupportedType } from './model';
2
2
  export declare function inferDatasetType(url: string, typeHint?: SupportedType): Promise<SupportedType>;
3
3
  export declare function fetchHeaders(url: string): Promise<DatasetHeaders>;
4
- export declare function fetchDataAsText(url: string): Promise<string>;
5
- export declare function fetchDataAsArrayBuffer(url: string): Promise<ArrayBuffer>;
4
+ export declare function fetchDataAsText(url: string, cacheActive: boolean): Promise<string>;
5
+ export declare function fetchDataAsArrayBuffer(url: string, cacheActive: boolean): Promise<ArrayBuffer>;
6
6
  export declare function tryParseDate(input: unknown): Date | null;
7
7
  export declare function tryParseNumber(input: string): number | null;
8
8
  export declare function jsonToGeojsonFeature(object: {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EAEd,YAAY,EACZ,aAAa,EAEd,MAAM,SAAS,CAAA;AAMhB,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,CAsBxB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAWjE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB5D;AACD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAmBxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAkBxD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,QAAQ,CAsB7E;AAqBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,UAAQ,GACjB;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CA0DA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAgB3B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EAEd,YAAY,EACZ,aAAa,EAEd,MAAM,SAAS,CAAA;AAMhB,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,CAsBxB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAWjE;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC,CAcjB;AACD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,WAAW,CAAC,CAmBtB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAkBxD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,QAAQ,CAsB7E;AAqBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,UAAQ,GACjB;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CA0DA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAgB3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.5.0-dev.b51c2cb0f",
3
+ "version": "2.5.0-dev.caf47b863",
4
4
  "engines": {
5
5
  "node": ">=20"
6
6
  },
@@ -277,6 +277,31 @@ export class Gn4FieldMapper {
277
277
  },
278
278
  output
279
279
  ),
280
+ featureTypes: (output, source) =>
281
+ this.addExtra(
282
+ {
283
+ featureTypes: selectField(source, 'featureTypes'),
284
+ },
285
+ output
286
+ ),
287
+ related: (output, source) => {
288
+ const fcatSource = selectField(
289
+ getFirstValue(
290
+ selectField(
291
+ <SourceWithUnknownProps>selectField(source, 'related'),
292
+ 'fcats'
293
+ )
294
+ ),
295
+ '_source'
296
+ )
297
+ const featureCatalogIdentifier = selectField(
298
+ <SourceWithUnknownProps>fcatSource,
299
+ 'uuid'
300
+ )
301
+ return featureCatalogIdentifier
302
+ ? this.addExtra({ featureCatalogIdentifier }, output)
303
+ : output
304
+ },
280
305
  isPublishedToAll: (output, source) =>
281
306
  this.addExtra(
282
307
  {
@@ -203,3 +203,7 @@ export interface Gn4Record {
203
203
  guestdownload?: boolean
204
204
  selected?: boolean
205
205
  }
206
+
207
+ export interface Gn4RecordRelated {
208
+ fcats?: Gn4Record[]
209
+ }
@@ -51,7 +51,7 @@ export class ElasticsearchService {
51
51
  size = 0,
52
52
  from = 0,
53
53
  sortBy: SortByField = null,
54
- requestFields: RequestFields = [],
54
+ requestFields: RequestFields = null,
55
55
  searchFilters: SearchFilters = {},
56
56
  configFilters: SearchFilters = {},
57
57
  uuids?: string[],
@@ -69,7 +69,7 @@ export class ElasticsearchService {
69
69
  geometry
70
70
  ),
71
71
  ...(size > 0 ? { track_total_hits: true } : {}),
72
- _source: requestFields,
72
+ ...(requestFields && { _source: requestFields }),
73
73
  }
74
74
  this.processRuntimeFields(payload)
75
75
  return payload
@@ -234,6 +234,7 @@ export class ElasticsearchService {
234
234
  private filtersToQuery(
235
235
  filters: FieldFilters | FiltersAggregationParams | string
236
236
  ): FilterQuery {
237
+ const addQuote = (key: string) => (/^\/.+\/$/.test(key) ? key : `"${key}"`)
237
238
  const makeQuery = (filter: FieldFilter): string => {
238
239
  if (typeof filter === 'string') {
239
240
  return filter
@@ -241,9 +242,9 @@ export class ElasticsearchService {
241
242
  return Object.keys(filter)
242
243
  .map((key) => {
243
244
  if (filter[key] === true) {
244
- return `"${key}"`
245
+ return addQuote(key)
245
246
  }
246
- return `-"${key}"`
247
+ return `-${addQuote(key)}`
247
248
  })
248
249
  .join(' OR ')
249
250
  }
@@ -296,6 +297,25 @@ export class ElasticsearchService {
296
297
  return queryParts.length > 0 ? (queryParts as FilterQuery) : undefined
297
298
  }
298
299
 
300
+ private mustNotFilters(): Record<string, unknown>[] {
301
+ return [
302
+ {
303
+ ...this.queryFilterOnValues('resourceType', [
304
+ 'service',
305
+ 'map',
306
+ 'map/static',
307
+ 'mapDigital',
308
+ ]),
309
+ },
310
+ {
311
+ query_string: {
312
+ query:
313
+ 'resourceType:featureCatalog AND !resourceType:dataset AND !cl_level.key:dataset',
314
+ },
315
+ },
316
+ ]
317
+ }
318
+
299
319
  private buildPayloadQuery(
300
320
  { any, ...fieldSearchFilters }: SearchFilters,
301
321
  configFilters: SearchFilters,
@@ -303,14 +323,7 @@ export class ElasticsearchService {
303
323
  geometry?: Geometry
304
324
  ) {
305
325
  const must = [] as Record<string, unknown>[]
306
- const must_not = {
307
- ...this.queryFilterOnValues('resourceType', [
308
- 'service',
309
- 'map',
310
- 'map/static',
311
- 'mapDigital',
312
- ]),
313
- }
326
+ const must_not = this.mustNotFilters()
314
327
  const should = [] as Record<string, unknown>[]
315
328
  const filter = [this.queryFilterOnValues('isTemplate', 'n')] as Record<
316
329
  string,
@@ -412,14 +425,8 @@ export class ElasticsearchService {
412
425
  },
413
426
  },
414
427
  ],
415
- must_not: {
416
- ...this.queryFilterOnValues('resourceType', [
417
- 'service',
418
- 'map',
419
- 'map/static',
420
- 'mapDigital',
421
- ]),
422
- },
428
+
429
+ must_not: this.mustNotFilters(),
423
430
  },
424
431
  },
425
432
  _source: ['resourceTitleObject', 'uuid'],
@@ -532,13 +539,15 @@ export class ElasticsearchService {
532
539
  switch (aggregation.type) {
533
540
  case 'filters':
534
541
  return {
535
- filters: Object.keys(aggregation.filters).reduce((prev, curr) => {
536
- const filter = aggregation.filters[curr]
537
- return {
538
- ...prev,
539
- [curr]: this.filtersToQuery(filter)[0],
540
- }
541
- }, {}),
542
+ filters: {
543
+ filters: Object.keys(aggregation.filters).reduce((prev, curr) => {
544
+ const filter = aggregation.filters[curr]
545
+ return {
546
+ ...prev,
547
+ [curr]: this.filtersToQuery(filter)[0],
548
+ }
549
+ }, {}),
550
+ },
542
551
  }
543
552
  case 'terms':
544
553
  return {
@@ -12,7 +12,10 @@ import {
12
12
  Iso19139Converter,
13
13
  } from '../../../../../../libs/api/metadata-converter/src'
14
14
  import { PublicationVersionError } from '../../../../../../libs/common/domain/src/lib/model/error'
15
- import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record'
15
+ import {
16
+ CatalogRecord,
17
+ DatasetFeatureCatalog,
18
+ } from '../../../../../../libs/common/domain/src/lib/model/record'
16
19
  import {
17
20
  Aggregations,
18
21
  AggregationsParams,
@@ -27,6 +30,7 @@ import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain
27
30
  import {
28
31
  RecordsApiService,
29
32
  SearchApiService,
33
+ FeatureResponseApiModel,
30
34
  } from '../../../../../../libs/data-access/gn4/src'
31
35
  import {
32
36
  combineLatest,
@@ -124,7 +128,7 @@ export class Gn4Repository implements RecordsRepositoryInterface {
124
128
  return this.gn4SearchApi
125
129
  .search(
126
130
  'bucket',
127
- null,
131
+ ['fcats'],
128
132
  JSON.stringify(
129
133
  this.gn4SearchHelper.getMetadataByIdPayload(uniqueIdentifier)
130
134
  )
@@ -137,6 +141,41 @@ export class Gn4Repository implements RecordsRepositoryInterface {
137
141
  )
138
142
  }
139
143
 
144
+ getFeatureCatalog(
145
+ record: CatalogRecord,
146
+ visited: Set<string> = new Set() // prevent looping
147
+ ): Observable<DatasetFeatureCatalog | null> {
148
+ if (
149
+ record.extras &&
150
+ record.extras['featureTypes'] &&
151
+ record.extras['featureTypes'][0]?.attributeTable &&
152
+ Array.isArray(record.extras['featureTypes'][0].attributeTable)
153
+ ) {
154
+ return of({
155
+ attributes: record.extras['featureTypes'][0]?.attributeTable?.map(
156
+ (attr) => ({
157
+ name: attr.name,
158
+ title: attr.definition,
159
+ })
160
+ ),
161
+ } as DatasetFeatureCatalog)
162
+ }
163
+
164
+ const featureCatalogIdentifier = record.extras[
165
+ 'featureCatalogIdentifier'
166
+ ] as string
167
+ if (featureCatalogIdentifier && !visited.has(featureCatalogIdentifier)) {
168
+ visited.add(featureCatalogIdentifier)
169
+ return this.getRecord(featureCatalogIdentifier).pipe(
170
+ switchMap((record) =>
171
+ record ? this.getFeatureCatalog(record, visited) : of(null)
172
+ )
173
+ )
174
+ }
175
+
176
+ return of(null)
177
+ }
178
+
140
179
  getSimilarRecords(similarTo: CatalogRecord): Observable<CatalogRecord[]> {
141
180
  return this.gn4SearchApi
142
181
  .search(
@@ -226,7 +226,9 @@ export interface DatasetRecord extends BaseRecord {
226
226
  temporalExtents: Array<DatasetTemporalExtent>
227
227
  spatialRepresentation?: SpatialRepresentationType
228
228
  }
229
-
229
+ export type DatasetFeatureCatalog = {
230
+ attributes: Array<{ name: string; title: string }>
231
+ }
230
232
  export interface ServiceEndpoint {
231
233
  endpointUrl: URL
232
234
  protocol: string
@@ -6,12 +6,15 @@ import {
6
6
  SearchParams,
7
7
  SearchResults,
8
8
  } from '../model/search'
9
- import { CatalogRecord } from '../model/record'
9
+ import { CatalogRecord, DatasetFeatureCatalog } from '../model/record'
10
10
 
11
11
  export abstract class RecordsRepositoryInterface {
12
12
  abstract search(params: SearchParams): Observable<SearchResults>
13
13
  abstract getMatchesCount(filters: FieldFilters): Observable<number>
14
14
  abstract getRecord(uniqueIdentifier: string): Observable<CatalogRecord | null>
15
+ abstract getFeatureCatalog(
16
+ record: CatalogRecord
17
+ ): Observable<DatasetFeatureCatalog | null>
15
18
  abstract aggregate(params: AggregationsParams): Observable<Aggregations>
16
19
  abstract getSimilarRecords(
17
20
  similarTo: CatalogRecord
@@ -160,6 +160,38 @@ As such, **it is not very interesting at all.**`,
160
160
  extras: {
161
161
  isPublishedToAll: true,
162
162
  edit: true,
163
+ featureTypes: [
164
+ {
165
+ attributeTable: [
166
+ {
167
+ code: 'OBJECTID',
168
+ name: 'OBJECTID',
169
+ link: '',
170
+ definition: 'Object identifier',
171
+ type: 'OID',
172
+ },
173
+ {
174
+ code: 'NOM',
175
+ name: 'Nom',
176
+ link: '',
177
+ definition: 'Nom de la rue',
178
+ type: 'String (48)',
179
+ },
180
+ {
181
+ code: 'RUE',
182
+ name: 'Rue',
183
+ link: '',
184
+ definition: '',
185
+ type: 'String (50)',
186
+ },
187
+ ],
188
+ code: '',
189
+ aliases: '',
190
+ typeName: "Catalogue d'attributs",
191
+ definition: '',
192
+ isAbstract: 'false',
193
+ },
194
+ ],
163
195
  },
164
196
  },
165
197
  {
@@ -312,6 +344,49 @@ export const simpleDatasetRecordFixture = (): DatasetRecord => ({
312
344
  translations: {},
313
345
  })
314
346
 
347
+ export const simpleDatasetRecordWithFcatsFixture = (): DatasetRecord => ({
348
+ uniqueIdentifier: 'my-dataset-with-fcats',
349
+ extras: {
350
+ featureCatalogIdentifier: 'feature-catalog-identifier',
351
+ },
352
+ kind: 'dataset',
353
+ otherLanguages: [],
354
+ defaultLanguage: 'en',
355
+ recordUpdated: new Date('2022-02-01T14:12:00.000Z'),
356
+ resourceCreated: new Date('2022-09-01T12:18:19.000Z'),
357
+ resourceUpdated: new Date('2022-12-04T14:12:00.000Z'),
358
+ status: 'ongoing',
359
+ title: 'A very interesting dataset with a related feature catalog',
360
+ abstract: `This dataset has been established for testing purposes.`,
361
+ ownerOrganization: { name: 'MyOrganization', translations: {} },
362
+ contacts: [
363
+ {
364
+ email: 'bob@org.net',
365
+ position: 'developer',
366
+ organization: { name: 'MyOrganization', translations: {} },
367
+ role: 'point_of_contact',
368
+ firstName: 'Bob',
369
+ lastName: 'TheGreat',
370
+ },
371
+ ],
372
+ contactsForResource: [],
373
+ keywords: [],
374
+ topics: ['testData'],
375
+ licenses: [],
376
+ legalConstraints: [],
377
+ securityConstraints: [],
378
+ otherConstraints: [],
379
+ lineage:
380
+ 'This record was edited manually to test the feature catalog parsing',
381
+ spatialRepresentation: 'grid',
382
+ overviews: [],
383
+ spatialExtents: [],
384
+ temporalExtents: [],
385
+ onlineResources: [],
386
+ updateFrequency: { per: 'month', updatedTimes: 3 },
387
+ translations: {},
388
+ })
389
+
315
390
  export const simpleDatasetRecordAsXmlFixture =
316
391
  (): string => `<?xml version="1.0" encoding="UTF-8"?>
317
392
  <mdb:MD_Metadata xmlns:mdb="http://standards.iso.org/iso/19115/-3/mdb/2.0" xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0" xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0" xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/2.0" xmlns:mri="http://standards.iso.org/iso/19115/-3/mri/1.0" xmlns:mco="http://standards.iso.org/iso/19115/-3/mco/1.0" xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mmi="http://standards.iso.org/iso/19115/-3/mmi/1.0" xmlns:mrd="http://standards.iso.org/iso/19115/-3/mrd/1.0" xmlns:mrl="http://standards.iso.org/iso/19115/-3/mrl/2.0">
@@ -2,7 +2,9 @@ import {
2
2
  ChangeDetectionStrategy,
3
3
  ChangeDetectorRef,
4
4
  Component,
5
+ Inject,
5
6
  Input,
7
+ Optional,
6
8
  Output,
7
9
  } from '@angular/core'
8
10
  import { marker } from '@biesbjerg/ngx-translate-extract-marker'
@@ -65,6 +67,7 @@ marker('chart.aggregation.count')
65
67
  standalone: true,
66
68
  })
67
69
  export class ChartViewComponent {
70
+ @Input() cacheActive = true
68
71
  @Input() set link(value: DatasetOnlineResource) {
69
72
  this.currentLink$.next(value)
70
73
  }
@@ -134,7 +137,7 @@ export class ChartViewComponent {
134
137
  switchMap((link) => {
135
138
  this.error = null
136
139
  this.loading = true
137
- return this.dataService.getDataset(link).pipe(
140
+ return this.dataService.getDataset(link, this.cacheActive).pipe(
138
141
  catchError((error) => {
139
142
  this.handleError(error)
140
143
  return EMPTY