geonetwork-ui 2.7.2 → 2.8.0-dev.017434d8c

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 (81) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +5 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +3 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +7 -3
  4. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +3 -1
  5. package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +6 -1
  6. package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
  7. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -1
  8. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +9 -7
  9. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +8 -12
  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/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +2 -3
  14. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +2 -2
  15. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
  16. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +12 -1
  17. package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +9 -11
  18. package/esm2022/libs/util/shared/src/lib/utils/sort-by.mjs +9 -6
  19. package/esm2022/translations/de.json +7 -2
  20. package/esm2022/translations/en.json +8 -4
  21. package/esm2022/translations/es.json +7 -2
  22. package/esm2022/translations/fr.json +8 -3
  23. package/esm2022/translations/it.json +8 -3
  24. package/esm2022/translations/nl.json +7 -2
  25. package/esm2022/translations/pt.json +7 -2
  26. package/esm2022/translations/sk.json +7 -2
  27. package/fesm2022/geonetwork-ui.mjs +140 -63
  28. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  29. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  30. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  31. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
  32. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +1 -1
  33. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  34. package/libs/common/domain/src/lib/model/search/sort-by.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/router/src/lib/default/router.service.d.ts +2 -0
  37. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  38. package/libs/feature/router/src/lib/default/state/router.effects.d.ts +3 -1
  39. package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
  40. package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts +4 -3
  41. package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
  42. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  43. package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts +3 -2
  44. package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts.map +1 -1
  45. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  46. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  47. package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -0
  48. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  49. package/libs/util/shared/src/lib/services/proxy.service.d.ts +5 -4
  50. package/libs/util/shared/src/lib/services/proxy.service.d.ts.map +1 -1
  51. package/libs/util/shared/src/lib/utils/sort-by.d.ts.map +1 -1
  52. package/package.json +1 -1
  53. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +2 -0
  54. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +2 -0
  55. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -4
  56. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +4 -0
  57. package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +5 -0
  58. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +5 -0
  59. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +19 -0
  60. package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
  61. package/src/libs/feature/router/src/lib/default/router.service.ts +8 -0
  62. package/src/libs/feature/router/src/lib/default/state/router.effects.ts +6 -7
  63. package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +8 -12
  64. package/src/libs/ui/elements/src/lib/error/error.component.html +5 -1
  65. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.html +43 -22
  66. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.ts +12 -3
  67. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +2 -2
  68. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +4 -2
  69. package/src/libs/util/shared/src/lib/gn-ui-version.ts +1 -1
  70. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -0
  71. package/src/libs/util/shared/src/lib/links/link-utils.ts +11 -0
  72. package/src/libs/util/shared/src/lib/services/proxy.service.ts +6 -2
  73. package/src/libs/util/shared/src/lib/utils/sort-by.ts +8 -5
  74. package/translations/de.json +7 -2
  75. package/translations/en.json +8 -4
  76. package/translations/es.json +7 -2
  77. package/translations/fr.json +8 -3
  78. package/translations/it.json +8 -3
  79. package/translations/nl.json +7 -2
  80. package/translations/pt.json +7 -2
  81. package/translations/sk.json +7 -2
@@ -1,15 +1,48 @@
1
- <a
2
- [href]="link.url"
3
- target="_blank"
4
- class="group flex flex-row justify-between card-shadow cursor-pointer rounded overflow-hidden"
5
- [ngClass]="cardClass"
6
- [title]="title"
7
- >
1
+ <ng-container *ngIf="isDatabase; else clickableLink">
2
+ <div [ngClass]="cardClass" [title]="title">
3
+ <ng-container *ngTemplateOutlet="cardContent"></ng-container>
4
+ <div
5
+ class="flex min-w-[32px]"
6
+ [ngClass]="size === 'S' ? 'items-end' : 'items-center'"
7
+ >
8
+ <div
9
+ class="gn-ui-card-icon"
10
+ [title]="'record.metadata.link.postgis.tooltip' | translate"
11
+ >
12
+ <ng-icon
13
+ class="inline-block card-icon align-middle"
14
+ name="iconoirDatabase"
15
+ ></ng-icon>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ </ng-container>
20
+
21
+ <ng-template #clickableLink>
22
+ <a [href]="link.url" target="_blank" [ngClass]="cardClass" [title]="title">
23
+ <ng-container *ngTemplateOutlet="cardContent"></ng-container>
24
+ <div
25
+ class="flex min-w-[32px]"
26
+ [ngClass]="size === 'S' ? 'items-end' : 'items-center'"
27
+ >
28
+ <div class="gn-ui-card-icon">
29
+ <ng-icon
30
+ class="inline-block card-icon align-middle"
31
+ name="matOpenInNew"
32
+ ></ng-icon>
33
+ </div>
34
+ </div>
35
+ </a>
36
+ </ng-template>
37
+ <ng-template #cardContent>
8
38
  <div class="flex flex-col justify-between flex-1 min-w-0">
