geonetwork-ui 2.5.0-dev.77e75b46a → 2.5.0-dev.8be73f10b

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 (291) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +11 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +50 -32
  4. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +23 -3
  5. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  6. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  7. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
  8. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +18 -16
  9. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +24 -14
  10. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +16 -18
  11. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
  12. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +2 -2
  13. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +2 -2
  14. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +2 -2
  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 -2
  16. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +2 -2
  17. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +7 -23
  18. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
  19. package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +3 -4
  20. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
  21. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +25 -5
  22. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +6 -7
  23. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +10 -7
  24. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +4 -1
  25. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -2
  26. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +9 -1
  27. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +19 -1
  28. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +6 -1
  29. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +6 -3
  30. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +1 -1
  31. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
  32. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
  33. package/esm2022/libs/ui/dataviz/src/index.mjs +3 -3
  34. package/esm2022/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.mjs +51 -0
  35. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +133 -0
  36. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.data.source.mjs +24 -0
  37. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.mjs +82 -0
  38. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  39. package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +78 -0
  40. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
  41. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +2 -1
  42. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
  43. package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
  44. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +43 -3
  45. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +1 -6
  46. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +14 -4
  47. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +10 -3
  48. package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
  49. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -6
  50. package/esm2022/libs/util/data-fetcher/src/index.mjs +3 -1
  51. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
  52. package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +7 -3
  53. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-cache.mjs +12 -0
  54. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +3 -3
  55. package/esm2022/libs/util/data-fetcher/src/lib/readers/base.mjs +1 -1
  56. package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +2 -2
  57. package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +2 -2
  58. package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +2 -2
  59. package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +5 -3
  60. package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +2 -2
  61. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +35 -9
  62. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +14 -10
  63. package/esm2022/translations/de.json +10 -75
  64. package/esm2022/translations/en.json +10 -75
  65. package/esm2022/translations/es.json +9 -74
  66. package/esm2022/translations/fr.json +22 -87
  67. package/esm2022/translations/it.json +27 -91
  68. package/esm2022/translations/nl.json +9 -74
  69. package/esm2022/translations/pt.json +9 -74
  70. package/fesm2022/geonetwork-ui.mjs +911 -975
  71. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  72. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  73. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -0
  74. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  75. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +3 -1
  76. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  77. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -1
  78. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  79. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -0
  80. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  81. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -1
  82. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  83. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -1
  84. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  85. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +7 -9
  86. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  87. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -2
  88. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  89. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +5 -7
  90. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  91. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  92. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  93. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +1 -3
  94. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +1 -1
  95. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +2 -3
  96. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +1 -1
  97. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +5 -1
  98. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  99. package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -2
  100. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  101. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +3 -2
  102. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  103. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +16 -1
  104. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  105. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +5 -0
  106. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  107. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +2 -0
  108. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  109. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -1
  110. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  111. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  112. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  113. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
  114. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  115. package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
  116. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  117. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  118. package/libs/ui/dataviz/src/index.d.ts +2 -2
  119. package/libs/ui/dataviz/src/index.d.ts.map +1 -1
  120. package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts +14 -0
  121. package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts.map +1 -0
  122. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +45 -0
  123. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -0
  124. package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts +12 -0
  125. package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts.map +1 -0
  126. package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts +10 -0
  127. package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts.map +1 -0
  128. package/libs/ui/elements/src/index.d.ts +1 -0
  129. package/libs/ui/elements/src/index.d.ts.map +1 -1
  130. package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts +16 -0
  131. package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts.map +1 -0
  132. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  133. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  134. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  135. package/libs/ui/inputs/src/index.d.ts +0 -1
  136. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  137. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +16 -1
  138. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  139. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +27 -28
  140. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  141. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -2
  142. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  143. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -1
  144. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  145. package/libs/ui/widgets/src/index.d.ts +0 -1
  146. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  147. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +8 -9
  148. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  149. package/libs/util/data-fetcher/src/index.d.ts +3 -1
  150. package/libs/util/data-fetcher/src/index.d.ts.map +1 -1
  151. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +2 -2
  152. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  153. package/libs/util/data-fetcher/src/lib/model.d.ts +1 -1
  154. package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
  155. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts +8 -0
  156. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts.map +1 -0
  157. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts +2 -2
  158. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts.map +1 -1
  159. package/libs/util/data-fetcher/src/lib/readers/base.d.ts +2 -2
  160. package/libs/util/data-fetcher/src/lib/readers/base.d.ts.map +1 -1
  161. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts +5 -3
  162. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
  163. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +7 -4
  164. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
  165. package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
  166. package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
  167. package/package.json +1 -1
  168. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
  169. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
  170. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +55 -32
  171. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +42 -7
  172. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -1
  173. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
  174. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +75 -0
  175. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -1
  176. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +3 -3
  177. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +17 -15
  178. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +43 -20
  179. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +4 -3
  180. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +10 -18
  181. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
  182. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +1 -0
  183. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
  184. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -13
  185. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -20
  186. package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
  187. package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -1
  188. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +24 -11
  189. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +26 -4
  190. package/src/libs/feature/record/src/lib/feature-record.module.ts +6 -4
  191. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +71 -60
  192. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +6 -3
  193. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +16 -0
  194. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +21 -2
  195. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +15 -0
  196. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +30 -1
  197. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +12 -0
  198. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -0
  199. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +1 -0
  200. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
  201. package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
  202. package/src/libs/ui/dataviz/src/index.ts +2 -2
  203. package/src/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.ts +52 -0
  204. package/src/libs/ui/dataviz/src/lib/{table/table.component.css → data-table/data-table.component.css} +4 -0
  205. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +67 -0
  206. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +173 -0
  207. package/src/libs/ui/dataviz/src/lib/data-table/data-table.data.source.ts +33 -0
  208. package/src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts +84 -0
  209. package/src/libs/ui/elements/src/index.ts +1 -0
  210. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.css +0 -0
  211. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +25 -0
  212. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +70 -0
  213. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
  214. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -0
  215. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
  216. package/src/libs/ui/inputs/src/index.ts +0 -1
  217. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +48 -0
  218. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  219. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +37 -1
  220. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +8 -2
  221. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +2 -0
  222. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +6 -0
  223. package/src/libs/ui/widgets/src/index.ts +0 -1
  224. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -3
  225. package/src/libs/util/data-fetcher/src/index.ts +3 -0
  226. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
  227. package/src/libs/util/data-fetcher/src/lib/model.ts +6 -2
  228. package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +14 -0
  229. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +2 -1
  230. package/src/libs/util/data-fetcher/src/lib/readers/base.ts +2 -2
  231. package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +1 -1
  232. package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +1 -1
  233. package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +1 -1
  234. package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +7 -7
  235. package/src/libs/util/data-fetcher/src/lib/readers/json.ts +1 -1
  236. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +53 -8
  237. package/src/libs/util/data-fetcher/src/lib/utils.ts +38 -32
  238. package/translations/de.json +10 -75
  239. package/translations/en.json +10 -75
  240. package/translations/es.json +9 -74
  241. package/translations/fr.json +22 -87
  242. package/translations/it.json +27 -91
  243. package/translations/nl.json +9 -74
  244. package/translations/pt.json +9 -74
  245. package/translations/sk.json +9 -74
  246. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +0 -61
  247. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +0 -40
  248. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +0 -78
  249. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +0 -55
  250. package/libs/ui/dataviz/src/lib/table/table.component.d.ts +0 -29
  251. package/libs/ui/dataviz/src/lib/table/table.component.d.ts.map +0 -1
  252. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +0 -11
  253. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +0 -1
  254. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts +0 -33
  255. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +0 -1
  256. package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts +0 -21
  257. package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts.map +0 -1
  258. package/src/libs/data-access/datafeeder/src/index.ts +0 -1
  259. package/src/libs/data-access/datafeeder/src/openapi/api/api.ts +0 -11
  260. package/src/libs/data-access/datafeeder/src/openapi/api/config.api.service.ts +0 -168
  261. package/src/libs/data-access/datafeeder/src/openapi/api/dataPublishing.api.service.ts +0 -270
  262. package/src/libs/data-access/datafeeder/src/openapi/api/fileUpload.api.service.ts +0 -734
  263. package/src/libs/data-access/datafeeder/src/openapi/api.module.ts +0 -46
  264. package/src/libs/data-access/datafeeder/src/openapi/configuration.ts +0 -125
  265. package/src/libs/data-access/datafeeder/src/openapi/encoder.ts +0 -20
  266. package/src/libs/data-access/datafeeder/src/openapi/index.ts +0 -5
  267. package/src/libs/data-access/datafeeder/src/openapi/model/analysisStatusEnum.api.model.ts +0 -24
  268. package/src/libs/data-access/datafeeder/src/openapi/model/boundingBox.api.model.ts +0 -20
  269. package/src/libs/data-access/datafeeder/src/openapi/model/cRS.api.model.ts +0 -25
  270. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +0 -45
  271. package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishRequest.api.model.ts +0 -39
  272. package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishingStatus.api.model.ts +0 -50
  273. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +0 -39
  274. package/src/libs/data-access/datafeeder/src/openapi/model/models.ts +0 -13
  275. package/src/libs/data-access/datafeeder/src/openapi/model/property.api.model.ts +0 -17
  276. package/src/libs/data-access/datafeeder/src/openapi/model/publishJobStatus.api.model.ts +0 -33
  277. package/src/libs/data-access/datafeeder/src/openapi/model/publishRequest.api.model.ts +0 -16
  278. package/src/libs/data-access/datafeeder/src/openapi/model/publishStatusEnum.api.model.ts +0 -20
  279. package/src/libs/data-access/datafeeder/src/openapi/model/publishStepEnum.api.model.ts +0 -42
  280. package/src/libs/data-access/datafeeder/src/openapi/model/uploadJobStatus.api.model.ts +0 -33
  281. package/src/libs/data-access/datafeeder/src/openapi/variables.ts +0 -9
  282. package/src/libs/data-access/datafeeder/src/spec.yaml +0 -537
  283. package/src/libs/ui/dataviz/src/lib/table/table.component.html +0 -40
  284. package/src/libs/ui/dataviz/src/lib/table/table.component.ts +0 -80
  285. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +0 -40
  286. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.css +0 -36
  287. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.html +0 -23
  288. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +0 -81
  289. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.css +0 -3
  290. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.html +0 -13
  291. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +0 -55
