geonetwork-ui 2.4.2-dev.ff0aab388 → 2.5.0-dev.6d78023ff

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 (185) 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 +17 -5
  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 +4 -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/ui/dataviz/src/index.mjs +3 -3
  28. package/esm2022/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.mjs +51 -0
  29. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +133 -0
  30. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.data.source.mjs +24 -0
  31. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.mjs +82 -0
  32. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +18 -10
  33. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +3 -1
  34. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +15 -13
  35. package/esm2022/libs/util/data-fetcher/src/index.mjs +3 -1
  36. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -1
  37. package/esm2022/libs/util/data-fetcher/src/lib/headers.mjs +3 -2
  38. package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +8 -3
  39. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +97 -0
  40. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +3 -3
  41. package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +41 -0
  42. package/esm2022/libs/util/shared/src/lib/services/index.mjs +2 -1
  43. package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +4 -4
  44. package/esm2022/translations/de.json +20 -5
  45. package/esm2022/translations/en.json +29 -14
  46. package/esm2022/translations/es.json +20 -5
  47. package/esm2022/translations/fr.json +30 -15
  48. package/esm2022/translations/it.json +39 -26
  49. package/esm2022/translations/nl.json +20 -5
  50. package/esm2022/translations/pt.json +20 -5
  51. package/fesm2022/geonetwork-ui.mjs +942 -534
  52. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  53. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  54. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  55. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +2 -1
  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.map +1 -1
  58. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +7 -9
  59. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  60. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  61. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -6
  62. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  63. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +0 -1
  64. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -1
  65. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +7 -14
  66. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  67. 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
  68. 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
  69. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +1 -6
  70. 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
  71. 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
  72. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts +3 -3
  73. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts.map +1 -1
  74. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  75. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +2 -1
  76. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  77. package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -2
  78. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  79. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -1
  80. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  81. package/libs/ui/dataviz/src/index.d.ts +2 -2
  82. package/libs/ui/dataviz/src/index.d.ts.map +1 -1
  83. package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts +14 -0
  84. package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts.map +1 -0
  85. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +45 -0
  86. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -0
  87. package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts +12 -0
  88. package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts.map +1 -0
  89. package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts +10 -0
  90. package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts.map +1 -0
  91. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +5 -0
  92. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  93. package/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.d.ts.map +1 -1
  94. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -2
  95. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  96. package/libs/util/data-fetcher/src/index.d.ts +3 -1
  97. package/libs/util/data-fetcher/src/index.d.ts.map +1 -1
  98. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +3 -2
  99. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  100. package/libs/util/data-fetcher/src/lib/headers.d.ts.map +1 -1
  101. package/libs/util/data-fetcher/src/lib/model.d.ts +2 -2
  102. package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
  103. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +21 -0
  104. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -0
  105. package/libs/util/shared/src/lib/services/date.service.d.ts +13 -0
  106. package/libs/util/shared/src/lib/services/date.service.d.ts.map +1 -0
  107. package/libs/util/shared/src/lib/services/index.d.ts +1 -0
  108. package/libs/util/shared/src/lib/services/index.d.ts.map +1 -1
  109. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +2 -1
  110. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -1
  111. package/package.json +1 -1
  112. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -0
  113. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +1 -2
  114. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -0
  115. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +19 -5
  116. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +1 -5
  117. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +1 -1
  118. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +3 -3
  119. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +17 -15
  120. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +4 -14
  121. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +4 -3
  122. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +9 -18
  123. package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +1 -1
  124. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +1 -1
  125. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +4 -1
  126. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +0 -4
  127. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +2 -2
  128. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +8 -8
  129. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +32 -45
  130. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +1 -1
  131. 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
  132. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +1 -1
  133. 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
  134. 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
  135. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +24 -17
  136. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +2 -27
  137. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +1 -1
  138. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -1
  139. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +1 -1
  140. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.ts +3 -4
  141. package/src/libs/feature/editor/src/lib/fields.config.ts +9 -1
  142. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +2 -1
  143. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +1 -0
  144. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  145. package/src/libs/feature/record/src/lib/feature-record.module.ts +6 -4
  146. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +1 -0
  147. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +1 -0
  148. package/src/libs/ui/dataviz/src/index.ts +2 -2
  149. package/src/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.ts +52 -0
  150. package/src/libs/ui/dataviz/src/lib/{table/table.component.css → data-table/data-table.component.css} +4 -0
  151. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +67 -0
  152. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +173 -0
  153. package/src/libs/ui/dataviz/src/lib/data-table/data-table.data.source.ts +33 -0
  154. package/src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts +84 -0
  155. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +3 -3
  156. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -2
  157. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.ts +3 -0
  158. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +1 -1
  159. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +4 -2
  160. package/src/libs/util/data-fetcher/src/index.ts +3 -0
  161. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +9 -1
  162. package/src/libs/util/data-fetcher/src/lib/headers.ts +4 -3
  163. package/src/libs/util/data-fetcher/src/lib/model.ts +7 -2
  164. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +134 -0
  165. package/src/libs/util/data-fetcher/src/lib/utils.ts +2 -2
  166. package/src/libs/util/shared/src/lib/services/date.service.ts +45 -0
  167. package/src/libs/util/shared/src/lib/services/index.ts +1 -0
  168. package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +6 -3
  169. package/translations/de.json +20 -5
  170. package/translations/en.json +29 -14
  171. package/translations/es.json +20 -5
  172. package/translations/fr.json +30 -15
  173. package/translations/it.json +39 -26
  174. package/translations/nl.json +20 -5
  175. package/translations/pt.json +20 -5
  176. package/translations/sk.json +21 -6
  177. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +0 -61
  178. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +0 -40
  179. package/libs/ui/dataviz/src/lib/table/table.component.d.ts +0 -29
  180. package/libs/ui/dataviz/src/lib/table/table.component.d.ts.map +0 -1
  181. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +0 -11
  182. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +0 -1
  183. package/src/libs/ui/dataviz/src/lib/table/table.component.html +0 -40
  184. package/src/libs/ui/dataviz/src/lib/table/table.component.ts +0 -80
  185. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +0 -40