9
39
  <div class="gn-ui-card-title">
10
40
  {{ link.description || link.name }}
11
41
  </div>
12
42
  <div class="gn-ui-card-detail">
43
+ <ng-container *ngIf="isDatabase">
44
+ {{ 'record.metadata.link.postgis.table' | translate }}
45
+ </ng-container>
13
46
  {{ link.name }}
14
47
  </div>
15
48
  <p *ngIf="!link.name && !link.description" class="gn-ui-card-title">
@@ -20,21 +53,9 @@
20
53
  class="inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded transition-opacity opacity-70 group-hover:opacity-100"
21
54
  [style.background-color]="getLinkColor(link)"
22
55
  data-cy="download-format"
23
- >{{
24
- getLinkFormat(link) || ('downloads.format.unknown' | translate)
25
- }}</span
26
56
  >
57
+ {{ getLinkFormat(link) || ('downloads.format.unknown' | translate) }}
58
+ </span>
27
59
  </div>
28
60
  </div>
29
- <div
30
- class="flex min-w-[32px]"
31
- [ngClass]="size === 'S' ? 'items-end' : 'items-center'"
32
- >
33
- <div class="gn-ui-card-icon">
34
- <ng-icon
35
- class="inline-block card-icon align-middle"
36
- name="matOpenInNew"
37
- ></ng-icon>
38
- </div>
39
- </div>
40
- </a>
61
+ </ng-template>
@@ -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
 
@@ -90,8 +90,10 @@ export class DropdownSelectorComponent implements OnInit {
90
90
 
91
91
  get selectedChoice(): DropdownChoice {
92
92
  return (
93
- this.choices.find((choice) => choice.value === this.selected) ??
94
- this.choices[0]
93
+ this.choices.find(
94
+ (choice) =>
95
+ JSON.stringify(choice.value) === JSON.stringify(this.selected)
96
+ ) ?? this.choices[0]
95
97
  )
96
98
  }
97
99
 
@@ -4,5 +4,5 @@ export const GEONETWORK_UI_VERSION = packageJson.version
4
4
 
5
5
  export const GEONETWORK_UI_TAG_NAME =
6
6
  GEONETWORK_UI_VERSION.split('-')[1] === 'dev'
7
- ? '2.7.x'
7
+ ? 'main'
8
8
  : `v${packageJson.version}`
@@ -39,6 +39,10 @@ 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]
44
+ case 'stac':
45
+ return [LinkUsage.API]
42
46
  default:
43
47
  return [LinkUsage.UNKNOWN]
44
48
  }
@@ -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
 
@@ -6,12 +6,15 @@ export function sortByToStrings(sortBy: SortByField): string[] {
6
6
  }
7
7
 
8
8
  export function sortByToString(sortBy: SortByField): string {
9
- return sortByToStrings(sortBy)[0]
9
+ return sortByToStrings(sortBy).join(',')
10
10
  }
11
11
 
12
12
  export function sortByFromString(sortByString: string): SortByField {
13
- return [
14
- sortByString.startsWith('-') ? 'desc' : 'asc',
15
- sortByString.startsWith('-') ? sortByString.substring(1) : sortByString,
16
- ]
13
+ const fields = sortByString
14
+ .split(',')
15
+ .map((field) => [
16
+ field.startsWith('-') ? 'desc' : 'asc',
17
+ field.startsWith('-') ? field.substring(1) : field,
18
+ ]) as SortByField
19
+ return fields.length > 1 ? fields : (fields[0] as SortByField)
17
20
  }
