geonetwork-ui 2.8.0-dev.c77b0c7dd → 2.8.0-dev.ffdf0a281

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 (70) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +2 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +2 -2
  4. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +7 -3
  5. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +10 -10
  6. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +3 -2
  7. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +2 -1
  8. package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
  9. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +2 -1
  10. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +3 -3
  11. package/esm2022/libs/ui/elements/src/lib/external-link-card/external-link-card.component.mjs +11 -4
  12. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
  13. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +3 -1
  14. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +12 -1
  15. package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +9 -11
  16. package/esm2022/translations/de.json +3 -0
  17. package/esm2022/translations/en.json +4 -1
  18. package/esm2022/translations/es.json +3 -0
  19. package/esm2022/translations/fr.json +4 -1
  20. package/esm2022/translations/it.json +4 -1
  21. package/esm2022/translations/nl.json +3 -0
  22. package/esm2022/translations/pt.json +3 -0
  23. package/esm2022/translations/sk.json +3 -0
  24. package/fesm2022/geonetwork-ui.mjs +78 -28
  25. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  26. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  27. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  28. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
  29. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  30. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +7 -7
  31. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  32. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
  33. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +1 -1
  34. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  35. package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
  36. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  37. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  38. package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts +3 -2
  39. package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts.map +1 -1
  40. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  41. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -0
  42. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  43. package/libs/util/shared/src/lib/services/proxy.service.d.ts +5 -4
  44. package/libs/util/shared/src/lib/services/proxy.service.d.ts.map +1 -1
  45. package/package.json +1 -1
  46. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  47. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +1 -0
  48. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +4 -1
  49. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -4
  50. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +37 -36
  51. package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -2
  52. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +2 -0
  53. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +9 -0
  54. package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
  55. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +1 -0
  56. package/src/libs/ui/elements/src/lib/error/error.component.html +5 -1
  57. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.html +43 -22
  58. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.ts +12 -3
  59. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +2 -2
  60. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +2 -0
  61. package/src/libs/util/shared/src/lib/links/link-utils.ts +11 -0
  62. package/src/libs/util/shared/src/lib/services/proxy.service.ts +6 -2
  63. package/translations/de.json +3 -0
  64. package/translations/en.json +4 -1
  65. package/translations/es.json +3 -0
  66. package/translations/fr.json +4 -1
  67. package/translations/it.json +4 -1
  68. package/translations/nl.json +3 -0
  69. package/translations/pt.json +3 -0
  70. package/translations/sk.json +3 -0
@@ -7,6 +7,7 @@ import {
7
7
  provideNgIconsConfig,
8
8
  } from '@ng-icons/core'
9
9
  import { matOpenInNew } from '@ng-icons/material-icons/baseline'
10
+ import { iconoirDatabase } from '@ng-icons/iconoir'
10
11
  import { getBadgeColor, getFileFormat } from '../../../../../../libs/util/shared/src'
11
12
  import { TranslatePipe } from '@ngx-translate/core'
12
13
 
@@ -21,6 +22,7 @@ type CardSize = 'L' | 'M' | 'S' | 'XS'
21
22
  providers: [
22
23
  provideIcons({
23
24
  matOpenInNew,
25
+ iconoirDatabase,
24
26
  }),
25
27
  provideNgIconsConfig({ size: '1.5em' }),
26
28
  ],
