geonetwork-ui 2.5.0-dev.ee5be4e65 → 2.5.0-dev.f8f8616a0

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 (183) hide show
  1. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
  2. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +8 -8
  3. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -4
  4. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  5. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +2 -2
  6. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +2 -2
  7. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +2 -2
  8. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +2 -2
  9. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
  10. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +7 -23
  11. package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +3 -4
  12. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
  13. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +25 -5
  14. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +10 -7
  15. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +8 -1
  16. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +6 -3
  17. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +1 -1
  18. package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +3 -3
  19. package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
  20. package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
  21. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +37 -2
  22. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +1 -6
  23. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +2 -7
  24. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +14 -4
  25. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +10 -3
  26. package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
  27. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -6
  28. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
  29. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-cache.mjs +12 -0
  30. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +3 -3
  31. package/esm2022/libs/util/data-fetcher/src/lib/readers/base.mjs +1 -1
  32. package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +2 -2
  33. package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +2 -2
  34. package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +2 -2
  35. package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +5 -3
  36. package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +2 -2
  37. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +19 -11
  38. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +13 -9
  39. package/esm2022/translations/de.json +2 -73
  40. package/esm2022/translations/en.json +2 -73
  41. package/esm2022/translations/es.json +1 -72
  42. package/esm2022/translations/fr.json +12 -83
  43. package/esm2022/translations/it.json +19 -89
  44. package/esm2022/translations/nl.json +1 -72
  45. package/esm2022/translations/pt.json +1 -72
  46. package/fesm2022/geonetwork-ui.mjs +291 -816
  47. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  48. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -1
  49. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  50. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -2
  51. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  52. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -1
  53. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  54. package/libs/feature/editor/src/index.d.ts +1 -0
  55. package/libs/feature/editor/src/index.d.ts.map +1 -1
  56. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
  57. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  58. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +1 -3
  59. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +1 -1
  60. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +2 -3
  61. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +1 -1
  62. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +5 -1
  63. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  64. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +3 -2
  65. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  66. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +1 -0
  67. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  68. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
  69. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  70. package/libs/ui/inputs/src/index.d.ts +0 -1
  71. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  72. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +16 -1
  73. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  74. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +27 -28
  75. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  76. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +2 -3
  77. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
  78. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -2
  79. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  80. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -1
  81. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  82. package/libs/ui/widgets/src/index.d.ts +0 -1
  83. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  84. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +8 -9
  85. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
  86. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +2 -2
  87. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  88. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts +8 -0
  89. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts.map +1 -0
  90. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts +2 -2
  91. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts.map +1 -1
  92. package/libs/util/data-fetcher/src/lib/readers/base.d.ts +2 -2
  93. package/libs/util/data-fetcher/src/lib/readers/base.d.ts.map +1 -1
  94. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts +5 -3
  95. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
  96. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +7 -4
  97. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
  98. package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
  99. package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
  100. package/package.json +1 -1
  101. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -1
  102. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +22 -9
  103. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +2 -1
  104. package/src/libs/feature/editor/src/index.ts +1 -0
  105. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
  106. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -13
  107. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -20
  108. package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -1
  109. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +24 -11
  110. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +26 -4
  111. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +71 -60
  112. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +6 -3
  113. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +13 -0
  114. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -0
  115. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +1 -0
  116. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +2 -2
  117. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
  118. package/src/libs/ui/inputs/src/index.ts +0 -1
  119. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +42 -0
  120. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
  121. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +1 -7
  122. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +37 -1
  123. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +8 -2
  124. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +2 -0
  125. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +6 -0
  126. package/src/libs/ui/widgets/src/index.ts +0 -1
  127. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -3
  128. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
  129. package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +14 -0
  130. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +2 -1
  131. package/src/libs/util/data-fetcher/src/lib/readers/base.ts +2 -2
  132. package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +1 -1
  133. package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +1 -1
  134. package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +1 -1
  135. package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +7 -7
  136. package/src/libs/util/data-fetcher/src/lib/readers/json.ts +1 -1
  137. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +34 -11
  138. package/src/libs/util/data-fetcher/src/lib/utils.ts +38 -32
  139. package/translations/de.json +2 -73
  140. package/translations/en.json +2 -73
  141. package/translations/es.json +1 -72
  142. package/translations/fr.json +12 -83
  143. package/translations/it.json +19 -89
  144. package/translations/nl.json +1 -72
  145. package/translations/pt.json +1 -72
  146. package/translations/sk.json +1 -72
  147. package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +0 -78
  148. package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +0 -55
  149. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts +0 -33
  150. package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +0 -1
  151. package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts +0 -21
  152. package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts.map +0 -1
  153. package/src/libs/data-access/datafeeder/src/index.ts +0 -1
  154. package/src/libs/data-access/datafeeder/src/openapi/api/api.ts +0 -11
  155. package/src/libs/data-access/datafeeder/src/openapi/api/config.api.service.ts +0 -168
  156. package/src/libs/data-access/datafeeder/src/openapi/api/dataPublishing.api.service.ts +0 -270
  157. package/src/libs/data-access/datafeeder/src/openapi/api/fileUpload.api.service.ts +0 -734
  158. package/src/libs/data-access/datafeeder/src/openapi/api.module.ts +0 -46
  159. package/src/libs/data-access/datafeeder/src/openapi/configuration.ts +0 -125
  160. package/src/libs/data-access/datafeeder/src/openapi/encoder.ts +0 -20
  161. package/src/libs/data-access/datafeeder/src/openapi/index.ts +0 -5
  162. package/src/libs/data-access/datafeeder/src/openapi/model/analysisStatusEnum.api.model.ts +0 -24
  163. package/src/libs/data-access/datafeeder/src/openapi/model/boundingBox.api.model.ts +0 -20
  164. package/src/libs/data-access/datafeeder/src/openapi/model/cRS.api.model.ts +0 -25
  165. package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +0 -45
  166. package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishRequest.api.model.ts +0 -39
  167. package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishingStatus.api.model.ts +0 -50
  168. package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +0 -39
  169. package/src/libs/data-access/datafeeder/src/openapi/model/models.ts +0 -13
  170. package/src/libs/data-access/datafeeder/src/openapi/model/property.api.model.ts +0 -17
  171. package/src/libs/data-access/datafeeder/src/openapi/model/publishJobStatus.api.model.ts +0 -33
  172. package/src/libs/data-access/datafeeder/src/openapi/model/publishRequest.api.model.ts +0 -16
  173. package/src/libs/data-access/datafeeder/src/openapi/model/publishStatusEnum.api.model.ts +0 -20
  174. package/src/libs/data-access/datafeeder/src/openapi/model/publishStepEnum.api.model.ts +0 -42
  175. package/src/libs/data-access/datafeeder/src/openapi/model/uploadJobStatus.api.model.ts +0 -33
  176. package/src/libs/data-access/datafeeder/src/openapi/variables.ts +0 -9
  177. package/src/libs/data-access/datafeeder/src/spec.yaml +0 -537
  178. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.css +0 -36
  179. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.html +0 -23
  180. package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +0 -81
  181. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.css +0 -3
  182. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.html +0 -13
  183. package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +0 -55
