geonetwork-ui 2.10.3-dev.4154db07d → 2.11.0-dev.0559cfd9d

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 (128) hide show
  1. package/fesm2022/geonetwork-ui.mjs +2983 -2095
  2. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  3. package/index.d.ts +408 -180
  4. package/index.d.ts.map +1 -1
  5. package/package.json +10 -8
  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/generic.records.ts +5 -5
  8. package/src/libs/api/metadata-converter/src/lib/fixtures/mel.records.dataset+featurecatalog.ts +395 -0
  9. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +5 -5
  10. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +78 -21
  11. package/src/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.ts +13 -1
  12. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +19 -0
  13. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +17 -6
  14. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +110 -0
  15. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +133 -2
  16. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +9 -0
  17. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +11 -6
  18. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/association-type.mapper.ts +12 -0
  19. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +2 -2
  20. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +157 -38
  21. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +45 -50
  22. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +54 -20
  23. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +2 -0
  24. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +24 -2
  25. package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +1 -5
  26. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +3 -3
  27. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +42 -62
  28. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -2
  29. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +2 -1
  30. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +54 -41
  31. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-associated-records/form-field-associated-records.component.html +33 -0
  32. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-associated-records/form-field-associated-records.component.ts +94 -0
  33. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +16 -12
  34. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +6 -0
  35. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +6 -0
  36. package/src/libs/feature/editor/src/lib/fields.config.ts +5 -0
  37. package/src/libs/feature/map/src/index.ts +0 -2
  38. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +1 -0
  39. package/src/libs/feature/map/src/lib/feature-map.module.ts +1 -8
  40. package/src/libs/feature/notifications/src/lib/notifications.service.ts +6 -4
  41. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.ts +8 -3
  42. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +4 -8
  43. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +10 -17
  44. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +2 -4
  45. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +4 -9
  46. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +2 -7
  47. package/src/libs/feature/router/src/lib/default/router.service.ts +1 -1
  48. package/src/libs/feature/router/src/lib/default/state/query-params.utils.ts +1 -1
  49. package/src/libs/feature/search/src/index.ts +2 -0
  50. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.html +18 -4
  51. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +80 -19
  52. package/src/libs/feature/search/src/lib/geocoding/geocoding.service.ts +105 -0
  53. package/src/libs/feature/search/src/lib/location-search/location-search.component.html +18 -0
  54. package/src/libs/feature/search/src/lib/location-search/location-search.component.ts +114 -0
  55. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +19 -8
  56. package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +1 -1
  57. package/src/libs/feature/search/src/lib/state/reducer.ts +1 -4
  58. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +64 -4
  59. package/src/libs/feature/search/src/lib/utils/service/fields.ts +92 -9
  60. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -7
  61. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +31 -19
  62. package/src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts +2 -2
  63. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +3 -3
  64. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +2 -2
  65. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +2 -1
  66. package/src/libs/ui/inputs/src/index.ts +2 -0
  67. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -4
  68. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +12 -3
  69. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +11 -3
  70. package/src/libs/ui/inputs/src/lib/date-adapter.providers.ts +30 -0
  71. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +3 -24
  72. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.css +37 -3
  73. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.html +135 -16
  74. package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.ts +166 -29
  75. package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +3 -7
  76. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.css +1 -0
  77. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.html +20 -7
  78. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.ts +46 -5
  79. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +7 -4
  80. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +12 -9
  81. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.model.ts +2 -2
  82. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +2 -1
  83. package/src/libs/ui/inputs/src/lib/spatial-extent-dropdown/spatial-extent-dropdown.component.css +0 -0
  84. package/src/libs/ui/inputs/src/lib/spatial-extent-dropdown/spatial-extent-dropdown.component.html +117 -0
  85. package/src/libs/ui/inputs/src/lib/spatial-extent-dropdown/spatial-extent-dropdown.component.ts +244 -0
  86. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +1 -0
  87. package/src/libs/util/app-config/src/lib/app-config.ts +37 -0
  88. package/src/libs/util/app-config/src/lib/fixtures.ts +37 -1
  89. package/src/libs/util/app-config/src/lib/model.ts +25 -1
  90. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +19 -22
  91. package/src/libs/util/data-fetcher/src/lib/engine/duckdb.ts +185 -0
  92. package/src/libs/util/data-fetcher/src/lib/engine/results.ts +63 -0
  93. package/src/libs/util/data-fetcher/src/lib/{sql-utils.ts → engine/sql-utils.ts} +28 -13
  94. package/src/libs/util/data-fetcher/src/lib/model.ts +2 -1
  95. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +53 -38
  96. package/src/libs/util/data-fetcher/src/lib/readers/base.ts +11 -0
  97. package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +9 -47
  98. package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +27 -27
  99. package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +5 -24
  100. package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +5 -49
  101. package/src/libs/util/data-fetcher/src/lib/readers/json.ts +5 -23
  102. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +184 -128
  103. package/src/libs/util/data-fetcher/src/lib/utils.ts +0 -143
  104. package/src/libs/util/shared/src/index.ts +1 -0
  105. package/src/libs/util/shared/src/lib/autofocus.directive.ts +26 -0
  106. package/src/libs/util/shared/src/lib/gn-ui-version.ts +1 -1
  107. package/src/libs/util/shared/src/lib/links/link-utils.ts +19 -10
  108. package/src/libs/util/shared/src/lib/services/date.service.ts +3 -3
  109. package/src/libs/util/shared/src/lib/utils/file.ts +15 -0
  110. package/src/libs/util/shared/src/lib/utils/geojson.ts +24 -0
  111. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  112. package/tailwind.base.css +5 -0
  113. package/translations/de.json +38 -5
  114. package/translations/en.json +37 -4
  115. package/translations/es.json +35 -2
  116. package/translations/fr.json +42 -9
  117. package/translations/it.json +36 -3
  118. package/translations/nl.json +35 -2
  119. package/translations/pt.json +35 -2
  120. package/translations/sk.json +36 -3
  121. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +0 -41
  122. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +0 -112
  123. package/src/libs/feature/map/src/lib/geocoding.service.ts +0 -57
  124. package/src/libs/feature/map/src/lib/style/index.ts +0 -2
  125. package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +0 -47
  126. package/src/libs/feature/map/src/lib/style/map-style.service.ts +0 -108
  127. package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +0 -14
  128. /package/src/libs/feature/{map/src/lib/geocoding/geocoding.component.css → editor/src/lib/components/record-form/form-field/form-field-associated-records/form-field-associated-records.component.css} +0 -0