@@ -418,6 +418,8 @@
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": "",
422
+ "record.metadata.api.accessServiceProtocol.stac": "",
421
423
  "record.metadata.api.accessServiceProtocol.tms": "",
422
424
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
425
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -465,7 +467,8 @@
465
467
  "record.metadata.isGeographical": "Geographischer Datensatz",
466
468
  "record.metadata.keywords": "Stichworte",
467
469
  "record.metadata.languages": "Sprachen",
468
- "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",
@@ -506,6 +509,9 @@
506
509
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
507
510
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
508
511
  "record.metadata.related": "Entdecken Sie den Katalog",
512
+ "record.metadata.resourceCreated": "Erstellt am {date}",
513
+ "record.metadata.resourcePublished": "Veröffentlicht am {date}",
514
+ "record.metadata.resourceUpdated": "Zuletzt aktualisiert am {date}",
509
515
  "record.metadata.ressources.and.links": "Ressourcen und Links",
510
516
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
511
517
  "record.metadata.status": "Status",
@@ -542,7 +548,6 @@
542
548
  "results.records.hits.found": "{hits, plural, =0{Keine Ressource entsprechen der angegebenen Suche.} one{1 Ressource gefunden.} other{{hits} Ressourcen gefunden.}}",
543
549
  "results.records.hits.selected": "{ amount } ausgewählt",
544
550
  "results.showMore": "Mehr Ergebnisse anzeigen...",
545
- "results.sortBy.changeDate": "",
546
551
  "results.sortBy.dateStamp": "Neueste",
547
552
  "results.sortBy.popularity": "Beliebtheit",
548
553
  "results.sortBy.qualityScore": "Fertigstellungsanzeige",
@@ -241,7 +241,6 @@
241
241
  "editor.record.form.topics.inspire.intelligence": "Intelligence / Military",
242
242
  "editor.record.form.topics.inspire.location": "Location",
243
243
  "editor.record.form.topics.inspire.oceans": "Oceans",
244
- "editor.record.form.topics.inspire.placeholder": "Select an INSPIRE theme",
245
244
  "editor.record.form.topics.inspire.planning": "Planning / Cadastre",
246
245
  "editor.record.form.topics.inspire.society": "Society",
247
246
  "editor.record.form.topics.inspire.structure": "Structure",
@@ -419,6 +418,8 @@
419
418
  "record.metadata.api.accessServiceProtocol.maplibre-style": "maplibre-style",
420
419
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "ogcFeatures",
421
420
  "record.metadata.api.accessServiceProtocol.other": "other",
421
+ "record.metadata.api.accessServiceProtocol.postgis": "PostGIS",
422
+ "record.metadata.api.accessServiceProtocol.stac": "STAC",
422
423
  "record.metadata.api.accessServiceProtocol.tms": "tms",
423
424
  "record.metadata.api.accessServiceProtocol.wfs": "wfs",
424
425
  "record.metadata.api.accessServiceProtocol.wms": "wms",
@@ -466,7 +467,8 @@
466
467
  "record.metadata.isGeographical": "Geographical dataset",
467
468
  "record.metadata.keywords": "Keywords",
468
469
  "record.metadata.languages": "Languages",
469
- "record.metadata.lastUpdate": "Last updated on {date}",
470
+ "record.metadata.link.postgis.table": "table :",
471
+ "record.metadata.link.postgis.tooltip": "PostGIS resources do not have access links",
470
472
  "record.metadata.linked.datasets": "Associated datasets",
471
473
  "record.metadata.linked.records": "Associated content",
472
474
  "record.metadata.linked.reuses": "Associated reuses",
@@ -507,6 +509,9 @@
507
509
  "record.metadata.quality.updateFrequency.failed": "Update frequency is not specified",
508
510
  "record.metadata.quality.updateFrequency.success": "Update frequency is specified",
509
511
  "record.metadata.related": "Explore the catalog",
