geonetwork-ui 2.6.1-dev.57ac0f034 → 2.6.1-dev.827484cea

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 (33) hide show
  1. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +4 -6
  2. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +11 -1
  3. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +2 -2
  4. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +4 -2
  5. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  6. package/esm2022/translations/de.json +10 -0
  7. package/esm2022/translations/en.json +10 -0
  8. package/esm2022/translations/es.json +10 -0
  9. package/esm2022/translations/fr.json +10 -0
  10. package/esm2022/translations/it.json +10 -0
  11. package/esm2022/translations/nl.json +10 -0
  12. package/esm2022/translations/pt.json +10 -0
  13. package/esm2022/translations/sk.json +10 -0
  14. package/fesm2022/geonetwork-ui.mjs +110 -19
  15. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  16. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  17. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  18. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  19. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  20. package/package.json +11 -10
  21. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +3 -5
  22. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +11 -0
  23. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +3 -1
  24. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +3 -1
  25. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -1
  26. package/translations/de.json +10 -0
  27. package/translations/en.json +10 -0
  28. package/translations/es.json +10 -0
  29. package/translations/fr.json +10 -0
  30. package/translations/it.json +10 -0
  31. package/translations/nl.json +10 -0
  32. package/translations/pt.json +10 -0
  33. package/translations/sk.json +10 -0
@@ -383,6 +383,16 @@
383
383
  "record.kind.service": "",
384
384
  "record.metadata.about": "",
385
385
  "record.metadata.api": "",
386
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
387
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
388
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
389
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
390
+ "record.metadata.api.accessServiceProtocol.other": "",
391
+ "record.metadata.api.accessServiceProtocol.tms": "",
392
+ "record.metadata.api.accessServiceProtocol.wfs": "",
393
+ "record.metadata.api.accessServiceProtocol.wms": "",
394
+ "record.metadata.api.accessServiceProtocol.wmts": "",
395
+ "record.metadata.api.accessServiceProtocol.wps": "",
386
396
  "record.metadata.api.form.closeButton": "",
387
397
  "record.metadata.api.form.closeForm": "",
388
398
  "record.metadata.api.form.create": "",
@@ -383,6 +383,16 @@
383
383
  "record.kind.service": "Service",
384
384
  "record.metadata.about": "A propos",
385
385
  "record.metadata.api": "API",
386
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
387
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
388
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
389
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
390
+ "record.metadata.api.accessServiceProtocol.other": "autre",
391
+ "record.metadata.api.accessServiceProtocol.tms": "",
392
+ "record.metadata.api.accessServiceProtocol.wfs": "",
393
+ "record.metadata.api.accessServiceProtocol.wms": "",
394
+ "record.metadata.api.accessServiceProtocol.wmts": "",
395
+ "record.metadata.api.accessServiceProtocol.wps": "",
386
396
  "record.metadata.api.form.closeButton": "Fermer",
387
397
  "record.metadata.api.form.closeForm": "Fermer le panneau de personnalisation",
388
398
  "record.metadata.api.form.create": "Paramétrer votre requête",
@@ -383,6 +383,16 @@
383
383
  "record.kind.service": "Servizio",
384
384
  "record.metadata.about": "Descrizione",
385
385
  "record.metadata.api": "API",
386
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
387
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
388
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
389
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
390
+ "record.metadata.api.accessServiceProtocol.other": "",
391
+ "record.metadata.api.accessServiceProtocol.tms": "",
392
+ "record.metadata.api.accessServiceProtocol.wfs": "",
393
+ "record.metadata.api.accessServiceProtocol.wms": "",
394
+ "record.metadata.api.accessServiceProtocol.wmts": "",
395
+ "record.metadata.api.accessServiceProtocol.wps": "",
386
396
  "record.metadata.api.form.closeButton": "Chiude",
387
397
  "record.metadata.api.form.closeForm": "Chiude il pannello di personalizzazione",
388
398
  "record.metadata.api.form.create": "Configura la sua richiesta",
@@ -383,6 +383,16 @@
383
383
  "record.kind.service": "",
384
384
  "record.metadata.about": "",
385
385
  "record.metadata.api": "",
386
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
387
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
388
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
389
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
390
+ "record.metadata.api.accessServiceProtocol.other": "",
391
+ "record.metadata.api.accessServiceProtocol.tms": "",
392
+ "record.metadata.api.accessServiceProtocol.wfs": "",
393
+ "record.metadata.api.accessServiceProtocol.wms": "",
394
+ "record.metadata.api.accessServiceProtocol.wmts": "",
395
+ "record.metadata.api.accessServiceProtocol.wps": "",
386
396
  "record.metadata.api.form.closeButton": "",