@@ -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": "",
@@ -89,6 +90,15 @@
89
90
  "domain.contact.role.stakeholder": "Parte interessata",
90
91
  "domain.contact.role.unspecified": "Non specificato",
91
92
  "domain.contact.role.user": "Utente",
93
+ "domain.record.associationType.collectiveTitle": "",
94
+ "domain.record.associationType.crossReference": "",
95
+ "domain.record.associationType.dependency": "",
96
+ "domain.record.associationType.isComposedOf": "",
97
+ "domain.record.associationType.largerWorkCitation": "",
98
+ "domain.record.associationType.partOfSeamlessDatabase": "",
99
+ "domain.record.associationType.revisionOf": "",
100
+ "domain.record.associationType.series": "",
101
+ "domain.record.associationType.stereoMate": "",
92
102
  "domain.record.keywordType.other": "Parole chiave",
93
103
  "domain.record.keywordType.place": "Luogo",
94
104
  "domain.record.keywordType.temporal": "Temporale",
@@ -212,6 +222,9 @@
212
222
  "editor.record.form.field.organisation": "",
213
223
  "editor.record.form.field.otherConstraints": "Vincolo generale",
214
224
  "editor.record.form.field.overviews": "Panoramica",
225
+ "editor.record.form.field.parentIdentifier": "",
226
+ "editor.record.form.field.parentLink": "",
227
+ "editor.record.form.field.parentType": "",
215
228
  "editor.record.form.field.recordUpdated": "Data di aggiornamento",