512
+ "record.metadata.resourceCreated": "Created on {date}",
513
+ "record.metadata.resourcePublished": "Published on {date}",
514
+ "record.metadata.resourceUpdated": "Last updated on {date}",
510
515
  "record.metadata.ressources.and.links": "Resources and links",
511
516
  "record.metadata.sheet": "Original metadata",
512
517
  "record.metadata.status": "Status",
@@ -543,7 +548,6 @@
543
548
  "results.records.hits.found": "{hits, plural, =0{No record match the specified search.} one{1 record found.} other{{hits} records found.}}",
544
549
  "results.records.hits.selected": "{ amount } selected",
545
550
  "results.showMore": "Show more results...",
546
- "results.sortBy.changeDate": "Last modification",
547
551
  "results.sortBy.dateStamp": "Newest",
548
552
  "results.sortBy.popularity": "Popularity",
549
553
  "results.sortBy.qualityScore": "Completion score",
@@ -554,7 +558,7 @@
554
558
  "search.error.organizationHasNoDataset": "This organization has no records yet.",
555
559
  "search.error.organizationNotFound": "This organization could not be found.",
556
560
  "search.error.receivedError": "An error was received",
557
- "search.error.recordHasnolink": "This record currently has no link yet, please come back later.",
561
+ "search.error.recordHasnolink": "This record currently has no link.",
558
562
  "search.error.recordNotFound": "The record with identifier \"{ id }\" could not be found.",
559
563
  "search.field.any.placeholder": "Search in the catalog ...",
560
564
  "search.field.sortBy": "Sort by:",
@@ -418,6 +418,8 @@
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": "",
422
+ "record.metadata.api.accessServiceProtocol.stac": "",
421
423
  "record.metadata.api.accessServiceProtocol.tms": "",
422
424
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
425
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -465,7 +467,8 @@
465
467
  "record.metadata.isGeographical": "",
466
468
  "record.metadata.keywords": "",
467
469
  "record.metadata.languages": "",
468
- "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": "",
@@ -506,6 +509,9 @@
506
509
  "record.metadata.quality.updateFrequency.failed": "",
507
510
  "record.metadata.quality.updateFrequency.success": "",
508
511
  "record.metadata.related": "",
512
+ "record.metadata.resourceCreated": "",
513
+ "record.metadata.resourcePublished": "",
514
+ "record.metadata.resourceUpdated": "",
509
515
  "record.metadata.ressources.and.links": "Recursos y enlaces",
510
516
  "record.metadata.sheet": "",
511
517
  "record.metadata.status": "",
@@ -542,7 +548,6 @@
542
548
  "results.records.hits.found": "",
543
549
  "results.records.hits.selected": "",
544
550
  "results.showMore": "",
545
- "results.sortBy.changeDate": "",
546
551
  "results.sortBy.dateStamp": "",
547
552
  "results.sortBy.popularity": "",
548
553
  "results.sortBy.qualityScore": "",
@@ -418,6 +418,8 @@
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",
422
+ "record.metadata.api.accessServiceProtocol.stac": "STAC",
421
423
  "record.metadata.api.accessServiceProtocol.tms": "",
422
424
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
425
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -465,7 +467,8 @@
465
467
  "record.metadata.isGeographical": "Donnée géographique",
466
468
  "record.metadata.keywords": "Mots-clés",
467
469
  "record.metadata.languages": "Langues",
468
- "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",
@@ -506,6 +509,9 @@
506
509
  "record.metadata.quality.updateFrequency.failed": "La fréquence de mise à jour n'est pas renseignée",
507
510
  "record.metadata.quality.updateFrequency.success": "La fréquence de mise à jour est renseignée",
508
511
  "record.metadata.related": "Explorez le catalogue",
512
+ "record.metadata.resourceCreated": "Créé le {date}",
513
+ "record.metadata.resourcePublished": "Publié le {date}",
514
+ "record.metadata.resourceUpdated": "Mis à jour le {date}",
509
515
  "record.metadata.ressources.and.links": "Ressources et liens",
510
516
  "record.metadata.sheet": "Fiche de métadonnées d'origine",
511
517
  "record.metadata.status": "Statut",
