geonetwork-ui 2.11.0-dev.c42282af5 → 2.11.0-dev.c830efcd7

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 (64) hide show
  1. package/fesm2022/geonetwork-ui.mjs +1405 -1317
  2. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  3. package/index.d.ts +144 -75
  4. package/index.d.ts.map +1 -1
  5. package/package.json +6 -5
  6. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +2 -0
  7. package/src/libs/api/metadata-converter/src/lib/fixtures/mel.records.dataset+featurecatalog.ts +317 -0
  8. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +35 -8
  9. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +19 -0
  10. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +2 -0
  11. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +98 -0
  12. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +7 -0
  13. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -1
  14. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +29 -3
  15. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +5 -34
  16. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +6 -13
  17. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +2 -0
  18. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +4 -1
  19. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +1 -1
  20. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +42 -62
  21. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +32 -19
  22. package/src/libs/feature/map/src/index.ts +0 -2
  23. package/src/libs/feature/map/src/lib/feature-map.module.ts +1 -8
  24. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.ts +8 -3
  25. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +3 -1
  26. package/src/libs/feature/record/src/lib/state/mdview.facade.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 +7 -1
  29. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +26 -4
  30. package/src/libs/feature/search/src/lib/geocoding/geocoding.service.ts +105 -0
  31. package/src/libs/feature/search/src/lib/location-search/location-search.component.html +18 -0
  32. package/src/libs/feature/search/src/lib/location-search/location-search.component.ts +114 -0
  33. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +1 -0
  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 +56 -4
  36. package/src/libs/feature/search/src/lib/utils/service/fields.ts +33 -9
  37. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +2 -2
  38. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +2 -2
  39. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -4
  40. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +12 -3
  41. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +11 -3
  42. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +2 -1
  43. package/src/libs/ui/inputs/src/lib/spatial-extent-dropdown/spatial-extent-dropdown.component.html +8 -2
  44. package/src/libs/ui/inputs/src/lib/spatial-extent-dropdown/spatial-extent-dropdown.component.ts +34 -5
  45. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +1 -0
  46. package/src/libs/util/app-config/src/lib/app-config.ts +34 -0
  47. package/src/libs/util/app-config/src/lib/fixtures.ts +37 -1
  48. package/src/libs/util/app-config/src/lib/model.ts +24 -1
  49. package/src/libs/util/shared/src/lib/utils/geojson.ts +16 -0
  50. package/translations/de.json +8 -2
  51. package/translations/en.json +10 -4
  52. package/translations/es.json +8 -2
  53. package/translations/fr.json +15 -9
  54. package/translations/it.json +8 -2
  55. package/translations/nl.json +8 -2
  56. package/translations/pt.json +8 -2
  57. package/translations/sk.json +8 -2
  58. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
  59. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +0 -41
  60. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +0 -112
  61. package/src/libs/feature/map/src/lib/geocoding.service.ts +0 -57
  62. package/src/libs/feature/map/src/lib/style/index.ts +0 -2
  63. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +0 -47
  64. package/src/libs/feature/map/src/lib/style/map-style.service.ts +0 -108
@@ -253,6 +253,9 @@ export function loadAppConfig(configUrl = 'assets/configuration/default.toml') {
253
253
  'advanced_filters',
254
254
  'limit',
255
255
  'spatial_extent_max_file_size',
256
+ 'geocoding_provider',
257
+ 'geocoding_provider_options',
258
+ 'geocoding_provider_labels',
256
259
  ],
257
260
  warnings,
258
261
  errors
@@ -265,6 +268,18 @@ export function loadAppConfig(configUrl = 'assets/configuration/default.toml') {
265
268
  warnings,
266
269
  errors
267
270
  )
271
+ const parsedCustomFilters = parseMultiConfigSection(
272
+ parsed,
273
+ 'custom_filter',
274
+ ['name', 'base_filter'],
275
+ ['exclude_values', 'include_values', 'label_key'],
276
+ warnings,
277
+ errors
278
+ )
279
+ const parsedGeocodingProviderLabels =
280
+ parsedSearchSection?.geocoding_provider_labels as
281
+ | Record<string, string>
282
+ | undefined
268
283
  searchConfig =
269
284
  parsedSearchSection === null
270
285
  ? null
@@ -281,9 +296,28 @@ export function loadAppConfig(configUrl = 'assets/configuration/default.toml') {
281
296
  filters: param.filters,
282
297
  })),
283
298
  ADVANCED_FILTERS: parsedSearchSection.advanced_filters,
299
+ CUSTOM_FILTERS: (parsedCustomFilters ?? []).map(
300
+ (customFilter) => ({
301
+ name: customFilter.name,
302
+ baseFilter: customFilter.base_filter,
303
+ excludeValues: customFilter.exclude_values,
304
+ includeValues: customFilter.include_values,
305
+ labelKey: customFilter.label_key,
306
+ })
307
+ ),
284
308
  LIMIT: parsedSearchSection.limit,
