geonetwork-ui 2.6.0-dev.9df114cd4 → 2.6.0-dev.a8e63e487
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/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +17 -15
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +39 -6
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +8 -4
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +5 -2
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -5
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +2 -1
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -12
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +42 -9
- package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
- 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 +45 -9
- package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +32 -2
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +25 -6
- package/esm2022/libs/feature/editor/src/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +273 -0
- package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
- package/esm2022/libs/feature/record/src/index.mjs +2 -4
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
- package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
- package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +33 -7
- package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +14 -5
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +13 -15
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
- package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
- package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
- package/esm2022/libs/feature/search/src/index.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/constants.mjs +2 -1
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +13 -19
- package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
- package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +30 -10
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
- package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +11 -6
- package/esm2022/libs/ui/elements/src/index.mjs +5 -1
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
- package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +55 -0
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +27 -53
- package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +68 -0
- package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +51 -0
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +17 -7
- package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +169 -0
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +22 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +3 -1
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
- package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
- package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +68 -0
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
- package/esm2022/libs/ui/layout/src/index.mjs +2 -1
- package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +15 -3
- package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
- package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +107 -0
- package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
- package/esm2022/libs/ui/map/src/index.mjs +2 -1
- package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
- package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +80 -0
- package/esm2022/libs/ui/search/src/index.mjs +3 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -8
- package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
- package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +2 -2
- package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +19 -12
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +29 -15
- package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +19 -5
- package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
- package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
- package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +42 -1
- package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +24 -2
- package/esm2022/libs/util/shared/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +16 -6
- package/esm2022/translations/de.json +64 -7
- package/esm2022/translations/en.json +66 -9
- package/esm2022/translations/es.json +63 -6
- package/esm2022/translations/fr.json +65 -8
- package/esm2022/translations/it.json +70 -13
- package/esm2022/translations/nl.json +63 -6
- package/esm2022/translations/pt.json +63 -6
- package/fesm2022/geonetwork-ui.mjs +2912 -1096
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/index.d.ts +1 -0
- package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
- package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.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 +0 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
- 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 +7 -2
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -3
- 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 +3 -0
- 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 +12 -8
- 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 +1 -0
- 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 +5 -2
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +52 -0
- package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
- package/libs/feature/record/src/index.d.ts +1 -3
- package/libs/feature/record/src/index.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.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/record-meta/record-meta.component.d.ts +2 -2
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts +10 -0
- 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 +9 -1
- 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 +28 -21
- 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 +2 -0
- 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/router/src/lib/default/constants.d.ts +2 -0
- package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
- package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +1 -1
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
- package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
- package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -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/dataviz/src/lib/chart/chart.component.d.ts +2 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +4 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +15 -0
- package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +3 -7
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +13 -0
- package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +16 -0
- package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +8 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +31 -0
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +4 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +2 -0
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
- package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +1 -0
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
- package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
- package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +27 -0
- package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
- package/libs/ui/map/src/index.d.ts +1 -0
- package/libs/ui/map/src/index.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
- package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
- package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
- package/libs/ui/search/src/index.d.ts +2 -0
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
- package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
- package/libs/ui/search/src/lib/results-list/results-list.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +3 -3
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +5 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/ui-search.module.d.ts +22 -19
- package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/i18n.constants.d.ts +1 -0
- package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/language-codes.d.ts +23 -1
- package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
- package/libs/util/shared/src/index.d.ts +1 -0
- package/libs/util/shared/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
- package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +14 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/libs/api/metadata-converter/src/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
- package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +3 -3
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +57 -6
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +13 -3
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +5 -1
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +10 -6
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +7 -4
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +3 -11
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +66 -7
- package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +11 -4
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +3 -0
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +36 -26
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +16 -2
- package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +1 -1
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +54 -10
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +37 -0
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +27 -1
- package/src/libs/feature/editor/src/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +120 -0
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +325 -0
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
- package/src/libs/feature/record/src/index.ts +1 -3
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +16 -10
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +25 -16
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +35 -4
- package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
- package/src/libs/feature/record/src/lib/state/mdview.actions.ts +10 -0
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +27 -3
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +21 -17
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +12 -0
- package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
- package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
- package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
- package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
- package/src/libs/feature/search/src/index.ts +1 -1
- package/src/libs/feature/search/src/lib/constants.ts +1 -0
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -2
- package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -10
- package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
- package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
- package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
- package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +26 -5
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
- package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +5 -4
- package/src/libs/ui/elements/src/index.ts +4 -0
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +38 -7
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.css +4 -0
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +13 -0
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +54 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +133 -138
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +19 -47
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +11 -0
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +70 -0
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +5 -2
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -7
- package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +24 -7
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +2 -3
- package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +48 -0
- package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +52 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +8 -29
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +14 -1
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +110 -0
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +191 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +9 -1
- package/src/libs/ui/inputs/src/index.ts +2 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
- package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
- package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +77 -0
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +3 -4
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
- package/src/libs/ui/layout/src/index.ts +1 -0
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
- package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
- package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +4 -7
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -0
- package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
- package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +44 -0
- package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +130 -0
- package/src/libs/ui/layout/src/lib/ui-layout.module.ts +1 -5
- package/src/libs/ui/map/src/index.ts +1 -0
- package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
- package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
- package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
- package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
- package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts → ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts} +8 -8
- package/src/libs/ui/search/src/index.ts +2 -0
- package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +9 -81
- package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
- package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +25 -0
- package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
- package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +2 -2
- package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
- package/src/libs/ui/search/src/lib/results-list/results-list.component.ts +0 -1
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +11 -3
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +14 -11
- package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +29 -16
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +22 -11
- package/src/libs/ui/search/src/lib/ui-search.module.ts +8 -0
- package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -1
- package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
- package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
- package/src/libs/util/i18n/src/lib/i18n.constants.ts +42 -0
- package/src/libs/util/i18n/src/lib/language-codes.ts +23 -1
- package/src/libs/util/shared/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +15 -3
- package/src/libs/util/shared/src/lib/links/link-utils.ts +33 -12
- package/tailwind.base.config.js +3 -0
- package/tailwind.base.css +5 -17
- package/translations/de.json +64 -7
- package/translations/en.json +66 -9
- package/translations/es.json +63 -6
- package/translations/fr.json +65 -8
- package/translations/it.json +70 -13
- package/translations/nl.json +63 -6
- package/translations/pt.json +63 -6
- package/translations/sk.json +63 -6
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
- package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
- package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +0 -1
- package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
- package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
- package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
- package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
- package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
- package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
- package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
- /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-map-container/form-field-map-container.component.css → multilingual-panel/multilingual-panel.component.css} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record';
|
|
1
|
+
import { DatasetOnlineResource, ServiceOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare enum LinkUsage {
|
|
4
4
|
API = "api",
|
|
@@ -10,8 +10,8 @@ export declare enum LinkUsage {
|
|
|
10
10
|
UNKNOWN = "unknown"
|
|
11
11
|
}
|
|
12
12
|
export declare class LinkClassifierService {
|
|
13
|
-
getUsagesForLink(link: DatasetOnlineResource): LinkUsage[];
|
|
14
|
-
hasUsage(link: DatasetOnlineResource, usage: LinkUsage): boolean;
|
|
13
|
+
getUsagesForLink(link: DatasetOnlineResource | ServiceOnlineResource): LinkUsage[];
|
|
14
|
+
hasUsage(link: DatasetOnlineResource | ServiceOnlineResource, usage: LinkUsage): boolean;
|
|
15
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<LinkClassifierService, never>;
|
|
16
16
|
static ɵprov: i0.ɵɵInjectableDeclaration<LinkClassifierService>;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-classifier.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-classifier.service.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"link-classifier.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-classifier.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,2DAA2D,CAAA;;AAGlE,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,OAAO,WAAW;IAClB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,YAAY,gBAAgB;IAC5B,OAAO,YAAY;CACpB;AAED,qBAGa,qBAAqB;IAChC,gBAAgB,CACd,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,GAClD,SAAS,EAAE;IA0Cd,QAAQ,CACN,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,EACnD,KAAK,EAAE,SAAS;yCA/CP,qBAAqB;6CAArB,qBAAqB;CAmDjC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DatasetOnlineResource, ServiceProtocol } from '../../../../../../libs/common/domain/src/lib/model/record';
|
|
1
|
+
import { DatasetOnlineResource, ServiceOnlineResource, ServiceProtocol } from '../../../../../../libs/common/domain/src/lib/model/record';
|
|
2
2
|
export declare const FORMATS: {
|
|
3
3
|
readonly csv: {
|
|
4
4
|
readonly extensions: readonly ["csv"];
|
|
@@ -99,14 +99,21 @@ export declare const FORMATS: {
|
|
|
99
99
|
};
|
|
100
100
|
export type FileFormat = keyof typeof FORMATS;
|
|
101
101
|
export declare function getFormatPriority(linkFormat: FileFormat): number;
|
|
102
|
-
export declare function getLinkPriority(link: DatasetOnlineResource): number;
|
|
102
|
+
export declare function getLinkPriority(link: DatasetOnlineResource | ServiceOnlineResource): number;
|
|
103
103
|
export declare function getFileFormatFromServiceOutput(serviceOutput: string): FileFormat | null;
|
|
104
|
-
export declare function getFileFormat(link: DatasetOnlineResource): FileFormat;
|
|
105
|
-
export declare function isFormatInQueryParam(link: DatasetOnlineResource, alias: string): boolean;
|
|
104
|
+
export declare function getFileFormat(link: DatasetOnlineResource | ServiceOnlineResource): FileFormat;
|
|
105
|
+
export declare function isFormatInQueryParam(link: DatasetOnlineResource | ServiceOnlineResource, alias: string): boolean;
|
|
106
106
|
export declare function mimeTypeToFormat(mimeType: string): FileFormat;
|
|
107
|
-
export declare function checkFileFormat(link: DatasetOnlineResource, format: FileFormat): boolean;
|
|
107
|
+
export declare function checkFileFormat(link: DatasetOnlineResource | ServiceOnlineResource, format: FileFormat): boolean;
|
|
108
108
|
export declare function getBadgeColor(linkFormat: FileFormat): string;
|
|
109
|
-
export declare function getLinkLabel(link: DatasetOnlineResource): string;
|
|
110
|
-
export declare function getLayers(url: string, serviceProtocol: ServiceProtocol): Promise<
|
|
109
|
+
export declare function getLinkLabel(link: DatasetOnlineResource | ServiceOnlineResource): string;
|
|
110
|
+
export declare function getLayers(url: string, serviceProtocol: ServiceProtocol): Promise<{
|
|
111
|
+
name: string;
|
|
112
|
+
hasRecords?: boolean;
|
|
113
|
+
hasFeatures?: boolean;
|
|
114
|
+
hasVectorTiles?: boolean;
|
|
115
|
+
hasMapTiles?: boolean;
|
|
116
|
+
}[] | import("@camptocamp/ogc-client").WfsFeatureTypeFull[] | import("@camptocamp/ogc-client").WmsLayerFull[] | import("@camptocamp/ogc-client").WmtsLayer[]>;
|
|
117
|
+
export declare function wmsLayerFlatten(layerFull: any): any[];
|
|
111
118
|
export declare function getMimeTypeForFormat(format: FileFormat): string | null;
|
|
112
119
|
//# sourceMappingURL=link-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,2DAA2D,CAAA;AAUlE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"link-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EAChB,MAAM,2DAA2D,CAAA;AAUlE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,GAClD,MAAM,CAER;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GACpB,UAAU,GAAG,IAAI,CAgBnB;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,GAClD,UAAU,CAcZ;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,EACnD,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO7D;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,EACnD,MAAM,EAAE,UAAU,GACjB,OAAO,CAQT;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,GAClD,MAAM,CA6BR;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;;;;;;8JAmC5E;AAED,wBAAgB,eAAe,CAAC,SAAS,KAAA,SAUxC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAEtE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "geonetwork-ui",
|
|
3
|
-
"version": "2.6.0-dev.
|
|
3
|
+
"version": "2.6.0-dev.a8e63e487",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=20"
|
|
6
6
|
},
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"@nx/angular": "20.2.2",
|
|
63
63
|
"@rgrove/parse-xml": "4.2.0",
|
|
64
64
|
"alasql": "4.6.0",
|
|
65
|
-
"axios": "1.
|
|
65
|
+
"axios": "1.8.2",
|
|
66
66
|
"basiclightbox": "^5.0.4",
|
|
67
67
|
"chart.js": "4.4.7",
|
|
68
68
|
"chroma-js": "3.1.2",
|
|
@@ -4,6 +4,7 @@ export function matchProtocol(protocol: string): ServiceProtocol {
|
|
|
4
4
|
if (/wms/i.test(protocol)) return 'wms'
|
|
5
5
|
if (/wfs/i.test(protocol)) return 'wfs'
|
|
6
6
|
if (/wmts/i.test(protocol)) return 'wmts'
|
|
7
|
+
if (/tms/i.test(protocol)) return 'tms'
|
|
7
8
|
if (/wps/i.test(protocol)) return 'wps'
|
|
8
9
|
if (/ogc\W*api\W*features/i.test(protocol)) return 'ogcFeatures'
|
|
9
10
|
if (/esri/i.test(protocol)) return 'esriRest'
|
|
@@ -4,23 +4,37 @@ import {
|
|
|
4
4
|
ReuseType,
|
|
5
5
|
} from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
6
6
|
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
export const PossibleResourceTypes = {
|
|
8
|
+
application: 'reuse',
|
|
9
|
+
dataset: 'dataset',
|
|
10
|
+
interactiveMap: 'reuse',
|
|
11
|
+
map: 'reuse',
|
|
12
|
+
'map/static': 'reuse', // old index field
|
|
13
|
+
'map/interactive': 'reuse', // old index field
|
|
14
|
+
'map-interactive': 'reuse', // new index field since Oct 10, 2024
|
|
15
|
+
'map-static': 'reuse', // new index field
|
|
16
|
+
mapDigital: 'reuse',
|
|
17
|
+
series: 'dataset',
|
|
18
|
+
service: 'service',
|
|
19
|
+
staticMap: 'reuse',
|
|
20
|
+
} as const
|
|
21
|
+
|
|
22
|
+
type KindType = keyof typeof PossibleResourceTypes
|
|
23
|
+
type ResourceType = 'reuse' | 'dataset' | 'service'
|
|
24
|
+
type PossibleResourceTypesGrouped = {
|
|
25
|
+
[K in ResourceType]: KindType[]
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const PossibleResourceTypesDefinition = Object.entries(
|
|
29
|
+
PossibleResourceTypes
|
|
30
|
+
).reduce(
|
|
31
|
+
(acc, [key, val]) => ((acc[val] ??= []).push(key), acc),
|
|
32
|
+
{}
|
|
33
|
+
) as PossibleResourceTypesGrouped
|
|
21
34
|
|
|
35
|
+
export function getResourceType(type: string): RecordKind {
|
|
22
36
|
return (
|
|
23
|
-
|
|
37
|
+
PossibleResourceTypes[type as keyof typeof PossibleResourceTypes] ||
|
|
24
38
|
'dataset'
|
|
25
39
|
)
|
|
26
40
|
}
|
package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts
CHANGED
|
@@ -174,10 +174,10 @@ export const GEO2FRANCE_SERVICE_EAUXUSEES_RECORD: ServiceRecord = {
|
|
|
174
174
|
onlineResources: [
|
|
175
175
|
{
|
|
176
176
|
type: 'endpoint',
|
|
177
|
-
|
|
177
|
+
url: new URL(
|
|
178
178
|
'https://services.sandre.eaufrance.fr/geo/odp?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetCapabilities'
|
|
179
179
|
),
|
|
180
|
-
|
|
180
|
+
accessServiceProtocol: 'wfs',
|
|
181
181
|
description:
|
|
182
182
|
'Ouvrages de dépollution - Système de traitement des eaux usées - France entière',
|
|
183
183
|
translations: {},
|
|
@@ -617,7 +617,7 @@ Die Quelle ist zu bezeichnen: „Quelle: Stadt Zürich“.`,
|
|
|
617
617
|
status: 'completed',
|
|
618
618
|
updateFrequency: 'asNeeded',
|
|
619
619
|
defaultLanguage: 'de',
|
|
620
|
-
otherLanguages: ['fr', 'it', 'en', 'rm'],
|
|
620
|
+
otherLanguages: ['fr', 'it', 'en', 'rm', 'aar'],
|
|
621
621
|
translations: {
|
|
622
622
|
abstract: {
|
|
623
623
|
en: 'The perimeters of the Alpine Convention in Switzerland. The Alpine Convention is an international treaty between the eight Alpine countries: Germany, France, Italy, Liechtenstein, Monaco, Austria, Switzerland and Slovenia, plus the European Union. The aim of the treaty is to protect the Alps by means of cross-sectoral, integrated and sustainable policies.',
|
|
@@ -772,10 +772,10 @@ export const GEOCAT_CH_SERVICE_RECORD: ServiceRecord = {
|
|
|
772
772
|
},
|
|
773
773
|
{
|
|
774
774
|
type: 'endpoint',
|
|
775
|
-
|
|
775
|
+
url: new URL(
|
|
776
776
|
'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?request=GetCapabilities&service=WMS'
|
|
777
777
|
),
|
|
778
|
-
|
|
778
|
+
accessServiceProtocol: 'wms',
|
|
779
779
|
description:
|
|
780
780
|
'https://services.geo.sg.ch/wss/service/SG00170_WMS/guest?request=GetCapabilities&service=WMS',
|
|
781
781
|
translations: {
|
|
@@ -629,10 +629,10 @@ export const METAWAL_SERVICE_RECORD: ServiceRecord = {
|
|
|
629
629
|
{
|
|
630
630
|
description:
|
|
631
631
|
'Ce service ESRI-REST permet de visualiser la couche de données "Plan parcellaire cadastral - situation 01/01/2016" (uniquement les données du bâti et le parcellaire)',
|
|
632
|
-
|
|
632
|
+
url: new URL(
|
|
633
633
|
'https://geoservices.wallonie.be/arcgis/rest/services/PLAN_REGLEMENT/CADMAP_2016_PARCELLES/MapServer'
|
|
634
634
|
),
|
|
635
|
-
|
|
635
|
+
accessServiceProtocol: 'esriRest',
|
|
636
636
|
type: 'endpoint',
|
|
637
637
|
translations: {},
|
|
638
638
|
},
|
package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts
CHANGED
|
@@ -274,10 +274,10 @@ export const WALLONIE_SERVICE_NAPITSWALLONIA_RECORD: ServiceRecord = {
|
|
|
274
274
|
onlineResources: [
|
|
275
275
|
{
|
|
276
276
|
type: 'endpoint',
|
|
277
|
-
|
|
277
|
+
url: new URL(
|
|
278
278
|
'https://metawal.wallonie.be/geonetwork/api/collections/napits'
|
|
279
279
|
),
|
|
280
|
-
|
|
280
|
+
accessServiceProtocol: 'other',
|
|
281
281
|
description: "Point d'accès OGC API Records pour NAP-ITS-Wallonia.",
|
|
282
282
|
translations: {},
|
|
283
283
|
},
|
|
@@ -152,12 +152,22 @@ export class Gn4FieldMapper {
|
|
|
152
152
|
)
|
|
153
153
|
const languages = langList.map((lang) => LANG_3_TO_2_MAPPER[lang])
|
|
154
154
|
const defaultLanguage = output.defaultLanguage ?? languages[0] ?? null // set the first language as main one as fallback
|
|
155
|
+
|
|
156
|
+
return {
|
|
157
|
+
...output,
|
|
158
|
+
defaultLanguage,
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
otherLanguage: (output, source) => {
|
|
162
|
+
const langList = getAsArray(selectField<string>(source, 'otherLanguage'))
|
|
163
|
+
const languages = langList.map((lang) => LANG_3_TO_2_MAPPER[lang])
|
|
164
|
+
const defaultLanguage = output.defaultLanguage ?? languages[0] ?? null
|
|
155
165
|
const otherLanguages = languages.filter(
|
|
156
166
|
(lang) => lang !== defaultLanguage
|
|
157
167
|
)
|
|
168
|
+
|
|
158
169
|
return {
|
|
159
170
|
...output,
|
|
160
|
-
defaultLanguage,
|
|
161
171
|
otherLanguages,
|
|
162
172
|
}
|
|
163
173
|
},
|
|
@@ -294,12 +304,52 @@ export class Gn4FieldMapper {
|
|
|
294
304
|
) ?? {},
|
|
295
305
|
'_source'
|
|
296
306
|
)
|
|
297
|
-
const featureCatalogIdentifier = selectField(
|
|
307
|
+
const featureCatalogIdentifier: string = selectField(
|
|
298
308
|
<SourceWithUnknownProps>fcatSource,
|
|
299
309
|
'uuid'
|
|
300
310
|
)
|
|
301
|
-
|
|
302
|
-
|
|
311
|
+
const sourceOfLinks = getAsArray(
|
|
312
|
+
selectField(
|
|
313
|
+
<SourceWithUnknownProps>selectField(source, 'related'),
|
|
314
|
+
'hassources'
|
|
315
|
+
)
|
|
316
|
+
)
|
|
317
|
+
const sourceOfIdentifiers: string[] = sourceOfLinks
|
|
318
|
+
.filter((link) => link['origin'] === 'catalog')
|
|
319
|
+
.map((link) => {
|
|
320
|
+
return selectField(
|
|
321
|
+
selectField(<SourceWithUnknownProps>link, '_source'),
|
|
322
|
+
'uuid'
|
|
323
|
+
)
|
|
324
|
+
})
|
|
325
|
+
const extraValues: Record<string, string | string[]> = {}
|
|
326
|
+
if (featureCatalogIdentifier) {
|
|
327
|
+
extraValues.featureCatalogIdentifier = featureCatalogIdentifier
|
|
328
|
+
}
|
|
329
|
+
if (sourceOfIdentifiers && sourceOfIdentifiers.length > 0) {
|
|
330
|
+
extraValues.sourceOfIdentifiers = sourceOfIdentifiers
|
|
331
|
+
}
|
|
332
|
+
return Object.keys(extraValues).length > 0
|
|
333
|
+
? this.addExtra(extraValues, output)
|
|
334
|
+
: output
|
|
335
|
+
},
|
|
336
|
+
recordLink: (output, source) => {
|
|
337
|
+
const recordLinks = getAsArray(
|
|
338
|
+
selectField<SourceWithUnknownProps[]>(source, 'recordLink')
|
|
339
|
+
)
|
|
340
|
+
const sourcesIdentifiers: string[] = recordLinks
|
|
341
|
+
.filter(
|
|
342
|
+
(link) => link['origin'] === 'catalog' && link['type'] === 'sources'
|
|
343
|
+
)
|
|
344
|
+
.map((link) => selectField(<SourceWithUnknownProps>link, 'to'))
|
|
345
|
+
|
|
346
|
+
return sourcesIdentifiers && sourcesIdentifiers.length > 0
|
|
347
|
+
? this.addExtra(
|
|
348
|
+
{
|
|
349
|
+
sourcesIdentifiers,
|
|
350
|
+
},
|
|
351
|
+
output
|
|
352
|
+
)
|
|
303
353
|
: output
|
|
304
354
|
},
|
|
305
355
|
isPublishedToAll: (output, source) =>
|
|
@@ -430,6 +480,7 @@ export class Gn4FieldMapper {
|
|
|
430
480
|
/^OGC:WMS/.test(protocol) ||
|
|
431
481
|
/^OGC:WFS/.test(protocol) ||
|
|
432
482
|
/^OGC:WMTS/.test(protocol) ||
|
|
483
|
+
/TMS/i.test(protocol) ||
|
|
433
484
|
/ogc\W*api\W*features/i.test(protocol) ||
|
|
434
485
|
(/^WWW:DOWNLOAD-/.test(protocol) && /data.geopf.fr/.test(url)) // TO DO : change with the good protocol when decided
|
|
435
486
|
) {
|
|
@@ -509,8 +560,8 @@ export class Gn4FieldMapper {
|
|
|
509
560
|
return {
|
|
510
561
|
...distribution,
|
|
511
562
|
type,
|
|
512
|
-
|
|
513
|
-
|
|
563
|
+
url: url,
|
|
564
|
+
accessServiceProtocol: accessServiceProtocol,
|
|
514
565
|
}
|
|
515
566
|
}
|
|
516
567
|
}
|
|
@@ -164,7 +164,6 @@ export type MetadataObject = Partial<{
|
|
|
164
164
|
resourceDate: ResourceDate[]
|
|
165
165
|
resourceEdition: string
|
|
166
166
|
resourceIdentifier: ResourceIdentifier[]
|
|
167
|
-
resourceLanguage: string[]
|
|
168
167
|
resourceTemporalDateRange: ResourceTemporalDateRange[]
|
|
169
168
|
resourceTemporalExtentDateRange: ResourceTemporalDateRange[]
|
|
170
169
|
resourceTitleObject: MultilingualField
|
|
@@ -363,11 +363,18 @@ export function readOnlineResources(rootEl: XmlElement): OnlineResource[] {
|
|
|
363
363
|
)(rootEl)
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
-
function readLocaleElement(): ChainableFunction<
|
|
366
|
+
export function readLocaleElement(): ChainableFunction<
|
|
367
|
+
XmlElement,
|
|
368
|
+
LanguageCode
|
|
369
|
+
> {
|
|
367
370
|
return pipe(
|
|
368
371
|
findChildElement('lan:LanguageCode'),
|
|
369
372
|
readAttribute('codeListValue'),
|
|
370
|
-
map((lang) =>
|
|
373
|
+
map((lang) => {
|
|
374
|
+
const normalized = lang?.toLowerCase()
|
|
375
|
+
const iso2Lang = LANG_3_TO_2_MAPPER[normalized]
|
|
376
|
+
return iso2Lang ?? lang
|
|
377
|
+
})
|
|
371
378
|
)
|
|
372
379
|
}
|
|
373
380
|
|
|
@@ -381,6 +388,9 @@ export function readDefaultLanguage(rootEl: XmlElement): LanguageCode {
|
|
|
381
388
|
export function readOtherLanguages(rootEl: XmlElement): LanguageCode[] {
|
|
382
389
|
return pipe(
|
|
383
390
|
findChildrenElement('mdb:otherLocale', false),
|
|
384
|
-
mapArray(readLocaleElement())
|
|
391
|
+
mapArray(readLocaleElement()),
|
|
392
|
+
map((languages) =>
|
|
393
|
+
languages.filter((lang): lang is LanguageCode => lang !== null)
|
|
394
|
+
)
|
|
385
395
|
)(rootEl)
|
|
386
396
|
}
|
|
@@ -529,7 +529,11 @@ export function writeOnlineResources(
|
|
|
529
529
|
}
|
|
530
530
|
|
|
531
531
|
function writeLocaleElement(language: LanguageCode) {
|
|
532
|
-
const
|
|
532
|
+
const normalizedLang = language.toLowerCase()
|
|
533
|
+
const lang3 =
|
|
534
|
+
normalizedLang.length === 2
|
|
535
|
+
? LANG_2_TO_3_MAPPER[normalizedLang]
|
|
536
|
+
: normalizedLang
|
|
533
537
|
return pipe(
|
|
534
538
|
findChildOrCreate('lan:PT_Locale'),
|
|
535
539
|
writeAttribute('id', language.toUpperCase()),
|
|
@@ -65,7 +65,8 @@ export function extractCharacterString(): ChainableFunction<
|
|
|
65
65
|
return pipe(
|
|
66
66
|
fallback(
|
|
67
67
|
findChildElement('gco:CharacterString', false),
|
|
68
|
-
findChildElement('gmx:Anchor', false)
|
|
68
|
+
findChildElement('gmx:Anchor', false),
|
|
69
|
+
findChildElement('gmx:MimeFileType', false)
|
|
69
70
|
),
|
|
70
71
|
readText()
|
|
71
72
|
)
|
|
@@ -965,8 +966,8 @@ export function extractServiceOnlineResources(): ChainableFunction<
|
|
|
965
966
|
} else {
|
|
966
967
|
return {
|
|
967
968
|
type: 'endpoint',
|
|
968
|
-
|
|
969
|
-
protocol,
|
|
969
|
+
url: url,
|
|
970
|
+
accessServiceProtocol: protocol,
|
|
970
971
|
...(description && { description }),
|
|
971
972
|
translations,
|
|
972
973
|
}
|
|
@@ -1161,11 +1162,14 @@ export function readOtherLanguages(rootEl: XmlElement): LanguageCode[] {
|
|
|
1161
1162
|
findChildrenElement('gmd:locale', false),
|
|
1162
1163
|
mapArray(
|
|
1163
1164
|
pipe(
|
|
1164
|
-
findChildElement('
|
|
1165
|
+
findChildElement('lan:LanguageCode'),
|
|
1165
1166
|
readAttribute('codeListValue'),
|
|
1166
|
-
map((lang) => LANG_3_TO_2_MAPPER[lang.toLowerCase()])
|
|
1167
|
+
map((lang) => LANG_3_TO_2_MAPPER[lang.toLowerCase()] ?? lang)
|
|
1167
1168
|
)
|
|
1168
1169
|
),
|
|
1170
|
+
map((languages) =>
|
|
1171
|
+
languages.filter((lang): lang is LanguageCode => lang !== null)
|
|
1172
|
+
),
|
|
1169
1173
|
map((languages) => (languages.length ? languages : [defaultLanguage]))
|
|
1170
1174
|
)(rootEl)
|
|
1171
1175
|
}
|
|
@@ -1173,7 +1177,7 @@ export function readOtherLanguages(rootEl: XmlElement): LanguageCode[] {
|
|
|
1173
1177
|
export function readDefaultLanguage(rootEl: XmlElement): LanguageCode {
|
|
1174
1178
|
return pipe(
|
|
1175
1179
|
findChildElement('gmd:language', false),
|
|
1176
|
-
findChildElement('
|
|
1180
|
+
findChildElement('lan:LanguageCode'),
|
|
1177
1181
|
readAttribute('codeListValue'),
|
|
1178
1182
|
map((lang) => (lang ? LANG_3_TO_2_MAPPER[lang.toLowerCase()] : null))
|
|
1179
1183
|
)(rootEl)
|
|
@@ -1227,7 +1227,7 @@ export function writeLineage(record: DatasetRecord, rootEl: XmlElement) {
|
|
|
1227
1227
|
}
|
|
1228
1228
|
|
|
1229
1229
|
export function getServiceEndpointProtocol(endpoint: ServiceEndpoint): string {
|
|
1230
|
-
switch (endpoint.
|
|
1230
|
+
switch (endpoint.accessServiceProtocol.toLowerCase()) {
|
|
1231
1231
|
case 'wfs':
|
|
1232
1232
|
return 'OGC:WFS'
|
|
1233
1233
|
case 'wms':
|
|
@@ -1235,14 +1235,14 @@ export function getServiceEndpointProtocol(endpoint: ServiceEndpoint): string {
|
|
|
1235
1235
|
case 'wps':
|
|
1236
1236
|
return 'OGC:WPS'
|
|
1237
1237
|
default:
|
|
1238
|
-
return endpoint.
|
|
1238
|
+
return endpoint.accessServiceProtocol
|
|
1239
1239
|
}
|
|
1240
1240
|
}
|
|
1241
1241
|
|
|
1242
1242
|
export function createOnlineResource(onlineResource: ServiceOnlineResource) {
|
|
1243
1243
|
let linkageUrl, functionCode, protocol
|
|
1244
1244
|
if (onlineResource.type === 'endpoint') {
|
|
1245
|
-
linkageUrl = onlineResource.
|
|
1245
|
+
linkageUrl = onlineResource.url.toString()
|
|
1246
1246
|
protocol = getServiceEndpointProtocol(onlineResource)
|
|
1247
1247
|
functionCode = 'download'
|
|
1248
1248
|
} else {
|
|
@@ -1471,7 +1471,10 @@ export function writeLanguages(record: DatasetRecord, rootEl: XmlElement) {
|
|
|
1471
1471
|
writeAttribute('id', lang.toUpperCase()),
|
|
1472
1472
|
createNestedChild('gmd:languageCode', 'gmd:LanguageCode'),
|
|
1473
1473
|
writeAttribute('codeList', 'http://www.loc.gov/standards/iso639-2/'),
|
|
1474
|
-
writeAttribute(
|
|
1474
|
+
writeAttribute(
|
|
1475
|
+
'codeListValue',
|
|
1476
|
+
lang.length === 2 ? LANG_2_TO_3_MAPPER[lang] : lang
|
|
1477
|
+
)
|
|
1475
1478
|
)
|
|
1476
1479
|
|
|
1477
1480
|
// add new languages (only if other than default one)
|
|
@@ -124,11 +124,11 @@ export class ElasticsearchService {
|
|
|
124
124
|
this.runtimeFields[fieldName] = expression
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
getMetadataByIdsPayload(uuids: string[]): EsSearchParams {
|
|
128
128
|
return {
|
|
129
129
|
query: {
|
|
130
130
|
ids: {
|
|
131
|
-
values:
|
|
131
|
+
values: uuids,
|
|
132
132
|
},
|
|
133
133
|
},
|
|
134
134
|
}
|
|
@@ -299,14 +299,6 @@ export class ElasticsearchService {
|
|
|
299
299
|
|
|
300
300
|
private mustNotFilters(): Record<string, unknown>[] {
|
|
301
301
|
return [
|
|
302
|
-
{
|
|
303
|
-
...this.queryFilterOnValues('resourceType', [
|
|
304
|
-
'service',
|
|
305
|
-
'map',
|
|
306
|
-
'map/static',
|
|
307
|
-
'mapDigital',
|
|
308
|
-
]),
|
|
309
|
-
},
|
|
310
302
|
{
|
|
311
303
|
query_string: {
|
|
312
304
|
query:
|
|
@@ -429,7 +421,7 @@ export class ElasticsearchService {
|
|
|
429
421
|
must_not: this.mustNotFilters(),
|
|
430
422
|
},
|
|
431
423
|
},
|
|
432
|
-
_source: ['resourceTitleObject', 'uuid'],
|
|
424
|
+
_source: ['resourceTitleObject', 'uuid', 'resourceType'],
|
|
433
425
|
from: 0,
|
|
434
426
|
size: 20,
|
|
435
427
|
}
|
|
@@ -31,7 +31,7 @@ import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain
|
|
|
31
31
|
import {
|
|
32
32
|
RecordsApiService,
|
|
33
33
|
SearchApiService,
|
|
34
|
-
|
|
34
|
+
LanguagesApiService,
|
|
35
35
|
} from '../../../../../../libs/data-access/gn4/src'
|
|
36
36
|
import {
|
|
37
37
|
combineLatest,
|
|
@@ -47,6 +47,7 @@ import {
|
|
|
47
47
|
import { catchError, map, tap } from 'rxjs/operators'
|
|
48
48
|
import { lt } from 'semver'
|
|
49
49
|
import { ElasticsearchService } from './elasticsearch'
|
|
50
|
+
import { LANG_3_TO_2_MAPPER } from '../../../../../../libs/util/i18n/src'
|
|
50
51
|
|
|
51
52
|
const minPublicationApiVersion = '4.2.5'
|
|
52
53
|
|
|
@@ -65,7 +66,8 @@ export class Gn4Repository implements RecordsRepositoryInterface {
|
|
|
65
66
|
private gn4SearchHelper: ElasticsearchService,
|
|
66
67
|
private gn4Mapper: Gn4Converter,
|
|
67
68
|
private gn4RecordsApi: RecordsApiService,
|
|
68
|
-
private platformService: PlatformServiceInterface
|
|
69
|
+
private platformService: PlatformServiceInterface,
|
|
70
|
+
private gn4LanguagesApi: LanguagesApiService
|
|
69
71
|
) {}
|
|
70
72
|
|
|
71
73
|
search({
|
|
@@ -129,9 +131,9 @@ export class Gn4Repository implements RecordsRepositoryInterface {
|
|
|
129
131
|
return this.gn4SearchApi
|
|
130
132
|
.search(
|
|
131
133
|
'bucket',
|
|
132
|
-
['fcats'],
|
|
134
|
+
['fcats', 'hassources'],
|
|
133
135
|
JSON.stringify(
|
|
134
|
-
this.gn4SearchHelper.
|
|
136
|
+
this.gn4SearchHelper.getMetadataByIdsPayload([uniqueIdentifier])
|
|
135
137
|
)
|
|
136
138
|
)
|
|
137
139
|
.pipe(
|
|
@@ -142,6 +144,27 @@ export class Gn4Repository implements RecordsRepositoryInterface {
|
|
|
142
144
|
)
|
|
143
145
|
}
|
|
144
146
|
|
|
147
|
+
getMultipleRecords(
|
|
148
|
+
uniqueIdentifiers: string[]
|
|
149
|
+
): Observable<CatalogRecord[] | null> {
|
|
150
|
+
return this.gn4SearchApi
|
|
151
|
+
.search(
|
|
152
|
+
'bucket',
|
|
153
|
+
undefined,
|
|
154
|
+
JSON.stringify(
|
|
155
|
+
this.gn4SearchHelper.getMetadataByIdsPayload(uniqueIdentifiers)
|
|
156
|
+
)
|
|
157
|
+
)
|
|
158
|
+
.pipe(
|
|
159
|
+
map((results: Gn4SearchResults) => results.hits.hits),
|
|
160
|
+
switchMap((records) =>
|
|
161
|
+
records && records.length > 0
|
|
162
|
+
? this.gn4Mapper.readRecords(records)
|
|
163
|
+
: of(null)
|
|
164
|
+
)
|
|
165
|
+
)
|
|
166
|
+
}
|
|
167
|
+
|
|
145
168
|
private mapEmbeddedFeatureCatalog(
|
|
146
169
|
featureTypes: Array<DatasetFeatureType>
|
|
147
170
|
): DatasetFeatureCatalog {
|
|
@@ -152,7 +175,9 @@ export class Gn4Repository implements RecordsRepositoryInterface {
|
|
|
152
175
|
attributes: Array.isArray(featureType.attributeTable)
|
|
153
176
|
? featureType.attributeTable.map((attr) => ({
|
|
154
177
|
name: attr.name,
|
|
178
|
+
code: attr.code,
|
|
155
179
|
title: attr.definition,
|
|
180
|
+
type: attr.type,
|
|
156
181
|
}))
|
|
157
182
|
: [],
|
|
158
183
|
})),
|
|
@@ -164,7 +189,8 @@ export class Gn4Repository implements RecordsRepositoryInterface {
|
|
|
164
189
|
): Observable<DatasetFeatureCatalog | null> {
|
|
165
190
|
if (
|
|
166
191
|
record.extras?.['featureTypes'] &&
|
|
167
|
-
Array.isArray(record.extras['featureTypes'])
|
|
192
|
+
Array.isArray(record.extras['featureTypes']) &&
|
|
193
|
+
record.extras['featureTypes'].length > 0
|
|
168
194
|
) {
|
|
169
195
|
return of(this.mapEmbeddedFeatureCatalog(record.extras['featureTypes']))
|
|
170
196
|
}
|
|
@@ -200,6 +226,24 @@ export class Gn4Repository implements RecordsRepositoryInterface {
|
|
|
200
226
|
)
|
|
201
227
|
}
|
|
202
228
|
|
|
229
|
+
getSources(record: CatalogRecord): Observable<CatalogRecord[]> {
|
|
230
|
+
const sourcesIdentifiers = record.extras?.['sourcesIdentifiers'] as string[]
|
|
231
|
+
if (sourcesIdentifiers && sourcesIdentifiers.length > 0) {
|
|
232
|
+
return this.getMultipleRecords(sourcesIdentifiers)
|
|
233
|
+
}
|
|
234
|
+
return of(null)
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
getSourceOf(record: CatalogRecord): Observable<CatalogRecord[]> {
|
|
238
|
+
const sourceOfIdentifiers = record.extras?.[
|
|
239
|
+
'sourceOfIdentifiers'
|
|
240
|
+
] as string[]
|
|
241
|
+
if (sourceOfIdentifiers && sourceOfIdentifiers.length > 0) {
|
|
242
|
+
return this.getMultipleRecords(sourceOfIdentifiers)
|
|
243
|
+
}
|
|
244
|
+
return of(null)
|
|
245
|
+
}
|
|
246
|
+
|
|
203
247
|
aggregate(params: AggregationsParams): Observable<Aggregations> {
|
|
204
248
|
// if aggregations are empty, return an empty object right away
|
|
205
249
|
if (Object.keys(params).length === 0) return of({})
|
|
@@ -362,9 +406,12 @@ export class Gn4Repository implements RecordsRepositoryInterface {
|
|
|
362
406
|
const record = await converter.readRecord(fetchedRecordAsXml)
|
|
363
407
|
|
|
364
408
|
record.title = `${record.title} (Copy)`
|
|
365
|
-
await converter.writeRecord(
|
|
409
|
+
const recordAsXml = await converter.writeRecord(
|
|
410
|
+
record,
|
|
411
|
+
fetchedRecordAsXml
|
|
412
|
+
)
|
|
366
413
|
|
|
367
|
-
return this.saveRecord(record,
|
|
414
|
+
return this.saveRecord(record, recordAsXml, false)
|
|
368
415
|
}),
|
|
369
416
|
exhaustMap((uuidObservable: Observable<string>) => uuidObservable),
|
|
370
417
|
catchError((error: HttpErrorResponse) => {
|
|
@@ -465,6 +512,18 @@ export class Gn4Repository implements RecordsRepositoryInterface {
|
|
|
465
512
|
)
|
|
466
513
|
}
|
|
467
514
|
|
|
515
|
+
getApplicationLanguages(): Observable<string[]> {
|
|
516
|
+
return this.gn4LanguagesApi
|
|
517
|
+
.getApplicationLanguages()
|
|
518
|
+
.pipe(
|
|
519
|
+
map((languages) =>
|
|
520
|
+
languages
|
|
521
|
+
.map((lang) => LANG_3_TO_2_MAPPER[lang.id ?? ''])
|
|
522
|
+
.filter((code): code is string => !!code)
|
|
523
|
+
)
|
|
524
|
+
)
|
|
525
|
+
}
|
|
526
|
+
|
|
468
527
|
private getRecordAsXml(uniqueIdentifier: string): Observable<string | null> {
|
|
469
528
|
return this.gn4RecordsApi
|
|
470
529
|
.getRecordAs(
|