geonetwork-ui 2.11.0-dev.bc1a6d4e2 → 2.11.0-dev.bc1acb627
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.
- package/fesm2022/geonetwork-ui.mjs +1446 -1300
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/index.d.ts +170 -100
- package/index.d.ts.map +1 -1
- package/package.json +6 -5
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +2 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/mel.records.dataset+featurecatalog.ts +317 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +35 -8
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +19 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +2 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +98 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +7 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -1
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +90 -31
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +5 -34
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +6 -13
- package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +2 -0
- package/src/libs/common/domain/src/lib/model/search/filter.model.ts +12 -2
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +1 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +42 -62
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +32 -19
- package/src/libs/feature/map/src/index.ts +0 -2
- package/src/libs/feature/map/src/lib/feature-map.module.ts +1 -8
- package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.ts +8 -3
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +3 -1
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +1 -1
- package/src/libs/feature/search/src/index.ts +2 -0
- package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.html +8 -1
- package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +26 -4
- package/src/libs/feature/search/src/lib/geocoding/geocoding.service.ts +105 -0
- package/src/libs/feature/search/src/lib/location-search/location-search.component.html +18 -0
- package/src/libs/feature/search/src/lib/location-search/location-search.component.ts +114 -0
- package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +2 -0
- package/src/libs/feature/search/src/lib/state/reducer.ts +1 -4
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +62 -4
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +67 -9
- package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +2 -2
- package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -4
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +12 -3
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +11 -3
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +7 -4
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +12 -9
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.model.ts +2 -2
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/spatial-extent-dropdown/spatial-extent-dropdown.component.html +8 -2
- package/src/libs/ui/inputs/src/lib/spatial-extent-dropdown/spatial-extent-dropdown.component.ts +34 -5
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +1 -0
- package/src/libs/util/app-config/src/lib/app-config.ts +34 -0
- package/src/libs/util/app-config/src/lib/fixtures.ts +37 -1
- package/src/libs/util/app-config/src/lib/model.ts +24 -1
- package/src/libs/util/shared/src/lib/links/link-utils.ts +19 -10
- package/src/libs/util/shared/src/lib/utils/geojson.ts +16 -0
- package/translations/de.json +10 -2
- package/translations/en.json +12 -4
- package/translations/es.json +10 -2
- package/translations/fr.json +17 -9
- package/translations/it.json +10 -2
- package/translations/nl.json +10 -2
- package/translations/pt.json +10 -2
- package/translations/sk.json +10 -2
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +0 -41
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +0 -112
- package/src/libs/feature/map/src/lib/geocoding.service.ts +0 -57
- package/src/libs/feature/map/src/lib/style/index.ts +0 -2
- package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +0 -47
- package/src/libs/feature/map/src/lib/style/map-style.service.ts +0 -108
package/translations/es.json
CHANGED
|
@@ -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.
|
|
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": "",
|
|
@@ -690,21 +690,29 @@
|
|
|
690
690
|
"search.filters.recordKind.reuse": "",
|
|
691
691
|
"search.filters.recordKind.service": "",
|
|
692
692
|
"search.filters.representationType": "",
|
|
693
|
+
"search.filters.resourceCreationRevisionDate": "",
|
|
693
694
|
"search.filters.resourceType": "",
|
|
694
695
|
"search.filters.spatialExtent": "",
|
|
695
696
|
"search.filters.spatialExtent.bboxFromFile": "",
|
|
696
697
|
"search.filters.spatialExtent.bboxFromFileDelete": "",
|
|
698
|
+
"search.filters.spatialExtent.bboxFromLocation": "",
|
|
699
|
+
"search.filters.spatialExtent.bboxFromLocationDelete": "",
|
|
697
700
|
"search.filters.spatialExtent.bboxInitial": "",
|
|
698
701
|
"search.filters.spatialExtent.bboxInitialDelete": "",
|
|
699
702
|
"search.filters.spatialExtent.error.fileTooLarge": "",
|
|
700
703
|
"search.filters.spatialExtent.error.invalidFormat": "",
|
|
701
704
|
"search.filters.spatialExtent.error.noGeometry": "",
|
|
705
|
+
"search.filters.spatialExtent.error.outOfBounds": "",
|
|
702
706
|
"search.filters.spatialExtent.error.title": "",
|
|
703
707
|
"search.filters.spatialExtent.helpText": "",
|
|
704
708
|
"search.filters.spatialExtent.import": "",
|
|
709
|
+
"search.filters.spatialExtent.searchLocation": "",
|
|
705
710
|
"search.filters.standard": "",
|
|
706
711
|
"search.filters.summaryLabel.changeDate": "",
|
|
712
|
+
"search.filters.summaryLabel.resourceCreationRevisionDate": "",
|
|
713
|
+
"search.filters.summaryLabel.temporalExtent": "",
|
|
707
714
|
"search.filters.summaryLabel.user": "",
|
|
715
|
+
"search.filters.temporalExtent": "",
|
|
708
716
|
"search.filters.title": "",
|
|
709
717
|
"search.filters.topic": "",
|
|
710
718
|
"search.filters.useSpatialFilter": "",
|
package/translations/fr.json
CHANGED
|
@@ -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": "
|
|
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": "
|
|
85
|
-
"domain.contact.role.processor": "
|
|
86
|
-
"domain.contact.role.publisher": "
|
|
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.
|
|
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",
|
|
@@ -690,21 +690,29 @@
|
|
|
690
690
|
"search.filters.recordKind.reuse": "Réutilisations",
|
|
691
691
|
"search.filters.recordKind.service": "Services",
|
|
692
692
|
"search.filters.representationType": "Type de représentation",
|
|
693
|
+
"search.filters.resourceCreationRevisionDate": "Date de la ressource",
|
|
693
694
|
"search.filters.resourceType": "Type de ressource",
|
|
694
695
|
"search.filters.spatialExtent": "Étendue spatiale",
|
|
695
|
-
"search.filters.spatialExtent.bboxFromFile": "
|
|
696
|
+
"search.filters.spatialExtent.bboxFromFile": "Étendue de {fileName}",
|
|
696
697
|
"search.filters.spatialExtent.bboxFromFileDelete": "Supprimer {fileName}",
|
|
697
|
-
"search.filters.spatialExtent.
|
|
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",
|
|
698
701
|
"search.filters.spatialExtent.bboxInitialDelete": "Supprimer la sélection",
|
|
699
702
|
"search.filters.spatialExtent.error.fileTooLarge": "Le fichier dépasse la taille maximale autorisée ({maxSize} Mo)",
|
|
700
703
|
"search.filters.spatialExtent.error.invalidFormat": "Le fichier n'a pas pu être lu comme un GeoJSON valide",
|
|
701
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.",
|
|
702
706
|
"search.filters.spatialExtent.error.title": "Erreur d'importation GeoJSON",
|
|
703
|
-
"search.filters.spatialExtent.helpText": "L
|
|
707
|
+
"search.filters.spatialExtent.helpText": "L'étendue de la géométrie sélectionnée sera utilisée",
|
|
704
708
|
"search.filters.spatialExtent.import": "Importer un GeoJSON",
|
|
709
|
+
"search.filters.spatialExtent.searchLocation": "Rechercher dans la liste",
|
|
705
710
|
"search.filters.standard": "Standard",
|
|
706
711
|
"search.filters.summaryLabel.changeDate": "Mise à jour : ",
|
|
712
|
+
"search.filters.summaryLabel.resourceCreationRevisionDate": "Date de la ressource : ",
|
|
713
|
+
"search.filters.summaryLabel.temporalExtent": "Étendue temporelle : ",
|
|
707
714
|
"search.filters.summaryLabel.user": "Éditeur : ",
|
|
715
|
+
"search.filters.temporalExtent": "Étendue temporelle",
|
|
708
716
|
"search.filters.title": "Affiner votre recherche",
|
|
709
717
|
"search.filters.topic": "Thèmes",
|
|
710
718
|
"search.filters.useSpatialFilter": "Mettre en avant les ressources sur la zone d'intérêt",
|
package/translations/it.json
CHANGED
|
@@ -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.
|
|
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",
|
|
@@ -690,21 +690,29 @@
|
|
|
690
690
|
"search.filters.recordKind.reuse": "Riutilizzi",
|
|
691
691
|
"search.filters.recordKind.service": "Servizi",
|
|
692
692
|
"search.filters.representationType": "Tipo di rappresentazione",
|
|
693
|
+
"search.filters.resourceCreationRevisionDate": "Data della risorsa",
|
|
693
694
|
"search.filters.resourceType": "Tipo di risorsa",
|
|
694
695
|
"search.filters.spatialExtent": "",
|
|
695
696
|
"search.filters.spatialExtent.bboxFromFile": "",
|
|
696
697
|
"search.filters.spatialExtent.bboxFromFileDelete": "",
|
|
698
|
+
"search.filters.spatialExtent.bboxFromLocation": "",
|
|
699
|
+
"search.filters.spatialExtent.bboxFromLocationDelete": "",
|
|
697
700
|
"search.filters.spatialExtent.bboxInitial": "",
|
|
698
701
|
"search.filters.spatialExtent.bboxInitialDelete": "",
|
|
699
702
|
"search.filters.spatialExtent.error.fileTooLarge": "",
|
|
700
703
|
"search.filters.spatialExtent.error.invalidFormat": "",
|
|
701
704
|
"search.filters.spatialExtent.error.noGeometry": "",
|
|
705
|
+
"search.filters.spatialExtent.error.outOfBounds": "",
|
|
702
706
|
"search.filters.spatialExtent.error.title": "",
|
|
703
707
|
"search.filters.spatialExtent.helpText": "",
|
|
704
708
|
"search.filters.spatialExtent.import": "",
|
|
709
|
+
"search.filters.spatialExtent.searchLocation": "",
|
|
705
710
|
"search.filters.standard": "Standard",
|
|
706
711
|
"search.filters.summaryLabel.changeDate": "Aggiornato: ",
|
|
712
|
+
"search.filters.summaryLabel.resourceCreationRevisionDate": "Data della risorsa: ",
|
|
713
|
+
"search.filters.summaryLabel.temporalExtent": "Estensione temporale: ",
|
|
707
714
|
"search.filters.summaryLabel.user": "Editor: ",
|
|
715
|
+
"search.filters.temporalExtent": "Estensione temporale",
|
|
708
716
|
"search.filters.title": "Affina la sua ricerca",
|
|
709
717
|
"search.filters.topic": "Argomenti",
|
|
710
718
|
"search.filters.useSpatialFilter": "Evidenzia le risorse nell'area di interesse",
|
package/translations/nl.json
CHANGED
|
@@ -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.
|
|
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": "",
|
|
@@ -690,21 +690,29 @@
|
|
|
690
690
|
"search.filters.recordKind.reuse": "",
|
|
691
691
|
"search.filters.recordKind.service": "",
|
|
692
692
|
"search.filters.representationType": "",
|
|
693
|
+
"search.filters.resourceCreationRevisionDate": "",
|
|
693
694
|
"search.filters.resourceType": "",
|
|
694
695
|
"search.filters.spatialExtent": "",
|
|
695
696
|
"search.filters.spatialExtent.bboxFromFile": "",
|
|
696
697
|
"search.filters.spatialExtent.bboxFromFileDelete": "",
|
|
698
|
+
"search.filters.spatialExtent.bboxFromLocation": "",
|
|
699
|
+
"search.filters.spatialExtent.bboxFromLocationDelete": "",
|
|
697
700
|
"search.filters.spatialExtent.bboxInitial": "",
|
|
698
701
|
"search.filters.spatialExtent.bboxInitialDelete": "",
|
|
699
702
|
"search.filters.spatialExtent.error.fileTooLarge": "",
|
|
700
703
|
"search.filters.spatialExtent.error.invalidFormat": "",
|
|
701
704
|
"search.filters.spatialExtent.error.noGeometry": "",
|
|
705
|
+
"search.filters.spatialExtent.error.outOfBounds": "",
|
|
702
706
|
"search.filters.spatialExtent.error.title": "",
|
|
703
707
|
"search.filters.spatialExtent.helpText": "",
|
|
704
708
|
"search.filters.spatialExtent.import": "",
|
|
709
|
+
"search.filters.spatialExtent.searchLocation": "",
|
|
705
710
|
"search.filters.standard": "",
|
|
706
711
|
"search.filters.summaryLabel.changeDate": "",
|
|
712
|
+
"search.filters.summaryLabel.resourceCreationRevisionDate": "",
|
|
713
|
+
"search.filters.summaryLabel.temporalExtent": "",
|
|
707
714
|
"search.filters.summaryLabel.user": "",
|
|
715
|
+
"search.filters.temporalExtent": "",
|
|
708
716
|
"search.filters.title": "",
|
|
709
717
|
"search.filters.topic": "",
|
|
710
718
|
"search.filters.useSpatialFilter": "",
|
package/translations/pt.json
CHANGED
|
@@ -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.
|
|
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": "",
|
|
@@ -690,21 +690,29 @@
|
|
|
690
690
|
"search.filters.recordKind.reuse": "",
|
|
691
691
|
"search.filters.recordKind.service": "",
|
|
692
692
|
"search.filters.representationType": "",
|
|
693
|
+
"search.filters.resourceCreationRevisionDate": "",
|
|
693
694
|
"search.filters.resourceType": "",
|
|
694
695
|
"search.filters.spatialExtent": "",
|
|
695
696
|
"search.filters.spatialExtent.bboxFromFile": "",
|
|
696
697
|
"search.filters.spatialExtent.bboxFromFileDelete": "",
|
|
698
|
+
"search.filters.spatialExtent.bboxFromLocation": "",
|
|
699
|
+
"search.filters.spatialExtent.bboxFromLocationDelete": "",
|
|
697
700
|
"search.filters.spatialExtent.bboxInitial": "",
|
|
698
701
|
"search.filters.spatialExtent.bboxInitialDelete": "",
|
|
699
702
|
"search.filters.spatialExtent.error.fileTooLarge": "",
|
|
700
703
|
"search.filters.spatialExtent.error.invalidFormat": "",
|
|
701
704
|
"search.filters.spatialExtent.error.noGeometry": "",
|
|
705
|
+
"search.filters.spatialExtent.error.outOfBounds": "",
|
|
702
706
|
"search.filters.spatialExtent.error.title": "",
|
|
703
707
|
"search.filters.spatialExtent.helpText": "",
|
|
704
708
|
"search.filters.spatialExtent.import": "",
|
|
709
|
+
"search.filters.spatialExtent.searchLocation": "",
|
|
705
710
|
"search.filters.standard": "",
|
|
706
711
|
"search.filters.summaryLabel.changeDate": "",
|
|
712
|
+
"search.filters.summaryLabel.resourceCreationRevisionDate": "",
|
|
713
|
+
"search.filters.summaryLabel.temporalExtent": "",
|
|
707
714
|
"search.filters.summaryLabel.user": "",
|
|
715
|
+
"search.filters.temporalExtent": "",
|
|
708
716
|
"search.filters.title": "",
|
|
709
717
|
"search.filters.topic": "",
|
|
710
718
|
"search.filters.useSpatialFilter": "",
|
package/translations/sk.json
CHANGED
|
@@ -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.
|
|
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",
|
|
@@ -690,21 +690,29 @@
|
|
|
690
690
|
"search.filters.recordKind.reuse": "",
|
|
691
691
|
"search.filters.recordKind.service": "",
|
|
692
692
|
"search.filters.representationType": "Typ reprezentácie",
|
|
693
|
+
"search.filters.resourceCreationRevisionDate": "",
|
|
693
694
|
"search.filters.resourceType": "Typ zdroja",
|
|
694
695
|
"search.filters.spatialExtent": "",
|
|
695
696
|
"search.filters.spatialExtent.bboxFromFile": "",
|
|
696
697
|
"search.filters.spatialExtent.bboxFromFileDelete": "",
|
|
698
|
+
"search.filters.spatialExtent.bboxFromLocation": "",
|
|
699
|
+
"search.filters.spatialExtent.bboxFromLocationDelete": "",
|
|
697
700
|
"search.filters.spatialExtent.bboxInitial": "",
|
|
698
701
|
"search.filters.spatialExtent.bboxInitialDelete": "",
|
|
699
702
|
"search.filters.spatialExtent.error.fileTooLarge": "",
|
|
700
703
|
"search.filters.spatialExtent.error.invalidFormat": "",
|
|
701
704
|
"search.filters.spatialExtent.error.noGeometry": "",
|
|
705
|
+
"search.filters.spatialExtent.error.outOfBounds": "",
|
|
702
706
|
"search.filters.spatialExtent.error.title": "",
|
|
703
707
|
"search.filters.spatialExtent.helpText": "",
|
|
704
708
|
"search.filters.spatialExtent.import": "",
|
|
709
|
+
"search.filters.spatialExtent.searchLocation": "",
|
|
705
710
|
"search.filters.standard": "Štandard",
|
|
706
711
|
"search.filters.summaryLabel.changeDate": "",
|
|
712
|
+
"search.filters.summaryLabel.resourceCreationRevisionDate": "",
|
|
713
|
+
"search.filters.summaryLabel.temporalExtent": "",
|
|
707
714
|
"search.filters.summaryLabel.user": "",
|
|
715
|
+
"search.filters.temporalExtent": "",
|
|
708
716
|
"search.filters.title": "Filtrovanie výsledkov",
|
|
709
717
|
"search.filters.topic": "Témy",
|
|
710
718
|
"search.filters.useSpatialFilter": "Najskôr zobraziť záznamy v oblasti záujmu",
|
|
File without changes
|
|
@@ -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
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { Component, OnDestroy, inject } from '@angular/core'
|
|
2
|
-
import { catchError, firstValueFrom, from, Subject, takeUntil } from 'rxjs'
|
|
3
|
-
import { debounceTime, switchMap } from 'rxjs/operators'
|
|
4
|
-
import { GeocodingService } from '../geocoding.service'
|
|
5
|
-
import { MapFacade } from '../+state/map.facade'
|
|
6
|
-
|
|
7
|
-
import { SearchInputComponent } from '../../../../../../libs/ui/inputs/src'
|
|
8
|
-
import { TranslatePipe } from '@ngx-translate/core'
|
|
9
|
-
import { MapContextView } from '@geospatial-sdk/core'
|
|
10
|
-
|
|
11
|
-
@Component({
|
|
12
|
-
selector: 'gn-ui-geocoding',
|
|
13
|
-
templateUrl: './geocoding.component.html',
|
|
14
|
-
styleUrls: ['./geocoding.component.css'],
|
|
15
|
-
standalone: true,
|
|
16
|
-
imports: [SearchInputComponent, TranslatePipe],
|
|
17
|
-
})
|
|
18
|
-
export class GeocodingComponent implements OnDestroy {
|
|
19
|
-
private mapFacade = inject(MapFacade)
|
|
20
|
-
private geocodingService = inject(GeocodingService)
|
|
21
|
-
|
|
22
|
-
searchText = ''
|
|
23
|
-
results: any[] = []
|
|
24
|
-
searchTextChanged = new Subject<string>()
|
|
25
|
-
destroy$ = new Subject<void>()
|
|
26
|
-
errorMessage: string | null = null
|
|
27
|
-
|
|
28
|
-
constructor() {
|
|
29
|
-
this.searchTextChanged
|
|
30
|
-
.pipe(
|
|
31
|
-
debounceTime(300),
|
|
32
|
-
switchMap((searchText) => {
|
|
33
|
-
return from(this.geocodingService.query(searchText)).pipe(
|
|
34
|
-
catchError((error) => {
|
|
35
|
-
this.errorMessage =
|
|
36
|
-
'An error occurred while searching. Please try again.'
|
|
37
|
-
console.error(error)
|
|
38
|
-
return []
|
|
39
|
-
})
|
|
40
|
-
)
|
|
41
|
-
}),
|
|
42
|
-
takeUntil(this.destroy$)
|
|
43
|
-
)
|
|
44
|
-
.subscribe((results) => {
|
|
45
|
-
this.results = results
|
|
46
|
-
})
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
ngOnDestroy() {
|
|
50
|
-
this.destroy$.next()
|
|
51
|
-
this.destroy$.complete()
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
onSearchChange(searchText: string) {
|
|
55
|
-
if (!searchText) {
|
|
56
|
-
this.clearSearch()
|
|
57
|
-
return
|
|
58
|
-
} else {
|
|
59
|
-
this.searchTextChanged.next(searchText)
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
clearSearch() {
|
|
64
|
-
this.searchText = ''
|
|
65
|
-
this.results = []
|
|
66
|
-
this.errorMessage = null
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
async zoomToLocation(result: any) {
|
|
70
|
-
const geometry = result.geom
|
|
71
|
-
|
|
72
|
-
if (geometry.type === 'Point') {
|
|
73
|
-
await this.zoomToPoint(geometry.coordinates)
|
|
74
|
-
} else if (geometry.type === 'Polygon') {
|
|
75
|
-
await this.zoomToPolygon(geometry.coordinates)
|
|
76
|
-
} else {
|
|
77
|
-
console.error(`Unsupported geometry type: ${geometry.type}`)
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
async zoomToPoint(pointCoords: [number, number]) {
|
|
82
|
-
const context = await firstValueFrom(this.mapFacade.context$)
|
|
83
|
-
const view: MapContextView = {
|
|
84
|
-
center: pointCoords,
|
|
85
|
-
zoom: 10,
|
|
86
|
-
}
|
|
87
|
-
this.mapFacade.applyContext({
|
|
88
|
-
...context,
|
|
89
|
-
view,
|
|
90
|
-
})
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
async zoomToPolygon(polygonCoords: [[number, number][]]) {
|
|
94
|
-
const context = await firstValueFrom(this.mapFacade.context$)
|
|
95
|
-
const view: MapContextView = {
|
|
96
|
-
geometry: {
|
|
97
|
-
type: 'Polygon',
|
|
98
|
-
coordinates: polygonCoords,
|
|
99
|
-
},
|
|
100
|
-
}
|
|
101
|
-
this.mapFacade.applyContext({
|
|
102
|
-
...context,
|
|
103
|
-
view,
|
|
104
|
-
})
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
onEnterPress() {
|
|
108
|
-
if (this.results && this.results.length > 0) {
|
|
109
|
-
this.zoomToLocation(this.results[0])
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Injectable, InjectionToken, inject } from '@angular/core'
|
|
2
|
-
import {
|
|
3
|
-
queryGeoadmin,
|
|
4
|
-
GeoadminOptions,
|
|
5
|
-
GeocodingResult,
|
|
6
|
-
queryGeonames,
|
|
7
|
-
GeonamesOptions,
|
|
8
|
-
DataGouvFrOptions,
|
|
9
|
-
queryDataGouvFr,
|
|
10
|
-
} from '@geospatial-sdk/geocoding'
|
|
11
|
-
import { from, Observable, throwError } from 'rxjs'
|
|
12
|
-
import { catchError } from 'rxjs/operators'
|
|
13
|
-
|
|
14
|
-
type GeoadminGeocodingProvider = ['geoadmin', GeoadminOptions]
|
|
15
|
-
type GeonamesGeocodingProvider = ['geonames', GeonamesOptions]
|
|
16
|
-
type DataGouvFrGeocodingProvider = ['data-gouv-fr', DataGouvFrOptions]
|
|
17
|
-
export type GeocodingProvider =
|
|
18
|
-
| GeoadminGeocodingProvider
|
|
19
|
-
| GeonamesGeocodingProvider
|
|
20
|
-
| DataGouvFrGeocodingProvider
|
|
21
|
-
|
|
22
|
-
export const GEOCODING_PROVIDER = new InjectionToken<GeocodingProvider>(
|
|
23
|
-
'geocoding-provider'
|
|
24
|
-
)
|
|
25
|
-
|
|
26
|
-
@Injectable({
|
|
27
|
-
providedIn: 'root',
|
|
28
|
-
})
|
|
29
|
-
export class GeocodingService {
|
|
30
|
-
private provider = inject<GeocodingProvider>(GEOCODING_PROVIDER)
|
|
31
|
-
|
|
32
|
-
query(text: string): Observable<GeocodingResult[]> {
|
|
33
|
-
let queryObservable: Observable<GeocodingResult[]>
|
|
34
|
-
switch (this.provider[0]) {
|
|
35
|
-
case 'geoadmin':
|
|
36
|
-
queryObservable = from(
|
|
37
|
-
queryGeoadmin(text, this.provider[1] as GeoadminOptions)
|
|
38
|
-
)
|
|
39
|
-
break
|
|
40
|
-
case 'geonames':
|
|
41
|
-
queryObservable = from(
|
|
42
|
-
queryGeonames(text, this.provider[1] as GeonamesOptions)
|
|
43
|
-
)
|
|
44
|
-
break
|
|
45
|
-
case 'data-gouv-fr':
|
|
46
|
-
queryObservable = from(
|
|
47
|
-
queryDataGouvFr(text, this.provider[1] as DataGouvFrOptions)
|
|
48
|
-
)
|
|
49
|
-
break
|
|
50
|
-
default:
|
|
51
|
-
return throwError(
|
|
52
|
-
() => new Error(`Unsupported geocoding provider: ${this.provider[0]}`)
|
|
53
|
-
)
|
|
54
|
-
}
|
|
55
|
-
return queryObservable.pipe(catchError((error) => throwError(error)))
|
|
56
|
-
}
|
|
57
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Circle, Fill, Stroke, Style } from 'ol/style.js'
|
|
2
|
-
|
|
3
|
-
const colorPrimary = 'blue'
|
|
4
|
-
const colorSecondary = 'red'
|
|
5
|
-
const colorStroke = 'white'
|
|
6
|
-
|
|
7
|
-
export const defaultMapStyleFixture = (): Style =>
|
|
8
|
-
new Style({
|
|
9
|
-
image: new Circle({
|
|
10
|
-
fill: new Fill({
|
|
11
|
-
color: colorPrimary,
|
|
12
|
-
}),
|
|
13
|
-
stroke: new Stroke({
|
|
14
|
-
color: colorStroke,
|
|
15
|
-
width: 2,
|
|
16
|
-
}),
|
|
17
|
-
radius: 5,
|
|
18
|
-
}),
|
|
19
|
-
fill: new Fill({
|
|
20
|
-
color: 'rgba(0,0,255,0.25)',
|
|
21
|
-
}),
|
|
22
|
-
stroke: new Stroke({
|
|
23
|
-
color: colorStroke,
|
|
24
|
-
width: 2,
|
|
25
|
-
}),
|
|
26
|
-
})
|
|
27
|
-
|
|
28
|
-
export const defaultMapStyleHlFixture = (): Style =>
|
|
29
|
-
new Style({
|
|
30
|
-
image: new Circle({
|
|
31
|
-
fill: new Fill({
|
|
32
|
-
color: colorSecondary,
|
|
33
|
-
}),
|
|
34
|
-
stroke: new Stroke({
|
|
35
|
-
color: colorStroke,
|
|
36
|
-
width: 3,
|
|
37
|
-
}),
|
|
38
|
-
radius: 6,
|
|
39
|
-
}),
|
|
40
|
-
fill: new Fill({
|
|
41
|
-
color: 'rgba(255,0,0,0.25)',
|
|
42
|
-
}),
|
|
43
|
-
stroke: new Stroke({
|
|
44
|
-
color: colorSecondary,
|
|
45
|
-
width: 3,
|
|
46
|
-
}),
|
|
47
|
-
})
|