216
229
  "editor.record.form.field.resourceCreated": "Data di creazione",
217
230
  "editor.record.form.field.resourceIdentifier": "Identificatore",
@@ -359,7 +372,7 @@
359
372
  "favorite.starToggle.add": "Aggiungi ai preferiti",
360
373
  "favorite.starToggle.remove": "Rimuovi dai preferiti",
361
374
  "feature.catalog.attribute.code": "Codice",
362
- "feature.catalog.attribute.definition": "Descrizione",
375
+ "feature.catalog.attribute.description": "Descrizione",
363
376
  "feature.catalog.attribute.name": "Nome",
364
377
  "feature.catalog.attribute.type": "Tipo",
365
378
  "feature.catalog.attribute.values": "Valori",
@@ -412,7 +425,6 @@
412
425
  "map.add.layer.wms": "Da un WMS",
413
426
  "map.addFromFile.placeholder": "Clicca o trascina un file qui",
414
427
  "map.dropdown.placeholder": "Nessun livello di anteprima disponibile",
415
- "map.geocoding.placeholder": "Cerca un luogo",
416
428
  "map.help.addFromFile": "Clicca o trascina un file per aggiungerlo alla mappa (attualmente supporta solo il formato GeoJSON)",
417
429
  "map.layer.add": "Aggiungi",
418
430
  "map.layers.available": "Layer disponibili",
@@ -533,11 +545,12 @@
533
545
  "record.metadata.download": "Download",
534
546
  "record.metadata.feature.catalog": "Catalogo dei oggetti",
535
547
  "record.metadata.formats": "Formati",
536
- "record.metadata.isGeographical": "dati geografici",
548
+ "record.metadata.isGeographical": "geo",
537
549
  "record.metadata.keywords": "Parole chiave",
538
550
  "record.metadata.languages": "Lingue",
539
551
  "record.metadata.link.postgis.table": "",
540
552
  "record.metadata.link.postgis.tooltip": "",
553
+ "record.metadata.linked.associatedRecords": "",
541
554
  "record.metadata.linked.datasets": "",
542
555
  "record.metadata.linked.records": "",
543
556
  "record.metadata.linked.reuses": "",
@@ -645,6 +658,7 @@
645
658
  "search.filters.changeDate": "Aggiornato",
646
659
  "search.filters.clear": "Ripristina",
647
660
  "search.filters.contact": "Contatti",
661
+ "search.filters.documentStandard": "",
648
662
  "search.filters.format": "Formati",
649
663
  "search.filters.inspireKeyword": "Parola chiave INSPIRE",
650
664
  "search.filters.isSpatial": "Dati spaziali",
@@ -676,10 +690,29 @@
676
690
  "search.filters.recordKind.reuse": "Riutilizzi",
677
691
  "search.filters.recordKind.service": "Servizi",
678
692
  "search.filters.representationType": "Tipo di rappresentazione",
693
+ "search.filters.resourceCreationRevisionDate": "Data della risorsa",
679
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.bboxFromLocation": "",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "",
700
+ "search.filters.spatialExtent.bboxInitial": "",
701
+ "search.filters.spatialExtent.bboxInitialDelete": "",
702
+ "search.filters.spatialExtent.error.fileTooLarge": "",
703
+ "search.filters.spatialExtent.error.invalidFormat": "",
704
+ "search.filters.spatialExtent.error.noGeometry": "",
705
+ "search.filters.spatialExtent.error.outOfBounds": "",
706
+ "search.filters.spatialExtent.error.title": "",
707
+ "search.filters.spatialExtent.helpText": "",
708
+ "search.filters.spatialExtent.import": "",
709
+ "search.filters.spatialExtent.searchLocation": "",
680
710
  "search.filters.standard": "Standard",
681
711
  "search.filters.summaryLabel.changeDate": "Aggiornato: ",
712
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "Data della risorsa: ",
713
+ "search.filters.summaryLabel.temporalExtent": "Estensione temporale: ",
682
714
  "search.filters.summaryLabel.user": "Editor: ",