@@ -1 +1 @@
1
- {"version":3,"file":"data-fetcher.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/data-fetcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAc,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GACA,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,QAAQ,EAAE,CAAC,CAOrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAEvE"}
1
+ {"version":3,"file":"data-fetcher.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/data-fetcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAc,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAGnD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,EACD,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,UAAU,CAAC,CAoCrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,GAAG,EACb,WAAW,UAAO,GACjB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAOrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAEvE"}
@@ -0,0 +1,8 @@
1
+ import { BaseReader } from './base';
2
+ export declare abstract class BaseCacheReader extends BaseReader {
3
+ protected url: string;
4
+ protected cacheActive: boolean;
5
+ constructor(url: string, cacheActive?: boolean);
6
+ setCacheActive(value: boolean): void;
7
+ }
8
+ //# sourceMappingURL=base-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-cache.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,8BAAsB,eAAgB,SAAQ,UAAU;IAEpD,SAAS,CAAC,GAAG,EAAE,MAAM;IACrB,SAAS,CAAC,WAAW;gBADX,GAAG,EAAE,MAAM,EACX,WAAW,UAAO;IAK9B,cAAc,CAAC,KAAK,EAAE,OAAO;CAG9B"}
@@ -1,10 +1,10 @@
1
- import { BaseReader } from './base';
2
1
  import { DataItem, DatasetInfo, PropertyInfo } from '../model';
2
+ import { BaseCacheReader } from './base-cache';
3
3
  type ParseResult = {
4
4
  items: DataItem[];
5
5
  properties: PropertyInfo[];
6
6
  };