285
309
  SPATIAL_EXTENT_MAX_FILE_SIZE:
286
310
  parsedSearchSection.spatial_extent_max_file_size,
311
+ GEOCODING_PROVIDER: parsedSearchSection.geocoding_provider,
312
+ GEOCODING_PROVIDER_OPTIONS:
313
+ parsedSearchSection.geocoding_provider_options,
314
+ GEOCODING_PROVIDER_LABELS: parsedGeocodingProviderLabels
315
+ ? {
316
+ MAIN: parsedGeocodingProviderLabels.main,
317
+ SECONDARY: parsedGeocodingProviderLabels.secondary,
318
+ TERTIARY: parsedGeocodingProviderLabels.tertiary,
319
+ }
320
+ : undefined,
287
321
  } as SearchConfig)
288
322
 
289
323
  const parsedMetadataQualitySection = parseConfigSection(
@@ -41,7 +41,26 @@ fonts_stylesheet_url = "https://fonts.googleapis.com/css2?family=Open+Sans"
41
41
  record_kind_quick_filter = false
42
42
  filter_geometry_url = 'https://my.domain.org/geom.json'
43
43
  do_not_use_default_search_preset = false
44
- advanced_filters = ['publicationYear', 'documentStandard', 'inspireKeyword', 'topic', 'license']
44
+ geocoding_provider = "geoplateforme"
45
+ geocoding_provider_options.index = "poi"
46
+ geocoding_provider_options.category = "administratif"
47
+ geocoding_provider_options.limit = 5
48
+ geocoding_provider_labels.main = '/properties/name/0'
49
+ geocoding_provider_labels.secondary = '/properties/citycode/0'
50
+ geocoding_provider_labels.tertiary = '/properties/category/1'
51
+ advanced_filters = ['publicationYear', 'documentStandard', 'inspireKeyword', 'topic', 'license', 'myOrg:firstCustomFilter', 'myOrg:secondCustomFilter']
52
+
53
+ [[custom_filter]]
54
+ name = 'myOrg:firstCustomFilter'
55
+ base_filter = 'keyword'
56
+ exclude_values = ['my keyword 1', 'my keyword 2']
57
+ label_key = 'myOrg.firstCustomFilter'
58
+
59
+ [[custom_filter]]
60
+ name = 'myOrg:secondCustomFilter'
61
+ base_filter = 'keyword'
62
+ include_values = ['my keyword 3', 'my keyword 4']
63
+ label_key = 'myOrg.secondCustomFilter'
45
64
 
46
65
  [[search_preset]]
47
66
  sort = "-createDate"
@@ -81,6 +100,23 @@ main_color = "#212029" # All-purpose text color
81
100
  background_color = "#fdfbff"
82
101
  `
83
102
 
103
+ export const customFilterMissingMandatoryConfigFixture = () => `
104
+ [global]
105
+ geonetwork4_api_url = "/geonetwork/srv/api"
106
+
107
+ [theme]
108
+ primary_color = "#093564"
109
+ secondary_color = "#c2e9dc"
110
+ main_color = "#212029" # All-purpose text color
111
+ background_color = "#fdfbff"
112
+
113
+ [search]
114
+ advanced_filters = ['myOrg:firstCustomFilter']
115
+
116
+ [[custom_filter]]
117
+ name = 'myOrg:firstCustomFilter'
118
+ `
119
+
84
120
  export const mapConfigFixture = (): MapConfig => ({
85
121
  MAX_ZOOM: 10,
86
122
  MAX_EXTENT: [-418263.418776, 5251529.591305, 961272.067714, 6706890.609855],
@@ -55,15 +55,38 @@ export interface SearchPreset {
55
55
  filters: Record<string, string[] | string>
56
56
  }
57
57
 
58
+ export type GeocodingProviderName = 'geoadmin' | 'geonames' | 'geoplateforme'
59
+
60
+ export interface CustomSearchFieldConfig {
61
+ name: string
62
+ baseFilter: string
63
+ excludeValues?: string[]
64
+ includeValues?: string[]
65
+ labelKey?: string
66
+ }
67
+
68
+ export interface GeocodingProviderLabelsConfig {
69
+ MAIN?: string
70
+ SECONDARY?: string
71
+ TERTIARY?: string
72
+ }
73
+
58
74
  export interface SearchConfig {
59
75
  RECORD_KIND_QUICK_FILTER?: boolean
60
76
  FILTER_GEOMETRY_URL?: string
61
77
  FILTER_GEOMETRY_DATA?: string
62
78
  DO_NOT_USE_DEFAULT_SEARCH_PRESET?: boolean
63
79
  SEARCH_PRESET?: SearchPreset[]
64
- ADVANCED_FILTERS?: []
80
+ ADVANCED_FILTERS?: string[]
81
+ CUSTOM_FILTERS?: CustomSearchFieldConfig[]
65
82
  LIMIT?: number
66
83
  SPATIAL_EXTENT_MAX_FILE_SIZE?: number
84
+ GEOCODING_PROVIDER?: GeocodingProviderName
85
+ GEOCODING_PROVIDER_OPTIONS?: Record<
86
+ string,
87
+ string | number | boolean | string[]
88
+ >
89
+ GEOCODING_PROVIDER_LABELS?: GeocodingProviderLabelsConfig
67
90
  }
68
91
 
69
92
  export interface MetadataQualityConfig {
@@ -46,6 +46,22 @@ export function isBoundingBox(value: unknown): value is BoundingBox {
46
46
  )
47
47
  }
48
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
+
49
65
  export function getGeometryBoundingBox(geometry: Geometry): BoundingBox {
50
66
  // use the bounding box if specified in the GeoJSON object
51
67
  if (geometry.bbox) {
@@ -372,7 +372,7 @@
372
372
  "favorite.starToggle.add": "Zu Favoriten hinzufügen",
373
373
  "favorite.starToggle.remove": "Aus Favoriten entfernen",
374
374
  "feature.catalog.attribute.code": "Code",
375
- "feature.catalog.attribute.definition": "Beschreibung",
375
+ "feature.catalog.attribute.description": "Beschreibung",
376
376
  "feature.catalog.attribute.name": "Name",
377
377
  "feature.catalog.attribute.type": "Typ",
378
378
  "feature.catalog.attribute.values": "Werte",
@@ -425,7 +425,6 @@
425
425
  "map.add.layer.wms": "Aus WMS",
426
426
  "map.addFromFile.placeholder": "Klicke hier oder ziehe eine Datei herein",
427
427
  "map.dropdown.placeholder": "Kein Vorschaulayer verfügbar",
428
- "map.geocoding.placeholder": "Nach einem Ort suchen",
429
428
  "map.help.addFromFile": "Klicke oder ziehe eine Datei herein um eine Karte hinzuzufügen (momentan wird nur das GeoJSON-Format unterstützt).",
430
429
  "map.layer.add": "Hinzufügen",
431
430
  "map.layers.available": "Verfügbare Layer",
@@ -659,6 +658,7 @@
659
658
  "search.filters.changeDate": "Letzte Aktualisierung",
660
659
  "search.filters.clear": "Zurücksetzen",
661
660
  "search.filters.contact": "Kontakte",
661
+ "search.filters.documentStandard": "Dokumentenstandard",
662
662
  "search.filters.format": "Formate",
663
663
  "search.filters.inspireKeyword": "INSPIRE-Schlüsselwort",
664
664
  "search.filters.isSpatial": "Ist räumliche Daten",
@@ -695,18 +695,24 @@
695
695
  "search.filters.spatialExtent": "",
696
696
  "search.filters.spatialExtent.bboxFromFile": "",
697
697
  "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxFromLocation": "",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "",
698
700
  "search.filters.spatialExtent.bboxInitial": "",
699
701
  "search.filters.spatialExtent.bboxInitialDelete": "",
700
702
  "search.filters.spatialExtent.error.fileTooLarge": "",
701
703
  "search.filters.spatialExtent.error.invalidFormat": "",
702
704
  "search.filters.spatialExtent.error.noGeometry": "",
705
+ "search.filters.spatialExtent.error.outOfBounds": "",
703
706
  "search.filters.spatialExtent.error.title": "",
704
707
  "search.filters.spatialExtent.helpText": "",
705
708
  "search.filters.spatialExtent.import": "",
709
+ "search.filters.spatialExtent.searchLocation": "",
706
710
  "search.filters.standard": "Standard",
707
711
  "search.filters.summaryLabel.changeDate": "Geändert am: ",
708
712
  "search.filters.summaryLabel.resourceCreationRevisionDate": "Ressourcendatum: ",
713
+ "search.filters.summaryLabel.temporalExtent": "Zeitlicher Umfang: ",
709
714
  "search.filters.summaryLabel.user": "Geändert von: ",
715
+ "search.filters.temporalExtent": "Zeitlicher Umfang",
710
716
  "search.filters.title": "Ergebnisse filtern",
711
717
  "search.filters.topic": "Themen",
712
718
  "search.filters.useSpatialFilter": "Zuerst Ressourcen im Interessenbereich anzeigen",
@@ -372,7 +372,7 @@
372
372
  "favorite.starToggle.add": "Add to favorites",
373
373
  "favorite.starToggle.remove": "Remove from favorites",
374
374
  "feature.catalog.attribute.code": "Code",
375
- "feature.catalog.attribute.definition": "Description",
375
+ "feature.catalog.attribute.description": "Description",
376
376
  "feature.catalog.attribute.name": "Name",
377
377
  "feature.catalog.attribute.type": "Type",
378
378
  "feature.catalog.attribute.values": "Values",
@@ -425,7 +425,6 @@
425
425
  "map.add.layer.wms": "From WMS",
426
426
  "map.addFromFile.placeholder": "Click or drop a file here",
427
427
  "map.dropdown.placeholder": "No preview layer available",
428
- "map.geocoding.placeholder": "Search for a place",
429
428
  "map.help.addFromFile": "Click or drag and drop a file to add to the map (currently supports GeoJSON format only).",
430
429
  "map.layer.add": "Add",
431
430
  "map.layers.available": "Available Layers",
@@ -659,6 +658,7 @@
659
658
  "search.filters.changeDate": "Updated",
660
659
  "search.filters.clear": "Reset",
661
660
  "search.filters.contact": "Contacts",
661
+ "search.filters.documentStandard": "Document standard",
662
662
  "search.filters.format": "Formats",
663
663
  "search.filters.inspireKeyword": "INSPIRE keyword",
664
664
  "search.filters.isSpatial": "Is spatial data",
@@ -693,20 +693,26 @@
693
693
  "search.filters.resourceCreationRevisionDate": "Resource date",
694
694
  "search.filters.resourceType": "Resource type",
695
695
  "search.filters.spatialExtent": "Spatial extent",
696
- "search.filters.spatialExtent.bboxFromFile": "extent from {fileName}",
696
+ "search.filters.spatialExtent.bboxFromFile": "Extent from {fileName}",
697
697
  "search.filters.spatialExtent.bboxFromFileDelete": "Delete {fileName}",
698
+ "search.filters.spatialExtent.bboxFromLocation": "Extent from {locationName}",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "Delete {locationName}",
698
700
  "search.filters.spatialExtent.bboxInitial": "Pre-selected extent",
699
701
  "search.filters.spatialExtent.bboxInitialDelete": "Delete selection",
700
702
  "search.filters.spatialExtent.error.fileTooLarge": "The file exceeds the maximum allowed size ({maxSize} MB)",
701
703
  "search.filters.spatialExtent.error.invalidFormat": "The file could not be read as a valid GeoJSON",
702
704
  "search.filters.spatialExtent.error.noGeometry": "No geometry could be found in the file",
705
+ "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",
703
706
  "search.filters.spatialExtent.error.title": "GeoJSON import error",
704
- "search.filters.spatialExtent.helpText": "The selected item for the spatial extent will be converted to a bbox",
707
+ "search.filters.spatialExtent.helpText": "The extent of the selected geometry will be used",
705
708
  "search.filters.spatialExtent.import": "Import a GeoJSON",
709
+ "search.filters.spatialExtent.searchLocation": "Search in the list",
706
710
  "search.filters.standard": "Standard",
707
711
  "search.filters.summaryLabel.changeDate": "Updated: ",
708
712
  "search.filters.summaryLabel.resourceCreationRevisionDate": "Resource date: ",
713
+ "search.filters.summaryLabel.temporalExtent": "Temporal extent: ",
709
714
  "search.filters.summaryLabel.user": "Editor: ",
715
+ "search.filters.temporalExtent": "Temporal extent",
710
716
  "search.filters.title": "Filter your results",
711
717
  "search.filters.topic": "Topics",
712
718
  "search.filters.useSpatialFilter": "Show records in the area of interest first",
@@ -372,7 +372,7 @@
372
372
  "favorite.starToggle.add": "Añadir a favoritos",
373
373
  "favorite.starToggle.remove": "Eliminar de favoritos",
374
374
  "feature.catalog.attribute.code": "Código",
375
- "feature.catalog.attribute.definition": "Descripción",
375
+ "feature.catalog.attribute.description": "Descripción",
376
376
  "feature.catalog.attribute.name": "Nombre",
377
377
  "feature.catalog.attribute.type": "Tipo",
378
378
  "feature.catalog.attribute.values": "Valores",
@@ -425,7 +425,6 @@
425
425
  "map.add.layer.wms": "",
426
426
  "map.addFromFile.placeholder": "",
427
427
  "map.dropdown.placeholder": "",
428
- "map.geocoding.placeholder": "",
429
428
  "map.help.addFromFile": "",
430
429
  "map.layer.add": "",
431
430
  "map.layers.available": "",
@@ -659,6 +658,7 @@
659
658
  "search.filters.changeDate": "Última actualización",
660
659
  "search.filters.clear": "",
661
660
  "search.filters.contact": "",
661
+ "search.filters.documentStandard": "",
662
662
  "search.filters.format": "",
663
663
  "search.filters.inspireKeyword": "",
664
664
  "search.filters.isSpatial": "",
@@ -695,18 +695,24 @@
695
695
  "search.filters.spatialExtent": "",
696
696
  "search.filters.spatialExtent.bboxFromFile": "",
697
697
  "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxFromLocation": "",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "",
698
700
  "search.filters.spatialExtent.bboxInitial": "",
699
701
  "search.filters.spatialExtent.bboxInitialDelete": "",
700
702
  "search.filters.spatialExtent.error.fileTooLarge": "",
701
703
  "search.filters.spatialExtent.error.invalidFormat": "",
702
704
  "search.filters.spatialExtent.error.noGeometry": "",
705
+ "search.filters.spatialExtent.error.outOfBounds": "",
703
706
  "search.filters.spatialExtent.error.title": "",
704
707
  "search.filters.spatialExtent.helpText": "",
705
708
  "search.filters.spatialExtent.import": "",
709
+ "search.filters.spatialExtent.searchLocation": "",
706
710
  "search.filters.standard": "",
707
711
  "search.filters.summaryLabel.changeDate": "",
708
712
  "search.filters.summaryLabel.resourceCreationRevisionDate": "",
713
+ "search.filters.summaryLabel.temporalExtent": "",
709
714
  "search.filters.summaryLabel.user": "",
715
+ "search.filters.temporalExtent": "",
710
716
  "search.filters.title": "",
711
717
  "search.filters.topic": "",
712
718
  "search.filters.useSpatialFilter": "",
@@ -77,13 +77,13 @@
77
77
  "domain.contact.role.editor": "Éditeur",
78
78
  "domain.contact.role.funder": "Financeur",
79
79
  "domain.contact.role.mediator": "Médiateur",
80
- "domain.contact.role.originator": "Créateur",
80
+ "domain.contact.role.originator": "Producteur",
81
81
  "domain.contact.role.other": "Autre",
82
82
  "domain.contact.role.owner": "Propriétaire",
83
83
  "domain.contact.role.point_of_contact": "Point de contact",
84
- "domain.contact.role.principal_investigator": "Chercheur principal",
85
- "domain.contact.role.processor": "Processeur",
86
- "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)",
87
87
  "domain.contact.role.resource_provider": "Fournisseur",
88
88
  "domain.contact.role.rights_holder": "Détenteur des droits",
89
89
  "domain.contact.role.sponsor": "Sponsor",
@@ -372,7 +372,7 @@
372
372
  "favorite.starToggle.add": "Ajouter aux favoris",
373
373
  "favorite.starToggle.remove": "Retirer des favoris",
374
374
  "feature.catalog.attribute.code": "Code",
375
- "feature.catalog.attribute.definition": "Description",
375
+ "feature.catalog.attribute.description": "Description",
376
376
  "feature.catalog.attribute.name": "Nom",
377
377
  "feature.catalog.attribute.type": "Type",
378
378
  "feature.catalog.attribute.values": "Valeurs",
@@ -425,7 +425,6 @@
425
425
  "map.add.layer.wms": "Depuis un service WMS",
426
426
  "map.addFromFile.placeholder": "Cliquez ou déposez un fichier ici",
427
427
  "map.dropdown.placeholder": "Aucune couche d'aperçu disponible",
428
- "map.geocoding.placeholder": "Rechercher un lieu",
429
428
  "map.help.addFromFile": "Cliquez ou glissez-déposez un fichier pour l'ajouter à la carte (supporte actuellement uniquement le format GeoJSON).",
430
429
  "map.layer.add": "Ajouter",
431
430
  "map.layers.available": "Couches disponibles",
@@ -659,6 +658,7 @@
659
658
  "search.filters.changeDate": "Mise à jour",
660
659
  "search.filters.clear": "Réinitialiser",
661
660
  "search.filters.contact": "Contacts",
661
+ "search.filters.documentStandard": "Norme de document",
662
662
  "search.filters.format": "Formats",
663
663
  "search.filters.inspireKeyword": "Mot-clé INSPIRE",
664
664
  "search.filters.isSpatial": "Données spatiales",
@@ -693,20 +693,26 @@
693
693
  "search.filters.resourceCreationRevisionDate": "Date de la ressource",
694
694
  "search.filters.resourceType": "Type de ressource",
695
695
  "search.filters.spatialExtent": "Étendue spatiale",
696
- "search.filters.spatialExtent.bboxFromFile": "étendue de {fileName}",
696
+ "search.filters.spatialExtent.bboxFromFile": "Étendue de {fileName}",
697
697
  "search.filters.spatialExtent.bboxFromFileDelete": "Supprimer {fileName}",
698
- "search.filters.spatialExtent.bboxInitial": "étendue présélectionnée",
698
+ "search.filters.spatialExtent.bboxFromLocation": "Étendue de {locationName}",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "Supprimer {locationName}",
700
+ "search.filters.spatialExtent.bboxInitial": "Étendue présélectionnée",
699
701
  "search.filters.spatialExtent.bboxInitialDelete": "Supprimer la sélection",
700
702
  "search.filters.spatialExtent.error.fileTooLarge": "Le fichier dépasse la taille maximale autorisée ({maxSize} Mo)",
701
703
  "search.filters.spatialExtent.error.invalidFormat": "Le fichier n'a pas pu être lu comme un GeoJSON valide",
702
704
  "search.filters.spatialExtent.error.noGeometry": "Aucune géométrie n'a pu être trouvée dans le fichier",
705
+ "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.",
703
706
  "search.filters.spatialExtent.error.title": "Erreur d'importation GeoJSON",
704
- "search.filters.spatialExtent.helpText": "L’élément sélectionné pour l'étendue sera converti en bbox",
707
+ "search.filters.spatialExtent.helpText": "L'étendue de la géométrie sélectionnée sera utilisée",
705
708
  "search.filters.spatialExtent.import": "Importer un GeoJSON",
709
+ "search.filters.spatialExtent.searchLocation": "Rechercher dans la liste",
706
710
  "search.filters.standard": "Standard",
707
711
  "search.filters.summaryLabel.changeDate": "Mise à jour : ",
708
712
  "search.filters.summaryLabel.resourceCreationRevisionDate": "Date de la ressource : ",
713
+ "search.filters.summaryLabel.temporalExtent": "Étendue temporelle : ",
709
714
  "search.filters.summaryLabel.user": "Éditeur : ",
715
+ "search.filters.temporalExtent": "Étendue temporelle",
710
716
  "search.filters.title": "Affiner votre recherche",
711
717
  "search.filters.topic": "Thèmes",
712
718
  "search.filters.useSpatialFilter": "Mettre en avant les ressources sur la zone d'intérêt",
@@ -372,7 +372,7 @@
372
372
  "favorite.starToggle.add": "Aggiungi ai preferiti",
373
373
  "favorite.starToggle.remove": "Rimuovi dai preferiti",
374
374
  "feature.catalog.attribute.code": "Codice",
375
- "feature.catalog.attribute.definition": "Descrizione",
375
+ "feature.catalog.attribute.description": "Descrizione",
376
376
  "feature.catalog.attribute.name": "Nome",
377
377
  "feature.catalog.attribute.type": "Tipo",
378
378
  "feature.catalog.attribute.values": "Valori",
@@ -425,7 +425,6 @@
425
425
  "map.add.layer.wms": "Da un WMS",
426
426
  "map.addFromFile.placeholder": "Clicca o trascina un file qui",
427
427
  "map.dropdown.placeholder": "Nessun livello di anteprima disponibile",
428
- "map.geocoding.placeholder": "Cerca un luogo",
429
428
  "map.help.addFromFile": "Clicca o trascina un file per aggiungerlo alla mappa (attualmente supporta solo il formato GeoJSON)",
430
429
  "map.layer.add": "Aggiungi",
431
430
  "map.layers.available": "Layer disponibili",
@@ -659,6 +658,7 @@
659
658
  "search.filters.changeDate": "Aggiornato",
660
659
  "search.filters.clear": "Ripristina",
661
660
  "search.filters.contact": "Contatti",
661
+ "search.filters.documentStandard": "",
662
662
  "search.filters.format": "Formati",
663
663
  "search.filters.inspireKeyword": "Parola chiave INSPIRE",
664
664
  "search.filters.isSpatial": "Dati spaziali",
@@ -695,18 +695,24 @@
695
695
  "search.filters.spatialExtent": "",
696
696
  "search.filters.spatialExtent.bboxFromFile": "",
697
697
  "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxFromLocation": "",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "",
698
700
  "search.filters.spatialExtent.bboxInitial": "",
699
701
  "search.filters.spatialExtent.bboxInitialDelete": "",
700
702
  "search.filters.spatialExtent.error.fileTooLarge": "",
701
703
  "search.filters.spatialExtent.error.invalidFormat": "",
702
704
  "search.filters.spatialExtent.error.noGeometry": "",
705
+ "search.filters.spatialExtent.error.outOfBounds": "",
703
706
  "search.filters.spatialExtent.error.title": "",
704
707
  "search.filters.spatialExtent.helpText": "",
705
708
  "search.filters.spatialExtent.import": "",
709
+ "search.filters.spatialExtent.searchLocation": "",
706
710
  "search.filters.standard": "Standard",
707
711
  "search.filters.summaryLabel.changeDate": "Aggiornato: ",
708
712
  "search.filters.summaryLabel.resourceCreationRevisionDate": "Data della risorsa: ",
713
+ "search.filters.summaryLabel.temporalExtent": "Estensione temporale: ",
709
714
  "search.filters.summaryLabel.user": "Editor: ",
715
+ "search.filters.temporalExtent": "Estensione temporale",
710
716
  "search.filters.title": "Affina la sua ricerca",
711
717
  "search.filters.topic": "Argomenti",
712
718
  "search.filters.useSpatialFilter": "Evidenzia le risorse nell'area di interesse",
@@ -372,7 +372,7 @@
372
372
  "favorite.starToggle.add": "Toevoegen aan favorieten",
373
373
  "favorite.starToggle.remove": "Verwijderen uit favorieten",
374
374
  "feature.catalog.attribute.code": "Code",
375
- "feature.catalog.attribute.definition": "Beschrijving",
375
+ "feature.catalog.attribute.description": "Beschrijving",
376
376
  "feature.catalog.attribute.name": "Naam",
377
377
  "feature.catalog.attribute.type": "Type",
378
378
  "feature.catalog.attribute.values": "Waarden",
@@ -425,7 +425,6 @@
425
425
  "map.add.layer.wms": "",
426
426
  "map.addFromFile.placeholder": "",
427
427
  "map.dropdown.placeholder": "",
428
- "map.geocoding.placeholder": "",
429
428
  "map.help.addFromFile": "",
430
429
  "map.layer.add": "",
431
430
  "map.layers.available": "",
@@ -659,6 +658,7 @@
659
658
  "search.filters.changeDate": "",
660
659
  "search.filters.clear": "",
661
660
  "search.filters.contact": "",
661
+ "search.filters.documentStandard": "",
662
662
  "search.filters.format": "",
663
663
  "search.filters.inspireKeyword": "",
664
664
  "search.filters.isSpatial": "",
@@ -695,18 +695,24 @@
695
695
  "search.filters.spatialExtent": "",
696
696
  "search.filters.spatialExtent.bboxFromFile": "",
697
697
  "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxFromLocation": "",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "",
698
700
  "search.filters.spatialExtent.bboxInitial": "",
699
701
  "search.filters.spatialExtent.bboxInitialDelete": "",
700
702
  "search.filters.spatialExtent.error.fileTooLarge": "",
701
703
  "search.filters.spatialExtent.error.invalidFormat": "",
702
704
  "search.filters.spatialExtent.error.noGeometry": "",
705
+ "search.filters.spatialExtent.error.outOfBounds": "",
703
706
  "search.filters.spatialExtent.error.title": "",
704
707
  "search.filters.spatialExtent.helpText": "",
705
708
  "search.filters.spatialExtent.import": "",
709
+ "search.filters.spatialExtent.searchLocation": "",
706
710
  "search.filters.standard": "",
707
711
  "search.filters.summaryLabel.changeDate": "",
708
712
  "search.filters.summaryLabel.resourceCreationRevisionDate": "",
713
+ "search.filters.summaryLabel.temporalExtent": "",
709
714
  "search.filters.summaryLabel.user": "",
715
+ "search.filters.temporalExtent": "",
710
716
  "search.filters.title": "",
711
717
  "search.filters.topic": "",
712
718
  "search.filters.useSpatialFilter": "",
@@ -372,7 +372,7 @@
372
372
  "favorite.starToggle.add": "Adicionar aos favoritos",
373
373
  "favorite.starToggle.remove": "Remover dos favoritos",
374
374
  "feature.catalog.attribute.code": "Código",
375
- "feature.catalog.attribute.definition": "Descrição",
375
+ "feature.catalog.attribute.description": "Descrição",
376
376
  "feature.catalog.attribute.name": "Nome",
377
377
  "feature.catalog.attribute.type": "Tipo",
378
378
  "feature.catalog.attribute.values": "Valores",
@@ -425,7 +425,6 @@
425
425
  "map.add.layer.wms": "",
426
426
  "map.addFromFile.placeholder": "",
427
427
  "map.dropdown.placeholder": "",
428
- "map.geocoding.placeholder": "",
429
428
  "map.help.addFromFile": "",
430
429
  "map.layer.add": "",
431
430
  "map.layers.available": "",
@@ -659,6 +658,7 @@
659
658
  "search.filters.changeDate": "",
660
659
  "search.filters.clear": "",
661
660
  "search.filters.contact": "",
661
+ "search.filters.documentStandard": "",
662
662
  "search.filters.format": "",
663
663
  "search.filters.inspireKeyword": "",
664
664
  "search.filters.isSpatial": "",
@@ -695,18 +695,24 @@
695
695
  "search.filters.spatialExtent": "",
696
696
  "search.filters.spatialExtent.bboxFromFile": "",
697
697
  "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxFromLocation": "",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "",
698
700
  "search.filters.spatialExtent.bboxInitial": "",
699
701
  "search.filters.spatialExtent.bboxInitialDelete": "",
700
702
  "search.filters.spatialExtent.error.fileTooLarge": "",
701
703
  "search.filters.spatialExtent.error.invalidFormat": "",
702
704
  "search.filters.spatialExtent.error.noGeometry": "",
705
+ "search.filters.spatialExtent.error.outOfBounds": "",
703
706
  "search.filters.spatialExtent.error.title": "",
704
707
  "search.filters.spatialExtent.helpText": "",
705
708
  "search.filters.spatialExtent.import": "",
709
+ "search.filters.spatialExtent.searchLocation": "",
706
710
  "search.filters.standard": "",
707
711
  "search.filters.summaryLabel.changeDate": "",
708
712
  "search.filters.summaryLabel.resourceCreationRevisionDate": "",
713
+ "search.filters.summaryLabel.temporalExtent": "",
709
714
  "search.filters.summaryLabel.user": "",
715
+ "search.filters.temporalExtent": "",
710
716
  "search.filters.title": "",
711
717
  "search.filters.topic": "",
712
718
  "search.filters.useSpatialFilter": "",
@@ -372,7 +372,7 @@
372
372
  "favorite.starToggle.add": "Pridať k obľúbeným",
373
373
  "favorite.starToggle.remove": "Odstrániť z obľúbených",
374
374
  "feature.catalog.attribute.code": "Kód",
375
- "feature.catalog.attribute.definition": "Popis",
375
+ "feature.catalog.attribute.description": "Popis",
376
376
  "feature.catalog.attribute.name": "Názov",
377
377
  "feature.catalog.attribute.type": "Typ",
378
378
  "feature.catalog.attribute.values": "Hodnoty",
@@ -425,7 +425,6 @@
425
425
  "map.add.layer.wms": "Z WMS",
426
426
  "map.addFromFile.placeholder": "Kliknite na tlačidlo alebo sem vložte súbor",
427
427
  "map.dropdown.placeholder": "",
428
- "map.geocoding.placeholder": "Nájsť miesto",
429
428
  "map.help.addFromFile": "Kliknite na tlačidlo alebo sem vložte súbor, ktorý chcete pridať do mapy (v súčasnosti podporuje iba formát GeoJSON).",
430
429
  "map.layer.add": "Pridať",
431
430
  "map.layers.available": "Dostupné vrsty",
@@ -659,6 +658,7 @@
659
658
  "search.filters.changeDate": "",
660
659
  "search.filters.clear": "Obnoviť",
661
660
  "search.filters.contact": "Kontakty",
661
+ "search.filters.documentStandard": "",
662
662
  "search.filters.format": "Formáty",
663
663
  "search.filters.inspireKeyword": "Kľúčové slová INSPIRE",
664
664
  "search.filters.isSpatial": "Je priestorový údaj",
@@ -695,18 +695,24 @@
695
695
  "search.filters.spatialExtent": "",
696
696
  "search.filters.spatialExtent.bboxFromFile": "",
697
697
  "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxFromLocation": "",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "",
698
700
  "search.filters.spatialExtent.bboxInitial": "",
699
701
  "search.filters.spatialExtent.bboxInitialDelete": "",
700
702
  "search.filters.spatialExtent.error.fileTooLarge": "",
701
703
  "search.filters.spatialExtent.error.invalidFormat": "",
702
704
  "search.filters.spatialExtent.error.noGeometry": "",
705
+ "search.filters.spatialExtent.error.outOfBounds": "",
703
706
  "search.filters.spatialExtent.error.title": "",
704
707
  "search.filters.spatialExtent.helpText": "",
705
708
  "search.filters.spatialExtent.import": "",
709
+ "search.filters.spatialExtent.searchLocation": "",
706
710
  "search.filters.standard": "Štandard",
707
711
  "search.filters.summaryLabel.changeDate": "",
708
712
  "search.filters.summaryLabel.resourceCreationRevisionDate": "",
713
+ "search.filters.summaryLabel.temporalExtent": "",
709
714
  "search.filters.summaryLabel.user": "",
715
+ "search.filters.temporalExtent": "",
710
716
  "search.filters.title": "Filtrovanie výsledkov",
711
717
  "search.filters.topic": "Témy",
712
718
  "search.filters.useSpatialFilter": "Najskôr zobraziť záznamy v oblasti záujmu",
@@ -1,41 +0,0 @@
1
- <gn-ui-search-input
2
- [(value)]="searchText"
3
- (valueChange)="onSearchChange($event)"
4
- (keyup.enter)="onEnterPress()"
5
- [placeholder]="'map.geocoding.placeholder' | translate"
6
- >
7
- </gn-ui-search-input>
8
- @if (results && results.length) {
9
- <ul
10
- class="bg-gray-50 border border-gray-200 w-full mt-2 shadow-sm rounded-lg"
11
- >
12
- @for (result of results; track result) {
13
- <li
14
- (click)="zoomToLocation(result)"
15
- class="flex items-center pl-8 pr-4 py-2 border-b border-gray-200 relative cursor-pointer hover:bg-blue-100 hover:text-gray-800 transition duration-300 ease-in-out"
16
- >
17
- <svg
18
- class="stroke-current text-blue-500 absolute w-5 h-5 left-3 top-3"
19
- xmlns="http://www.w3.org/2000/svg"
20
- fill="none"
21
- viewBox="0 0 24 24"
22
- stroke="currentColor"
23
- >
24
- <path
25
- stroke-linecap="round"
26
- stroke-linejoin="round"
27
- stroke-width="2"
28
- d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"
29
- />
30
- <path
31
- stroke-linecap="round"
32
- stroke-linejoin="round"
33
- stroke-width="2"
34
- d="M15 11a3 3 0 11-6 0 3 3 0 016 0z"
35
- />
36
- </svg>
37
- <span class="font-sans font-semibold ml-4">{{ result.label }}</span>
38
- </li>
39
- }
40
- </ul>
41
- }