geonetwork-ui 2.4.0-dev.ac57b75b → 2.4.0-dev.c2a3cdd1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +5 -5
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +10 -7
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +11 -16
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +28 -33
- package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +22 -4
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +78 -39
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +11 -1
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +51 -7
- package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +28 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/user/user.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/fixtures/site.fixtures.mjs +5 -5
- package/esm2022/libs/data-access/gn4/src/fixtures/ui.fixtures.mjs +3 -3
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
- package/esm2022/libs/feature/editor/src/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
- package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +17 -0
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +80 -0
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +93 -0
- package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +145 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +31 -40
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +11 -9
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +101 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +148 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +44 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +93 -11
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +12 -16
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +9 -8
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +140 -5
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +41 -69
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +17 -15
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +46 -55
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +5 -4
- package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +8 -8
- package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +6 -4
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +58 -7
- package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +5 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +6 -6
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +7 -6
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +8 -5
- package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +6 -7
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +8 -7
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +7 -6
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +7 -26
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +29 -13
- package/esm2022/libs/feature/map/src/lib/style/map-style.fixtures.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -2
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +10 -4
- package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +3 -3
- package/esm2022/libs/ui/elements/src/index.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -6
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +5 -5
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +6 -1
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +24 -7
- package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +5 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +8 -1
- package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +11 -4
- package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +9 -3
- package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +26 -24
- package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
- package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +21 -23
- package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +32 -0
- package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +7 -21
- package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +6 -17
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +3 -7
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +43 -0
- package/esm2022/libs/ui/layout/src/index.mjs +3 -1
- package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -3
- package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
- package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
- package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.mjs +7 -7
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +8 -8
- package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +10 -10
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
- package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
- package/esm2022/translations/de.json +66 -2
- package/esm2022/translations/en.json +66 -2
- package/esm2022/translations/es.json +64 -0
- package/esm2022/translations/fr.json +69 -5
- package/esm2022/translations/it.json +66 -2
- package/esm2022/translations/nl.json +64 -0
- package/esm2022/translations/pt.json +64 -0
- package/fesm2022/geonetwork-ui.mjs +3093 -1619
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/index.d.ts +1 -0
- package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts +2 -6
- package/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -5
- 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 +7 -7
- 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 +6 -0
- package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +12 -7
- package/libs/api/repository/src/lib/gn4/gn4-repository.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 +22 -2
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -6
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/user/user.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/user/user.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +16 -0
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +7 -0
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts +2 -2
- package/libs/data-access/gn4/src/fixtures/site.fixtures.d.ts.map +1 -1
- package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts +1 -1
- package/libs/data-access/gn4/src/fixtures/ui.fixtures.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
- 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 +6 -6
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -3
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +5 -0
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +8 -0
- package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +33 -0
- package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +33 -0
- package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
- package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +41 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +9 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +11 -19
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +6 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +22 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +35 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +15 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +24 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +4 -6
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +4 -3
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +28 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +10 -18
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +5 -5
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +18 -24
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -3
- package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/feature-editor.module.d.ts +2 -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 +15 -0
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -0
- package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -0
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts +1 -1
- package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.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 +6 -6
- 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 +1 -1
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +1 -1
- package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +1 -1
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +1 -1
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -21
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +1 -1
- package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts +2 -2
- package/libs/feature/map/src/lib/style/map-style.fixtures.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -2
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -2
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +7 -7
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +1 -0
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +2 -2
- package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -1
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
- package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +5 -0
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +9 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/badge/badge.component.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/date-picker/date-picker.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +5 -3
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +6 -9
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +16 -0
- package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +0 -4
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -4
- package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +34 -35
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +18 -0
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -0
- 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/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
- package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
- package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
- package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
- package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
- package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts +3 -3
- package/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -3
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/fixtures.d.ts +8 -8
- package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
- package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +7 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
- package/src/libs/api/metadata-converter/src/lib/gn4/types/keywords.model.ts +2 -6
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +4 -4
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +14 -8
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +8 -15
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +13 -15
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +48 -63
- package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +25 -6
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +132 -68
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +90 -15
- package/src/libs/common/domain/src/lib/model/record/contact.model.ts +28 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +8 -7
- package/src/libs/common/domain/src/lib/model/user/user.model.ts +1 -1
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +30 -0
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +10 -0
- package/src/libs/common/fixtures/src/index.ts +1 -1
- package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +37 -37
- package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-request.ts → aggregations-request.fixtures.ts} +1 -3
- package/src/libs/common/fixtures/src/lib/elasticsearch/{aggregations-response.ts → aggregations-response.fixtures.ts} +6 -8
- package/src/libs/common/fixtures/src/lib/elasticsearch/{full-response.ts → full-response.fixtures.ts} +1 -3
- package/src/libs/common/fixtures/src/lib/elasticsearch/index.ts +5 -5
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +1 -3
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata.fixtures.ts +1739 -1742
- package/src/libs/common/fixtures/src/lib/elasticsearch/{search-requests.ts → search-requests.fixtures.ts} +1 -3
- package/src/libs/common/fixtures/src/lib/elasticsearch/{search-responses.ts → search-responses.fixtures.ts} +4 -6
- package/src/libs/common/fixtures/src/lib/geojson.fixtures.ts +57178 -57195
- package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +2 -4
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +233 -164
- package/src/libs/common/fixtures/src/lib/ol-feature.fixtures.ts +10 -0
- package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +37 -3
- package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +9 -7
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +9 -9
- package/src/libs/common/fixtures/src/lib/repository.fixtures.ts +4 -4
- package/src/libs/common/fixtures/src/lib/search/aggregations.ts +2 -3
- package/src/libs/common/fixtures/src/lib/user-feedbacks.fixtures.ts +14 -15
- package/src/libs/common/fixtures/src/lib/user.fixtures.ts +32 -15
- package/src/libs/data-access/gn4/src/fixtures/site.fixtures.ts +4 -4
- package/src/libs/data-access/gn4/src/fixtures/ui.fixtures.ts +2 -2
- package/src/libs/feature/catalog/src/lib/sources/sources.fixture.ts +1 -1
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
- package/src/libs/feature/dataviz/src/lib/figure/figure.fixtures.ts +2 -2
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
- package/src/libs/feature/editor/src/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +15 -0
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +4 -0
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +15 -0
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +18 -0
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +26 -0
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +90 -0
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +43 -0
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +129 -0
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +66 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +211 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.html +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.ts +21 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +7 -16
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +44 -45
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +13 -5
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +128 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +34 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +182 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +48 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -5
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +107 -7
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +15 -8
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +11 -14
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +5 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +11 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +20 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +212 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +31 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +43 -87
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +17 -15
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +110 -74
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +50 -55
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +32 -29
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +9 -4
- package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +1 -1
- package/src/libs/feature/editor/src/lib/feature-editor.module.ts +2 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +64 -6
- package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -0
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -0
- package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +3 -0
- package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +12 -8
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +5 -0
- package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +1 -1
- package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +10 -7
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +1 -1
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +5 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +1 -1
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +6 -1
- package/src/libs/feature/map/src/lib/feature-map.module.ts +2 -15
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +24 -1
- package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +26 -22
- package/src/libs/feature/map/src/lib/style/map-style.fixtures.ts +29 -27
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +2 -2
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -2
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +2 -1
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +22 -1
- package/src/libs/feature/search/src/lib/state/fixtures/search-state.fixtures.ts +2 -2
- package/src/libs/ui/dataviz/src/lib/chart/chart.fixtures.ts +2 -2
- package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +2 -2
- package/src/libs/ui/elements/src/index.ts +1 -1
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -20
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +5 -0
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +2 -2
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -1
- package/src/libs/ui/inputs/src/index.ts +5 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -18
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +38 -24
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +19 -4
- package/src/libs/ui/inputs/src/lib/badge/badge.component.html +12 -3
- package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +14 -6
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +7 -1
- package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
- package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +28 -23
- package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +7 -1
- package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +40 -26
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +89 -0
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +92 -0
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +76 -68
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +19 -21
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +4 -3
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +0 -1
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -2
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +3 -2
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +3 -28
- package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +4 -3
- package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +4 -16
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +9 -0
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +37 -0
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +33 -0
- package/src/libs/ui/layout/src/index.ts +2 -0
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
- package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
- package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
- package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
- package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
- package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +11 -18
- package/src/libs/ui/map/src/lib/ui-map.module.ts +1 -1
- package/src/libs/ui/search/src/lib/facets/fixtures/aggregations-model-response.ts +7 -6
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -2
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +5 -6
- package/src/libs/util/app-config/src/lib/fixtures.ts +9 -9
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
- package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
- package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
- package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
- package/tailwind.base.config.js +1 -0
- package/tailwind.base.css +49 -6
- package/translations/de.json +66 -2
- package/translations/en.json +66 -2
- package/translations/es.json +64 -0
- package/translations/fr.json +69 -5
- package/translations/it.json +66 -2
- package/translations/nl.json +64 -0
- package/translations/pt.json +64 -0
- package/translations/sk.json +64 -0
- package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -138
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -15
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.mjs +0 -17
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.mjs +0 -17
- package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -46
- package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +0 -27
- package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -8
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts +0 -8
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts +0 -8
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts.map +0 -1
- package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -23
- package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
- package/src/libs/common/fixtures/src/lib/ol-feature.fixture.ts +0 -7
- package/src/libs/common/fixtures/src/lib/utils/freeze.ts +0 -10
- package/src/libs/common/fixtures/src/lib/utils/index.ts +0 -1
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -10
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -166
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.html +0 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.ts +0 -15
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.html +0 -7
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.ts +0 -16
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.html +0 -13
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.ts +0 -16
- package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -38
- /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → contact-card/contact-card.component.css} +0 -0
- /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → generic-keywords/generic-keywords.component.css} +0 -0
- /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.css → import-record/import-record.component.css} +0 -0
- /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.css → online-resource-card/online-resource-card.component.css} +0 -0
- /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
|
@@ -68,7 +68,7 @@ Toutes ces données sont reprises dans BDR.`,
|
|
|
68
68
|
resourceCreated: new Date('2002-01-01'),
|
|
69
69
|
resourceUpdated: new Date('2022-06-16'),
|
|
70
70
|
resourcePublished: new Date('2022-06-16'),
|
|
71
|
-
|
|
71
|
+
onlineResources: [
|
|
72
72
|
{
|
|
73
73
|
description:
|
|
74
74
|
"Application de consultation des routes et autoroutes de Wallonie. Cette application est sécurisée et n'est accessible que pour les agents de la DGO1 du SPW.",
|
|
@@ -20,12 +20,9 @@ import { getUpdateFrequencyFromFrequencyCode } from '../iso19139/utils/update-fr
|
|
|
20
20
|
import {
|
|
21
21
|
CatalogRecord,
|
|
22
22
|
Constraint,
|
|
23
|
-
DatasetDistribution,
|
|
24
|
-
DatasetDistributionType,
|
|
25
|
-
DatasetDownloadDistribution,
|
|
26
|
-
DatasetServiceDistribution,
|
|
27
23
|
DatasetSpatialExtent,
|
|
28
|
-
|
|
24
|
+
OnlineResource,
|
|
25
|
+
OnlineResourceType,
|
|
29
26
|
} from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
30
27
|
import { matchProtocol } from '../common/distribution.mapper'
|
|
31
28
|
import { Thesaurus } from './types'
|
|
@@ -158,13 +155,13 @@ export class Gn4FieldMapper {
|
|
|
158
155
|
const rawLinks = getAsArray(
|
|
159
156
|
selectField<SourceWithUnknownProps[]>(source, 'link')
|
|
160
157
|
)
|
|
161
|
-
const
|
|
158
|
+
const onlineResources = rawLinks
|
|
162
159
|
.map((link) => this.mapLink(link))
|
|
163
160
|
.filter((v) => v !== null)
|
|
164
161
|
return {
|
|
165
162
|
...output,
|
|
166
|
-
|
|
167
|
-
}
|
|
163
|
+
onlineResources,
|
|
164
|
+
} as CatalogRecord
|
|
168
165
|
},
|
|
169
166
|
contact: (output, source) => ({
|
|
170
167
|
...output,
|
|
@@ -287,7 +284,7 @@ export class Gn4FieldMapper {
|
|
|
287
284
|
return {
|
|
288
285
|
...output,
|
|
289
286
|
kind,
|
|
290
|
-
}
|
|
287
|
+
} as CatalogRecord
|
|
291
288
|
},
|
|
292
289
|
geom: (output, source) => {
|
|
293
290
|
const geoms = getAsArray(selectField(source, 'geom'))
|
|
@@ -387,7 +384,7 @@ export class Gn4FieldMapper {
|
|
|
387
384
|
return fieldName in this.fields ? this.fields[fieldName] : this.genericField
|
|
388
385
|
}
|
|
389
386
|
|
|
390
|
-
getLinkType(url: string, protocol?: string):
|
|
387
|
+
getLinkType(url: string, protocol?: string): OnlineResourceType {
|
|
391
388
|
if (!protocol) {
|
|
392
389
|
return 'link'
|
|
393
390
|
}
|
|
@@ -406,9 +403,7 @@ export class Gn4FieldMapper {
|
|
|
406
403
|
return 'link'
|
|
407
404
|
}
|
|
408
405
|
|
|
409
|
-
mapLink = (
|
|
410
|
-
sourceLink: SourceWithUnknownProps
|
|
411
|
-
): DatasetDistribution | null => {
|
|
406
|
+
mapLink = (sourceLink: SourceWithUnknownProps): OnlineResource | null => {
|
|
412
407
|
const url = getAsUrl(
|
|
413
408
|
selectFallback(
|
|
414
409
|
selectTranslatedField<string>(sourceLink, 'urlObject', this.lang3),
|
|
@@ -452,20 +447,27 @@ export class Gn4FieldMapper {
|
|
|
452
447
|
type,
|
|
453
448
|
url: url,
|
|
454
449
|
accessServiceProtocol,
|
|
455
|
-
}
|
|
450
|
+
}
|
|
456
451
|
case 'link':
|
|
457
452
|
return {
|
|
458
453
|
...distribution,
|
|
459
454
|
type,
|
|
460
455
|
url: url,
|
|
461
|
-
}
|
|
456
|
+
}
|
|
462
457
|
case 'download':
|
|
463
458
|
return {
|
|
464
459
|
...distribution,
|
|
465
460
|
type,
|
|
466
461
|
url: url,
|
|
467
462
|
...(mimeType && { mimeType }),
|
|
468
|
-
}
|
|
463
|
+
}
|
|
464
|
+
case 'endpoint':
|
|
465
|
+
return {
|
|
466
|
+
...distribution,
|
|
467
|
+
type,
|
|
468
|
+
endpointUrl: url,
|
|
469
|
+
protocol: accessServiceProtocol,
|
|
470
|
+
}
|
|
469
471
|
}
|
|
470
472
|
}
|
|
471
473
|
|
|
@@ -4,10 +4,10 @@ import { Iso19139Converter } from '../iso19139'
|
|
|
4
4
|
import { renameElements } from '../xml-utils'
|
|
5
5
|
import {
|
|
6
6
|
readContacts,
|
|
7
|
-
readDistributions,
|
|
8
7
|
readKind,
|
|
9
8
|
readLandingPage,
|
|
10
9
|
readLineage,
|
|
10
|
+
readOnlineResources,
|
|
11
11
|
readOwnerOrganization,
|
|
12
12
|
readRecordCreated,
|
|
13
13
|
readRecordPublished,
|
|
@@ -18,10 +18,10 @@ import {
|
|
|
18
18
|
import {
|
|
19
19
|
writeContacts,
|
|
20
20
|
writeContactsForResource,
|
|
21
|
-
writeDistributions,
|
|
22
21
|
writeKind,
|
|
23
22
|
writeLandingPage,
|
|
24
23
|
writeLineage,
|
|
24
|
+
writeOnlineResources,
|
|
25
25
|
writeOwnerOrganization,
|
|
26
26
|
writeRecordCreated,
|
|
27
27
|
writeRecordPublished,
|
|
@@ -48,7 +48,7 @@ export class Iso191153Converter extends Iso19139Converter {
|
|
|
48
48
|
this.readers['ownerOrganization'] = readOwnerOrganization
|
|
49
49
|
this.readers['landingPage'] = readLandingPage
|
|
50
50
|
this.readers['lineage'] = readLineage
|
|
51
|
-
this.readers['
|
|
51
|
+
this.readers['onlineResources'] = readOnlineResources
|
|
52
52
|
|
|
53
53
|
this.writers['uniqueIdentifier'] = writeUniqueIdentifier
|
|
54
54
|
this.writers['kind'] = writeKind
|
|
@@ -63,7 +63,7 @@ export class Iso191153Converter extends Iso19139Converter {
|
|
|
63
63
|
this.writers['ownerOrganization'] = writeOwnerOrganization
|
|
64
64
|
this.writers['landingPage'] = writeLandingPage
|
|
65
65
|
this.writers['lineage'] = writeLineage
|
|
66
|
-
this.writers['
|
|
66
|
+
this.writers['onlineResources'] = writeOnlineResources
|
|
67
67
|
this.writers['status'] = writeStatus
|
|
68
68
|
this.writers['spatialRepresentation'] = writeSpatialRepresentation
|
|
69
69
|
}
|
|
@@ -19,15 +19,16 @@ import {
|
|
|
19
19
|
} from '../function-utils'
|
|
20
20
|
import {
|
|
21
21
|
extractCharacterString,
|
|
22
|
-
|
|
22
|
+
extractDatasetOnlineResources,
|
|
23
23
|
extractDateTime,
|
|
24
24
|
extractRole,
|
|
25
|
+
extractServiceOnlineResources,
|
|
25
26
|
extractUrl,
|
|
26
27
|
findIdentification,
|
|
27
28
|
} from '../iso19139/read-parts'
|
|
28
29
|
import {
|
|
29
|
-
DatasetDistribution,
|
|
30
30
|
Individual,
|
|
31
|
+
OnlineResource,
|
|
31
32
|
Organization,
|
|
32
33
|
RecordKind,
|
|
33
34
|
Role,
|
|
@@ -320,10 +321,17 @@ const getMimeType = pipe(
|
|
|
320
321
|
map(matchMimeType)
|
|
321
322
|
)
|
|
322
323
|
|
|
323
|
-
export function
|
|
324
|
+
export function readOnlineResources(rootEl: XmlElement): OnlineResource[] {
|
|
325
|
+
if (readKind(rootEl) === 'dataset') {
|
|
326
|
+
return pipe(
|
|
327
|
+
findNestedElements('mrd:distributionInfo', 'mrd:MD_Distribution'),
|
|
328
|
+
mapArray(extractDatasetOnlineResources(getMimeType)),
|
|
329
|
+
flattenArray()
|
|
330
|
+
)(rootEl)
|
|
331
|
+
}
|
|
324
332
|
return pipe(
|
|
325
333
|
findNestedElements('mrd:distributionInfo', 'mrd:MD_Distribution'),
|
|
326
|
-
mapArray(
|
|
334
|
+
mapArray(extractServiceOnlineResources()),
|
|
327
335
|
flattenArray()
|
|
328
336
|
)(rootEl)
|
|
329
337
|
}
|
|
@@ -2,7 +2,6 @@ import {
|
|
|
2
2
|
CatalogRecord,
|
|
3
3
|
DatasetRecord,
|
|
4
4
|
Individual,
|
|
5
|
-
ServiceOnlineResource,
|
|
6
5
|
} from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
7
6
|
import {
|
|
8
7
|
addAttribute,
|
|
@@ -34,14 +33,14 @@ import {
|
|
|
34
33
|
pipe,
|
|
35
34
|
} from '../function-utils'
|
|
36
35
|
import {
|
|
37
|
-
appendDistribution,
|
|
38
36
|
appendKeywords,
|
|
37
|
+
appendOnlineResource,
|
|
38
|
+
appendServiceOnlineResources,
|
|
39
39
|
createDistributionInfo,
|
|
40
40
|
findOrCreateDistribution,
|
|
41
41
|
findOrCreateIdentification,
|
|
42
42
|
getProgressCode,
|
|
43
43
|
getRoleCode,
|
|
44
|
-
getServiceEndpointProtocol,
|
|
45
44
|
removeKeywords,
|
|
46
45
|
writeCharacterString,
|
|
47
46
|
writeDateTime,
|
|
@@ -481,7 +480,7 @@ function removeTransferOptions(rootEl: XmlElement) {
|
|
|
481
480
|
)(rootEl)
|
|
482
481
|
}
|
|
483
482
|
|
|
484
|
-
function
|
|
483
|
+
function appendOnlineResourceFormat(mimeType: string) {
|
|
485
484
|
return appendChildren(
|
|
486
485
|
pipe(
|
|
487
486
|
createElement('mrd:distributionFormat'),
|
|
@@ -494,11 +493,18 @@ function appendDistributionFormat(mimeType: string) {
|
|
|
494
493
|
)
|
|
495
494
|
}
|
|
496
495
|
|
|
497
|
-
export function
|
|
496
|
+
export function writeOnlineResources(
|
|
497
|
+
record: CatalogRecord,
|
|
498
|
+
rootEl: XmlElement
|
|
499
|
+
) {
|
|
498
500
|
removeTransferOptions(rootEl)
|
|
499
501
|
|
|
500
|
-
|
|
501
|
-
|
|
502
|
+
if (record.kind === 'service') {
|
|
503
|
+
appendServiceOnlineResources(record, rootEl)
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
// for each online resource, either find an existing distribution info or create a new one
|
|
507
|
+
record.onlineResources.forEach((onlineResource, index) => {
|
|
502
508
|
pipe(
|
|
503
509
|
fallback(
|
|
504
510
|
pipe(
|
|
@@ -507,7 +513,7 @@ export function writeDistributions(record: DatasetRecord, rootEl: XmlElement) {
|
|
|
507
513
|
),
|
|
508
514
|
appendChildTree(createDistributionInfo())
|
|
509
515
|
),
|
|
510
|
-
|
|
516
|
+
appendOnlineResource(onlineResource, appendOnlineResourceFormat)
|
|
511
517
|
)(rootEl)
|
|
512
518
|
})
|
|
513
519
|
}
|
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
readAbstract,
|
|
19
19
|
readContacts,
|
|
20
20
|
readContactsForResource,
|
|
21
|
-
readDistributions,
|
|
22
21
|
readIsoTopics,
|
|
23
22
|
readKeywords,
|
|
24
23
|
readKind,
|
|
@@ -46,7 +45,6 @@ import {
|
|
|
46
45
|
writeAbstract,
|
|
47
46
|
writeContacts,
|
|
48
47
|
writeContactsForResource,
|
|
49
|
-
writeDistributions,
|
|
50
48
|
writeGraphicOverviews,
|
|
51
49
|
writeKeywords,
|
|
52
50
|
writeKind,
|
|
@@ -55,7 +53,6 @@ import {
|
|
|
55
53
|
writeLineage,
|
|
56
54
|
writeOnlineResources,
|
|
57
55
|
writeOtherConstraints,
|
|
58
|
-
writeOwnerOrganization,
|
|
59
56
|
writeRecordUpdated,
|
|
60
57
|
writeResourceCreated,
|
|
61
58
|
writeResourcePublished,
|
|
@@ -100,7 +97,6 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
100
97
|
spatialRepresentation: readSpatialRepresentation,
|
|
101
98
|
overviews: readOverviews,
|
|
102
99
|
lineage: readLineage,
|
|
103
|
-
distributions: readDistributions,
|
|
104
100
|
onlineResources: readOnlineResources,
|
|
105
101
|
temporalExtents: readTemporalExtents,
|
|
106
102
|
spatialExtents: readSpatialExtents,
|
|
@@ -116,7 +112,7 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
116
112
|
> = {
|
|
117
113
|
uniqueIdentifier: writeUniqueIdentifier,
|
|
118
114
|
kind: writeKind,
|
|
119
|
-
ownerOrganization:
|
|
115
|
+
ownerOrganization: () => undefined, // fixme: find a way to store this value properly
|
|
120
116
|
recordUpdated: writeRecordUpdated,
|
|
121
117
|
recordCreated: () => undefined, // not supported in ISO19139
|
|
122
118
|
recordPublished: () => undefined, // not supported in ISO19139
|
|
@@ -138,10 +134,9 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
138
134
|
spatialRepresentation: writeSpatialRepresentation,
|
|
139
135
|
overviews: writeGraphicOverviews,
|
|
140
136
|
lineage: writeLineage,
|
|
141
|
-
distributions: writeDistributions,
|
|
142
137
|
onlineResources: writeOnlineResources,
|
|
143
138
|
temporalExtents: writeTemporalExtents,
|
|
144
|
-
spatialExtents:
|
|
139
|
+
spatialExtents: writeSpatialExtents,
|
|
145
140
|
// TODO
|
|
146
141
|
extras: () => undefined,
|
|
147
142
|
landingPage: () => undefined,
|
|
@@ -177,6 +172,7 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
177
172
|
const licenses = this.readers['licenses'](rootEl)
|
|
178
173
|
const overviews = this.readers['overviews'](rootEl)
|
|
179
174
|
const landingPage = this.readers['landingPage'](rootEl)
|
|
175
|
+
const onlineResources = this.readers['onlineResources'](rootEl)
|
|
180
176
|
|
|
181
177
|
if (kind === 'dataset') {
|
|
182
178
|
const status = this.readers['status'](rootEl)
|
|
@@ -185,7 +181,6 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
185
181
|
const spatialExtents = this.readers['spatialExtents'](rootEl)
|
|
186
182
|
const temporalExtents = this.readers['temporalExtents'](rootEl)
|
|
187
183
|
const lineage = this.readers['lineage'](rootEl)
|
|
188
|
-
const distributions = this.readers['distributions'](rootEl)
|
|
189
184
|
const updateFrequency = this.readers['updateFrequency'](rootEl)
|
|
190
185
|
|
|
191
186
|
return {
|
|
@@ -215,12 +210,11 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
215
210
|
overviews,
|
|
216
211
|
spatialExtents,
|
|
217
212
|
temporalExtents,
|
|
218
|
-
|
|
213
|
+
onlineResources,
|
|
219
214
|
updateFrequency,
|
|
220
215
|
...(landingPage && { landingPage }),
|
|
221
216
|
} as DatasetRecord
|
|
222
217
|
} else {
|
|
223
|
-
const onlineResources = this.readers['onlineResources'](rootEl)
|
|
224
218
|
return {
|
|
225
219
|
uniqueIdentifier,
|
|
226
220
|
kind,
|
|
@@ -307,6 +301,8 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
307
301
|
fieldChanged('licenses') && this.writers['licenses'](record, rootEl)
|
|
308
302
|
fieldChanged('otherConstraints') &&
|
|
309
303
|
this.writers['otherConstraints'](record, rootEl)
|
|
304
|
+
fieldChanged('onlineResources') &&
|
|
305
|
+
this.writers['onlineResources'](record, rootEl)
|
|
310
306
|
|
|
311
307
|
if (record.kind === 'dataset') {
|
|
312
308
|
fieldChanged('status') && this.writers['status'](record, rootEl)
|
|
@@ -317,12 +313,9 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
317
313
|
fieldChanged('overviews') && this.writers['overviews'](record, rootEl)
|
|
318
314
|
fieldChanged('temporalExtents') &&
|
|
319
315
|
this.writers['temporalExtents'](record, rootEl)
|
|
320
|
-
fieldChanged('
|
|
321
|
-
this.writers['
|
|
316
|
+
fieldChanged('spatialExtents') &&
|
|
317
|
+
this.writers['spatialExtents'](record, rootEl)
|
|
322
318
|
fieldChanged('lineage') && this.writers['lineage'](record, rootEl)
|
|
323
|
-
} else {
|
|
324
|
-
fieldChanged('onlineResources') &&
|
|
325
|
-
this.writers['onlineResources'](record, rootEl)
|
|
326
319
|
}
|
|
327
320
|
|
|
328
321
|
this.beforeDocumentCreation(rootEl)
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Constraint,
|
|
3
|
-
|
|
3
|
+
DatasetOnlineResource,
|
|
4
4
|
GraphicOverview,
|
|
5
5
|
Individual,
|
|
6
6
|
Keyword,
|
|
7
|
+
OnlineResource,
|
|
7
8
|
Organization,
|
|
8
9
|
RecordKind,
|
|
9
10
|
RecordStatus,
|
|
@@ -326,12 +327,12 @@ const getMimeType = pipe(
|
|
|
326
327
|
)
|
|
327
328
|
|
|
328
329
|
/**
|
|
329
|
-
* Extract
|
|
330
|
+
* Extract online resources from an MD_Distribution element
|
|
330
331
|
* @param getMimeTypeFn This function starts from a gmd:transferOptions element
|
|
331
332
|
*/
|
|
332
|
-
export function
|
|
333
|
+
export function extractDatasetOnlineResources(
|
|
333
334
|
getMimeTypeFn: ChainableFunction<XmlElement, string>
|
|
334
|
-
): ChainableFunction<XmlElement,
|
|
335
|
+
): ChainableFunction<XmlElement, DatasetOnlineResource[]> {
|
|
335
336
|
const getUrl = pipe(findChildElement('gmd:linkage'), extractMandatoryUrl())
|
|
336
337
|
const getProtocolStr = pipe(
|
|
337
338
|
findChildElement('gmd:protocol'),
|
|
@@ -774,14 +775,6 @@ export function readLineage(rootEl: XmlElement): string {
|
|
|
774
775
|
)(rootEl)
|
|
775
776
|
}
|
|
776
777
|
|
|
777
|
-
export function readDistributions(rootEl: XmlElement): DatasetDistribution[] {
|
|
778
|
-
return pipe(
|
|
779
|
-
findNestedElements('gmd:distributionInfo', 'gmd:MD_Distribution'),
|
|
780
|
-
mapArray(extractDatasetDistributions(getMimeType)),
|
|
781
|
-
flattenArray()
|
|
782
|
-
)(rootEl)
|
|
783
|
-
}
|
|
784
|
-
|
|
785
778
|
export function readUpdateFrequency(rootEl: XmlElement): UpdateFrequency {
|
|
786
779
|
return pipe(
|
|
787
780
|
findIdentification(),
|
|
@@ -845,9 +838,14 @@ export function extractServiceOnlineResources(): ChainableFunction<
|
|
|
845
838
|
)
|
|
846
839
|
}
|
|
847
840
|
|
|
848
|
-
export function readOnlineResources(
|
|
849
|
-
rootEl
|
|
850
|
-
|
|
841
|
+
export function readOnlineResources(rootEl: XmlElement): OnlineResource[] {
|
|
842
|
+
if (readKind(rootEl) === 'dataset') {
|
|
843
|
+
return pipe(
|
|
844
|
+
findNestedElements('gmd:distributionInfo', 'gmd:MD_Distribution'),
|
|
845
|
+
mapArray(extractDatasetOnlineResources(getMimeType)),
|
|
846
|
+
flattenArray()
|
|
847
|
+
)(rootEl)
|
|
848
|
+
}
|
|
851
849
|
return pipe(
|
|
852
850
|
findNestedElements('gmd:distributionInfo', 'gmd:MD_Distribution'),
|
|
853
851
|
mapArray(extractServiceOnlineResources()),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CatalogRecord,
|
|
3
3
|
Constraint,
|
|
4
|
-
|
|
4
|
+
DatasetOnlineResource,
|
|
5
5
|
DatasetRecord,
|
|
6
6
|
DatasetServiceDistribution,
|
|
7
7
|
Individual,
|
|
@@ -29,7 +29,6 @@ import {
|
|
|
29
29
|
tap,
|
|
30
30
|
} from '../function-utils'
|
|
31
31
|
import {
|
|
32
|
-
XmlElement,
|
|
33
32
|
addAttribute,
|
|
34
33
|
appendChildren,
|
|
35
34
|
createChild,
|
|
@@ -44,6 +43,7 @@ import {
|
|
|
44
43
|
removeChildren,
|
|
45
44
|
removeChildrenByName,
|
|
46
45
|
setTextContent,
|
|
46
|
+
XmlElement,
|
|
47
47
|
} from '../xml-utils'
|
|
48
48
|
import { readKind } from './read-parts'
|
|
49
49
|
import { writeGeometry } from './utils/geometry'
|
|
@@ -179,7 +179,7 @@ export function getRoleCode(role: Role): string {
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
|
|
182
|
-
export function
|
|
182
|
+
export function getServiceDistributionProtocol(
|
|
183
183
|
distribution: DatasetServiceDistribution
|
|
184
184
|
): string {
|
|
185
185
|
switch (distribution.accessServiceProtocol.toLowerCase()) {
|
|
@@ -610,11 +610,11 @@ export function createLicense(license: Constraint) {
|
|
|
610
610
|
)
|
|
611
611
|
}
|
|
612
612
|
|
|
613
|
-
export function
|
|
613
|
+
export function removeOnlineResources() {
|
|
614
614
|
return pipe(removeChildrenByName('gmd:distributionInfo'))
|
|
615
615
|
}
|
|
616
616
|
|
|
617
|
-
function
|
|
617
|
+
function appendOnlineResourceFormat(mimeType: string) {
|
|
618
618
|
return appendChildren(
|
|
619
619
|
pipe(
|
|
620
620
|
createElement('gmd:distributionFormat'),
|
|
@@ -638,8 +638,8 @@ export function createDistributionInfo() {
|
|
|
638
638
|
}
|
|
639
639
|
|
|
640
640
|
// apply to MD_Distribution
|
|
641
|
-
export function
|
|
642
|
-
|
|
641
|
+
export function appendOnlineResource(
|
|
642
|
+
onlineResource: DatasetOnlineResource,
|
|
643
643
|
appendFormatFn: (
|
|
644
644
|
mimeType: string
|
|
645
645
|
) => ChainableFunction<XmlElement, XmlElement>
|
|
@@ -647,16 +647,16 @@ export function appendDistribution(
|
|
|
647
647
|
let name: string
|
|
648
648
|
let functionCode: string
|
|
649
649
|
let protocol: string
|
|
650
|
-
if (
|
|
651
|
-
name =
|
|
650
|
+
if (onlineResource.type === 'service') {
|
|
651
|
+
name = onlineResource.identifierInService // this is for GeoNetwork to know the layer name
|
|
652
652
|
functionCode = 'download'
|
|
653
|
-
protocol =
|
|
654
|
-
} else if (
|
|
655
|
-
name =
|
|
653
|
+
protocol = getServiceDistributionProtocol(onlineResource)
|
|
654
|
+
} else if (onlineResource.type === 'download') {
|
|
655
|
+
name = onlineResource.name
|
|
656
656
|
functionCode = 'download'
|
|
657
657
|
protocol = 'WWW:DOWNLOAD'
|
|
658
658
|
} else {
|
|
659
|
-
name =
|
|
659
|
+
name = onlineResource.name
|
|
660
660
|
functionCode = 'information'
|
|
661
661
|
protocol = 'WWW:LINK'
|
|
662
662
|
}
|
|
@@ -666,12 +666,12 @@ export function appendDistribution(
|
|
|
666
666
|
createChild('gmd:MD_DigitalTransferOptions'),
|
|
667
667
|
createChild('gmd:onLine'),
|
|
668
668
|
createChild('gmd:CI_OnlineResource'),
|
|
669
|
-
writeLinkage(
|
|
670
|
-
'description' in
|
|
669
|
+
writeLinkage(onlineResource.url),
|
|
670
|
+
'description' in onlineResource
|
|
671
671
|
? appendChildren(
|
|
672
672
|
pipe(
|
|
673
673
|
createElement('gmd:description'),
|
|
674
|
-
writeCharacterString(
|
|
674
|
+
writeCharacterString(onlineResource.description)
|
|
675
675
|
)
|
|
676
676
|
)
|
|
677
677
|
: noop,
|
|
@@ -695,7 +695,9 @@ export function appendDistribution(
|
|
|
695
695
|
)
|
|
696
696
|
)
|
|
697
697
|
return pipe(
|
|
698
|
-
'mimeType' in
|
|
698
|
+
'mimeType' in onlineResource
|
|
699
|
+
? appendFormatFn(onlineResource.mimeType)
|
|
700
|
+
: noop,
|
|
699
701
|
appendTransferOptions
|
|
700
702
|
)
|
|
701
703
|
}
|
|
@@ -743,33 +745,6 @@ export function writeKind(record: CatalogRecord, rootEl: XmlElement) {
|
|
|
743
745
|
)(rootEl)
|
|
744
746
|
}
|
|
745
747
|
|
|
746
|
-
export function writeOwnerOrganization(
|
|
747
|
-
record: CatalogRecord,
|
|
748
|
-
rootEl: XmlElement
|
|
749
|
-
) {
|
|
750
|
-
// if no contact matches the owner org, create an empty one
|
|
751
|
-
const ownerContact: Individual = record.contacts.find(
|
|
752
|
-
(contact) => contact.organization.name === record.ownerOrganization.name
|
|
753
|
-
)
|
|
754
|
-
pipe(
|
|
755
|
-
findChildOrCreate('gmd:contact'),
|
|
756
|
-
removeAllChildren(),
|
|
757
|
-
appendResponsibleParty(
|
|
758
|
-
ownerContact
|
|
759
|
-
? {
|
|
760
|
-
...ownerContact,
|
|
761
|
-
// owner responsible party is always point of contact
|
|
762
|
-
role: 'point_of_contact',
|
|
763
|
-
}
|
|
764
|
-
: {
|
|
765
|
-
organization: record.ownerOrganization,
|
|
766
|
-
email: '',
|
|
767
|
-
role: 'point_of_contact',
|
|
768
|
-
}
|
|
769
|
-
)
|
|
770
|
-
)(rootEl)
|
|
771
|
-
}
|
|
772
|
-
|
|
773
748
|
export function writeRecordUpdated(record: CatalogRecord, rootEl: XmlElement) {
|
|
774
749
|
pipe(
|
|
775
750
|
findChildOrCreate('gmd:dateStamp'),
|
|
@@ -1032,20 +1007,6 @@ export function writeGraphicOverviews(
|
|
|
1032
1007
|
)(rootEl)
|
|
1033
1008
|
}
|
|
1034
1009
|
|
|
1035
|
-
export function writeDistributions(record: DatasetRecord, rootEl: XmlElement) {
|
|
1036
|
-
pipe(
|
|
1037
|
-
removeDistributions(),
|
|
1038
|
-
appendChildren(
|
|
1039
|
-
...record.distributions.map((d) =>
|
|
1040
|
-
pipe(
|
|
1041
|
-
createDistributionInfo(),
|
|
1042
|
-
appendDistribution(d, appendDistributionFormat)
|
|
1043
|
-
)
|
|
1044
|
-
)
|
|
1045
|
-
)
|
|
1046
|
-
)(rootEl)
|
|
1047
|
-
}
|
|
1048
|
-
|
|
1049
1010
|
export function writeLineage(record: DatasetRecord, rootEl: XmlElement) {
|
|
1050
1011
|
pipe(
|
|
1051
1012
|
findNestedChildOrCreate(
|
|
@@ -1127,16 +1088,40 @@ export function createOnlineResource(onlineResource: ServiceOnlineResource) {
|
|
|
1127
1088
|
)
|
|
1128
1089
|
}
|
|
1129
1090
|
|
|
1130
|
-
export function
|
|
1131
|
-
record:
|
|
1091
|
+
export function appendDatasetOnlineResources(
|
|
1092
|
+
record: DatasetRecord,
|
|
1132
1093
|
rootEl: XmlElement
|
|
1133
1094
|
) {
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1095
|
+
appendChildren(
|
|
1096
|
+
...record.onlineResources.map((d) =>
|
|
1097
|
+
pipe(
|
|
1098
|
+
createDistributionInfo(),
|
|
1099
|
+
appendOnlineResource(d, appendOnlineResourceFormat)
|
|
1100
|
+
)
|
|
1101
|
+
)
|
|
1137
1102
|
)(rootEl)
|
|
1138
1103
|
}
|
|
1139
1104
|
|
|
1105
|
+
export function appendServiceOnlineResources(
|
|
1106
|
+
record: ServiceRecord,
|
|
1107
|
+
rootEl: XmlElement
|
|
1108
|
+
) {
|
|
1109
|
+
appendChildren(...record.onlineResources.map(createOnlineResource))(rootEl)
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1112
|
+
export function writeOnlineResources(
|
|
1113
|
+
record: CatalogRecord,
|
|
1114
|
+
rootEl: XmlElement
|
|
1115
|
+
) {
|
|
1116
|
+
removeOnlineResources()(rootEl)
|
|
1117
|
+
|
|
1118
|
+
if (record.kind === 'dataset') {
|
|
1119
|
+
appendDatasetOnlineResources(record, rootEl)
|
|
1120
|
+
return
|
|
1121
|
+
}
|
|
1122
|
+
appendServiceOnlineResources(record, rootEl)
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1140
1125
|
export function writeTemporalExtents(
|
|
1141
1126
|
record: DatasetRecord,
|
|
1142
1127
|
rootEl: XmlElement
|
|
@@ -36,7 +36,8 @@ export function createDocument(rootEl: XmlElement): XmlDocument {
|
|
|
36
36
|
if (namespace === 'xmlns' || namespace === null) return
|
|
37
37
|
if (rootEl.attributes[`xmlns:${namespace}`]) return
|
|
38
38
|
if (!NAMESPACES[namespace]) {
|
|
39
|
-
|
|
39
|
+
// the namespace is unknown but it might still be declared correctly: ignore it
|
|
40
|
+
return
|
|
40
41
|
}
|
|
41
42
|
rootEl.attributes[`xmlns:${namespace}`] = NAMESPACES[namespace]
|
|
42
43
|
}
|
|
@@ -180,11 +181,11 @@ export function findParent(
|
|
|
180
181
|
|
|
181
182
|
export function readText(): ChainableFunction<XmlElement, string> {
|
|
182
183
|
return (el) => {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
return textNode ? textNode.text :
|
|
184
|
+
if (!el) return null
|
|
185
|
+
const textNode = Array.isArray(el.children)
|
|
186
|
+
? (el.children.find((node) => node.type === 'text') as XmlText)
|
|
187
|
+
: null
|
|
188
|
+
return textNode ? textNode.text : ''
|
|
188
189
|
}
|
|
189
190
|
}
|
|
190
191
|
|
|
@@ -456,3 +457,21 @@ export function renameElements(
|
|
|
456
457
|
doReplace(rootElement)
|
|
457
458
|
return rootElement
|
|
458
459
|
}
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* This function use the DOMParser to check if the given xmlString is a valid XML file or throw an error
|
|
463
|
+
* (Generated by chatGPT)
|
|
464
|
+
* @param xmlString
|
|
465
|
+
*/
|
|
466
|
+
export function assertValidXml(xmlString: string): Document {
|
|
467
|
+
const parser = new DOMParser()
|
|
468
|
+
const xmlDoc = parser.parseFromString(xmlString, 'application/xml')
|
|
469
|
+
const parserError = xmlDoc.querySelector('parsererror')
|
|
470
|
+
|
|
471
|
+
if (parserError) {
|
|
472
|
+
console.error(parserError)
|
|
473
|
+
throw new Error('File is not a valid XML.')
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
return xmlDoc
|
|
477
|
+
}
|