715
+ "search.filters.temporalExtent": "Estensione temporale",
683
716
  "search.filters.title": "Affina la sua ricerca",
684
717
  "search.filters.topic": "Argomenti",
685
718
  "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": "",
@@ -89,6 +90,15 @@
89
90
  "domain.contact.role.stakeholder": "",
90
91
  "domain.contact.role.unspecified": "",
91
92
  "domain.contact.role.user": "",
93
+ "domain.record.associationType.collectiveTitle": "",
94
+ "domain.record.associationType.crossReference": "",
95
+ "domain.record.associationType.dependency": "",
96
+ "domain.record.associationType.isComposedOf": "",
97
+ "domain.record.associationType.largerWorkCitation": "",
98
+ "domain.record.associationType.partOfSeamlessDatabase": "",
99
+ "domain.record.associationType.revisionOf": "",
100
+ "domain.record.associationType.series": "",
101
+ "domain.record.associationType.stereoMate": "",
92
102
  "domain.record.keywordType.other": "",
93
103
  "domain.record.keywordType.place": "",
94
104
  "domain.record.keywordType.temporal": "",
@@ -212,6 +222,9 @@
212
222
  "editor.record.form.field.organisation": "",
213
223
  "editor.record.form.field.otherConstraints": "",
214
224
  "editor.record.form.field.overviews": "",
225
+ "editor.record.form.field.parentIdentifier": "",
226
+ "editor.record.form.field.parentLink": "",
227
+ "editor.record.form.field.parentType": "",
215
228
  "editor.record.form.field.recordUpdated": "",
216
229
  "editor.record.form.field.resourceCreated": "",
217
230
  "editor.record.form.field.resourceIdentifier": "",
@@ -359,7 +372,7 @@
359
372
  "favorite.starToggle.add": "Toevoegen aan favorieten",
360
373
  "favorite.starToggle.remove": "Verwijderen uit favorieten",
361
374
  "feature.catalog.attribute.code": "Code",
362
- "feature.catalog.attribute.definition": "Beschrijving",
375
+ "feature.catalog.attribute.description": "Beschrijving",
363
376
  "feature.catalog.attribute.name": "Naam",
364
377
  "feature.catalog.attribute.type": "Type",
365
378
  "feature.catalog.attribute.values": "Waarden",
@@ -412,7 +425,6 @@
412
425
  "map.add.layer.wms": "",
413
426
  "map.addFromFile.placeholder": "",
414
427
  "map.dropdown.placeholder": "",
415
- "map.geocoding.placeholder": "",
416
428
  "map.help.addFromFile": "",
417
429
  "map.layer.add": "",
418
430
  "map.layers.available": "",
@@ -538,6 +550,7 @@
538
550
  "record.metadata.languages": "",
539
551
  "record.metadata.link.postgis.table": "",
540
552
  "record.metadata.link.postgis.tooltip": "",
553
+ "record.metadata.linked.associatedRecords": "",
541
554
  "record.metadata.linked.datasets": "",
542
555
  "record.metadata.linked.records": "",
543
556
  "record.metadata.linked.reuses": "",
@@ -645,6 +658,7 @@
645
658
  "search.filters.changeDate": "",
646
659
  "search.filters.clear": "",
647
660
  "search.filters.contact": "",
661
+ "search.filters.documentStandard": "",
648
662
  "search.filters.format": "",
649
663
  "search.filters.inspireKeyword": "",
650
664
  "search.filters.isSpatial": "",
@@ -676,10 +690,29 @@
676
690
  "search.filters.recordKind.reuse": "",
677
691
  "search.filters.recordKind.service": "",
678
692
  "search.filters.representationType": "",
693
+ "search.filters.resourceCreationRevisionDate": "",
679
694
  "search.filters.resourceType": "",
