geonetwork-ui 2.6.0-dev.01d2b5fc0 → 2.6.0-dev.01f702fed
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/resource-types.mjs +17 -15
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +8 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -10
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +18 -11
- 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/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -3
- 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 +2 -1
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -3
- 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/map/src/lib/map-state-container/map-state-container.component.mjs +2 -2
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +2 -4
- package/esm2022/libs/feature/record/src/index.mjs +1 -2
- 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 +45 -14
- package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +8 -5
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -6
- 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/favorites/favorite-star/favorite-star.component.mjs +8 -7
- 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 +26 -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/elements/src/index.mjs +4 -1
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +27 -6
- package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +22 -6
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
- 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 +163 -0
- package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +51 -0
- package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +29 -7
- 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-api-form/record-api-form.component.mjs +3 -2
- package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +161 -0
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +22 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +2 -2
- 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/star-toggle/star-toggle.component.mjs +4 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
- package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +43 -3
- 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/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/ui-layout.module.mjs +4 -12
- package/esm2022/libs/ui/map/src/index.mjs +2 -1
- package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +14 -3
- package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +5 -1
- package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +79 -0
- package/esm2022/libs/ui/search/src/index.mjs +2 -1
- 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-table/results-table.component.mjs +5 -4
- package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +11 -3
- 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/data-fetcher/src/lib/data-fetcher.mjs +6 -2
- package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +4 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +30 -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 +2 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +33 -24
- package/esm2022/translations/de.json +39 -4
- package/esm2022/translations/en.json +40 -5
- package/esm2022/translations/es.json +39 -4
- package/esm2022/translations/fr.json +40 -5
- package/esm2022/translations/it.json +39 -5
- package/esm2022/translations/nl.json +39 -4
- package/esm2022/translations/pt.json +39 -4
- package/fesm2022/geonetwork-ui.mjs +1771 -634
- 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/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/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
- 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 +23 -4
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -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.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -2
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- 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/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
- package/libs/feature/record/src/index.d.ts +0 -1
- 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 +7 -2
- 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.effects.d.ts +3 -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 +7 -7
- package/libs/feature/record/src/lib/state/mdview.facade.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/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/elements/src/index.d.ts +3 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +9 -1
- package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +8 -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/internal-link-card/internal-link-card.component.d.ts +43 -0
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +11 -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 +10 -2
- 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-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +30 -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 +1 -1
- 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/star-toggle/star-toggle.component.d.ts.map +1 -1
- 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/lib/anchor-link/anchor-link.directive.d.ts +10 -3
- package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.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/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/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/map-container/map-container.component.d.ts +4 -2
- package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/map-legend/map-legend.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 +1 -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-table/results-table.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/ui-search.module.d.ts +21 -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/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/model.d.ts +3 -2
- package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +1 -0
- package/libs/util/data-fetcher/src/lib/readers/wfs.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 +30 -23
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/package.json +1 -1
- 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/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 +2 -2
- 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 +8 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -9
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +20 -12
- 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 +22 -3
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +26 -26
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +2 -2
- package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +18 -2
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +1 -0
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -0
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +1 -0
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +10 -8
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -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/map/src/lib/utils/map-utils.service.ts +1 -3
- package/src/libs/feature/record/src/index.ts +0 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +14 -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 +22 -15
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +41 -7
- package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +5 -3
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +4 -7
- 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/favorites/favorite-star/favorite-star.component.html +1 -7
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -8
- 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.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.css +6 -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 +24 -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/elements/src/index.ts +3 -0
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +64 -38
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +26 -2
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +21 -18
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +20 -2
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +42 -10
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
- 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.css +0 -0
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +156 -0
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +190 -0
- 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 +9 -0
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +51 -0
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +30 -29
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +28 -2
- 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 +9 -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 +20 -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 +3 -2
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -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 +96 -0
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +183 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +9 -0
- package/src/libs/ui/inputs/src/index.ts +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/star-toggle/star-toggle.component.html +6 -6
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
- package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +46 -2
- 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 -5
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +3 -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/ui-layout.module.ts +1 -5
- package/src/libs/ui/map/src/index.ts +1 -0
- package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +14 -0
- package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +3 -0
- 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} +7 -8
- package/src/libs/ui/search/src/index.ts +1 -0
- 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 +24 -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-table/results-table.component.html +7 -4
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +2 -1
- package/src/libs/ui/search/src/lib/ui-search.module.ts +5 -0
- package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +4 -3
- 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/data-fetcher/src/lib/data-fetcher.ts +3 -1
- package/src/libs/util/data-fetcher/src/lib/model.ts +11 -1
- package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +29 -3
- 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 +12 -3
- package/src/libs/util/shared/src/lib/links/link-utils.ts +50 -30
- package/tailwind.base.config.js +3 -0
- package/tailwind.base.css +39 -13
- package/translations/de.json +39 -4
- package/translations/en.json +40 -5
- package/translations/es.json +39 -4
- package/translations/fr.json +40 -5
- package/translations/it.json +39 -5
- package/translations/nl.json +39 -4
- package/translations/pt.json +39 -4
- package/translations/sk.json +39 -4
- 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/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
- 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/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
- package/libs/ui/inputs/src/lib/navigation-button/navigation-button.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/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
- /package/src/libs/feature/{editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css → search/src/lib/results-hits/results-hits.container.component.css} +0 -0
|
@@ -53,7 +53,9 @@ export async function openDataset(
|
|
|
53
53
|
reader.load()
|
|
54
54
|
return reader
|
|
55
55
|
} catch (e: any) {
|
|
56
|
-
|
|
56
|
+
//WfsReader may already raise a FetchError
|
|
57
|
+
if (e instanceof FetchError) throw e
|
|
58
|
+
else throw FetchError.parsingFailed(e.message)
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
61
|
|
|
@@ -7,7 +7,14 @@ export class FetchError {
|
|
|
7
7
|
stack = null
|
|
8
8
|
|
|
9
9
|
constructor(
|
|
10
|
-
public type:
|
|
10
|
+
public type:
|
|
11
|
+
| 'http'
|
|
12
|
+
| 'forbidden'
|
|
13
|
+
| 'network'
|
|
14
|
+
| 'parse'
|
|
15
|
+
| 'unsupportedType'
|
|
16
|
+
| 'unknown',
|
|
17
|
+
|
|
11
18
|
public info: string,
|
|
12
19
|
public httpStatus = 0
|
|
13
20
|
) {
|
|
@@ -20,6 +27,9 @@ ${body}`
|
|
|
20
27
|
: `${code}`
|
|
21
28
|
return new FetchError('http', info, code)
|
|
22
29
|
}
|
|
30
|
+
static forbidden(code: number) {
|
|
31
|
+
return new FetchError('forbidden', '', code)
|
|
32
|
+
}
|
|
23
33
|
static corsOrNetwork(message: string) {
|
|
24
34
|
return new FetchError('network', message, 0)
|
|
25
35
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { WfsEndpoint, WfsVersion } from '@camptocamp/ogc-client'
|
|
2
|
-
import { DataItem, DatasetInfo, PropertyInfo } from '../model'
|
|
1
|
+
import { EndpointError, WfsEndpoint, WfsVersion } from '@camptocamp/ogc-client'
|
|
2
|
+
import { DataItem, DatasetInfo, FetchError, PropertyInfo } from '../model'
|
|
3
3
|
import { fetchDataAsText } from '../utils'
|
|
4
4
|
import { GmlReader, parseGml } from './gml'
|
|
5
5
|
import { GeojsonReader, parseGeojson } from './geojson'
|
|
@@ -7,6 +7,32 @@ import { BaseCacheReader } from './base-cache'
|
|
|
7
7
|
import { getJsonDataItemsProxy, jsonToGeojsonFeature } from '../utils'
|
|
8
8
|
import { generateSqlQuery } from '../sql-utils'
|
|
9
9
|
|
|
10
|
+
export async function getWfsEndpoint(wfsUrl: string): Promise<WfsEndpoint> {
|
|
11
|
+
try {
|
|
12
|
+
return await new WfsEndpoint(wfsUrl).isReady()
|
|
13
|
+
} catch (e) {
|
|
14
|
+
if (
|
|
15
|
+
e instanceof Error &&
|
|
16
|
+
'isCrossOriginRelated' in e &&
|
|
17
|
+
'httpStatus' in e
|
|
18
|
+
) {
|
|
19
|
+
const error = e as EndpointError
|
|
20
|
+
if (error.isCrossOriginRelated === true) {
|
|
21
|
+
throw new Error(`wfs.unreachable.cors`)
|
|
22
|
+
}
|
|
23
|
+
if (error.httpStatus === 401 || error.httpStatus === 403) {
|
|
24
|
+
throw FetchError.forbidden(error.httpStatus)
|
|
25
|
+
} else if (error.httpStatus === 400 || error.httpStatus > 403) {
|
|
26
|
+
throw FetchError.http(error.httpStatus)
|
|
27
|
+
} else {
|
|
28
|
+
throw FetchError.unknownType()
|
|
29
|
+
}
|
|
30
|
+
} else {
|
|
31
|
+
throw FetchError.unknownType()
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
10
36
|
export class WfsReader extends BaseCacheReader {
|
|
11
37
|
endpoint: WfsEndpoint
|
|
12
38
|
featureTypeName: string
|
|
@@ -53,7 +79,7 @@ export class WfsReader extends BaseCacheReader {
|
|
|
53
79
|
}
|
|
54
80
|
|
|
55
81
|
static async createReader(wfsUrlEndpoint: string, featureTypeName?: string) {
|
|
56
|
-
const wfsEndpoint = await
|
|
82
|
+
const wfsEndpoint = await getWfsEndpoint(wfsUrlEndpoint)
|
|
57
83
|
const featureTypes = wfsEndpoint.getFeatureTypes()
|
|
58
84
|
const featureType = wfsEndpoint.getFeatureTypeSummary(
|
|
59
85
|
featureTypes.length === 1 && !featureTypeName
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
DatasetOnlineResource,
|
|
4
|
+
ServiceOnlineResource,
|
|
5
|
+
} from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
3
6
|
import { getFileFormat } from './link-utils'
|
|
4
7
|
|
|
5
8
|
export enum LinkUsage {
|
|
@@ -16,8 +19,11 @@ export enum LinkUsage {
|
|
|
16
19
|
providedIn: 'root',
|
|
17
20
|
})
|
|
18
21
|
export class LinkClassifierService {
|
|
19
|
-
getUsagesForLink(
|
|
22
|
+
getUsagesForLink(
|
|
23
|
+
link: DatasetOnlineResource | ServiceOnlineResource
|
|
24
|
+
): LinkUsage[] {
|
|
20
25
|
switch (link.type) {
|
|
26
|
+
case 'endpoint':
|
|
21
27
|
case 'service': {
|
|
22
28
|
switch (link.accessServiceProtocol) {
|
|
23
29
|
case 'esriRest':
|
|
@@ -54,7 +60,10 @@ export class LinkClassifierService {
|
|
|
54
60
|
}
|
|
55
61
|
}
|
|
56
62
|
|
|
57
|
-
hasUsage(
|
|
63
|
+
hasUsage(
|
|
64
|
+
link: DatasetOnlineResource | ServiceOnlineResource,
|
|
65
|
+
usage: LinkUsage
|
|
66
|
+
) {
|
|
58
67
|
return this.getUsagesForLink(link).indexOf(usage) > -1
|
|
59
68
|
}
|
|
60
69
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { marker } from '@biesbjerg/ngx-translate-extract-marker'
|
|
2
2
|
import {
|
|
3
3
|
DatasetOnlineResource,
|
|
4
|
+
ServiceOnlineResource,
|
|
4
5
|
ServiceProtocol,
|
|
5
6
|
} from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
6
7
|
import {
|
|
@@ -16,7 +17,7 @@ export const FORMATS = {
|
|
|
16
17
|
csv: {
|
|
17
18
|
extensions: ['csv'],
|
|
18
19
|
priority: 1,
|
|
19
|
-
color: '#
|
|
20
|
+
color: '#F6A924',
|
|
20
21
|
mimeTypes: ['text/csv', 'application/csv'],
|
|
21
22
|
},
|
|
22
23
|
excel: {
|
|
@@ -28,7 +29,7 @@ export const FORMATS = {
|
|
|
28
29
|
'openxmlformats-officedocument',
|
|
29
30
|
],
|
|
30
31
|
priority: 2,
|
|
31
|
-
color: '#
|
|
32
|
+
color: '#FFDE10',
|
|
32
33
|
mimeTypes: [
|
|
33
34
|
'application/vnd.ms-excel',
|
|
34
35
|
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
@@ -37,31 +38,31 @@ export const FORMATS = {
|
|
|
37
38
|
geojson: {
|
|
38
39
|
extensions: ['geojson'],
|
|
39
40
|
priority: 3,
|
|
40
|
-
color: '#
|
|
41
|
+
color: '#293C6F',
|
|
41
42
|
mimeTypes: ['application/geo+json', 'application/vnd.geo+json'],
|
|
42
43
|
},
|
|
43
44
|
json: {
|
|
44
45
|
extensions: ['json'],
|
|
45
46
|
priority: 3,
|
|
46
|
-
color: '#
|
|
47
|
+
color: '#84D0F0',
|
|
47
48
|
mimeTypes: ['application/json'],
|
|
48
49
|
},
|
|
49
50
|
shp: {
|
|
50
51
|
extensions: ['shp', 'shape', 'zipped-shapefile'],
|
|
51
52
|
priority: 4,
|
|
52
|
-
color: '#
|
|
53
|
+
color: '#009036',
|
|
53
54
|
mimeTypes: ['x-gis/x-shapefile'],
|
|
54
55
|
},
|
|
55
56
|
gml: {
|
|
56
57
|
extensions: ['gml'],
|
|
57
58
|
priority: 5,
|
|
58
|
-
color: '#
|
|
59
|
+
color: '#E75113',
|
|
59
60
|
mimeTypes: ['application/gml+xml', 'text/xml; subtype=gml'],
|
|
60
61
|
},
|
|
61
62
|
kml: {
|
|
62
63
|
extensions: ['kml', 'kmz'],
|
|
63
64
|
priority: 6,
|
|
64
|
-
color: '#
|
|
65
|
+
color: '#F4B5D0',
|
|
65
66
|
mimeTypes: [
|
|
66
67
|
'application/vnd.google-earth.kml+xml',
|
|
67
68
|
'application/vnd.google-earth.kmz',
|
|
@@ -70,55 +71,55 @@ export const FORMATS = {
|
|
|
70
71
|
gpkg: {
|
|
71
72
|
extensions: ['gpkg', 'geopackage'],
|
|
72
73
|
priority: 7,
|
|
73
|
-
color: '#
|
|
74
|
+
color: '#7D5D9F',
|
|
74
75
|
mimeTypes: ['application/geopackage+sqlite3'],
|
|
75
76
|
},
|
|
76
77
|
zip: {
|
|
77
78
|
extensions: ['zip', 'tar.gz'],
|
|
78
79
|
priority: 8,
|
|
79
|
-
color: '#
|
|
80
|
+
color: '#B0CB52',
|
|
80
81
|
mimeTypes: ['application/zip', 'application/x-zip'],
|
|
81
82
|
},
|
|
82
83
|
pdf: {
|
|
83
84
|
extensions: ['pdf'],
|
|
84
85
|
priority: 9,
|
|
85
|
-
color: '#
|
|
86
|
+
color: '#49579E',
|
|
86
87
|
mimeTypes: ['application/pdf'],
|
|
87
88
|
},
|
|
88
89
|
jpg: {
|
|
89
90
|
extensions: ['jpg', 'jpeg', 'jfif', 'pjpeg', 'pjp'],
|
|
90
91
|
priority: 9,
|
|
91
|
-
color: '#
|
|
92
|
+
color: '#C4A98F',
|
|
92
93
|
mimeTypes: ['image/jpg'],
|
|
93
94
|
},
|
|
94
95
|
svg: {
|
|
95
96
|
extensions: ['svg'],
|
|
96
97
|
priority: 10,
|
|
97
|
-
color: '#
|
|
98
|
+
color: '#EB6D82',
|
|
98
99
|
mimeTypes: ['image/svg+xml'],
|
|
99
100
|
},
|
|
100
101
|
dxf: {
|
|
101
102
|
extensions: ['dxf'],
|
|
102
103
|
priority: 11,
|
|
103
|
-
color: '#
|
|
104
|
+
color: '#DCCD00',
|
|
104
105
|
mimeTypes: ['application/x-dxf', 'image/x-dxf'],
|
|
105
106
|
},
|
|
106
107
|
html: {
|
|
107
108
|
extensions: ['html', 'htm'],
|
|
108
109
|
priority: 12,
|
|
109
|
-
color: '#
|
|
110
|
+
color: '#C0C9B6',
|
|
110
111
|
mimeTypes: ['text/html'],
|
|
111
112
|
},
|
|
112
113
|
fgb: {
|
|
113
114
|
extensions: ['fgb', 'flatgeobuf'],
|
|
114
115
|
priority: 13,
|
|
115
|
-
color: '#
|
|
116
|
+
color: '#A8111C',
|
|
116
117
|
mimeTypes: ['application/flatgeobuf'],
|
|
117
118
|
},
|
|
118
119
|
jsonfg: {
|
|
119
120
|
extensions: ['jsonfg', 'jsonfgc'],
|
|
120
121
|
priority: 14,
|
|
121
|
-
color: '#
|
|
122
|
+
color: '#009EE0',
|
|
122
123
|
mimeTypes: [
|
|
123
124
|
'application/vnd.ogc.fg+json',
|
|
124
125
|
'application/vnd.ogc.fg+json;compatibility=geojson',
|
|
@@ -140,7 +141,9 @@ export function getFormatPriority(linkFormat: FileFormat): number {
|
|
|
140
141
|
return 0
|
|
141
142
|
}
|
|
142
143
|
|
|
143
|
-
export function getLinkPriority(
|
|
144
|
+
export function getLinkPriority(
|
|
145
|
+
link: DatasetOnlineResource | ServiceOnlineResource
|
|
146
|
+
): number {
|
|
144
147
|
return getFormatPriority(getFileFormat(link))
|
|
145
148
|
}
|
|
146
149
|
|
|
@@ -164,7 +167,9 @@ export function getFileFormatFromServiceOutput(
|
|
|
164
167
|
return null
|
|
165
168
|
}
|
|
166
169
|
|
|
167
|
-
export function getFileFormat(
|
|
170
|
+
export function getFileFormat(
|
|
171
|
+
link: DatasetOnlineResource | ServiceOnlineResource
|
|
172
|
+
): FileFormat {
|
|
168
173
|
if ('mimeType' in link) {
|
|
169
174
|
const mimeTypeFormat = mimeTypeToFormat(link.mimeType)
|
|
170
175
|
if (mimeTypeFormat !== null) {
|
|
@@ -181,7 +186,7 @@ export function getFileFormat(link: DatasetOnlineResource): FileFormat {
|
|
|
181
186
|
}
|
|
182
187
|
|
|
183
188
|
export function isFormatInQueryParam(
|
|
184
|
-
link: DatasetOnlineResource,
|
|
189
|
+
link: DatasetOnlineResource | ServiceOnlineResource,
|
|
185
190
|
alias: string
|
|
186
191
|
): boolean {
|
|
187
192
|
const queryParams = link.url.searchParams
|
|
@@ -203,13 +208,15 @@ export function mimeTypeToFormat(mimeType: string): FileFormat {
|
|
|
203
208
|
}
|
|
204
209
|
|
|
205
210
|
export function checkFileFormat(
|
|
206
|
-
link: DatasetOnlineResource,
|
|
211
|
+
link: DatasetOnlineResource | ServiceOnlineResource,
|
|
207
212
|
format: FileFormat
|
|
208
213
|
): boolean {
|
|
209
214
|
return (
|
|
210
|
-
('name' in link &&
|
|
215
|
+
('name' in link &&
|
|
216
|
+
new RegExp(`[./]${format}`, 'i').test(link.name.toLowerCase())) ||
|
|
211
217
|
('url' in link &&
|
|
212
|
-
new RegExp(`[./]${format}`, 'i').test(link.url.toString()))
|
|
218
|
+
new RegExp(`[./]${format}`, 'i').test(link.url.toString())) ||
|
|
219
|
+
('name' in link && link.name.toLowerCase().includes(format))
|
|
213
220
|
)
|
|
214
221
|
}
|
|
215
222
|
|
|
@@ -223,7 +230,9 @@ export function getBadgeColor(linkFormat: FileFormat): string {
|
|
|
223
230
|
return 'var(--color-gray-700)' // Default color ?
|
|
224
231
|
}
|
|
225
232
|
|
|
226
|
-
export function getLinkLabel(
|
|
233
|
+
export function getLinkLabel(
|
|
234
|
+
link: DatasetOnlineResource | ServiceOnlineResource
|
|
235
|
+
): string {
|
|
227
236
|
let format = ''
|
|
228
237
|
switch (link.type) {
|
|
229
238
|
case 'service':
|
|
@@ -247,7 +256,7 @@ export function getLinkLabel(link: DatasetOnlineResource): string {
|
|
|
247
256
|
default:
|
|
248
257
|
format = getFileFormat(link)
|
|
249
258
|
}
|
|
250
|
-
const label = link.description || link.name
|
|
259
|
+
const label = link.description || ('name' in link ? link.name : '')
|
|
251
260
|
return format ? `${label} (${format})` : label
|
|
252
261
|
}
|
|
253
262
|
|
|
@@ -259,14 +268,25 @@ export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
|
|
|
259
268
|
}
|
|
260
269
|
case 'wfs': {
|
|
261
270
|
const endpointWfs = await new WfsEndpoint(url).isReady()
|
|
262
|
-
|
|
271
|
+
const featureTypes = await endpointWfs.getFeatureTypes()
|
|
272
|
+
const layers = await Promise.all(
|
|
273
|
+
featureTypes.map(async (collection) => {
|
|
274
|
+
return await endpointWfs.getFeatureTypeFull(collection.name)
|
|
275
|
+
})
|
|
276
|
+
)
|
|
277
|
+
return layers
|
|
263
278
|
}
|
|
264
279
|
case 'wms': {
|
|
265
280
|
const endpointWms = await new WmsEndpoint(url).isReady()
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
281
|
+
const layers = (
|
|
282
|
+
await endpointWms
|
|
283
|
+
.getLayers()
|
|
284
|
+
.flatMap(wmsLayerFlatten)
|
|
285
|
+
.filter((l) => l.name)
|
|
286
|
+
).map((collection) => {
|
|
287
|
+
return endpointWms.getLayerByName(collection.name)
|
|
288
|
+
})
|
|
289
|
+
return layers
|
|
270
290
|
}
|
|
271
291
|
case 'wmts': {
|
|
272
292
|
const endpointWmts = await new WmtsEndpoint(url).isReady()
|
|
@@ -277,7 +297,7 @@ export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
|
|
|
277
297
|
}
|
|
278
298
|
}
|
|
279
299
|
|
|
280
|
-
function wmsLayerFlatten(layerFull) {
|
|
300
|
+
export function wmsLayerFlatten(layerFull) {
|
|
281
301
|
const layer = {
|
|
282
302
|
title: layerFull.title,
|
|
283
303
|
name: layerFull.name,
|
package/tailwind.base.config.js
CHANGED
package/tailwind.base.css
CHANGED
|
@@ -66,15 +66,20 @@
|
|
|
66
66
|
/* this is a base class, do not use it directly */
|
|
67
67
|
.gn-ui-btn {
|
|
68
68
|
--rounded: var(--gn-ui-button-rounded, 0.25em);
|
|
69
|
+
--border-width: var(--gn-ui-button-border-width, 1px);
|
|
69
70
|
--padding: var(--gn-ui-button-padding, 1em);
|
|
70
71
|
--width: var(--gn-ui-button-width, auto);
|
|
71
72
|
--height: var(--gn-ui-button-height, auto);
|
|
72
|
-
--background: var(--gn-ui-button-background, --color-background);
|
|
73
|
+
--background: var(--gn-ui-button-background, var(--color-background));
|
|
74
|
+
--bg-hover: var(--gn-ui-button-bg-hover, var(--color-background));
|
|
73
75
|
--font-size: var(--gn-ui-button-font-size, 1em);
|
|
76
|
+
--color: var(--gn-ui-button-color, var(--color-main));
|
|
74
77
|
@apply flex flex-row items-center justify-center
|
|
75
78
|
text-[length:--font-size] leading-none
|
|
79
|
+
text-[color:--color]
|
|
76
80
|
p-[--padding] rounded-[--rounded] w-[--width] h-[--height] overflow-hidden
|
|
77
|
-
bg-[--background] transition-all duration-100
|
|
81
|
+
border-[length:--border-width] bg-[--background] transition-all duration-100
|
|
82
|
+
hover:bg-[--bg-hover] focus:bg-[--bg-hover] active:bg-[--background]
|
|
78
83
|
outline-none
|
|
79
84
|
relative
|
|
80
85
|
disabled:opacity-50 disabled:pointer-events-none
|
|
@@ -89,44 +94,60 @@
|
|
|
89
94
|
|
|
90
95
|
.gn-ui-btn-default {
|
|
91
96
|
@apply gn-ui-btn text-white
|
|
92
|
-
bg-gray-700 hover:bg-gray-800 active:bg-gray-900
|
|
93
|
-
border
|
|
97
|
+
bg-gray-700 hover:bg-gray-800 hover:!text-white active:bg-gray-900
|
|
98
|
+
border-gray-700 focus:ring-4 focus:ring-gray-200 focus:text-gray-900;
|
|
94
99
|
}
|
|
95
100
|
|
|
96
101
|
.gn-ui-btn-primary {
|
|
97
102
|
@apply gn-ui-btn text-white
|
|
98
103
|
bg-primary hover:bg-primary-darker focus:bg-primary-darker active:bg-primary-darkest
|
|
99
|
-
border
|
|
104
|
+
border-primary focus:ring-4 focus:ring-primary-lightest;
|
|
100
105
|
}
|
|
101
106
|
|
|
102
107
|
.gn-ui-btn-secondary {
|
|
103
108
|
@apply gn-ui-btn text-white
|
|
104
109
|
bg-secondary hover:bg-secondary-darker focus:bg-secondary-darker active:bg-secondary-darkest
|
|
105
|
-
border
|
|
110
|
+
border-secondary focus:ring-4 focus:ring-secondary-lightest;
|
|
106
111
|
}
|
|
107
112
|
|
|
108
113
|
.gn-ui-btn-gray {
|
|
109
114
|
@apply gn-ui-btn text-black
|
|
110
115
|
bg-gray-100 hover:bg-gray-200 focus:bg-gray-200 active:bg-gray-300
|
|
111
|
-
border
|
|
116
|
+
border-gray-100 focus:ring-4 focus:ring-gray-50;
|
|
112
117
|
}
|
|
113
118
|
|
|
114
119
|
.gn-ui-btn-black {
|
|
115
120
|
@apply gn-ui-btn text-white
|
|
116
121
|
bg-black hover:bg-gray-950 focus:bg-gray-950 active:bg-gray-900
|
|
117
|
-
border
|
|
122
|
+
border-black focus:ring-4 focus:ring-gray-300;
|
|
118
123
|
}
|
|
119
124
|
|
|
120
125
|
.gn-ui-btn-outline {
|
|
121
|
-
@apply gn-ui-btn
|
|
126
|
+
@apply gn-ui-btn
|
|
122
127
|
hover:text-primary-darker focus:text-primary-darker active:text-primary-black
|
|
123
|
-
border
|
|
128
|
+
border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker;
|
|
124
129
|
}
|
|
125
130
|
|
|
126
131
|
.gn-ui-btn-light {
|
|
127
|
-
@apply gn-ui-btn
|
|
132
|
+
@apply gn-ui-btn
|
|
128
133
|
hover:bg-gray-50 focus:bg-gray-50 active:bg-gray-100
|
|
129
|
-
border
|
|
134
|
+
border-white focus:ring-4 focus:ring-gray-300;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.gn-ui-card-s {
|
|
138
|
+
@apply min-h-[64px] w-full xs:min-w-[260px] xs:max-w-[280px] sm:min-w-[300px] sm:max-w-[500px] md:min-w-[230px];
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.gn-ui-card-title {
|
|
142
|
+
@apply font-title font-medium text-black text-ellipsis overflow-hidden break-words line-clamp-3;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.gn-ui-card-icon {
|
|
146
|
+
@apply flex border border-gray-300 rounded-lg py-1 px-2 align-middle;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.gn-ui-card-detail {
|
|
150
|
+
@apply font-medium text-gray-500 text-ellipsis break-words text-sm;
|
|
130
151
|
}
|
|
131
152
|
|
|
132
153
|
/* DROPDOWN MULTISELECT CLASS */
|
|
@@ -186,7 +207,7 @@
|
|
|
186
207
|
|
|
187
208
|
/* TODO: add prefix */
|
|
188
209
|
.card-icon {
|
|
189
|
-
@apply text-
|
|
210
|
+
@apply text-black group-hover:text-primary-darkest transition-colors;
|
|
190
211
|
}
|
|
191
212
|
|
|
192
213
|
/* makes spinners appear in the right color */
|
|
@@ -194,6 +215,11 @@
|
|
|
194
215
|
mat-progress-spinner circle {
|
|
195
216
|
stroke: currentColor !important;
|
|
196
217
|
}
|
|
218
|
+
|
|
219
|
+
/* Section title */
|
|
220
|
+
.gn-ui-section-title {
|
|
221
|
+
@apply text-title font-medium pt-9 text-[28px];
|
|
222
|
+
}
|
|
197
223
|
}
|
|
198
224
|
|
|
199
225
|
html {
|
package/translations/de.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"": "",
|
|
3
3
|
"Add Layer As": "",
|
|
4
|
+
"Enter to search": "",
|
|
4
5
|
"button.login": "",
|
|
5
6
|
"catalog.figures.datasets": "{count, plural, =0{Datensätze} one{Datensatz} other{Datensätze}}",
|
|
6
7
|
"catalog.figures.organizations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
"datafeeder.month.september": "September",
|
|
51
52
|
"datafeeder.wizardSummarize.createdAt": "Erstellt am",
|
|
52
53
|
"datafeeder.wizardSummarize.scale": "Maßstab",
|
|
53
|
-
"datahub.header.datasets": "
|
|
54
|
+
"datahub.header.datasets": "Katalog",
|
|
54
55
|
"datahub.header.lastRecords": "Die neuesten",
|
|
55
56
|
"datahub.header.myfavorites": "Meine Favoriten",
|
|
56
57
|
"datahub.header.news": "Startseite",
|
|
@@ -62,15 +63,16 @@
|
|
|
62
63
|
"datahub.news.contact.title": "Ein spezielles Bedürfnis?",
|
|
63
64
|
"datahub.news.feed": "Nachrichtenfeed",
|
|
64
65
|
"datahub.news.figures": "Indikatoren",
|
|
65
|
-
"datahub.record.addToFavorites": "Zu Favoriten hinzufügen",
|
|
66
66
|
"datahub.search.back": "Zurück",
|
|
67
67
|
"datahub.search.filter.all": "Alle",
|
|
68
68
|
"datahub.search.filter.generatedByAPI": "Generiert durch eine API",
|
|
69
69
|
"datahub.search.filter.generatedByWfs": "",
|
|
70
70
|
"datahub.search.filter.others": "Andere",
|
|
71
|
+
"dataset.error.forbidden": "Der Zugriff auf diese Ressource ist eingeschränkt",
|
|
71
72
|
"dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
|
|
72
73
|
"dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
|
|
73
74
|
"dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht gelesen werden: \"{ info }\"",
|
|
75
|
+
"dataset.error.restrictedAccess": "",
|
|
74
76
|
"dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
|
|
75
77
|
"dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
|
|
76
78
|
"domain.contact.role.author": "",
|
|
@@ -231,6 +233,7 @@
|
|
|
231
233
|
"editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
|
|
232
234
|
"editor.record.loadError.closeMessage": "Verstanden",
|
|
233
235
|
"editor.record.loadError.title": "Fehler beim Laden des Datensatzes",
|
|
236
|
+
"editor.record.lock.format": "",
|
|
234
237
|
"editor.record.lock.reason": "",
|
|
235
238
|
"editor.record.onlineResource.protocol.other": "",
|
|
236
239
|
"editor.record.onlineResourceError.body": "",
|
|
@@ -290,7 +293,6 @@
|
|
|
290
293
|
"input.image.dropFileLabel": "",
|
|
291
294
|
"input.image.selectFileLabel": "",
|
|
292
295
|
"input.image.uploadErrorLabel": "",
|
|
293
|
-
"input.image.uploadErrorRetry": "",
|
|
294
296
|
"input.image.uploadProgressCancel": "",
|
|
295
297
|
"input.image.uploadProgressLabel": "",
|
|
296
298
|
"language.ca": "Katalanisch",
|
|
@@ -330,6 +332,7 @@
|
|
|
330
332
|
"map.wms.urlInput.hint": "Geben Sie die WMS URL ein",
|
|
331
333
|
"multiselect.filter.placeholder": "Suche",
|
|
332
334
|
"nav.back": "Zurück",
|
|
335
|
+
"navbar.mobile.menuTitle": "Schnellzugriff",
|
|
333
336
|
"next": "weiter",
|
|
334
337
|
"ogc.unreachable.unknown": "Der Dienst konnte nicht erreicht werden",
|
|
335
338
|
"organisation.filter.placeholder": "Ergebnisse filtern",
|
|
@@ -353,8 +356,13 @@
|
|
|
353
356
|
"record.action.duplicating": "",
|
|
354
357
|
"record.action.rollback": "",
|
|
355
358
|
"record.action.view": "Anzeigen",
|
|
359
|
+
"record.card.metadata.contact": "",
|
|
356
360
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
357
361
|
"record.feature.limit": "Die Vorschau wurde aufgrund zu vieler Elemente deaktiviert",
|
|
362
|
+
"record.kind.data": "",
|
|
363
|
+
"record.kind.dataset": "",
|
|
364
|
+
"record.kind.reuse": "",
|
|
365
|
+
"record.kind.service": "",
|
|
358
366
|
"record.metadata.about": "Beschreibung",
|
|
359
367
|
"record.metadata.api": "API",
|
|
360
368
|
"record.metadata.api.form.closeButton": "Schließen",
|
|
@@ -388,6 +396,7 @@
|
|
|
388
396
|
"record.metadata.api.form.zoneTitle": "",
|
|
389
397
|
"record.metadata.api.form.zoneTooltip": "",
|
|
390
398
|
"record.metadata.api.gpfdl": "",
|
|
399
|
+
"record.metadata.capabilities": "",
|
|
391
400
|
"record.metadata.catalog": "Katalog",
|
|
392
401
|
"record.metadata.contact": "Kontakt",
|
|
393
402
|
"record.metadata.creation": "Erstellungsdatum",
|
|
@@ -424,11 +433,12 @@
|
|
|
424
433
|
"record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
|
|
425
434
|
"record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
|
|
426
435
|
"record.metadata.related": "Ähnliche Datensätze",
|
|
436
|
+
"record.metadata.related.contents": "",
|
|
437
|
+
"record.metadata.ressources.and.links": "Ressourcen und Links",
|
|
427
438
|
"record.metadata.sheet": "Weitere Informationen verfügbar unter:",
|
|
428
439
|
"record.metadata.status": "Status",
|
|
429
440
|
"record.metadata.status.notPublished": "",
|
|
430
441
|
"record.metadata.status.published": "",
|
|
431
|
-
"record.metadata.technical": "Technische Informationen",
|
|
432
442
|
"record.metadata.temporalExtent": "Zeitlicher Umfang",
|
|
433
443
|
"record.metadata.temporalExtent.fromDateToDate": "Von {start} bis {end}",
|
|
434
444
|
"record.metadata.temporalExtent.sinceDate": "Seit {start}",
|
|
@@ -457,6 +467,10 @@
|
|
|
457
467
|
"results.layout.selectOne": "Layout auswählen",
|
|
458
468
|
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{angezeigt von {hits} insgesamt.}}",
|
|
459
469
|
"results.records.hits.empty.help.html": "Vorschläge: <ul class='list-disc list-inside'><li>Versuchen Sie es mit anderen Worten</li><li>Beschränken Sie die Suchwörter</li></ul>",
|
|
470
|
+
"search.filters.recordKind.all": "Alle",
|
|
471
|
+
"search.filters.recordKind.dataset": "Datensätze",
|
|
472
|
+
"search.filters.recordKind.reuse": "Wiederverwendungen",
|
|
473
|
+
"search.filters.recordKind.service": "Dienste",
|
|
460
474
|
"results.records.hits.found": "{hits, plural, =0{Keine Dokumente entsprechen der angegebenen Suche.} one{1 Datensatz gefunden.} other{{hits} Datensätze gefunden.}}",
|
|
461
475
|
"results.records.hits.selected": "{ amount } ausgewählt",
|
|
462
476
|
"results.showMore": "Mehr Ergebnisse anzeigen...",
|
|
@@ -465,6 +479,7 @@
|
|
|
465
479
|
"results.sortBy.popularity": "Beliebtheit",
|
|
466
480
|
"results.sortBy.qualityScore": "Qualitätsbewertung",
|
|
467
481
|
"results.sortBy.relevancy": "Relevanz",
|
|
482
|
+
"reuse.metadata.access": "",
|
|
468
483
|
"search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
|
|
469
484
|
"search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
|
|
470
485
|
"search.error.organizationHasNoDataset": "",
|
|
@@ -514,6 +529,26 @@
|
|
|
514
529
|
"search.filters.useSpatialFilter": "Zuerst Datensätze im Interessenbereich anzeigen",
|
|
515
530
|
"search.filters.useSpatialFilterHelp": "Wenn diese Option aktiviert ist, werden Datensätze im Bereich des Katalogs zuerst angezeigt. Datensätze außerhalb dieses Bereichs werden nicht angezeigt.",
|
|
516
531
|
"search.filters.user": "Editor",
|
|
532
|
+
"service.metadata.capabilities": "",
|
|
533
|
+
"service.metadata.capabilities.abstract": "",
|
|
534
|
+
"service.metadata.capabilities.attribution": "",
|
|
535
|
+
"service.metadata.capabilities.availableCrs": "",
|
|
536
|
+
"service.metadata.capabilities.defaultCrs": "",
|
|
537
|
+
"service.metadata.capabilities.geometryName": "",
|
|
538
|
+
"service.metadata.capabilities.geometryType": "",
|
|
539
|
+
"service.metadata.capabilities.keywords": "",
|
|
540
|
+
"service.metadata.capabilities.name": "",
|
|
541
|
+
"service.metadata.capabilities.objectCount": "",
|
|
542
|
+
"service.metadata.capabilities.otherCrs": "",
|
|
543
|
+
"service.metadata.capabilities.outputFormats": "",
|
|
544
|
+
"service.metadata.capabilities.resourceLinks": "",
|
|
545
|
+
"service.metadata.capabilities.title": "",
|
|
546
|
+
"service.metadata.filter": "",
|
|
547
|
+
"service.metadata.filter.noLayers": "",
|
|
548
|
+
"service.metadata.other": "",
|
|
549
|
+
"service.metadata.question": "",
|
|
550
|
+
"service.metadata.search": "",
|
|
551
|
+
"service.metadata.spatialExtent": "",
|
|
517
552
|
"share.tab.permalink": "Teilen",
|
|
518
553
|
"share.tab.webComponent": "Integrieren",
|
|
519
554
|
"table.loading.data": "Daten werden geladen...",
|