geonetwork-ui 2.8.0-dev.93d2d87c0 → 2.8.0-dev.b7a1670bc
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/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +5 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +6 -1
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +31 -4
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +7 -7
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -2
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -3
- package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +2 -2
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +2 -2
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +7 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +10 -10
- package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +3 -2
- package/esm2022/libs/common/domain/src/index.mjs +3 -0
- package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +3 -1
- package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +6 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +3 -1
- 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 +26 -8
- package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +23 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
- package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +2 -2
- package/esm2022/libs/feature/record/src/index.mjs +2 -1
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -4
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +23 -8
- package/esm2022/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.mjs +4 -4
- package/esm2022/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +4 -3
- package/esm2022/libs/feature/record/src/lib/stac-view/stac-view.component.mjs +230 -0
- package/esm2022/libs/feature/record/src/lib/stac-view/utils.mjs +26 -0
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +2 -2
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +14 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -1
- package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +9 -7
- package/esm2022/libs/feature/search/src/lib/constants.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +8 -12
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +36 -22
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +2 -1
- package/esm2022/libs/ui/elements/src/index.mjs +3 -1
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/lib/external-link-card/external-link-card.component.mjs +11 -4
- package/esm2022/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.mjs +37 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +5 -9
- package/esm2022/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.mjs +18 -0
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +5 -5
- package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +21 -7
- package/esm2022/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.mjs +35 -0
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +2 -3
- package/esm2022/libs/ui/layout/src/lib/paginable.interface.mjs +1 -1
- package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +13 -5
- package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +86 -32
- package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +1 -1
- package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +3 -3
- package/esm2022/libs/util/i18n/src/lib/date-locales.mjs +33 -0
- package/esm2022/libs/util/shared/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/humanize-date.directive.mjs +33 -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 +12 -1
- package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +19 -2
- package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +9 -11
- package/esm2022/libs/util/shared/src/lib/utils/sort-by.mjs +9 -6
- package/esm2022/translations/de.json +20 -3
- package/esm2022/translations/en.json +20 -4
- package/esm2022/translations/es.json +19 -2
- package/esm2022/translations/fr.json +20 -3
- package/esm2022/translations/it.json +21 -4
- package/esm2022/translations/nl.json +19 -2
- package/esm2022/translations/pt.json +19 -2
- package/esm2022/translations/sk.json +20 -3
- package/fesm2022/geonetwork-ui-date-locales-DhlIiWpT.mjs +35 -0
- package/fesm2022/geonetwork-ui-date-locales-DhlIiWpT.mjs.map +1 -0
- package/fesm2022/geonetwork-ui.mjs +946 -287
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.ts +1 -0
- 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 +3 -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/iso19139/iso19139.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +5 -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/auth/auth.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +7 -7
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
- package/libs/common/domain/src/index.d.ts +3 -0
- package/libs/common/domain/src/index.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -2
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/sort-by.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +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 +2 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +2 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/record/src/index.d.ts +1 -0
- package/libs/feature/record/src/index.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +5 -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 +3 -2
- 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 +3 -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/gpf-api-dl/gpf-api-dl.component.d.ts +12 -5
- package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts +3 -1
- package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +5 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/stac-view/stac-view.component.d.ts +53 -0
- package/libs/feature/record/src/lib/stac-view/stac-view.component.d.ts.map +1 -0
- package/libs/feature/record/src/lib/stac-view/utils.d.ts +7 -0
- package/libs/feature/record/src/lib/stac-view/utils.d.ts.map +1 -0
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -24
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts +2 -0
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts +3 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts +4 -3
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
- 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 +2 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +0 -2
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/index.d.ts +1 -0
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts +5 -0
- package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.d.ts +12 -0
- package/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/paginable.interface.d.ts +3 -3
- package/libs/ui/layout/src/lib/paginable.interface.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +2 -1
- package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +24 -14
- package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/date-locales.d.ts +5 -0
- package/libs/util/i18n/src/lib/date-locales.d.ts.map +1 -0
- 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/humanize-date.directive.d.ts +15 -0
- package/libs/util/shared/src/lib/humanize-date.directive.d.ts.map +1 -0
- 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 +6 -0
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/date.service.d.ts +4 -0
- package/libs/util/shared/src/lib/services/date.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/proxy.service.d.ts +5 -4
- package/libs/util/shared/src/lib/services/proxy.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/sort-by.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +2 -0
- package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +11 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +5 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +1 -1
- 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.reuse.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +39 -3
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +13 -6
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +6 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -2
- package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +4 -1
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +1 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -4
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +37 -36
- package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -2
- package/src/libs/common/domain/src/index.ts +2 -0
- package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +12 -1
- package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +5 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -1
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +5 -0
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +19 -0
- package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +1 -0
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +30 -5
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +3 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +30 -0
- package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
- package/src/libs/feature/record/src/index.ts +1 -0
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +5 -1
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +7 -1
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +23 -4
- package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.ts +10 -8
- package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.ts +1 -1
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +1 -2
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +6 -2
- package/src/libs/feature/record/src/lib/stac-view/stac-view.component.css +8 -0
- package/src/libs/feature/record/src/lib/stac-view/stac-view.component.html +87 -0
- package/src/libs/feature/record/src/lib/stac-view/stac-view.component.ts +339 -0
- package/src/libs/feature/record/src/lib/stac-view/utils.ts +57 -0
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +1 -1
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +30 -1
- package/src/libs/feature/router/src/lib/default/router.service.ts +8 -0
- package/src/libs/feature/router/src/lib/default/state/router.effects.ts +6 -7
- package/src/libs/feature/search/src/lib/constants.ts +1 -1
- package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +8 -12
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +1 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +37 -33
- package/src/libs/ui/elements/src/index.ts +2 -0
- package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.html +43 -22
- package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.ts +12 -3
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.css +0 -0
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.html +31 -0
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.ts +30 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +69 -23
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +2 -9
- package/src/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.css +0 -0
- package/src/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.html +13 -0
- package/src/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +1 -1
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +2 -2
- package/src/libs/ui/inputs/src/index.ts +1 -0
- package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.html +3 -3
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +17 -1
- package/src/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.css +0 -0
- package/src/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.html +15 -0
- package/src/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.ts +41 -0
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +4 -2
- package/src/libs/ui/layout/src/lib/paginable.interface.ts +3 -3
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +12 -6
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +4 -1
- package/src/libs/ui/map/src/lib/components/map-container/map-container.component.html +16 -14
- package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +144 -65
- package/src/libs/util/i18n/src/lib/date-locales.ts +63 -0
- package/src/libs/util/shared/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/humanize-date.directive.ts +35 -0
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -0
- package/src/libs/util/shared/src/lib/links/link-utils.ts +11 -0
- package/src/libs/util/shared/src/lib/services/date.service.ts +27 -1
- package/src/libs/util/shared/src/lib/services/proxy.service.ts +6 -2
- package/src/libs/util/shared/src/lib/utils/sort-by.ts +8 -5
- package/translations/de.json +20 -3
- package/translations/en.json +20 -4
- package/translations/es.json +19 -2
- package/translations/fr.json +20 -3
- package/translations/it.json +21 -4
- package/translations/nl.json +19 -2
- package/translations/pt.json +19 -2
- package/translations/sk.json +20 -3
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +0 -59
- package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts +0 -11
- package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts.map +0 -1
- package/src/libs/common/domain/src/lib/index.ts +0 -2
- package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +0 -54
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/util/shared/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/util/shared/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,+BAA+B,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Renderer2, ElementRef, OnInit } from '@angular/core';
|
|
2
|
+
import { DateService } from './services/date.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class GnUiHumanizeDateDirective implements OnInit {
|
|
5
|
+
private dateService;
|
|
6
|
+
private el;
|
|
7
|
+
private renderer;
|
|
8
|
+
gnUiHumanizeDate: Date | string;
|
|
9
|
+
constructor(dateService: DateService, el: ElementRef, renderer: Renderer2);
|
|
10
|
+
ngOnInit(): Promise<void>;
|
|
11
|
+
private updateElement;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GnUiHumanizeDateDirective, never>;
|
|
13
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<GnUiHumanizeDateDirective, "[gnUiHumanizeDate]", never, { "gnUiHumanizeDate": { "alias": "gnUiHumanizeDate"; "required": false; }; }, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=humanize-date.directive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"humanize-date.directive.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/shared/src/lib/humanize-date.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,UAAU,EAAS,MAAM,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;;AAErD,qBAIa,yBAA0B,YAAW,MAAM;IAIpD,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ;IALT,gBAAgB,EAAE,IAAI,GAAG,MAAM,CAAA;gBAG9B,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,SAAS;IAGvB,QAAQ;YAIA,aAAa;yCAbhB,yBAAyB;2CAAzB,yBAAyB;CA2BrC"}
|
|
@@ -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,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;
|
|
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;IA8Cd,QAAQ,CACN,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,EACnD,KAAK,EAAE,SAAS;yCAnDP,qBAAqB;6CAArB,qBAAqB;CAuDjC"}
|
|
@@ -114,6 +114,12 @@ export declare const FORMATS: {
|
|
|
114
114
|
readonly color: "#5A9E6F";
|
|
115
115
|
readonly mimeTypes: readonly ["image/webp"];
|
|
116
116
|
};
|
|
117
|
+
readonly postgis: {
|
|
118
|
+
readonly extensions: readonly ["postgis"];
|
|
119
|
+
readonly priority: 18;
|
|
120
|
+
readonly color: "#336791";
|
|
121
|
+
readonly mimeTypes: readonly [];
|
|
122
|
+
};
|
|
117
123
|
};
|
|
118
124
|
export type FileFormat = keyof typeof FORMATS;
|
|
119
125
|
export declare function getFormatPriority(linkFormat: FileFormat): number;
|
|
@@ -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,qBAAqB,EACrB,eAAe,EAChB,MAAM,2DAA2D,CAAA;AAUlE,eAAO,MAAM,OAAO
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+IV,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,CAmBZ;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,EACnD,KAAK,EAAE,MAAM,GACZ,OAAO,CAST;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,SAAS,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAO7D;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"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { TranslateService } from '@ngx-translate/core';
|
|
2
|
+
import { type Locale } from 'date-fns/locale';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class DateService {
|
|
4
5
|
private translateService;
|
|
6
|
+
dateLocales: Promise<Record<import("geonetwork-ui").LanguageCode2, Locale>>;
|
|
5
7
|
constructor(translateService: TranslateService);
|
|
6
8
|
private getDateObject;
|
|
7
9
|
private getLocaleAndDate;
|
|
10
|
+
private getDateLocale;
|
|
8
11
|
formatDate(date: Date | string, options?: Intl.DateTimeFormatOptions): string;
|
|
9
12
|
formatDateTime(date: Date | string, options?: Intl.DateTimeFormatOptions): string;
|
|
13
|
+
formatRelativeDateTime(date: Date | string): Promise<string>;
|
|
10
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<DateService, never>;
|
|
11
15
|
static ɵprov: i0.ɵɵInjectableDeclaration<DateService>;
|
|
12
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/services/date.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;
|
|
1
|
+
{"version":3,"file":"date.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/services/date.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAA;;AAK7C,qBAGa,WAAW;IAKV,OAAO,CAAC,gBAAgB;IAJpC,WAAW,iEAEV;gBAEmB,gBAAgB,EAAE,gBAAgB;IAEtD,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;YASV,aAAa;IAM3B,UAAU,CACR,IAAI,EAAE,IAAI,GAAG,MAAM,EACnB,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GACnC,MAAM;IAKT,cAAc,CACZ,IAAI,EAAE,IAAI,GAAG,MAAM,EACnB,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GACnC,MAAM;IAKH,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;yCAjDvD,WAAW;6CAAX,WAAW;CA4DvB"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
1
|
+
import { InjectionToken, Injector } from '@angular/core';
|
|
2
2
|
import { Location } from '@angular/common';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare const PROXY_PATH: InjectionToken<string>;
|
|
5
5
|
export declare class ProxyService {
|
|
6
|
-
private
|
|
6
|
+
private injector;
|
|
7
7
|
private location;
|
|
8
|
-
|
|
8
|
+
private get proxyPath();
|
|
9
|
+
constructor(injector: Injector, location: Location);
|
|
9
10
|
/**
|
|
10
11
|
* Transforms the URL to go through a proxy specified with the PROXY_PATH
|
|
11
12
|
* injection token.
|
|
12
13
|
* @param url
|
|
13
14
|
*/
|
|
14
15
|
getProxiedUrl(url: string): string;
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ProxyService,
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ProxyService, never>;
|
|
16
17
|
static ɵprov: i0.ɵɵInjectableDeclaration<ProxyService>;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=proxy.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/services/proxy.service.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"proxy.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/services/proxy.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;;AAE1C,eAAO,MAAM,UAAU,wBAA0C,CAAA;AAEjE,qBAGa,YAAY;IAMrB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IANlB,OAAO,KAAK,SAAS,GAEpB;gBAGS,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ;IAG5B;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;yCAfvB,YAAY;6CAAZ,YAAY;CAiCxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-by.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/utils/sort-by.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAA;AAEvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAG7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAE1D;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"sort-by.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/utils/sort-by.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAA;AAEvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAG7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAE1D;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAQlE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "geonetwork-ui",
|
|
3
|
-
"version": "2.8.0-dev.
|
|
3
|
+
"version": "2.8.0-dev.b7a1670bc",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=20"
|
|
6
6
|
},
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@biesbjerg/ngx-translate-extract-marker": "~1.0.0",
|
|
52
52
|
"@camptocamp/ogc-client": "1.3.1-dev.edb3244",
|
|
53
|
-
"@geospatial-sdk/core": "0.0.5-dev.
|
|
54
|
-
"@geospatial-sdk/geocoding": "0.0.5-dev.
|
|
55
|
-
"@geospatial-sdk/legend": "0.0.5-dev.
|
|
56
|
-
"@geospatial-sdk/openlayers": "0.0.5-dev.
|
|
53
|
+
"@geospatial-sdk/core": "0.0.5-dev.40",
|
|
54
|
+
"@geospatial-sdk/geocoding": "0.0.5-dev.40",
|
|
55
|
+
"@geospatial-sdk/legend": "0.0.5-dev.40",
|
|
56
|
+
"@geospatial-sdk/openlayers": "0.0.5-dev.40",
|
|
57
57
|
"@ltd/j-toml": "~1.35.2",
|
|
58
58
|
"@messageformat/core": "^3.0.1",
|
|
59
59
|
"@ng-icons/core": "29.10.0",
|
|
@@ -9,6 +9,8 @@ export function matchProtocol(protocol: string): ServiceProtocol {
|
|
|
9
9
|
if (/ogc\W*api\W*features/i.test(protocol)) return 'ogcFeatures'
|
|
10
10
|
if (/esri/i.test(protocol)) return 'esriRest'
|
|
11
11
|
if (/DOWNLOAD-1/i.test(protocol)) return 'GPFDL'
|
|
12
|
+
if (/DB:POSTGIS/i.test(protocol)) return 'postgis'
|
|
13
|
+
if (/stac\W*items/i.test(protocol)) return 'stac'
|
|
12
14
|
return 'other'
|
|
13
15
|
}
|
|
14
16
|
|
|
@@ -14,11 +14,14 @@ export const PossibleResourceTypes = {
|
|
|
14
14
|
'map-interactive': 'reuse', // new index field since Oct 10, 2024
|
|
15
15
|
'map-static': 'reuse', // new index field
|
|
16
16
|
mapDigital: 'reuse',
|
|
17
|
+
mapHardcopy: 'reuse',
|
|
17
18
|
series: 'dataset',
|
|
18
19
|
service: 'service',
|
|
19
20
|
staticMap: 'reuse',
|
|
20
21
|
} as const
|
|
21
22
|
|
|
23
|
+
export const ReusePresentationForms = ['mapDigital', 'mapHardcopy'] as string[]
|
|
24
|
+
|
|
22
25
|
type KindType = keyof typeof PossibleResourceTypes
|
|
23
26
|
type ResourceType = 'reuse' | 'dataset' | 'service'
|
|
24
27
|
type PossibleResourceTypesGrouped = {
|
|
@@ -59,6 +62,14 @@ export function getReuseType(type: string): ReuseType {
|
|
|
59
62
|
: undefined
|
|
60
63
|
}
|
|
61
64
|
|
|
65
|
+
export function getReusePresentationForm(
|
|
66
|
+
presentationForms?: string[]
|
|
67
|
+
): string | undefined {
|
|
68
|
+
return presentationForms?.find((presentationForm) =>
|
|
69
|
+
ReusePresentationForms.includes(presentationForm)
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
|
|
62
73
|
export function kindToCodeListValue(record: CatalogRecord) {
|
|
63
74
|
return record.kind === 'reuse' ? record.reuseType : record.kind
|
|
64
75
|
}
|
|
@@ -56,7 +56,7 @@ export class DcatApConverter extends BaseConverter<string> {
|
|
|
56
56
|
spatialExtents: readSpatialExtents,
|
|
57
57
|
keywords: readKeywords,
|
|
58
58
|
topics: readTopics,
|
|
59
|
-
|
|
59
|
+
resourceIdentifiers: () => undefined,
|
|
60
60
|
recordUpdated: readRecordUpdated,
|
|
61
61
|
recordCreated: readRecordCreated,
|
|
62
62
|
resourceUpdated: readResourceUpdated,
|
|
@@ -96,7 +96,7 @@ export class DcatApConverter extends BaseConverter<string> {
|
|
|
96
96
|
recordUpdated: () => undefined,
|
|
97
97
|
recordCreated: () => undefined,
|
|
98
98
|
recordPublished: () => undefined,
|
|
99
|
-
|
|
99
|
+
resourceIdentifiers: () => undefined,
|
|
100
100
|
resourceUpdated: () => undefined,
|
|
101
101
|
resourceCreated: () => undefined,
|
|
102
102
|
resourcePublished: () => undefined,
|
|
@@ -70,7 +70,7 @@ export const GENERIC_DATASET_RECORD: DatasetRecord = {
|
|
|
70
70
|
recordCreated: new Date('2021-11-15T09:00:00'),
|
|
71
71
|
recordPublished: new Date('2022-01-01T10:00:00'),
|
|
72
72
|
recordUpdated: new Date('2022-02-01T15:12:00'),
|
|
73
|
-
|
|
73
|
+
resourceIdentifiers: [{ code: '2d974612-70b1-4662-a9f4-c43cbe453773' }],
|
|
74
74
|
resourceCreated: new Date('2022-09-01T14:18:19'),
|
|
75
75
|
resourceUpdated: new Date('2022-12-04T15:12:00'),
|
|
76
76
|
title: 'A very interesting dataset (un jeu de données très intéressant)',
|
package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ServiceRecord } from '../../../../../../libs/common/domain/src/lib/mode
|
|
|
2
2
|
|
|
3
3
|
export const GEO2FRANCE_SERVICE_EAUXUSEES_RECORD: ServiceRecord = {
|
|
4
4
|
uniqueIdentifier: 'be052079-f1f6-4f6f-a722-cbf11deb40eb',
|
|
5
|
-
|
|
5
|
+
resourceIdentifiers: [{ code: 'https://id.eaufrance.fr/meta/ODP_WFS' }],
|
|
6
6
|
kind: 'service',
|
|
7
7
|
otherLanguages: [],
|
|
8
8
|
defaultLanguage: 'fr',
|
|
@@ -146,6 +146,9 @@ Ce lot de données produit en 2019, a été numérisé à partir du PCI Vecteur
|
|
|
146
146
|
defaultLanguage: 'fr',
|
|
147
147
|
otherLanguages: [],
|
|
148
148
|
translations: {},
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
resourceIdentifiers: [
|
|
150
|
+
{
|
|
151
|
+
code: 'https://www.geoportail-urbanisme.gouv.fr/document/60036_PLU_20220329',
|
|
152
|
+
},
|
|
153
|
+
],
|
|
151
154
|
}
|
|
@@ -68,7 +68,7 @@ export const GEOCAT_CH_DATASET_RECORD: DatasetRecord = {
|
|
|
68
68
|
abstract: `Perimeter der Alpenkonvention in der Schweiz. Die Alpenkonvention ist ein völkerrechtlicher Vertrag zwischen den acht Alpenländern Deutschland, Frankreich, Italien, Liechtenstein, Monaco, Österreich, Schweiz, Slowenien sowie der Europäischen Union. Das Ziel des Übereinkommens ist der Schutz der Alpen durch eine sektorübergreifende, ganzheitliche und nachhaltige Politik.`,
|
|
69
69
|
overviews: [],
|
|
70
70
|
topics: ['planningCadastre', 'planningCadastre_Planning'],
|
|
71
|
-
|
|
71
|
+
resourceIdentifiers: [{ code: 'ch.are.alpenkonvention' }],
|
|
72
72
|
keywords: [
|
|
73
73
|
{
|
|
74
74
|
thesaurus: {
|
|
@@ -2,7 +2,7 @@ import { ReuseRecord } from '../../../../../../libs/common/domain/src/lib/model/
|
|
|
2
2
|
|
|
3
3
|
export const GEORHENA_REUSE_SOLAIRE_RECORD: ReuseRecord = {
|
|
4
4
|
uniqueIdentifier: '015e6d20-0d69-4ae7-adfe-85c588aac141',
|
|
5
|
-
|
|
5
|
+
resourceIdentifiers: [{ code: '04_2022_301' }],
|
|
6
6
|
kind: 'reuse',
|
|
7
7
|
otherLanguages: ['de', 'en'],
|
|
8
8
|
defaultLanguage: 'fr',
|
|
@@ -71,7 +71,7 @@ Toutes ces données sont reprises dans BDR.`,
|
|
|
71
71
|
recordCreated: new Date('2019-04-02T12:34:35'),
|
|
72
72
|
recordUpdated: new Date('2022-06-16T05:01:21'),
|
|
73
73
|
resourceCreated: new Date('2002-01-01'),
|
|
74
|
-
|
|
74
|
+
resourceIdentifiers: [{ code: '2d974612-70b1-4662-a9f4-c43cbe453773' }],
|
|
75
75
|
resourceUpdated: new Date('2022-06-16'),
|
|
76
76
|
resourcePublished: new Date('2022-06-16'),
|
|
77
77
|
onlineResources: [
|
|
@@ -645,7 +645,7 @@ export const METAWAL_SERVICE_RECORD: ServiceRecord = {
|
|
|
645
645
|
},
|
|
646
646
|
recordCreated: new Date('2019-04-02T12:31:58'),
|
|
647
647
|
recordUpdated: new Date('2022-02-09T11:31:06.766Z'),
|
|
648
|
-
|
|
648
|
+
resourceIdentifiers: [{ code: '6d2b6fdb-f1ea-4d48-8697-a0c05512f1dc' }],
|
|
649
649
|
resourcePublished: new Date('2016-12-01'),
|
|
650
650
|
securityConstraints: [],
|
|
651
651
|
title:
|
|
@@ -2,7 +2,7 @@ import { ReuseRecord } from '../../../../../../libs/common/domain/src/lib/model/
|
|
|
2
2
|
|
|
3
3
|
export const WALLONIE_REUSE_SPW_RECORD: ReuseRecord = {
|
|
4
4
|
uniqueIdentifier: '83809bcd-1763-4d28-b820-2b9828083ba5',
|
|
5
|
-
|
|
5
|
+
resourceIdentifiers: [{ code: '83809bcd-1763-4d28-b820-2b9828083ba5' }],
|
|
6
6
|
kind: 'reuse',
|
|
7
7
|
otherLanguages: [],
|
|
8
8
|
defaultLanguage: 'fr',
|
package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ServiceRecord } from '../../../../../../libs/common/domain/src/lib/mode
|
|
|
2
2
|
|
|
3
3
|
export const WALLONIE_SERVICE_NAPITSWALLONIA_RECORD: ServiceRecord = {
|
|
4
4
|
uniqueIdentifier: 'fe1c1a3d-c75b-435c-a1d1-48426818f54d',
|
|
5
|
-
|
|
5
|
+
resourceIdentifiers: [{ code: 'fe1c1a3d-c75b-435c-a1d1-48426818f54d' }],
|
|
6
6
|
kind: 'service',
|
|
7
7
|
otherLanguages: [],
|
|
8
8
|
defaultLanguage: 'fr',
|
|
@@ -26,7 +26,11 @@ import {
|
|
|
26
26
|
} from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
27
27
|
import { matchProtocol } from '../common/distribution.mapper'
|
|
28
28
|
import { Thesaurus } from './types'
|
|
29
|
-
import {
|
|
29
|
+
import {
|
|
30
|
+
getResourceType,
|
|
31
|
+
getReusePresentationForm,
|
|
32
|
+
getReuseType,
|
|
33
|
+
} from '../common/resource-types'
|
|
30
34
|
import { TranslateService } from '@ngx-translate/core'
|
|
31
35
|
import { toLang2, toLang3 } from '../../../../../../libs/util/i18n/src'
|
|
32
36
|
|
|
@@ -402,8 +406,12 @@ export class Gn4FieldMapper {
|
|
|
402
406
|
),
|
|
403
407
|
resourceType: (output, source) => {
|
|
404
408
|
const resourceType = getFirstValue(selectField(source, 'resourceType'))
|
|
405
|
-
const
|
|
406
|
-
|
|
409
|
+
const presentationForms = getAsArray(
|
|
410
|
+
selectField(source, 'cl_presentationForm')
|
|
411
|
+
).map((presentationForm) => presentationForm.key) as string[]
|
|
412
|
+
const type = getReusePresentationForm(presentationForms) || resourceType
|
|
413
|
+
const kind = getResourceType(type)
|
|
414
|
+
const reuseType = getReuseType(type)
|
|
407
415
|
return {
|
|
408
416
|
...output,
|
|
409
417
|
kind,
|
|
@@ -451,6 +459,32 @@ export class Gn4FieldMapper {
|
|
|
451
459
|
}),
|
|
452
460
|
}
|
|
453
461
|
},
|
|
462
|
+
resourceIdentifier: (output, source) => {
|
|
463
|
+
const identifiers = getAsArray(selectField(source, 'resourceIdentifier'))
|
|
464
|
+
|
|
465
|
+
if (!identifiers.length) return output
|
|
466
|
+
|
|
467
|
+
const mappedIdentifiers = identifiers
|
|
468
|
+
.map((id) => {
|
|
469
|
+
const code = selectField<string>(id, 'code')
|
|
470
|
+
const codeSpace = selectField<string>(id, 'codeSpace')
|
|
471
|
+
const link = selectField<string>(id, 'link')
|
|
472
|
+
|
|
473
|
+
return {
|
|
474
|
+
code,
|
|
475
|
+
...(codeSpace && { codeSpace }),
|
|
476
|
+
...(link && { url: link }),
|
|
477
|
+
}
|
|
478
|
+
})
|
|
479
|
+
.filter((id) => id !== null)
|
|
480
|
+
|
|
481
|
+
if (!mappedIdentifiers.length) return output
|
|
482
|
+
|
|
483
|
+
return {
|
|
484
|
+
...output,
|
|
485
|
+
resourceIdentifiers: mappedIdentifiers,
|
|
486
|
+
}
|
|
487
|
+
},
|
|
454
488
|
}
|
|
455
489
|
|
|
456
490
|
private genericField = (output) => output
|
|
@@ -512,6 +546,8 @@ export class Gn4FieldMapper {
|
|
|
512
546
|
/^OGC:WMTS/.test(protocol) ||
|
|
513
547
|
/TMS/i.test(protocol) ||
|
|
514
548
|
/ogc\W*api\W*features/i.test(protocol) ||
|
|
549
|
+
/^DB:POSTGIS/i.test(protocol) ||
|
|
550
|
+
/stac\W*items/i.test(protocol) ||
|
|
515
551
|
(/^WWW:DOWNLOAD-/.test(protocol) && /data.geopf.fr/.test(url)) // TO DO : change with the good protocol when decided
|
|
516
552
|
) {
|
|
517
553
|
return 'service'
|
|
@@ -92,7 +92,7 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
92
92
|
recordUpdated: readRecordUpdated,
|
|
93
93
|
recordCreated: () => undefined, // not supported in ISO19139
|
|
94
94
|
recordPublished: () => undefined, // not supported in ISO19139
|
|
95
|
-
|
|
95
|
+
resourceIdentifiers: readResourceIdentifier,
|
|
96
96
|
resourceUpdated: readResourceUpdated,
|
|
97
97
|
resourceCreated: readResourceCreated,
|
|
98
98
|
resourcePublished: readResourcePublished,
|
|
@@ -133,7 +133,7 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
133
133
|
recordUpdated: writeRecordUpdated,
|
|
134
134
|
recordCreated: () => undefined, // not supported in ISO19139
|
|
135
135
|
recordPublished: () => undefined, // not supported in ISO19139
|
|
136
|
-
|
|
136
|
+
resourceIdentifiers: writeResourceIdentifier,
|
|
137
137
|
resourceUpdated: writeResourceUpdated,
|
|
138
138
|
resourceCreated: writeResourceCreated,
|
|
139
139
|
resourcePublished: writeResourcePublished,
|
|
@@ -240,12 +240,19 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
240
240
|
const onlineResources = this.readers['onlineResources'](rootEl, tr)
|
|
241
241
|
const otherLanguages = this.readers['otherLanguages'](rootEl, tr)
|
|
242
242
|
const defaultLanguage = this.readers['defaultLanguage'](rootEl, tr)
|
|
243
|
-
const
|
|
243
|
+
const resourceIdentifiers = this.readers['resourceIdentifiers'](
|
|
244
|
+
rootEl,
|
|
245
|
+
tr
|
|
246
|
+
) as Array<{
|
|
247
|
+
code: string
|
|
248
|
+
codeSpace?: string
|
|
249
|
+
url?: string
|
|
250
|
+
}>
|
|
244
251
|
const spatialExtents = this.readers['spatialExtents'](rootEl, tr)
|
|
245
252
|
|
|
246
253
|
return {
|
|
247
254
|
uniqueIdentifier,
|
|
248
|
-
...(
|
|
255
|
+
...(resourceIdentifiers?.length > 0 && { resourceIdentifiers }),
|
|
249
256
|
kind,
|
|
250
257
|
otherLanguages,
|
|
251
258
|
defaultLanguage,
|
|
@@ -388,8 +395,8 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
388
395
|
this.writers['otherConstraints'](record, rootEl)
|
|
389
396
|
fieldChanged('onlineResources') &&
|
|
390
397
|
this.writers['onlineResources'](record, rootEl)
|
|
391
|
-
fieldChanged('
|
|
392
|
-
this.writers['
|
|
398
|
+
fieldChanged('resourceIdentifiers') &&
|
|
399
|
+
this.writers['resourceIdentifiers'](record, rootEl)
|
|
393
400
|
|
|
394
401
|
if (record.kind === 'dataset') {
|
|
395
402
|
fieldChanged('status') && this.writers['status'](record, rootEl)
|
|
@@ -1183,8 +1183,10 @@ export function readDefaultLanguage(rootEl: XmlElement): LanguageCode {
|
|
|
1183
1183
|
)(rootEl)
|
|
1184
1184
|
}
|
|
1185
1185
|
|
|
1186
|
-
export function readResourceIdentifier(
|
|
1187
|
-
|
|
1186
|
+
export function readResourceIdentifier(
|
|
1187
|
+
rootEl: XmlElement
|
|
1188
|
+
): Array<{ code: string; codeSpace?: string; url?: string }> {
|
|
1189
|
+
const code = pipe(
|
|
1188
1190
|
findIdentification(),
|
|
1189
1191
|
findNestedElement(
|
|
1190
1192
|
'gmd:citation',
|
|
@@ -1195,4 +1197,6 @@ export function readResourceIdentifier(rootEl: XmlElement): string {
|
|
|
1195
1197
|
),
|
|
1196
1198
|
extractCharacterString()
|
|
1197
1199
|
)(rootEl)
|
|
1200
|
+
|
|
1201
|
+
return code ? [{ code }] : []
|
|
1198
1202
|
}
|
|
@@ -1502,14 +1502,16 @@ export function writeResourceIdentifier(
|
|
|
1502
1502
|
record: DatasetRecord,
|
|
1503
1503
|
rootEl: XmlElement
|
|
1504
1504
|
) {
|
|
1505
|
+
const firstIdentifier = record.resourceIdentifiers?.[0]?.code
|
|
1506
|
+
|
|
1505
1507
|
pipe(
|
|
1506
1508
|
findOrCreateIdentification(),
|
|
1507
1509
|
findNestedChildOrCreate('gmd:citation', 'gmd:CI_Citation'),
|
|
1508
1510
|
removeChildrenByName('gmd:identifier'),
|
|
1509
|
-
|
|
1511
|
+
firstIdentifier
|
|
1510
1512
|
? pipe(
|
|
1511
1513
|
createNestedChild('gmd:identifier', 'gmd:MD_Identifier', 'gmd:code'),
|
|
1512
|
-
writeCharacterString(
|
|
1514
|
+
writeCharacterString(firstIdentifier)
|
|
1513
1515
|
)
|
|
1514
1516
|
: noop
|
|
1515
1517
|
)(rootEl)
|
|
@@ -33,7 +33,10 @@ export class AuthService {
|
|
|
33
33
|
return baseUrl
|
|
34
34
|
.replace(
|
|
35
35
|
'${current_url}',
|
|
36
|
-
new URL(
|
|
36
|
+
new URL(
|
|
37
|
+
this.location.prepareExternalUrl(this.location.path()),
|
|
38
|
+
window.location.href
|
|
39
|
+
).toString()
|
|
37
40
|
)
|
|
38
41
|
.replace('${lang2}', toLang2(this.translateService.currentLang))
|
|
39
42
|
.replace('${lang3}', toLang3(this.translateService.currentLang))
|
|
@@ -7,7 +7,6 @@ export const ES_SOURCE_SUMMARY = [
|
|
|
7
7
|
'resourceAbstractObject',
|
|
8
8
|
'overview',
|
|
9
9
|
'logo',
|
|
10
|
-
'codelist_status_text',
|
|
11
10
|
'link',
|
|
12
11
|
'linkProtocol',
|
|
13
12
|
'contactForResource*.organisation*',
|
|
@@ -16,6 +15,7 @@ export const ES_SOURCE_SUMMARY = [
|
|
|
16
15
|
'userSavedCount',
|
|
17
16
|
'cl_topic',
|
|
18
17
|
'cl_maintenanceAndUpdateFrequency',
|
|
18
|
+
'cl_presentationForm',
|
|
19
19
|
'MD_LegalConstraints*Object',
|
|
20
20
|
'qualityScore',
|
|
21
21
|
'allKeywords',
|
|
@@ -43,18 +43,26 @@ export class Gn4PlatformMapper {
|
|
|
43
43
|
userFromApi(apiUser: UserApiModel): UserModel {
|
|
44
44
|
if (!apiUser) return null
|
|
45
45
|
const {
|
|
46
|
-
|
|
46
|
+
addresses,
|
|
47
47
|
emailAddresses,
|
|
48
|
-
|
|
48
|
+
enabled,
|
|
49
|
+
id,
|
|
49
50
|
kind,
|
|
50
51
|
lastLoginDate,
|
|
52
|
+
security,
|
|
53
|
+
primaryAddress,
|
|
54
|
+
authorities,
|
|
51
55
|
accountNonExpired,
|
|
52
56
|
accountNonLocked,
|
|
53
|
-
id,
|
|
54
57
|
credentialsNonExpired,
|
|
55
58
|
...user
|
|
56
59
|
} = apiUser
|
|
57
|
-
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
...user,
|
|
63
|
+
id: id.toString(),
|
|
64
|
+
email: emailAddresses ? emailAddresses[0] || '' : '',
|
|
65
|
+
} as UserModel
|
|
58
66
|
}
|
|
59
67
|
|
|
60
68
|
keywordsFromApi(
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
+
import { HttpClient, HttpEventType } from '@angular/common/http'
|
|
1
2
|
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core'
|
|
2
3
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
KeywordApiResponse,
|
|
5
|
+
ThesaurusApiResponse,
|
|
6
|
+
} from '../../../../../../../libs/api/metadata-converter/src'
|
|
7
|
+
import {
|
|
8
|
+
CatalogRecord,
|
|
9
|
+
Keyword,
|
|
10
|
+
Organization,
|
|
11
|
+
UserFeedback,
|
|
12
|
+
} from '../../../../../../../libs/common/domain/src/lib/model/record'
|
|
13
|
+
import { KeywordType } from '../../../../../../../libs/common/domain/src/lib/model/thesaurus'
|
|
14
|
+
import { UserModel } from '../../../../../../../libs/common/domain/src/lib/model/user/user.model'
|
|
15
|
+
import {
|
|
16
|
+
PlatformServiceInterface,
|
|
17
|
+
UploadEvent,
|
|
18
|
+
} from '../../../../../../../libs/common/domain/src/lib/platform.service.interface'
|
|
10
19
|
import {
|
|
11
20
|
MeApiService,
|
|
12
21
|
RecordsApiService,
|
|
@@ -15,26 +24,9 @@ import {
|
|
|
15
24
|
UserfeedbackApiService,
|
|
16
25
|
UsersApiService,
|
|
17
26
|
} from '../../../../../../../libs/data-access/gn4/src'
|
|
18
|
-
import {
|
|
19
|
-
PlatformServiceInterface,
|
|
20
|
-
UploadEvent,
|
|
21
|
-
} from '../../../../../../../libs/common/domain/src/lib/platform.service.interface'
|
|
22
|
-
import { UserModel } from '../../../../../../../libs/common/domain/src/lib/model/user/user.model'
|
|
23
|
-
import {
|
|
24
|
-
CatalogRecord,
|
|
25
|
-
Keyword,
|
|
26
|
-
Organization,
|
|
27
|
-
UserFeedback,
|
|
28
|
-
} from '../../../../../../../libs/common/domain/src/lib/model/record'
|
|
29
|
-
import { Gn4PlatformMapper } from './gn4-platform.mapper'
|
|
30
|
-
import { ltr } from 'semver'
|
|
31
|
-
import { HttpClient, HttpEventType } from '@angular/common/http'
|
|
32
|
-
import {
|
|
33
|
-
KeywordApiResponse,
|
|
34
|
-
ThesaurusApiResponse,
|
|
35
|
-
} from '../../../../../../../libs/api/metadata-converter/src'
|
|
36
|
-
import { KeywordType } from '../../../../../../../libs/common/domain/src/lib/model/thesaurus'
|
|
27
|
+
import { toLang3 } from '../../../../../../../libs/util/i18n/src'
|
|
37
28
|
import { noDuplicateFileName } from '../../../../../../../libs/util/shared/src'
|
|
29
|
+
import { TranslateService } from '@ngx-translate/core'
|
|
38
30
|
import {
|
|
39
31
|
combineLatest,
|
|
40
32
|
forkJoin,
|
|
@@ -43,9 +35,17 @@ import {
|
|
|
43
35
|
switchMap,
|
|
44
36
|
throwError,
|
|
45
37
|
} from 'rxjs'
|
|
46
|
-
import {
|
|
47
|
-
|
|
38
|
+
import {
|
|
39
|
+
catchError,
|
|
40
|
+
filter,
|
|
41
|
+
map,
|
|
42
|
+
mergeMap,
|
|
43
|
+
shareReplay,
|
|
44
|
+
tap,
|
|
45
|
+
} from 'rxjs/operators'
|
|
46
|
+
import { ltr } from 'semver'
|
|
48
47
|
import { Gn4SettingsService } from '../settings/gn4-settings.service'
|
|
48
|
+
import { Gn4PlatformMapper } from './gn4-platform.mapper'
|
|
49
49
|
|
|
50
50
|
const minApiVersion = '4.2.2'
|
|
51
51
|
|
|
@@ -56,7 +56,6 @@ export const DISABLE_AUTH = new InjectionToken<boolean>('gnDisableAuth', {
|
|
|
56
56
|
@Injectable()
|
|
57
57
|
export class Gn4PlatformService implements PlatformServiceInterface {
|
|
58
58
|
private readonly type = 'GeoNetwork'
|
|
59
|
-
private readonly me$: Observable<UserModel>
|
|
60
59
|
private readonly users$: Observable<UserModel[]>
|
|
61
60
|
private readonly isUserAnonymous$: Observable<boolean>
|
|
62
61
|
private readonly gnParseVersion = '4.2.5'
|
|
@@ -70,6 +69,15 @@ export class Gn4PlatformService implements PlatformServiceInterface {
|
|
|
70
69
|
}),
|
|
71
70
|
shareReplay(1)
|
|
72
71
|
)
|
|
72
|
+
|
|
73
|
+
private me$ = this.disableAuth
|
|
74
|
+
? of(null)
|
|
75
|
+
: of(true).pipe(
|
|
76
|
+
switchMap(() => this.meApi.getMe()),
|
|
77
|
+
switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)),
|
|
78
|
+
shareReplay({ bufferSize: 1, refCount: true })
|
|
79
|
+
)
|
|
80
|
+
|
|
73
81
|
/**
|
|
74
82
|
* A map of already loaded thesauri (groups of keywords); the key is a URI
|
|
75
83
|
* @private
|
|
@@ -93,13 +101,6 @@ export class Gn4PlatformService implements PlatformServiceInterface {
|
|
|
93
101
|
private settingsService: Gn4SettingsService,
|
|
94
102
|
@Inject(DISABLE_AUTH) @Optional() private disableAuth: boolean
|
|
95
103
|
) {
|
|
96
|
-
this.me$ = this.disableAuth
|
|
97
|
-
? of(null)
|
|
98
|
-
: this.meApi.getMe().pipe(
|
|
99
|
-
switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)),
|
|
100
|
-
shareReplay({ bufferSize: 1, refCount: true })
|
|
101
|
-
)
|
|
102
|
-
|
|
103
104
|
this.isUserAnonymous$ = this.me$.pipe(
|
|
104
105
|
map((user) => !user || !('id' in user))
|
|
105
106
|
)
|