geonetwork-ui 2.4.2-dev.ff0aab388 → 2.5.0-dev.22c177ea1

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 (192) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +2 -3
  2. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +31 -16
  4. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +2 -2
  5. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  6. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +18 -16
  7. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +6 -14
  8. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +12 -17
  9. package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +3 -3
  10. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +3 -3
  11. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +3 -4
  12. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +3 -3
  13. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +31 -40
  14. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +3 -3
  15. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +3 -3
  16. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +3 -3
  17. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +8 -9
  18. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +5 -25
  19. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -4
  20. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +3 -3
  21. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +11 -11
  22. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +10 -2
  23. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +6 -3
  24. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
  25. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +6 -7
  26. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +6 -3
  27. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
  28. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
  29. package/esm2022/libs/ui/dataviz/src/index.mjs +3 -3
  30. package/esm2022/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.mjs +51 -0
  31. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +133 -0
  32. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.data.source.mjs +24 -0
  33. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.mjs +82 -0
  34. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +18 -10
  35. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +3 -1
  36. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +15 -13
  37. package/esm2022/libs/util/data-fetcher/src/index.mjs +3 -1
  38. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -1
  39. package/esm2022/libs/util/data-fetcher/src/lib/headers.mjs +3 -2
  40. package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +8 -3
  41. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +97 -0
  42. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +3 -3
  43. package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +41 -0
  44. package/esm2022/libs/util/shared/src/lib/services/index.mjs +2 -1
  45. package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +4 -4
  46. package/esm2022/translations/de.json +20 -5
  47. package/esm2022/translations/en.json +29 -14
  48. package/esm2022/translations/es.json +20 -5
  49. package/esm2022/translations/fr.json +30 -15
  50. package/esm2022/translations/it.json +39 -26
  51. package/esm2022/translations/nl.json +20 -5
  52. package/esm2022/translations/pt.json +20 -5
  53. package/fesm2022/geonetwork-ui.mjs +1004 -545
  54. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  55. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  56. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  57. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +2 -1
  58. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  59. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  60. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +7 -9
  61. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  62. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  63. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -6
  64. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  65. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +0 -1
  66. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -1
  67. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +7 -14
  68. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  69. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +2 -2
  70. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
  71. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +1 -6
  72. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
  73. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  74. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts +3 -3
  75. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts.map +1 -1
  76. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  77. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +2 -1
  78. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  79. package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -2
  80. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  81. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -1
  82. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  83. package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
  84. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  85. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  86. package/libs/ui/dataviz/src/index.d.ts +2 -2
  87. package/libs/ui/dataviz/src/index.d.ts.map +1 -1
  88. package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts +14 -0
  89. package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts.map +1 -0
  90. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +45 -0
  91. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -0
  92. package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts +12 -0
  93. package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts.map +1 -0
  94. package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts +10 -0
  95. package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts.map +1 -0
  96. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +5 -0
  97. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  98. package/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.d.ts.map +1 -1
  99. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -2
  100. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  101. package/libs/util/data-fetcher/src/index.d.ts +3 -1
  102. package/libs/util/data-fetcher/src/index.d.ts.map +1 -1
  103. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +3 -2
  104. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  105. package/libs/util/data-fetcher/src/lib/headers.d.ts.map +1 -1
  106. package/libs/util/data-fetcher/src/lib/model.d.ts +2 -2
  107. package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
  108. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +21 -0
  109. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -0
  110. package/libs/util/shared/src/lib/services/date.service.d.ts +13 -0
  111. package/libs/util/shared/src/lib/services/date.service.d.ts.map +1 -0
  112. package/libs/util/shared/src/lib/services/index.d.ts +1 -0
  113. package/libs/util/shared/src/lib/services/index.d.ts.map +1 -1
  114. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +2 -1
  115. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -1
  116. package/package.json +1 -1
  117. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -0
  118. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +1 -2
  119. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -0
  120. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +33 -16
  121. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +1 -5
  122. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +1 -1
  123. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +3 -3
  124. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +17 -15
  125. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -14
  126. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +4 -3
  127. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +9 -18
  128. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +1 -1
  129. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +1 -1
  130. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +4 -1
  131. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +0 -4
  132. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +2 -2
  133. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +8 -8
  134. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +32 -45
  135. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +1 -1
  136. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +3 -1
  137. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +1 -1
  138. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +0 -1
  139. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +6 -6
  140. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +24 -17
  141. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +2 -27
  142. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +1 -1
  143. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -1
  144. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +1 -1
  145. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.ts +3 -4
  146. package/src/libs/feature/editor/src/lib/fields.config.ts +9 -1
  147. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +2 -1
  148. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +1 -0
  149. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  150. package/src/libs/feature/record/src/lib/feature-record.module.ts +6 -4
  151. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +1 -0
  152. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +1 -0
  153. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
  154. package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
  155. package/src/libs/ui/dataviz/src/index.ts +2 -2
  156. package/src/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.ts +52 -0
  157. package/src/libs/ui/dataviz/src/lib/{table/table.component.css → data-table/data-table.component.css} +4 -0
  158. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +67 -0
  159. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +173 -0
  160. package/src/libs/ui/dataviz/src/lib/data-table/data-table.data.source.ts +33 -0
  161. package/src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts +84 -0
  162. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +3 -3
  163. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -2
  164. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.ts +3 -0
  165. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +1 -1
  166. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +4 -2
  167. package/src/libs/util/data-fetcher/src/index.ts +3 -0
  168. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +9 -1
  169. package/src/libs/util/data-fetcher/src/lib/headers.ts +4 -3
  170. package/src/libs/util/data-fetcher/src/lib/model.ts +7 -2
  171. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +134 -0
  172. package/src/libs/util/data-fetcher/src/lib/utils.ts +2 -2
  173. package/src/libs/util/shared/src/lib/services/date.service.ts +45 -0
  174. package/src/libs/util/shared/src/lib/services/index.ts +1 -0
  175. package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +6 -3
  176. package/translations/de.json +20 -5
  177. package/translations/en.json +29 -14
  178. package/translations/es.json +20 -5
  179. package/translations/fr.json +30 -15
  180. package/translations/it.json +39 -26
  181. package/translations/nl.json +20 -5
  182. package/translations/pt.json +20 -5
  183. package/translations/sk.json +21 -6
  184. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +0 -61
  185. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +0 -40
  186. package/libs/ui/dataviz/src/lib/table/table.component.d.ts +0 -29
  187. package/libs/ui/dataviz/src/lib/table/table.component.d.ts.map +0 -1
  188. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +0 -11
  189. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +0 -1
  190. package/src/libs/ui/dataviz/src/lib/table/table.component.html +0 -40
  191. package/src/libs/ui/dataviz/src/lib/table/table.component.ts +0 -80
  192. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +0 -40
