geonetwork-ui 2.2.0-dev.f866474c → 2.3.0-dev.179fba83
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 +5 -5
- package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +14 -0
- package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +15 -0
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +29 -2
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +52 -0
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +102 -61
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/index.mjs +4 -0
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/index.mjs +2 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +123 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +116 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +138 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/index.mjs +2 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +242 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +102 -74
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.mjs +18 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +14 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.mjs +48 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +18 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +64 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +116 -79
- package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +76 -14
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -2
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +4 -4
- package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +10 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +14 -5
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +33 -8
- package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
- package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +35 -7
- package/esm2022/libs/data-access/gn4/src/openapi/model/models.mjs +1 -2
- package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +6 -5
- package/esm2022/libs/feature/editor/src/index.mjs +6 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +8 -0
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +26 -0
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +30 -0
- package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +2 -0
- package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +42 -0
- package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +13 -0
- package/esm2022/libs/feature/editor/src/lib/expressions.mjs +13 -0
- package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +16 -4
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +34 -0
- package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +2 -0
- package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +17 -11
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +24 -46
- package/esm2022/libs/feature/map/src/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +7 -3
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +72 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
- package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +29 -5
- package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
- package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +12 -5
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +61 -24
- package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +63 -69
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -13
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +34 -21
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
- package/esm2022/libs/feature/router/src/lib/default/index.mjs +2 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +1 -1
- package/esm2022/libs/feature/search/src/index.mjs +4 -1
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -4
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
- package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
- package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
- package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +41 -26
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +11 -9
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/index.mjs +4 -1
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
- package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +5 -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 +47 -16
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -4
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +9 -4
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +20 -7
- package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +10 -9
- package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
- 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/editable-label/editable-label.directive.mjs +46 -0
- package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +59 -0
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.component.mjs +4 -2
- package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.model.mjs +1 -1
- package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +183 -0
- package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
- package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +19 -8
- package/esm2022/libs/ui/layout/src/index.mjs +3 -1
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
- package/esm2022/libs/ui/search/src/index.mjs +1 -2
- package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
- package/esm2022/libs/ui/widgets/src/lib/badge/badge.component.mjs +3 -3
- package/esm2022/libs/util/i18n/src/index.mjs +1 -2
- package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +18 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
- package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -0
- package/esm2022/libs/util/shared/src/lib/utils/image-resize.mjs +60 -0
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +8 -5
- package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +32 -0
- package/esm2022/translations/de.json +143 -109
- package/esm2022/translations/en.json +75 -41
- package/esm2022/translations/es.json +53 -19
- package/esm2022/translations/fr.json +69 -35
- package/esm2022/translations/it.json +70 -36
- package/esm2022/translations/nl.json +54 -20
- package/esm2022/translations/pt.json +53 -19
- package/fesm2022/geonetwork-ui.mjs +5799 -3893
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/index.d.ts +4 -4
- package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/{metadata-base.mapper.d.ts → base.converter.d.ts} +3 -3
- package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/find-converter.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/{gn4.metadata.mapper.d.ts → gn4.converter.d.ts} +5 -5
- package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +0 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/index.d.ts +4 -0
- package/libs/api/metadata-converter/src/lib/gn4/index.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +4 -5
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/index.d.ts +2 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/index.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts +9 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +20 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +21 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/index.d.ts +2 -0
- package/libs/api/metadata-converter/src/lib/iso19139/index.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +11 -0
- package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +39 -10
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.d.ts +8 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +43 -6
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +14 -1
- package/libs/api/metadata-converter/src/lib/xml-utils.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 +2 -2
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
- package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +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 +9 -2
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
- package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +36 -20
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
- package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
- package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
- package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/thesaurus/thesaurus.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/api/records.api.service.d.ts +9 -5
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/models.d.ts +0 -1
- package/libs/data-access/gn4/src/openapi/model/models.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
- package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +5 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +23 -0
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +15 -0
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +19 -0
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/+state/editor.models.d.ts +2 -0
- package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +18 -0
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +15 -0
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/expressions.d.ts +4 -0
- package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/feature-editor.module.d.ts +3 -1
- package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts +3 -0
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/models/fields.model.d.ts +15 -0
- package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts +10 -5
- package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts +3 -13
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/map/src/index.d.ts +1 -0
- package/libs/feature/map/src/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +23 -0
- package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
- package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
- package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -12
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
- package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
- package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +2 -0
- package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +10 -5
- package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +1 -1
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +2 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
- package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -12
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/index.d.ts +1 -0
- package/libs/feature/router/src/lib/default/index.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +3 -0
- 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 +5 -4
- 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 +0 -4
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
- package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
- package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
- package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -8
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +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/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +16 -5
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -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/thumbnail/thumbnail.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +10 -8
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- 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/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/editable-label/editable-label.directive.d.ts +13 -0
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/files-drop/files-drop.directive.d.ts +14 -0
- package/libs/ui/inputs/src/lib/files-drop/files-drop.directive.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts +0 -1
- package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +44 -0
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +41 -39
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +2 -0
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
- package/libs/ui/search/src/index.d.ts +0 -1
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
- package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
- package/libs/util/i18n/src/index.d.ts +0 -1
- package/libs/util/i18n/src/index.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/i18n.constants.d.ts +17 -0
- package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -0
- package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/image-resize.d.ts +3 -0
- package/libs/util/shared/src/lib/utils/image-resize.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts +7 -4
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +5 -0
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -0
- package/package.json +5 -2
- package/src/libs/api/metadata-converter/src/index.ts +4 -4
- package/src/libs/api/metadata-converter/src/lib/{metadata-base.mapper.ts → base.converter.ts} +2 -2
- package/src/libs/api/metadata-converter/src/lib/find-converter.ts +16 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +94 -12
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +67 -12
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +260 -29
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +580 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +33 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/{gn4.metadata.mapper.ts → gn4.converter.ts} +9 -5
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +148 -76
- package/src/libs/api/metadata-converter/src/lib/gn4/index.ts +3 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -5
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +176 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +329 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +513 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +327 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +230 -134
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.ts +20 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.ts +16 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +338 -178
- package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +84 -16
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -1
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +2 -2
- package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +22 -2
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +15 -4
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -8
- package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
- package/src/libs/common/domain/src/lib/index.ts +2 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +45 -24
- package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
- package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
- package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
- package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +1 -0
- package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -4
- package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.ts +1 -1
- package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +1 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +52 -10
- package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +43 -12
- package/src/libs/data-access/gn4/src/openapi/model/models.ts +0 -1
- package/src/libs/data-access/gn4/src/spec.yaml +1 -1
- package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +9 -6
- package/src/libs/feature/editor/src/index.ts +5 -0
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +24 -0
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +49 -0
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +30 -0
- package/src/libs/feature/editor/src/lib/+state/editor.models.ts +1 -0
- package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +68 -0
- package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +39 -0
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +8 -0
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +70 -0
- package/src/libs/feature/editor/src/lib/expressions.ts +16 -0
- package/src/libs/feature/editor/src/lib/feature-editor.module.ts +11 -0
- package/src/libs/feature/editor/src/lib/fields.config.ts +35 -0
- package/src/libs/feature/editor/src/lib/models/fields.model.ts +29 -0
- package/src/libs/feature/editor/src/lib/record-form/record-form.component.html +9 -7
- package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +13 -6
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +39 -67
- package/src/libs/feature/map/src/index.ts +1 -0
- package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +5 -1
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
- package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +36 -0
- package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +80 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
- package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +14 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
- package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +14 -2
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +5 -0
- package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +10 -3
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +72 -28
- package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +87 -96
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +12 -12
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +23 -4
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
- package/src/libs/feature/router/src/lib/default/index.ts +1 -0
- package/src/libs/feature/router/src/lib/default/router.service.ts +1 -1
- package/src/libs/feature/search/src/index.ts +3 -0
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +13 -4
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -1
- package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
- package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
- package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
- package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
- package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
- package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
- package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
- package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
- package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +21 -16
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +43 -34
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
- package/src/libs/ui/elements/src/index.ts +3 -0
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +5 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +39 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +58 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +17 -0
- package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.html +5 -1
- package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.ts +1 -0
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +3 -3
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +212 -68
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +51 -10
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +2 -3
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.html +2 -2
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +9 -3
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +8 -1
- package/src/libs/ui/inputs/src/index.ts +1 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.css +0 -5
- package/src/libs/ui/inputs/src/lib/button/button.component.html +0 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +8 -7
- package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +2 -2
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +3 -1
- package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
- package/src/libs/ui/inputs/src/lib/files-drop/files-drop.directive.ts +45 -0
- package/src/libs/ui/inputs/src/lib/form-field/form-field.component.ts +3 -1
- package/src/libs/ui/inputs/src/lib/form-field/form-field.model.ts +0 -1
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +0 -0
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +146 -0
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +193 -0
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +3 -0
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +8 -2
- package/src/libs/ui/layout/src/index.ts +2 -0
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
- package/src/libs/ui/search/src/index.ts +0 -1
- package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
- package/src/libs/ui/widgets/src/lib/badge/badge.component.html +3 -1
- package/src/libs/util/i18n/src/index.ts +0 -1
- package/src/libs/util/i18n/src/lib/i18n.constants.ts +18 -0
- package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
- package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +3 -0
- package/src/libs/util/shared/src/lib/utils/image-resize.ts +72 -0
- package/src/libs/util/shared/src/lib/utils/index.ts +7 -4
- package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +32 -0
- package/tailwind.base.css +44 -15
- package/translations/de.json +143 -109
- package/translations/en.json +75 -41
- package/translations/es.json +53 -19
- package/translations/fr.json +69 -35
- package/translations/it.json +70 -36
- package/translations/nl.json +54 -20
- package/translations/pt.json +53 -19
- package/translations/sk.json +131 -97
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +0 -48
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/role.mapper.mjs +0 -48
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/status.mapper.mjs +0 -18
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/update-frequency.mapper.mjs +0 -64
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +0 -122
- package/esm2022/libs/api/metadata-converter/src/lib/metadata-base.mapper.mjs +0 -14
- package/esm2022/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.mjs +0 -13
- package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
- package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
- package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
- package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
- package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
- package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
- package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/role.mapper.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/status.mapper.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/update-frequency.mapper.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts +0 -4
- package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +0 -1
- package/libs/api/metadata-converter/src/lib/metadata-base.mapper.d.ts.map +0 -1
- package/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.d.ts +0 -18
- package/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.d.ts.map +0 -1
- package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
- package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
- package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
- package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
- package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
- package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
- package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
- package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
- package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +0 -187
- package/src/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.ts +0 -18
- package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
- package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
- package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
- package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
- package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
- package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
- package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
- /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/role.mapper.d.ts +0 -0
- /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/status.mapper.d.ts +0 -0
- /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/update-frequency.mapper.d.ts +0 -0
- /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
- /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/role.mapper.ts +0 -0
- /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/status.mapper.ts +0 -0
- /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/update-frequency.mapper.ts +0 -0
- /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
|
-
AccessConstraint,
|
|
3
2
|
CatalogRecord,
|
|
3
|
+
Constraint,
|
|
4
4
|
DatasetDistribution,
|
|
5
5
|
DatasetRecord,
|
|
6
6
|
DatasetServiceDistribution,
|
|
7
7
|
Individual,
|
|
8
|
-
|
|
8
|
+
Keyword,
|
|
9
|
+
KeywordThesaurus,
|
|
9
10
|
RecordStatus,
|
|
10
11
|
Role,
|
|
11
12
|
ServiceEndpoint,
|
|
@@ -26,6 +27,7 @@ import {
|
|
|
26
27
|
findNestedElement,
|
|
27
28
|
findNestedElements,
|
|
28
29
|
readAttribute,
|
|
30
|
+
readText,
|
|
29
31
|
removeAllChildren,
|
|
30
32
|
removeChildren,
|
|
31
33
|
removeChildrenByName,
|
|
@@ -34,6 +36,7 @@ import {
|
|
|
34
36
|
} from '../xml-utils'
|
|
35
37
|
import {
|
|
36
38
|
ChainableFunction,
|
|
39
|
+
combine,
|
|
37
40
|
fallback,
|
|
38
41
|
filterArray,
|
|
39
42
|
getAtIndex,
|
|
@@ -45,8 +48,9 @@ import {
|
|
|
45
48
|
} from '../function-utils'
|
|
46
49
|
import format from 'date-fns/format'
|
|
47
50
|
import { readKind } from './read-parts'
|
|
51
|
+
import { namePartsToFull } from './utils/individual-name'
|
|
48
52
|
|
|
49
|
-
function writeCharacterString(
|
|
53
|
+
export function writeCharacterString(
|
|
50
54
|
text: string
|
|
51
55
|
): ChainableFunction<XmlElement, XmlElement> {
|
|
52
56
|
return tap(
|
|
@@ -54,7 +58,9 @@ function writeCharacterString(
|
|
|
54
58
|
)
|
|
55
59
|
}
|
|
56
60
|
|
|
57
|
-
function writeLinkage(
|
|
61
|
+
export function writeLinkage(
|
|
62
|
+
url: URL
|
|
63
|
+
): ChainableFunction<XmlElement, XmlElement> {
|
|
58
64
|
return tap(
|
|
59
65
|
pipe(
|
|
60
66
|
findNestedChildOrCreate('gmd:linkage', 'gmd:URL'),
|
|
@@ -63,7 +69,7 @@ function writeLinkage(url: URL): ChainableFunction<XmlElement, XmlElement> {
|
|
|
63
69
|
)
|
|
64
70
|
}
|
|
65
71
|
|
|
66
|
-
function writeAnchor(
|
|
72
|
+
export function writeAnchor(
|
|
67
73
|
url: URL,
|
|
68
74
|
text?: string
|
|
69
75
|
): ChainableFunction<XmlElement, XmlElement> {
|
|
@@ -76,7 +82,9 @@ function writeAnchor(
|
|
|
76
82
|
)
|
|
77
83
|
}
|
|
78
84
|
|
|
79
|
-
function writeDateTime(
|
|
85
|
+
export function writeDateTime(
|
|
86
|
+
date: Date
|
|
87
|
+
): ChainableFunction<XmlElement, XmlElement> {
|
|
80
88
|
return tap(
|
|
81
89
|
pipe(
|
|
82
90
|
findChildOrCreate('gco:DateTime'),
|
|
@@ -85,7 +93,9 @@ function writeDateTime(date: Date): ChainableFunction<XmlElement, XmlElement> {
|
|
|
85
93
|
)
|
|
86
94
|
}
|
|
87
95
|
|
|
88
|
-
function writeDate(
|
|
96
|
+
export function writeDate(
|
|
97
|
+
date: Date
|
|
98
|
+
): ChainableFunction<XmlElement, XmlElement> {
|
|
89
99
|
return tap(
|
|
90
100
|
pipe(
|
|
91
101
|
findChildOrCreate('gco:Date'),
|
|
@@ -94,7 +104,7 @@ function writeDate(date: Date): ChainableFunction<XmlElement, XmlElement> {
|
|
|
94
104
|
)
|
|
95
105
|
}
|
|
96
106
|
|
|
97
|
-
function getProgressCode(status: RecordStatus): string {
|
|
107
|
+
export function getProgressCode(status: RecordStatus): string {
|
|
98
108
|
switch (status) {
|
|
99
109
|
case 'completed':
|
|
100
110
|
return 'completed'
|
|
@@ -113,7 +123,7 @@ function getProgressCode(status: RecordStatus): string {
|
|
|
113
123
|
}
|
|
114
124
|
}
|
|
115
125
|
|
|
116
|
-
function getRoleCode(role: Role): string {
|
|
126
|
+
export function getRoleCode(role: Role): string {
|
|
117
127
|
switch (role) {
|
|
118
128
|
case 'author':
|
|
119
129
|
return 'author'
|
|
@@ -162,7 +172,7 @@ function getRoleCode(role: Role): string {
|
|
|
162
172
|
}
|
|
163
173
|
}
|
|
164
174
|
|
|
165
|
-
function getDistributionProtocol(
|
|
175
|
+
export function getDistributionProtocol(
|
|
166
176
|
distribution: DatasetServiceDistribution
|
|
167
177
|
): string {
|
|
168
178
|
switch (distribution.accessServiceProtocol.toLowerCase()) {
|
|
@@ -177,7 +187,7 @@ function getDistributionProtocol(
|
|
|
177
187
|
}
|
|
178
188
|
}
|
|
179
189
|
|
|
180
|
-
function getMaintenanceFrequencyCode(
|
|
190
|
+
export function getMaintenanceFrequencyCode(
|
|
181
191
|
updateFrequency: UpdateFrequencyCode
|
|
182
192
|
): string | null {
|
|
183
193
|
switch (updateFrequency) {
|
|
@@ -196,7 +206,7 @@ function getMaintenanceFrequencyCode(
|
|
|
196
206
|
}
|
|
197
207
|
}
|
|
198
208
|
|
|
199
|
-
function getISODuration(updateFrequency: UpdateFrequencyCustom): string {
|
|
209
|
+
export function getISODuration(updateFrequency: UpdateFrequencyCustom): string {
|
|
200
210
|
const duration = {
|
|
201
211
|
years: 0,
|
|
202
212
|
months: 0,
|
|
@@ -225,19 +235,61 @@ function getISODuration(updateFrequency: UpdateFrequencyCustom): string {
|
|
|
225
235
|
return `P${duration.years}Y${duration.months}M${duration.days}D${hours}`
|
|
226
236
|
}
|
|
227
237
|
|
|
228
|
-
function appendResponsibleParty(contact: Individual) {
|
|
229
|
-
const
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
238
|
+
export function appendResponsibleParty(contact: Individual) {
|
|
239
|
+
const fullName = namePartsToFull(contact.firstName, contact.lastName)
|
|
240
|
+
|
|
241
|
+
const createAddress = pipe(
|
|
242
|
+
createElement('gmd:address'),
|
|
243
|
+
createChild('gmd:CI_Address'),
|
|
244
|
+
appendChildren(
|
|
245
|
+
pipe(
|
|
246
|
+
createElement('gmd:electronicMailAddress'),
|
|
247
|
+
writeCharacterString(contact.email)
|
|
248
|
+
)
|
|
249
|
+
),
|
|
250
|
+
contact.address
|
|
251
|
+
? appendChildren(
|
|
252
|
+
pipe(
|
|
253
|
+
createElement('gmd:deliveryPoint'),
|
|
254
|
+
writeCharacterString(contact.address)
|
|
255
|
+
)
|
|
256
|
+
)
|
|
257
|
+
: noop
|
|
258
|
+
)
|
|
259
|
+
|
|
260
|
+
const createContact = pipe(
|
|
261
|
+
createElement('gmd:contactInfo'),
|
|
262
|
+
createChild('gmd:CI_Contact'),
|
|
263
|
+
contact.phone
|
|
264
|
+
? appendChildren(
|
|
265
|
+
pipe(
|
|
266
|
+
createElement('gmd:phone'),
|
|
267
|
+
createChild('gmd:CI_Telephone'),
|
|
268
|
+
createChild('gmd:voice'),
|
|
269
|
+
writeCharacterString(contact.phone)
|
|
270
|
+
)
|
|
271
|
+
)
|
|
272
|
+
: noop,
|
|
273
|
+
appendChildren(createAddress),
|
|
274
|
+
'website' in contact.organization
|
|
275
|
+
? appendChildren(
|
|
276
|
+
pipe(
|
|
277
|
+
createElement('gmd:onlineResource'),
|
|
278
|
+
createChild('gmd:CI_OnlineResource'),
|
|
279
|
+
writeLinkage(contact.organization.website)
|
|
280
|
+
)
|
|
281
|
+
)
|
|
282
|
+
: noop
|
|
283
|
+
)
|
|
284
|
+
|
|
233
285
|
return appendChildren(
|
|
234
286
|
pipe(
|
|
235
287
|
createElement('gmd:CI_ResponsibleParty'),
|
|
236
|
-
|
|
288
|
+
fullName
|
|
237
289
|
? appendChildren(
|
|
238
290
|
pipe(
|
|
239
291
|
createElement('gmd:individualName'),
|
|
240
|
-
writeCharacterString(
|
|
292
|
+
writeCharacterString(fullName)
|
|
241
293
|
)
|
|
242
294
|
)
|
|
243
295
|
: noop,
|
|
@@ -254,27 +306,7 @@ function appendResponsibleParty(contact: Individual) {
|
|
|
254
306
|
createElement('gmd:organisationName'),
|
|
255
307
|
writeCharacterString(contact.organization.name)
|
|
256
308
|
),
|
|
257
|
-
|
|
258
|
-
createElement('gmd:contactInfo'),
|
|
259
|
-
createChild('gmd:CI_Contact'),
|
|
260
|
-
appendChildren(
|
|
261
|
-
pipe(
|
|
262
|
-
createElement('gmd:address'),
|
|
263
|
-
createChild('gmd:CI_Address'),
|
|
264
|
-
createChild('gmd:electronicMailAddress'),
|
|
265
|
-
writeCharacterString(contact.email)
|
|
266
|
-
)
|
|
267
|
-
),
|
|
268
|
-
'website' in contact.organization
|
|
269
|
-
? appendChildren(
|
|
270
|
-
pipe(
|
|
271
|
-
createElement('gmd:onlineResource'),
|
|
272
|
-
createChild('gmd:CI_OnlineResource'),
|
|
273
|
-
writeLinkage(contact.organization.website)
|
|
274
|
-
)
|
|
275
|
-
)
|
|
276
|
-
: noop
|
|
277
|
-
),
|
|
309
|
+
createContact,
|
|
278
310
|
pipe(
|
|
279
311
|
createElement('gmd:role'),
|
|
280
312
|
createChild('gmd:CI_RoleCode'),
|
|
@@ -289,7 +321,10 @@ function appendResponsibleParty(contact: Individual) {
|
|
|
289
321
|
)
|
|
290
322
|
}
|
|
291
323
|
|
|
292
|
-
function updateCitationDate(
|
|
324
|
+
export function updateCitationDate(
|
|
325
|
+
date: Date,
|
|
326
|
+
type: 'revision' | 'creation' | 'publication'
|
|
327
|
+
) {
|
|
293
328
|
return pipe(
|
|
294
329
|
findNestedElements('gmd:date', 'gmd:CI_Date'),
|
|
295
330
|
filterArray(
|
|
@@ -306,7 +341,10 @@ function updateCitationDate(date: Date, type: 'revision' | 'creation') {
|
|
|
306
341
|
)
|
|
307
342
|
}
|
|
308
343
|
|
|
309
|
-
function appendCitationDate(
|
|
344
|
+
export function appendCitationDate(
|
|
345
|
+
date: Date,
|
|
346
|
+
type: 'revision' | 'creation' | 'publication'
|
|
347
|
+
) {
|
|
310
348
|
return appendChildren(
|
|
311
349
|
pipe(
|
|
312
350
|
createElement('gmd:date'),
|
|
@@ -327,82 +365,90 @@ function appendCitationDate(date, type: 'revision' | 'creation') {
|
|
|
327
365
|
)
|
|
328
366
|
}
|
|
329
367
|
|
|
330
|
-
function removeKeywords(
|
|
331
|
-
return removeChildren(
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
368
|
+
export function removeKeywords() {
|
|
369
|
+
return removeChildren(pipe(findNestedElements('gmd:descriptiveKeywords')))
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
// returns a <gmd:thesaurusName> element
|
|
373
|
+
export function createThesaurus(thesaurus: KeywordThesaurus) {
|
|
374
|
+
return pipe(
|
|
375
|
+
createElement('gmd:thesaurusName'),
|
|
376
|
+
createChild('gmd:CI_Citation'),
|
|
377
|
+
appendChildren(
|
|
378
|
+
pipe(
|
|
379
|
+
createElement('gmd:title'),
|
|
380
|
+
writeCharacterString(thesaurus.name || thesaurus.id)
|
|
381
|
+
),
|
|
382
|
+
pipe(
|
|
383
|
+
createElement('gmd:identifier'),
|
|
384
|
+
createChild('gmd:MD_Identifier'),
|
|
385
|
+
appendChildren(
|
|
386
|
+
pipe(
|
|
387
|
+
createElement('gmd:code'),
|
|
388
|
+
thesaurus.url
|
|
389
|
+
? writeAnchor(thesaurus.url, thesaurus.id)
|
|
390
|
+
: writeCharacterString(thesaurus.id)
|
|
391
|
+
)
|
|
344
392
|
)
|
|
345
393
|
)
|
|
346
394
|
)
|
|
347
395
|
)
|
|
348
396
|
}
|
|
349
397
|
|
|
350
|
-
function appendKeywords(keywords:
|
|
398
|
+
export function appendKeywords(keywords: Keyword[]) {
|
|
399
|
+
// keywords are grouped by thesaurus if they have one, otherwise by type
|
|
400
|
+
const keywordsByThesaurus: Keyword[][] = keywords.reduce((acc, keyword) => {
|
|
401
|
+
const thesaurusId = keyword.thesaurus?.id
|
|
402
|
+
const type = keyword.type
|
|
403
|
+
let existingGroup = acc.find((group) =>
|
|
404
|
+
thesaurusId
|
|
405
|
+
? group[0].thesaurus?.id === thesaurusId
|
|
406
|
+
: group[0].type === type && !group[0].thesaurus
|
|
407
|
+
)
|
|
408
|
+
if (!existingGroup) {
|
|
409
|
+
existingGroup = []
|
|
410
|
+
acc.push(existingGroup)
|
|
411
|
+
}
|
|
412
|
+
existingGroup.push(keyword)
|
|
413
|
+
return acc
|
|
414
|
+
}, [])
|
|
351
415
|
return appendChildren(
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
416
|
+
...keywordsByThesaurus.map((keywords) =>
|
|
417
|
+
pipe(
|
|
418
|
+
createElement('gmd:descriptiveKeywords'),
|
|
419
|
+
createChild('gmd:MD_Keywords'),
|
|
420
|
+
appendChildren(
|
|
421
|
+
pipe(
|
|
422
|
+
createElement('gmd:type'),
|
|
423
|
+
createChild('gmd:MD_KeywordTypeCode'),
|
|
424
|
+
addAttribute(
|
|
425
|
+
'codeList',
|
|
426
|
+
'http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_KeywordTypeCode'
|
|
427
|
+
),
|
|
428
|
+
addAttribute('codeListValue', keywords[0].type)
|
|
429
|
+
)
|
|
430
|
+
),
|
|
431
|
+
keywords[0].thesaurus
|
|
432
|
+
? appendChildren(createThesaurus(keywords[0].thesaurus))
|
|
433
|
+
: noop,
|
|
434
|
+
appendChildren(
|
|
435
|
+
...keywords.map((keyword) =>
|
|
357
436
|
pipe(
|
|
358
|
-
createElement('gmd:
|
|
359
|
-
|
|
360
|
-
addAttribute(
|
|
361
|
-
'codeList',
|
|
362
|
-
'http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_KeywordTypeCode'
|
|
363
|
-
),
|
|
364
|
-
addAttribute('codeListValue', type)
|
|
437
|
+
createElement('gmd:keyword'),
|
|
438
|
+
writeCharacterString(keyword.label)
|
|
365
439
|
)
|
|
366
440
|
)
|
|
367
|
-
: noop,
|
|
368
|
-
appendChildren(
|
|
369
|
-
...keywords.map((keyword) =>
|
|
370
|
-
pipe(createElement('gmd:keyword'), writeCharacterString(keyword))
|
|
371
441
|
)
|
|
372
442
|
)
|
|
373
443
|
)
|
|
374
444
|
)
|
|
375
445
|
}
|
|
376
446
|
|
|
377
|
-
function
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
)
|
|
382
|
-
|
|
383
|
-
// remove legal constraints that *only* have 'otherRestrictions'
|
|
384
|
-
const otherConstraintsFilter = pipe(
|
|
385
|
-
findNestedElements(
|
|
386
|
-
'gmd:MD_LegalConstraints',
|
|
387
|
-
'gmd:accessConstraints',
|
|
388
|
-
'gmd:MD_RestrictionCode'
|
|
389
|
-
),
|
|
390
|
-
mapArray(readAttribute('codeListValue')),
|
|
391
|
-
(restrictionCodes) =>
|
|
392
|
-
restrictionCodes.every((code) => code === 'otherRestrictions')
|
|
393
|
-
)
|
|
394
|
-
return removeChildren(
|
|
395
|
-
pipe(
|
|
396
|
-
findChildrenElement('gmd:resourceConstraints'),
|
|
397
|
-
filterArray(
|
|
398
|
-
(el) => securityConstraintsFilter(el) || otherConstraintsFilter(el)
|
|
399
|
-
)
|
|
400
|
-
)
|
|
401
|
-
)
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
function createAccessConstraint(constraint: AccessConstraint) {
|
|
405
|
-
if (constraint.type === 'security') {
|
|
447
|
+
export function createConstraint(
|
|
448
|
+
constraint: Constraint,
|
|
449
|
+
type: 'legal' | 'security' | 'other'
|
|
450
|
+
) {
|
|
451
|
+
if (type === 'security') {
|
|
406
452
|
return pipe(
|
|
407
453
|
createElement('gmd:resourceConstraints'),
|
|
408
454
|
createChild('gmd:MD_SecurityConstraints'),
|
|
@@ -422,29 +468,41 @@ function createAccessConstraint(constraint: AccessConstraint) {
|
|
|
422
468
|
)
|
|
423
469
|
)
|
|
424
470
|
)
|
|
471
|
+
} else if (type === 'legal') {
|
|
472
|
+
return pipe(
|
|
473
|
+
createElement('gmd:resourceConstraints'),
|
|
474
|
+
createChild('gmd:MD_LegalConstraints'),
|
|
475
|
+
appendChildren(
|
|
476
|
+
pipe(
|
|
477
|
+
createElement('gmd:accessConstraints'),
|
|
478
|
+
createChild('gmd:MD_RestrictionCode'),
|
|
479
|
+
addAttribute(
|
|
480
|
+
'codeList',
|
|
481
|
+
'http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_RestrictionCode'
|
|
482
|
+
),
|
|
483
|
+
addAttribute('codeListValue', 'otherRestrictions')
|
|
484
|
+
),
|
|
485
|
+
pipe(
|
|
486
|
+
createElement('gmd:otherConstraints'),
|
|
487
|
+
writeCharacterString(constraint.text)
|
|
488
|
+
)
|
|
489
|
+
)
|
|
490
|
+
)
|
|
425
491
|
}
|
|
492
|
+
|
|
426
493
|
return pipe(
|
|
427
494
|
createElement('gmd:resourceConstraints'),
|
|
428
|
-
createChild('gmd:
|
|
495
|
+
createChild('gmd:MD_Constraints'),
|
|
429
496
|
appendChildren(
|
|
430
497
|
pipe(
|
|
431
|
-
createElement('gmd:
|
|
432
|
-
createChild('gmd:MD_RestrictionCode'),
|
|
433
|
-
addAttribute(
|
|
434
|
-
'codeList',
|
|
435
|
-
'http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_RestrictionCode'
|
|
436
|
-
),
|
|
437
|
-
addAttribute('codeListValue', 'otherRestrictions')
|
|
438
|
-
),
|
|
439
|
-
pipe(
|
|
440
|
-
createElement('gmd:otherConstraints'),
|
|
498
|
+
createElement('gmd:useLimitation'),
|
|
441
499
|
writeCharacterString(constraint.text)
|
|
442
500
|
)
|
|
443
501
|
)
|
|
444
502
|
)
|
|
445
503
|
}
|
|
446
504
|
|
|
447
|
-
function
|
|
505
|
+
export function removeOtherConstraints() {
|
|
448
506
|
return removeChildren(
|
|
449
507
|
pipe(
|
|
450
508
|
findChildrenElement('gmd:resourceConstraints'),
|
|
@@ -458,16 +516,41 @@ function removeUseLimitations() {
|
|
|
458
516
|
)
|
|
459
517
|
}
|
|
460
518
|
|
|
461
|
-
function
|
|
462
|
-
return
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
519
|
+
export function removeSecurityConstraints() {
|
|
520
|
+
return removeChildren(
|
|
521
|
+
pipe(
|
|
522
|
+
findChildrenElement('gmd:resourceConstraints'),
|
|
523
|
+
filterArray(
|
|
524
|
+
pipe(
|
|
525
|
+
findNestedElements('gmd:MD_SecurityConstraints', 'gmd:useLimitation'),
|
|
526
|
+
(array) => array.length > 0
|
|
527
|
+
)
|
|
528
|
+
)
|
|
529
|
+
)
|
|
467
530
|
)
|
|
468
531
|
}
|
|
469
532
|
|
|
470
|
-
function
|
|
533
|
+
export function removeLegalConstraints() {
|
|
534
|
+
return removeChildren(
|
|
535
|
+
pipe(
|
|
536
|
+
findChildrenElement('gmd:resourceConstraints'),
|
|
537
|
+
filterArray(
|
|
538
|
+
pipe(
|
|
539
|
+
findNestedElements(
|
|
540
|
+
'gmd:MD_LegalConstraints',
|
|
541
|
+
'gmd:accessConstraints',
|
|
542
|
+
'gmd:MD_RestrictionCode'
|
|
543
|
+
),
|
|
544
|
+
mapArray(readAttribute('codeListValue')),
|
|
545
|
+
(restrictionCodes) =>
|
|
546
|
+
restrictionCodes.every((code) => code !== 'license')
|
|
547
|
+
)
|
|
548
|
+
)
|
|
549
|
+
)
|
|
550
|
+
)
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
export function removeLicenses() {
|
|
471
554
|
return removeChildren(
|
|
472
555
|
pipe(
|
|
473
556
|
findChildrenElement('gmd:resourceConstraints'),
|
|
@@ -487,7 +570,7 @@ function removeLicenses() {
|
|
|
487
570
|
)
|
|
488
571
|
}
|
|
489
572
|
|
|
490
|
-
function createLicense(license:
|
|
573
|
+
export function createLicense(license: Constraint) {
|
|
491
574
|
return pipe(
|
|
492
575
|
createElement('gmd:resourceConstraints'),
|
|
493
576
|
createChild('gmd:MD_LegalConstraints'),
|
|
@@ -520,44 +603,52 @@ function createLicense(license: License) {
|
|
|
520
603
|
)
|
|
521
604
|
}
|
|
522
605
|
|
|
523
|
-
function removeDistributions() {
|
|
606
|
+
export function removeDistributions() {
|
|
524
607
|
return pipe(removeChildrenByName('gmd:distributionInfo'))
|
|
525
608
|
}
|
|
526
609
|
|
|
527
|
-
function
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
writeCharacterString(distribution.mimeType)
|
|
538
|
-
),
|
|
539
|
-
pipe(
|
|
540
|
-
createElement('gmd:version'),
|
|
541
|
-
writeCharacterString('1.0') // hardcoding this as it most likely won't be used but is mandatory
|
|
542
|
-
)
|
|
543
|
-
)
|
|
544
|
-
)
|
|
610
|
+
function appendDistributionFormat(mimeType: string) {
|
|
611
|
+
return appendChildren(
|
|
612
|
+
pipe(
|
|
613
|
+
createElement('gmd:distributionFormat'),
|
|
614
|
+
createChild('gmd:MD_Format'),
|
|
615
|
+
appendChildren(
|
|
616
|
+
pipe(createElement('gmd:name'), writeCharacterString(mimeType)),
|
|
617
|
+
pipe(
|
|
618
|
+
createElement('gmd:version'),
|
|
619
|
+
writeCharacterString('1.0') // hardcoding this as it most likely won't be used but is mandatory
|
|
545
620
|
)
|
|
546
|
-
|
|
621
|
+
)
|
|
622
|
+
)
|
|
623
|
+
)
|
|
624
|
+
}
|
|
547
625
|
|
|
548
|
-
|
|
626
|
+
export function createDistributionInfo() {
|
|
627
|
+
return pipe(
|
|
628
|
+
createElement('gmd:distributionInfo'),
|
|
629
|
+
createChild('gmd:MD_Distribution')
|
|
630
|
+
)
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
// apply to MD_Distribution
|
|
634
|
+
export function appendDistribution(
|
|
635
|
+
distribution: DatasetDistribution,
|
|
636
|
+
appendFormatFn: (
|
|
637
|
+
mimeType: string
|
|
638
|
+
) => ChainableFunction<XmlElement, XmlElement>
|
|
639
|
+
) {
|
|
640
|
+
let name: string
|
|
641
|
+
let functionCode: string
|
|
642
|
+
let protocol: string
|
|
549
643
|
if (distribution.type === 'service') {
|
|
550
|
-
linkageUrl = distribution.url.toString()
|
|
551
644
|
name = distribution.identifierInService // this is for GeoNetwork to know the layer name
|
|
552
645
|
functionCode = 'download'
|
|
553
646
|
protocol = getDistributionProtocol(distribution)
|
|
554
647
|
} else if (distribution.type === 'download') {
|
|
555
|
-
linkageUrl = distribution.url.toString()
|
|
556
648
|
name = distribution.name
|
|
557
649
|
functionCode = 'download'
|
|
558
650
|
protocol = 'WWW:DOWNLOAD'
|
|
559
651
|
} else {
|
|
560
|
-
linkageUrl = distribution.url.toString()
|
|
561
652
|
name = distribution.name
|
|
562
653
|
functionCode = 'information'
|
|
563
654
|
protocol = 'WWW:LINK'
|
|
@@ -568,7 +659,7 @@ function createDistribution(distribution: DatasetDistribution) {
|
|
|
568
659
|
createChild('gmd:MD_DigitalTransferOptions'),
|
|
569
660
|
createChild('gmd:onLine'),
|
|
570
661
|
createChild('gmd:CI_OnlineResource'),
|
|
571
|
-
writeLinkage(
|
|
662
|
+
writeLinkage(distribution.url),
|
|
572
663
|
'description' in distribution
|
|
573
664
|
? appendChildren(
|
|
574
665
|
pipe(
|
|
@@ -597,9 +688,7 @@ function createDistribution(distribution: DatasetDistribution) {
|
|
|
597
688
|
)
|
|
598
689
|
)
|
|
599
690
|
return pipe(
|
|
600
|
-
|
|
601
|
-
createChild('gmd:MD_Distribution'),
|
|
602
|
-
appendDistributionFormat,
|
|
691
|
+
'mimeType' in distribution ? appendFormatFn(distribution.mimeType) : noop,
|
|
603
692
|
appendTransferOptions
|
|
604
693
|
)
|
|
605
694
|
}
|
|
@@ -608,7 +697,7 @@ function createDistribution(distribution: DatasetDistribution) {
|
|
|
608
697
|
* Looks for srv:SV_ServiceIdentification or gmd:MD_DataIdentification element
|
|
609
698
|
* depending on record type, create if missing
|
|
610
699
|
*/
|
|
611
|
-
function findOrCreateIdentification() {
|
|
700
|
+
export function findOrCreateIdentification() {
|
|
612
701
|
return (rootEl: XmlElement) => {
|
|
613
702
|
const kind = readKind(rootEl)
|
|
614
703
|
let eltName = 'gmd:MD_DataIdentification'
|
|
@@ -617,7 +706,7 @@ function findOrCreateIdentification() {
|
|
|
617
706
|
}
|
|
618
707
|
}
|
|
619
708
|
|
|
620
|
-
function findOrCreateDistribution() {
|
|
709
|
+
export function findOrCreateDistribution() {
|
|
621
710
|
return (rootEl: XmlElement) => {
|
|
622
711
|
return findNestedChildOrCreate(
|
|
623
712
|
'gmd:distributionInfo',
|
|
@@ -711,11 +800,26 @@ export function writeStatus(record: DatasetRecord, rootEl: XmlElement) {
|
|
|
711
800
|
}
|
|
712
801
|
|
|
713
802
|
export function writeContacts(record: CatalogRecord, rootEl: XmlElement) {
|
|
803
|
+
pipe(
|
|
804
|
+
removeChildrenByName('gmd:contact'),
|
|
805
|
+
appendChildren(
|
|
806
|
+
...record.contacts.map((contact) =>
|
|
807
|
+
pipe(createElement('gmd:contact'), appendResponsibleParty(contact))
|
|
808
|
+
)
|
|
809
|
+
)
|
|
810
|
+
)(rootEl)
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
export function writeContactsForResource(
|
|
814
|
+
record: CatalogRecord,
|
|
815
|
+
rootEl: XmlElement
|
|
816
|
+
) {
|
|
714
817
|
pipe(
|
|
715
818
|
findOrCreateIdentification(),
|
|
716
819
|
removeChildrenByName('gmd:pointOfContact'),
|
|
820
|
+
removeChildrenByName('gmd:contact'),
|
|
717
821
|
appendChildren(
|
|
718
|
-
...record.
|
|
822
|
+
...record.contactsForResource.map((contact) =>
|
|
719
823
|
pipe(
|
|
720
824
|
createElement('gmd:pointOfContact'),
|
|
721
825
|
appendResponsibleParty(contact)
|
|
@@ -728,43 +832,71 @@ export function writeContacts(record: CatalogRecord, rootEl: XmlElement) {
|
|
|
728
832
|
export function writeKeywords(record: CatalogRecord, rootEl: XmlElement) {
|
|
729
833
|
pipe(
|
|
730
834
|
findOrCreateIdentification(),
|
|
731
|
-
removeKeywords(
|
|
732
|
-
appendKeywords(record.keywords
|
|
835
|
+
removeKeywords(),
|
|
836
|
+
appendKeywords(record.keywords)
|
|
733
837
|
)(rootEl)
|
|
734
838
|
}
|
|
735
839
|
|
|
736
|
-
export function
|
|
840
|
+
export function writeTopics(record: CatalogRecord, rootEl: XmlElement) {
|
|
737
841
|
pipe(
|
|
738
842
|
findOrCreateIdentification(),
|
|
739
|
-
|
|
740
|
-
|
|
843
|
+
removeChildrenByName('gmd:topicCategory'),
|
|
844
|
+
appendChildren(
|
|
845
|
+
...record.topics.map((topic) =>
|
|
846
|
+
pipe(
|
|
847
|
+
createElement('gmd:topicCategory'),
|
|
848
|
+
createChild('gmd:MD_TopicCategoryCode'),
|
|
849
|
+
setTextContent(topic)
|
|
850
|
+
)
|
|
851
|
+
)
|
|
852
|
+
)
|
|
741
853
|
)(rootEl)
|
|
742
854
|
}
|
|
743
855
|
|
|
744
|
-
export function
|
|
856
|
+
export function writeLicenses(record: CatalogRecord, rootEl: XmlElement) {
|
|
857
|
+
pipe(
|
|
858
|
+
findOrCreateIdentification(),
|
|
859
|
+
removeLicenses(),
|
|
860
|
+
appendChildren(...record.licenses.map(createLicense))
|
|
861
|
+
)(rootEl)
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
export function writeLegalConstraints(
|
|
745
865
|
record: CatalogRecord,
|
|
746
866
|
rootEl: XmlElement
|
|
747
867
|
) {
|
|
748
868
|
pipe(
|
|
749
869
|
findOrCreateIdentification(),
|
|
750
|
-
|
|
751
|
-
appendChildren(
|
|
870
|
+
removeLegalConstraints(),
|
|
871
|
+
appendChildren(
|
|
872
|
+
...record.legalConstraints.map((c) => createConstraint(c, 'legal'))
|
|
873
|
+
)
|
|
752
874
|
)(rootEl)
|
|
753
875
|
}
|
|
754
876
|
|
|
755
|
-
export function
|
|
877
|
+
export function writeSecurityConstraints(
|
|
878
|
+
record: CatalogRecord,
|
|
879
|
+
rootEl: XmlElement
|
|
880
|
+
) {
|
|
756
881
|
pipe(
|
|
757
882
|
findOrCreateIdentification(),
|
|
758
|
-
|
|
759
|
-
appendChildren(
|
|
883
|
+
removeSecurityConstraints(),
|
|
884
|
+
appendChildren(
|
|
885
|
+
...record.securityConstraints.map((c) => createConstraint(c, 'security'))
|
|
886
|
+
)
|
|
760
887
|
)(rootEl)
|
|
761
888
|
}
|
|
762
889
|
|
|
763
|
-
export function
|
|
890
|
+
export function writeOtherConstraints(
|
|
891
|
+
record: CatalogRecord,
|
|
892
|
+
rootEl: XmlElement
|
|
893
|
+
) {
|
|
764
894
|
pipe(
|
|
765
895
|
findOrCreateIdentification(),
|
|
766
|
-
|
|
767
|
-
appendChildren(
|
|
896
|
+
removeOtherConstraints(),
|
|
897
|
+
appendChildren(
|
|
898
|
+
...record.otherConstraints.map((c) => createConstraint(c, 'other'))
|
|
899
|
+
)
|
|
768
900
|
)(rootEl)
|
|
769
901
|
}
|
|
770
902
|
|
|
@@ -798,26 +930,47 @@ export function writeUpdateFrequency(
|
|
|
798
930
|
)(rootEl)
|
|
799
931
|
}
|
|
800
932
|
|
|
801
|
-
export function
|
|
802
|
-
|
|
933
|
+
export function writeResourceCreated(
|
|
934
|
+
record: DatasetRecord,
|
|
935
|
+
rootEl: XmlElement
|
|
936
|
+
) {
|
|
937
|
+
if (!('resourceCreated' in record)) return
|
|
803
938
|
pipe(
|
|
804
939
|
findOrCreateIdentification(),
|
|
805
940
|
findNestedChildOrCreate('gmd:citation', 'gmd:CI_Citation'),
|
|
806
941
|
fallback(
|
|
807
|
-
updateCitationDate(record.
|
|
808
|
-
appendCitationDate(record.
|
|
942
|
+
updateCitationDate(record.resourceCreated, 'creation'),
|
|
943
|
+
appendCitationDate(record.resourceCreated, 'creation')
|
|
809
944
|
)
|
|
810
945
|
)(rootEl)
|
|
811
946
|
}
|
|
812
947
|
|
|
813
|
-
export function
|
|
814
|
-
|
|
948
|
+
export function writeResourceUpdated(
|
|
949
|
+
record: DatasetRecord,
|
|
950
|
+
rootEl: XmlElement
|
|
951
|
+
) {
|
|
952
|
+
if (!('resourceUpdated' in record)) return
|
|
815
953
|
pipe(
|
|
816
954
|
findOrCreateIdentification(),
|
|
817
955
|
findNestedChildOrCreate('gmd:citation', 'gmd:CI_Citation'),
|
|
818
956
|
fallback(
|
|
819
|
-
updateCitationDate(record.
|
|
820
|
-
appendCitationDate(record.
|
|
957
|
+
updateCitationDate(record.resourceUpdated, 'revision'),
|
|
958
|
+
appendCitationDate(record.resourceUpdated, 'revision')
|
|
959
|
+
)
|
|
960
|
+
)(rootEl)
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
export function writeResourcePublished(
|
|
964
|
+
record: DatasetRecord,
|
|
965
|
+
rootEl: XmlElement
|
|
966
|
+
) {
|
|
967
|
+
if (!('resourcePublished' in record)) return
|
|
968
|
+
pipe(
|
|
969
|
+
findOrCreateIdentification(),
|
|
970
|
+
findNestedChildOrCreate('gmd:citation', 'gmd:CI_Citation'),
|
|
971
|
+
fallback(
|
|
972
|
+
updateCitationDate(record.resourcePublished, 'publication'),
|
|
973
|
+
appendCitationDate(record.resourcePublished, 'publication')
|
|
821
974
|
)
|
|
822
975
|
)(rootEl)
|
|
823
976
|
}
|
|
@@ -875,7 +1028,14 @@ export function writeGraphicOverviews(
|
|
|
875
1028
|
export function writeDistributions(record: DatasetRecord, rootEl: XmlElement) {
|
|
876
1029
|
pipe(
|
|
877
1030
|
removeDistributions(),
|
|
878
|
-
appendChildren(
|
|
1031
|
+
appendChildren(
|
|
1032
|
+
...record.distributions.map((d) =>
|
|
1033
|
+
pipe(
|
|
1034
|
+
createDistributionInfo(),
|
|
1035
|
+
appendDistribution(d, appendDistributionFormat)
|
|
1036
|
+
)
|
|
1037
|
+
)
|
|
1038
|
+
)
|
|
879
1039
|
)(rootEl)
|
|
880
1040
|
}
|
|
881
1041
|
|
|
@@ -892,7 +1052,7 @@ export function writeLineage(record: DatasetRecord, rootEl: XmlElement) {
|
|
|
892
1052
|
)(rootEl)
|
|
893
1053
|
}
|
|
894
1054
|
|
|
895
|
-
function getServiceEndpointProtocol(endpoint: ServiceEndpoint): string {
|
|
1055
|
+
export function getServiceEndpointProtocol(endpoint: ServiceEndpoint): string {
|
|
896
1056
|
switch (endpoint.protocol.toLowerCase()) {
|
|
897
1057
|
case 'wfs':
|
|
898
1058
|
return 'OGC:WFS'
|
|
@@ -905,7 +1065,7 @@ function getServiceEndpointProtocol(endpoint: ServiceEndpoint): string {
|
|
|
905
1065
|
}
|
|
906
1066
|
}
|
|
907
1067
|
|
|
908
|
-
function createOnlineResource(onlineResource: ServiceOnlineResource) {
|
|
1068
|
+
export function createOnlineResource(onlineResource: ServiceOnlineResource) {
|
|
909
1069
|
let linkageUrl, functionCode, protocol
|
|
910
1070
|
if (onlineResource.type === 'endpoint') {
|
|
911
1071
|
linkageUrl = onlineResource.endpointUrl.toString()
|