695
+ "search.filters.spatialExtent": "",
696
+ "search.filters.spatialExtent.bboxFromFile": "",
697
+ "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxFromLocation": "",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "",
700
+ "search.filters.spatialExtent.bboxInitial": "",
701
+ "search.filters.spatialExtent.bboxInitialDelete": "",
702
+ "search.filters.spatialExtent.error.fileTooLarge": "",
703
+ "search.filters.spatialExtent.error.invalidFormat": "",
704
+ "search.filters.spatialExtent.error.noGeometry": "",
705
+ "search.filters.spatialExtent.error.outOfBounds": "",
706
+ "search.filters.spatialExtent.error.title": "",
707
+ "search.filters.spatialExtent.helpText": "",
708
+ "search.filters.spatialExtent.import": "",
709
+ "search.filters.spatialExtent.searchLocation": "",
680
710
  "search.filters.standard": "",
681
711
  "search.filters.summaryLabel.changeDate": "",
712
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "",
713
+ "search.filters.summaryLabel.temporalExtent": "",
682
714
  "search.filters.summaryLabel.user": "",
715
+ "search.filters.temporalExtent": "",
683
716
  "search.filters.title": "",
684
717
  "search.filters.topic": "",
685
718
  "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": "",
@@ -89,6 +90,15 @@
89
90
  "domain.contact.role.stakeholder": "",
90
91
  "domain.contact.role.unspecified": "",
91
92
  "domain.contact.role.user": "",
93
+ "domain.record.associationType.collectiveTitle": "",
94
+ "domain.record.associationType.crossReference": "",
95
+ "domain.record.associationType.dependency": "",
96
+ "domain.record.associationType.isComposedOf": "",
97
+ "domain.record.associationType.largerWorkCitation": "",
98
+ "domain.record.associationType.partOfSeamlessDatabase": "",
99
+ "domain.record.associationType.revisionOf": "",
100
+ "domain.record.associationType.series": "",
101
+ "domain.record.associationType.stereoMate": "",
92
102
  "domain.record.keywordType.other": "",
93
103
  "domain.record.keywordType.place": "",
94
104
  "domain.record.keywordType.temporal": "",
@@ -212,6 +222,9 @@
212
222
  "editor.record.form.field.organisation": "",
213
223
  "editor.record.form.field.otherConstraints": "",
214
224
  "editor.record.form.field.overviews": "",
225
+ "editor.record.form.field.parentIdentifier": "",
226
+ "editor.record.form.field.parentLink": "",
227
+ "editor.record.form.field.parentType": "",
215
228
  "editor.record.form.field.recordUpdated": "",
216
229
  "editor.record.form.field.resourceCreated": "",
217
230
  "editor.record.form.field.resourceIdentifier": "",
@@ -359,7 +372,7 @@
359
372
  "favorite.starToggle.add": "Adicionar aos favoritos",
360
373
  "favorite.starToggle.remove": "Remover dos favoritos",
361
374
  "feature.catalog.attribute.code": "Código",
362
- "feature.catalog.attribute.definition": "Descrição",
375
+ "feature.catalog.attribute.description": "Descrição",
363
376
  "feature.catalog.attribute.name": "Nome",
364
377
  "feature.catalog.attribute.type": "Tipo",
365
378
  "feature.catalog.attribute.values": "Valores",
@@ -412,7 +425,6 @@
412
425
  "map.add.layer.wms": "",
413
426
  "map.addFromFile.placeholder": "",
414
427
  "map.dropdown.placeholder": "",
415
- "map.geocoding.placeholder": "",
416
428
  "map.help.addFromFile": "",
417
429
  "map.layer.add": "",
418
430
  "map.layers.available": "",
@@ -538,6 +550,7 @@
538
550
  "record.metadata.languages": "",
539
551
  "record.metadata.link.postgis.table": "",
540
552
  "record.metadata.link.postgis.tooltip": "",
553
+ "record.metadata.linked.associatedRecords": "",
541
554
  "record.metadata.linked.datasets": "",
542
555
  "record.metadata.linked.records": "",
543
556
  "record.metadata.linked.reuses": "",
@@ -645,6 +658,7 @@
645
658
  "search.filters.changeDate": "",
646
659
  "search.filters.clear": "",
647
660
  "search.filters.contact": "",
661
+ "search.filters.documentStandard": "",
648
662
  "search.filters.format": "",
