geonetwork-ui 2.4.0-dev.d000fb89 → 2.4.0-dev.d3529f01
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 +4 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +64 -0
- package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +14 -0
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +254 -0
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/index.mjs +2 -0
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.mjs +17 -0
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +196 -0
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +46 -0
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +74 -0
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.mjs +2 -0
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +27 -0
- package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +11 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +6 -6
- 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 +17 -29
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +8 -15
- 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 +54 -54
- package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +35 -3
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +78 -39
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +41 -7
- package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.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/feature/catalog/src/lib/feature-catalog.module.mjs +7 -4
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +10 -7
- package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +40 -50
- 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.effects.mjs +5 -5
- package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +4 -16
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +4 -2
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +95 -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/form-field-contacts.component.mjs +109 -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 +15 -32
- 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 +23 -10
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +38 -60
- 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-overviews/form-field-overviews.component.mjs +86 -11
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +4 -8
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +36 -7
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +35 -59
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +4 -4
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +14 -5
- 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 +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +41 -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 -5
- package/esm2022/libs/feature/map/src/index.mjs +2 -9
- package/esm2022/libs/feature/map/src/lib/+state/map.actions.mjs +4 -7
- package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +9 -15
- package/esm2022/libs/feature/map/src/lib/+state/map.reducer.mjs +13 -44
- package/esm2022/libs/feature/map/src/lib/+state/map.selectors.mjs +3 -2
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +16 -16
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +16 -10
- package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +10 -8
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +11 -7
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +10 -6
- package/esm2022/libs/feature/map/src/lib/constant/index.mjs +1 -2
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +4 -44
- package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +43 -29
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +17 -8
- package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +27 -0
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +4 -168
- 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 +21 -17
- package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +14 -8
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +40 -52
- 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/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +7 -7
- package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +1 -6
- 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/inputs/src/index.mjs +5 -1
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -4
- 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/file-input/file-input.component.mjs +87 -0
- package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +5 -4
- package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +6 -4
- package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +4 -4
- package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +4 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +2 -7
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +3 -3
- 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/index.mjs +4 -3
- package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +8 -6
- package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +137 -0
- package/esm2022/libs/ui/map/src/lib/components/map-container/map-settings.token.mjs +13 -0
- package/esm2022/libs/ui/map/src/lib/map-utils.mjs +37 -0
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +3 -3
- package/esm2022/libs/util/app-config/src/index.mjs +2 -1
- package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +27 -0
- 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 +22 -0
- package/esm2022/translations/en.json +53 -31
- package/esm2022/translations/es.json +22 -0
- package/esm2022/translations/fr.json +84 -62
- package/esm2022/translations/it.json +22 -0
- package/esm2022/translations/nl.json +22 -0
- package/esm2022/translations/pt.json +22 -0
- package/fesm2022/geonetwork-ui.mjs +7642 -6729
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/index.d.ts +3 -0
- package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/common/license.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/common/license.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/common/url.d.ts +7 -0
- package/libs/api/metadata-converter/src/lib/common/url.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +13 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts +2 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/index.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts +16 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +20 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +9 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts +8 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts +2 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts +6 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/find-converter.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/iso19115-3/iso19115-3.converter.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 -2
- 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 +10 -11
- 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 +58 -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.service.d.ts +21 -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 -1
- 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 +6 -6
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +15 -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/feature/catalog/src/lib/feature-catalog.module.d.ts +2 -1
- package/libs/feature/catalog/src/lib/feature-catalog.module.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/feature-dataviz.module.d.ts +10 -9
- package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +13 -20
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-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.effects.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +1 -5
- package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +2 -1
- package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +34 -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/form-field-contacts.component.d.ts +38 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.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 +2 -5
- 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 -1
- 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 +5 -2
- 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-map-container/form-field-map-container.component.d.ts +6 -13
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +1 -1
- 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-overviews/form-field-overviews.component.d.ts +20 -2
- 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 +1 -3
- 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-spatial-extent/form-field-spatial-extent.component.d.ts +7 -2
- 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 +9 -15
- 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.component.d.ts +5 -3
- 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 +3 -2
- package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts +10 -1
- 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 +2 -2
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/map/src/index.d.ts +1 -8
- package/libs/feature/map/src/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/+state/map.actions.d.ts +13 -39
- package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
- package/libs/feature/map/src/lib/+state/map.facade.d.ts +9 -10
- package/libs/feature/map/src/lib/+state/map.facade.d.ts.map +1 -1
- package/libs/feature/map/src/lib/+state/map.reducer.d.ts +4 -2
- package/libs/feature/map/src/lib/+state/map.reducer.d.ts.map +1 -1
- package/libs/feature/map/src/lib/+state/map.selectors.d.ts +6 -1
- package/libs/feature/map/src/lib/+state/map.selectors.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 +7 -9
- 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.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +2 -2
- 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/constant/index.d.ts +0 -1
- package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/feature-map.module.d.ts +12 -18
- 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 +7 -7
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts +4 -3
- package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
- package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts +14 -0
- package/libs/feature/map/src/lib/map-state-container/map-state-container.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +0 -30
- package/libs/feature/map/src/lib/utils/map-utils.service.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 +10 -7
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/feature-record.module.d.ts +13 -11
- package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +14 -20
- 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/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts +1 -1
- package/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.d.ts.map +1 -1
- package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +9 -10
- package/libs/ui/catalog/src/lib/ui-catalog.module.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/inputs/src/index.d.ts +4 -0
- package/libs/ui/inputs/src/index.d.ts.map +1 -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/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 +1 -1
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +0 -1
- package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +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 +25 -26
- 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/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/map/src/index.d.ts +3 -2
- package/libs/ui/map/src/index.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +3 -4
- package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts +37 -0
- package/libs/ui/map/src/lib/components/map-container/map-container.component.d.ts.map +1 -0
- package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts +18 -0
- package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -0
- package/libs/ui/map/src/lib/map-utils.d.ts +7 -0
- package/libs/ui/map/src/lib/map-utils.d.ts.map +1 -0
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/util/app-config/src/index.d.ts +1 -0
- package/libs/util/app-config/src/index.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/map-layers.d.ts +4 -0
- package/libs/util/app-config/src/lib/map-layers.d.ts.map +1 -0
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +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 +5 -3
- package/src/libs/api/metadata-converter/src/index.ts +3 -0
- package/src/libs/api/metadata-converter/src/lib/common/license.ts +66 -0
- package/src/libs/api/metadata-converter/src/lib/common/url.ts +15 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +378 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/namespaces.ts +17 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +370 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +95 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/individual-name.ts +20 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/keyword.mapper.ts +16 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/role.mapper.ts +48 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +97 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +19 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +67 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/uri.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +68 -0
- package/src/libs/api/metadata-converter/src/lib/find-converter.ts +13 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +272 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.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/fixtures/opendataswiss.records.ts +110 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +85 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +73 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +5 -6
- 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 +21 -43
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +5 -14
- 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 +133 -156
- package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +37 -2
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +132 -68
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -3
- package/src/libs/common/domain/src/lib/model/record/contact.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +7 -7
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +26 -0
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +10 -0
- package/src/libs/common/fixtures/src/index.ts +3 -0
- package/src/libs/common/fixtures/src/lib/individual.fixtures.ts +61 -0
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +216 -175
- package/src/libs/common/fixtures/src/lib/map/index.ts +1 -0
- package/src/libs/common/fixtures/src/lib/map/map-context.fixtures.ts +53 -0
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +3 -3
- package/src/libs/common/fixtures/src/lib/user.fixtures.ts +13 -0
- package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +5 -1
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
- package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +6 -2
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +5 -2
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +38 -78
- 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.effects.ts +11 -4
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +12 -24
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +1 -13
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +47 -0
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +132 -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/form-field-contacts.component.html +40 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +170 -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 +13 -23
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +11 -50
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-resource-updated/form-field-resource-updated.component.ts → form-field-date-updated/form-field-date-updated.component.ts} +4 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +3 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +35 -3
- 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-map-container/form-field-map-container.component.html +1 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts +41 -83
- 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-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 +93 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +13 -6
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +0 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +7 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +62 -6
- 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 +23 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +37 -69
- 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 +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +33 -20
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +12 -3
- 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 +31 -29
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +2 -1
- package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +2 -6
- package/src/libs/feature/editor/src/lib/fields.config.ts +45 -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 -3
- package/src/libs/feature/map/src/index.ts +1 -8
- package/src/libs/feature/map/src/lib/+state/map.actions.ts +10 -25
- package/src/libs/feature/map/src/lib/+state/map.facade.ts +11 -15
- package/src/libs/feature/map/src/lib/+state/map.reducer.ts +16 -53
- package/src/libs/feature/map/src/lib/+state/map.selectors.ts +7 -2
- package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +18 -21
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +17 -11
- package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +11 -12
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +12 -10
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +11 -9
- package/src/libs/feature/map/src/lib/constant/index.ts +0 -1
- package/src/libs/feature/map/src/lib/feature-map.module.ts +0 -26
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +38 -20
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +2 -2
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +15 -5
- package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.html +4 -0
- package/src/libs/feature/map/src/lib/map-state-container/map-state-container.component.ts +29 -0
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +1 -229
- 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 +29 -20
- package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -3
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +4 -4
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +45 -72
- 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 +1 -0
- package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +8 -1
- package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -3
- 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/inputs/src/index.ts +4 -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 +4 -1
- 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/file-input/file-input.component.css +4 -0
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +7 -3
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +2 -1
- 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 +30 -22
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +5 -1
- 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 +1 -1
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -1
- 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.html +1 -1
- 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.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 +13 -16
- package/src/libs/ui/map/src/index.ts +3 -2
- package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +1 -1
- package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +8 -5
- package/src/libs/ui/map/src/lib/components/map-container/map-container.component.css +0 -0
- package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +203 -0
- package/src/libs/ui/map/src/lib/components/map-container/map-settings.token.ts +23 -0
- package/src/libs/ui/map/src/lib/map-utils.ts +54 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +4 -2
- package/src/libs/util/app-config/src/index.ts +1 -0
- package/src/libs/util/app-config/src/lib/map-layers.ts +31 -0
- 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 +35 -4
- package/translations/de.json +22 -0
- package/translations/en.json +53 -31
- package/translations/es.json +22 -0
- package/translations/fr.json +84 -62
- package/translations/it.json +22 -0
- package/translations/nl.json +22 -0
- package/translations/pt.json +22 -0
- package/translations/sk.json +22 -0
- package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -96
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -19
- 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/feature/map/src/lib/+state/map.effects.mjs +0 -15
- package/esm2022/libs/feature/map/src/lib/+state/map.models.mjs +0 -2
- package/esm2022/libs/feature/map/src/lib/constant/map-options.mjs +0 -8
- package/esm2022/libs/feature/map/src/lib/constant/style.constant.mjs +0 -17
- package/esm2022/libs/feature/map/src/lib/feature-info/feature-info.service.mjs +0 -38
- package/esm2022/libs/feature/map/src/lib/manager/map-instance.directive.mjs +0 -19
- package/esm2022/libs/feature/map/src/lib/manager/map-manager.service.mjs +0 -19
- package/esm2022/libs/feature/map/src/lib/map-container/map-container.component.mjs +0 -27
- package/esm2022/libs/feature/map/src/lib/map-context/component/map-context.component.mjs +0 -46
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +0 -10
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +0 -289
- package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -39
- package/esm2022/libs/ui/map/src/lib/components/map/map.component.mjs +0 -40
- package/esm2022/libs/ui/map/src/lib/ui-map.module.mjs +0 -33
- 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 -9
- 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/feature/map/src/lib/+state/map.effects.d.ts +0 -9
- package/libs/feature/map/src/lib/+state/map.effects.d.ts.map +0 -1
- package/libs/feature/map/src/lib/+state/map.models.d.ts +0 -9
- package/libs/feature/map/src/lib/+state/map.models.d.ts.map +0 -1
- package/libs/feature/map/src/lib/constant/map-options.d.ts +0 -9
- package/libs/feature/map/src/lib/constant/map-options.d.ts.map +0 -1
- package/libs/feature/map/src/lib/constant/style.constant.d.ts +0 -4
- package/libs/feature/map/src/lib/constant/style.constant.d.ts.map +0 -1
- package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts +0 -16
- package/libs/feature/map/src/lib/feature-info/feature-info.service.d.ts.map +0 -1
- package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts +0 -9
- package/libs/feature/map/src/lib/manager/map-instance.directive.d.ts.map +0 -1
- package/libs/feature/map/src/lib/manager/map-manager.service.d.ts +0 -11
- package/libs/feature/map/src/lib/manager/map-manager.service.d.ts.map +0 -1
- package/libs/feature/map/src/lib/map-container/map-container.component.d.ts +0 -12
- package/libs/feature/map/src/lib/map-container/map-container.component.d.ts.map +0 -1
- package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts +0 -26
- package/libs/feature/map/src/lib/map-context/component/map-context.component.d.ts.map +0 -1
- package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +0 -77
- package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +0 -1
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +0 -26
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +0 -1
- package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -17
- package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
- package/libs/ui/map/src/lib/components/map/map.component.d.ts +0 -19
- package/libs/ui/map/src/lib/components/map/map.component.d.ts.map +0 -1
- package/libs/ui/map/src/lib/ui-map.module.d.ts +0 -13
- package/libs/ui/map/src/lib/ui-map.module.d.ts.map +0 -1
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -9
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -113
- 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/feature/map/src/lib/+state/map.effects.ts +0 -7
- package/src/libs/feature/map/src/lib/+state/map.models.ts +0 -9
- package/src/libs/feature/map/src/lib/constant/map-options.ts +0 -17
- package/src/libs/feature/map/src/lib/feature-info/feature-info.service.ts +0 -42
- package/src/libs/feature/map/src/lib/manager/map-instance.directive.ts +0 -10
- package/src/libs/feature/map/src/lib/manager/map-manager.service.ts +0 -13
- package/src/libs/feature/map/src/lib/map-container/map-container.component.html +0 -1
- package/src/libs/feature/map/src/lib/map-container/map-container.component.ts +0 -26
- package/src/libs/feature/map/src/lib/map-context/component/map-context.component.html +0 -1
- package/src/libs/feature/map/src/lib/map-context/component/map-context.component.ts +0 -57
- package/src/libs/feature/map/src/lib/map-context/map-context.fixtures.ts +0 -55
- package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +0 -95
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +0 -318
- package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -29
- package/src/libs/ui/map/src/lib/components/map/map.component.ts +0 -57
- package/src/libs/ui/map/src/lib/ui-map.module.ts +0 -19
- /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → import-record/import-record.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 → online-resource-card/online-resource-card.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 → form-field-contacts/form-field-contacts.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 → 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-resource-updated/form-field-resource-updated.component.html → form-field-date-updated/form-field-date-updated.component.html} +0 -0
- /package/src/libs/feature/{map/src/lib/map-container/map-container.component.css → 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/map/src/lib/{map-context/component/map-context.component.css → map-state-container/map-state-container.component.css} +0 -0
- /package/src/libs/ui/{map/src/lib/components/map/map.component.css → layout/src/lib/modal-dialog/modal-dialog.component.css} +0 -0
- /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
- /package/src/libs/ui/map/src/lib/components/{map/map.component.html → map-container/map-container.component.html} +0 -0
|
@@ -1,59 +1,33 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core'
|
|
2
2
|
import { CommonModule } from '@angular/common'
|
|
3
|
-
import { UiMapModule } from '../../../../../libs/ui/map/src'
|
|
4
|
-
import { defaultMapOptions, FEATURE_MAP_OPTIONS } from './constant'
|
|
5
|
-
import { MapInstanceDirective } from './manager/map-instance.directive'
|
|
6
|
-
import { MapContextComponent } from './map-context/component/map-context.component'
|
|
7
3
|
import { UiLayoutModule } from '../../../../../libs/ui/layout/src'
|
|
8
4
|
import { MatIconModule } from '@angular/material/icon'
|
|
9
5
|
import { MatTabsModule } from '@angular/material/tabs'
|
|
10
6
|
import { TranslateModule } from '@ngx-translate/core'
|
|
11
7
|
import { FeatureSearchModule } from '../../../../../libs/feature/search/src'
|
|
12
8
|
import { StoreModule } from '@ngrx/store'
|
|
13
|
-
import { EffectsModule } from '@ngrx/effects'
|
|
14
9
|
import * as fromMap from './+state/map.reducer'
|
|
15
|
-
import { MapEffects } from './+state/map.effects'
|
|
16
10
|
import { MapFacade } from './+state/map.facade'
|
|
17
|
-
import { MapContainerComponent } from './map-container/map-container.component'
|
|
18
11
|
import { UiElementsModule } from '../../../../../libs/ui/elements/src'
|
|
19
12
|
import { TextInputComponent, UiInputsModule } from '../../../../../libs/ui/inputs/src'
|
|
20
|
-
import { GeocodingComponent } from './geocoding/geocoding.component'
|
|
21
13
|
import { GEOCODING_PROVIDER, GeocodingProvider } from './geocoding.service'
|
|
22
14
|
import { AddLayerFromOgcApiComponent } from './add-layer-from-ogc-api/add-layer-from-ogc-api.component'
|
|
23
15
|
|
|
24
16
|
@NgModule({
|
|
25
|
-
declarations: [
|
|
26
|
-
MapContextComponent,
|
|
27
|
-
MapInstanceDirective,
|
|
28
|
-
MapContainerComponent,
|
|
29
|
-
GeocodingComponent,
|
|
30
|
-
],
|
|
31
|
-
exports: [
|
|
32
|
-
MapContextComponent,
|
|
33
|
-
MapInstanceDirective,
|
|
34
|
-
MapContainerComponent,
|
|
35
|
-
GeocodingComponent,
|
|
36
|
-
],
|
|
37
17
|
imports: [
|
|
38
18
|
CommonModule,
|
|
39
|
-
UiMapModule,
|
|
40
19
|
UiLayoutModule,
|
|
41
20
|
MatIconModule,
|
|
42
21
|
MatTabsModule,
|
|
43
22
|
TranslateModule,
|
|
44
23
|
FeatureSearchModule,
|
|
45
24
|
StoreModule.forFeature(fromMap.MAP_FEATURE_KEY, fromMap.mapReducer),
|
|
46
|
-
EffectsModule.forFeature([MapEffects]),
|
|
47
25
|
UiElementsModule,
|
|
48
26
|
UiInputsModule,
|
|
49
27
|
AddLayerFromOgcApiComponent,
|
|
50
28
|
TextInputComponent,
|
|
51
29
|
],
|
|
52
30
|
providers: [
|
|
53
|
-
{
|
|
54
|
-
provide: FEATURE_MAP_OPTIONS,
|
|
55
|
-
useValue: defaultMapOptions,
|
|
56
|
-
},
|
|
57
31
|
MapFacade,
|
|
58
32
|
{
|
|
59
33
|
provide: GEOCODING_PROVIDER,
|
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
import { Component, OnDestroy } from '@angular/core'
|
|
2
|
-
import { catchError, from, Subject, takeUntil } from 'rxjs'
|
|
2
|
+
import { catchError, firstValueFrom, from, Subject, takeUntil } from 'rxjs'
|
|
3
3
|
import { debounceTime, switchMap } from 'rxjs/operators'
|
|
4
|
-
import { MapManagerService } from '../manager/map-manager.service'
|
|
5
|
-
import { fromLonLat } from 'ol/proj'
|
|
6
|
-
import { Polygon } from 'ol/geom'
|
|
7
4
|
import { GeocodingService } from '../geocoding.service'
|
|
5
|
+
import { MapFacade } from '../+state/map.facade'
|
|
6
|
+
import { CommonModule } from '@angular/common'
|
|
7
|
+
import { SearchInputComponent, UiInputsModule } from '../../../../../../libs/ui/inputs/src'
|
|
8
|
+
import { TranslateModule } from '@ngx-translate/core'
|
|
9
|
+
import { MapContextView } from '@geospatial-sdk/core'
|
|
8
10
|
|
|
9
11
|
@Component({
|
|
10
12
|
selector: 'gn-ui-geocoding',
|
|
11
13
|
templateUrl: './geocoding.component.html',
|
|
12
14
|
styleUrls: ['./geocoding.component.css'],
|
|
15
|
+
standalone: true,
|
|
16
|
+
imports: [
|
|
17
|
+
CommonModule,
|
|
18
|
+
UiInputsModule,
|
|
19
|
+
TranslateModule,
|
|
20
|
+
SearchInputComponent,
|
|
21
|
+
],
|
|
13
22
|
})
|
|
14
23
|
export class GeocodingComponent implements OnDestroy {
|
|
15
24
|
searchText = ''
|
|
@@ -19,7 +28,7 @@ export class GeocodingComponent implements OnDestroy {
|
|
|
19
28
|
errorMessage: string | null = null
|
|
20
29
|
|
|
21
30
|
constructor(
|
|
22
|
-
private
|
|
31
|
+
private mapFacade: MapFacade,
|
|
23
32
|
private geocodingService: GeocodingService
|
|
24
33
|
) {
|
|
25
34
|
this.searchTextChanged
|
|
@@ -62,32 +71,41 @@ export class GeocodingComponent implements OnDestroy {
|
|
|
62
71
|
this.errorMessage = null
|
|
63
72
|
}
|
|
64
73
|
|
|
65
|
-
zoomToLocation(result: any) {
|
|
66
|
-
const map = this.mapManager.map
|
|
67
|
-
const view = map.getView()
|
|
74
|
+
async zoomToLocation(result: any) {
|
|
68
75
|
const geometry = result.geom
|
|
69
76
|
|
|
70
77
|
if (geometry.type === 'Point') {
|
|
71
|
-
this.zoomToPoint(geometry.coordinates
|
|
78
|
+
await this.zoomToPoint(geometry.coordinates)
|
|
72
79
|
} else if (geometry.type === 'Polygon') {
|
|
73
|
-
this.zoomToPolygon(geometry.coordinates
|
|
80
|
+
await this.zoomToPolygon(geometry.coordinates)
|
|
74
81
|
} else {
|
|
75
82
|
console.error(`Unsupported geometry type: ${geometry.type}`)
|
|
76
83
|
}
|
|
77
84
|
}
|
|
78
85
|
|
|
79
|
-
zoomToPoint(pointCoords: [number, number]
|
|
80
|
-
const
|
|
81
|
-
view
|
|
82
|
-
|
|
86
|
+
async zoomToPoint(pointCoords: [number, number]) {
|
|
87
|
+
const context = await firstValueFrom(this.mapFacade.context$)
|
|
88
|
+
const view: MapContextView = {
|
|
89
|
+
center: pointCoords,
|
|
90
|
+
zoom: 10,
|
|
91
|
+
}
|
|
92
|
+
this.mapFacade.applyContext({
|
|
93
|
+
...context,
|
|
94
|
+
view,
|
|
95
|
+
})
|
|
83
96
|
}
|
|
84
97
|
|
|
85
|
-
zoomToPolygon(polygonCoords: [[number, number][]]
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
98
|
+
async zoomToPolygon(polygonCoords: [[number, number][]]) {
|
|
99
|
+
const context = await firstValueFrom(this.mapFacade.context$)
|
|
100
|
+
const view: MapContextView = {
|
|
101
|
+
geometry: {
|
|
102
|
+
type: 'Polygon',
|
|
103
|
+
coordinates: polygonCoords,
|
|
104
|
+
},
|
|
105
|
+
}
|
|
106
|
+
this.mapFacade.applyContext({
|
|
107
|
+
...context,
|
|
108
|
+
view,
|
|
91
109
|
})
|
|
92
110
|
}
|
|
93
111
|
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
<mat-icon class="material-symbols-outlined -ml-2 mr-2 shrink-0"
|
|
14
14
|
>chevron_right</mat-icon
|
|
15
15
|
>
|
|
16
|
-
<span class="mr-2 grow">{{ layer.
|
|
16
|
+
<span class="mr-2 grow">{{ layer.label }}</span>
|
|
17
17
|
<a
|
|
18
18
|
href
|
|
19
19
|
class="underline text-sm text-red-700 hover:text-red-900"
|
|
20
|
-
(click)="deleteLayer(index)"
|
|
20
|
+
(click)="deleteLayer(index); $event.preventDefault()"
|
|
21
21
|
>
|
|
22
22
|
delete
|
|
23
23
|
</a>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core'
|
|
2
2
|
import { MapFacade } from '../+state/map.facade'
|
|
3
|
+
import { firstValueFrom, map } from 'rxjs'
|
|
4
|
+
import { MapContextLayer } from '@geospatial-sdk/core'
|
|
3
5
|
import { MatIconModule } from '@angular/material/icon'
|
|
4
6
|
import { UiLayoutModule } from '../../../../../../libs/ui/layout/src'
|
|
5
7
|
import { MatTabsModule } from '@angular/material/tabs'
|
|
@@ -31,15 +33,23 @@ import { CommonModule } from '@angular/common'
|
|
|
31
33
|
],
|
|
32
34
|
})
|
|
33
35
|
export class LayersPanelComponent {
|
|
34
|
-
layers$ = this.mapFacade.layers
|
|
36
|
+
layers$ = this.mapFacade.context$.pipe(map((context) => context.layers))
|
|
35
37
|
ogcUrl = ''
|
|
36
38
|
constructor(private mapFacade: MapFacade) {}
|
|
37
39
|
|
|
38
|
-
deleteLayer(index: number) {
|
|
39
|
-
this.mapFacade.
|
|
40
|
+
async deleteLayer(index: number) {
|
|
41
|
+
const context = await firstValueFrom(this.mapFacade.context$)
|
|
42
|
+
this.mapFacade.applyContext({
|
|
43
|
+
...context,
|
|
44
|
+
layers: context.layers.filter((_, i) => i !== index),
|
|
45
|
+
})
|
|
40
46
|
}
|
|
41
47
|
|
|
42
|
-
addLayer(layer) {
|
|
43
|
-
this.mapFacade.
|
|
48
|
+
async addLayer(layer: MapContextLayer) {
|
|
49
|
+
const context = await firstValueFrom(this.mapFacade.context$)
|
|
50
|
+
this.mapFacade.applyContext({
|
|
51
|
+
...context,
|
|
52
|
+
layers: [...context.layers, layer],
|
|
53
|
+
})
|
|
44
54
|
}
|
|
45
55
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core'
|
|
2
|
+
import { Observable } from 'rxjs'
|
|
3
|
+
import { MapFacade } from '../+state/map.facade'
|
|
4
|
+
import { MapContext } from '@geospatial-sdk/core'
|
|
5
|
+
import { MapContainerComponent } from '../../../../../../libs/ui/map/src'
|
|
6
|
+
import { CommonModule } from '@angular/common'
|
|
7
|
+
import { Feature } from 'geojson'
|
|
8
|
+
|
|
9
|
+
@Component({
|
|
10
|
+
selector: 'gn-ui-map-state-container',
|
|
11
|
+
templateUrl: './map-state-container.component.html',
|
|
12
|
+
styleUrls: ['./map-state-container.component.css'],
|
|
13
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14
|
+
standalone: true,
|
|
15
|
+
imports: [MapContainerComponent, CommonModule],
|
|
16
|
+
})
|
|
17
|
+
export class MapStateContainerComponent {
|
|
18
|
+
context$: Observable<MapContext> = this.mapFacade.context$
|
|
19
|
+
|
|
20
|
+
constructor(private mapFacade: MapFacade) {}
|
|
21
|
+
|
|
22
|
+
handleFeaturesClicked(features: Feature[]) {
|
|
23
|
+
if (!features.length) {
|
|
24
|
+
this.mapFacade.clearFeatureSelection()
|
|
25
|
+
return
|
|
26
|
+
}
|
|
27
|
+
this.mapFacade.selectFeatures(features)
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -1,42 +1,8 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http'
|
|
2
1
|
import { Injectable } from '@angular/core'
|
|
3
|
-
import
|
|
4
|
-
import { extend, Extent, isEmpty } from 'ol/extent'
|
|
5
|
-
import Feature from 'ol/Feature'
|
|
2
|
+
import { extend, Extent } from 'ol/extent'
|
|
6
3
|
import GeoJSON from 'ol/format/GeoJSON'
|
|
7
|
-
import { Geometry } from 'ol/geom'
|
|
8
|
-
import Layer from 'ol/layer/Layer'
|
|
9
|
-
import Map from 'ol/Map'
|
|
10
4
|
import { transformExtent } from 'ol/proj'
|
|
11
|
-
import Source from 'ol/source/Source'
|
|
12
|
-
import ImageWMS from 'ol/source/ImageWMS'
|
|
13
|
-
import TileWMS from 'ol/source/TileWMS'
|
|
14
|
-
import VectorSource from 'ol/source/Vector'
|
|
15
|
-
import { defaults, DragPan, Interaction, MouseWheelZoom } from 'ol/interaction'
|
|
16
|
-
import {
|
|
17
|
-
mouseOnly,
|
|
18
|
-
noModifierKeys,
|
|
19
|
-
platformModifierKeyOnly,
|
|
20
|
-
primaryAction,
|
|
21
|
-
} from 'ol/events/condition'
|
|
22
|
-
import { Observable } from 'rxjs'
|
|
23
|
-
import { map } from 'rxjs/operators'
|
|
24
|
-
import {
|
|
25
|
-
MapContextLayerModel,
|
|
26
|
-
MapContextLayerWmsModel,
|
|
27
|
-
} from '../map-context/map-context.model'
|
|
28
|
-
import Collection from 'ol/Collection'
|
|
29
|
-
import MapBrowserEvent from 'ol/MapBrowserEvent'
|
|
30
5
|
import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
31
|
-
import { ProxyService } from '../../../../../../libs/util/shared/src'
|
|
32
|
-
import { WmsEndpoint, WmtsEndpoint } from '@camptocamp/ogc-client'
|
|
33
|
-
import { LONLAT_CRS_CODES } from '../constant/projections'
|
|
34
|
-
import { fromEPSGCode, register } from 'ol/proj/proj4'
|
|
35
|
-
import proj4 from 'proj4'
|
|
36
|
-
import { defaults as defaultControls } from 'ol/control/defaults'
|
|
37
|
-
|
|
38
|
-
const FEATURE_PROJECTION = 'EPSG:3857'
|
|
39
|
-
const DATA_PROJECTION = 'EPSG:4326'
|
|
40
6
|
|
|
41
7
|
const GEOJSON = new GeoJSON()
|
|
42
8
|
|
|
@@ -44,178 +10,6 @@ const GEOJSON = new GeoJSON()
|
|
|
44
10
|
providedIn: 'root',
|
|
45
11
|
})
|
|
46
12
|
export class MapUtilsService {
|
|
47
|
-
constructor(private http: HttpClient, private proxy: ProxyService) {}
|
|
48
|
-
|
|
49
|
-
createEmptyMap(): Map {
|
|
50
|
-
return new Map({
|
|
51
|
-
controls: defaultControls({
|
|
52
|
-
attribution: true,
|
|
53
|
-
attributionOptions: { collapsible: false },
|
|
54
|
-
}),
|
|
55
|
-
pixelRatio: 1,
|
|
56
|
-
})
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
readFeatureCollection = (
|
|
60
|
-
featureCollection: FeatureCollection,
|
|
61
|
-
featureProjection = FEATURE_PROJECTION,
|
|
62
|
-
dataProjection = DATA_PROJECTION
|
|
63
|
-
): Feature<Geometry>[] => {
|
|
64
|
-
return GEOJSON.readFeatures(featureCollection, {
|
|
65
|
-
featureProjection,
|
|
66
|
-
dataProjection,
|
|
67
|
-
}) as Feature<Geometry>[]
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
isWMSLayer(layer: Layer<Source>): boolean {
|
|
71
|
-
return (
|
|
72
|
-
layer.getSource() instanceof TileWMS ||
|
|
73
|
-
layer.getSource() instanceof ImageWMS
|
|
74
|
-
)
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
getGFIUrl(layer, map, coordinate): string {
|
|
78
|
-
const view = map.getView()
|
|
79
|
-
const projection = view.getProjection()
|
|
80
|
-
const resolution = view.getResolution()
|
|
81
|
-
const source = layer.getSource()
|
|
82
|
-
const params = {
|
|
83
|
-
...source.getParams(),
|
|
84
|
-
INFO_FORMAT: 'application/json',
|
|
85
|
-
}
|
|
86
|
-
return source.getFeatureInfoUrl(coordinate, resolution, projection, params)
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
getVectorFeaturesFromClick(olMap, event): Feature<Geometry>[] {
|
|
90
|
-
const features = []
|
|
91
|
-
const hit = olMap.forEachFeatureAtPixel(
|
|
92
|
-
event.pixel,
|
|
93
|
-
(feature: Feature<Geometry>) => {
|
|
94
|
-
return feature
|
|
95
|
-
},
|
|
96
|
-
{ layerFilter: (layer) => layer.getSource() instanceof VectorSource }
|
|
97
|
-
)
|
|
98
|
-
if (hit) {
|
|
99
|
-
features.push(hit)
|
|
100
|
-
}
|
|
101
|
-
return features
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
getGFIFeaturesObservablesFromClick(
|
|
105
|
-
olMap: Map,
|
|
106
|
-
event: MapBrowserEvent<PointerEvent>
|
|
107
|
-
): Observable<Feature<Geometry>[]>[] {
|
|
108
|
-
const wmsLayers = olMap.getLayers().getArray().filter(this.isWMSLayer)
|
|
109
|
-
|
|
110
|
-
if (wmsLayers.length > 0) {
|
|
111
|
-
const { coordinate } = event
|
|
112
|
-
const gfiUrls = wmsLayers.reduce(
|
|
113
|
-
(urls, layer) => [...urls, this.getGFIUrl(layer, olMap, coordinate)],
|
|
114
|
-
|
|
115
|
-
[]
|
|
116
|
-
)
|
|
117
|
-
return gfiUrls.map((url) =>
|
|
118
|
-
this.http
|
|
119
|
-
.get<FeatureCollection>(url)
|
|
120
|
-
.pipe(map((collection) => this.readFeatureCollection(collection)))
|
|
121
|
-
)
|
|
122
|
-
} else {
|
|
123
|
-
return []
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Will emit `null` if no extent could be computed
|
|
129
|
-
*/
|
|
130
|
-
async getLayerExtent(layer: MapContextLayerModel): Promise<Extent | null> {
|
|
131
|
-
let latLonExtent: Extent
|
|
132
|
-
if (
|
|
133
|
-
layer &&
|
|
134
|
-
layer.type === 'geojson' &&
|
|
135
|
-
'data' in layer &&
|
|
136
|
-
typeof layer.data === 'object' &&
|
|
137
|
-
layer.data.features[0] &&
|
|
138
|
-
layer.data.features[0].geometry
|
|
139
|
-
) {
|
|
140
|
-
latLonExtent = new GeoJSON()
|
|
141
|
-
.readFeatures(layer.data)
|
|
142
|
-
.map((feature) => feature.getGeometry())
|
|
143
|
-
.filter((geom) => !!geom)
|
|
144
|
-
.reduce(
|
|
145
|
-
(prev, curr) =>
|
|
146
|
-
prev ? extend(prev, curr.getExtent()) : curr.getExtent(),
|
|
147
|
-
null as Extent
|
|
148
|
-
)
|
|
149
|
-
} else if (layer && layer.type === 'wms') {
|
|
150
|
-
latLonExtent = await this.getWmsLayerExtent(layer)
|
|
151
|
-
} else if (layer && layer.type === 'wmts') {
|
|
152
|
-
// TODO: isolate this in utils service
|
|
153
|
-
latLonExtent = await new WmtsEndpoint(layer.url)
|
|
154
|
-
.isReady()
|
|
155
|
-
.then((endpoint) => {
|
|
156
|
-
const layerName = endpoint.getSingleLayerName() ?? layer.name
|
|
157
|
-
const wmtsLayer = endpoint.getLayerByName(layerName)
|
|
158
|
-
return wmtsLayer.latLonBoundingBox
|
|
159
|
-
})
|
|
160
|
-
} else {
|
|
161
|
-
return null
|
|
162
|
-
}
|
|
163
|
-
if (!latLonExtent || isEmpty(latLonExtent)) {
|
|
164
|
-
return null
|
|
165
|
-
}
|
|
166
|
-
return transformExtent(latLonExtent, 'EPSG:4326', 'EPSG:3857')
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
async getWmsLayerExtent(
|
|
170
|
-
layer: MapContextLayerWmsModel
|
|
171
|
-
): Promise<Extent | null> {
|
|
172
|
-
const endpoint = await new WmsEndpoint(
|
|
173
|
-
this.proxy.getProxiedUrl(layer.url)
|
|
174
|
-
).isReady()
|
|
175
|
-
const { boundingBoxes } = endpoint.getLayerByName(layer.name)
|
|
176
|
-
if (!Object.keys(boundingBoxes).length) {
|
|
177
|
-
return null
|
|
178
|
-
}
|
|
179
|
-
const lonLatCRS = Object.keys(boundingBoxes)?.find((crs) =>
|
|
180
|
-
LONLAT_CRS_CODES.includes(crs)
|
|
181
|
-
)
|
|
182
|
-
if (lonLatCRS) {
|
|
183
|
-
return boundingBoxes[lonLatCRS]
|
|
184
|
-
} else {
|
|
185
|
-
const availableEPSGCode = Object.keys(boundingBoxes)[0]
|
|
186
|
-
register(proj4)
|
|
187
|
-
const proj = await fromEPSGCode(availableEPSGCode)
|
|
188
|
-
return transformExtent(
|
|
189
|
-
boundingBoxes[availableEPSGCode],
|
|
190
|
-
proj,
|
|
191
|
-
'EPSG:4326'
|
|
192
|
-
)
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
prioritizePageScroll(interactions: Collection<Interaction>) {
|
|
197
|
-
interactions.clear()
|
|
198
|
-
interactions.extend(
|
|
199
|
-
defaults({
|
|
200
|
-
// remove rotate interactions
|
|
201
|
-
altShiftDragRotate: false,
|
|
202
|
-
pinchRotate: false,
|
|
203
|
-
// replace drag and zoom interactions
|
|
204
|
-
dragPan: false,
|
|
205
|
-
mouseWheelZoom: false,
|
|
206
|
-
})
|
|
207
|
-
.extend([
|
|
208
|
-
new DragPan({
|
|
209
|
-
condition: dragPanCondition,
|
|
210
|
-
}),
|
|
211
|
-
new MouseWheelZoom({
|
|
212
|
-
condition: mouseWheelZoomCondition,
|
|
213
|
-
}),
|
|
214
|
-
])
|
|
215
|
-
.getArray()
|
|
216
|
-
)
|
|
217
|
-
}
|
|
218
|
-
|
|
219
13
|
getRecordExtent(record: Partial<CatalogRecord>): Extent {
|
|
220
14
|
if (!('spatialExtents' in record) || record.spatialExtents.length === 0) {
|
|
221
15
|
return null
|
|
@@ -235,25 +29,3 @@ export class MapUtilsService {
|
|
|
235
29
|
return transformExtent(totalExtent, 'EPSG:4326', 'EPSG:3857')
|
|
236
30
|
}
|
|
237
31
|
}
|
|
238
|
-
|
|
239
|
-
export function dragPanCondition(
|
|
240
|
-
this: DragPan,
|
|
241
|
-
event: MapBrowserEvent<PointerEvent>
|
|
242
|
-
) {
|
|
243
|
-
const dragPanCondition = this.getPointerCount() === 2 || mouseOnly(event)
|
|
244
|
-
if (!dragPanCondition) {
|
|
245
|
-
this.getMap().dispatchEvent('mapmuted')
|
|
246
|
-
}
|
|
247
|
-
// combine the condition with the default DragPan conditions
|
|
248
|
-
return dragPanCondition && noModifierKeys(event) && primaryAction(event)
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
export function mouseWheelZoomCondition(
|
|
252
|
-
this: MouseWheelZoom,
|
|
253
|
-
event: MapBrowserEvent<UIEvent>
|
|
254
|
-
) {
|
|
255
|
-
if (!platformModifierKeyOnly(event) && event.type === 'wheel') {
|
|
256
|
-
this.getMap().dispatchEvent('mapmuted')
|
|
257
|
-
}
|
|
258
|
-
return platformModifierKeyOnly(event)
|
|
259
|
-
}
|
|
@@ -9,7 +9,7 @@ import { BehaviorSubject, combineLatest } from 'rxjs'
|
|
|
9
9
|
import { map, tap } from 'rxjs/operators'
|
|
10
10
|
import { MdViewFacade } from '../state'
|
|
11
11
|
import { DatavizConfigurationModel } from '../../../../../../libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model'
|
|
12
|
-
import {
|
|
12
|
+
import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
13
13
|
|
|
14
14
|
@Component({
|
|
15
15
|
selector: 'gn-ui-data-view',
|
|
@@ -43,7 +43,7 @@ export class DataViewComponent {
|
|
|
43
43
|
}))
|
|
44
44
|
)
|
|
45
45
|
)
|
|
46
|
-
selectedLink$ = new BehaviorSubject<
|
|
46
|
+
selectedLink$ = new BehaviorSubject<DatasetOnlineResource>(null)
|
|
47
47
|
|
|
48
48
|
constructor(private mdViewFacade: MdViewFacade) {}
|
|
49
49
|
|
|
@@ -52,7 +52,7 @@ export class DataViewComponent {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
selectLink(linkAsString: string) {
|
|
55
|
-
const link:
|
|
55
|
+
const link: DatasetOnlineResource = JSON.parse(linkAsString)
|
|
56
56
|
link.url = new URL(link.url)
|
|
57
57
|
this.selectedLink$.next(link)
|
|
58
58
|
}
|
package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts
CHANGED
|
@@ -1,12 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
ChangeDetectionStrategy,
|
|
3
|
+
Component,
|
|
4
|
+
Inject,
|
|
5
|
+
InjectionToken,
|
|
6
|
+
Input,
|
|
7
|
+
Optional,
|
|
8
|
+
} from '@angular/core'
|
|
9
|
+
import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
4
10
|
import { marker } from '@biesbjerg/ngx-translate-extract-marker'
|
|
5
11
|
import { TranslateService } from '@ngx-translate/core'
|
|
6
12
|
import { getFileFormat } from '../../../../../../libs/util/shared/src'
|
|
7
13
|
|
|
8
14
|
marker('externalviewer.dataset.unnamed')
|
|
9
15
|
|
|
16
|
+
export const EXTERNAL_VIEWER_URL_TEMPLATE = new InjectionToken<string>(
|
|
17
|
+
'externalViewerUrlTemplate'
|
|
18
|
+
)
|
|
19
|
+
export const EXTERNAL_VIEWER_OPEN_NEW_TAB = new InjectionToken<boolean>(
|
|
20
|
+
'externalViewerOpenNewTab',
|
|
21
|
+
{ factory: () => false }
|
|
22
|
+
)
|
|
23
|
+
|
|
10
24
|
@Component({
|
|
11
25
|
selector: 'gn-ui-external-viewer-button',
|
|
12
26
|
templateUrl: './external-viewer-button.component.html',
|
|
@@ -14,17 +28,10 @@ marker('externalviewer.dataset.unnamed')
|
|
|
14
28
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
15
29
|
})
|
|
16
30
|
export class ExternalViewerButtonComponent {
|
|
17
|
-
@Input() link:
|
|
18
|
-
@Input() mapConfig: MapConfig
|
|
31
|
+
@Input() link: DatasetOnlineResource
|
|
19
32
|
|
|
20
33
|
get externalViewer() {
|
|
21
|
-
|
|
22
|
-
return (
|
|
23
|
-
!!this.mapConfig.EXTERNAL_VIEWER_URL_TEMPLATE &&
|
|
24
|
-
!!this.supportedLinkLayerType
|
|
25
|
-
)
|
|
26
|
-
}
|
|
27
|
-
return false
|
|
34
|
+
return !!this.urlTemplate && !!this.supportedLinkLayerType
|
|
28
35
|
}
|
|
29
36
|
|
|
30
37
|
get supportedLinkLayerType() {
|
|
@@ -45,10 +52,17 @@ export class ExternalViewerButtonComponent {
|
|
|
45
52
|
return null
|
|
46
53
|
}
|
|
47
54
|
|
|
48
|
-
constructor(
|
|
55
|
+
constructor(
|
|
56
|
+
private translateService: TranslateService,
|
|
57
|
+
@Inject(EXTERNAL_VIEWER_URL_TEMPLATE)
|
|
58
|
+
@Optional()
|
|
59
|
+
private urlTemplate: string,
|
|
60
|
+
@Inject(EXTERNAL_VIEWER_OPEN_NEW_TAB)
|
|
61
|
+
private openinNewTab: boolean
|
|
62
|
+
) {}
|
|
49
63
|
|
|
50
64
|
openInExternalViewer() {
|
|
51
|
-
const templateUrl = this.
|
|
65
|
+
const templateUrl = this.urlTemplate
|
|
52
66
|
const layerName = this.link.name
|
|
53
67
|
? this.link.name
|
|
54
68
|
: this.translateService.instant('externalviewer.dataset.unnamed')
|
|
@@ -59,11 +73,6 @@ export class ExternalViewerButtonComponent {
|
|
|
59
73
|
`${encodeURIComponent(this.link.url.toString())}`
|
|
60
74
|
)
|
|
61
75
|
.replace('${service_type}', `${this.supportedLinkLayerType}`)
|
|
62
|
-
window
|
|
63
|
-
.open(
|
|
64
|
-
url,
|
|
65
|
-
this.mapConfig.EXTERNAL_VIEWER_OPEN_NEW_TAB ? '_blank' : '_self'
|
|
66
|
-
)
|
|
67
|
-
.focus()
|
|
76
|
+
window.open(url, this.openinNewTab ? '_blank' : '_self').focus()
|
|
68
77
|
}
|
|
69
78
|
}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core'
|
|
2
2
|
import { CommonModule } from '@angular/common'
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
FeatureDetailComponent,
|
|
5
|
+
MapContainerComponent,
|
|
6
|
+
} from '../../../../../libs/ui/map/src'
|
|
4
7
|
import { StoreModule } from '@ngrx/store'
|
|
5
8
|
import { EffectsModule } from '@ngrx/effects'
|
|
6
9
|
import { UiLayoutModule } from '../../../../../libs/ui/layout/src'
|
|
7
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
FeatureMapModule,
|
|
12
|
+
MapStateContainerComponent,
|
|
13
|
+
} from '../../../../../libs/feature/map/src'
|
|
8
14
|
import { UiInputsModule } from '../../../../../libs/ui/inputs/src'
|
|
9
15
|
import { UiElementsModule } from '../../../../../libs/ui/elements/src'
|
|
10
16
|
import { MdViewFacade } from './state'
|
|
@@ -43,7 +49,6 @@ import { DataViewShareComponent } from './data-view-share/data-view-share.compon
|
|
|
43
49
|
UiLayoutModule,
|
|
44
50
|
FeatureMapModule,
|
|
45
51
|
FeatureCatalogModule,
|
|
46
|
-
UiMapModule,
|
|
47
52
|
UiInputsModule,
|
|
48
53
|
UiElementsModule,
|
|
49
54
|
MatTabsModule,
|
|
@@ -53,6 +58,9 @@ import { DataViewShareComponent } from './data-view-share/data-view-share.compon
|
|
|
53
58
|
TableComponent,
|
|
54
59
|
FeatureDatavizModule,
|
|
55
60
|
PopupAlertComponent,
|
|
61
|
+
FeatureDetailComponent,
|
|
62
|
+
MapStateContainerComponent,
|
|
63
|
+
MapContainerComponent,
|
|
56
64
|
],
|
|
57
65
|
providers: [MdViewFacade],
|
|
58
66
|
exports: [
|
|
@@ -10,17 +10,17 @@
|
|
|
10
10
|
<gn-ui-external-viewer-button
|
|
11
11
|
class="shrink-0 py-1 place-self-end"
|
|
12
12
|
[link]="selectedLink$ | async"
|
|
13
|
-
[mapConfig]="mapConfig"
|
|
14
13
|
>
|
|
15
14
|
</gn-ui-external-viewer-button>
|
|
16
15
|
</div>
|
|
17
16
|
<div
|
|
18
17
|
class="relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden"
|
|
19
18
|
>
|
|
20
|
-
<gn-ui-map-
|
|
19
|
+
<gn-ui-map-container
|
|
20
|
+
#mapContainer
|
|
21
21
|
[context]="mapContext$ | async"
|
|
22
|
-
|
|
23
|
-
></gn-ui-map-
|
|
22
|
+
(featuresClick)="onMapFeatureSelect($event)"
|
|
23
|
+
></gn-ui-map-container>
|
|
24
24
|
<div
|
|
25
25
|
class="top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56"
|
|
26
26
|
[class.hidden]="!selection"
|