geonetwork-ui 2.7.4-dev.edb6871ab → 2.7.5-dev.0280196b6

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.
@@ -27,7 +27,7 @@ export declare class DataService {
27
27
  getDownloadLinksFromWfs(wfsLink: DatasetServiceDistribution): Observable<DatasetOnlineResource[]>;
28
28
  getDownloadLinksFromOgcApiFeatures(ogcApiLink: DatasetServiceDistribution): Promise<DatasetOnlineResource[]>;
29
29
  getDownloadUrlsFromOgcApi(url: string): Promise<OgcApiCollectionInfo>;
30
- getItemsFromOgcApi(url: string): Promise<OgcApiRecord[]>;
30
+ getItemsFromOgcApi(url: string, limit?: number): Promise<OgcApiRecord[]>;
31
31
  getGeodataLinksFromTms(tmsLink: DatasetServiceDistribution, keepOriginalLink?: boolean): Promise<DatasetServiceDistribution[]>;
32
32
  getDownloadLinksFromEsriRest(esriRestLink: DatasetServiceDistribution): DatasetOnlineResource[];
33
33
  readAsGeoJson(link: DatasetOnlineResource, cacheActive: boolean): Observable<FeatureCollection>;
@@ -1 +1 @@
1
- {"version":3,"file":"data.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/dataviz/src/lib/service/data.service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EAEpB,YAAY,EACZ,WAAW,EACX,UAAU,EAEX,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,UAAU,EAKX,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAIL,YAAY,EACb,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAQ,UAAU,EAAc,MAAM,MAAM,CAAA;AAEnD,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wFAAwF,CAAA;;AAe3H,UAAU,eAAe;IACvB,GAAG,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,CAAA;CACvE;AAED,qBAGa,WAAW;IACV,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAEvC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IA2BvD,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,UAAU,CAAC,eAAe,CAAC;IAkD9B,kBAAkB,CAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,UAAU,CAAC,MAAM,CAAC;IAerB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMlE,uBAAuB,CACrB,OAAO,EAAE,0BAA0B,GAClC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IA6BhC,kCAAkC,CACtC,UAAU,EAAE,0BAA0B,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAiB7B,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAWrE,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAaxD,sBAAsB,CAC1B,OAAO,EAAE,0BAA0B,EACnC,gBAAgB,UAAQ,GACvB,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAqCxC,4BAA4B,CAC1B,YAAY,EAAE,0BAA0B,GACvC,qBAAqB,EAAE;IAU1B,aAAa,CACX,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,OAAO,GACnB,UAAU,CAAC,iBAAiB,CAAC;IAUhC,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAQnD,UAAU,CACR,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,OAAO,GACnB,UAAU,CAAC,UAAU,CAAC;yCAjQd,WAAW;6CAAX,WAAW;CAmTvB"}
1
+ {"version":3,"file":"data.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/dataviz/src/lib/service/data.service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EAEpB,YAAY,EACZ,WAAW,EACX,UAAU,EAEX,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,UAAU,EAKX,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAIL,YAAY,EACb,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAQ,UAAU,EAAc,MAAM,MAAM,CAAA;AAEnD,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wFAAwF,CAAA;;AAgB3H,UAAU,eAAe;IACvB,GAAG,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,CAAA;CACvE;AAED,qBAGa,WAAW;IACV,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAEvC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IA2BvD,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,UAAU,CAAC,eAAe,CAAC;IAkD9B,kBAAkB,CAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,UAAU,CAAC,MAAM,CAAC;IAerB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMlE,uBAAuB,CACrB,OAAO,EAAE,0BAA0B,GAClC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IA6BhC,kCAAkC,CACtC,UAAU,EAAE,0BAA0B,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAiB7B,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAWrE,kBAAkB,CACtB,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,EAAE,CAAC;IAapB,sBAAsB,CAC1B,OAAO,EAAE,0BAA0B,EACnC,gBAAgB,UAAQ,GACvB,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAqCxC,4BAA4B,CAC1B,YAAY,EAAE,0BAA0B,GACvC,qBAAqB,EAAE;IAU1B,aAAa,CACX,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,OAAO,GACnB,UAAU,CAAC,iBAAiB,CAAC;IAUhC,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAQnD,UAAU,CACR,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,OAAO,GACnB,UAAU,CAAC,UAAU,CAAC;yCApQd,WAAW;6CAAX,WAAW;CAmUvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"gn-ui-version.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/shared/src/lib/gn-ui-version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,QAAsB,CAAA;AAExD,eAAO,MAAM,sBAAsB,QAGJ,CAAA"}
1
+ {"version":3,"file":"gn-ui-version.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/shared/src/lib/gn-ui-version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,QAAsB,CAAA;AAExD,eAAO,MAAM,sBAAsB,QAIN,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.7.4-dev.edb6871ab",
3
+ "version": "2.7.5-dev.0280196b6",
4
4
  "engines": {
5
5
  "node": ">=20"
6
6
  },
@@ -36,6 +36,7 @@ marker('dataset.error.forbidden')
36
36
  marker('wfs.unreachable.unknown')
37
37
  marker('wfs.featuretype.notfound')
38
38
  marker('wfs.geojsongml.notsupported')
39
+ marker('ogc.geojson.notsupported')
39
40
  marker('ogc.unreachable.unknown')
40
41
  marker('dataset.error.network')
41
42
  marker('dataset.error.http')
@@ -220,12 +221,15 @@ export class DataService {
220
221
  })
221
222
  }
222
223
 
223
- async getItemsFromOgcApi(url: string): Promise<OgcApiRecord[]> {
224
+ async getItemsFromOgcApi(
225
+ url: string,
226
+ limit?: number
227
+ ): Promise<OgcApiRecord[]> {
224
228
  const endpoint = new OgcApiEndpoint(url)
225
229
  return await endpoint.featureCollections
226
230
  .then((collections) => {
227
231
  return collections.length
228
- ? endpoint.getCollectionItems(collections[0])
232
+ ? endpoint.getCollectionItems(collections[0], limit)
229
233
  : null
230
234
  })
231
235
  .catch(() => {
@@ -347,13 +351,26 @@ export class DataService {
347
351
  ) {
348
352
  return from(this.getDownloadUrlsFromOgcApi(link.url.href)).pipe(
349
353
  switchMap((collectionInfo) => {
350
- const geojsonUrl = collectionInfo.jsonDownloadLink
351
- return openDataset(geojsonUrl, 'geojson', undefined, cacheActive)
352
- }),
353
- tap((url) => {
354
- if (url === null) {
355
- throw new Error('wfs.geojsongml.notsupported')
354
+ const isMimeTypeJson = (mimeType: string): boolean => {
355
+ return mimeType.toLowerCase().indexOf('json') > -1
356
356
  }
357
+ const geojsonUrl =
358
+ collectionInfo.bulkDownloadLinks[
359
+ Object.keys(collectionInfo.bulkDownloadLinks).find((mimeType) =>
360
+ isMimeTypeJson(mimeType)
361
+ )
362
+ ]
363
+ if (!geojsonUrl) {
364
+ return throwError(() => 'ogc.geojson.notsupported')
365
+ }
366
+ const urlWithoutLimit = new URL(geojsonUrl)
367
+ urlWithoutLimit.searchParams.delete('limit')
368
+ return openDataset(
369
+ urlWithoutLimit.toString(),
370
+ 'geojson',
371
+ undefined,
372
+ cacheActive
373
+ )
357
374
  })
358
375
  )
359
376
  }
@@ -137,7 +137,7 @@ export class MdViewFacade {
137
137
  link.accessServiceProtocol === 'ogcFeatures'
138
138
  ) {
139
139
  return from(
140
- this.dataService.getItemsFromOgcApi(link.url.href)
140
+ this.dataService.getItemsFromOgcApi(link.url.href, 1)
141
141
  ).pipe(
142
142
  map((collectionRecords: OgcApiRecord[]) => {
143
143
  return collectionRecords &&
@@ -2,7 +2,8 @@ import packageJson from '../../../../../package.json'
2
2
 
3
3
  export const GEONETWORK_UI_VERSION = packageJson.version
4
4
 
5
- export const GEONETWORK_UI_TAG_NAME =
6
- GEONETWORK_UI_VERSION.split('-')[1] === 'dev'
7
- ? '2.7.x'
8
- : `v${packageJson.version}`
5
+ export const GEONETWORK_UI_TAG_NAME = GEONETWORK_UI_VERSION.split(
6
+ '-'
7
+ )[1]?.startsWith('dev')
8
+ ? '2.7.x'
9
+ : `v${packageJson.version}`
@@ -382,6 +382,7 @@
382
382
  "multiselect.filter.placeholder": "Suche",
383
383
  "nav.back": "Zurück",
384
384
  "navbar.mobile.menuTitle": "Schnellzugriff",
385
+ "ogc.geojson.notsupported": "Dieser OGC API-Dienst unterstützt das GeoJSON-Format nicht.",
385
386
  "ogc.unreachable.unknown": "Der Dienst konnte nicht erreicht werden",
386
387
  "organisation.filter.placeholder": "Ergebnisse filtern",
387
388
  "organisation.sort.sortBy": "Sortieren nach:",
@@ -383,6 +383,7 @@
383
383
  "multiselect.filter.placeholder": "Search",
384
384
  "nav.back": "Back",
385
385
  "navbar.mobile.menuTitle": "Quick access",
386
+ "ogc.geojson.notsupported": "This OGC API does not support the GeoJSON format",
386
387
  "ogc.unreachable.unknown": "The service could not be reached",
387
388
  "organisation.filter.placeholder": "Filter results",
388
389
  "organisation.sort.sortBy": "Sort by:",
@@ -382,6 +382,7 @@
382
382
  "multiselect.filter.placeholder": "",
383
383
  "nav.back": "",
384
384
  "navbar.mobile.menuTitle": "Acceso rápido",
385
+ "ogc.geojson.notsupported": "",
385
386
  "ogc.unreachable.unknown": "",
386
387
  "organisation.filter.placeholder": "",
387
388
  "organisation.sort.sortBy": "",
@@ -382,6 +382,7 @@
382
382
  "multiselect.filter.placeholder": "Rechercher",
383
383
  "nav.back": "Retour",
384
384
  "navbar.mobile.menuTitle": "Navigation rapide",
385
+ "ogc.geojson.notsupported": "Le service OGC API ne supporte pas le format GeoJSON",
385
386
  "ogc.unreachable.unknown": "Le service n'est pas accessible",
386
387
  "organisation.filter.placeholder": "Filtrer les résultats",
387
388
  "organisation.sort.sortBy": "Trier par :",
@@ -382,6 +382,7 @@
382
382
  "multiselect.filter.placeholder": "Cerca",
383
383
  "nav.back": "Indietro",
384
384
  "navbar.mobile.menuTitle": "Accesso rapido",
385
+ "ogc.geojson.notsupported": "Il servizio OGC API non supporta il formato GeoJSON.",
385
386
  "ogc.unreachable.unknown": "Il servizio non è accessibile",
386
387
  "organisation.filter.placeholder": "Filtra i risultati",
387
388
  "organisation.sort.sortBy": "Ordina per:",
@@ -382,6 +382,7 @@
382
382
  "multiselect.filter.placeholder": "",
383
383
  "nav.back": "",
384
384
  "navbar.mobile.menuTitle": "",
385
+ "ogc.geojson.notsupported": "",
385
386
  "ogc.unreachable.unknown": "",
386
387
  "organisation.filter.placeholder": "",
387
388
  "organisation.sort.sortBy": "",
@@ -382,6 +382,7 @@
382
382
  "multiselect.filter.placeholder": "",
383
383
  "nav.back": "",
384
384
  "navbar.mobile.menuTitle": "",
385
+ "ogc.geojson.notsupported": "",
385
386
  "ogc.unreachable.unknown": "",
386
387
  "organisation.filter.placeholder": "",
387
388
  "organisation.sort.sortBy": "",
@@ -382,6 +382,7 @@
382
382
  "multiselect.filter.placeholder": "Hľadať",
383
383
  "nav.back": "Späť",
384
384
  "navbar.mobile.menuTitle": "",
385
+ "ogc.geojson.notsupported": "",
385
386
  "ogc.unreachable.unknown": "So službou sa nedalo spojiť",
386
387
  "organisation.filter.placeholder": "Filtrovať výsledky",
387
388
  "organisation.sort.sortBy": "Zoradiť podľa:",