@@ -542,7 +548,6 @@
542
548
  "results.records.hits.found": "{hits, plural, =0{Aucune correspondance.} one{1 ressource trouvée.} other{{hits} ressources.}}",
543
549
  "results.records.hits.selected": "{amount, plural, one{1 selectionné} other{{ amount } sélectionnés}}",
544
550
  "results.showMore": "Plus de résultats...",
545
- "results.sortBy.changeDate": "Dernière modification",
546
551
  "results.sortBy.dateStamp": "Plus récent",
547
552
  "results.sortBy.popularity": "Popularité",
548
553
  "results.sortBy.qualityScore": "Indicateur de complétion",
@@ -553,7 +558,7 @@
553
558
  "search.error.organizationHasNoDataset": "Cette organisation n'a pas encore de ressources.",
554
559
  "search.error.organizationNotFound": "L'organisation n'a pas pu être trouvée.",
555
560
  "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.",
561
+ "search.error.recordHasnolink": "Cette ressource n'a actuellement aucun lien.",
557
562
  "search.error.recordNotFound": "La ressource dont l'identifiant est \"{ id }\" n'a pas pu être trouvée.",
558
563
  "search.field.any.placeholder": "Rechercher dans le catalogue...",
559
564
  "search.field.sortBy": "Trier par :",
@@ -418,6 +418,8 @@
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": "",
422
+ "record.metadata.api.accessServiceProtocol.stac": "",
421
423
  "record.metadata.api.accessServiceProtocol.tms": "",
422
424
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
425
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -465,7 +467,8 @@
465
467
  "record.metadata.isGeographical": "Dati geografici",
466
468
  "record.metadata.keywords": "Parole chiave",
467
469
  "record.metadata.languages": "Lingue",
468
- "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": "",
@@ -506,6 +509,9 @@
506
509
  "record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
507
510
  "record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
508
511
  "record.metadata.related": "Vedi anche",
512
+ "record.metadata.resourceCreated": "Creato il {date}",
513
+ "record.metadata.resourcePublished": "Pubblicato il {date}",
514
+ "record.metadata.resourceUpdated": "Ultimo aggiornamento il {date}",
509
515
  "record.metadata.ressources.and.links": "Risorse e collegamenti",
510
516
  "record.metadata.sheet": "Origine del metadata",
511
517
  "record.metadata.status": "Stato",
@@ -542,7 +548,6 @@
542
548
  "results.records.hits.found": "{hits, plural, =0{Nessuna corrispondenza.} one{1 record trovato.} other{{hits} risultati.}}",
543
549
  "results.records.hits.selected": "{amount, plural, one{1 selezionato} other{{ amount } selezionati}}",
544
550
  "results.showMore": "Altri risultati...",
545
- "results.sortBy.changeDate": "Ultima modifica",
546
551
  "results.sortBy.dateStamp": "Più recente",
547
552
  "results.sortBy.popularity": "Popolarità",
548
553
  "results.sortBy.qualityScore": "Indicatore di completamento",
@@ -553,7 +558,7 @@
553
558
  "search.error.organizationHasNoDataset": "Questa organizzazione non ha ancora records.",
554
559
  "search.error.organizationNotFound": "Impossibile trovare l'organizzazione.",
555
560
  "search.error.receivedError": "Errore restituito",
556
- "search.error.recordHasnolink": "Questo record non ha ancora alcun collegamento, riprova più tardi.",
561
+ "search.error.recordHasnolink": "Questo record non ha attualmente alcun collegamento.",
557
562
  "search.error.recordNotFound": "Impossibile trovare questi record.",
558
563
  "search.field.any.placeholder": "Cerca del catalogo...",
559
564
  "search.field.sortBy": "Ordina per:",
@@ -418,6 +418,8 @@
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": "",
422
+ "record.metadata.api.accessServiceProtocol.stac": "",
421
423
  "record.metadata.api.accessServiceProtocol.tms": "",
422
424
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
425
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -465,7 +467,8 @@
465
467
  "record.metadata.isGeographical": "",
466
468
  "record.metadata.keywords": "",
467
469
  "record.metadata.languages": "",
468
- "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": "",
@@ -506,6 +509,9 @@
506
509
  "record.metadata.quality.updateFrequency.failed": "",