@@ -0,0 +1,12 @@
1
+ import { DataSource } from '@angular/cdk/collections';
2
+ import { Observable } from 'rxjs';
3
+ import { DataItem } from '../../../../../../libs/util/data-fetcher/src';
4
+ import { TableItemModel } from './data-table.component';
5
+ export declare class DataTableDataSource implements DataSource<TableItemModel> {
6
+ private dataItems$;
7
+ connect(): Observable<TableItemModel[]>;
8
+ disconnect(): void;
9
+ showData(itemsPromise: Promise<DataItem[]>): Promise<void>;
10
+ clearData(): void;
11
+ }
12
+ //# sourceMappingURL=data-table.data.source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.data.source.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/dataviz/src/lib/data-table/data-table.data.source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAA;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,qBAAa,mBAAoB,YAAW,UAAU,CAAC,cAAc,CAAC;IACpE,OAAO,CAAC,UAAU,CAAsC;IAExD,OAAO,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;IAWvC,UAAU,IAAI,IAAI;IAIZ,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKhD,SAAS;CAGV"}
@@ -0,0 +1,10 @@
1
+ import { DataItem, PropertyInfo } from '../../../../../../libs/util/data-fetcher/src';
2
+ export declare const tableItemsFixture: {
3
+ items: DataItem[];
4
+ properties: PropertyInfo[];
5
+ };
6
+ export declare const someHabTableItemFixture: {
7
+ items: DataItem[];
8
+ properties: PropertyInfo[];
9
+ };
10
+ //# sourceMappingURL=data-table.fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.fixtures.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAA;AAErF,eAAO,MAAM,iBAAiB;WA6BvB,QAAQ,EAAE;gBAKV,YAAY,EAAE;CACpB,CAAA;AAED,eAAO,MAAM,uBAAuB;WAsC7B,QAAQ,EAAE;gBAKV,YAAY,EAAE;CACpB,CAAA"}
@@ -1,11 +1,14 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { DatasetRecord, Keyword } from '../../../../../../libs/common/domain/src/lib/model/record';
3
+ import { DateService } from '../../../../../../libs/util/shared/src';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class MetadataInfoComponent {
6
+ private dateService;
5
7
  metadata: Partial<DatasetRecord>;
6
8
  incomplete: boolean;
7
9
  keyword: EventEmitter<Keyword>;
8
10
  updatedTimes: number;
11
+ constructor(dateService: DateService);
9
12
  get hasUsage(): boolean;
10
13
  get legalConstraints(): any[];
11
14
  get otherConstraints(): any[];
@@ -22,6 +25,8 @@ export declare class MetadataInfoComponent {
22
25
  get resourceContact(): import("../../../../../common/domain/src/lib/model/record/contact.model").Individual;
23
26
  fieldReady(propName: string): boolean;
24
27
  onKeywordClick(keyword: Keyword): void;
28
+ formatDate(date: Date): string;
29
+ formatDateTime(date: Date): string;
25
30
  static ɵfac: i0.ɵɵFactoryDeclaration<MetadataInfoComponent, never>;
26
31
  static ɵcmp: i0.ɵɵComponentDeclaration<MetadataInfoComponent, "gn-ui-metadata-info", never, { "metadata": { "alias": "metadata"; "required": false; }; "incomplete": { "alias": "incomplete"; "required": false; }; }, { "keyword": "keyword"; }, never, never, true, never>;
27
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-info.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,OAAO,EACR,MAAM,2DAA2D,CAAA;;AAoBlE,qBA0Ba,qBAAqB;IACvB,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAChC,UAAU,EAAE,OAAO,CAAA;IAClB,OAAO,wBAA8B;IAC/C,YAAY,EAAE,MAAM,CAAA;IAEpB,IAAI,QAAQ,YASX;IAED,IAAI,gBAAgB,UAanB;IAED,IAAI,gBAAgB,UAQnB;IAED,IAAI,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAU9C;IAED,IAAI,eAAe,IAAI,MAAM,CAS5B;IAED,IAAI,cAAc,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAGnD;IAED,IAAI,iBAAiB,gGAEpB;IAED,IAAI,eAAe,yFAElB;IAED,UAAU,CAAC,QAAQ,EAAE,MAAM;IAI3B,cAAc,CAAC,OAAO,EAAE,OAAO;yCAlFpB,qBAAqB;2CAArB,qBAAqB;CAqFjC"}
1
+ {"version":3,"file":"metadata-info.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,OAAO,EACR,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,WAAW,EAAyB,MAAM,wCAAwC,CAAA;;AAmB3F,qBA0Ba,qBAAqB;IAMpB,OAAO,CAAC,WAAW;IALtB,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAChC,UAAU,EAAE,OAAO,CAAA;IAClB,OAAO,wBAA8B;IAC/C,YAAY,EAAE,MAAM,CAAA;gBAEA,WAAW,EAAE,WAAW;IAE5C,IAAI,QAAQ,YASX;IAED,IAAI,gBAAgB,UAanB;IAED,IAAI,gBAAgB,UAQnB;IAED,IAAI,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAU9C;IAED,IAAI,eAAe,IAAI,MAAM,CAS5B;IAED,IAAI,cAAc,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAGnD;IAED,IAAI,iBAAiB,gGAEpB;IAED,IAAI,eAAe,yFAElB;IAED,UAAU,CAAC,QAAQ,EAAE,MAAM;IAI3B,cAAc,CAAC,OAAO,EAAE,OAAO;IAI/B,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAI9B,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;yCA5FvB,qBAAqB;2CAArB,qBAAqB;CA+FjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"record-preview-feed.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,UAAU,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,QAAQ,MAAM,6BAA6B,CAAA;;AAElD,qBAMa,0BAA2B,SAAQ,sBAAsB;IAIlE,SAAS,CAAC,UAAU,EAAE,UAAU;IAChC,OAAO,CAAC,SAAS;IAJnB,UAAU,WAA+C;gBAG7C,UAAU,EAAE,UAAU,EACxB,SAAS,EAAE,gBAAgB;IAKrC,IAAI,eAAe,YAElB;IACD,IAAI,OAAO,YAEV;IACD,IAAI,aAAa,YAEhB;IACD,IAAI,IAAI,WAEP;yCArBU,0BAA0B;2CAA1B,0BAA0B;CAsBtC"}
1
+ {"version":3,"file":"record-preview-feed.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,UAAU,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,QAAQ,MAAM,6BAA6B,CAAA;;AAKlD,qBAMa,0BAA2B,SAAQ,sBAAsB;IAIlE,SAAS,CAAC,UAAU,EAAE,UAAU;IAChC,OAAO,CAAC,SAAS;IAJnB,UAAU,WAA+C;gBAG7C,UAAU,EAAE,UAAU,EACxB,SAAS,EAAE,gBAAgB;IAKrC,IAAI,eAAe,YAElB;IACD,IAAI,OAAO,YAEV;IACD,IAAI,aAAa,YAEhB;IACD,IAAI,IAAI,WAEP;yCArBU,0BAA0B;2CAA1B,0BAA0B;CAsBtC"}
@@ -1,13 +1,14 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, QueryList, ViewContainerRef } from '@angular/core';
2
2
  import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record';
3
3
  import { SortByField } from '../../../../../../libs/common/domain/src/lib/model/search';
4
- import { FileFormat } from '../../../../../../libs/util/shared/src';
4
+ import { DateService, FileFormat } from '../../../../../../libs/util/shared/src';
5
5
  import { Overlay } from '@angular/cdk/overlay';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class ResultsTableComponent {
8
8
  private overlay;
9
9
  private viewContainerRef;
10
10
  private cdr;
11
+ private dateService;
11
12
  records: CatalogRecord[];
12
13
  selectedRecordsIdentifiers: string[];
13
14
  sortOrder: SortByField;
@@ -24,7 +25,7 @@ export declare class ResultsTableComponent {
24
25
  actionMenuButtons: QueryList<ElementRef>;
25
26
  private overlayRef;
26
27
  isActionMenuOpen: boolean;
27
- constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef);
28
+ constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef, dateService: DateService);
28
29
  openActionMenu(item: any, template: any): void;
29
30
  closeActionMenu(): void;
30
31
  dateToString(date: Date): string;
@@ -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,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;IA3BJ,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;IAGhC,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;yCArJxD,qBAAqB;2CAArB,qBAAqB;CAwJjC"}
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,5 +1,7 @@
1
1
  export * from './lib/data-fetcher';
2
- export { SupportedType, SupportedTypes, DataItem, FetchError, FieldAggregation, } from './lib/model';
2
+ export { SupportedType, SupportedTypes, DataItem, FetchError, FieldAggregation, PropertyInfo, } from './lib/model';
3
3
  export { getJsonDataItemsProxy } from './lib/utils';
4
4
  export { BaseReader } from './lib/readers/base';
5
+ export { BaseFileReader } from './lib/readers/base-file';
6
+ export { GeojsonReader } from './lib/readers/geojson';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/util/data-fetcher/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,OAAO,EACL,aAAa,EACb,cAAc,EACd,QAAQ,EACR,UAAU,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/util/data-fetcher/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,OAAO,EACL,aAAa,EACb,cAAc,EACd,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,YAAY,GACb,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA"}
@@ -2,8 +2,9 @@ import { DataItem, DatasetHeaders, SupportedType } from './model';
2
2
  import { BaseReader } from './readers/base';
3
3
  import { WfsVersion } from '@camptocamp/ogc-client';
4
4
  export declare function openDataset(url: string, typeHint?: SupportedType, options?: {
5
- namespace: string;
6
- wfsVersion: WfsVersion;
5
+ namespace?: string;
6
+ wfsVersion?: WfsVersion;
7
+ wfsFeatureType?: string;
7
8
  }): Promise<BaseReader>;
8
9
  /**
9
10
  * This fetches the full dataset at the given URL and parses it according to its mime type.
@@ -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;AAEnD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GACtD,OAAO,CAAC,UAAU,CAAC,CA0BrB;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,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 +1 @@
1
- {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAkB,MAAM,SAAS,CAAA;AAEtE,wBAAgB,YAAY,CAAC,WAAW,EAAE,OAAO,GAAG,cAAc,CAmBjE"}
1
+ {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAkB,MAAM,SAAS,CAAA;AAEtE,wBAAgB,YAAY,CAAC,WAAW,EAAE,OAAO,GAAG,cAAc,CAoBjE"}
@@ -7,7 +7,7 @@ export declare class FetchError {
7
7
  message: string;
8
8
  stack: any;
9
9
  constructor(type: 'http' | 'network' | 'parse' | 'unsupportedType' | 'unknown', info: string, httpStatus?: number);
10
- static http(code: number): FetchError;
10
+ static http(code: number, body?: string): FetchError;
11
11
  static corsOrNetwork(message: string): FetchError;
12
12
  static parsingFailed(info: string): FetchError;
13
13
  static unsupportedType(mimeType: string): FetchError;
@@ -19,7 +19,7 @@ export declare const GeoJsonMimeTypes: readonly ["application/geo+json", "applic
19
19
  export declare const ExcelMimeTypes: readonly ["application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"];
20
20
  export declare const GmlMimeTypes: readonly ["application/gml+xml"];
21
21
  export type SupportedMimeType = (typeof CsvMimeTypes)[number] | (typeof JsonMimeTypes)[number] | (typeof GeoJsonMimeTypes)[number] | (typeof ExcelMimeTypes)[number] | (typeof GmlMimeTypes)[number];
22
- export declare const SupportedTypes: readonly ["csv", "json", "geojson", "excel", "gml"];
22
+ export declare const SupportedTypes: readonly ["csv", "json", "geojson", "excel", "gml", "wfs"];
23
23
  export type SupportedType = (typeof SupportedTypes)[number];
24
24
  export declare const AllMimeTypes: {
25
25
  csv: readonly ["text/csv", "application/csv"];
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAA;AAE9B,qBAAa,UAAU;IAKZ,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,iBAAiB,GAAG,SAAS;IAClE,IAAI,EAAE,MAAM;IACZ,UAAU;IANnB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,MAAO;gBAGH,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,iBAAiB,GAAG,SAAS,EAClE,IAAI,EAAE,MAAM,EACZ,UAAU,SAAI;IAIvB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM;IAGxB,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM;IAGpC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;IAGjC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM;IAGvC,MAAM,CAAC,WAAW;CAGnB;AAID,eAAO,MAAM,YAAY,0CAGf,CAAA;AACV,eAAO,MAAM,aAAa,+BAAgC,CAAA;AAC1D,eAAO,MAAM,gBAAgB,+DAGnB,CAAA;AACV,eAAO,MAAM,cAAc,4GAGjB,CAAA;AACV,eAAO,MAAM,YAAY,kCAAmC,CAAA;AAE5D,MAAM,MAAM,iBAAiB,GACzB,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,GAC7B,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,GAC9B,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,GACjC,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,GAC/B,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjC,eAAO,MAAM,cAAc,qDAMjB,CAAA;AACV,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D,eAAO,MAAM,YAAY;;;;;;CAMxB,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,iBAAiB,CAAC,EAAE,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AACtC,KAAK,gBAAgB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAC9C,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AACtC,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AACtC,KAAK,cAAc,GAAG,CAAC,OAAO,CAAC,CAAA;AAC/B,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,cAAc,CAAA;AAElB,KAAK,YAAY,GAAG,CAAC,KAAK,CAAC,CAAA;AAC3B,KAAK,iBAAiB,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;AAChD,KAAK,qBAAqB,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;AAChE,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,iBAAiB,GACjB,qBAAqB,CAAA;AAEzB,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,SAAS,CAAC,CAAA;AAEnD,KAAK,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAA;AAC9D,KAAK,UAAU,GAAG,CAAC,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;AAClE,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC,CAAA;AAC7C,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC,CAAA;AAC3C,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;AACxC,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;AAC9D,KAAK,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;AAChD,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,aAAa,CAAA"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { WfsEndpoint, WfsVersion } from '@camptocamp/ogc-client';
2
+ import { DataItem, DatasetInfo, PropertyInfo } from '../model';
3
+ import { BaseReader } from './base';
4
+ import { GmlReader } from './gml';
5
+ import { GeojsonReader } from './geojson';
6
+ export declare class WfsReader extends BaseReader {
7
+ endpoint: WfsEndpoint;
8
+ featureTypeName: string;
9
+ version: WfsVersion;
10
+ constructor(url: string, wfsEndpoint: WfsEndpoint, featureTypeName: string);
11
+ get properties(): Promise<PropertyInfo[]>;
12
+ get info(): Promise<DatasetInfo>;
13
+ static createReader(wfsUrlEndpoint: string, featureTypeName?: string): Promise<GeojsonReader | GmlReader | WfsReader>;
14
+ protected getData(): Promise<{
15
+ items: DataItem[];
16
+ properties: PropertyInfo[];
17
+ }>;
18
+ load(): void;
19
+ read(): Promise<DataItem[]>;
20
+ }
21
+ //# sourceMappingURL=wfs.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,13 @@
1
+ import { TranslateService } from '@ngx-translate/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DateService {
4
+ private translateService;
5
+ constructor(translateService: TranslateService);
6
+ private getDateObject;
7
+ private getLocaleAndDate;
8
+ formatDate(date: Date | string, options?: Intl.DateTimeFormatOptions): string;
9
+ formatDateTime(date: Date | string, options?: Intl.DateTimeFormatOptions): string;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<DateService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<DateService>;
12
+ }
13
+ //# sourceMappingURL=date.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/services/date.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAEtD,qBAGa,WAAW;IACV,OAAO,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAEtD,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;IASxB,UAAU,CACR,IAAI,EAAE,IAAI,GAAG,MAAM,EACnB,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GACnC,MAAM;IAKT,cAAc,CACZ,IAAI,EAAE,IAAI,GAAG,MAAM,EACnB,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GACnC,MAAM;yCAlCE,WAAW;6CAAX,WAAW;CAsCvB"}
@@ -1,4 +1,5 @@
1
1
  export * from './theme.service';
2
2
  export * from './log.service';
3
3
  export * from './proxy.service';
4
+ export * from './date.service';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA"}
@@ -1,7 +1,8 @@
1
+ import { DateService } from '../services';
1
2
  export declare function getTemporalRangeUnion(ranges: {
2
3
  start?: Date;
3
4
  end?: Date;
4
- }[]): {
5
+ }[], dateService: DateService): {
5
6
  start: string;
6
7
  end: string;
7
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"temporal-extent-union.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/utils/temporal-extent-union.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CACnC,MAAM,EAAE;IACN,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,GAAG,CAAC,EAAE,IAAI,CAAA;CACX,EAAE;;;EAgCJ"}
1
+ {"version":3,"file":"temporal-extent-union.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/utils/temporal-extent-union.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,wBAAgB,qBAAqB,CACnC,MAAM,EAAE;IACN,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,GAAG,CAAC,EAAE,IAAI,CAAA;CACX,EAAE,EACH,WAAW,EAAE,WAAW;;;EAgCzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.4.2-dev.ff0aab388",
3
+ "version": "2.5.0-dev.22c177ea1",
4
4
  "engines": {
5
5
  "node": ">=20"
6
6
  },
@@ -506,6 +506,7 @@ export const GEOCAT_CH_DATASET_RECORD: DatasetRecord = {
506
506
  ),
507
507
  accessServiceProtocol: 'esriRest',
508
508
  description: 'RESTful API von geo.admin.ch',
509
+ identifierInService: 'RESTful API von geo.admin.ch',
509
510
  name: 'RESTful API von geo.admin.ch',
510
511
  translations: {
511
512
  description: {
@@ -478,12 +478,11 @@ export function extractDatasetOnlineResources(
478
478
  ...descriptionTranslations,
479
479
  }
480
480
  if (isService) {
481
- const hasIdentifier = protocol === 'wms' || protocol === 'wfs'
482
481
  return {
483
482
  type: 'service',
484
483
  url: url,
485
484
  accessServiceProtocol: protocol,
486
- ...(name && hasIdentifier && { identifierInService: name }),
485
+ ...(name && { identifierInService: name }), // should we keep the identifierInService? read-write duplicate with name
487
486
  ...(name && { name }),
488
487
  ...(description && { description }),
489
488
  translations,
@@ -242,6 +242,8 @@ export function getServiceDistributionProtocol(
242
242
  distribution: DatasetServiceDistribution
243
243
  ): string {
244
244
  switch (distribution.accessServiceProtocol.toLowerCase()) {
245
+ case 'ogcfeatures':
246
+ return 'OGC API Features'
245
247
  case 'wfs':
246
248
  return 'OGC:WFS'
247
249
  case 'wms':
@@ -755,6 +757,7 @@ export function appendOnlineResource(
755
757
  let functionCode: string
756
758
  let protocol: string
757
759
  if (onlineResource.type === 'service') {
760
+ // should we keep the identifierInService? read-write duplicate with name
758
761
  name = onlineResource.identifierInService // this is for GeoNetwork to know the layer name
759
762
  functionCode = 'download'
760
763
  protocol = getServiceDistributionProtocol(onlineResource)
@@ -28,6 +28,7 @@ import {
28
28
  } from '../../../../../../../libs/api/metadata-converter/src'
29
29
  import { LangService } from '../../../../../../../libs/util/i18n/src'
30
30
  import { formatDate, isDateRange } from './date-range.utils'
31
+ import { CatalogRecord } from '../../../../../../../libs/common/domain/src/lib/model/record'
31
32
 
32
33
  export type DateRange = { start?: Date; end?: Date }
33
34
 
@@ -50,7 +51,7 @@ export class ElasticsearchService {
50
51
  size = 0,
51
52
  from = 0,
52
53
  sortBy: SortByField = null,
53
- requestFields: RequestFields = [],
54
+ requestFields: RequestFields = null,
54
55
  searchFilters: SearchFilters = {},
55
56
  configFilters: SearchFilters = {},
56
57
  uuids?: string[],
@@ -68,7 +69,7 @@ export class ElasticsearchService {
68
69
  geometry
69
70
  ),
70
71
  ...(size > 0 ? { track_total_hits: true } : {}),
71
- _source: requestFields,
72
+ ...(requestFields && { _source: requestFields }),
72
73
  }
73
74
  this.processRuntimeFields(payload)
74
75
  return payload
@@ -134,8 +135,7 @@ export class ElasticsearchService {
134
135
  }
135
136
 
136
137
  getRelatedRecordPayload(
137
- title: string,
138
- uuid: string,
138
+ record: CatalogRecord,
139
139
  size = 6,
140
140
  _source = [...ES_SOURCE_SUMMARY, 'allKeywords', 'createDate']
141
141
  ): EsSearchParams {
@@ -148,9 +148,23 @@ export class ElasticsearchService {
148
148
  fields: [
149
149
  'resourceTitleObject.default',
150
150
  'resourceAbstractObject.default',
151
- 'tag.raw',
151
+ 'allKeywords',
152
+ ],
153
+ like: [
154
+ {
155
+ doc: {
156
+ resourceTitleObject: {
157
+ default: record.title,
158
+ },
159
+ resourceAbstractObject: {
160
+ default: record.abstract,
161
+ },
162
+ allKeywords: record.keywords.map(
163
+ (keyword) => keyword.label
164
+ ),
165
+ },
166
+ },
152
167
  ],
153
- like: title,
154
168
  min_term_freq: 1,
155
169
  max_query_terms: 12,
156
170
  },
@@ -166,7 +180,7 @@ export class ElasticsearchService {
166
180
  },
167
181
  },
168
182
  ],
169
- must_not: [{ wildcard: { uuid: uuid } }],
183
+ must_not: [{ wildcard: { uuid: record.uniqueIdentifier } }],
170
184
  },
171
185
  },
172
186
  size,
@@ -220,6 +234,7 @@ export class ElasticsearchService {
220
234
  private filtersToQuery(
221
235
  filters: FieldFilters | FiltersAggregationParams | string
222
236
  ): FilterQuery {
237
+ const addQuote = (key: string) => (/^\/.+\/$/.test(key) ? key : `"${key}"`)
223
238
  const makeQuery = (filter: FieldFilter): string => {
224
239
  if (typeof filter === 'string') {
225
240
  return filter
@@ -227,9 +242,9 @@ export class ElasticsearchService {
227
242
  return Object.keys(filter)
228
243
  .map((key) => {
229
244
  if (filter[key] === true) {
230
- return `"${key}"`
245
+ return addQuote(key)
231
246
  }
232
- return `-"${key}"`
247
+ return `-${addQuote(key)}`
233
248
  })
234
249
  .join(' OR ')
235
250
  }
@@ -518,13 +533,15 @@ export class ElasticsearchService {
518
533
  switch (aggregation.type) {
519
534
  case 'filters':
520
535
  return {
521
- filters: Object.keys(aggregation.filters).reduce((prev, curr) => {
522
- const filter = aggregation.filters[curr]
523
- return {
524
- ...prev,
525
- [curr]: this.filtersToQuery(filter)[0],
526
- }
527
- }, {}),
536
+ filters: {
537
+ filters: Object.keys(aggregation.filters).reduce((prev, curr) => {
538
+ const filter = aggregation.filters[curr]
539
+ return {
540
+ ...prev,
541
+ [curr]: this.filtersToQuery(filter)[0],
542
+ }
543
+ }, {}),
544
+ },
528
545
  }
529
546
  case 'terms':
530
547
  return {
@@ -143,11 +143,7 @@ export class Gn4Repository implements RecordsRepositoryInterface {
143
143
  'bucket',
144
144
  null,
145
145
  JSON.stringify(
146
- this.gn4SearchHelper.getRelatedRecordPayload(
147
- similarTo.title,
148
- similarTo.uniqueIdentifier,
149
- 3
150
- )
146
+ this.gn4SearchHelper.getRelatedRecordPayload(similarTo, 3)
151
147
  )
152
148
  )
153
149
  .pipe(
@@ -160,7 +160,7 @@ export interface DatasetServiceDistribution {
160
160
  type: 'service'
161
161
  url: URL
162
162
  accessServiceProtocol: ServiceProtocol
163
- identifierInService?: string
163
+ identifierInService?: string // should we keep the identifierInService? read-write duplicate with name
164
164
  name?: string
165
165
  description?: string
166
166
  translations?: OnlineResourceTranslations
@@ -1,11 +1,11 @@
1
1
  <div class="flex flex-row h-full overflow-auto">
2
- <gn-ui-table
2
+ <gn-ui-data-table
3
3
  #table
4
4
  class="w-1/2 overflow-auto"
5
- [data]="tableData"
5
+ [dataset]="dataset"
6
6
  [activeId]="selectionId"
7
7
  (selected)="onTableSelect($event)"
8
- ></gn-ui-table>
8
+ ></gn-ui-data-table>
9
9
  <gn-ui-map-container
10
10
  #mapContainer
11
11
  class="w-1/2 h-full"
@@ -8,7 +8,7 @@ import {
8
8
  ViewChild,
9
9
  } from '@angular/core'
10
10
  import {
11
- TableComponent,
11
+ DataTableComponent,
12
12
  TableItemId,
13
13
  TableItemModel,
14
14
  } from '../../../../../../libs/ui/dataviz/src'
@@ -19,18 +19,19 @@ import {
19
19
  FeatureDetailComponent,
20
20
  MapContainerComponent,
21
21
  } from '../../../../../../libs/ui/map/src'
22
+ import { BaseReader } from '../../../../../../libs/util/data-fetcher/src'
22
23
 
23
24
  @Component({
24
25
  selector: 'gn-ui-geo-table-view',
25
26
  templateUrl: './geo-table-view.component.html',
26
27
  styleUrls: ['./geo-table-view.component.css'],
27
28
  changeDetection: ChangeDetectionStrategy.OnPush,
28
- imports: [TableComponent, MapContainerComponent, FeatureDetailComponent],
29
+ imports: [MapContainerComponent, FeatureDetailComponent, DataTableComponent],
29
30
  standalone: true,
30
31
  })
31
32
  export class GeoTableViewComponent implements OnInit, OnDestroy {
32
- @Input() data: FeatureCollection = { type: 'FeatureCollection', features: [] }
33
- @ViewChild('table') uiTable: TableComponent
33
+ @Input() dataset: BaseReader
34
+ @ViewChild('table') uiTable: DataTableComponent
34
35
  @ViewChild('mapContainer') mapContainer: MapContainerComponent
35
36
 
36
37
  tableData: TableItemModel[]
@@ -39,21 +40,16 @@ export class GeoTableViewComponent implements OnInit, OnDestroy {
39
40
  selection: Feature
40
41
  private subscription = new Subscription()
41
42
 
42
- get features() {
43
- return this.data.features
44
- }
45
-
46
43
  constructor(private changeRef: ChangeDetectorRef) {}
47
44
 
48
- ngOnInit(): void {
49
- this.tableData = this.geojsonToTableData(this.data)
50
- this.mapContext = this.initMapContext()
45
+ async ngOnInit() {
46
+ this.mapContext = await this.initMapContext()
51
47
  }
52
48
 
53
49
  onTableSelect(tableEntry: TableItemModel) {
54
50
  const { id } = tableEntry
55
51
  this.selectionId = id
56
- this.selection = this.getFeatureFromId(id)
52
+ // this.selection = this.getFeatureFromId(id)
57
53
  if (this.selection) {
58
54
  this.animateToFeature(this.selection)
59
55
  }
@@ -77,7 +73,8 @@ export class GeoTableViewComponent implements OnInit, OnDestroy {
77
73
  }))
78
74
  }
79
75
 
80
- private initMapContext(): MapContext {
76
+ private async initMapContext(): Promise<MapContext> {
77
+ this.dataset.selectAll()
81
78
  return {
82
79
  layers: [
83
80
  {
@@ -86,7 +83,11 @@ export class GeoTableViewComponent implements OnInit, OnDestroy {
86
83
  },
87
84
  {
88
85
  type: 'geojson',
89
- data: this.data,
86
+ data: {
87
+ type: 'FeatureCollection',
88
+ // FIXME: we're not getting geojson here
89
+ features: await this.dataset.read(),
90
+ },
90
91
  },
91
92
  ],
92
93
  view: {
@@ -112,7 +113,8 @@ export class GeoTableViewComponent implements OnInit, OnDestroy {
112
113
  }
113
114
 
114
115
  private getFeatureFromId(id: TableItemId) {
115
- return this.features.find((feature) => feature.id === id)
116
+ // FIXME: restore this once we need it?
117
+ // return this.features.find((feature) => feature.id === id)
116
118
  }
117
119
 
118
120
  ngOnDestroy(): void {
@@ -168,6 +168,7 @@ export class DataService {
168
168
  map((urls) =>
169
169
  Object.keys(urls).map((format) => ({
170
170
  ...wfsLink,
171
+ name: wfsLink.name,
171
172
  type: 'download',
172
173
  url: new URL(urls[format]),
173
174
  mimeType: getMimeTypeForFormat(
@@ -187,6 +188,7 @@ export class DataService {
187
188
  return Object.keys(collectionInfo.bulkDownloadLinks).map((downloadLink) => {
188
189
  return {
189
190
  ...ogcApiLink,
191
+ name: collectionInfo.id,
190
192
  type: 'download',
191
193
  url: new URL(collectionInfo.bulkDownloadLinks[downloadLink]),
192
194
  mimeType: getMimeTypeForFormat(
@@ -244,20 +246,10 @@ export class DataService {
244
246
 
245
247
  getDataset(link: DatasetOnlineResource): Observable<BaseReader> {
246
248
  if (link.type === 'service' && link.accessServiceProtocol === 'wfs') {
247
- return this.getDownloadUrlsFromWfs(link.url.toString(), link.name).pipe(
248
- switchMap((urls) => {
249
- if (urls.geojson) return openDataset(urls.geojson, 'geojson')
250
- if (urls.gml)
251
- return openDataset(urls.gml.featureUrl, 'gml', {
252
- namespace: urls.gml.namespace,
253
- wfsVersion: urls.gml.wfsVersion,
254
- })
255
- return null
256
- }),
257
- tap((url) => {
258
- if (url === null) {
259
- throw new Error('wfs.geojsongml.notsupported')
260
- }
249
+ const wfsUrlEndpoint = this.proxy.getProxiedUrl(link.url.toString())
250
+ return from(
251
+ openDataset(wfsUrlEndpoint, 'wfs', {
252
+ wfsFeatureType: link.name,
261
253
  })
262
254
  )
263
255
  } else if (link.type === 'download') {
@@ -1,10 +1,11 @@
1
1
  <div class="w-full h-full flex flex-col">
2
2
  <div class="relative h-full">
3
- <gn-ui-table
3
+ <gn-ui-data-table
4
+ *ngIf="tableData$ | async as dataset"
4
5
  class="overflow-auto grow"
5
- [data]="tableData$ | async"
6
+ [dataset]="dataset"
6
7
  (selected)="onTableSelect($event)"
7
- ></gn-ui-table>
8
+ ></gn-ui-data-table>
8
9
  <gn-ui-loading-mask
9
10
  *ngIf="loading"
10
11
  class="absolute inset-0"