387
397
  "record.metadata.api.form.closeForm": "",
388
398
  "record.metadata.api.form.create": "",
@@ -383,6 +383,16 @@
383
383
  "record.kind.service": "",
384
384
  "record.metadata.about": "",
385
385
  "record.metadata.api": "",
386
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
387
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
388
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
389
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
390
+ "record.metadata.api.accessServiceProtocol.other": "",
391
+ "record.metadata.api.accessServiceProtocol.tms": "",
392
+ "record.metadata.api.accessServiceProtocol.wfs": "",
393
+ "record.metadata.api.accessServiceProtocol.wms": "",
394
+ "record.metadata.api.accessServiceProtocol.wmts": "",
395
+ "record.metadata.api.accessServiceProtocol.wps": "",
386
396
  "record.metadata.api.form.closeButton": "",
387
397
  "record.metadata.api.form.closeForm": "",
388
398
  "record.metadata.api.form.create": "",
@@ -383,6 +383,16 @@
383
383
  "record.kind.service": "",
384
384
  "record.metadata.about": "O",
385
385
  "record.metadata.api": "API",
386
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
387
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
388
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
389
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
390
+ "record.metadata.api.accessServiceProtocol.other": "",
391
+ "record.metadata.api.accessServiceProtocol.tms": "",
392
+ "record.metadata.api.accessServiceProtocol.wfs": "",
393
+ "record.metadata.api.accessServiceProtocol.wms": "",
394
+ "record.metadata.api.accessServiceProtocol.wmts": "",
395
+ "record.metadata.api.accessServiceProtocol.wps": "",
386
396
  "record.metadata.api.form.closeButton": "Zavrieť",
387
397
  "record.metadata.api.form.closeForm": "Zavrieť formulár",
388
398
  "record.metadata.api.form.create": "Vytvoriť požiadavku",
@@ -900,6 +900,16 @@ const RecordStatusValues = [
900
900
  'deprecated',
901
901
  'removed',
902
902
  ];
903
+ marker('record.metadata.api.accessServiceProtocol.wms');
904
+ marker('record.metadata.api.accessServiceProtocol.wfs');
905
+ marker('record.metadata.api.accessServiceProtocol.wps');
906
+ marker('record.metadata.api.accessServiceProtocol.wmts');
907
+ marker('record.metadata.api.accessServiceProtocol.esriRest');
908
+ marker('record.metadata.api.accessServiceProtocol.ogcFeatures');
909
+ marker('record.metadata.api.accessServiceProtocol.GPFDL');
910
+ marker('record.metadata.api.accessServiceProtocol.tms');
911
+ marker('record.metadata.api.accessServiceProtocol.maplibre-style');
912
+ marker('record.metadata.api.accessServiceProtocol.other');
903
913
 
904
914
  function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
905
915
  return frequencyCode &&