507
510
  "record.metadata.quality.updateFrequency.success": "",
508
511
  "record.metadata.related": "",
512
+ "record.metadata.resourceCreated": "",
513
+ "record.metadata.resourcePublished": "",
514
+ "record.metadata.resourceUpdated": "",
509
515
  "record.metadata.ressources.and.links": "Bronnen en links",
510
516
  "record.metadata.sheet": "",
511
517
  "record.metadata.status": "",
@@ -542,7 +548,6 @@
542
548
  "results.records.hits.found": "",
543
549
  "results.records.hits.selected": "",
544
550
  "results.showMore": "",
545
- "results.sortBy.changeDate": "",
546
551
  "results.sortBy.dateStamp": "",
547
552
  "results.sortBy.popularity": "",
548
553
  "results.sortBy.qualityScore": "",
@@ -418,6 +418,8 @@
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": "",
422
+ "record.metadata.api.accessServiceProtocol.stac": "",
421
423
  "record.metadata.api.accessServiceProtocol.tms": "",
422
424
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
425
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -465,7 +467,8 @@
465
467
  "record.metadata.isGeographical": "",
466
468
  "record.metadata.keywords": "",
467
469
  "record.metadata.languages": "",
468
- "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": "",
@@ -506,6 +509,9 @@
506
509
  "record.metadata.quality.updateFrequency.failed": "",
507
510
  "record.metadata.quality.updateFrequency.success": "",
508
511
  "record.metadata.related": "",
512
+ "record.metadata.resourceCreated": "",
513
+ "record.metadata.resourcePublished": "",
514
+ "record.metadata.resourceUpdated": "",
509
515
  "record.metadata.ressources.and.links": "Recursos e links",
510
516
  "record.metadata.sheet": "",
511
517
  "record.metadata.status": "",
@@ -542,7 +548,6 @@
542
548
  "results.records.hits.found": "",
543
549
  "results.records.hits.selected": "",
544
550
  "results.showMore": "",
545
- "results.sortBy.changeDate": "",
546
551
  "results.sortBy.dateStamp": "",
547
552
  "results.sortBy.popularity": "",
548
553
  "results.sortBy.qualityScore": "",
@@ -418,6 +418,8 @@
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": "",
422
+ "record.metadata.api.accessServiceProtocol.stac": "",
421
423
  "record.metadata.api.accessServiceProtocol.tms": "",
422
424
  "record.metadata.api.accessServiceProtocol.wfs": "",
423
425
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -465,7 +467,8 @@
465
467
  "record.metadata.isGeographical": "Súbor geografických údajov",
466
468
  "record.metadata.keywords": "Kľúčové slová",
467
469
  "record.metadata.languages": "",
468
- "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": "",
@@ -506,6 +509,9 @@
506
509
  "record.metadata.quality.updateFrequency.failed": "Frekvencia aktualizácie nie je určená",
507
510
  "record.metadata.quality.updateFrequency.success": "Frekvencia aktualizácie je určená",
508
511
  "record.metadata.related": "Súvisiace záznamy",
512
+ "record.metadata.resourceCreated": "",
513
+ "record.metadata.resourcePublished": "",
514
+ "record.metadata.resourceUpdated": "",
509
515
  "record.metadata.ressources.and.links": "Prostředky a odkazy",
510
516
  "record.metadata.sheet": "Ďalšie metadáta sú k dispozícii na:",
511
517
  "record.metadata.status": "Stav",
@@ -542,7 +548,6 @@
542
548
  "results.records.hits.found": "{hits, plural, =0{Žiadne dokumenty nezodpovedajú zadanému vyhľadávaniu.} one{1 záznam nájdený.} other{{hits} záznamov nájdených.}}",
543
549
  "results.records.hits.selected": "{ amount } označených",
544
550
  "results.showMore": "Zobraziť viac výsledkov...",
545
- "results.sortBy.changeDate": "",
546
551
  "results.sortBy.dateStamp": "Najnovšie",
547
552
  "results.sortBy.popularity": "Popularita",
548
553
  "results.sortBy.qualityScore": "Indikátor dokončenia",