7
- export declare class BaseFileReader extends BaseReader {
7
+ export declare class BaseFileReader extends BaseCacheReader {
8
8
  private parseResult_;
9
9
  protected getData(): Promise<ParseResult>;
10
10
  load(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"base-file.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAI9D,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAAA;AAED,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAO,CAAC,YAAY,CAAsB;IAE1C,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;IAEK,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CA8BlC"}
1
+ {"version":3,"file":"base-file.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAAA;AAED,qBAAa,cAAe,SAAQ,eAAe;IACjD,OAAO,CAAC,YAAY,CAAsB;IAE1C,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;IAEK,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CA8BlC"}
@@ -2,8 +2,8 @@ import { DataItem, DatasetInfo, FieldAggregation, FieldFilter, FieldGroupBy, Fie
2
2
  export declare class BaseReader {
3
3
  protected url: string;
4
4
  protected selected: FieldName[];
5
- protected groupedBy: FieldGroupBy[];
6
- protected aggregations: FieldAggregation[];
5
+ groupedBy: FieldGroupBy[];
6
+ aggregations: FieldAggregation[];
7
7
  protected filter: FieldFilter;
8
8
  protected sort: FieldSort[];
9
9
  protected startIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACb,MAAM,UAAU,CAAA;AAEjB,qBAAa,UAAU;IAST,SAAS,CAAC,GAAG,EAAE,MAAM;IARjC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAO;IACtC,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,CAAO;IAC1C,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE,CAAO;IACjD,SAAS,CAAC,MAAM,EAAE,WAAW,CAAO;IACpC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAO;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAO;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAO;gBAER,GAAG,EAAE,MAAM;IAEjC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAE/B;IAED,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI3B,SAAS,IAAI,IAAI;IASjB,MAAM,CAAC,GAAG,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI;IAM5C,OAAO,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAKzC,SAAS,CAAC,GAAG,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIpD,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIhC,OAAO,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAIzC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAK/C"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACb,MAAM,UAAU,CAAA;AAEjB,qBAAa,UAAU;IAST,SAAS,CAAC,GAAG,EAAE,MAAM;IARjC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAO;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAO;IAChC,YAAY,EAAE,gBAAgB,EAAE,CAAO;IAC9C,SAAS,CAAC,MAAM,EAAE,WAAW,CAAO;IACpC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAO;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAO;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAO;gBAER,GAAG,EAAE,MAAM;IAEjC,IAAI;IAIJ,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAE/B;IAED,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI3B,SAAS,IAAI,IAAI;IASjB,MAAM,CAAC,GAAG,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI;IAM5C,OAAO,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;IAKzC,SAAS,CAAC,GAAG,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIpD,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIhC,OAAO,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAIzC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAK/C"}
@@ -6,9 +6,11 @@ export declare function parseGml(text: string, namespace: string, version: strin
6
6
  properties: PropertyInfo[];
7
7
  };
8
8
  export declare class GmlReader extends BaseFileReader {
9
- namespace: string;
10
- version: WfsVersion;
11
- constructor(url: any, namespace: any, version: any);
9
+ protected url: string;
10
+ protected namespace: string;
11
+ protected version: WfsVersion;
12
+ protected cacheActive: boolean;
13
+ constructor(url: string, namespace: string, version: WfsVersion, cacheActive?: boolean);
12
14
  protected getData(): Promise<{
13
15
  items: DataItem[];
14
16
  properties: PropertyInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"gml.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/gml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAuBA;AAED,qBAAa,SAAU,SAAQ,cAAc;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;gBAEP,GAAG,KAAA,EAAE,SAAS,KAAA,EAAE,OAAO,KAAA;IAMnC,SAAS,CAAC,OAAO;eArCV,QAAQ,EAAE;oBACL,YAAY,EAAE;;CAyC3B"}
1
+ {"version":3,"file":"gml.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/gml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CAuBA;AAED,qBAAa,SAAU,SAAQ,cAAc;IAEzC,SAAS,CAAC,GAAG,EAAE,MAAM;IACrB,SAAS,CAAC,SAAS,EAAE,MAAM;IAC3B,SAAS,CAAC,OAAO,EAAE,UAAU;IAC7B,SAAS,CAAC,WAAW;gBAHX,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,EACnB,WAAW,UAAO;IAK9B,SAAS,CAAC,OAAO;eArCV,QAAQ,EAAE;oBACL,YAAY,EAAE;;CAyC3B"}
@@ -1,20 +1,23 @@
1
1
  import { WfsEndpoint, WfsVersion } from '@camptocamp/ogc-client';
2
2
  import { DataItem, DatasetInfo, PropertyInfo } from '../model';
3
- import { BaseReader } from './base';
4
3
  import { GmlReader } from './gml';
5
4
  import { GeojsonReader } from './geojson';
6
- export declare class WfsReader extends BaseReader {
5
+ import { BaseCacheReader } from './base-cache';
6
+ export declare class WfsReader extends BaseCacheReader {
7
7
  endpoint: WfsEndpoint;
8
8
  featureTypeName: string;
9
9
  version: WfsVersion;
10
- constructor(url: string, wfsEndpoint: WfsEndpoint, featureTypeName: string);
10
+ constructor(url: string, wfsEndpoint: WfsEndpoint, featureTypeName: string, cacheActive?: boolean);
11
11
  get properties(): Promise<PropertyInfo[]>;
12
12
  get info(): Promise<DatasetInfo>;
13
13
  static createReader(wfsUrlEndpoint: string, featureTypeName?: string): Promise<GeojsonReader | GmlReader | WfsReader>;
14
- protected getData(): Promise<{
14
+ getData(aggregation?: any, groupedBy?: any): Promise<{
15
15
  items: DataItem[];
16
16
  properties: PropertyInfo[];
17
+ } | {
18
+ items: any;
17
19
  }>;
20
+ getQueryData(): Promise<any>;
18
21
  load(): void;
19
22
  read(): Promise<DataItem[]>;
20
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wfs.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/wfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAA;AAGvD,qBAAa,SAAU,SAAQ,UAAU;IACvC,QAAQ,EAAE,WAAW,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,UAAU,CAAA;gBAEP,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM;IAO1E,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBxC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;WAEY,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;IA4C1E,SAAS,CAAC,OAAO;;;;IAkCjB,IAAI;IAIE,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGlC"}
1
+ {"version":3,"file":"wfs.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/data-fetcher/src/lib/readers/wfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,qBAAa,SAAU,SAAQ,eAAe;IAC5C,QAAQ,EAAE,WAAW,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,UAAU,CAAA;gBAGjB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,OAAO;IAQvB,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBxC;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/B;WAEY,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;IA4C7D,OAAO,CAAC,WAAW,CAAC,KAAA,EAAE,SAAS,CAAC,KAAA;;;;;;IAiChC,YAAY;IAkBzB,IAAI;IAIE,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGlC"}
@@ -1,8 +1,8 @@
1
1
  import { DataItem, DatasetHeaders, PropertyInfo, SupportedType } from './model';
2
2
  export declare function inferDatasetType(url: string, typeHint?: SupportedType): Promise<SupportedType>;
3
3
  export declare function fetchHeaders(url: string): Promise<DatasetHeaders>;
4
- export declare function fetchDataAsText(url: string): Promise<string>;
5
- export declare function fetchDataAsArrayBuffer(url: string): Promise<ArrayBuffer>;
4
+ export declare function fetchDataAsText(url: string, cacheActive: boolean): Promise<string>;
5
+ export declare function fetchDataAsArrayBuffer(url: string, cacheActive: boolean): Promise<ArrayBuffer>;
6
6
  export declare function tryParseDate(input: unknown): Date | null;
7
7
  export declare function tryParseNumber(input: string): number | null;
8
8
  export declare function jsonToGeojsonFeature(object: {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EAEd,YAAY,EACZ,aAAa,EAEd,MAAM,SAAS,CAAA;AAMhB,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,CAsBxB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAWjE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB5D;AACD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAmBxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAkBxD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,QAAQ,CAsB7E;AAqBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,UAAQ,GACjB;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B,CA0DA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EAAE,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAgB3B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/data-fetcher/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EAEd,YAAY,EACZ,aAAa,EAEd,MAAM,SAAS,CAAA;AAMhB,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,CAsBxB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAWjE;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC,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.ee5be4e65",
3
+ "version": "2.5.0-dev.f8f8616a0",
4
4
  "engines": {
5
5
  "node": ">=20"
6
6
  },
@@ -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
@@ -242,8 +242,11 @@ export class DataService {
242
242
  }))
243
243
  }
244
244
 
245
- readAsGeoJson(link: DatasetOnlineResource): Observable<FeatureCollection> {
246
- return this.getDataset(link).pipe(
245
+ readAsGeoJson(
246
+ link: DatasetOnlineResource,
247
+ cacheActive: boolean
248
+ ): Observable<FeatureCollection> {
249
+ return this.getDataset(link, cacheActive).pipe(
247
250
  switchMap((dataset) => dataset.selectAll().read()),
248
251
  map((features) => ({
249
252
  type: 'FeatureCollection',
@@ -252,13 +255,21 @@ export class DataService {
252
255
  )
253
256
  }
254
257
 
255
- getDataset(link: DatasetOnlineResource): Observable<BaseReader> {
258
+ getDataset(
259
+ link: DatasetOnlineResource,
260
+ cacheActive: boolean
261
+ ): Observable<BaseReader> {
256
262
  if (link.type === 'service' && link.accessServiceProtocol === 'wfs') {
257
263
  const wfsUrlEndpoint = this.proxy.getProxiedUrl(link.url.toString())
258
264
  return from(
259
- openDataset(wfsUrlEndpoint, 'wfs', {
260
- wfsFeatureType: link.name,
261
- })
265
+ openDataset(
266
+ wfsUrlEndpoint,
267
+ 'wfs',
268
+ {
269
+ wfsFeatureType: link.name,
270
+ },
271
+ cacheActive
272
+ )
262
273
  )
263
274
  } else if (link.type === 'download') {
264
275
  const linkProxifiedUrl = this.proxy.getProxiedUrl(link.url.toString())
@@ -267,7 +278,9 @@ export class DataService {
267
278
  SupportedTypes.indexOf(format as any) > -1
268
279
  ? (format as SupportedType)
269
280
  : undefined
270
- return from(openDataset(linkProxifiedUrl, supportedType)).pipe()
281
+ return from(
282
+ openDataset(linkProxifiedUrl, supportedType, undefined, cacheActive)
283
+ ).pipe()
271
284
  } else if (
272
285
  link.type === 'service' &&
273
286
  link.accessServiceProtocol === 'esriRest'
@@ -276,7 +289,7 @@ export class DataService {
276
289
  link.url.toString(),
277
290
  'geojson'
278
291
  )
279
- return from(openDataset(url, 'geojson')).pipe()
292
+ return from(openDataset(url, 'geojson', undefined, cacheActive)).pipe()
280
293
  } else if (
281
294
  link.type === 'service' &&
282
295
  link.accessServiceProtocol === 'ogcFeatures'
@@ -284,7 +297,7 @@ export class DataService {
284
297
  return from(this.getDownloadUrlsFromOgcApi(link.url.href)).pipe(
285
298
  switchMap((collectionInfo) => {
286
299
  const geojsonUrl = collectionInfo.jsonDownloadLink
287
- return openDataset(geojsonUrl, 'geojson')
300
+ return openDataset(geojsonUrl, 'geojson', undefined, cacheActive)
288
301
  }),
289
302
  tap((url) => {
290
303
  if (url === null) {
@@ -33,6 +33,7 @@ import { CommonModule } from '@angular/common'
33
33
  standalone: true,
34
34
  })
35
35
  export class TableViewComponent {
36
+ @Input() cacheActive = true
36
37
  @Input() set link(value: DatasetOnlineResource) {
37
38
  this.currentLink$.next(value)
38
39
  }
@@ -66,7 +67,7 @@ export class TableViewComponent {
66
67
  ) {}
67
68
 
68
69
  getDatasetReader(link: DatasetOnlineResource): Observable<BaseReader> {
69
- return this.dataService.getDataset(link)
70
+ return this.dataService.getDataset(link, this.cacheActive)
70
71
  }
71
72
 
72
73
  onTableSelect(event) {
@@ -10,3 +10,4 @@ export * from './lib/components/record-form/record-form.component'
10
10
  export * from './lib/components/wizard/wizard.component'
11
11
  export * from './lib/components/wizard-field/wizard-field.component'
12
12
  export * from './lib/components/wizard-summarize/wizard-summarize.component'
13
+ export * from './lib/components/record-form/form-field'
@@ -9,3 +9,4 @@ export * from './form-field-object/form-field-object.component'
9
9
  export * from './form-field-array/form-field-array.component'
10
10
  export * from './form-field-spatial-extent/form-field-spatial-extent.component'
11
11
  export * from './form-field.component'
12
+ export * from './form-field-constraints-shortcuts/constraints.utils'
@@ -16,19 +16,6 @@
16
16
  placeholder=""
17
17
  ></gn-ui-text-input>
18
18
  </div>
19
- <div
20
- class="flex-1 w-11/12"
21
- *ngIf="wizardFieldType.CHIPS === wizardFieldConfig.type"
22
- >
23
- <gn-ui-chips-input
24
- #chips
25
- [selectedItems]="wizardFieldData"
26
- placeholder=""
27
- [id]="wizardFieldConfig.id"
28
- [url]="wizardFieldConfig.options.url"
29
- [loadOnce]="wizardFieldConfig.options.loadOnce"
30
- ></gn-ui-chips-input>
31
- </div>
32
19
  <div
33
20
  class="h-32 w-11/12"
34
21
  *ngIf="wizardFieldType.TEXT_AREA === wizardFieldConfig.type"
@@ -23,7 +23,6 @@ import { WizardFieldModel } from '../../models/wizard-field.model'
23
23
  import { WizardFieldType } from '../../models/wizard-field.type'
24
24
  import { WizardService } from '../../services/wizard.service'
25
25
  import {
26
- ChipsInputComponent,
27
26
  DropdownSelectorComponent,
28
27
  TextAreaComponent,
29
28
  TextInputComponent,
@@ -74,7 +73,6 @@ export class WizardFieldComponent implements AfterViewInit, OnDestroy {
74
73
  @Input() wizardFieldConfig: WizardFieldModel
75
74
 
76
75
  @ViewChild('searchText') searchText: TextInputComponent
77
- @ViewChild('chips') chips: ChipsInputComponent
78
76
  @ViewChild('textArea') textArea: TextAreaComponent
79
77
  @ViewChild('dropdown') dropdown: DropdownSelectorComponent
80
78
 
@@ -96,9 +94,6 @@ export class WizardFieldComponent implements AfterViewInit, OnDestroy {
96
94
  case WizardFieldType.TEXT: {
97
95
  return data || ''
98
96
  }
99
- case WizardFieldType.CHIPS: {
100
- return data ? JSON.parse(data) : []
101
- }
102
97
  case WizardFieldType.TEXT_AREA: {
103
98
  return data || ''
104
99
  }
@@ -131,10 +126,6 @@ export class WizardFieldComponent implements AfterViewInit, OnDestroy {
131
126
  this.initializeTextInputListener()
132
127
  break
133
128
  }
134
- case WizardFieldType.CHIPS: {
135
- this.initializeChipsListener()
136
- break
137
- }
138
129
  case WizardFieldType.TEXT_AREA: {
139
130
  this.initializeTextAreaListener()
140
131
  return
@@ -161,17 +152,6 @@ export class WizardFieldComponent implements AfterViewInit, OnDestroy {
161
152
  )
162
153
  }
163
154
 
164
- private initializeChipsListener() {
165
- this.subs.add(
166
- this.chips.itemsChange.subscribe((items) => {
167
- this.wizardService.onWizardWizardFieldDataChanged(
168
- this.wizardFieldConfig.id,
169
- JSON.stringify(items)
170
- )
171
- })
172
- )
173
- }
174
-
175
155
  private initializeTextAreaListener() {
176
156
  this.subs.add(
177
157
  this.textArea.valueChange.subscribe((value) => {
@@ -1,7 +1,6 @@
1
1
  export enum WizardFieldType {
2
2
  TEXT,
3
3
  TEXT_AREA,
4
- CHIPS,
5
4
  DATA_PICKER,
6
5
  DROPDOWN,
7
6
  }
@@ -8,15 +8,28 @@
8
8
  [choices]="choices"
9
9
  (selectValue)="selectLink($event)"
10
10
  ></gn-ui-dropdown-selector>
11
- <div class="relative h-[460px]">
12
- <gn-ui-table-view
13
- *ngIf="mode === 'table'"
14
- [link]="selectedLink$ | async"
15
- ></gn-ui-table-view>
16
- <gn-ui-chart-view
17
- *ngIf="mode === 'chart'"
18
- (chartConfig$)="setChartConfig($event)"
19
- [link]="selectedLink$ | async"
20
- ></gn-ui-chart-view>
21
- </div>
11
+ <ng-container *ngIf="hidePreview; else dataView">
12
+ <gn-ui-popup-alert
13
+ type="warning"
14
+ icon="matErrorOutlineOutline"
15
+ class="block h-12 p-1"
16
+ >
17
+ <span translate>record.feature.limit</span>
18
+ </gn-ui-popup-alert>
19
+ </ng-container>
20
+ <ng-template #dataView>
21
+ <div class="relative h-[460px]">
22
+ <gn-ui-table-view
23
+ *ngIf="mode === 'table'"
24
+ [cacheActive]="cacheActive$ | async"
25
+ [link]="selectedLink$ | async"
26
+ ></gn-ui-table-view>
27
+ <gn-ui-chart-view
28
+ *ngIf="mode === 'chart'"
29
+ (chartConfig$)="setChartConfig($event)"
30
+ [cacheActive]="cacheActive$ | async"
31
+ [link]="selectedLink$ | async"
32
+ ></gn-ui-chart-view>
33
+ </div>
34
+ </ng-template>
22
35
  </div>
@@ -5,8 +5,8 @@ import {
5
5
  Output,
6
6
  } from '@angular/core'
7
7
  import { getLinkLabel, getLinkPriority } from '../../../../../../libs/util/shared/src'
8
- import { BehaviorSubject, combineLatest } from 'rxjs'
9
- import { map, tap } from 'rxjs/operators'
8
+ import { BehaviorSubject, combineLatest, of } from 'rxjs'
9
+ import { catchError, finalize, map, switchMap, tap } from 'rxjs/operators'
10
10
  import { MdViewFacade } from '../state'
11
11
  import { DatavizConfigurationModel } from '../../../../../../libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model'
12
12
  import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
@@ -17,6 +17,7 @@ import {
17
17
  } from '../../../../../../libs/feature/dataviz/src'
18
18
  import { CommonModule } from '@angular/common'
19
19
  import { TranslateModule } from '@ngx-translate/core'
20
+ import { PopupAlertComponent } from '../../../../../../libs/ui/widgets/src'
20
21
 
21
22
  @Component({
22
23
  selector: 'gn-ui-data-view',
@@ -30,12 +31,21 @@ import { TranslateModule } from '@ngx-translate/core'
30
31
  TableViewComponent,
31
32
  TranslateModule,
32
33
  ChartViewComponent,
34
+ PopupAlertComponent,
33
35
  ],
34
36
  })
35
37
  export class DataViewComponent {
36
38
  @Input() mode: 'table' | 'chart'
37
39
  @Input() displaySource = true
40
+ @Input() set exceedsLimit(value: boolean) {
41
+ this.excludeWfs$.next(value)
42
+ }
38
43
  @Output() chartConfig$ = new BehaviorSubject<DatavizConfigurationModel>(null)
44
+ cacheActive$ = this.mdViewFacade.isHighUpdateFrequency$.pipe(
45
+ map((highF) => !highF)
46
+ )
47
+ hidePreview = false
48
+ excludeWfs$ = new BehaviorSubject(false)
39
49
  compatibleDataLinks$ = combineLatest([
40
50
  this.mdViewFacade.dataLinks$,
41
51
  this.mdViewFacade.geoDataLinks$,
@@ -49,7 +59,7 @@ export class DataViewComponent {
49
59
  dropdownChoices$ = this.compatibleDataLinks$.pipe(
50
60
  tap((links) => {
51
61
  if (links.indexOf(this.selectedLink$.value) === -1) {
52
- this.selectedLink$.next(links[0])
62
+ this.selectLink(JSON.stringify(links[0]))
53
63
  }
54
64
  }),
55
65
  map((links) =>
@@ -70,6 +80,18 @@ export class DataViewComponent {
70
80
  selectLink(linkAsString: string) {
71
81
  const link: DatasetOnlineResource = JSON.parse(linkAsString)
72
82
  link.url = new URL(link.url)
73
- this.selectedLink$.next(link)
83
+ this.excludeWfs$
84
+ .pipe(
85
+ tap((excludeWfs) => {
86
+ this.hidePreview =
87
+ link['accessServiceProtocol'] === 'wfs' &&
88
+ excludeWfs &&
89
+ this.mode === 'chart'
90
+ ? true
91
+ : false
92
+ this.selectedLink$.next(link)
93
+ })
94
+ )
95
+ .subscribe()
74
96
  }
75
97
  }
@@ -14,80 +14,91 @@
14
14
  >
15
15
  </gn-ui-external-viewer-button>
16
16
  </div>
17
- <div
18
- class="relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden"
19
- >
20
- <gn-ui-map-container
21
- #mapContainer
22
- [context]="mapContext$ | async"
23
- (featuresClick)="onMapFeatureSelect($event)"
24
- ></gn-ui-map-container>
25
- <div
26
- class="top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56"
27
- [class.hidden]="!selection"
17
+ <ng-container *ngIf="hidePreview; else mapView">
18
+ <gn-ui-popup-alert
19
+ type="warning"
20
+ icon="matErrorOutlineOutline"
21
+ class="block h-12 p-1"
28
22
  >
29
- <gn-ui-button
30
- type="light"
31
- (buttonClick)="resetSelection()"
32
- style="
33
- --gn-ui-button-padding: 0px;
34
- --gn-ui-button-width: 24px;
35
- --gn-ui-button-height: 24px;
36
- "
37
- extraClass="absolute right-[0.5em] ml-[8px] mr-[10px]"
38
- >
39
- <ng-icon name="matClose" class="align-middle text-sm"></ng-icon>
40
- </gn-ui-button>
41
- <gn-ui-feature-detail [feature]="selection"></gn-ui-feature-detail>
42
- </div>
43
-
23
+ <span translate>record.feature.limit</span>
24
+ </gn-ui-popup-alert>
25
+ </ng-container>
26
+ <ng-template #mapView>
44
27
  <div
45
- class="top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56"
46
- [ngClass]="{ 'right-[1em]': !selection, 'right-[16em]': selection }"
47
- [hidden]="!showLegend || !legendExists"
28
+ class="relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden"
48
29
  >
49
- <div class="flex justify-between items-center mb-2">
50
- <div class="text-primary font-bold">Legend</div>
30
+ <gn-ui-map-container
31
+ #mapContainer
32
+ [context]="mapContext$ | async"
33
+ (featuresClick)="onMapFeatureSelect($event)"
34
+ ></gn-ui-map-container>
35
+ <div
36
+ class="top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56"
37
+ [class.hidden]="!selection"
38
+ >
51
39
  <gn-ui-button
52
40
  type="light"
53
- (buttonClick)="toggleLegend()"
41
+ (buttonClick)="resetSelection()"
54
42
  style="
55
43
  --gn-ui-button-padding: 0px;
56
44
  --gn-ui-button-width: 24px;
57
45
  --gn-ui-button-height: 24px;
58
46
  "
59
- extraClass="ml-[8px] mr-[10px]"
47
+ extraClass="absolute right-[0.5em] ml-[8px] mr-[10px]"
60
48
  >
61
49
  <ng-icon name="matClose" class="align-middle text-sm"></ng-icon>
62
50
  </gn-ui-button>
51
+ <gn-ui-feature-detail [feature]="selection"></gn-ui-feature-detail>
63
52
  </div>
64
- <gn-ui-map-legend
65
- [context]="mapContext$ | async"
66
- (legendStatusChange)="onLegendStatusChange($event)"
67
- ></gn-ui-map-legend>
68
- </div>
69
53
 
70
- <gn-ui-button
71
- *ngIf="!showLegend && legendExists && !selection"
72
- type="outline"
73
- (buttonClick)="toggleLegend()"
74
- extraClass="absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white"
75
- >
76
- Legend
77
- </gn-ui-button>
54
+ <div
55
+ class="top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56"
56
+ [ngClass]="{ 'right-[1em]': !selection, 'right-[16em]': selection }"
57
+ [hidden]="!showLegend || !legendExists"
58
+ >
59
+ <div class="flex justify-between items-center mb-2">
60
+ <div class="text-primary font-bold">Legend</div>
61
+ <gn-ui-button
62
+ type="light"
63
+ (buttonClick)="toggleLegend()"
64
+ style="
65
+ --gn-ui-button-padding: 0px;
66
+ --gn-ui-button-width: 24px;
67
+ --gn-ui-button-height: 24px;
68
+ "
69
+ extraClass="ml-[8px] mr-[10px]"
70
+ >
71
+ <ng-icon name="matClose" class="align-middle text-sm"></ng-icon>
72
+ </gn-ui-button>
73
+ </div>
74
+ <gn-ui-map-legend
75
+ [context]="mapContext$ | async"
76
+ (legendStatusChange)="onLegendStatusChange($event)"
77
+ ></gn-ui-map-legend>
78
+ </div>
78
79
 
79
- <gn-ui-loading-mask
80
- *ngIf="loading"
81
- class="absolute inset-0"
82
- [message]="'map.loading.data' | translate"
83
- ></gn-ui-loading-mask>
84
- <gn-ui-popup-alert
85
- *ngIf="error"
86
- type="warning"
87
- icon="matErrorOutlineOutline"
88
- class="absolute m-2 inset-0"
89
- >
90
- <span translate>{{ error }}</span>
91
- </gn-ui-popup-alert>
92
- </div>
80
+ <gn-ui-button
81
+ *ngIf="!showLegend && legendExists && !selection"
82
+ type="outline"
83
+ (buttonClick)="toggleLegend()"
84
+ extraClass="absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white"
85
+ >
86
+ Legend
87
+ </gn-ui-button>
88
+
89
+ <gn-ui-loading-mask
90
+ *ngIf="loading"
91
+ class="absolute inset-0"
92
+ [message]="'map.loading.data' | translate"
93
+ ></gn-ui-loading-mask>
94
+ <gn-ui-popup-alert
95
+ *ngIf="error"
96
+ type="warning"
97
+ icon="matErrorOutlineOutline"
98
+ class="absolute m-2 inset-0"
99
+ >
100
+ <span translate>{{ error }}</span>
101
+ </gn-ui-popup-alert>
102
+ </div>
103
+ </ng-template>
93
104
  </div>