geonetwork-ui 2.11.0-dev.5c2e5295e → 2.11.0-dev.6804f3b43

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 (99) hide show
  1. package/fesm2022/geonetwork-ui.mjs +2533 -1984
  2. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  3. package/index.d.ts +323 -153
  4. package/index.d.ts.map +1 -1
  5. package/package.json +12 -11
  6. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +43 -13
  7. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +135 -35
  8. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +40 -16
  9. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +12 -0
  10. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +2 -0
  11. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +24 -2
  12. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +2 -2
  13. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -2
  14. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +2 -1
  15. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +22 -22
  16. package/src/libs/feature/map/src/index.ts +0 -2
  17. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +1 -0
  18. package/src/libs/feature/map/src/lib/feature-map.module.ts +1 -8
  19. package/src/libs/feature/notifications/src/lib/notifications.service.ts +6 -4
  20. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.ts +8 -3
  21. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +4 -8
  22. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +7 -16
  23. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +1 -3
  24. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +4 -9
  25. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +2 -7
  26. package/src/libs/feature/router/src/lib/default/state/query-params.utils.ts +1 -1
  27. package/src/libs/feature/search/src/index.ts +2 -0
  28. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.html +12 -4
  29. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +63 -19
  30. package/src/libs/feature/{map/src/lib → search/src/lib/geocoding}/geocoding.service.ts +16 -7
  31. package/src/libs/feature/search/src/lib/location-search/location-search.component.html +8 -0
  32. package/src/libs/feature/search/src/lib/location-search/location-search.component.ts +40 -0
  33. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +19 -8
  34. package/src/libs/feature/search/src/lib/state/reducer.ts +1 -4
  35. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +58 -4
  36. package/src/libs/feature/search/src/lib/utils/service/fields.ts +92 -9
  37. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -7
  38. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +31 -19
  39. package/src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts +2 -2
  40. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +2 -1
  41. package/src/libs/ui/inputs/src/index.ts +2 -0
  42. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +10 -1
  43. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +8 -0
  44. package/src/libs/ui/inputs/src/lib/date-adapter.providers.ts +30 -0
  45. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +3 -24
  46. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.css +37 -3
  47. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.html +135 -16
  48. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.ts +166 -29
  49. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +3 -7
  50. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.css +1 -0
  51. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.html +20 -7
  52. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.ts +46 -5
  53. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +7 -4
  54. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +12 -9
  55. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.model.ts +2 -2
  56. package/src/libs/ui/inputs/src/lib/spatial-extent-dropdown/spatial-extent-dropdown.component.html +111 -0
  57. package/src/libs/ui/inputs/src/lib/spatial-extent-dropdown/spatial-extent-dropdown.component.ts +221 -0
  58. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +1 -0
  59. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +6 -5
  60. package/src/libs/util/app-config/src/lib/app-config.ts +25 -0
  61. package/src/libs/util/app-config/src/lib/fixtures.ts +33 -1
  62. package/src/libs/util/app-config/src/lib/model.ts +15 -1
  63. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +19 -22
  64. package/src/libs/util/data-fetcher/src/lib/engine/duckdb.ts +185 -0
  65. package/src/libs/util/data-fetcher/src/lib/engine/results.ts +63 -0
  66. package/src/libs/util/data-fetcher/src/lib/{sql-utils.ts → engine/sql-utils.ts} +28 -13
  67. package/src/libs/util/data-fetcher/src/lib/model.ts +2 -1
  68. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +53 -38
  69. package/src/libs/util/data-fetcher/src/lib/readers/base.ts +11 -0
  70. package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +9 -47
  71. package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +27 -27
  72. package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +5 -24
  73. package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +5 -49
  74. package/src/libs/util/data-fetcher/src/lib/readers/json.ts +5 -23
  75. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +184 -128
  76. package/src/libs/util/data-fetcher/src/lib/utils.ts +0 -143
  77. package/src/libs/util/shared/src/index.ts +1 -0
  78. package/src/libs/util/shared/src/lib/autofocus.directive.ts +26 -0
  79. package/src/libs/util/shared/src/lib/links/link-utils.ts +19 -10
  80. package/src/libs/util/shared/src/lib/services/date.service.ts +3 -3
  81. package/src/libs/util/shared/src/lib/utils/file.ts +15 -0
  82. package/src/libs/util/shared/src/lib/utils/geojson.ts +24 -0
  83. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  84. package/tailwind.base.css +5 -0
  85. package/translations/de.json +22 -4
  86. package/translations/en.json +21 -3
  87. package/translations/es.json +19 -1
  88. package/translations/fr.json +26 -8
  89. package/translations/it.json +20 -2
  90. package/translations/nl.json +19 -1
  91. package/translations/pt.json +19 -1
  92. package/translations/sk.json +20 -2
  93. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +0 -41
  94. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +0 -112
  95. package/src/libs/feature/map/src/lib/style/index.ts +0 -2
  96. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +0 -47
  97. package/src/libs/feature/map/src/lib/style/map-style.service.ts +0 -108
  98. package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +0 -14
  99. /package/src/libs/{feature/map/src/lib/geocoding/geocoding.component.css → ui/inputs/src/lib/spatial-extent-dropdown/spatial-extent-dropdown.component.css} +0 -0