649
663
  "search.filters.inspireKeyword": "",
650
664
  "search.filters.isSpatial": "",
@@ -676,10 +690,29 @@
676
690
  "search.filters.recordKind.reuse": "",
677
691
  "search.filters.recordKind.service": "",
678
692
  "search.filters.representationType": "",
693
+ "search.filters.resourceCreationRevisionDate": "",
679
694
  "search.filters.resourceType": "",
695
+ "search.filters.spatialExtent": "",
696
+ "search.filters.spatialExtent.bboxFromFile": "",
697
+ "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxFromLocation": "",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "",
700
+ "search.filters.spatialExtent.bboxInitial": "",
701
+ "search.filters.spatialExtent.bboxInitialDelete": "",
702
+ "search.filters.spatialExtent.error.fileTooLarge": "",
703
+ "search.filters.spatialExtent.error.invalidFormat": "",
704
+ "search.filters.spatialExtent.error.noGeometry": "",
705
+ "search.filters.spatialExtent.error.outOfBounds": "",
706
+ "search.filters.spatialExtent.error.title": "",
707
+ "search.filters.spatialExtent.helpText": "",
708
+ "search.filters.spatialExtent.import": "",
709
+ "search.filters.spatialExtent.searchLocation": "",
680
710
  "search.filters.standard": "",
681
711
  "search.filters.summaryLabel.changeDate": "",
712
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "",
713
+ "search.filters.summaryLabel.temporalExtent": "",
682
714
  "search.filters.summaryLabel.user": "",
715
+ "search.filters.temporalExtent": "",
683
716
  "search.filters.title": "",
684
717
  "search.filters.topic": "",
685
718
  "search.filters.useSpatialFilter": "",
@@ -65,6 +65,7 @@
65
65
  "dataset.error.restrictedAccess": "",
66
66
  "dataset.error.unknown": "Dáta nie je možné zobraziť: \"{ info }\"",
67
67
  "dataset.error.unsupportedType": "Nepodporovaný typ obsahu: \"{ info }\"",
68
+ "daterange.filter.datePlaceholder": "d. m. rrrr",
68
69
  "daterange.filter.from": "",
69
70
  "daterange.filter.period": "",
70
71
  "daterange.filter.to": "",
@@ -89,6 +90,15 @@
89
90
  "domain.contact.role.stakeholder": "",
90
91
  "domain.contact.role.unspecified": "",
91
92
  "domain.contact.role.user": "",
93
+ "domain.record.associationType.collectiveTitle": "",
94
+ "domain.record.associationType.crossReference": "",
95
+ "domain.record.associationType.dependency": "",
96
+ "domain.record.associationType.isComposedOf": "",
97
+ "domain.record.associationType.largerWorkCitation": "",
98
+ "domain.record.associationType.partOfSeamlessDatabase": "",
99
+ "domain.record.associationType.revisionOf": "",
100
+ "domain.record.associationType.series": "",
101
+ "domain.record.associationType.stereoMate": "",
92
102
  "domain.record.keywordType.other": "Kľúčové slová",
93
103
  "domain.record.keywordType.place": "Miesto",
94
104
  "domain.record.keywordType.temporal": "Časový",
@@ -212,6 +222,9 @@
212
222
  "editor.record.form.field.organisation": "",
213
223
  "editor.record.form.field.otherConstraints": "",
214
224
  "editor.record.form.field.overviews": "",
225
+ "editor.record.form.field.parentIdentifier": "",
226
+ "editor.record.form.field.parentLink": "",
227
+ "editor.record.form.field.parentType": "",
215
228
  "editor.record.form.field.recordUpdated": "",
216
229
  "editor.record.form.field.resourceCreated": "",
217
230
  "editor.record.form.field.resourceIdentifier": "",
@@ -359,7 +372,7 @@
359
372
  "favorite.starToggle.add": "Pridať k obľúbeným",
360
373
  "favorite.starToggle.remove": "Odstrániť z obľúbených",
361
374
  "feature.catalog.attribute.code": "Kód",