@@ -5,7 +5,7 @@ export declare function openDataset(url: string, typeHint?: SupportedType, optio
5
5
  namespace?: string;
6
6
  wfsVersion?: WfsVersion;
7
7
  wfsFeatureType?: string;
8
- }): Promise<BaseReader>;
8
+ }, cacheActive?: boolean): Promise<BaseReader>;
9
9
  /**
10
10
  * This fetches the full dataset at the given URL and parses it according to its mime type.
11
11
  * All items in the dataset are converted to GeoJSON features, even if they do not bear any spatial geometry.
@@ -15,7 +15,7 @@ export declare function openDataset(url: string, typeHint?: SupportedType, optio
15
15
  * 2. otherwise, look for a Content-Type header in the response with a supported mime type
16
16
  * 3. if no valid mime type was found, look for an explicit file extension in the url (.csv, .geojson etc.)
17
17
  */
18
- export declare function readDataset(url: string, typeHint?: SupportedType, options?: any): Promise<DataItem[]>;
18
+ export declare function readDataset(url: string, typeHint?: SupportedType, options?: any, cacheActive?: boolean): Promise<DataItem[]>;
19
19
  /**
20
20
  * This fetches only the header of the dataset at the given URL, giving info on size, mime-type and last update if available.
21
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"data-fetcher.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/data-fetcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAc,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GACA,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,QAAQ,EAAE,CAAC,CAOrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAEvE"}
1
+ {"version":3,"file":"data-fetcher.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/data-fetcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAc,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,EACD,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,UAAU,CAAC,CAoCrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,GAAG,EACb,WAAW,UAAO,GACjB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAOrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAEvE"}
@@ -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;
@@ -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,8 @@
1
+ import { BaseReader } from './base';
2
+ export declare abstract class BaseCacheReader extends BaseReader {
3
+ protected url: string;
4
+ protected cacheActive: boolean;
5
+ constructor(url: string, cacheActive?: boolean);
6
+ setCacheActive(value: boolean): void;
7
+ }
8
+ //# sourceMappingURL=base-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-cache.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,8BAAsB,eAAgB,SAAQ,UAAU;IAEpD,SAAS,CAAC,GAAG,EAAE,MAAM;IACrB,SAAS,CAAC,WAAW;gBADX,GAAG,EAAE,MAAM,EACX,WAAW,UAAO;IAK9B,cAAc,CAAC,KAAK,EAAE,OAAO;CAG9B"}
@@ -1,10 +1,10 @@
1
- import { BaseReader } from './base';
2
1
  import { DataItem, DatasetInfo, PropertyInfo } from '../model';
2
+ import { BaseCacheReader } from './base-cache';
3
3
  type ParseResult = {
4
4
  items: DataItem[];
5
5
  properties: PropertyInfo[];
6
6
  };
7
- export declare class BaseFileReader extends BaseReader {
7
+ export declare class BaseFileReader extends BaseCacheReader {
8
8
  private parseResult_;
9
9
  protected getData(): Promise<ParseResult>;
10
10
  load(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"base-file.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAI9D,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAAA;AAED,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAO,CAAC,YAAY,CAAsB;IAE1C,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;IAEK,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CA8BlC"}
1
+ {"version":3,"file":"base-file.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAAA;AAED,qBAAa,cAAe,SAAQ,eAAe;IACjD,OAAO,CAAC,YAAY,CAAsB;IAE1C,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;IAEK,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CA8BlC"}
@@ -2,8 +2,8 @@ import { DataItem, DatasetInfo, FieldAggregation, FieldFilter, FieldGroupBy, Fie
2
2
  export declare class BaseReader {
3
3
  protected url: string;
4
4
  protected selected: FieldName[];
5
- protected groupedBy: FieldGroupBy[];
6
- protected aggregations: FieldAggregation[];
5
+ groupedBy: FieldGroupBy[];
6
+ aggregations: FieldAggregation[];
7
7
  protected filter: FieldFilter;
8
8
  protected sort: FieldSort[];
9
9
  protected startIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACb,MAAM,UAAU,CAAA;AAEjB,qBAAa,UAAU;IAST,SAAS,CAAC,GAAG,EAAE,MAAM;IARjC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAO;IACtC,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,CAAO;IAC1C,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE,CAAO;IACjD,SAAS,CAAC,MAAM,EAAE,WAAW,CAAO;IACpC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAO;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAO;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAO;gBAER,GAAG,EAAE,MAAM;IAEjC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAE/B;IAED,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI3B,SAAS,IAAI,IAAI;IASjB,MAAM,CAAC,GAAG,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI;IAM5C,OAAO,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAKzC,SAAS,CAAC,GAAG,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIpD,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIhC,OAAO,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAIzC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAK/C"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACb,MAAM,UAAU,CAAA;AAEjB,qBAAa,UAAU;IAST,SAAS,CAAC,GAAG,EAAE,MAAM;IARjC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAO;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAO;IAChC,YAAY,EAAE,gBAAgB,EAAE,CAAO;IAC9C,SAAS,CAAC,MAAM,EAAE,WAAW,CAAO;IACpC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAO;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAO;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAO;gBAER,GAAG,EAAE,MAAM;IAEjC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAE/B;IAED,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI3B,SAAS,IAAI,IAAI;IASjB,MAAM,CAAC,GAAG,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI;IAM5C,OAAO,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAKzC,SAAS,CAAC,GAAG,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIpD,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIhC,OAAO,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAIzC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAK/C"}
@@ -6,9 +6,11 @@ export declare function parseGml(text: string, namespace: string, version: strin
6
6
  properties: PropertyInfo[];
7
7
  };
8
8
  export declare class GmlReader extends BaseFileReader {
9
- namespace: string;
10
- version: WfsVersion;
11
- constructor(url: any, namespace: any, version: any);
9
+ protected url: string;
10
+ protected namespace: string;
11
+ protected version: WfsVersion;
12
+ protected cacheActive: boolean;
13
+ constructor(url: string, namespace: string, version: WfsVersion, cacheActive?: boolean);
12
14
  protected getData(): Promise<{
13
15
  items: DataItem[];
14
16
  properties: PropertyInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"gml.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/gml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAuBA;AAED,qBAAa,SAAU,SAAQ,cAAc;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;gBAEP,GAAG,KAAA,EAAE,SAAS,KAAA,EAAE,OAAO,KAAA;IAMnC,SAAS,CAAC,OAAO;eArCV,QAAQ,EAAE;oBACL,YAAY,EAAE;;CAyC3B"}
1
+ {"version":3,"file":"gml.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/gml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAuBA;AAED,qBAAa,SAAU,SAAQ,cAAc;IAEzC,SAAS,CAAC,GAAG,EAAE,MAAM;IACrB,SAAS,CAAC,SAAS,EAAE,MAAM;IAC3B,SAAS,CAAC,OAAO,EAAE,UAAU;IAC7B,SAAS,CAAC,WAAW;gBAHX,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,EACnB,WAAW,UAAO;IAK9B,SAAS,CAAC,OAAO;eArCV,QAAQ,EAAE;oBACL,YAAY,EAAE;;CAyC3B"}
@@ -1,20 +1,23 @@
1
1
  import { WfsEndpoint, WfsVersion } from '@camptocamp/ogc-client';
2
2
  import { DataItem, DatasetInfo, PropertyInfo } from '../model';
3
- import { BaseReader } from './base';
4
3
  import { GmlReader } from './gml';
5
4
  import { GeojsonReader } from './geojson';
6
- export declare class WfsReader extends BaseReader {
5
+ import { BaseCacheReader } from './base-cache';
6
+ export declare class WfsReader extends BaseCacheReader {
7
7
  endpoint: WfsEndpoint;
8
8
  featureTypeName: string;
9
9
  version: WfsVersion;
10
- constructor(url: string, wfsEndpoint: WfsEndpoint, featureTypeName: string);
10
+ constructor(url: string, wfsEndpoint: WfsEndpoint, featureTypeName: string, cacheActive?: boolean);
11
11
  get properties(): Promise<PropertyInfo[]>;
12
12
  get info(): Promise<DatasetInfo>;
13
13
  static createReader(wfsUrlEndpoint: string, featureTypeName?: string): Promise<GeojsonReader | GmlReader | WfsReader>;
14
- protected getData(): Promise<{
14
+ getData(aggregation?: any, groupedBy?: any): Promise<{
15
15
  items: DataItem[];
16
16
  properties: PropertyInfo[];
17
+ } | {
18
+ items: any;
17
19
  }>;
20
+ getQueryData(): Promise<any>;
18
21
  load(): void;
19
22
  read(): Promise<DataItem[]>;
20
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wfs.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/wfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAA;AAEvD,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,CAExC;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;;;;IA4BjB,IAAI;IAIE,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGlC"}
1
+ {"version":3,"file":"wfs.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/wfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,qBAAa,SAAU,SAAQ,eAAe;IAC5C,QAAQ,EAAE,WAAW,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,UAAU,CAAA;gBAGjB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,OAAO;IAQvB,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBxC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;WAEY,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;IA4C7D,OAAO,CAAC,WAAW,CAAC,KAAA,EAAE,SAAS,CAAC,KAAA;;;;;;IAiChC,YAAY;IAkBzB,IAAI;IAIE,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGlC"}
@@ -1,8 +1,8 @@
1
1
  import { DataItem, DatasetHeaders, PropertyInfo, SupportedType } from './model';
2
2
  export declare function inferDatasetType(url: string, typeHint?: SupportedType): Promise<SupportedType>;
3
3
  export declare function fetchHeaders(url: string): Promise<DatasetHeaders>;
4
- export declare function fetchDataAsText(url: string): Promise<string>;
5
- export declare function fetchDataAsArrayBuffer(url: string): Promise<ArrayBuffer>;
4
+ export declare function fetchDataAsText(url: string, cacheActive: boolean): Promise<string>;
5
+ export declare function fetchDataAsArrayBuffer(url: string, cacheActive: boolean): Promise<ArrayBuffer>;
6
6
  export declare function tryParseDate(input: unknown): Date | null;
7
7
  export declare function tryParseNumber(input: string): number | null;
8
8
  export declare function jsonToGeojsonFeature(object: {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EAEd,YAAY,EACZ,aAAa,EAEd,MAAM,SAAS,CAAA;AAMhB,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,CAsBxB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAWjE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB5D;AACD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAmBxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAkBxD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,QAAQ,CAsB7E;AAqBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,UAAQ,GACjB;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CA0DA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAgB3B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EAEd,YAAY,EACZ,aAAa,EAEd,MAAM,SAAS,CAAA;AAMhB,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,CAsBxB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAWjE;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AACD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,WAAW,CAAC,CAmBtB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAkBxD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,QAAQ,CAsB7E;AAqBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,UAAQ,GACjB;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CA0DA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAgB3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.5.0-dev.77e75b46a",
3
+ "version": "2.5.0-dev.8be73f10b",
4
4
  "engines": {
5
5
  "node": ">=20"
6
6
  },
@@ -277,6 +277,31 @@ export class Gn4FieldMapper {
277
277
  },
278
278
  output
279
279
  ),
280
+ featureTypes: (output, source) =>
281
+ this.addExtra(
282
+ {
283
+ featureTypes: selectField(source, 'featureTypes'),
284
+ },
285
+ output
286
+ ),
287
+ related: (output, source) => {
288
+ const fcatSource = selectField(
289
+ getFirstValue(
290
+ selectField(
291
+ <SourceWithUnknownProps>selectField(source, 'related'),
292
+ 'fcats'
293
+ )
294
+ ),
295
+ '_source'
296
+ )
297
+ const featureCatalogIdentifier = selectField(
298
+ <SourceWithUnknownProps>fcatSource,
299
+ 'uuid'
300
+ )
301
+ return featureCatalogIdentifier
302
+ ? this.addExtra({ featureCatalogIdentifier }, output)
303
+ : output
304
+ },
280
305
  isPublishedToAll: (output, source) =>
281
306
  this.addExtra(
282
307
  {
@@ -203,3 +203,7 @@ export interface Gn4Record {
203
203
  guestdownload?: boolean
204
204
  selected?: boolean
205
205
  }
206
+
207
+ export interface Gn4RecordRelated {
208
+ fcats?: Gn4Record[]
209
+ }
@@ -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
  }
@@ -282,6 +297,25 @@ export class ElasticsearchService {
282
297
  return queryParts.length > 0 ? (queryParts as FilterQuery) : undefined
283
298
  }
284
299
 
300
+ private mustNotFilters(): Record<string, unknown>[] {
301
+ return [
302
+ {
303
+ ...this.queryFilterOnValues('resourceType', [
304
+ 'service',
305
+ 'map',
306
+ 'map/static',
307
+ 'mapDigital',
308
+ ]),
309
+ },
310
+ {
311
+ query_string: {
312
+ query:
313
+ 'resourceType:featureCatalog AND !resourceType:dataset AND !cl_level.key:dataset',
314
+ },
315
+ },
316
+ ]
317
+ }
318
+
285
319
  private buildPayloadQuery(
286
320
  { any, ...fieldSearchFilters }: SearchFilters,
287
321
  configFilters: SearchFilters,
@@ -289,14 +323,7 @@ export class ElasticsearchService {
289
323
  geometry?: Geometry
290
324
  ) {
291
325
  const must = [] as Record<string, unknown>[]
292
- const must_not = {
293
- ...this.queryFilterOnValues('resourceType', [
294
- 'service',
295
- 'map',
296
- 'map/static',
297
- 'mapDigital',
298
- ]),
299
- }
326
+ const must_not = this.mustNotFilters()
300
327
  const should = [] as Record<string, unknown>[]
301
328
  const filter = [this.queryFilterOnValues('isTemplate', 'n')] as Record<
302
329
  string,
@@ -398,14 +425,8 @@ export class ElasticsearchService {
398
425
  },
399
426
  },
400
427
  ],
401
- must_not: {
402
- ...this.queryFilterOnValues('resourceType', [
403
- 'service',
404
- 'map',
405
- 'map/static',
406
- 'mapDigital',
407
- ]),
408
- },
428
+
429
+ must_not: this.mustNotFilters(),
409
430
  },
410
431
  },
411
432
  _source: ['resourceTitleObject', 'uuid'],
@@ -518,13 +539,15 @@ export class ElasticsearchService {
518
539
  switch (aggregation.type) {
519
540
  case 'filters':
520
541
  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
- }, {}),
542
+ filters: {
543
+ filters: Object.keys(aggregation.filters).reduce((prev, curr) => {
544
+ const filter = aggregation.filters[curr]
545
+ return {
546
+ ...prev,
547
+ [curr]: this.filtersToQuery(filter)[0],
548
+ }
549
+ }, {}),
550
+ },
528
551
  }
529
552
  case 'terms':
530
553
  return {
@@ -12,7 +12,10 @@ import {
12
12
  Iso19139Converter,
13
13
  } from '../../../../../../libs/api/metadata-converter/src'
14
14
  import { PublicationVersionError } from '../../../../../../libs/common/domain/src/lib/model/error'
15
- import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record'
15
+ import {
16
+ CatalogRecord,
17
+ DatasetFeatureCatalog,
18
+ } from '../../../../../../libs/common/domain/src/lib/model/record'
16
19
  import {
17
20
  Aggregations,
18
21
  AggregationsParams,
@@ -27,6 +30,7 @@ import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain
27
30
  import {
28
31
  RecordsApiService,
29
32
  SearchApiService,
33
+ FeatureResponseApiModel,
30
34
  } from '../../../../../../libs/data-access/gn4/src'
31
35
  import {
32
36
  combineLatest,
@@ -124,7 +128,7 @@ export class Gn4Repository implements RecordsRepositoryInterface {
124
128
  return this.gn4SearchApi
125
129
  .search(
126
130
  'bucket',
127
- null,
131
+ ['fcats'],
128
132
  JSON.stringify(
129
133
  this.gn4SearchHelper.getMetadataByIdPayload(uniqueIdentifier)
130
134
  )
@@ -137,17 +141,48 @@ export class Gn4Repository implements RecordsRepositoryInterface {
137
141
  )
138
142
  }
139
143
 
144
+ getFeatureCatalog(
145
+ record: CatalogRecord,
146
+ visited: Set<string> = new Set() // prevent looping
147
+ ): Observable<DatasetFeatureCatalog | null> {
148
+ if (
149
+ record.extras &&
150
+ record.extras['featureTypes'] &&
151
+ record.extras['featureTypes'][0]?.attributeTable &&
152
+ Array.isArray(record.extras['featureTypes'][0].attributeTable)
153
+ ) {
154
+ return of({
155
+ attributes: record.extras['featureTypes'][0]?.attributeTable?.map(
156
+ (attr) => ({
157
+ name: attr.name,
158
+ title: attr.definition,
159
+ })
160
+ ),
161
+ } as DatasetFeatureCatalog)
162
+ }
163
+
164
+ const featureCatalogIdentifier = record.extras[
165
+ 'featureCatalogIdentifier'
166
+ ] as string
167
+ if (featureCatalogIdentifier && !visited.has(featureCatalogIdentifier)) {
168
+ visited.add(featureCatalogIdentifier)
169
+ return this.getRecord(featureCatalogIdentifier).pipe(
170
+ switchMap((record) =>
171
+ record ? this.getFeatureCatalog(record, visited) : of(null)
172
+ )
173
+ )
174
+ }
175
+
176
+ return of(null)
177
+ }
178
+
140
179
  getSimilarRecords(similarTo: CatalogRecord): Observable<CatalogRecord[]> {
141
180
  return this.gn4SearchApi
142
181
  .search(
143
182
  'bucket',
144
183
  null,
145
184
  JSON.stringify(
146
- this.gn4SearchHelper.getRelatedRecordPayload(
147
- similarTo.title,
148
- similarTo.uniqueIdentifier,
149
- 3
150
- )
185
+ this.gn4SearchHelper.getRelatedRecordPayload(similarTo, 3)
151
186
  )
152
187
  )
153
188
  .pipe(
@@ -226,7 +226,9 @@ export interface DatasetRecord extends BaseRecord {
226
226
  temporalExtents: Array<DatasetTemporalExtent>
227
227
  spatialRepresentation?: SpatialRepresentationType
228
228
  }
229
-
229
+ export type DatasetFeatureCatalog = {
230
+ attributes: Array<{ name: string; title: string }>
231
+ }
230
232
  export interface ServiceEndpoint {
231
233
  endpointUrl: URL
232
234
  protocol: string
@@ -6,12 +6,15 @@ import {
6
6
  SearchParams,
7
7
  SearchResults,
8
8
  } from '../model/search'
9
- import { CatalogRecord } from '../model/record'
9
+ import { CatalogRecord, DatasetFeatureCatalog } from '../model/record'
10
10
 
11
11
  export abstract class RecordsRepositoryInterface {
12
12
  abstract search(params: SearchParams): Observable<SearchResults>
13
13
  abstract getMatchesCount(filters: FieldFilters): Observable<number>
14
14
  abstract getRecord(uniqueIdentifier: string): Observable<CatalogRecord | null>
15
+ abstract getFeatureCatalog(
16
+ record: CatalogRecord
17
+ ): Observable<DatasetFeatureCatalog | null>
15
18
  abstract aggregate(params: AggregationsParams): Observable<Aggregations>
16
19
  abstract getSimilarRecords(
17
20
  similarTo: CatalogRecord
@@ -160,6 +160,38 @@ As such, **it is not very interesting at all.**`,
160
160
  extras: {
161
161
  isPublishedToAll: true,
162
162
  edit: true,
163
+ featureTypes: [
164
+ {
165
+ attributeTable: [
166
+ {
167
+ code: 'OBJECTID',
168
+ name: 'OBJECTID',
169
+ link: '',
170
+ definition: 'Object identifier',
171
+ type: 'OID',
172
+ },
173
+ {
174
+ code: 'NOM',
175
+ name: 'Nom',
176
+ link: '',
177
+ definition: 'Nom de la rue',
178
+ type: 'String (48)',
179
+ },
180
+ {
181
+ code: 'RUE',
182
+ name: 'Rue',
183
+ link: '',
184
+ definition: '',
185
+ type: 'String (50)',
186
+ },
187
+ ],
188
+ code: '',
189
+ aliases: '',
190
+ typeName: "Catalogue d'attributs",
191
+ definition: '',
192
+ isAbstract: 'false',
193
+ },
194
+ ],
163
195
  },
164
196
  },
165
197
  {
@@ -312,6 +344,49 @@ export const simpleDatasetRecordFixture = (): DatasetRecord => ({
312
344
  translations: {},
313
345
  })
314
346
 
347
+ export const simpleDatasetRecordWithFcatsFixture = (): DatasetRecord => ({
348
+ uniqueIdentifier: 'my-dataset-with-fcats',
349
+ extras: {
350
+ featureCatalogIdentifier: 'feature-catalog-identifier',
351
+ },
352
+ kind: 'dataset',
353
+ otherLanguages: [],
354
+ defaultLanguage: 'en',
355
+ recordUpdated: new Date('2022-02-01T14:12:00.000Z'),
356
+ resourceCreated: new Date('2022-09-01T12:18:19.000Z'),
357
+ resourceUpdated: new Date('2022-12-04T14:12:00.000Z'),
358
+ status: 'ongoing',
359
+ title: 'A very interesting dataset with a related feature catalog',
360
+ abstract: `This dataset has been established for testing purposes.`,
361
+ ownerOrganization: { name: 'MyOrganization', translations: {} },
362
+ contacts: [
363
+ {
364
+ email: 'bob@org.net',
365
+ position: 'developer',
366
+ organization: { name: 'MyOrganization', translations: {} },
367
+ role: 'point_of_contact',
368
+ firstName: 'Bob',
369
+ lastName: 'TheGreat',
370
+ },
371
+ ],
372
+ contactsForResource: [],
373
+ keywords: [],
374
+ topics: ['testData'],
375
+ licenses: [],
376
+ legalConstraints: [],
377
+ securityConstraints: [],
378
+ otherConstraints: [],
379
+ lineage:
380
+ 'This record was edited manually to test the feature catalog parsing',
381
+ spatialRepresentation: 'grid',
382
+ overviews: [],
383
+ spatialExtents: [],
384
+ temporalExtents: [],
385
+ onlineResources: [],
386
+ updateFrequency: { per: 'month', updatedTimes: 3 },
387
+ translations: {},
388
+ })
389
+
315
390
  export const simpleDatasetRecordAsXmlFixture =
316
391
  (): string => `<?xml version="1.0" encoding="UTF-8"?>
317
392
  <mdb:MD_Metadata xmlns:mdb="http://standards.iso.org/iso/19115/-3/mdb/2.0" xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0" xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0" xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/2.0" xmlns:mri="http://standards.iso.org/iso/19115/-3/mri/1.0" xmlns:mco="http://standards.iso.org/iso/19115/-3/mco/1.0" xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mmi="http://standards.iso.org/iso/19115/-3/mmi/1.0" xmlns:mrd="http://standards.iso.org/iso/19115/-3/mrd/1.0" xmlns:mrl="http://standards.iso.org/iso/19115/-3/mrl/2.0">
@@ -2,7 +2,9 @@ import {
2
2
  ChangeDetectionStrategy,
3
3
  ChangeDetectorRef,
4
4
  Component,
5
+ Inject,
5
6
  Input,
7
+ Optional,
6
8
  Output,
7
9
  } from '@angular/core'
8
10
  import { marker } from '@biesbjerg/ngx-translate-extract-marker'
@@ -65,6 +67,7 @@ marker('chart.aggregation.count')
65
67
  standalone: true,
66
68
  })
67
69
  export class ChartViewComponent {
70
+ @Input() cacheActive = true
68
71
  @Input() set link(value: DatasetOnlineResource) {
69
72
  this.currentLink$.next(value)
70
73
  }
@@ -134,7 +137,7 @@ export class ChartViewComponent {
134
137
  switchMap((link) => {
135
138
  this.error = null
136
139
  this.loading = true
137
- return this.dataService.getDataset(link).pipe(
140
+ return this.dataService.getDataset(link, this.cacheActive).pipe(
138
141
  catchError((error) => {
139
142
  this.handleError(error)
140
143
  return EMPTY