@@ -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":"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"}
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.6d78023ff",
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
 
@@ -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,
@@ -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 {
@@ -244,20 +244,10 @@ export class DataService {
244
244
 
245
245
  getDataset(link: DatasetOnlineResource): Observable<BaseReader> {
246
246
  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
- }
247
+ const wfsUrlEndpoint = this.proxy.getProxiedUrl(link.url.toString())
248
+ return from(
249
+ openDataset(wfsUrlEndpoint, 'wfs', {
250
+ wfsFeatureType: link.name,
261
251
  })
262
252
  )
263
253
  } 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"
@@ -3,14 +3,13 @@ import { BehaviorSubject, Observable, of } from 'rxjs'
3
3
  import {
4
4
  catchError,
5
5
  finalize,
6
- map,
7
6
  shareReplay,
8
7
  startWith,
9
8
  switchMap,
10
9
  } from 'rxjs/operators'
11
- import { DataItem, FetchError } from '../../../../../../libs/util/data-fetcher/src'
10
+ import { BaseReader, FetchError } from '../../../../../../libs/util/data-fetcher/src'
12
11
  import { DataService } from '../service/data.service'
13
- import { TableComponent, TableItemModel } from '../../../../../../libs/ui/dataviz/src'
12
+ import { DataTableComponent } from '../../../../../../libs/ui/dataviz/src'
14
13
  import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
15
14
  import { TranslateModule, TranslateService } from '@ngx-translate/core'
16
15
  import {
@@ -26,7 +25,7 @@ import { CommonModule } from '@angular/common'
26
25
  changeDetection: ChangeDetectionStrategy.OnPush,
27
26
  imports: [
28
27
  CommonModule,
29
- TableComponent,
28
+ DataTableComponent,
30
29
  LoadingMaskComponent,
31
30
  PopupAlertComponent,
32
31
  TranslateModule,
@@ -45,25 +44,19 @@ export class TableViewComponent {
45
44
  tableData$ = this.currentLink$.pipe(
46
45
  switchMap((link) => {
47
46
  this.error = null
48
- if (!link) return of([] as TableItemModel[])
47
+ if (!link) return of(undefined)
49
48
  this.loading = true
50
- return this.fetchData(link).pipe(
51
- map((items) =>
52
- items.map((item) => ({
53
- id: item.id,
54
- ...item.properties,
55
- }))
56
- ),
49
+ return this.getDatasetReader(link).pipe(
57
50
  catchError((error) => {
58
51
  this.handleError(error)
59
- return of([] as TableItemModel[])
52
+ return of(undefined)
60
53
  }),
61
54
  finalize(() => {
62
55
  this.loading = false
63
56
  })
64
57
  )
65
58
  }),
66
- startWith([] as TableItemModel[]),
59
+ startWith(undefined),
67
60
  shareReplay(1)
68
61
  )
69
62
 
@@ -72,10 +65,8 @@ export class TableViewComponent {
72
65
  private translateService: TranslateService
73
66
  ) {}
74
67
 
75
- fetchData(link: DatasetOnlineResource): Observable<DataItem[]> {
76
- return this.dataService
77
- .getDataset(link)
78
- .pipe(switchMap((dataset) => dataset.read()))
68
+ getDatasetReader(link: DatasetOnlineResource): Observable<BaseReader> {
69
+ return this.dataService.getDataset(link)
79
70
  }
80
71
 
81
72
  onTableSelect(event) {
@@ -4,7 +4,7 @@
4
4
  [thumbnailUrl]="contact.organization?.logoUrl?.href"
5
5
  [fit]="'contain'"
6
6
  ></gn-ui-thumbnail>
7
- <div class="flex flex-col w-full overflow-hidden leading-snug">
7
+ <div class="flex flex-col w-full overflow-hidden leading-snug justify-center">
8
8
  <div class="text-[16px] font-bold text-main" data-test="contactCardName">
9
9
  {{ contact.firstName }} {{ contact.lastName }}
10
10
  </div>
@@ -18,7 +18,7 @@
18
18
 
19
19
  <ng-icon
20
20
  *ngIf="isPlaceWithoutExtent(keyword)"
21
- [title]="'editor.form.placeKeywordWithoutExtent' | translate"
21
+ [title]="'editor.record.form.keywords.place.withoutExtent' | translate"
22
22
  class="badge-warning"
23
23
  name="matWarningAmberOutline"
24
24
  ></ng-icon>
@@ -35,7 +35,10 @@
35
35
  >
36
36
  <ng-icon name="iconoirArrowLeft"></ng-icon>
37
37
  </gn-ui-button>
38
- <span class="font-bold"> {{ externalImportBackLabel }}</span>
38
+ <span class="font-bold" translate
39
+ >dashboard.importRecord.importExternal.title</span
40
+ >
41
+ <span translate>dashboard.importRecord.importExternal.subtitle</span>
39
42
  </div>
40
43
  <gn-ui-url-input
41
44
  (uploadClick)="importRecord($event)"
@@ -84,10 +84,6 @@ export class ImportRecordComponent {
84
84
 
85
85
  sectionDisplayed: ImportMenuPage = 'mainMenu'
86
86
 
87
- externalImportBackLabel = this.translateService.instant(
88
- 'dashboard.importRecord.importExternalLabel'
89
- )
90
-
91
87
  constructor(
92
88
  private router: Router,
93
89
  private translateService: TranslateService,