362
- "feature.catalog.attribute.definition": "Popis",
375
+ "feature.catalog.attribute.description": "Popis",
363
376
  "feature.catalog.attribute.name": "Názov",
364
377
  "feature.catalog.attribute.type": "Typ",
365
378
  "feature.catalog.attribute.values": "Hodnoty",
@@ -412,7 +425,6 @@
412
425
  "map.add.layer.wms": "Z WMS",
413
426
  "map.addFromFile.placeholder": "Kliknite na tlačidlo alebo sem vložte súbor",
414
427
  "map.dropdown.placeholder": "",
415
- "map.geocoding.placeholder": "Nájsť miesto",
416
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).",
417
429
  "map.layer.add": "Pridať",
418
430
  "map.layers.available": "Dostupné vrsty",
@@ -533,11 +545,12 @@
533
545
  "record.metadata.download": "Sťahovania",
534
546
  "record.metadata.feature.catalog": "",
535
547
  "record.metadata.formats": "Formáty",
536
- "record.metadata.isGeographical": "Súbor geografických údajov",
548
+ "record.metadata.isGeographical": "geo",
537
549
  "record.metadata.keywords": "Kľúčové slová",
538
550
  "record.metadata.languages": "",
539
551
  "record.metadata.link.postgis.table": "",
540
552
  "record.metadata.link.postgis.tooltip": "",
553
+ "record.metadata.linked.associatedRecords": "",
541
554
  "record.metadata.linked.datasets": "",
542
555
  "record.metadata.linked.records": "",
543
556
  "record.metadata.linked.reuses": "",
@@ -645,6 +658,7 @@
645
658
  "search.filters.changeDate": "",
646
659
  "search.filters.clear": "Obnoviť",
647
660
  "search.filters.contact": "Kontakty",
661
+ "search.filters.documentStandard": "",
648
662
  "search.filters.format": "Formáty",
649
663
  "search.filters.inspireKeyword": "Kľúčové slová INSPIRE",
650
664
  "search.filters.isSpatial": "Je priestorový údaj",
@@ -676,10 +690,29 @@
676
690
  "search.filters.recordKind.reuse": "",
677
691
  "search.filters.recordKind.service": "",
678
692
  "search.filters.representationType": "Typ reprezentácie",
693
+ "search.filters.resourceCreationRevisionDate": "",
679
694
  "search.filters.resourceType": "Typ zdroja",
695
+ "search.filters.spatialExtent": "",
696
+ "search.filters.spatialExtent.bboxFromFile": "",
697
+ "search.filters.spatialExtent.bboxFromFileDelete": "",
698
+ "search.filters.spatialExtent.bboxFromLocation": "",
699
+ "search.filters.spatialExtent.bboxFromLocationDelete": "",
700
+ "search.filters.spatialExtent.bboxInitial": "",
701
+ "search.filters.spatialExtent.bboxInitialDelete": "",
702
+ "search.filters.spatialExtent.error.fileTooLarge": "",
703
+ "search.filters.spatialExtent.error.invalidFormat": "",
704
+ "search.filters.spatialExtent.error.noGeometry": "",
705
+ "search.filters.spatialExtent.error.outOfBounds": "",
706
+ "search.filters.spatialExtent.error.title": "",
707
+ "search.filters.spatialExtent.helpText": "",
708
+ "search.filters.spatialExtent.import": "",
709
+ "search.filters.spatialExtent.searchLocation": "",
680
710
  "search.filters.standard": "Štandard",
681
711
  "search.filters.summaryLabel.changeDate": "",
712
+ "search.filters.summaryLabel.resourceCreationRevisionDate": "",
713
+ "search.filters.summaryLabel.temporalExtent": "",
682
714
  "search.filters.summaryLabel.user": "",
715
+ "search.filters.temporalExtent": "",
683
716
  "search.filters.title": "Filtrovanie výsledkov",
684
717
  "search.filters.topic": "Témy",
685
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
- }
@@ -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,2 +0,0 @@
1
- export * from './map-style.service'
2
- export * from './map-style.fixtures'
@@ -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
- })