geonetwork-ui 2.5.0-dev.b51c2cb0f → 2.5.0-dev.d4eff86c8
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/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +11 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +34 -28
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +22 -2
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +24 -14
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -4
- package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +4 -3
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -2
- package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +4 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -2
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +9 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +19 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +6 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
- package/esm2022/libs/ui/elements/src/index.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +78 -0
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -2
- package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base-cache.mjs +12 -0
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +3 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +5 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +6 -6
- package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +9 -7
- package/esm2022/translations/de.json +2 -3
- package/esm2022/translations/en.json +2 -3
- package/esm2022/translations/es.json +2 -3
- package/esm2022/translations/fr.json +4 -5
- package/esm2022/translations/it.json +2 -3
- package/esm2022/translations/nl.json +2 -3
- package/esm2022/translations/pt.json +2 -3
- package/fesm2022/geonetwork-ui.mjs +399 -165
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -0
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +1 -0
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts +16 -1
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts +5 -0
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -1
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts +16 -0
- package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts +8 -0
- package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts.map +1 -0
- package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/gml.d.ts +5 -3
- package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +3 -3
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +36 -27
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +41 -2
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -1
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +75 -0
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +2 -1
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +43 -20
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +2 -1
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +2 -0
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -1
- package/src/libs/feature/record/src/lib/state/mdview.actions.ts +16 -0
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +21 -2
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +15 -0
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +30 -1
- package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +12 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
- package/src/libs/ui/elements/src/index.ts +1 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.css +0 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +25 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +70 -0
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +6 -0
- package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
- package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +14 -0
- package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +2 -1
- package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +7 -7
- package/src/libs/util/data-fetcher/src/lib/readers/json.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +10 -5
- package/src/libs/util/data-fetcher/src/lib/utils.ts +36 -32
- package/translations/de.json +2 -3
- package/translations/en.json +2 -3
- package/translations/es.json +2 -3
- package/translations/fr.json +4 -5
- package/translations/it.json +2 -3
- package/translations/nl.json +2 -3
- package/translations/pt.json +2 -3
- package/translations/sk.json +2 -3
|
@@ -27,7 +27,7 @@ import EmblaCarousel from 'embla-carousel';
|
|
|
27
27
|
import * as i2$2 from '@ng-icons/core';
|
|
28
28
|
import { provideIcons, NgIcon, NgIconComponent, provideNgIconsConfig, NgIconsModule } from '@ng-icons/core';
|
|
29
29
|
import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirNavArrowDown, iconoirNavArrowUp, iconoirSearch, iconoirCalendar, iconoirLink, iconoirArrowUp, iconoirCloudUpload, iconoirFramePlusIn, iconoirMediaImage, iconoirMediaImageXmark, iconoirBin, iconoirPlus, iconoirUser, iconoirLock, iconoirImport, iconoirLightBulbOn, iconoirArrowLeft, iconoirAttachment, iconoirRefresh } from '@ng-icons/iconoir';
|
|
30
|
-
import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matMoreHoriz, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
|
|
30
|
+
import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matMoreHoriz, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matWarning, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
|
|
31
31
|
import * as i1$4 from '@angular/material/tooltip';
|
|
32
32
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
33
33
|
import { moveItemInArray, CdkDropList, CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';
|
|
@@ -18621,8 +18621,6 @@ var de = {
|
|
|
18621
18621
|
"chart.type.lineSmooth": "Geglättes Liniendiagramm",
|
|
18622
18622
|
"chart.type.pie": "Kreisdiagramm",
|
|
18623
18623
|
"dashboard.catalog.allRecords": "Metadatenkatalog",
|
|
18624
|
-
"dashboard.catalog.contacts": "Kontakte",
|
|
18625
|
-
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
18626
18624
|
"dashboard.createRecord": "Neuer Eintrag",
|
|
18627
18625
|
"dashboard.importRecord": "",
|
|
18628
18626
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -18635,7 +18633,6 @@ var de = {
|
|
|
18635
18633
|
"dashboard.records.myDraft": "Meine Entwürfe",
|
|
18636
18634
|
"dashboard.records.myRecords": "Meine Datensätze",
|
|
18637
18635
|
"dashboard.records.search": "Suche nach \"{searchText}\"",
|
|
18638
|
-
"dashboard.records.templates": "Vorlagen",
|
|
18639
18636
|
"dashboard.records.userDetail": "Name",
|
|
18640
18637
|
"dashboard.records.userEmail": "E-Mail",
|
|
18641
18638
|
"dashboard.records.username": "Benutzername",
|
|
@@ -19148,6 +19145,8 @@ var de = {
|
|
|
19148
19145
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
19149
19146
|
"search.field.any.placeholder": "Suche Datensätze ...",
|
|
19150
19147
|
"search.field.sortBy": "Sortieren nach:",
|
|
19148
|
+
"search.filters.availableServices.download": "",
|
|
19149
|
+
"search.filters.availableServices.view": "",
|
|
19151
19150
|
"search.filters.changeDate": "Letzte Aktualisierung",
|
|
19152
19151
|
"search.filters.clear": "Zurücksetzen",
|
|
19153
19152
|
"search.filters.contact": "Kontakte",
|
|
@@ -19238,8 +19237,6 @@ var en = {
|
|
|
19238
19237
|
"chart.type.lineSmooth": "smooth line chart",
|
|
19239
19238
|
"chart.type.pie": "pie chart",
|
|
19240
19239
|
"dashboard.catalog.allRecords": "Datasets",
|
|
19241
|
-
"dashboard.catalog.contacts": "Contacts",
|
|
19242
|
-
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
19243
19240
|
"dashboard.createRecord": "New dataset",
|
|
19244
19241
|
"dashboard.importRecord": "Import",
|
|
19245
19242
|
"dashboard.importRecord.importExternal": "Import an external file",
|
|
@@ -19252,7 +19249,6 @@ var en = {
|
|
|
19252
19249
|
"dashboard.records.myDraft": "My drafts",
|
|
19253
19250
|
"dashboard.records.myRecords": "My datasets",
|
|
19254
19251
|
"dashboard.records.search": "Search for \"{searchText}\"",
|
|
19255
|
-
"dashboard.records.templates": "Templates",
|
|
19256
19252
|
"dashboard.records.userDetail": "Name",
|
|
19257
19253
|
"dashboard.records.userEmail": "Email",
|
|
19258
19254
|
"dashboard.records.username": "Username",
|
|
@@ -19765,6 +19761,8 @@ var en = {
|
|
|
19765
19761
|
"search.error.recordNotFound": "The dataset with identifier \"{ id }\" could not be found.",
|
|
19766
19762
|
"search.field.any.placeholder": "Search datasets ...",
|
|
19767
19763
|
"search.field.sortBy": "Sort by:",
|
|
19764
|
+
"search.filters.availableServices.download": "",
|
|
19765
|
+
"search.filters.availableServices.view": "",
|
|
19768
19766
|
"search.filters.changeDate": "Updated",
|
|
19769
19767
|
"search.filters.clear": "Reset",
|
|
19770
19768
|
"search.filters.contact": "Contacts",
|
|
@@ -19855,8 +19853,6 @@ var es = {
|
|
|
19855
19853
|
"chart.type.lineSmooth": "gráfico de líneas suave",
|
|
19856
19854
|
"chart.type.pie": "gráfico circular",
|
|
19857
19855
|
"dashboard.catalog.allRecords": "",
|
|
19858
|
-
"dashboard.catalog.contacts": "",
|
|
19859
|
-
"dashboard.catalog.thesaurus": "",
|
|
19860
19856
|
"dashboard.createRecord": "",
|
|
19861
19857
|
"dashboard.importRecord": "",
|
|
19862
19858
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -19869,7 +19865,6 @@ var es = {
|
|
|
19869
19865
|
"dashboard.records.myDraft": "Mis borradores",
|
|
19870
19866
|
"dashboard.records.myRecords": "Mis Registros",
|
|
19871
19867
|
"dashboard.records.search": "Buscar \"{searchText}\"",
|
|
19872
|
-
"dashboard.records.templates": "",
|
|
19873
19868
|
"dashboard.records.userDetail": "",
|
|
19874
19869
|
"dashboard.records.userEmail": "",
|
|
19875
19870
|
"dashboard.records.username": "",
|
|
@@ -20382,6 +20377,8 @@ var es = {
|
|
|
20382
20377
|
"search.error.recordNotFound": "",
|
|
20383
20378
|
"search.field.any.placeholder": "",
|
|
20384
20379
|
"search.field.sortBy": "",
|
|
20380
|
+
"search.filters.availableServices.download": "",
|
|
20381
|
+
"search.filters.availableServices.view": "",
|
|
20385
20382
|
"search.filters.changeDate": "Última actualización",
|
|
20386
20383
|
"search.filters.clear": "",
|
|
20387
20384
|
"search.filters.contact": "",
|
|
@@ -20472,8 +20469,6 @@ var fr = {
|
|
|
20472
20469
|
"chart.type.lineSmooth": "ligne lisse",
|
|
20473
20470
|
"chart.type.pie": "camembert",
|
|
20474
20471
|
"dashboard.catalog.allRecords": "Jeux de données",
|
|
20475
|
-
"dashboard.catalog.contacts": "Annuaire",
|
|
20476
|
-
"dashboard.catalog.thesaurus": "Thésaurus",
|
|
20477
20472
|
"dashboard.createRecord": "Nouveau jeu de données",
|
|
20478
20473
|
"dashboard.importRecord": "Importer",
|
|
20479
20474
|
"dashboard.importRecord.importExternal": "Importer un jeu de données externe",
|
|
@@ -20486,7 +20481,6 @@ var fr = {
|
|
|
20486
20481
|
"dashboard.records.myDraft": "Mes brouillons",
|
|
20487
20482
|
"dashboard.records.myRecords": "Mes jeux de données",
|
|
20488
20483
|
"dashboard.records.search": "Résultats pour \"{searchText}\"",
|
|
20489
|
-
"dashboard.records.templates": "Modèles pré-remplis",
|
|
20490
20484
|
"dashboard.records.userDetail": "Nom",
|
|
20491
20485
|
"dashboard.records.userEmail": "Email",
|
|
20492
20486
|
"dashboard.records.username": "Nom d'utilisateur",
|
|
@@ -20613,7 +20607,7 @@ var fr = {
|
|
|
20613
20607
|
"domain.contact.role.point_of_contact": "Point de contact",
|
|
20614
20608
|
"domain.contact.role.principal_investigator": "Chercheur principal",
|
|
20615
20609
|
"domain.contact.role.processor": "Processeur",
|
|
20616
|
-
"domain.contact.role.publisher": "
|
|
20610
|
+
"domain.contact.role.publisher": "Producteur",
|
|
20617
20611
|
"domain.contact.role.resource_provider": "Fournisseur",
|
|
20618
20612
|
"domain.contact.role.rights_holder": "Détenteur des droits",
|
|
20619
20613
|
"domain.contact.role.sponsor": "Sponsor",
|
|
@@ -20677,7 +20671,7 @@ var fr = {
|
|
|
20677
20671
|
"editor.record.form.constraint.otherConstraints": "Autres contraintes",
|
|
20678
20672
|
"editor.record.form.constraint.securityConstraints": "Contraintes de sécurité",
|
|
20679
20673
|
"editor.record.form.draft.updateAlert": "Depuis la création de ce brouillon, ce jeu de données a été modifié le { date } par { user }. Publier votre version peut supprimer ses modifications. Pour éviter cela, vous pouvez annuler vos changements, ou publier votre version en connaissance de cause.",
|
|
20680
|
-
"editor.record.form.field.abstract": "
|
|
20674
|
+
"editor.record.form.field.abstract": "Description",
|
|
20681
20675
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
20682
20676
|
"editor.record.form.field.contacts.noContact": "Veuillez renseigner au moins un point de contact.",
|
|
20683
20677
|
"editor.record.form.field.contacts.placeholder": "Choisissez un contact",
|
|
@@ -20999,6 +20993,8 @@ var fr = {
|
|
|
20999
20993
|
"search.error.recordNotFound": "Cette donnée n'a pu être trouvée.",
|
|
21000
20994
|
"search.field.any.placeholder": "Rechercher un jeu de données...",
|
|
21001
20995
|
"search.field.sortBy": "Trier par :",
|
|
20996
|
+
"search.filters.availableServices.download": "",
|
|
20997
|
+
"search.filters.availableServices.view": "",
|
|
21002
20998
|
"search.filters.changeDate": "Mise à jour",
|
|
21003
20999
|
"search.filters.clear": "Réinitialiser",
|
|
21004
21000
|
"search.filters.contact": "Contacts",
|
|
@@ -21089,8 +21085,6 @@ var it = {
|
|
|
21089
21085
|
"chart.type.lineSmooth": "grafico a linea liscia",
|
|
21090
21086
|
"chart.type.pie": "grafico a torta",
|
|
21091
21087
|
"dashboard.catalog.allRecords": "Datasets",
|
|
21092
|
-
"dashboard.catalog.contacts": "Contatti",
|
|
21093
|
-
"dashboard.catalog.thesaurus": "Thesauri",
|
|
21094
21088
|
"dashboard.createRecord": "Crea un record",
|
|
21095
21089
|
"dashboard.importRecord": "Importare",
|
|
21096
21090
|
"dashboard.importRecord.importExternal": "Importare un dataset esterno",
|
|
@@ -21103,7 +21097,6 @@ var it = {
|
|
|
21103
21097
|
"dashboard.records.myDraft": "Le mie bozze",
|
|
21104
21098
|
"dashboard.records.myRecords": "I miei dati",
|
|
21105
21099
|
"dashboard.records.search": "Risultati per \"{searchText}\"",
|
|
21106
|
-
"dashboard.records.templates": "Modelli precompilati",
|
|
21107
21100
|
"dashboard.records.userDetail": "Nome",
|
|
21108
21101
|
"dashboard.records.userEmail": "Email",
|
|
21109
21102
|
"dashboard.records.username": "Nome utente",
|
|
@@ -21616,6 +21609,8 @@ var it = {
|
|
|
21616
21609
|
"search.error.recordNotFound": "Impossibile trovare questi dati.",
|
|
21617
21610
|
"search.field.any.placeholder": "Cerca un dataset...",
|
|
21618
21611
|
"search.field.sortBy": "Ordina per:",
|
|
21612
|
+
"search.filters.availableServices.download": "",
|
|
21613
|
+
"search.filters.availableServices.view": "",
|
|
21619
21614
|
"search.filters.changeDate": "Aggiornato",
|
|
21620
21615
|
"search.filters.clear": "Ripristina",
|
|
21621
21616
|
"search.filters.contact": "Contatti",
|
|
@@ -21706,8 +21701,6 @@ var nl = {
|
|
|
21706
21701
|
"chart.type.lineSmooth": "glad lijndiagram",
|
|
21707
21702
|
"chart.type.pie": "cirkeldiagram",
|
|
21708
21703
|
"dashboard.catalog.allRecords": "",
|
|
21709
|
-
"dashboard.catalog.contacts": "",
|
|
21710
|
-
"dashboard.catalog.thesaurus": "",
|
|
21711
21704
|
"dashboard.createRecord": "",
|
|
21712
21705
|
"dashboard.importRecord": "",
|
|
21713
21706
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -21720,7 +21713,6 @@ var nl = {
|
|
|
21720
21713
|
"dashboard.records.myDraft": "Mijn concepten",
|
|
21721
21714
|
"dashboard.records.myRecords": "Mijn Records",
|
|
21722
21715
|
"dashboard.records.search": "Zoeken naar \"{searchText}\"",
|
|
21723
|
-
"dashboard.records.templates": "",
|
|
21724
21716
|
"dashboard.records.userDetail": "",
|
|
21725
21717
|
"dashboard.records.userEmail": "",
|
|
21726
21718
|
"dashboard.records.username": "",
|
|
@@ -22233,6 +22225,8 @@ var nl = {
|
|
|
22233
22225
|
"search.error.recordNotFound": "",
|
|
22234
22226
|
"search.field.any.placeholder": "",
|
|
22235
22227
|
"search.field.sortBy": "",
|
|
22228
|
+
"search.filters.availableServices.download": "",
|
|
22229
|
+
"search.filters.availableServices.view": "",
|
|
22236
22230
|
"search.filters.changeDate": "",
|
|
22237
22231
|
"search.filters.clear": "",
|
|
22238
22232
|
"search.filters.contact": "",
|
|
@@ -22323,8 +22317,6 @@ var pt = {
|
|
|
22323
22317
|
"chart.type.lineSmooth": "gráfico de linha suave",
|
|
22324
22318
|
"chart.type.pie": "gráfico de pizza",
|
|
22325
22319
|
"dashboard.catalog.allRecords": "",
|
|
22326
|
-
"dashboard.catalog.contacts": "",
|
|
22327
|
-
"dashboard.catalog.thesaurus": "",
|
|
22328
22320
|
"dashboard.createRecord": "",
|
|
22329
22321
|
"dashboard.importRecord": "",
|
|
22330
22322
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -22337,7 +22329,6 @@ var pt = {
|
|
|
22337
22329
|
"dashboard.records.myDraft": "Meus rascunhos",
|
|
22338
22330
|
"dashboard.records.myRecords": "Meus Registros",
|
|
22339
22331
|
"dashboard.records.search": "Buscar por \"{searchText}\"",
|
|
22340
|
-
"dashboard.records.templates": "",
|
|
22341
22332
|
"dashboard.records.userDetail": "",
|
|
22342
22333
|
"dashboard.records.userEmail": "",
|
|
22343
22334
|
"dashboard.records.username": "",
|
|
@@ -22850,6 +22841,8 @@ var pt = {
|
|
|
22850
22841
|
"search.error.recordNotFound": "",
|
|
22851
22842
|
"search.field.any.placeholder": "",
|
|
22852
22843
|
"search.field.sortBy": "",
|
|
22844
|
+
"search.filters.availableServices.download": "",
|
|
22845
|
+
"search.filters.availableServices.view": "",
|
|
22853
22846
|
"search.filters.changeDate": "",
|
|
22854
22847
|
"search.filters.clear": "",
|
|
22855
22848
|
"search.filters.contact": "",
|
|
@@ -23092,6 +23085,16 @@ class Gn4FieldMapper {
|
|
|
23092
23085
|
isOpenData: (output, source) => this.addExtra({
|
|
23093
23086
|
isOpenData: selectField(source, 'isOpenData') !== 'false',
|
|
23094
23087
|
}, output),
|
|
23088
|
+
featureTypes: (output, source) => this.addExtra({
|
|
23089
|
+
featureTypes: selectField(source, 'featureTypes'),
|
|
23090
|
+
}, output),
|
|
23091
|
+
related: (output, source) => {
|
|
23092
|
+
const fcatSource = selectField(getFirstValue(selectField(selectField(source, 'related'), 'fcats')), '_source');
|
|
23093
|
+
const featureCatalogIdentifier = selectField(fcatSource, 'uuid');
|
|
23094
|
+
return featureCatalogIdentifier
|
|
23095
|
+
? this.addExtra({ featureCatalogIdentifier }, output)
|
|
23096
|
+
: output;
|
|
23097
|
+
},
|
|
23095
23098
|
isPublishedToAll: (output, source) => this.addExtra({
|
|
23096
23099
|
isPublishedToAll: selectField(source, 'isPublishedToAll'),
|
|
23097
23100
|
}, output),
|
|
@@ -23409,7 +23412,7 @@ class ElasticsearchService {
|
|
|
23409
23412
|
this.runtimeFields = {};
|
|
23410
23413
|
this.lang3 = this.langService.iso3;
|
|
23411
23414
|
}
|
|
23412
|
-
getSearchRequestBody(aggregations = {}, size = 0, from = 0, sortBy = null, requestFields =
|
|
23415
|
+
getSearchRequestBody(aggregations = {}, size = 0, from = 0, sortBy = null, requestFields = null, searchFilters = {}, configFilters = {}, uuids, geometry) {
|
|
23413
23416
|
const payload = {
|
|
23414
23417
|
aggregations,
|
|
23415
23418
|
from,
|
|
@@ -23417,7 +23420,7 @@ class ElasticsearchService {
|
|
|
23417
23420
|
sort: this.buildPayloadSort(sortBy),
|
|
23418
23421
|
query: this.buildPayloadQuery(searchFilters, configFilters, uuids, geometry),
|
|
23419
23422
|
...(size > 0 ? { track_total_hits: true } : {}),
|
|
23420
|
-
_source: requestFields,
|
|
23423
|
+
...(requestFields && { _source: requestFields }),
|
|
23421
23424
|
};
|
|
23422
23425
|
this.processRuntimeFields(payload);
|
|
23423
23426
|
return payload;
|
|
@@ -23564,6 +23567,7 @@ class ElasticsearchService {
|
|
|
23564
23567
|
return this.metadataLang === 'current';
|
|
23565
23568
|
}
|
|
23566
23569
|
filtersToQuery(filters) {
|
|
23570
|
+
const addQuote = (key) => (/^\/.+\/$/.test(key) ? key : `"${key}"`);
|
|
23567
23571
|
const makeQuery = (filter) => {
|
|
23568
23572
|
if (typeof filter === 'string') {
|
|
23569
23573
|
return filter;
|
|
@@ -23571,9 +23575,9 @@ class ElasticsearchService {
|
|
|
23571
23575
|
return Object.keys(filter)
|
|
23572
23576
|
.map((key) => {
|
|
23573
23577
|
if (filter[key] === true) {
|
|
23574
|
-
return
|
|
23578
|
+
return addQuote(key);
|
|
23575
23579
|
}
|
|
23576
|
-
return
|
|
23580
|
+
return `-${addQuote(key)}`;
|
|
23577
23581
|
})
|
|
23578
23582
|
.join(' OR ');
|
|
23579
23583
|
};
|
|
@@ -23616,16 +23620,26 @@ class ElasticsearchService {
|
|
|
23616
23620
|
].filter(Boolean);
|
|
23617
23621
|
return queryParts.length > 0 ? queryParts : undefined;
|
|
23618
23622
|
}
|
|
23623
|
+
mustNotFilters() {
|
|
23624
|
+
return [
|
|
23625
|
+
{
|
|
23626
|
+
...this.queryFilterOnValues('resourceType', [
|
|
23627
|
+
'service',
|
|
23628
|
+
'map',
|
|
23629
|
+
'map/static',
|
|
23630
|
+
'mapDigital',
|
|
23631
|
+
]),
|
|
23632
|
+
},
|
|
23633
|
+
{
|
|
23634
|
+
query_string: {
|
|
23635
|
+
query: 'resourceType:featureCatalog AND !resourceType:dataset AND !cl_level.key:dataset',
|
|
23636
|
+
},
|
|
23637
|
+
},
|
|
23638
|
+
];
|
|
23639
|
+
}
|
|
23619
23640
|
buildPayloadQuery({ any, ...fieldSearchFilters }, configFilters, uuids, geometry) {
|
|
23620
23641
|
const must = [];
|
|
23621
|
-
const must_not =
|
|
23622
|
-
...this.queryFilterOnValues('resourceType', [
|
|
23623
|
-
'service',
|
|
23624
|
-
'map',
|
|
23625
|
-
'map/static',
|
|
23626
|
-
'mapDigital',
|
|
23627
|
-
]),
|
|
23628
|
-
};
|
|
23642
|
+
const must_not = this.mustNotFilters();
|
|
23629
23643
|
const should = [];
|
|
23630
23644
|
const filter = [this.queryFilterOnValues('isTemplate', 'n')];
|
|
23631
23645
|
if (any) {
|
|
@@ -23711,14 +23725,7 @@ class ElasticsearchService {
|
|
|
23711
23725
|
},
|
|
23712
23726
|
},
|
|
23713
23727
|
],
|
|
23714
|
-
must_not:
|
|
23715
|
-
...this.queryFilterOnValues('resourceType', [
|
|
23716
|
-
'service',
|
|
23717
|
-
'map',
|
|
23718
|
-
'map/static',
|
|
23719
|
-
'mapDigital',
|
|
23720
|
-
]),
|
|
23721
|
-
},
|
|
23728
|
+
must_not: this.mustNotFilters(),
|
|
23722
23729
|
},
|
|
23723
23730
|
},
|
|
23724
23731
|
_source: ['resourceTitleObject', 'uuid'],
|
|
@@ -23819,13 +23826,15 @@ class ElasticsearchService {
|
|
|
23819
23826
|
switch (aggregation.type) {
|
|
23820
23827
|
case 'filters':
|
|
23821
23828
|
return {
|
|
23822
|
-
filters:
|
|
23823
|
-
|
|
23824
|
-
|
|
23825
|
-
|
|
23826
|
-
|
|
23827
|
-
|
|
23828
|
-
|
|
23829
|
+
filters: {
|
|
23830
|
+
filters: Object.keys(aggregation.filters).reduce((prev, curr) => {
|
|
23831
|
+
const filter = aggregation.filters[curr];
|
|
23832
|
+
return {
|
|
23833
|
+
...prev,
|
|
23834
|
+
[curr]: this.filtersToQuery(filter)[0],
|
|
23835
|
+
};
|
|
23836
|
+
}, {}),
|
|
23837
|
+
},
|
|
23829
23838
|
};
|
|
23830
23839
|
case 'terms':
|
|
23831
23840
|
return {
|
|
@@ -23933,9 +23942,29 @@ class Gn4Repository {
|
|
|
23933
23942
|
}
|
|
23934
23943
|
getRecord(uniqueIdentifier) {
|
|
23935
23944
|
return this.gn4SearchApi
|
|
23936
|
-
.search('bucket',
|
|
23945
|
+
.search('bucket', ['fcats'], JSON.stringify(this.gn4SearchHelper.getMetadataByIdPayload(uniqueIdentifier)))
|
|
23937
23946
|
.pipe(map$1((results) => results.hits.hits[0]), switchMap((record) => record ? this.gn4Mapper.readRecord(record) : of(null)));
|
|
23938
23947
|
}
|
|
23948
|
+
getFeatureCatalog(record, visited = new Set() // prevent looping
|
|
23949
|
+
) {
|
|
23950
|
+
if (record.extras &&
|
|
23951
|
+
record.extras['featureTypes'] &&
|
|
23952
|
+
record.extras['featureTypes'][0]?.attributeTable &&
|
|
23953
|
+
Array.isArray(record.extras['featureTypes'][0].attributeTable)) {
|
|
23954
|
+
return of({
|
|
23955
|
+
attributes: record.extras['featureTypes'][0]?.attributeTable?.map((attr) => ({
|
|
23956
|
+
name: attr.name,
|
|
23957
|
+
title: attr.definition,
|
|
23958
|
+
})),
|
|
23959
|
+
});
|
|
23960
|
+
}
|
|
23961
|
+
const featureCatalogIdentifier = record.extras['featureCatalogIdentifier'];
|
|
23962
|
+
if (featureCatalogIdentifier && !visited.has(featureCatalogIdentifier)) {
|
|
23963
|
+
visited.add(featureCatalogIdentifier);
|
|
23964
|
+
return this.getRecord(featureCatalogIdentifier).pipe(switchMap((record) => record ? this.getFeatureCatalog(record, visited) : of(null)));
|
|
23965
|
+
}
|
|
23966
|
+
return of(null);
|
|
23967
|
+
}
|
|
23939
23968
|
getSimilarRecords(similarTo) {
|
|
23940
23969
|
return this.gn4SearchApi
|
|
23941
23970
|
.search('bucket', null, JSON.stringify(this.gn4SearchHelper.getRelatedRecordPayload(similarTo, 3)))
|
|
@@ -26681,7 +26710,12 @@ class AutocompleteComponent {
|
|
|
26681
26710
|
const suggestionsFromAction = merge(newValue$.pipe(filter((value) => value.length >= this.minCharacterCount)), externalValueChange$).pipe(tap$1(() => {
|
|
26682
26711
|
this.searching = true;
|
|
26683
26712
|
this.error = null;
|
|
26684
|
-
}), switchMap$1((value) => this.action(value)),
|
|
26713
|
+
}), switchMap$1((value) => this.action(value)), tap$1((suggestions) => {
|
|
26714
|
+
// forcing the panel to open if there are suggestions
|
|
26715
|
+
if (suggestions.length > 0) {
|
|
26716
|
+
this.triggerRef?.openPanel();
|
|
26717
|
+
}
|
|
26718
|
+
}), catchError((error) => {
|
|
26685
26719
|
this.error = error.message;
|
|
26686
26720
|
return of([]);
|
|
26687
26721
|
}), finalize(() => (this.searching = false)));
|
|
@@ -30091,6 +30125,7 @@ class RecordApiFormComponent {
|
|
|
30091
30125
|
maxFeatures: limit !== '-1' ? Number(limit) : undefined,
|
|
30092
30126
|
limit: limit !== '-1' ? Number(limit) : -1,
|
|
30093
30127
|
offset: offset !== '' ? Number(offset) : undefined,
|
|
30128
|
+
outputCrs: format === ('application/json' || 'geojson') ? 'EPSG:4326' : undefined,
|
|
30094
30129
|
};
|
|
30095
30130
|
if (this.endpoint instanceof WfsEndpoint) {
|
|
30096
30131
|
delete options.limit;
|
|
@@ -30222,6 +30257,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30222
30257
|
type: Input
|
|
30223
30258
|
}] } });
|
|
30224
30259
|
|
|
30260
|
+
class ApplicationBannerComponent {
|
|
30261
|
+
constructor() {
|
|
30262
|
+
this.closeEnabled = false;
|
|
30263
|
+
this.extraClass = '';
|
|
30264
|
+
this.icon = '';
|
|
30265
|
+
this.msgClass = '';
|
|
30266
|
+
this.bannerOpen = true;
|
|
30267
|
+
}
|
|
30268
|
+
set type(value) {
|
|
30269
|
+
switch (value) {
|
|
30270
|
+
case 'primary':
|
|
30271
|
+
this.msgClass = 'bg-primary-darkest border-primary text-white';
|
|
30272
|
+
this.icon = 'matWarning';
|
|
30273
|
+
break;
|
|
30274
|
+
case 'light':
|
|
30275
|
+
this.msgClass =
|
|
30276
|
+
'bg-primary-opacity-10 border-primary-lightest text-black';
|
|
30277
|
+
this.icon = 'matInfoOutline';
|
|
30278
|
+
break;
|
|
30279
|
+
case 'secondary':
|
|
30280
|
+
default:
|
|
30281
|
+
this.msgClass = 'bg-primary-opacity-50 border-primary-darker text-black';
|
|
30282
|
+
this.icon = 'matWarningAmberOutline';
|
|
30283
|
+
break;
|
|
30284
|
+
}
|
|
30285
|
+
}
|
|
30286
|
+
get classList() {
|
|
30287
|
+
if (this.message.length > 200) {
|
|
30288
|
+
return `${this.msgClass} ${this.extraClass} overflow-y-scroll items-start`;
|
|
30289
|
+
}
|
|
30290
|
+
return `${this.msgClass} ${this.extraClass} items-center`;
|
|
30291
|
+
}
|
|
30292
|
+
closeMessage() {
|
|
30293
|
+
this.bannerOpen = false;
|
|
30294
|
+
}
|
|
30295
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30296
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApplicationBannerComponent, isStandalone: true, selector: "gn-ui-application-banner", inputs: { message: "message", title: "title", closeEnabled: "closeEnabled", extraClass: "extraClass", icon: "icon", type: "type" }, providers: [
|
|
30297
|
+
provideIcons({
|
|
30298
|
+
matWarningAmberOutline,
|
|
30299
|
+
matInfoOutline,
|
|
30300
|
+
matCloseOutline,
|
|
30301
|
+
matWarning,
|
|
30302
|
+
}),
|
|
30303
|
+
provideNgIconsConfig({ size: '1.5em' }),
|
|
30304
|
+
], ngImport: i0, template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute top-0 text-wrap bg-white mt-4 max-h-24\"\n>\n <div\n class=\"flex flex-row py-2.5 px-5 gap-5 justify-start border max-h-20\"\n [ngClass]=\"classList\"\n >\n <div [ngClass]=\"{ 'pt-5': message.length > 200 }\">\n <ng-icon [name]=\"icon\"></ng-icon>\n </div>\n <div class=\"flex flex-col justify-start gap-2.5\">\n <span *ngIf=\"title\" class=\"font-bold\">{{ title }}</span>\n <span class=\"font-medium max-w-2xl\" [innerHTML]=\"message\"></span>\n </div>\n <button\n *ngIf=\"closeEnabled\"\n class=\"self-start\"\n type=\"button\"\n (click)=\"closeMessage()\"\n >\n <ng-icon name=\"matCloseOutline\"> </ng-icon>\n </button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30305
|
+
}
|
|
30306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, decorators: [{
|
|
30307
|
+
type: Component,
|
|
30308
|
+
args: [{ selector: 'gn-ui-application-banner', standalone: true, imports: [CommonModule, NgIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
30309
|
+
provideIcons({
|
|
30310
|
+
matWarningAmberOutline,
|
|
30311
|
+
matInfoOutline,
|
|
30312
|
+
matCloseOutline,
|
|
30313
|
+
matWarning,
|
|
30314
|
+
}),
|
|
30315
|
+
provideNgIconsConfig({ size: '1.5em' }),
|
|
30316
|
+
], template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute top-0 text-wrap bg-white mt-4 max-h-24\"\n>\n <div\n class=\"flex flex-row py-2.5 px-5 gap-5 justify-start border max-h-20\"\n [ngClass]=\"classList\"\n >\n <div [ngClass]=\"{ 'pt-5': message.length > 200 }\">\n <ng-icon [name]=\"icon\"></ng-icon>\n </div>\n <div class=\"flex flex-col justify-start gap-2.5\">\n <span *ngIf=\"title\" class=\"font-bold\">{{ title }}</span>\n <span class=\"font-medium max-w-2xl\" [innerHTML]=\"message\"></span>\n </div>\n <button\n *ngIf=\"closeEnabled\"\n class=\"self-start\"\n type=\"button\"\n (click)=\"closeMessage()\"\n >\n <ng-icon name=\"matCloseOutline\"> </ng-icon>\n </button>\n </div>\n</div>\n" }]
|
|
30317
|
+
}], propDecorators: { message: [{
|
|
30318
|
+
type: Input
|
|
30319
|
+
}], title: [{
|
|
30320
|
+
type: Input
|
|
30321
|
+
}], closeEnabled: [{
|
|
30322
|
+
type: Input
|
|
30323
|
+
}], extraClass: [{
|
|
30324
|
+
type: Input
|
|
30325
|
+
}], icon: [{
|
|
30326
|
+
type: Input
|
|
30327
|
+
}], type: [{
|
|
30328
|
+
type: Input
|
|
30329
|
+
}] } });
|
|
30330
|
+
|
|
30225
30331
|
class UiElementsModule {
|
|
30226
30332
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
30227
30333
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, declarations: [AvatarComponent, UserPreviewComponent], imports: [CommonModule,
|
|
@@ -30239,11 +30345,13 @@ class UiElementsModule {
|
|
|
30239
30345
|
BadgeComponent,
|
|
30240
30346
|
MaxLinesComponent,
|
|
30241
30347
|
TextInputComponent,
|
|
30242
|
-
ImageInputComponent
|
|
30348
|
+
ImageInputComponent,
|
|
30349
|
+
ApplicationBannerComponent], exports: [ThumbnailComponent,
|
|
30243
30350
|
AvatarComponent,
|
|
30244
30351
|
UserPreviewComponent,
|
|
30245
30352
|
MarkdownParserComponent,
|
|
30246
|
-
ImageInputComponent
|
|
30353
|
+
ImageInputComponent,
|
|
30354
|
+
ApplicationBannerComponent] }); }
|
|
30247
30355
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, providers: [
|
|
30248
30356
|
provideNgIconsConfig({
|
|
30249
30357
|
size: '1.5em',
|
|
@@ -30262,7 +30370,8 @@ class UiElementsModule {
|
|
|
30262
30370
|
BadgeComponent,
|
|
30263
30371
|
MaxLinesComponent,
|
|
30264
30372
|
TextInputComponent,
|
|
30265
|
-
ImageInputComponent
|
|
30373
|
+
ImageInputComponent,
|
|
30374
|
+
ApplicationBannerComponent] }); }
|
|
30266
30375
|
}
|
|
30267
30376
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, decorators: [{
|
|
30268
30377
|
type: NgModule,
|
|
@@ -30286,6 +30395,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30286
30395
|
MaxLinesComponent,
|
|
30287
30396
|
TextInputComponent,
|
|
30288
30397
|
ImageInputComponent,
|
|
30398
|
+
ApplicationBannerComponent,
|
|
30289
30399
|
],
|
|
30290
30400
|
providers: [
|
|
30291
30401
|
provideNgIconsConfig({
|
|
@@ -30299,6 +30409,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30299
30409
|
UserPreviewComponent,
|
|
30300
30410
|
MarkdownParserComponent,
|
|
30301
30411
|
ImageInputComponent,
|
|
30412
|
+
ApplicationBannerComponent,
|
|
30302
30413
|
],
|
|
30303
30414
|
}]
|
|
30304
30415
|
}] });
|
|
@@ -32529,6 +32640,51 @@ class DateRangeSearchField extends SimpleSearchField {
|
|
|
32529
32640
|
return 'dateRange';
|
|
32530
32641
|
}
|
|
32531
32642
|
}
|
|
32643
|
+
marker('search.filters.availableServices.view');
|
|
32644
|
+
marker('search.filters.availableServices.download');
|
|
32645
|
+
class AvailableServicesField extends SimpleSearchField {
|
|
32646
|
+
constructor(injector) {
|
|
32647
|
+
super('availableServices', injector, 'asc');
|
|
32648
|
+
this.translateService = this.injector.get(TranslateService);
|
|
32649
|
+
this.linkProtocolViewFilter = '/OGC:WMT?S.*/';
|
|
32650
|
+
this.linkProtocolDownloadFilter = '/OGC:WFS.*/';
|
|
32651
|
+
}
|
|
32652
|
+
async getBucketLabel(bucket) {
|
|
32653
|
+
return firstValueFrom(this.translateService.get(`search.filters.availableServices.${bucket.term}`));
|
|
32654
|
+
}
|
|
32655
|
+
getAggregations() {
|
|
32656
|
+
return {
|
|
32657
|
+
availableServices: {
|
|
32658
|
+
type: 'filters',
|
|
32659
|
+
filters: {
|
|
32660
|
+
view: `+linkProtocol:${this.linkProtocolViewFilter}`,
|
|
32661
|
+
download: `+linkProtocol:${this.linkProtocolDownloadFilter}`,
|
|
32662
|
+
},
|
|
32663
|
+
},
|
|
32664
|
+
};
|
|
32665
|
+
}
|
|
32666
|
+
getFiltersForValues(values) {
|
|
32667
|
+
const filters = {};
|
|
32668
|
+
if (values.includes('view'))
|
|
32669
|
+
filters[this.linkProtocolViewFilter] = true;
|
|
32670
|
+
if (values.includes('download'))
|
|
32671
|
+
filters[this.linkProtocolDownloadFilter] = true;
|
|
32672
|
+
return of({
|
|
32673
|
+
linkProtocol: filters,
|
|
32674
|
+
});
|
|
32675
|
+
}
|
|
32676
|
+
getValuesForFilter(filters) {
|
|
32677
|
+
const linkFilter = filters.linkProtocol;
|
|
32678
|
+
if (!linkFilter)
|
|
32679
|
+
return of([]);
|
|
32680
|
+
const values = [];
|
|
32681
|
+
if (linkFilter[this.linkProtocolViewFilter])
|
|
32682
|
+
values.push('view');
|
|
32683
|
+
if (linkFilter[this.linkProtocolDownloadFilter])
|
|
32684
|
+
values.push('download');
|
|
32685
|
+
return of(values);
|
|
32686
|
+
}
|
|
32687
|
+
}
|
|
32532
32688
|
|
|
32533
32689
|
marker('search.filters.format');
|
|
32534
32690
|
marker('search.filters.inspireKeyword');
|
|
@@ -32570,6 +32726,7 @@ class FieldsService {
|
|
|
32570
32726
|
publisherOrg: new MultilingualSearchField('distributorOrgForResourceObject', this.injector, 'asc', 'key'),
|
|
32571
32727
|
user: new UserSearchField(this.injector),
|
|
32572
32728
|
changeDate: new DateRangeSearchField('changeDate', this.injector, 'desc'),
|
|
32729
|
+
availableServices: new AvailableServicesField(this.injector),
|
|
32573
32730
|
};
|
|
32574
32731
|
}
|
|
32575
32732
|
getAvailableValues(fieldName) {
|
|
@@ -35060,6 +35217,9 @@ const loadFullMetadata = createAction('[Metadata view] Load full metadata', prop
|
|
|
35060
35217
|
const setIncompleteMetadata = createAction('[Metadata view] Set incomplete metadata', props());
|
|
35061
35218
|
const loadFullMetadataSuccess = createAction('[Metadata view] Load full metadata success', props());
|
|
35062
35219
|
const loadFullMetadataFailure = createAction('[Metadata view] Load full metadata failure', props());
|
|
35220
|
+
const loadFeatureCatalog = createAction("[Metadata view] Load metadata's feature catalog", props());
|
|
35221
|
+
const loadFeatureCatalogSuccess = createAction('[Metadata view] Load metadata feature catalog success', props());
|
|
35222
|
+
const loadFeatureCatalogFailure = createAction('[Metadata view] Load metadata feature catalog failure', props());
|
|
35063
35223
|
const closeMetadata = createAction('[Metadata view] close');
|
|
35064
35224
|
/*
|
|
35065
35225
|
Related actions
|
|
@@ -35085,6 +35245,9 @@ var mdview_actions = /*#__PURE__*/Object.freeze({
|
|
|
35085
35245
|
addUserFeedbackFailure: addUserFeedbackFailure,
|
|
35086
35246
|
addUserFeedbackSuccess: addUserFeedbackSuccess,
|
|
35087
35247
|
closeMetadata: closeMetadata,
|
|
35248
|
+
loadFeatureCatalog: loadFeatureCatalog,
|
|
35249
|
+
loadFeatureCatalogFailure: loadFeatureCatalogFailure,
|
|
35250
|
+
loadFeatureCatalogSuccess: loadFeatureCatalogSuccess,
|
|
35088
35251
|
loadFullMetadata: loadFullMetadata,
|
|
35089
35252
|
loadFullMetadataFailure: loadFullMetadataFailure,
|
|
35090
35253
|
loadFullMetadataSuccess: loadFullMetadataSuccess,
|
|
@@ -35102,6 +35265,8 @@ const initialMetadataViewState = {
|
|
|
35102
35265
|
loadingFull: false,
|
|
35103
35266
|
allUserFeedbacksLoading: false,
|
|
35104
35267
|
addUserFeedbackLoading: false,
|
|
35268
|
+
featureCatalogLoading: false,
|
|
35269
|
+
featureCatalogError: null,
|
|
35105
35270
|
};
|
|
35106
35271
|
const metadataViewReducer = createReducer(initialMetadataViewState,
|
|
35107
35272
|
/*
|
|
@@ -35161,6 +35326,22 @@ on(loadUserFeedbacks, (state) => ({
|
|
|
35161
35326
|
error: { otherError, notFound },
|
|
35162
35327
|
addUserFeedbackLoading: false,
|
|
35163
35328
|
allUserFeedbacksLoading: false,
|
|
35329
|
+
})),
|
|
35330
|
+
/**
|
|
35331
|
+
* FeatureCatalog reducers
|
|
35332
|
+
*/
|
|
35333
|
+
on(loadFeatureCatalog, (state) => ({
|
|
35334
|
+
...state,
|
|
35335
|
+
featureCatalogError: null,
|
|
35336
|
+
featureCatalogLoading: true,
|
|
35337
|
+
})), on(loadFeatureCatalogSuccess, (state, { datasetCatalog }) => ({
|
|
35338
|
+
...state,
|
|
35339
|
+
featureCatalog: datasetCatalog,
|
|
35340
|
+
featureCatalogLoading: false,
|
|
35341
|
+
})), on(loadFeatureCatalogFailure, (state, { error }) => ({
|
|
35342
|
+
...state,
|
|
35343
|
+
featureCatalogError: error,
|
|
35344
|
+
featureCatalogLoading: false,
|
|
35164
35345
|
})));
|
|
35165
35346
|
function reducer$1(metadataViewState, action) {
|
|
35166
35347
|
return metadataViewReducer(metadataViewState, action);
|
|
@@ -35189,6 +35370,11 @@ const getChartConfig = createSelector(getMdViewState, (state) => state.chartConf
|
|
|
35189
35370
|
const getUserFeedbacks = createSelector(getMdViewState, (state) => state.userFeedbacks);
|
|
35190
35371
|
const getAllUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.allUserFeedbacksLoading);
|
|
35191
35372
|
const getAddUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.addUserFeedbackLoading);
|
|
35373
|
+
/*
|
|
35374
|
+
Feature Catalog Selectors
|
|
35375
|
+
*/
|
|
35376
|
+
const getFeatureCatalog = createSelector(getMdViewState, (state) => state.featureCatalog);
|
|
35377
|
+
const getFeatureCatalogIsLoading = createSelector(getMdViewState, (state) => state.featureCatalogLoading);
|
|
35192
35378
|
|
|
35193
35379
|
class FetchError {
|
|
35194
35380
|
constructor(type, info, httpStatus = 0) {
|
|
@@ -35304,8 +35490,8 @@ function fetchHeaders(url) {
|
|
|
35304
35490
|
return parseHeaders(response.headers);
|
|
35305
35491
|
});
|
|
35306
35492
|
}
|
|
35307
|
-
function fetchDataAsText(url) {
|
|
35308
|
-
|
|
35493
|
+
function fetchDataAsText(url, cacheActive) {
|
|
35494
|
+
const fetchFactory = () => sharedFetch(url)
|
|
35309
35495
|
.catch((error) => {
|
|
35310
35496
|
throw FetchError.corsOrNetwork(error.message);
|
|
35311
35497
|
})
|
|
@@ -35314,10 +35500,11 @@ function fetchDataAsText(url) {
|
|
|
35314
35500
|
throw FetchError.http(response.status, await response.text());
|
|
35315
35501
|
}
|
|
35316
35502
|
return response.text();
|
|
35317
|
-
})
|
|
35503
|
+
});
|
|
35504
|
+
return cacheActive ? useCache(fetchFactory, url, 'asText') : fetchFactory();
|
|
35318
35505
|
}
|
|
35319
|
-
function fetchDataAsArrayBuffer(url) {
|
|
35320
|
-
|
|
35506
|
+
function fetchDataAsArrayBuffer(url, cacheActive) {
|
|
35507
|
+
const fetchFactory = () => sharedFetch(url)
|
|
35321
35508
|
.catch((error) => {
|
|
35322
35509
|
throw FetchError.corsOrNetwork(error.message);
|
|
35323
35510
|
})
|
|
@@ -35327,7 +35514,8 @@ function fetchDataAsArrayBuffer(url) {
|
|
|
35327
35514
|
}
|
|
35328
35515
|
// convert to a numeric array so that we can store the response in cache
|
|
35329
35516
|
return Array.from(new Uint8Array(await response.arrayBuffer()));
|
|
35330
|
-
})
|
|
35517
|
+
});
|
|
35518
|
+
return (cacheActive ? useCache(fetchFactory, url, 'asArrayBuffer') : fetchFactory()).then((array) => {
|
|
35331
35519
|
return new Uint8Array(array).buffer;
|
|
35332
35520
|
});
|
|
35333
35521
|
}
|
|
@@ -35473,68 +35661,6 @@ function getJsonDataItemsProxy(items) {
|
|
|
35473
35661
|
});
|
|
35474
35662
|
}
|
|
35475
35663
|
|
|
35476
|
-
class BaseReader {
|
|
35477
|
-
constructor(url) {
|
|
35478
|
-
this.url = url;
|
|
35479
|
-
this.selected = null;
|
|
35480
|
-
this.groupedBy = null;
|
|
35481
|
-
this.aggregations = null;
|
|
35482
|
-
this.filter = null;
|
|
35483
|
-
this.sort = null;
|
|
35484
|
-
this.startIndex = null;
|
|
35485
|
-
this.count = null;
|
|
35486
|
-
}
|
|
35487
|
-
load() {
|
|
35488
|
-
throw new Error('not implemented');
|
|
35489
|
-
}
|
|
35490
|
-
get properties() {
|
|
35491
|
-
throw new Error('not implemented');
|
|
35492
|
-
}
|
|
35493
|
-
get info() {
|
|
35494
|
-
throw new Error('not implemented');
|
|
35495
|
-
}
|
|
35496
|
-
read() {
|
|
35497
|
-
throw new Error('not implemented');
|
|
35498
|
-
}
|
|
35499
|
-
selectAll() {
|
|
35500
|
-
this.groupedBy = null;
|
|
35501
|
-
this.aggregations = null;
|
|
35502
|
-
this.selected = null;
|
|
35503
|
-
this.filter = null;
|
|
35504
|
-
this.startIndex = null;
|
|
35505
|
-
this.count = null;
|
|
35506
|
-
return this;
|
|
35507
|
-
}
|
|
35508
|
-
select(...selectedFields) {
|
|
35509
|
-
this.selected = selectedFields;
|
|
35510
|
-
this.aggregations = null; // clear aggregations & groups when selecting fields
|
|
35511
|
-
this.groupedBy = null;
|
|
35512
|
-
return this;
|
|
35513
|
-
}
|
|
35514
|
-
groupBy(...groupBy) {
|
|
35515
|
-
this.groupedBy = groupBy;
|
|
35516
|
-
this.selected = null; // clear normal field selection when aggregating
|
|
35517
|
-
return this;
|
|
35518
|
-
}
|
|
35519
|
-
aggregate(...aggregations) {
|
|
35520
|
-
this.aggregations = aggregations;
|
|
35521
|
-
return this;
|
|
35522
|
-
}
|
|
35523
|
-
where(filter) {
|
|
35524
|
-
this.filter = filter;
|
|
35525
|
-
return this;
|
|
35526
|
-
}
|
|
35527
|
-
orderBy(...fieldSorts) {
|
|
35528
|
-
this.sort = fieldSorts;
|
|
35529
|
-
return this;
|
|
35530
|
-
}
|
|
35531
|
-
limit(startIndex, count) {
|
|
35532
|
-
this.startIndex = startIndex;
|
|
35533
|
-
this.count = count;
|
|
35534
|
-
return this;
|
|
35535
|
-
}
|
|
35536
|
-
}
|
|
35537
|
-
|
|
35538
35664
|
function filterToSql(filter) {
|
|
35539
35665
|
const operator = filter[0];
|
|
35540
35666
|
const args = filter.slice(1);
|
|
@@ -35628,7 +35754,80 @@ function generateSqlQuery(selected = null, filter = null, sort = null, startInde
|
|
|
35628
35754
|
return sqlSelect + sqlFrom + sqlGroupBy + sqlOrderBy + sqlWhere + sqlLimit;
|
|
35629
35755
|
}
|
|
35630
35756
|
|
|
35631
|
-
class
|
|
35757
|
+
class BaseReader {
|
|
35758
|
+
constructor(url) {
|
|
35759
|
+
this.url = url;
|
|
35760
|
+
this.selected = null;
|
|
35761
|
+
this.groupedBy = null;
|
|
35762
|
+
this.aggregations = null;
|
|
35763
|
+
this.filter = null;
|
|
35764
|
+
this.sort = null;
|
|
35765
|
+
this.startIndex = null;
|
|
35766
|
+
this.count = null;
|
|
35767
|
+
}
|
|
35768
|
+
load() {
|
|
35769
|
+
throw new Error('not implemented');
|
|
35770
|
+
}
|
|
35771
|
+
get properties() {
|
|
35772
|
+
throw new Error('not implemented');
|
|
35773
|
+
}
|
|
35774
|
+
get info() {
|
|
35775
|
+
throw new Error('not implemented');
|
|
35776
|
+
}
|
|
35777
|
+
read() {
|
|
35778
|
+
throw new Error('not implemented');
|
|
35779
|
+
}
|
|
35780
|
+
selectAll() {
|
|
35781
|
+
this.groupedBy = null;
|
|
35782
|
+
this.aggregations = null;
|
|
35783
|
+
this.selected = null;
|
|
35784
|
+
this.filter = null;
|
|
35785
|
+
this.startIndex = null;
|
|
35786
|
+
this.count = null;
|
|
35787
|
+
return this;
|
|
35788
|
+
}
|
|
35789
|
+
select(...selectedFields) {
|
|
35790
|
+
this.selected = selectedFields;
|
|
35791
|
+
this.aggregations = null; // clear aggregations & groups when selecting fields
|
|
35792
|
+
this.groupedBy = null;
|
|
35793
|
+
return this;
|
|
35794
|
+
}
|
|
35795
|
+
groupBy(...groupBy) {
|
|
35796
|
+
this.groupedBy = groupBy;
|
|
35797
|
+
this.selected = null; // clear normal field selection when aggregating
|
|
35798
|
+
return this;
|
|
35799
|
+
}
|
|
35800
|
+
aggregate(...aggregations) {
|
|
35801
|
+
this.aggregations = aggregations;
|
|
35802
|
+
return this;
|
|
35803
|
+
}
|
|
35804
|
+
where(filter) {
|
|
35805
|
+
this.filter = filter;
|
|
35806
|
+
return this;
|
|
35807
|
+
}
|
|
35808
|
+
orderBy(...fieldSorts) {
|
|
35809
|
+
this.sort = fieldSorts;
|
|
35810
|
+
return this;
|
|
35811
|
+
}
|
|
35812
|
+
limit(startIndex, count) {
|
|
35813
|
+
this.startIndex = startIndex;
|
|
35814
|
+
this.count = count;
|
|
35815
|
+
return this;
|
|
35816
|
+
}
|
|
35817
|
+
}
|
|
35818
|
+
|
|
35819
|
+
class BaseCacheReader extends BaseReader {
|
|
35820
|
+
constructor(url, cacheActive = true) {
|
|
35821
|
+
super(url);
|
|
35822
|
+
this.url = url;
|
|
35823
|
+
this.cacheActive = cacheActive;
|
|
35824
|
+
}
|
|
35825
|
+
setCacheActive(value) {
|
|
35826
|
+
this.cacheActive = value;
|
|
35827
|
+
}
|
|
35828
|
+
}
|
|
35829
|
+
|
|
35830
|
+
class BaseFileReader extends BaseCacheReader {
|
|
35632
35831
|
getData() {
|
|
35633
35832
|
throw new Error('not implemented');
|
|
35634
35833
|
}
|
|
@@ -35692,7 +35891,7 @@ function parseCsv(text) {
|
|
|
35692
35891
|
}
|
|
35693
35892
|
class CsvReader extends BaseFileReader {
|
|
35694
35893
|
getData() {
|
|
35695
|
-
return fetchDataAsText(this.url).then(parseCsv);
|
|
35894
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseCsv);
|
|
35696
35895
|
}
|
|
35697
35896
|
}
|
|
35698
35897
|
|
|
@@ -35709,7 +35908,7 @@ function parseJson(text) {
|
|
|
35709
35908
|
}
|
|
35710
35909
|
class JsonReader extends BaseFileReader {
|
|
35711
35910
|
getData() {
|
|
35712
|
-
return fetchDataAsText(this.url).then(parseJson);
|
|
35911
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseJson);
|
|
35713
35912
|
}
|
|
35714
35913
|
}
|
|
35715
35914
|
|
|
@@ -35728,7 +35927,7 @@ function parseGeojson(text) {
|
|
|
35728
35927
|
}
|
|
35729
35928
|
class GeojsonReader extends BaseFileReader {
|
|
35730
35929
|
getData() {
|
|
35731
|
-
return fetchDataAsText(this.url).then(parseGeojson);
|
|
35930
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseGeojson);
|
|
35732
35931
|
}
|
|
35733
35932
|
}
|
|
35734
35933
|
|
|
@@ -35750,7 +35949,7 @@ function parseExcel(buffer) {
|
|
|
35750
35949
|
}
|
|
35751
35950
|
class ExcelReader extends BaseFileReader {
|
|
35752
35951
|
getData() {
|
|
35753
|
-
return fetchDataAsArrayBuffer(this.url).then(parseExcel);
|
|
35952
|
+
return fetchDataAsArrayBuffer(this.url, this.cacheActive).then(parseExcel);
|
|
35754
35953
|
}
|
|
35755
35954
|
}
|
|
35756
35955
|
|
|
@@ -35777,19 +35976,21 @@ function parseGml(text, namespace, version) {
|
|
|
35777
35976
|
throw Error("Couldn't retrieve namespace url");
|
|
35778
35977
|
}
|
|
35779
35978
|
class GmlReader extends BaseFileReader {
|
|
35780
|
-
constructor(url, namespace, version) {
|
|
35979
|
+
constructor(url, namespace, version, cacheActive = true) {
|
|
35781
35980
|
super(url);
|
|
35981
|
+
this.url = url;
|
|
35782
35982
|
this.namespace = namespace;
|
|
35783
35983
|
this.version = version;
|
|
35984
|
+
this.cacheActive = cacheActive;
|
|
35784
35985
|
}
|
|
35785
35986
|
getData() {
|
|
35786
|
-
return fetchDataAsText(this.url).then((text) => parseGml(text, this.namespace, this.version));
|
|
35987
|
+
return fetchDataAsText(this.url, this.cacheActive).then((text) => parseGml(text, this.namespace, this.version));
|
|
35787
35988
|
}
|
|
35788
35989
|
}
|
|
35789
35990
|
|
|
35790
|
-
class WfsReader extends
|
|
35791
|
-
constructor(url, wfsEndpoint, featureTypeName) {
|
|
35792
|
-
super(url);
|
|
35991
|
+
class WfsReader extends BaseCacheReader {
|
|
35992
|
+
constructor(url, wfsEndpoint, featureTypeName, cacheActive) {
|
|
35993
|
+
super(url, cacheActive);
|
|
35793
35994
|
this.endpoint = wfsEndpoint;
|
|
35794
35995
|
this.featureTypeName = featureTypeName;
|
|
35795
35996
|
this.version = this.endpoint.getVersion();
|
|
@@ -35866,7 +36067,7 @@ class WfsReader extends BaseReader {
|
|
|
35866
36067
|
// Direct update on string url to prevent encoding of +A and +D
|
|
35867
36068
|
url = `${url}${finalUrl.search ? '&' : ''}SORTBY=${sorts}`;
|
|
35868
36069
|
}
|
|
35869
|
-
return fetchDataAsText(url).then((text) => asJson
|
|
36070
|
+
return fetchDataAsText(url, this.cacheActive).then((text) => asJson
|
|
35870
36071
|
? parseGeojson(text)
|
|
35871
36072
|
: parseGml(text, this.featureTypeName, this.version));
|
|
35872
36073
|
}
|
|
@@ -35878,7 +36079,7 @@ class WfsReader extends BaseReader {
|
|
|
35878
36079
|
}
|
|
35879
36080
|
}
|
|
35880
36081
|
|
|
35881
|
-
async function openDataset(url, typeHint, options) {
|
|
36082
|
+
async function openDataset(url, typeHint, options, cacheActive) {
|
|
35882
36083
|
const fileType = await inferDatasetType(url, typeHint);
|
|
35883
36084
|
let reader;
|
|
35884
36085
|
try {
|
|
@@ -35902,6 +36103,7 @@ async function openDataset(url, typeHint, options) {
|
|
|
35902
36103
|
reader = await WfsReader.createReader(url, options.wfsFeatureType);
|
|
35903
36104
|
break;
|
|
35904
36105
|
}
|
|
36106
|
+
reader.setCacheActive(cacheActive);
|
|
35905
36107
|
reader.load();
|
|
35906
36108
|
return reader;
|
|
35907
36109
|
}
|
|
@@ -35918,8 +36120,8 @@ async function openDataset(url, typeHint, options) {
|
|
|
35918
36120
|
* 2. otherwise, look for a Content-Type header in the response with a supported mime type
|
|
35919
36121
|
* 3. if no valid mime type was found, look for an explicit file extension in the url (.csv, .geojson etc.)
|
|
35920
36122
|
*/
|
|
35921
|
-
async function readDataset(url, typeHint, options) {
|
|
35922
|
-
const reader = await openDataset(url, typeHint, options);
|
|
36123
|
+
async function readDataset(url, typeHint, options, cacheActive = true) {
|
|
36124
|
+
const reader = await openDataset(url, typeHint, options, cacheActive);
|
|
35923
36125
|
try {
|
|
35924
36126
|
return await reader.read();
|
|
35925
36127
|
}
|
|
@@ -36023,18 +36225,28 @@ class DataService {
|
|
|
36023
36225
|
}
|
|
36024
36226
|
getDownloadLinksFromWfs(wfsLink) {
|
|
36025
36227
|
// Pour DL toutes les données
|
|
36026
|
-
return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map$1((urls) =>
|
|
36027
|
-
|
|
36028
|
-
|
|
36029
|
-
|
|
36030
|
-
|
|
36031
|
-
}))
|
|
36228
|
+
return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map$1((urls) => {
|
|
36229
|
+
if (urls.geojson) {
|
|
36230
|
+
urls.all['application/json'] = urls.geojson;
|
|
36231
|
+
}
|
|
36232
|
+
return urls;
|
|
36233
|
+
}), map$1((urls) => {
|
|
36234
|
+
const resources = Object.keys(urls.all).map((format) => ({
|
|
36235
|
+
...wfsLink,
|
|
36236
|
+
name: wfsLink.name,
|
|
36237
|
+
type: 'download',
|
|
36238
|
+
url: new URL(urls.all[format]),
|
|
36239
|
+
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
|
|
36240
|
+
}));
|
|
36241
|
+
return resources;
|
|
36242
|
+
}));
|
|
36032
36243
|
}
|
|
36033
36244
|
async getDownloadLinksFromOgcApiFeatures(ogcApiLink) {
|
|
36034
36245
|
const collectionInfo = await this.getDownloadUrlsFromOgcApi(ogcApiLink.url.href);
|
|
36035
36246
|
return Object.keys(collectionInfo.bulkDownloadLinks).map((downloadLink) => {
|
|
36036
36247
|
return {
|
|
36037
36248
|
...ogcApiLink,
|
|
36249
|
+
name: collectionInfo.id,
|
|
36038
36250
|
type: 'download',
|
|
36039
36251
|
url: new URL(collectionInfo.bulkDownloadLinks[downloadLink]),
|
|
36040
36252
|
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(downloadLink)),
|
|
@@ -36070,18 +36282,18 @@ class DataService {
|
|
|
36070
36282
|
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
|
|
36071
36283
|
}));
|
|
36072
36284
|
}
|
|
36073
|
-
readAsGeoJson(link) {
|
|
36074
|
-
return this.getDataset(link).pipe(switchMap$1((dataset) => dataset.selectAll().read()), map$1((features) => ({
|
|
36285
|
+
readAsGeoJson(link, cacheActive) {
|
|
36286
|
+
return this.getDataset(link, cacheActive).pipe(switchMap$1((dataset) => dataset.selectAll().read()), map$1((features) => ({
|
|
36075
36287
|
type: 'FeatureCollection',
|
|
36076
36288
|
features,
|
|
36077
36289
|
})));
|
|
36078
36290
|
}
|
|
36079
|
-
getDataset(link) {
|
|
36291
|
+
getDataset(link, cacheActive) {
|
|
36080
36292
|
if (link.type === 'service' && link.accessServiceProtocol === 'wfs') {
|
|
36081
36293
|
const wfsUrlEndpoint = this.proxy.getProxiedUrl(link.url.toString());
|
|
36082
36294
|
return from(openDataset(wfsUrlEndpoint, 'wfs', {
|
|
36083
36295
|
wfsFeatureType: link.name,
|
|
36084
|
-
}));
|
|
36296
|
+
}, cacheActive));
|
|
36085
36297
|
}
|
|
36086
36298
|
else if (link.type === 'download') {
|
|
36087
36299
|
const linkProxifiedUrl = this.proxy.getProxiedUrl(link.url.toString());
|
|
@@ -36089,18 +36301,18 @@ class DataService {
|
|
|
36089
36301
|
const supportedType = SupportedTypes.indexOf(format) > -1
|
|
36090
36302
|
? format
|
|
36091
36303
|
: undefined;
|
|
36092
|
-
return from(openDataset(linkProxifiedUrl, supportedType)).pipe();
|
|
36304
|
+
return from(openDataset(linkProxifiedUrl, supportedType, undefined, cacheActive)).pipe();
|
|
36093
36305
|
}
|
|
36094
36306
|
else if (link.type === 'service' &&
|
|
36095
36307
|
link.accessServiceProtocol === 'esriRest') {
|
|
36096
36308
|
const url = this.getDownloadUrlFromEsriRest(link.url.toString(), 'geojson');
|
|
36097
|
-
return from(openDataset(url, 'geojson')).pipe();
|
|
36309
|
+
return from(openDataset(url, 'geojson', undefined, cacheActive)).pipe();
|
|
36098
36310
|
}
|
|
36099
36311
|
else if (link.type === 'service' &&
|
|
36100
36312
|
link.accessServiceProtocol === 'ogcFeatures') {
|
|
36101
36313
|
return from(this.getDownloadUrlsFromOgcApi(link.url.href)).pipe(switchMap$1((collectionInfo) => {
|
|
36102
36314
|
const geojsonUrl = collectionInfo.jsonDownloadLink;
|
|
36103
|
-
return openDataset(geojsonUrl, 'geojson');
|
|
36315
|
+
return openDataset(geojsonUrl, 'geojson', undefined, cacheActive);
|
|
36104
36316
|
}), tap$1((url) => {
|
|
36105
36317
|
if (url === null) {
|
|
36106
36318
|
throw new Error('wfs.geojsongml.notsupported');
|
|
@@ -36665,6 +36877,7 @@ class ChartViewComponent {
|
|
|
36665
36877
|
this.dataService = dataService;
|
|
36666
36878
|
this.changeDetector = changeDetector;
|
|
36667
36879
|
this.translateService = translateService;
|
|
36880
|
+
this.cacheActive = true;
|
|
36668
36881
|
this.currentLink$ = new BehaviorSubject(null);
|
|
36669
36882
|
this.aggregation$ = new BehaviorSubject('sum');
|
|
36670
36883
|
this.xProperty$ = new BehaviorSubject(undefined);
|
|
@@ -36694,7 +36907,7 @@ class ChartViewComponent {
|
|
|
36694
36907
|
this.dataset$ = this.currentLink$.pipe(filter((link) => !!link), switchMap$1((link) => {
|
|
36695
36908
|
this.error = null;
|
|
36696
36909
|
this.loading = true;
|
|
36697
|
-
return this.dataService.getDataset(link).pipe(catchError((error) => {
|
|
36910
|
+
return this.dataService.getDataset(link, this.cacheActive).pipe(catchError((error) => {
|
|
36698
36911
|
this.handleError(error);
|
|
36699
36912
|
return EMPTY;
|
|
36700
36913
|
}));
|
|
@@ -36763,7 +36976,7 @@ class ChartViewComponent {
|
|
|
36763
36976
|
this.changeDetector.detectChanges();
|
|
36764
36977
|
}
|
|
36765
36978
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36766
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChartViewComponent, isStandalone: true, selector: "gn-ui-chart-view", inputs: { link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36979
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChartViewComponent, isStandalone: true, selector: "gn-ui-chart-view", inputs: { cacheActive: "cacheActive", link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36767
36980
|
}
|
|
36768
36981
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, decorators: [{
|
|
36769
36982
|
type: Component,
|
|
@@ -36775,7 +36988,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36775
36988
|
LoadingMaskComponent,
|
|
36776
36989
|
PopupAlertComponent,
|
|
36777
36990
|
], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
36778
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: {
|
|
36991
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: { cacheActive: [{
|
|
36992
|
+
type: Input
|
|
36993
|
+
}], link: [{
|
|
36779
36994
|
type: Input
|
|
36780
36995
|
}], aggregation: [{
|
|
36781
36996
|
type: Input
|
|
@@ -36948,6 +37163,7 @@ class TableViewComponent {
|
|
|
36948
37163
|
constructor(dataService, translateService) {
|
|
36949
37164
|
this.dataService = dataService;
|
|
36950
37165
|
this.translateService = translateService;
|
|
37166
|
+
this.cacheActive = true;
|
|
36951
37167
|
this.currentLink$ = new BehaviorSubject(null);
|
|
36952
37168
|
this.loading = false;
|
|
36953
37169
|
this.error = null;
|
|
@@ -36965,7 +37181,7 @@ class TableViewComponent {
|
|
|
36965
37181
|
}), startWith(undefined), shareReplay(1));
|
|
36966
37182
|
}
|
|
36967
37183
|
getDatasetReader(link) {
|
|
36968
|
-
return this.dataService.getDataset(link);
|
|
37184
|
+
return this.dataService.getDataset(link, this.cacheActive);
|
|
36969
37185
|
}
|
|
36970
37186
|
onTableSelect(event) {
|
|
36971
37187
|
console.log(event);
|
|
@@ -36988,7 +37204,7 @@ class TableViewComponent {
|
|
|
36988
37204
|
this.loading = false;
|
|
36989
37205
|
}
|
|
36990
37206
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewComponent, deps: [{ token: DataService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36991
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableViewComponent, isStandalone: true, selector: "gn-ui-table-view", inputs: { link: "link" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DataTableComponent, selector: "gn-ui-data-table", inputs: ["dataset", "activeId"], outputs: ["selected"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37207
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableViewComponent, isStandalone: true, selector: "gn-ui-table-view", inputs: { cacheActive: "cacheActive", link: "link" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DataTableComponent, selector: "gn-ui-data-table", inputs: ["dataset", "activeId"], outputs: ["selected"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36992
37208
|
}
|
|
36993
37209
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewComponent, decorators: [{
|
|
36994
37210
|
type: Component,
|
|
@@ -36999,7 +37215,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36999
37215
|
PopupAlertComponent,
|
|
37000
37216
|
TranslateModule,
|
|
37001
37217
|
], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
37002
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i1$1.TranslateService }], propDecorators: {
|
|
37218
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i1$1.TranslateService }], propDecorators: { cacheActive: [{
|
|
37219
|
+
type: Input
|
|
37220
|
+
}], link: [{
|
|
37003
37221
|
type: Input
|
|
37004
37222
|
}] } });
|
|
37005
37223
|
|
|
@@ -37018,7 +37236,15 @@ class MdViewFacade {
|
|
|
37018
37236
|
this.isPresent$ = this.store.pipe(select(getMetadataUuid), map$1((uuid) => !!uuid));
|
|
37019
37237
|
this.isMetadataLoading$ = this.store.pipe(select(getMetadataIsLoading));
|
|
37020
37238
|
this.metadata$ = this.store.pipe(select(getMetadata), filter((md) => !!md));
|
|
37239
|
+
this.featureCatalog$ = this.store.pipe(select(getFeatureCatalog));
|
|
37021
37240
|
this.isIncomplete$ = this.store.pipe(select(getMetadataIsIncomplete), filter((incomplete) => incomplete !== null));
|
|
37241
|
+
this.isHighUpdateFrequency$ = this.metadata$.pipe(map$1((record) => {
|
|
37242
|
+
if (record.updateFrequency instanceof Object) {
|
|
37243
|
+
return (record.updateFrequency.per === 'day' &&
|
|
37244
|
+
record.updateFrequency.updatedTimes > 1);
|
|
37245
|
+
}
|
|
37246
|
+
return record.updateFrequency === 'continual';
|
|
37247
|
+
}));
|
|
37022
37248
|
this.error$ = this.store.pipe(select(getMetadataError));
|
|
37023
37249
|
this.related$ = this.store.pipe(select(getRelated));
|
|
37024
37250
|
this.chartConfig$ = this.store.pipe(select(getChartConfig));
|
|
@@ -37114,6 +37340,11 @@ class MdViewEffects {
|
|
|
37114
37340
|
}
|
|
37115
37341
|
return loadFullMetadataSuccess({ full: record });
|
|
37116
37342
|
}), catchError((error) => of(loadFullMetadataFailure({ otherError: error.message })))));
|
|
37343
|
+
this.loadFeatureCatalog$ = createEffect(() => this.actions$.pipe(ofType(loadFullMetadataSuccess), filter(({ full }) => full !== undefined), switchMap$1(({ full }) => this.recordsRepository.getFeatureCatalog(full)), map$1((featureCatalog) => loadFeatureCatalogSuccess({
|
|
37344
|
+
datasetCatalog: featureCatalog,
|
|
37345
|
+
})), catchError((error) => of(loadFeatureCatalogFailure({
|
|
37346
|
+
error: error.message,
|
|
37347
|
+
})))));
|
|
37117
37348
|
/*
|
|
37118
37349
|
Related effects
|
|
37119
37350
|
*/
|
|
@@ -37703,6 +37934,7 @@ class DataViewComponent {
|
|
|
37703
37934
|
this.mdViewFacade = mdViewFacade;
|
|
37704
37935
|
this.displaySource = true;
|
|
37705
37936
|
this.chartConfig$ = new BehaviorSubject(null);
|
|
37937
|
+
this.cacheActive$ = this.mdViewFacade.isHighUpdateFrequency$.pipe(map$1((highF) => !highF));
|
|
37706
37938
|
this.compatibleDataLinks$ = combineLatest([
|
|
37707
37939
|
this.mdViewFacade.dataLinks$,
|
|
37708
37940
|
this.mdViewFacade.geoDataLinks$,
|
|
@@ -37730,7 +37962,7 @@ class DataViewComponent {
|
|
|
37730
37962
|
this.selectedLink$.next(link);
|
|
37731
37963
|
}
|
|
37732
37964
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, deps: [{ token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37733
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewComponent, isStandalone: true, selector: "gn-ui-data-view", inputs: { mode: "mode", displaySource: "displaySource" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: TableViewComponent, selector: "gn-ui-table-view", inputs: ["link"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37965
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewComponent, isStandalone: true, selector: "gn-ui-data-view", inputs: { mode: "mode", displaySource: "displaySource" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: TableViewComponent, selector: "gn-ui-table-view", inputs: ["cacheActive", "link"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["cacheActive", "link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37734
37966
|
}
|
|
37735
37967
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, decorators: [{
|
|
37736
37968
|
type: Component,
|
|
@@ -37740,7 +37972,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37740
37972
|
TableViewComponent,
|
|
37741
37973
|
TranslateModule,
|
|
37742
37974
|
ChartViewComponent,
|
|
37743
|
-
], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n</div>\n" }]
|
|
37975
|
+
], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n</div>\n" }]
|
|
37744
37976
|
}], ctorParameters: () => [{ type: MdViewFacade }], propDecorators: { mode: [{
|
|
37745
37977
|
type: Input
|
|
37746
37978
|
}], displaySource: [{
|
|
@@ -38033,7 +38265,8 @@ class MapViewComponent {
|
|
|
38033
38265
|
link.accessServiceProtocol === 'esriRest' ||
|
|
38034
38266
|
link.accessServiceProtocol === 'ogcFeatures')) ||
|
|
38035
38267
|
link.type === 'download') {
|
|
38036
|
-
|
|
38268
|
+
const cacheActive = true; // TODO implement whether should be true or false
|
|
38269
|
+
return this.dataService.readAsGeoJson(link, cacheActive).pipe(map$1((data) => ({
|
|
38037
38270
|
type: 'geojson',
|
|
38038
38271
|
data,
|
|
38039
38272
|
})));
|
|
@@ -38548,8 +38781,8 @@ const DEFAULT_CONFIGURATION = {
|
|
|
38548
38781
|
labelKey: marker('editor.record.form.page.description'),
|
|
38549
38782
|
sections: [
|
|
38550
38783
|
TITLE_SECTION,
|
|
38551
|
-
ABOUT_SECTION,
|
|
38552
38784
|
CLASSIFICATION_SECTION,
|
|
38785
|
+
ABOUT_SECTION,
|
|
38553
38786
|
GEOGRAPHICAL_COVERAGE_SECTION,
|
|
38554
38787
|
],
|
|
38555
38788
|
},
|
|
@@ -39708,7 +39941,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39708
39941
|
|
|
39709
39942
|
class FormFieldRichComponent {
|
|
39710
39943
|
constructor() {
|
|
39711
|
-
this.placeholder = '
|
|
39944
|
+
this.placeholder = '';
|
|
39712
39945
|
this.valueChange = new EventEmitter();
|
|
39713
39946
|
this.preview = false;
|
|
39714
39947
|
}
|
|
@@ -39957,6 +40190,7 @@ class FormFieldContactsForResourceComponent {
|
|
|
39957
40190
|
'owner',
|
|
39958
40191
|
'point_of_contact',
|
|
39959
40192
|
'author',
|
|
40193
|
+
'publisher',
|
|
39960
40194
|
];
|
|
39961
40195
|
this.roleSectionsToDisplay = [];
|
|
39962
40196
|
this.allOrganizations = new Map();
|
|
@@ -41097,7 +41331,7 @@ class ConstraintCardComponent {
|
|
|
41097
41331
|
provideNgIconsConfig({
|
|
41098
41332
|
size: '1.5rem',
|
|
41099
41333
|
}),
|
|
41100
|
-
], ngImport: i0, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [
|
|
41334
|
+
], ngImport: i0, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [placeholder]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [showValidateButton]=\"false\"\n >\n </gn-ui-url-input>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
41101
41335
|
}
|
|
41102
41336
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConstraintCardComponent, decorators: [{
|
|
41103
41337
|
type: Component,
|
|
@@ -41115,7 +41349,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41115
41349
|
provideNgIconsConfig({
|
|
41116
41350
|
size: '1.5rem',
|
|
41117
41351
|
}),
|
|
41118
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [
|
|
41352
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [placeholder]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [showValidateButton]=\"false\"\n >\n </gn-ui-url-input>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
41119
41353
|
}], propDecorators: { label: [{
|
|
41120
41354
|
type: Input
|
|
41121
41355
|
}], constraint: [{
|
|
@@ -41774,5 +42008,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41774
42008
|
* Generated bundle index. Do not edit.
|
|
41775
42009
|
*/
|
|
41776
42010
|
|
|
41777
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
42011
|
+
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
41778
42012
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|