@@ -37,7 +39,7 @@ export class ExternalLinkCardComponent {
37
39
 
38
40
  @Input() set size(value: CardSize) {
39
41
  this._size = value
40
- this.cardClass = this.sizeClassMap[value]
42
+ this.cardClass = `group flex flex-row justify-between card-shadow rounded overflow-hidden ${this.sizeClassMap[value]}`
41
43
  }
42
44
  get size(): CardSize {
43
45
  return this._size
@@ -51,11 +53,18 @@ export class ExternalLinkCardComponent {
51
53
  return this.link.name || this.link.description || ''
52
54
  }
53
55
 
54
- getLinkFormat(link: any) {
56
+ get isDatabase(): boolean {
57
+ return (
58
+ this.link.type === 'service' &&
59
+ this.link.accessServiceProtocol === 'postgis'
60
+ )
61
+ }
62
+
63
+ getLinkFormat(link: DatasetOnlineResource): string {
55
64
  return getFileFormat(link)
56
65
  }
57
66
 
58
- getLinkColor(link: any) {
67
+ getLinkColor(link: DatasetOnlineResource): string {
59
68
  return getBadgeColor(getFileFormat(link))
60
69
  }
61
70
  }
@@ -24,7 +24,7 @@
24
24
  ghostClass="h-[31px] w-3/4"
25
25
  [showContent]="fieldReady('keywords')"
26
26
  >
27
- <div *ngIf="metadata.keywords?.length">
27
+ <gn-ui-max-lines [maxLines]="7" *ngIf="metadata.keywords?.length">
28
28
  <div class="metadata-info-keywords sm:pb-4 flex flex-wrap gap-2">
29
29
  <gn-ui-badge
30
30
  class="inline-block lowercase"
@@ -34,7 +34,7 @@
34
34
  >{{ keyword.label }}</gn-ui-badge
35
35
  >
36
36
  </div>
37
- </div>
37
+ </gn-ui-max-lines>
38
38
  </gn-ui-content-ghost>
39
39
  </div>
40
40
 
@@ -39,6 +39,8 @@ export class LinkClassifierService {
39
39
  return [LinkUsage.API, LinkUsage.DOWNLOAD, LinkUsage.GEODATA]
40
40
  case 'GPFDL':
41
41
  return [LinkUsage.API]
42
+ case 'postgis':
43
+ return [LinkUsage.UNKNOWN]
42
44
  default:
43
45
  return [LinkUsage.UNKNOWN]
44
46
  }
@@ -150,6 +150,12 @@ export const FORMATS = {
150
150
  color: '#5A9E6F',
151
151
  mimeTypes: ['image/webp'],
152
152
  },
153
+ postgis: {
154
+ extensions: ['postgis'],
155
+ priority: 18,
156
+ color: '#336791',
157
+ mimeTypes: [],
158
+ },
153
159
  } as const
154
160
 
155
161
  export type FileFormat = keyof typeof FORMATS
@@ -195,6 +201,11 @@ export function getFileFormatFromServiceOutput(
195
201
  export function getFileFormat(
196
202
  link: DatasetOnlineResource | ServiceOnlineResource
197
203
  ): FileFormat {
204
+ if ('accessServiceProtocol' in link) {
205
+ if (link.accessServiceProtocol in FORMATS) {
206
+ return link.accessServiceProtocol as FileFormat
207
+ }
208
+ }
198
209
  if ('mimeType' in link) {
199
210
  const mimeTypeFormat = mimeTypeToFormat(link.mimeType)
200
211
  if (mimeTypeFormat !== null) {
@@ -1,4 +1,4 @@
1
- import { Inject, Injectable, InjectionToken, Optional } from '@angular/core'
1
+ import { Injectable, InjectionToken, Injector } from '@angular/core'
2
2
  import { Location } from '@angular/common'
3
3
 
4
4
  export const PROXY_PATH = new InjectionToken<string>('proxyPath')
@@ -7,8 +7,12 @@ export const PROXY_PATH = new InjectionToken<string>('proxyPath')
7
7
  providedIn: 'root',
8
8
  })
9
9
  export class ProxyService {
10
+ private get proxyPath(): string | null {
11
+ return this.injector.get(PROXY_PATH, null)
12
+ }
13
+
10
14
  constructor(
11
- @Optional() @Inject(PROXY_PATH) private proxyPath: string,
15
+ private injector: Injector,
12
16
  private location: Location
13
17
  ) {}
14
18
 
@@ -418,6 +418,7 @@
418
418
  "record.metadata.api.accessServiceProtocol.maplibre-style": "",
419
419
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
420
420
  "record.metadata.api.accessServiceProtocol.other": "",
421
+ "record.metadata.api.accessServiceProtocol.postgis": "",
421
422
  "record.metadata.api.accessServiceProtocol.tms": "",
422
423
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
424
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -466,6 +467,8 @@
466
467
  "record.metadata.keywords": "Stichworte",
467
468
  "record.metadata.languages": "Sprachen",
468
469
  "record.metadata.lastUpdate": "Zuletzt aktualisiert am {date}",
470
+ "record.metadata.link.postgis.table": "",
471
+ "record.metadata.link.postgis.tooltip": "",
469
472
  "record.metadata.linked.datasets": "Verknüpfte Datensätze",
470
473
  "record.metadata.linked.records": "Verknüpfte Inhalte",
471
474
  "record.metadata.linked.reuses": "Verknüpfte Wiederverwendungen",
@@ -419,6 +419,7 @@
419
419
  "record.metadata.api.accessServiceProtocol.maplibre-style": "maplibre-style",
420
420
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "ogcFeatures",
421
421
  "record.metadata.api.accessServiceProtocol.other": "other",
422
+ "record.metadata.api.accessServiceProtocol.postgis": "PostGIS",
422
423
  "record.metadata.api.accessServiceProtocol.tms": "tms",
423
424
  "record.metadata.api.accessServiceProtocol.wfs": "wfs",
424
425
  "record.metadata.api.accessServiceProtocol.wms": "wms",
@@ -467,6 +468,8 @@
467
468
  "record.metadata.keywords": "Keywords",
468
469
  "record.metadata.languages": "Languages",
469
470
  "record.metadata.lastUpdate": "Last updated on {date}",
471
+ "record.metadata.link.postgis.table": "table :",
472
+ "record.metadata.link.postgis.tooltip": "PostGIS resources do not have access links",
470
473
  "record.metadata.linked.datasets": "Associated datasets",
471
474
  "record.metadata.linked.records": "Associated content",
472
475
  "record.metadata.linked.reuses": "Associated reuses",
@@ -554,7 +557,7 @@
554
557
  "search.error.organizationHasNoDataset": "This organization has no records yet.",
555
558
  "search.error.organizationNotFound": "This organization could not be found.",
556
559
  "search.error.receivedError": "An error was received",
557
- "search.error.recordHasnolink": "This record currently has no link yet, please come back later.",
560
+ "search.error.recordHasnolink": "This record currently has no link.",
558
561
  "search.error.recordNotFound": "The record with identifier \"{ id }\" could not be found.",
559
562
  "search.field.any.placeholder": "Search in the catalog ...",
560
563
  "search.field.sortBy": "Sort by:",
@@ -418,6 +418,7 @@
418
418
  "record.metadata.api.accessServiceProtocol.maplibre-style": "",
419
419
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
420
420
  "record.metadata.api.accessServiceProtocol.other": "",
421
+ "record.metadata.api.accessServiceProtocol.postgis": "",
421
422
  "record.metadata.api.accessServiceProtocol.tms": "",
422
423
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
424
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -466,6 +467,8 @@
466
467
  "record.metadata.keywords": "",
467
468
  "record.metadata.languages": "",
468
469
  "record.metadata.lastUpdate": "",
470
+ "record.metadata.link.postgis.table": "",
471
+ "record.metadata.link.postgis.tooltip": "",
469
472
  "record.metadata.linked.datasets": "",
470
473
  "record.metadata.linked.records": "",
471
474
  "record.metadata.linked.reuses": "",
@@ -418,6 +418,7 @@
418
418
  "record.metadata.api.accessServiceProtocol.maplibre-style": "",
419
419
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
420
420
  "record.metadata.api.accessServiceProtocol.other": "autre",
421
+ "record.metadata.api.accessServiceProtocol.postgis": "PostGIS",
421
422
  "record.metadata.api.accessServiceProtocol.tms": "",
422
423
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
424
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -466,6 +467,8 @@
466
467
  "record.metadata.keywords": "Mots-clés",
467
468
  "record.metadata.languages": "Langues",
468
469
  "record.metadata.lastUpdate": "Mis à jour le {date}",
470
+ "record.metadata.link.postgis.table": "table :",
471
+ "record.metadata.link.postgis.tooltip": "Les ressources de type PostGIS n'ont pas de lien d'accès",
469
472
  "record.metadata.linked.datasets": "Jeux de données associés",
470
473
  "record.metadata.linked.records": "Contenus associés",
471
474
  "record.metadata.linked.reuses": "Réutilisations associées",
@@ -553,7 +556,7 @@
553
556
  "search.error.organizationHasNoDataset": "Cette organisation n'a pas encore de ressources.",
554
557
  "search.error.organizationNotFound": "L'organisation n'a pas pu être trouvée.",
555
558
  "search.error.receivedError": "Erreur retournée",
556
- "search.error.recordHasnolink": "Cette ressource n'a pas encore de lien, réessayez plus tard s'il vous plaît.",
559
+ "search.error.recordHasnolink": "Cette ressource n'a actuellement aucun lien.",
557
560
  "search.error.recordNotFound": "La ressource dont l'identifiant est \"{ id }\" n'a pas pu être trouvée.",
558
561
  "search.field.any.placeholder": "Rechercher dans le catalogue...",
559
562
  "search.field.sortBy": "Trier par :",
@@ -418,6 +418,7 @@
418
418
  "record.metadata.api.accessServiceProtocol.maplibre-style": "",
419
419
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
420
420
  "record.metadata.api.accessServiceProtocol.other": "",
421
+ "record.metadata.api.accessServiceProtocol.postgis": "",
421
422
  "record.metadata.api.accessServiceProtocol.tms": "",
422
423
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
424
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -466,6 +467,8 @@
466
467
  "record.metadata.keywords": "Parole chiave",
467
468
  "record.metadata.languages": "Lingue",
468
469
  "record.metadata.lastUpdate": "Ultimo aggiornamento il {date}",
470
+ "record.metadata.link.postgis.table": "",
471
+ "record.metadata.link.postgis.tooltip": "",
469
472
  "record.metadata.linked.datasets": "",
470
473
  "record.metadata.linked.records": "",
471
474
  "record.metadata.linked.reuses": "",
@@ -553,7 +556,7 @@
553
556
  "search.error.organizationHasNoDataset": "Questa organizzazione non ha ancora records.",
554
557
  "search.error.organizationNotFound": "Impossibile trovare l'organizzazione.",
555
558
  "search.error.receivedError": "Errore restituito",
556
- "search.error.recordHasnolink": "Questo record non ha ancora alcun collegamento, riprova più tardi.",
559
+ "search.error.recordHasnolink": "Questo record non ha attualmente alcun collegamento.",
557
560
  "search.error.recordNotFound": "Impossibile trovare questi record.",
558
561
  "search.field.any.placeholder": "Cerca del catalogo...",
559
562
  "search.field.sortBy": "Ordina per:",
@@ -418,6 +418,7 @@
418
418
  "record.metadata.api.accessServiceProtocol.maplibre-style": "",
419
419
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
420
420
  "record.metadata.api.accessServiceProtocol.other": "",
421
+ "record.metadata.api.accessServiceProtocol.postgis": "",
421
422
  "record.metadata.api.accessServiceProtocol.tms": "",
422
423
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
424
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -466,6 +467,8 @@
466
467
  "record.metadata.keywords": "",
467
468
  "record.metadata.languages": "",
468
469
  "record.metadata.lastUpdate": "",
470
+ "record.metadata.link.postgis.table": "",
471
+ "record.metadata.link.postgis.tooltip": "",
469
472
  "record.metadata.linked.datasets": "",
470
473
  "record.metadata.linked.records": "",
471
474
  "record.metadata.linked.reuses": "",
@@ -418,6 +418,7 @@
418
418
  "record.metadata.api.accessServiceProtocol.maplibre-style": "",
419
419
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
420
420
  "record.metadata.api.accessServiceProtocol.other": "",
421
+ "record.metadata.api.accessServiceProtocol.postgis": "",
421
422
  "record.metadata.api.accessServiceProtocol.tms": "",
422
423
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
424
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -466,6 +467,8 @@
466
467
  "record.metadata.keywords": "",
467
468
  "record.metadata.languages": "",
468
469
  "record.metadata.lastUpdate": "",
470
+ "record.metadata.link.postgis.table": "",
471
+ "record.metadata.link.postgis.tooltip": "",
469
472
  "record.metadata.linked.datasets": "",
470
473
  "record.metadata.linked.records": "",
471
474
  "record.metadata.linked.reuses": "",
@@ -418,6 +418,7 @@
418
418
  "record.metadata.api.accessServiceProtocol.maplibre-style": "",
419
419
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
420
420
  "record.metadata.api.accessServiceProtocol.other": "",
421
+ "record.metadata.api.accessServiceProtocol.postgis": "",
421
422
  "record.metadata.api.accessServiceProtocol.tms": "",
422
423
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
424
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -466,6 +467,8 @@
466
467
  "record.metadata.keywords": "Kľúčové slová",
467
468
  "record.metadata.languages": "",
468
469
  "record.metadata.lastUpdate": "Posledná aktualizácia",
470
+ "record.metadata.link.postgis.table": "",
471
+ "record.metadata.link.postgis.tooltip": "",
469
472
  "record.metadata.linked.datasets": "",
470
473
  "record.metadata.linked.records": "",
471
474
  "record.metadata.linked.reuses": "",