@@ -19067,6 +19077,16 @@ var de = {
19067
19077
  "record.kind.service": "",
19068
19078
  "record.metadata.about": "Beschreibung",
19069
19079
  "record.metadata.api": "API",
19080
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
19081
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
19082
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
19083
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
19084
+ "record.metadata.api.accessServiceProtocol.other": "",
19085
+ "record.metadata.api.accessServiceProtocol.tms": "",
19086
+ "record.metadata.api.accessServiceProtocol.wfs": "",
19087
+ "record.metadata.api.accessServiceProtocol.wms": "",
19088
+ "record.metadata.api.accessServiceProtocol.wmts": "",
19089
+ "record.metadata.api.accessServiceProtocol.wps": "",
19070
19090
  "record.metadata.api.form.closeButton": "Schließen",
19071
19091
  "record.metadata.api.form.closeForm": "Formular schließen",
19072
19092
  "record.metadata.api.form.create": "Ihre Anfrage erstellen",
@@ -19677,6 +19697,16 @@ var en = {
19677
19697
  "record.kind.service": "Service",
19678
19698
  "record.metadata.about": "Description",
19679
19699
  "record.metadata.api": "API",
19700
+ "record.metadata.api.accessServiceProtocol.GPFDL": "GPFDL",
19701
+ "record.metadata.api.accessServiceProtocol.esriRest": "esriRest",
19702
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "maplibre-style",
19703
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "ogcFeatures",
19704
+ "record.metadata.api.accessServiceProtocol.other": "other",
19705
+ "record.metadata.api.accessServiceProtocol.tms": "tms",
19706
+ "record.metadata.api.accessServiceProtocol.wfs": "wfs",
19707
+ "record.metadata.api.accessServiceProtocol.wms": "wms",
19708
+ "record.metadata.api.accessServiceProtocol.wmts": "wmts",
19709
+ "record.metadata.api.accessServiceProtocol.wps": "wps",
19680
19710
  "record.metadata.api.form.closeButton": "Close",
19681
19711
  "record.metadata.api.form.closeForm": "Close the form",
19682
19712
  "record.metadata.api.form.create": "Create your request",
@@ -20287,6 +20317,16 @@ var es = {
20287
20317
  "record.kind.service": "",
20288
20318
  "record.metadata.about": "",
20289
20319
  "record.metadata.api": "",
20320
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
20321
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
20322
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
20323
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
20324
+ "record.metadata.api.accessServiceProtocol.other": "",
20325
+ "record.metadata.api.accessServiceProtocol.tms": "",
20326
+ "record.metadata.api.accessServiceProtocol.wfs": "",
20327
+ "record.metadata.api.accessServiceProtocol.wms": "",
20328
+ "record.metadata.api.accessServiceProtocol.wmts": "",
20329
+ "record.metadata.api.accessServiceProtocol.wps": "",
20290
20330
  "record.metadata.api.form.closeButton": "",
20291
20331
  "record.metadata.api.form.closeForm": "",
20292
20332
  "record.metadata.api.form.create": "",
@@ -20897,6 +20937,16 @@ var fr = {
20897
20937
  "record.kind.service": "Service",
20898
20938
  "record.metadata.about": "A propos",
20899
20939
  "record.metadata.api": "API",
20940
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
20941
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
20942
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
20943
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
20944
+ "record.metadata.api.accessServiceProtocol.other": "autre",
20945
+ "record.metadata.api.accessServiceProtocol.tms": "",
20946
+ "record.metadata.api.accessServiceProtocol.wfs": "",
20947
+ "record.metadata.api.accessServiceProtocol.wms": "",
20948
+ "record.metadata.api.accessServiceProtocol.wmts": "",
20949
+ "record.metadata.api.accessServiceProtocol.wps": "",
20900
20950
  "record.metadata.api.form.closeButton": "Fermer",
20901
20951
  "record.metadata.api.form.closeForm": "Fermer le panneau de personnalisation",
20902
20952
  "record.metadata.api.form.create": "Paramétrer votre requête",
@@ -21507,6 +21557,16 @@ var it = {
21507
21557
  "record.kind.service": "Servizio",
21508
21558
  "record.metadata.about": "Descrizione",
21509
21559
  "record.metadata.api": "API",
21560
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
21561
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
21562
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
21563
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
21564
+ "record.metadata.api.accessServiceProtocol.other": "",
21565
+ "record.metadata.api.accessServiceProtocol.tms": "",
21566
+ "record.metadata.api.accessServiceProtocol.wfs": "",
21567
+ "record.metadata.api.accessServiceProtocol.wms": "",
21568
+ "record.metadata.api.accessServiceProtocol.wmts": "",
21569
+ "record.metadata.api.accessServiceProtocol.wps": "",
21510
21570
  "record.metadata.api.form.closeButton": "Chiude",
21511
21571
  "record.metadata.api.form.closeForm": "Chiude il pannello di personalizzazione",
21512
21572
  "record.metadata.api.form.create": "Configura la sua richiesta",
@@ -22117,6 +22177,16 @@ var nl = {
22117
22177
  "record.kind.service": "",
22118
22178
  "record.metadata.about": "",
22119
22179
  "record.metadata.api": "",
22180
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
22181
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
22182
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
22183
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
22184
+ "record.metadata.api.accessServiceProtocol.other": "",
22185
+ "record.metadata.api.accessServiceProtocol.tms": "",
22186
+ "record.metadata.api.accessServiceProtocol.wfs": "",
22187
+ "record.metadata.api.accessServiceProtocol.wms": "",
22188
+ "record.metadata.api.accessServiceProtocol.wmts": "",
22189
+ "record.metadata.api.accessServiceProtocol.wps": "",
22120
22190
  "record.metadata.api.form.closeButton": "",
22121
22191
  "record.metadata.api.form.closeForm": "",
22122
22192
  "record.metadata.api.form.create": "",
@@ -22727,6 +22797,16 @@ var pt = {
22727
22797
  "record.kind.service": "",
22728
22798
  "record.metadata.about": "",
22729
22799
  "record.metadata.api": "",
22800
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
22801
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
22802
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
22803
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
22804
+ "record.metadata.api.accessServiceProtocol.other": "",
22805
+ "record.metadata.api.accessServiceProtocol.tms": "",
22806
+ "record.metadata.api.accessServiceProtocol.wfs": "",
22807
+ "record.metadata.api.accessServiceProtocol.wms": "",
22808
+ "record.metadata.api.accessServiceProtocol.wmts": "",
22809
+ "record.metadata.api.accessServiceProtocol.wps": "",
22730
22810
  "record.metadata.api.form.closeButton": "",
22731
22811
  "record.metadata.api.form.closeForm": "",
22732
22812
  "record.metadata.api.form.create": "",
@@ -23337,6 +23417,16 @@ var sk = {
23337
23417
  "record.kind.service": "",
23338
23418
  "record.metadata.about": "O",
23339
23419
  "record.metadata.api": "API",
23420
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
23421
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
23422
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
23423
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
23424
+ "record.metadata.api.accessServiceProtocol.other": "",
23425
+ "record.metadata.api.accessServiceProtocol.tms": "",
23426
+ "record.metadata.api.accessServiceProtocol.wfs": "",
23427
+ "record.metadata.api.accessServiceProtocol.wms": "",
23428
+ "record.metadata.api.accessServiceProtocol.wmts": "",
23429
+ "record.metadata.api.accessServiceProtocol.wps": "",
23340
23430
  "record.metadata.api.form.closeButton": "Zavrieť",
23341
23431
  "record.metadata.api.form.closeForm": "Zavrieť formulár",
23342
23432
  "record.metadata.api.form.create": "Vytvoriť požiadavku",
@@ -24068,14 +24158,12 @@ const ES_SOURCE_SUMMARY = [
24068
24158
  'codelist_status_text',
24069
24159
  'link',
24070
24160
  'linkProtocol',
24071
- 'contactForResource.organisation',
24072
- 'contact.organisation',
24073
- 'contact.email',
24161
+ 'contactForResource*.organisation*',
24162
+ 'contact*.organisation*',
24163
+ 'contact*.email',
24074
24164
  'userSavedCount',
24075
- 'updateFrequency',
24076
24165
  'cl_topic',
24077
24166
  'cl_maintenanceAndUpdateFrequency',
24078
- 'tag',
24079
24167
  'MD_LegalConstraints*Object',
24080
24168
  'qualityScore',
24081
24169
  'allKeywords',
@@ -26326,7 +26414,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
26326
26414
  }] } });
26327
26415
 
26328
26416
  var name = "geonetwork-ui";
26329
- var version = "2.6.1-dev.57ac0f034";
26417
+ var version = "2.6.1-dev.827484cea";
26330
26418
  var engines = {
26331
26419
  node: ">=20"
26332
26420
  };
@@ -26359,27 +26447,28 @@ var peerDependencies = {
26359
26447
  "@ngrx/operators": "18.x",
26360
26448
  "@ngx-translate/core": "16.x",
26361
26449
  "@ngx-translate/http-loader": "16.x",
26450
+ "flag-icons": "^7.3.2",
26362
26451
  rxjs: "7.x",
26363
26452
  "zone.js": "*",
26364
26453
  tailwindcss: "3.x"
26365
26454
  };
26366
26455
  var dependencies = {
26367
- "@biesbjerg/ngx-translate-extract-marker": "^1.0.0",
26368
- "@camptocamp/ogc-client": "1.1.1-dev.3e2d3cc",
26369
- "@geospatial-sdk/core": "0.0.5-dev.31",
26370
- "@geospatial-sdk/geocoding": "0.0.5-dev.31",
26371
- "@geospatial-sdk/legend": "0.0.5-dev.31",
26372
- "@geospatial-sdk/openlayers": "0.0.5-dev.31",
26456
+ "@biesbjerg/ngx-translate-extract-marker": "~1.0.0",
26457
+ "@camptocamp/ogc-client": "1.2.1-dev.b1a75df",
26458
+ "@geospatial-sdk/core": "0.0.5-dev.37",
26459
+ "@geospatial-sdk/geocoding": "0.0.5-dev.37",
26460
+ "@geospatial-sdk/legend": "0.0.5-dev.37",
26461
+ "@geospatial-sdk/openlayers": "0.0.5-dev.37",
26373
26462
  "@ltd/j-toml": "~1.35.2",
26374
26463
  "@messageformat/core": "^3.0.1",
26375
26464
  "@ng-icons/core": "29.10.0",
26376
26465
  "@ng-icons/iconoir": "29.10.0",
26377
26466
  "@ng-icons/material-icons": "29.10.0",
26378
26467
  "@ng-icons/tabler-icons": "29.10.0",
26379
- "@nx/angular": "20.2.2",
26468
+ "@nx/angular": "20.3.4",
26380
26469
  "@rgrove/parse-xml": "4.2.0",
26381
26470
  alasql: "4.6.0",
26382
- axios: "1.8.2",
26471
+ axios: "1.8.4",
26383
26472
  basiclightbox: "^5.0.4",
26384
26473
  "chart.js": "4.4.7",
26385
26474
  "chroma-js": "3.1.2",
@@ -26406,7 +26495,7 @@ var dependencies = {
26406
26495
  tslib: "^2.3.0",
26407
26496
  typeorm: "^0.3.14",
26408
26497
  "whatwg-fetch": "^3.6.2",
26409
- xlsx: "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz"
26498
+ xlsx: "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
26410
26499
  };
26411
26500
  var packageJson = {
26412
26501
  name: name,
@@ -32326,7 +32415,7 @@ class ApiCardComponent {
32326
32415
  }
32327
32416
  }
32328
32417
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32329
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApiCardComponent, isStandalone: true, selector: "gn-ui-api-card", inputs: { link: "link", currentLink: "currentLink", size: "size" }, outputs: { openRecordApiForm: "openRecordApiForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n >{{ link.accessServiceProtocol }}</span\n >\n <span\n *ngIf=\"link.accessServiceProtocol === 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >\n record.metadata.api.gpfdl</span\n >\n </div>\n <div *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [
32418
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApiCardComponent, isStandalone: true, selector: "gn-ui-api-card", inputs: { link: "link", currentLink: "currentLink", size: "size" }, outputs: { openRecordApiForm: "openRecordApiForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >record.metadata.api.accessServiceProtocol.{{\n link.accessServiceProtocol\n }}</span\n >\n <span\n *ngIf=\"link.accessServiceProtocol === 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >\n record.metadata.api.gpfdl</span\n >\n </div>\n <div *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [
32330
32419
  provideIcons({
32331
32420
  iconoirSettings,
32332
32421
  }),
@@ -32345,7 +32434,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32345
32434
  provideIcons({
32346
32435
  iconoirSettings,
32347
32436
  }),
32348
- ], template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n >{{ link.accessServiceProtocol }}</span\n >\n <span\n *ngIf=\"link.accessServiceProtocol === 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >\n record.metadata.api.gpfdl</span\n >\n </div>\n <div *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </div>\n</ng-template>\n" }]
32437
+ ], template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >record.metadata.api.accessServiceProtocol.{{\n link.accessServiceProtocol\n }}</span\n >\n <span\n *ngIf=\"link.accessServiceProtocol === 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >\n record.metadata.api.gpfdl</span\n >\n </div>\n <div *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </div>\n</ng-template>\n" }]
32349
32438
  }], propDecorators: { link: [{
32350
32439
  type: Input
32351
32440
  }], currentLink: [{
@@ -38220,7 +38309,7 @@ class DataService {
38220
38309
  });
38221
38310
  }
38222
38311
  async getGeodataLinksFromTms(tmsLink, keepOriginalLink = false) {
38223
- const endpoint = new TmsEndpoint(tmsLink.url.toString());
38312
+ const endpoint = new TmsEndpoint(tmsLink.url.toString().replace(/\/?$/, `/${tmsLink.name}`));
38224
38313
  const tileMaps = await endpoint.allTileMaps.catch(() => {
38225
38314
  throw new Error(`ogc.unreachable.unknown`);
38226
38315
  });
@@ -40534,7 +40623,9 @@ class MapViewComponent {
40534
40623
  link.accessServiceProtocol === 'tms') {
40535
40624
  // FIXME: here we're assuming that the TMS serves vector tiles only; should be checked with ogc-client first
40536
40625
  return of({
40537
- url: link.url.toString().replace(/\/?$/, '/{z}/{x}/{y}.pbf'),
40626
+ url: link.url
40627
+ .toString()
40628
+ .replace(/\/?$/, `/${link.name}/{z}/{x}/{y}.pbf`),
40538
40629
  type: 'xyz',
40539
40630
  tileFormat: 'application/vnd.mapbox-vector-tile',
40540
40631
  name: link.name,