@@ -344,7 +344,11 @@ export function getLinkLabel(
344
344
  return format ? `${label} (${format})` : label
345
345
  }
346
346
 
347
- export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
347
+ export async function getLayers(
348
+ url: string,
349
+ serviceProtocol: ServiceProtocol,
350
+ deep = false
351
+ ) {
348
352
  switch (serviceProtocol) {
349
353
  case 'ogcFeatures': {
350
354
  const layers = await new OgcApiEndpoint(url).allCollections
@@ -352,7 +356,10 @@ export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
352
356
  }
353
357
  case 'wfs': {
354
358
  const endpointWfs = await new WfsEndpoint(url).isReady()
355
- const featureTypes = await endpointWfs.getFeatureTypes()
359
+ const featureTypes = endpointWfs.getFeatureTypes()
360
+ if (!deep) {
361
+ return featureTypes
362
+ }
356
363
  const layers = (
357
364
  await Promise.allSettled(
358
365
  featureTypes.map((collection) => {
@@ -366,14 +373,16 @@ export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
366
373
  }
367
374
  case 'wms': {
368
375
  const endpointWms = await new WmsEndpoint(url).isReady()
369
- const layers = (
370
- await endpointWms
371
- .getLayers()
372
- .flatMap(wmsLayerFlatten)
373
- .filter((l) => l.name)
374
- ).map((collection) => {
375
- return endpointWms.getLayerByName(collection.name)
376
- })
376
+ const layersSummary = endpointWms
377
+ .getLayers()
378
+ .flatMap(wmsLayerFlatten)
379
+ .filter((l) => l.name)
380
+ if (!deep) {
381
+ return layersSummary
382
+ }
383
+ const layers = layersSummary.map((collection) =>
384
+ endpointWms.getLayerByName(collection.name)
385
+ )
377
386
  return layers
378
387
  }
379
388
  case 'wmts': {
@@ -35,10 +35,10 @@ export class DateService {
35
35
  return { locale, dateObj }
36
36
  }
37
37
 
38
- private async getDateLocale(): Promise<Locale> {
38
+ async getDateFnsLocale(): Promise<Locale> {
39
39
  const lang = this.translateService.getCurrentLang() || DEFAULT_LANGUAGE
40
40
  const locales = await this.dateLocales
41
- return locales[lang]
41
+ return locales[lang] ?? locales[DEFAULT_LANGUAGE]
42
42
  }
43
43
 
44
44
  formatDate(
@@ -61,7 +61,7 @@ export class DateService {
61
61
  const dateObj = this.getDateObject(date)
62
62
 
63
63
  const now = new Date()
64
- const locale = await this.getDateLocale()
64
+ const locale = await this.getDateFnsLocale()
65
65
 
66
66
  return formatDistance(dateObj, now, {
67
67
  addSuffix: true,
@@ -0,0 +1,15 @@
1
+ export function isFileExtensionValid(
2
+ fileName: string,
3
+ acceptedExtensions: string[]
4
+ ): boolean {
5
+ return acceptedExtensions.some((ext) => fileName.toLowerCase().endsWith(ext))
6
+ }
7
+
8
+ export function readFileAsText(file: File): Promise<string> {
9
+ return new Promise((resolve, reject) => {
10
+ const reader = new FileReader()
11
+ reader.onload = () => resolve(reader.result as string)
12
+ reader.onerror = () => reject(reader.error)
13
+ reader.readAsText(file)
14
+ })
15
+ }
@@ -38,6 +38,30 @@ export function getGeometryFromGeoJSON(
38
38
  // FIXME: this type should be more generic across the project
39
39
  export type BoundingBox = [number, number, number, number]
40
40
 
41
+ export function isBoundingBox(value: unknown): value is BoundingBox {
42
+ return (
43
+ Array.isArray(value) &&
44
+ value.length === 4 &&
45
+ value.every((item) => typeof item === 'number')
46
+ )
47
+ }
48
+
49
+ /**
50
+ * Checks that a bounding box's coordinates stay within the valid
51
+ * longitude (-180/180) and latitude (-90/90) ranges.
52
+ */
53
+ export function isBoundingBoxWithinWorldExtent(bbox: BoundingBox): boolean {
54
+ const [minX, minY, maxX, maxY] = bbox
55
+ return (
56
+ minX >= -180 &&
57
+ maxX <= 180 &&
58
+ minY >= -90 &&
59
+ maxY <= 90 &&
60
+ minX <= maxX &&
61
+ minY <= maxY
62
+ )
63
+ }
64
+
41
65
  export function getGeometryBoundingBox(geometry: Geometry): BoundingBox {
42
66
  // use the bounding box if specified in the GeoJSON object
43
67
  if (geometry.bbox) {
@@ -1,5 +1,6 @@
1
1
  export * from './bytes-convert'
2
2
  export * from './event'
3
+ export * from './file'
3
4
  export * from './format-fields'
4
5
  export * from './fuzzy-filter'
5
6
  export * from './geojson'
package/tailwind.base.css CHANGED
@@ -224,6 +224,11 @@
224
224
  disabled:cursor-not-allowed disabled:border-gray-100 disabled:placeholder-gray-300 disabled:text-gray-700 disabled:bg-white;
225
225
  }
226
226
 
227
+ .gn-ui-gray-outline-input {
228
+ @apply bg-white rounded-lg
229
+ border border-gray-400 hover:border-neutral-300 hover:bg-black/10;
230
+ }
231
+
227
232
  /* GENERIC CARD */
228
233
  .gn-ui-card {
229
234
  @apply flex flex-row border border-gray-200 rounded-xl p-4 gap-2 w-full;
@@ -65,9 +65,10 @@
65
65
  "dataset.error.restrictedAccess": "",
66
66
  "dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
67
67
  "dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
68
- "daterange.filter.from": "Von",
68
+ "daterange.filter.datePlaceholder": "tt.mm.jjjj",
69
+ "daterange.filter.from": "Ab dem",
69
70
  "daterange.filter.period": "Zeitraum auswählen",
70
- "daterange.filter.to": "Bis",
71
+ "daterange.filter.to": "Bis zum",
71
72
  "domain.contact.role.author": "Autor",
72
73
  "domain.contact.role.collaborator": "Mitarbeiter",
73
74
  "domain.contact.role.contributor": "Beitragender",
@@ -424,7 +425,6 @@
424
425
  "map.add.layer.wms": "Aus WMS",
425
426
  "map.addFromFile.placeholder": "Klicke hier oder ziehe eine Datei herein",
426
427
  "map.dropdown.placeholder": "Kein Vorschaulayer verfügbar",
427
- "map.geocoding.placeholder": "Nach einem Ort suchen",
428
428
  "map.help.addFromFile": "Klicke oder ziehe eine Datei herein um eine Karte hinzuzufügen (momentan wird nur das GeoJSON-Format unterstützt).",
429
429
  "map.layer.add": "Hinzufügen",
430
430
  "map.layers.available": "Verfügbare Layer",
@@ -545,11 +545,12 @@
545
545
  "record.metadata.download": "Herunterladen",
546
546
  "record.metadata.feature.catalog": "Attributkatalog",
547
547
  "record.metadata.formats": "Formate",
548
- "record.metadata.isGeographical": "geographischer Datensatz",
548
+ "record.metadata.isGeographical": "geo",
549
549
  "record.metadata.keywords": "Stichworte",
550
550
  "record.metadata.languages": "Sprachen",
551
551
  "record.metadata.link.postgis.table": "Tabelle:",
552
552
  "record.metadata.link.postgis.tooltip": "PostGIS-Ressourcen haben keinen Zugriffslink.",
553
+ "record.metadata.linked.associatedRecords": "",
553
554
  "record.metadata.linked.datasets": "Verknüpfte Datensätze",
554
555
  "record.metadata.linked.records": "Verknüpfte Inhalte",
555
556
  "record.metadata.linked.reuses": "Verknüpfte Wiederverwendungen",
@@ -657,6 +658,7 @@
657
658
  "search.filters.changeDate": "Letzte Aktualisierung",
658
659
  "search.filters.clear": "Zurücksetzen",
659
660
  "search.filters.contact": "Kontakte",
661
+ "search.filters.documentStandard": "Dokumentenstandard",
660
662
  "search.filters.format": "Formate",
661
663
  "search.filters.inspireKeyword": "INSPIRE-Schlüsselwort",
662
664
  "search.filters.isSpatial": "Ist räumliche Daten",
@@ -688,10 +690,26 @@
688
690
  "search.filters.recordKind.reuse": "Wiederverwendungen",
689
691
  "search.filters.recordKind.service": "Dienste",
690
692
  "search.filters.representationType": "Repräsentationstyp",
693
+ "search.filters.resourceCreationRevisionDate": "Ressourcendatum",
691
694
  "search.filters.resourceType": "Ressourcentyp",
695
+ "search.filters.spatialExtent": "",
696
+ "search.filters.spatialExtent.bboxFromFile": "",
697
+ "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxInitial": "",
699
+ "search.filters.spatialExtent.bboxInitialDelete": "",
700
+ "search.filters.spatialExtent.error.fileTooLarge": "",
701
+ "search.filters.spatialExtent.error.invalidFormat": "",
702
+ "search.filters.spatialExtent.error.noGeometry": "",
703
+ "search.filters.spatialExtent.error.outOfBounds": "",
704
+ "search.filters.spatialExtent.error.title": "",
705
+ "search.filters.spatialExtent.helpText": "",
706
+ "search.filters.spatialExtent.import": "",
692
707
  "search.filters.standard": "Standard",
693
708
  "search.filters.summaryLabel.changeDate": "Geändert am: ",
709
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "Ressourcendatum: ",
710
+ "search.filters.summaryLabel.temporalExtent": "Zeitlicher Umfang: ",
694
711
  "search.filters.summaryLabel.user": "Geändert von: ",
712
+ "search.filters.temporalExtent": "Zeitlicher Umfang",
695
713
  "search.filters.title": "Ergebnisse filtern",
696
714
  "search.filters.topic": "Themen",
697
715
  "search.filters.useSpatialFilter": "Zuerst Ressourcen im Interessenbereich anzeigen",
@@ -65,9 +65,10 @@
65
65
  "dataset.error.restrictedAccess": "Access to this resource is restricted",
66
66
  "dataset.error.unknown": "The data cannot be displayed: \"{ info }\"",
67
67
  "dataset.error.unsupportedType": "The following content type is unsupported: \"{ info }\"",
68
+ "daterange.filter.datePlaceholder": "mm/dd/yyyy",
68
69
  "daterange.filter.from": "From",
69
70
  "daterange.filter.period": "Period",
70
- "daterange.filter.to": "To",
71
+ "daterange.filter.to": "Until",
71
72
  "domain.contact.role.author": "Author",
72
73
  "domain.contact.role.collaborator": "Collaborator",
73
74
  "domain.contact.role.contributor": "Contributor",
@@ -424,7 +425,6 @@
424
425
  "map.add.layer.wms": "From WMS",
425
426
  "map.addFromFile.placeholder": "Click or drop a file here",
426
427
  "map.dropdown.placeholder": "No preview layer available",
427
- "map.geocoding.placeholder": "Search for a place",
428
428
  "map.help.addFromFile": "Click or drag and drop a file to add to the map (currently supports GeoJSON format only).",
429
429
  "map.layer.add": "Add",
430
430
  "map.layers.available": "Available Layers",
@@ -545,11 +545,12 @@
545
545
  "record.metadata.download": "Downloads",
546
546
  "record.metadata.feature.catalog": "Feature catalog",
547
547
  "record.metadata.formats": "Formats",
548
- "record.metadata.isGeographical": "geographic dataset",
548
+ "record.metadata.isGeographical": "geo",
549
549
  "record.metadata.keywords": "Keywords",
550
550
  "record.metadata.languages": "Languages",
551
551
  "record.metadata.link.postgis.table": "table :",
552
552
  "record.metadata.link.postgis.tooltip": "PostGIS resources do not have access links",
553
+ "record.metadata.linked.associatedRecords": "Records referencing the current one",
553
554
  "record.metadata.linked.datasets": "Associated datasets",
554
555
  "record.metadata.linked.records": "Associated content",
555
556
  "record.metadata.linked.reuses": "Associated reuses",
@@ -657,6 +658,7 @@
657
658
  "search.filters.changeDate": "Updated",
658
659
  "search.filters.clear": "Reset",
659
660
  "search.filters.contact": "Contacts",
661
+ "search.filters.documentStandard": "Document standard",
660
662
  "search.filters.format": "Formats",
661
663
  "search.filters.inspireKeyword": "INSPIRE keyword",
662
664
  "search.filters.isSpatial": "Is spatial data",
@@ -688,10 +690,26 @@
688
690
  "search.filters.recordKind.reuse": "Reuses",
689
691
  "search.filters.recordKind.service": "Services",
690
692
  "search.filters.representationType": "Representation type",
693
+ "search.filters.resourceCreationRevisionDate": "Resource date",
691
694
  "search.filters.resourceType": "Resource type",
695
+ "search.filters.spatialExtent": "Spatial extent",
696
+ "search.filters.spatialExtent.bboxFromFile": "Extent from {fileName}",
697
+ "search.filters.spatialExtent.bboxFromFileDelete": "Delete {fileName}",
698
+ "search.filters.spatialExtent.bboxInitial": "Pre-selected extent",
699
+ "search.filters.spatialExtent.bboxInitialDelete": "Delete selection",
700
+ "search.filters.spatialExtent.error.fileTooLarge": "The file exceeds the maximum allowed size ({maxSize} MB)",
701
+ "search.filters.spatialExtent.error.invalidFormat": "The file could not be read as a valid GeoJSON",
702
+ "search.filters.spatialExtent.error.noGeometry": "No geometry could be found in the file",
703
+ "search.filters.spatialExtent.error.outOfBounds": "The geometry of the GeoJSON file is not compliant; either some coordinates are out of bounds ([-180, 180] for longitude and [-90, 90] for latitude), or the file uses projected coordinates instead of longitude and latitude",
704
+ "search.filters.spatialExtent.error.title": "GeoJSON import error",
705
+ "search.filters.spatialExtent.helpText": "The extent of the selected geometry will be used",
706
+ "search.filters.spatialExtent.import": "Import a GeoJSON",
692
707
  "search.filters.standard": "Standard",
693
708
  "search.filters.summaryLabel.changeDate": "Updated: ",
709
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "Resource date: ",
710
+ "search.filters.summaryLabel.temporalExtent": "Temporal extent: ",
694
711
  "search.filters.summaryLabel.user": "Editor: ",
712
+ "search.filters.temporalExtent": "Temporal extent",
695
713
  "search.filters.title": "Filter your results",
696
714
  "search.filters.topic": "Topics",
697
715
  "search.filters.useSpatialFilter": "Show records in the area of interest first",
@@ -65,6 +65,7 @@
65
65
  "dataset.error.restrictedAccess": "",
66
66
  "dataset.error.unknown": "",
67
67
  "dataset.error.unsupportedType": "",
68
+ "daterange.filter.datePlaceholder": "dd/mm/aaaa",
68
69
  "daterange.filter.from": "",
69
70
  "daterange.filter.period": "",
70
71
  "daterange.filter.to": "",
@@ -424,7 +425,6 @@
424
425
  "map.add.layer.wms": "",
425
426
  "map.addFromFile.placeholder": "",
426
427
  "map.dropdown.placeholder": "",
427
- "map.geocoding.placeholder": "",
428
428
  "map.help.addFromFile": "",
429
429
  "map.layer.add": "",
430
430
  "map.layers.available": "",
@@ -550,6 +550,7 @@
550
550
  "record.metadata.languages": "",
551
551
  "record.metadata.link.postgis.table": "",
552
552
  "record.metadata.link.postgis.tooltip": "",
553
+ "record.metadata.linked.associatedRecords": "",
553
554
  "record.metadata.linked.datasets": "",
554
555
  "record.metadata.linked.records": "",
555
556
  "record.metadata.linked.reuses": "",
@@ -657,6 +658,7 @@
657
658
  "search.filters.changeDate": "Última actualización",
658
659
  "search.filters.clear": "",
659
660
  "search.filters.contact": "",
661
+ "search.filters.documentStandard": "",
660
662
  "search.filters.format": "",
661
663
  "search.filters.inspireKeyword": "",
662
664
  "search.filters.isSpatial": "",
@@ -688,10 +690,26 @@
688
690
  "search.filters.recordKind.reuse": "",
689
691
  "search.filters.recordKind.service": "",
690
692
  "search.filters.representationType": "",
693
+ "search.filters.resourceCreationRevisionDate": "",
691
694
  "search.filters.resourceType": "",
695
+ "search.filters.spatialExtent": "",
696
+ "search.filters.spatialExtent.bboxFromFile": "",
697
+ "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxInitial": "",
699
+ "search.filters.spatialExtent.bboxInitialDelete": "",
700
+ "search.filters.spatialExtent.error.fileTooLarge": "",
701
+ "search.filters.spatialExtent.error.invalidFormat": "",
702
+ "search.filters.spatialExtent.error.noGeometry": "",
703
+ "search.filters.spatialExtent.error.outOfBounds": "",
704
+ "search.filters.spatialExtent.error.title": "",
705
+ "search.filters.spatialExtent.helpText": "",
706
+ "search.filters.spatialExtent.import": "",
692
707
  "search.filters.standard": "",
693
708
  "search.filters.summaryLabel.changeDate": "",
709
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "",
710
+ "search.filters.summaryLabel.temporalExtent": "",
694
711
  "search.filters.summaryLabel.user": "",
712
+ "search.filters.temporalExtent": "",
695
713
  "search.filters.title": "",
696
714
  "search.filters.topic": "",
697
715
  "search.filters.useSpatialFilter": "",
@@ -65,9 +65,10 @@
65
65
  "dataset.error.restrictedAccess": "L’accès à cette ressource est restreint",
66
66
  "dataset.error.unknown": "Les données ne peuvent être affichées: \"{ info }\"",
67
67
  "dataset.error.unsupportedType": "Le type de contenu suivant n'est pas pris en charge: \"{ info }\"",
68
- "daterange.filter.from": "Du",
68
+ "daterange.filter.datePlaceholder": "jj/mm/aaaa",
69
+ "daterange.filter.from": "A partir du",
69
70
  "daterange.filter.period": "Choix de la période",
70
- "daterange.filter.to": "Au",
71
+ "daterange.filter.to": "Jusqu'au",
71
72
  "domain.contact.role.author": "Auteur",
72
73
  "domain.contact.role.collaborator": "Collaborateur",
73
74
  "domain.contact.role.contributor": "Contributeur",
@@ -76,13 +77,13 @@
76
77
  "domain.contact.role.editor": "Éditeur",
77
78
  "domain.contact.role.funder": "Financeur",
78
79
  "domain.contact.role.mediator": "Médiateur",
79
- "domain.contact.role.originator": "Créateur",
80
+ "domain.contact.role.originator": "Producteur",
80
81
  "domain.contact.role.other": "Autre",
81
82
  "domain.contact.role.owner": "Propriétaire",
82
83
  "domain.contact.role.point_of_contact": "Point de contact",
83
- "domain.contact.role.principal_investigator": "Chercheur principal",
84
- "domain.contact.role.processor": "Processeur",
85
- "domain.contact.role.publisher": "Producteur",
84
+ "domain.contact.role.principal_investigator": "Investigateur principal",
85
+ "domain.contact.role.processor": "Exécutant",
86
+ "domain.contact.role.publisher": "Editeur (publication)",
86
87
  "domain.contact.role.resource_provider": "Fournisseur",
87
88
  "domain.contact.role.rights_holder": "Détenteur des droits",
88
89
  "domain.contact.role.sponsor": "Sponsor",
@@ -424,7 +425,6 @@
424
425
  "map.add.layer.wms": "Depuis un service WMS",
425
426
  "map.addFromFile.placeholder": "Cliquez ou déposez un fichier ici",
426
427
  "map.dropdown.placeholder": "Aucune couche d'aperçu disponible",
427
- "map.geocoding.placeholder": "Rechercher un lieu",
428
428
  "map.help.addFromFile": "Cliquez ou glissez-déposez un fichier pour l'ajouter à la carte (supporte actuellement uniquement le format GeoJSON).",
429
429
  "map.layer.add": "Ajouter",
430
430
  "map.layers.available": "Couches disponibles",
@@ -545,11 +545,12 @@
545
545
  "record.metadata.download": "Téléchargements",
546
546
  "record.metadata.feature.catalog": "Catalogue d'attributs",
547
547
  "record.metadata.formats": "Formats",
548
- "record.metadata.isGeographical": "donnée géographique",
548
+ "record.metadata.isGeographical": "géo",
549
549
  "record.metadata.keywords": "Mots-clés",
550
550
  "record.metadata.languages": "Langues",
551
551
  "record.metadata.link.postgis.table": "table :",
552
552
  "record.metadata.link.postgis.tooltip": "Les ressources de type PostGIS n'ont pas de lien d'accès",
553
+ "record.metadata.linked.associatedRecords": "Jeux de données faisant référence à celui-ci",
553
554
  "record.metadata.linked.datasets": "Jeux de données associés",
554
555
  "record.metadata.linked.records": "Contenus associés",
555
556
  "record.metadata.linked.reuses": "Réutilisations associées",
@@ -657,6 +658,7 @@
657
658
  "search.filters.changeDate": "Mise à jour",
658
659
  "search.filters.clear": "Réinitialiser",
659
660
  "search.filters.contact": "Contacts",
661
+ "search.filters.documentStandard": "Norme de document",
660
662
  "search.filters.format": "Formats",
661
663
  "search.filters.inspireKeyword": "Mot-clé INSPIRE",
662
664
  "search.filters.isSpatial": "Données spatiales",
@@ -688,10 +690,26 @@
688
690
  "search.filters.recordKind.reuse": "Réutilisations",
689
691
  "search.filters.recordKind.service": "Services",
690
692
  "search.filters.representationType": "Type de représentation",
693
+ "search.filters.resourceCreationRevisionDate": "Date de la ressource",
691
694
  "search.filters.resourceType": "Type de ressource",
695
+ "search.filters.spatialExtent": "Étendue spatiale",
696
+ "search.filters.spatialExtent.bboxFromFile": "Étendue de {fileName}",
697
+ "search.filters.spatialExtent.bboxFromFileDelete": "Supprimer {fileName}",
698
+ "search.filters.spatialExtent.bboxInitial": "Étendue présélectionnée",
699
+ "search.filters.spatialExtent.bboxInitialDelete": "Supprimer la sélection",
700
+ "search.filters.spatialExtent.error.fileTooLarge": "Le fichier dépasse la taille maximale autorisée ({maxSize} Mo)",
701
+ "search.filters.spatialExtent.error.invalidFormat": "Le fichier n'a pas pu être lu comme un GeoJSON valide",
702
+ "search.filters.spatialExtent.error.noGeometry": "Aucune géométrie n'a pu être trouvée dans le fichier",
703
+ "search.filters.spatialExtent.error.outOfBounds": "La géométrie du fichier GeoJSON n'est pas conforme ; soit certaines coordonnées sont hors limites ([-180, 180] pour la longitude et [-90, 90] pour la latitude), soit le fichier utilise des coordonnées projetées au lieu de la longitude et de la latitude.",
704
+ "search.filters.spatialExtent.error.title": "Erreur d'importation GeoJSON",
705
+ "search.filters.spatialExtent.helpText": "L'étendue de la géométrie sélectionnée sera utilisée",
706
+ "search.filters.spatialExtent.import": "Importer un GeoJSON",
692
707
  "search.filters.standard": "Standard",
693
708
  "search.filters.summaryLabel.changeDate": "Mise à jour : ",
709
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "Date de la ressource : ",
710
+ "search.filters.summaryLabel.temporalExtent": "Étendue temporelle : ",
694
711
  "search.filters.summaryLabel.user": "Éditeur : ",
712
+ "search.filters.temporalExtent": "Étendue temporelle",
695
713
  "search.filters.title": "Affiner votre recherche",
696
714
  "search.filters.topic": "Thèmes",
697
715
  "search.filters.useSpatialFilter": "Mettre en avant les ressources sur la zone d'intérêt",
@@ -65,6 +65,7 @@
65
65
  "dataset.error.restrictedAccess": "L'accesso a questa risorsa è limitato",
66
66
  "dataset.error.unknown": "Impossibile visualizzare i dati: \"{info}\"",
67
67
  "dataset.error.unsupportedType": "Il seguente tipo di contenuto non è supportato: \"{info}\"",
68
+ "daterange.filter.datePlaceholder": "gg/mm/aaaa",
68
69
  "daterange.filter.from": "",
69
70
  "daterange.filter.period": "",
70
71
  "daterange.filter.to": "",
@@ -424,7 +425,6 @@
424
425
  "map.add.layer.wms": "Da un WMS",
425
426
  "map.addFromFile.placeholder": "Clicca o trascina un file qui",
426
427
  "map.dropdown.placeholder": "Nessun livello di anteprima disponibile",
427
- "map.geocoding.placeholder": "Cerca un luogo",
428
428
  "map.help.addFromFile": "Clicca o trascina un file per aggiungerlo alla mappa (attualmente supporta solo il formato GeoJSON)",
429
429
  "map.layer.add": "Aggiungi",
430
430
  "map.layers.available": "Layer disponibili",
@@ -545,11 +545,12 @@
545
545
  "record.metadata.download": "Download",
546
546
  "record.metadata.feature.catalog": "Catalogo dei oggetti",
547
547
  "record.metadata.formats": "Formati",
548
- "record.metadata.isGeographical": "dati geografici",
548
+ "record.metadata.isGeographical": "geo",
549
549
  "record.metadata.keywords": "Parole chiave",
550
550
  "record.metadata.languages": "Lingue",
551
551
  "record.metadata.link.postgis.table": "",
552
552
  "record.metadata.link.postgis.tooltip": "",
553
+ "record.metadata.linked.associatedRecords": "",
553
554
  "record.metadata.linked.datasets": "",
554
555
  "record.metadata.linked.records": "",
555
556
  "record.metadata.linked.reuses": "",
@@ -657,6 +658,7 @@
657
658
  "search.filters.changeDate": "Aggiornato",
658
659
  "search.filters.clear": "Ripristina",
659
660
  "search.filters.contact": "Contatti",
661
+ "search.filters.documentStandard": "",
660
662
  "search.filters.format": "Formati",
661
663
  "search.filters.inspireKeyword": "Parola chiave INSPIRE",
662
664
  "search.filters.isSpatial": "Dati spaziali",
@@ -688,10 +690,26 @@
688
690
  "search.filters.recordKind.reuse": "Riutilizzi",
689
691
  "search.filters.recordKind.service": "Servizi",
690
692
  "search.filters.representationType": "Tipo di rappresentazione",
693
+ "search.filters.resourceCreationRevisionDate": "Data della risorsa",
691
694
  "search.filters.resourceType": "Tipo di risorsa",
695
+ "search.filters.spatialExtent": "",
696
+ "search.filters.spatialExtent.bboxFromFile": "",
697
+ "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxInitial": "",
699
+ "search.filters.spatialExtent.bboxInitialDelete": "",
700
+ "search.filters.spatialExtent.error.fileTooLarge": "",
701
+ "search.filters.spatialExtent.error.invalidFormat": "",
702
+ "search.filters.spatialExtent.error.noGeometry": "",
703
+ "search.filters.spatialExtent.error.outOfBounds": "",
704
+ "search.filters.spatialExtent.error.title": "",
705
+ "search.filters.spatialExtent.helpText": "",
706
+ "search.filters.spatialExtent.import": "",
692
707
  "search.filters.standard": "Standard",
693
708
  "search.filters.summaryLabel.changeDate": "Aggiornato: ",
709
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "Data della risorsa: ",
710
+ "search.filters.summaryLabel.temporalExtent": "Estensione temporale: ",
694
711
  "search.filters.summaryLabel.user": "Editor: ",
712
+ "search.filters.temporalExtent": "Estensione temporale",
695
713
  "search.filters.title": "Affina la sua ricerca",
696
714
  "search.filters.topic": "Argomenti",
697
715
  "search.filters.useSpatialFilter": "Evidenzia le risorse nell'area di interesse",
@@ -65,6 +65,7 @@
65
65
  "dataset.error.restrictedAccess": "",
66
66
  "dataset.error.unknown": "",
67
67
  "dataset.error.unsupportedType": "",
68
+ "daterange.filter.datePlaceholder": "dd-mm-jjjj",
68
69
  "daterange.filter.from": "",
69
70
  "daterange.filter.period": "",
70
71
  "daterange.filter.to": "",
@@ -424,7 +425,6 @@
424
425
  "map.add.layer.wms": "",
425
426
  "map.addFromFile.placeholder": "",
426
427
  "map.dropdown.placeholder": "",
427
- "map.geocoding.placeholder": "",
428
428
  "map.help.addFromFile": "",
429
429
  "map.layer.add": "",
430
430
  "map.layers.available": "",
@@ -550,6 +550,7 @@
550
550
  "record.metadata.languages": "",
551
551
  "record.metadata.link.postgis.table": "",
552
552
  "record.metadata.link.postgis.tooltip": "",
553
+ "record.metadata.linked.associatedRecords": "",
553
554
  "record.metadata.linked.datasets": "",
554
555
  "record.metadata.linked.records": "",
555
556
  "record.metadata.linked.reuses": "",
@@ -657,6 +658,7 @@
657
658
  "search.filters.changeDate": "",
658
659
  "search.filters.clear": "",
659
660
  "search.filters.contact": "",
661
+ "search.filters.documentStandard": "",
660
662
  "search.filters.format": "",
661
663
  "search.filters.inspireKeyword": "",
662
664
  "search.filters.isSpatial": "",
@@ -688,10 +690,26 @@
688
690
  "search.filters.recordKind.reuse": "",
689
691
  "search.filters.recordKind.service": "",
690
692
  "search.filters.representationType": "",
693
+ "search.filters.resourceCreationRevisionDate": "",
691
694
  "search.filters.resourceType": "",
695
+ "search.filters.spatialExtent": "",
696
+ "search.filters.spatialExtent.bboxFromFile": "",
697
+ "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxInitial": "",
699
+ "search.filters.spatialExtent.bboxInitialDelete": "",
700
+ "search.filters.spatialExtent.error.fileTooLarge": "",
701
+ "search.filters.spatialExtent.error.invalidFormat": "",
702
+ "search.filters.spatialExtent.error.noGeometry": "",
703
+ "search.filters.spatialExtent.error.outOfBounds": "",
704
+ "search.filters.spatialExtent.error.title": "",
705
+ "search.filters.spatialExtent.helpText": "",
706
+ "search.filters.spatialExtent.import": "",
692
707
  "search.filters.standard": "",
693
708
  "search.filters.summaryLabel.changeDate": "",
709
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "",
710
+ "search.filters.summaryLabel.temporalExtent": "",
694
711
  "search.filters.summaryLabel.user": "",
712
+ "search.filters.temporalExtent": "",
695
713
  "search.filters.title": "",
696
714
  "search.filters.topic": "",
697
715
  "search.filters.useSpatialFilter": "",
@@ -65,6 +65,7 @@
65
65
  "dataset.error.restrictedAccess": "",
66
66
  "dataset.error.unknown": "",
67
67
  "dataset.error.unsupportedType": "",
68
+ "daterange.filter.datePlaceholder": "dd/mm/aaaa",
68
69
  "daterange.filter.from": "",
69
70
  "daterange.filter.period": "",
70
71
  "daterange.filter.to": "",
@@ -424,7 +425,6 @@
424
425
  "map.add.layer.wms": "",
425
426
  "map.addFromFile.placeholder": "",
426
427
  "map.dropdown.placeholder": "",
427
- "map.geocoding.placeholder": "",
428
428
  "map.help.addFromFile": "",
429
429
  "map.layer.add": "",
430
430
  "map.layers.available": "",
@@ -550,6 +550,7 @@
550
550
  "record.metadata.languages": "",
551
551
  "record.metadata.link.postgis.table": "",
552
552
  "record.metadata.link.postgis.tooltip": "",
553
+ "record.metadata.linked.associatedRecords": "",
553
554
  "record.metadata.linked.datasets": "",
554
555
  "record.metadata.linked.records": "",
555
556
  "record.metadata.linked.reuses": "",
@@ -657,6 +658,7 @@
657
658
  "search.filters.changeDate": "",
658
659
  "search.filters.clear": "",
659
660
  "search.filters.contact": "",
661
+ "search.filters.documentStandard": "",
660
662
  "search.filters.format": "",
661
663
  "search.filters.inspireKeyword": "",
662
664
  "search.filters.isSpatial": "",
@@ -688,10 +690,26 @@
688
690
  "search.filters.recordKind.reuse": "",
689
691
  "search.filters.recordKind.service": "",
690
692
  "search.filters.representationType": "",
693
+ "search.filters.resourceCreationRevisionDate": "",
691
694
  "search.filters.resourceType": "",
695
+ "search.filters.spatialExtent": "",
696
+ "search.filters.spatialExtent.bboxFromFile": "",
697
+ "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxInitial": "",
699
+ "search.filters.spatialExtent.bboxInitialDelete": "",
700
+ "search.filters.spatialExtent.error.fileTooLarge": "",
701
+ "search.filters.spatialExtent.error.invalidFormat": "",
702
+ "search.filters.spatialExtent.error.noGeometry": "",
703
+ "search.filters.spatialExtent.error.outOfBounds": "",
704
+ "search.filters.spatialExtent.error.title": "",
705
+ "search.filters.spatialExtent.helpText": "",
706
+ "search.filters.spatialExtent.import": "",
692
707
  "search.filters.standard": "",
693
708
  "search.filters.summaryLabel.changeDate": "",
709
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "",
710
+ "search.filters.summaryLabel.temporalExtent": "",
694
711
  "search.filters.summaryLabel.user": "",
712
+ "search.filters.temporalExtent": "",
695
713
  "search.filters.title": "",
696
714
  "search.filters.topic": "",
697
715
  "search.filters.useSpatialFilter": "",