geonetwork-ui 2.6.0-dev.ceb4be4c1 → 2.6.0-dev.cfd9cd166
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/README.md +2 -3
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +11 -2
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +17 -11
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +6 -6
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +14 -6
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +4 -4
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -5
- package/esm2022/libs/api/metadata-converter/src/lib/translate-utils.mjs +17 -0
- package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +4 -4
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +4 -2
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +18 -16
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +53 -14
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +8 -8
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +14 -11
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +23 -13
- package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.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 -31
- package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +9 -8
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +4 -4
- package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +4 -5
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +5 -3
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +4 -4
- package/esm2022/libs/feature/editor/src/index.mjs +1 -4
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +13 -7
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +5 -1
- package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +5 -7
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +8 -13
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +5 -6
- package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +268 -11
- package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +4 -13
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +5 -5
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.mjs +5 -8
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.mjs +4 -5
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +6 -10
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +8 -14
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +4 -15
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +4 -4
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +4 -4
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +4 -4
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +4 -4
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +4 -4
- 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 +6 -17
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +4 -5
- package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +12 -30
- package/esm2022/libs/feature/editor/src/lib/models/index.mjs +1 -3
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +5 -6
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +11 -8
- package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +11 -8
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +11 -6
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +10 -5
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +3 -36
- package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +5 -11
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -6
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +20 -19
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +6 -7
- package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +4 -5
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +6 -7
- package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +4 -4
- package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +8 -22
- package/esm2022/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.mjs +5 -5
- package/esm2022/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.mjs +15 -7
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +77 -28
- package/esm2022/libs/feature/search/src/lib/constants.mjs +3 -2
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +24 -27
- package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +8 -6
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +6 -6
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +13 -10
- package/esm2022/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.mjs +5 -7
- package/esm2022/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.mjs +4 -4
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +5 -4
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +4 -5
- package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +4 -5
- package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +4 -5
- package/esm2022/libs/ui/dataviz/src/index.mjs +1 -2
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +4 -4
- package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -5
- package/esm2022/libs/ui/elements/src/index.mjs +1 -3
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +6 -6
- package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +5 -5
- package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +4 -3
- package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +5 -3
- package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +4 -5
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +4 -4
- package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +4 -5
- package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +4 -5
- package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +4 -5
- package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +19 -36
- package/esm2022/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.mjs +58 -0
- package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +7 -10
- package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +4 -5
- package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +3 -6
- package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +4 -5
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +4 -5
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +6 -7
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +39 -16
- package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +8 -5
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +7 -5
- package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +52 -32
- package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +5 -4
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +4 -5
- package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +5 -6
- package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +4 -3
- package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +7 -6
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +29 -7
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +4 -5
- package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +5 -7
- package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +4 -3
- package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +12 -7
- package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +4 -5
- package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/index.mjs +2 -2
- package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +3 -2
- package/esm2022/libs/ui/layout/src/lib/cell-popin/cell-popin.component.mjs +110 -0
- package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +4 -5
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +21 -12
- package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +4 -5
- package/esm2022/libs/ui/layout/src/lib/pagination/pagination.component.mjs +4 -5
- package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +4 -3
- package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +17 -53
- package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +4 -5
- package/esm2022/libs/ui/search/src/index.mjs +2 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +6 -6
- package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +24 -17
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +28 -17
- package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +32 -27
- package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
- package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +3 -3
- package/esm2022/libs/util/app-config/src/lib/app-config.mjs +1 -3
- package/esm2022/libs/util/i18n/src/index.mjs +2 -3
- package/esm2022/libs/util/i18n/src/lib/embedded.translate.loader.mjs +3 -2
- package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +36 -28
- package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +10 -9
- package/esm2022/libs/util/i18n/src/lib/i18n.providers.mjs +41 -0
- package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +63 -3
- package/esm2022/libs/util/shared/src/index.mjs +2 -2
- package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +3 -2
- package/esm2022/libs/util/shared/src/lib/record.util.mjs +56 -0
- package/esm2022/translations/de.json +41 -22
- package/esm2022/translations/en.json +41 -22
- package/esm2022/translations/es.json +40 -21
- package/esm2022/translations/fr.json +41 -22
- package/esm2022/translations/it.json +40 -21
- package/esm2022/translations/nl.json +40 -21
- package/esm2022/translations/pt.json +40 -21
- package/esm2022/translations/sk.json +602 -0
- package/fesm2022/geonetwork-ui.mjs +11190 -10577
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +4 -4
- 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/read-parts.d.ts +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-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.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/translate-utils.d.ts +2 -0
- package/libs/api/metadata-converter/src/lib/translate-utils.d.ts.map +1 -0
- package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +8 -6
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +11 -3
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts +4 -4
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +6 -3
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +20 -17
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +5 -1
- 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 +4 -8
- package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/sources/sources.service.d.ts +3 -3
- package/libs/feature/catalog/src/lib/sources/sources.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +0 -3
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +8 -1
- 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 +10 -12
- 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 +2 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +1 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts.map +1 -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.map +1 -1
- package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +48 -3
- package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -1
- 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-keywords/form-field-keywords.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.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
- 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-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.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.map +1 -1
- 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/feature-editor.module.d.ts +10 -17
- package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/models/index.d.ts +0 -2
- package/libs/feature/editor/src/lib/models/index.d.ts.map +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-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.map +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.map +1 -1
- package/libs/feature/map/src/lib/feature-map.module.d.ts +2 -11
- 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.map +1 -1
- package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +7 -4
- 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.map +1 -1
- package/libs/feature/record/src/lib/feature-record.module.d.ts +8 -12
- package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
- package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +13 -6
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts +24 -24
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +6 -5
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts +1 -2
- package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +1 -2
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/ui/dataviz/src/index.d.ts +0 -1
- package/libs/ui/dataviz/src/index.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -1
- package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +0 -2
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/avatar/avatar.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/avatar/avatar.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +2 -0
- package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +4 -7
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts +14 -0
- package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +3 -0
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +20 -9
- package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/user-preview/user-preview.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/user-preview/user-preview.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +0 -1
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/checkbox/checkbox.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/checkbox/checkbox.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +1 -1
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +1 -1
- package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts +28 -0
- package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +4 -2
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/sticky-header/sticky-header.component.d.ts +1 -1
- package/libs/ui/layout/src/lib/sticky-header/sticky-header.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +6 -11
- package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -1
- package/libs/ui/search/src/index.d.ts +1 -0
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -3
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +5 -3
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/ui-search.module.d.ts +12 -11
- package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
- package/libs/ui/widgets/src/index.d.ts +0 -1
- package/libs/ui/widgets/src/index.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/color-scale/color-scale.component.d.ts +1 -1
- package/libs/ui/widgets/src/lib/color-scale/color-scale.component.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/app-config.d.ts +0 -1
- package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
- package/libs/util/i18n/src/index.d.ts +1 -2
- package/libs/util/i18n/src/index.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/embedded.translate.loader.d.ts +1 -1
- package/libs/util/i18n/src/lib/embedded.translate.loader.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/i18n.constants.d.ts +6 -15
- package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/i18n.interceptor.d.ts +5 -5
- package/libs/util/i18n/src/lib/i18n.interceptor.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/i18n.providers.d.ts +4 -0
- package/libs/util/i18n/src/lib/i18n.providers.d.ts.map +1 -0
- package/libs/util/i18n/src/lib/language-codes.d.ts +15 -19
- package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
- package/libs/util/shared/src/index.d.ts +1 -1
- package/libs/util/shared/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/image-fallback.directive.d.ts +1 -1
- package/libs/util/shared/src/lib/image-fallback.directive.d.ts.map +1 -1
- package/libs/util/shared/src/lib/record.util.d.ts +3 -0
- package/libs/util/shared/src/lib/record.util.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +10 -1
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/metadata-for-i18n.records.ts +4196 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +19 -6
- package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +4 -4
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +11 -5
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +14 -8
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +8 -5
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +5 -4
- package/src/libs/api/metadata-converter/src/lib/translate-utils.ts +17 -0
- package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +3 -6
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +3 -1
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +14 -6
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +71 -13
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +8 -7
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +13 -6
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +24 -20
- package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +20 -14
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +9 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +113 -0
- package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +4 -17
- package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +7 -3
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +2 -2
- package/src/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.ts +2 -2
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +4 -2
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +2 -2
- package/src/libs/feature/editor/src/index.ts +0 -3
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +9 -1
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +23 -12
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +13 -1
- package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +9 -1
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +3 -4
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +5 -16
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +7 -5
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +117 -11
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +322 -6
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +2 -10
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +3 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.ts +3 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +4 -11
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +5 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +2 -17
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +2 -15
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/feature-editor.module.ts +4 -17
- package/src/libs/feature/editor/src/lib/models/index.ts +0 -2
- package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +2 -1
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +8 -3
- package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +10 -3
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +8 -2
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +8 -2
- package/src/libs/feature/map/src/lib/feature-map.module.ts +0 -17
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +3 -8
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +3 -2
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +1 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +22 -19
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -2
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +2 -2
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +2 -2
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +2 -2
- package/src/libs/feature/record/src/lib/feature-record.module.ts +4 -13
- package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.ts +4 -3
- package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.ts +10 -4
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +27 -9
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +113 -30
- package/src/libs/feature/search/src/lib/constants.ts +2 -1
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -2
- package/src/libs/feature/search/src/lib/feature-search.module.ts +13 -18
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +5 -0
- 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 +13 -3
- package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.ts +10 -4
- package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +2 -2
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +4 -3
- package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
- package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +2 -2
- package/src/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.ts +2 -2
- package/src/libs/ui/dataviz/src/index.ts +0 -1
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +2 -2
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +0 -1
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +4 -0
- package/src/libs/ui/elements/src/index.ts +0 -2
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +3 -2
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +6 -6
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/avatar/avatar.component.ts +3 -0
- package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +6 -2
- package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +5 -1
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +2 -5
- package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/image-input/image-input.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +8 -76
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +22 -55
- package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.html +69 -0
- package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.ts +61 -0
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +4 -5
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -4
- package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +4 -7
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +51 -13
- package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +6 -2
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +4 -2
- package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +96 -37
- package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +62 -31
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +7 -2
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.ts +4 -0
- package/src/libs/ui/inputs/src/index.ts +0 -1
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +2 -2
- package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.ts +3 -0
- package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.ts +4 -0
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +27 -0
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +2 -2
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +3 -4
- package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +3 -0
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +9 -3
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +2 -2
- package/src/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.ts +1 -0
- package/src/libs/ui/layout/src/index.ts +1 -1
- package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +1 -0
- package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.html +40 -0
- package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.ts +141 -0
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +2 -2
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +2 -2
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +15 -8
- package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.ts +2 -2
- package/src/libs/ui/layout/src/lib/pagination/pagination.component.ts +2 -2
- package/src/libs/ui/layout/src/lib/sticky-header/sticky-header.component.ts +3 -0
- package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +25 -42
- package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +12 -58
- package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +2 -2
- package/src/libs/ui/search/src/index.ts +1 -0
- package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.html +4 -1
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +16 -6
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +18 -15
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +15 -23
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +34 -13
- package/src/libs/ui/search/src/lib/ui-search.module.ts +15 -11
- package/src/libs/ui/widgets/src/index.ts +0 -1
- package/src/libs/ui/widgets/src/lib/color-scale/color-scale.component.ts +1 -0
- package/src/libs/util/app-config/src/lib/app-config.ts +0 -2
- package/src/libs/util/i18n/src/index.ts +1 -2
- package/src/libs/util/i18n/src/lib/embedded.translate.loader.ts +4 -3
- package/src/libs/util/i18n/src/lib/i18n.constants.ts +39 -29
- package/src/libs/util/i18n/src/lib/i18n.interceptor.ts +11 -9
- package/src/libs/util/i18n/src/lib/i18n.providers.ts +68 -0
- package/src/libs/util/i18n/src/lib/language-codes.ts +67 -2
- package/src/libs/util/shared/src/index.ts +1 -1
- package/src/libs/util/shared/src/lib/image-fallback.directive.ts +1 -0
- package/src/libs/util/shared/src/lib/record.util.ts +114 -0
- package/tailwind.base.css +1 -1
- package/translations/de.json +41 -22
- package/translations/en.json +41 -22
- package/translations/es.json +40 -21
- package/translations/fr.json +41 -22
- package/translations/it.json +40 -21
- package/translations/nl.json +40 -21
- package/translations/pt.json +40 -21
- package/translations/sk.json +40 -21
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +0 -44
- package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +0 -75
- package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +0 -160
- package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +0 -53
- package/esm2022/libs/feature/editor/src/lib/models/wizard-field.model.mjs +0 -2
- package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +0 -8
- package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +0 -87
- package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +0 -47
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +0 -56
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +0 -130
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +0 -160
- package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +0 -23
- package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +0 -46
- package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +0 -31
- package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +0 -37
- package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +0 -18
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +0 -14
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/components/wizard/wizard.component.d.ts +0 -31
- package/libs/feature/editor/src/lib/components/wizard/wizard.component.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +0 -43
- package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts +0 -17
- package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/models/wizard-field.model.d.ts +0 -10
- package/libs/feature/editor/src/lib/models/wizard-field.model.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +0 -7
- package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/services/wizard.service.d.ts +0 -33
- package/libs/feature/editor/src/lib/services/wizard.service.d.ts.map +0 -1
- package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts +0 -11
- package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts.map +0 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +0 -19
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +0 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +0 -31
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +0 -35
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +0 -1
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts +0 -12
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +0 -1
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +0 -15
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/lang.service.d.ts +0 -13
- package/libs/util/i18n/src/lib/lang.service.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/util-i18n.module.d.ts +0 -12
- package/libs/util/i18n/src/lib/util-i18n.module.d.ts.map +0 -1
- package/libs/util/shared/src/lib/util-shared.module.d.ts +0 -9
- package/libs/util/shared/src/lib/util-shared.module.d.ts.map +0 -1
- package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.css +0 -5
- package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +0 -22
- package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.ts +0 -93
- package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.css +0 -31
- package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -62
- package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -206
- package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.css +0 -3
- package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.html +0 -21
- package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.ts +0 -58
- package/src/libs/feature/editor/src/lib/models/wizard-field.model.ts +0 -10
- package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -6
- package/src/libs/feature/editor/src/lib/services/wizard.service.ts +0 -105
- package/src/libs/ui/dataviz/src/lib/ui-dataviz.module.ts +0 -27
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.css +0 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +0 -9
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +0 -61
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +0 -72
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -96
- package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -14
- package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -25
- package/src/libs/util/i18n/src/lib/lang.service.ts +0 -23
- package/src/libs/util/i18n/src/lib/util-i18n.module.ts +0 -26
- package/src/libs/util/shared/src/lib/util-shared.module.ts +0 -10
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<gn-ui-interactive-table
|
|
2
2
|
[items]="records"
|
|
3
|
+
[canEditItem]="canEdit"
|
|
3
4
|
[isDraftPage]="isDraftPage"
|
|
4
5
|
(itemClick)="handleRecordClick($event)"
|
|
5
6
|
>
|
|
@@ -9,15 +10,16 @@
|
|
|
9
10
|
<ng-icon
|
|
10
11
|
name="iconoirLock"
|
|
11
12
|
class="text-purple"
|
|
12
|
-
*ngIf="(
|
|
13
|
+
*ngIf="(canEdit(item) | async) === false; else selectCheckbox"
|
|
13
14
|
></ng-icon>
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
<ng-template #selectCheckbox>
|
|
16
|
+
<gn-ui-checkbox
|
|
17
|
+
[checked]="isChecked(item)"
|
|
18
|
+
(changed)="handleRecordSelectedChange($event, item)"
|
|
19
|
+
class="-m-2"
|
|
20
|
+
type="default"
|
|
21
|
+
></gn-ui-checkbox>
|
|
22
|
+
</ng-template>
|
|
21
23
|
</ng-template>
|
|
22
24
|
</gn-ui-interactive-table-column>
|
|
23
25
|
|
|
@@ -144,38 +146,28 @@
|
|
|
144
146
|
<ng-template #header> </ng-template>
|
|
145
147
|
<ng-template #cell let-item>
|
|
146
148
|
<div class="flex justify-end items-center gap-4 w-full">
|
|
147
|
-
<!-- IS MULTILINGUAL -->
|
|
148
149
|
<ng-icon
|
|
149
150
|
*ngIf="isMultilingual(item)"
|
|
150
151
|
data-cy="multilingual-indicator"
|
|
151
152
|
name="iconoirTranslate"
|
|
152
153
|
[attr.title]="getTxtHoverMultilingual(item)"
|
|
153
154
|
></ng-icon>
|
|
154
|
-
<!-- MORE ACTIONS MENU BUTTON -->
|
|
155
155
|
<gn-ui-button
|
|
156
156
|
cdkOverlayOrigin
|
|
157
157
|
#actionMenuButton
|
|
158
158
|
(buttonClick)="openActionMenu(item, template)"
|
|
159
159
|
type="light"
|
|
160
160
|
data-test="record-menu-button"
|
|
161
|
-
[disabled]="
|
|
162
|
-
(!item.extras?.edit && !isDraftPage) || item.kind !== 'dataset'
|
|
163
|
-
"
|
|
164
161
|
>
|
|
165
|
-
<ng-icon
|
|
166
|
-
[ngClass]="{
|
|
167
|
-
'text-purple-light':
|
|
168
|
-
(!item.extras?.edit && !isDraftPage) || item.kind !== 'dataset',
|
|
169
|
-
}"
|
|
170
|
-
name="matMoreVert"
|
|
171
|
-
></ng-icon>
|
|
162
|
+
<ng-icon name="matMoreVert"></ng-icon>
|
|
172
163
|
</gn-ui-button>
|
|
173
164
|
</div>
|
|
174
165
|
<ng-template #template>
|
|
175
166
|
<gn-ui-action-menu
|
|
176
|
-
[canDuplicate]="canDuplicate(item)
|
|
177
|
-
[
|
|
178
|
-
[
|
|
167
|
+
[canDuplicate]="canDuplicate(item)"
|
|
168
|
+
[isDuplicating]="isDuplicating"
|
|
169
|
+
[canDelete]="canDelete(item) | async"
|
|
170
|
+
[page]="isDraftPage ? 'draft' : 'main'"
|
|
179
171
|
(duplicate)="handleDuplicate(item)"
|
|
180
172
|
(delete)="handleDelete(item)"
|
|
181
173
|
(closeActionMenu)="closeActionMenu()"
|
|
@@ -15,7 +15,11 @@ import {
|
|
|
15
15
|
FieldSort,
|
|
16
16
|
SortByField,
|
|
17
17
|
} from '../../../../../../libs/common/domain/src/lib/model/search'
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
BadgeComponent,
|
|
20
|
+
ButtonComponent,
|
|
21
|
+
CheckboxComponent,
|
|
22
|
+
} from '../../../../../../libs/ui/inputs/src'
|
|
19
23
|
import {
|
|
20
24
|
InteractiveTableColumnComponent,
|
|
21
25
|
InteractiveTableComponent,
|
|
@@ -28,13 +32,18 @@ import {
|
|
|
28
32
|
getFileFormat,
|
|
29
33
|
getFormatPriority,
|
|
30
34
|
} from '../../../../../../libs/util/shared/src'
|
|
31
|
-
import {
|
|
35
|
+
import {
|
|
36
|
+
TranslateDirective,
|
|
37
|
+
TranslatePipe,
|
|
38
|
+
TranslateService,
|
|
39
|
+
} from '@ngx-translate/core'
|
|
32
40
|
import { ActionMenuComponent } from './action-menu/action-menu.component'
|
|
33
41
|
import { NgIconComponent, provideIcons } from '@ng-icons/core'
|
|
34
|
-
import {
|
|
42
|
+
import { iconoirLock, iconoirTranslate, iconoirUser } from '@ng-icons/iconoir'
|
|
35
43
|
import { CdkOverlayOrigin, Overlay, OverlayRef } from '@angular/cdk/overlay'
|
|
36
44
|
import { TemplatePortal } from '@angular/cdk/portal'
|
|
37
45
|
import { matMoreVert } from '@ng-icons/material-icons/baseline'
|
|
46
|
+
import { Observable, of, take } from 'rxjs'
|
|
38
47
|
|
|
39
48
|
@Component({
|
|
40
49
|
selector: 'gn-ui-results-table',
|
|
@@ -43,14 +52,16 @@ import { matMoreVert } from '@ng-icons/material-icons/baseline'
|
|
|
43
52
|
standalone: true,
|
|
44
53
|
imports: [
|
|
45
54
|
CommonModule,
|
|
46
|
-
UiInputsModule,
|
|
47
55
|
InteractiveTableComponent,
|
|
48
56
|
InteractiveTableColumnComponent,
|
|
49
|
-
|
|
57
|
+
TranslateDirective,
|
|
58
|
+
TranslatePipe,
|
|
50
59
|
BadgeComponent,
|
|
51
60
|
ActionMenuComponent,
|
|
52
61
|
NgIconComponent,
|
|
53
62
|
CdkOverlayOrigin,
|
|
63
|
+
CheckboxComponent,
|
|
64
|
+
ButtonComponent,
|
|
54
65
|
],
|
|
55
66
|
providers: [
|
|
56
67
|
provideIcons({ iconoirUser, iconoirLock, iconoirTranslate, matMoreVert }),
|
|
@@ -62,7 +73,10 @@ export class ResultsTableComponent {
|
|
|
62
73
|
@Input() sortOrder: SortByField = null
|
|
63
74
|
@Input() hasDraft: (record: CatalogRecord) => boolean = () => false
|
|
64
75
|
@Input() canDuplicate: (record: CatalogRecord) => boolean = () => true
|
|
65
|
-
@Input() canDelete: (record: CatalogRecord) => boolean = () =>
|
|
76
|
+
@Input() canDelete: (record: CatalogRecord) => Observable<boolean> = () =>
|
|
77
|
+
of(true)
|
|
78
|
+
@Input() canEdit: (record: CatalogRecord) => Observable<boolean> = () =>
|
|
79
|
+
of(true)
|
|
66
80
|
@Input() isDraftPage = false
|
|
67
81
|
@Input() isDuplicating = false
|
|
68
82
|
|
|
@@ -171,10 +185,14 @@ export class ResultsTableComponent {
|
|
|
171
185
|
return getBadgeColor(format)
|
|
172
186
|
}
|
|
173
187
|
|
|
174
|
-
handleRecordClick(item:
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
188
|
+
handleRecordClick(item: unknown) {
|
|
189
|
+
this.canEdit(item as CatalogRecord)
|
|
190
|
+
.pipe(take(1))
|
|
191
|
+
.subscribe((canEdit) => {
|
|
192
|
+
if (canEdit) {
|
|
193
|
+
this.recordClick.emit(item as CatalogRecord)
|
|
194
|
+
}
|
|
195
|
+
})
|
|
178
196
|
}
|
|
179
197
|
|
|
180
198
|
handleDuplicate(item: unknown) {
|
|
@@ -223,10 +241,13 @@ export class ResultsTableComponent {
|
|
|
223
241
|
}
|
|
224
242
|
|
|
225
243
|
getTxtHoverMultilingual(record: CatalogRecord) {
|
|
244
|
+
const languages = [
|
|
245
|
+
...[record.defaultLanguage],
|
|
246
|
+
...record.otherLanguages,
|
|
247
|
+
].sort((a, b) => a.localeCompare(b))
|
|
248
|
+
|
|
226
249
|
return this.translateService.instant('dashboard.records.isMultilingual', {
|
|
227
|
-
languages:
|
|
228
|
-
', '
|
|
229
|
-
),
|
|
250
|
+
languages: languages.join(', '),
|
|
230
251
|
})
|
|
231
252
|
}
|
|
232
253
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core'
|
|
2
2
|
import { RouterLink } from '@angular/router'
|
|
3
|
-
import {
|
|
4
|
-
import { TranslateModule } from '@ngx-translate/core'
|
|
3
|
+
import { TranslateDirective, TranslatePipe } from '@ngx-translate/core'
|
|
5
4
|
import { NgxDropzoneModule } from 'ngx-dropzone'
|
|
6
5
|
import { FacetsModule } from './facets/facets.module'
|
|
7
6
|
import { RecordMetricComponent } from './record-metric/record-metric.component'
|
|
@@ -21,15 +20,15 @@ import { RecordPreviewComponent } from './record-preview/record-preview.componen
|
|
|
21
20
|
import { TagInputModule } from 'ngx-chips'
|
|
22
21
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms'
|
|
23
22
|
import { ResultsListItemComponent } from './results-list-item/results-list-item.component'
|
|
24
|
-
import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src'
|
|
25
23
|
import {
|
|
26
|
-
|
|
27
|
-
UiElementsModule,
|
|
24
|
+
InternalLinkCardComponent,
|
|
28
25
|
KindBadgeComponent,
|
|
26
|
+
MarkdownParserComponent,
|
|
27
|
+
MetadataQualityComponent,
|
|
28
|
+
ThumbnailComponent,
|
|
29
29
|
} from '../../../../../libs/ui/elements/src'
|
|
30
30
|
import { RecordPreviewFeedComponent } from './record-preview-feed/record-preview-feed.component'
|
|
31
31
|
import { CommonModule } from '@angular/common'
|
|
32
|
-
import { UiInputsModule } from '../../../../../libs/ui/inputs/src'
|
|
33
32
|
import { MatCheckboxModule } from '@angular/material/checkbox'
|
|
34
33
|
import { InteractiveTableComponent } from '../../../../../libs/ui/layout/src'
|
|
35
34
|
import { NgIconsModule, provideNgIconsConfig } from '@ng-icons/core'
|
|
@@ -39,6 +38,8 @@ import {
|
|
|
39
38
|
matMapOutline,
|
|
40
39
|
} from '@ng-icons/material-icons/outline'
|
|
41
40
|
import { matFace } from '@ng-icons/material-icons/baseline'
|
|
41
|
+
import { InlineFilterComponent } from '../../../../../libs/ui/inputs/src'
|
|
42
|
+
import { ActionMenuComponent } from './results-table/action-menu/action-menu.component'
|
|
42
43
|
|
|
43
44
|
@NgModule({
|
|
44
45
|
declarations: [
|
|
@@ -57,16 +58,13 @@ import { matFace } from '@ng-icons/material-icons/baseline'
|
|
|
57
58
|
],
|
|
58
59
|
imports: [
|
|
59
60
|
CommonModule,
|
|
60
|
-
|
|
61
|
+
TranslateDirective,
|
|
62
|
+
TranslatePipe,
|
|
61
63
|
NgxDropzoneModule,
|
|
62
64
|
FacetsModule,
|
|
63
65
|
FormsModule,
|
|
64
66
|
ReactiveFormsModule,
|
|
65
67
|
TagInputModule,
|
|
66
|
-
UtilSharedModule,
|
|
67
|
-
UiWidgetsModule,
|
|
68
|
-
UiInputsModule,
|
|
69
|
-
UiElementsModule,
|
|
70
68
|
MatCheckboxModule,
|
|
71
69
|
RouterLink,
|
|
72
70
|
InteractiveTableComponent,
|
|
@@ -79,6 +77,11 @@ import { matFace } from '@ng-icons/material-icons/baseline'
|
|
|
79
77
|
}),
|
|
80
78
|
KindBadgeComponent,
|
|
81
79
|
MetadataQualityComponent,
|
|
80
|
+
InlineFilterComponent,
|
|
81
|
+
ThumbnailComponent,
|
|
82
|
+
MarkdownParserComponent,
|
|
83
|
+
InternalLinkCardComponent,
|
|
84
|
+
ActionMenuComponent,
|
|
82
85
|
],
|
|
83
86
|
exports: [
|
|
84
87
|
RecordPreviewListComponent,
|
|
@@ -93,6 +96,7 @@ import { matFace } from '@ng-icons/material-icons/baseline'
|
|
|
93
96
|
ResultsHitsSearchKindComponent,
|
|
94
97
|
RecordPreviewFeedComponent,
|
|
95
98
|
RecordPreviewRowComponent,
|
|
99
|
+
ActionMenuComponent,
|
|
96
100
|
],
|
|
97
101
|
providers: [
|
|
98
102
|
provideNgIconsConfig({
|
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
import { TranslateCompiler, TranslateLoader } from '@ngx-translate/core'
|
|
19
19
|
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler'
|
|
20
20
|
import { HttpClient } from '@angular/common/http'
|
|
21
|
-
import { DEFAULT_LANG } from '../../../../../libs/util/i18n/src'
|
|
22
21
|
import { FileWithOverridesTranslateLoader } from './i18n/file-with-overrides.translate.loader'
|
|
23
22
|
|
|
24
23
|
const MISSING_CONFIG_ERROR = `Application configuration was not initialized correctly.
|
|
@@ -308,7 +307,6 @@ export const TRANSLATE_WITH_OVERRIDES_CONFIG = {
|
|
|
308
307
|
useFactory: function HttpLoaderFactory(http: HttpClient) {
|
|
309
308
|
return new FileWithOverridesTranslateLoader(http, './assets/i18n/')
|
|
310
309
|
},
|
|
311
|
-
defaultLanguage: DEFAULT_LANG,
|
|
312
310
|
deps: [HttpClient],
|
|
313
311
|
},
|
|
314
312
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
export * from './lib/
|
|
1
|
+
export * from './lib/i18n.providers'
|
|
2
2
|
export * from './lib/i18n.constants'
|
|
3
3
|
export * from './lib/i18n.interceptor'
|
|
4
|
-
export * from './lib/lang.service'
|
|
5
4
|
export * from './lib/file.translate.loader'
|
|
6
5
|
export * from './lib/embedded.translate.loader'
|
|
7
6
|
export * from './lib/translate.loader.utils'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TranslateLoader } from '@ngx-translate/core'
|
|
2
|
-
import {
|
|
2
|
+
import { map, Observable, of } from 'rxjs'
|
|
3
3
|
import { dropEmptyTranslations } from './translate.loader.utils'
|
|
4
4
|
import de from '../../../../../translations/de.json'
|
|
5
5
|
import en from '../../../../../translations/en.json'
|
|
@@ -8,10 +8,11 @@ import fr from '../../../../../translations/fr.json'
|
|
|
8
8
|
import it from '../../../../../translations/it.json'
|
|
9
9
|
import nl from '../../../../../translations/nl.json'
|
|
10
10
|
import pt from '../../../../../translations/pt.json'
|
|
11
|
+
import sk from '../../../../../translations/sk.json'
|
|
11
12
|
|
|
12
13
|
export class EmbeddedTranslateLoader implements TranslateLoader {
|
|
13
|
-
getTranslation(lang: string): Observable<
|
|
14
|
-
const langs = { de, en, es, fr, it, nl, pt }
|
|
14
|
+
getTranslation(lang: string): Observable<Record<string, string>> {
|
|
15
|
+
const langs = { de, en, es, fr, it, nl, pt, sk }
|
|
15
16
|
const translations = langs[lang.substring(0, 2)]
|
|
16
17
|
return of(translations).pipe(map(dropEmptyTranslations))
|
|
17
18
|
}
|
|
@@ -1,24 +1,14 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http'
|
|
2
|
-
import { TranslateCompiler, TranslateLoader } from '@ngx-translate/core'
|
|
3
2
|
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler'
|
|
4
3
|
import { FileTranslateLoader } from './file.translate.loader'
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
marker('language.cs')
|
|
14
|
-
marker('language.ca')
|
|
15
|
-
marker('language.fi')
|
|
16
|
-
marker('language.is')
|
|
17
|
-
marker('language.it')
|
|
18
|
-
marker('language.pt')
|
|
19
|
-
marker('language.ru')
|
|
20
|
-
marker('language.zh')
|
|
21
|
-
marker('language.sk')
|
|
4
|
+
import {
|
|
5
|
+
TranslateCompiler,
|
|
6
|
+
TranslateDefaultParser,
|
|
7
|
+
TranslateLoader,
|
|
8
|
+
TranslateModuleConfig,
|
|
9
|
+
TranslateParser,
|
|
10
|
+
} from '@ngx-translate/core'
|
|
11
|
+
import { Injectable } from '@angular/core'
|
|
22
12
|
|
|
23
13
|
export const DEFAULT_LANG = 'en'
|
|
24
14
|
|
|
@@ -28,20 +18,40 @@ export const LANGUAGE_STORAGE_KEY = 'geonetwork-ui-language'
|
|
|
28
18
|
export function HttpLoaderFactory(http: HttpClient) {
|
|
29
19
|
return new FileTranslateLoader(http, './assets/i18n/')
|
|
30
20
|
}
|
|
31
|
-
|
|
32
|
-
export
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
useClass: TranslateMessageFormatCompiler,
|
|
38
|
-
}
|
|
39
|
-
export const TRANSLATE_DEFAULT_CONFIG = {
|
|
40
|
-
compiler: COMPILER_CONFIG,
|
|
21
|
+
|
|
22
|
+
export const TRANSLATE_DEFAULT_CONFIG: TranslateModuleConfig = {
|
|
23
|
+
compiler: {
|
|
24
|
+
provide: TranslateCompiler,
|
|
25
|
+
useClass: TranslateMessageFormatCompiler,
|
|
26
|
+
},
|
|
41
27
|
loader: {
|
|
42
28
|
provide: TranslateLoader,
|
|
43
29
|
useFactory: HttpLoaderFactory,
|
|
44
|
-
defaultLanguage: DEFAULT_LANG,
|
|
45
30
|
deps: [HttpClient],
|
|
46
31
|
},
|
|
47
32
|
}
|
|
33
|
+
|
|
34
|
+
@Injectable()
|
|
35
|
+
class DebugTranslateParser extends TranslateDefaultParser {
|
|
36
|
+
interpolate(expr: string | (() => string), params?: any): string | undefined {
|
|
37
|
+
if (!params) return expr?.toString()
|
|
38
|
+
const paramsStr = Object.keys(params)
|
|
39
|
+
.map((key) => `${key}=${params[key]}`)
|
|
40
|
+
.join(', ')
|
|
41
|
+
return `${expr} {{${paramsStr}}}`
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* This config will print translation keys in the UI directly; used to identify which keys are used
|
|
47
|
+
*/
|
|
48
|
+
export const TRANSLATE_DEBUG_CONFIG: TranslateModuleConfig = {
|
|
49
|
+
compiler: {
|
|
50
|
+
provide: TranslateCompiler,
|
|
51
|
+
useClass: TranslateMessageFormatCompiler,
|
|
52
|
+
},
|
|
53
|
+
parser: {
|
|
54
|
+
provide: TranslateParser,
|
|
55
|
+
useClass: DebugTranslateParser,
|
|
56
|
+
},
|
|
57
|
+
}
|
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core'
|
|
2
1
|
import {
|
|
3
|
-
HttpRequest,
|
|
4
|
-
HttpHandler,
|
|
5
2
|
HttpEvent,
|
|
3
|
+
HttpHandler,
|
|
6
4
|
HttpInterceptor,
|
|
5
|
+
HttpRequest,
|
|
7
6
|
} from '@angular/common/http'
|
|
8
|
-
import { TranslateService } from '@ngx-translate/core'
|
|
9
|
-
import { Observable } from 'rxjs'
|
|
10
7
|
import { DEFAULT_LANG } from './i18n.constants'
|
|
8
|
+
import { Observable } from 'rxjs'
|
|
9
|
+
import { Injectable, Injector } from '@angular/core'
|
|
10
|
+
import { TranslateService } from '@ngx-translate/core'
|
|
11
11
|
|
|
12
12
|
@Injectable()
|
|
13
13
|
export class I18nInterceptor implements HttpInterceptor {
|
|
14
|
-
constructor(private
|
|
14
|
+
constructor(private injector: Injector) {}
|
|
15
15
|
|
|
16
16
|
intercept(
|
|
17
|
-
request: HttpRequest<
|
|
17
|
+
request: HttpRequest<unknown>,
|
|
18
18
|
next: HttpHandler
|
|
19
|
-
): Observable<HttpEvent<
|
|
19
|
+
): Observable<HttpEvent<unknown>> {
|
|
20
|
+
// we're injecting the service only when necessary to avoid circular dependencies
|
|
21
|
+
const translate = this.injector.get(TranslateService)
|
|
20
22
|
request = request.clone({
|
|
21
23
|
setHeaders: {
|
|
22
|
-
'Accept-Language':
|
|
24
|
+
'Accept-Language': translate.currentLang || DEFAULT_LANG,
|
|
23
25
|
},
|
|
24
26
|
})
|
|
25
27
|
return next.handle(request)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import {
|
|
2
|
+
APP_INITIALIZER,
|
|
3
|
+
EnvironmentProviders,
|
|
4
|
+
makeEnvironmentProviders,
|
|
5
|
+
Provider,
|
|
6
|
+
} from '@angular/core'
|
|
7
|
+
import {
|
|
8
|
+
provideTranslateService,
|
|
9
|
+
TranslateModuleConfig,
|
|
10
|
+
TranslateService,
|
|
11
|
+
} from '@ngx-translate/core'
|
|
12
|
+
import {
|
|
13
|
+
DEFAULT_LANG,
|
|
14
|
+
LANGUAGE_STORAGE_KEY,
|
|
15
|
+
TRANSLATE_DEBUG_CONFIG,
|
|
16
|
+
TRANSLATE_DEFAULT_CONFIG,
|
|
17
|
+
} from './i18n.constants'
|
|
18
|
+
import {
|
|
19
|
+
HTTP_INTERCEPTORS,
|
|
20
|
+
provideHttpClient,
|
|
21
|
+
withInterceptorsFromDi,
|
|
22
|
+
} from '@angular/common/http'
|
|
23
|
+
import { I18nInterceptor } from './i18n.interceptor'
|
|
24
|
+
|
|
25
|
+
function i18nInitializerFromLocalStorageFactory(translate: TranslateService) {
|
|
26
|
+
return () => {
|
|
27
|
+
translate.setDefaultLang(DEFAULT_LANG)
|
|
28
|
+
let storageLang = null
|
|
29
|
+
try {
|
|
30
|
+
storageLang = localStorage.getItem(LANGUAGE_STORAGE_KEY)
|
|
31
|
+
} catch (error) {
|
|
32
|
+
console.warn(error)
|
|
33
|
+
}
|
|
34
|
+
translate.use(storageLang || translate.getBrowserLang() || DEFAULT_LANG)
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function provideI18n(
|
|
39
|
+
config?: TranslateModuleConfig,
|
|
40
|
+
useLocalStorage = true
|
|
41
|
+
): EnvironmentProviders {
|
|
42
|
+
// fallback to default config
|
|
43
|
+
let usedConfig = config ?? TRANSLATE_DEFAULT_CONFIG
|
|
44
|
+
// if the URL contains ?debugTranslations=true, show translations keys in the UI
|
|
45
|
+
if (
|
|
46
|
+
new URL(window.location.toString()).searchParams.get(
|
|
47
|
+
'debugTranslations'
|
|
48
|
+
) === 'true'
|
|
49
|
+
) {
|
|
50
|
+
usedConfig = TRANSLATE_DEBUG_CONFIG
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const providers: (EnvironmentProviders | Provider)[] = [
|
|
54
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
55
|
+
{ provide: HTTP_INTERCEPTORS, useClass: I18nInterceptor, multi: true },
|
|
56
|
+
provideTranslateService(usedConfig),
|
|
57
|
+
]
|
|
58
|
+
if (useLocalStorage) {
|
|
59
|
+
providers.push({
|
|
60
|
+
provide: APP_INITIALIZER,
|
|
61
|
+
useFactory: i18nInitializerFromLocalStorageFactory,
|
|
62
|
+
deps: [TranslateService],
|
|
63
|
+
multi: true,
|
|
64
|
+
})
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return makeEnvironmentProviders(providers)
|
|
68
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { marker } from '@biesbjerg/ngx-translate-extract-marker'
|
|
2
|
+
|
|
3
|
+
const LANG_3_TO_2_MAPPER = {
|
|
2
4
|
eng: 'en',
|
|
3
5
|
dut: 'nl',
|
|
4
6
|
fre: 'fr',
|
|
@@ -15,6 +17,17 @@ export const LANG_3_TO_2_MAPPER = {
|
|
|
15
17
|
chi: 'zh',
|
|
16
18
|
slo: 'sk',
|
|
17
19
|
roh: 'rm',
|
|
20
|
+
ara: 'ar',
|
|
21
|
+
dan: 'da',
|
|
22
|
+
nor: 'no',
|
|
23
|
+
pol: 'pl',
|
|
24
|
+
swe: 'sv',
|
|
25
|
+
tur: 'tr',
|
|
26
|
+
arm: 'hy',
|
|
27
|
+
aze: 'az',
|
|
28
|
+
geo: 'ka',
|
|
29
|
+
ukr: 'uk',
|
|
30
|
+
wel: 'cy',
|
|
18
31
|
}
|
|
19
32
|
|
|
20
33
|
export const LANGUAGE_NAMES = {
|
|
@@ -33,7 +46,18 @@ export const LANGUAGE_NAMES = {
|
|
|
33
46
|
ru: 'Русский',
|
|
34
47
|
zh: '中文',
|
|
35
48
|
sk: 'Slovenčina',
|
|
36
|
-
|
|
49
|
+
rm: 'Rumantsch',
|
|
50
|
+
ar: 'العربية',
|
|
51
|
+
da: 'Dansk',
|
|
52
|
+
no: 'Norsk',
|
|
53
|
+
pl: 'Polski',
|
|
54
|
+
sv: 'Swedish',
|
|
55
|
+
tr: 'Türkçe',
|
|
56
|
+
hy: 'հայերեն',
|
|
57
|
+
az: 'Azərbaycan dili',
|
|
58
|
+
ka: 'ქართული',
|
|
59
|
+
uk: 'українська',
|
|
60
|
+
wel: 'Cymraeg',
|
|
37
61
|
}
|
|
38
62
|
|
|
39
63
|
export const LANG_2_TO_3_MAPPER = Object.entries(LANG_3_TO_2_MAPPER).reduce(
|
|
@@ -42,3 +66,44 @@ export const LANG_2_TO_3_MAPPER = Object.entries(LANG_3_TO_2_MAPPER).reduce(
|
|
|
42
66
|
},
|
|
43
67
|
{}
|
|
44
68
|
)
|
|
69
|
+
|
|
70
|
+
export function getLang3FromLang2(lang2: string): string {
|
|
71
|
+
return LANG_2_TO_3_MAPPER[lang2] ?? lang2
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function getLang2FromLang3(lang3: string): string {
|
|
75
|
+
return LANG_3_TO_2_MAPPER[lang3] ?? lang3
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function getLocalizedIndexKey(lang2: string): string {
|
|
79
|
+
const lang3 = getLang3FromLang2(lang2)
|
|
80
|
+
return lang3 ? `lang${lang3}` : null
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
marker('language.en')
|
|
84
|
+
marker('language.nl')
|
|
85
|
+
marker('language.fr')
|
|
86
|
+
marker('language.de')
|
|
87
|
+
marker('language.ko')
|
|
88
|
+
marker('language.es')
|
|
89
|
+
marker('language.cs')
|
|
90
|
+
marker('language.ca')
|
|
91
|
+
marker('language.fi')
|
|
92
|
+
marker('language.is')
|
|
93
|
+
marker('language.it')
|
|
94
|
+
marker('language.pt')
|
|
95
|
+
marker('language.ru')
|
|
96
|
+
marker('language.zh')
|
|
97
|
+
marker('language.sk')
|
|
98
|
+
marker('language.rm')
|
|
99
|
+
marker('language.ar')
|
|
100
|
+
marker('language.da')
|
|
101
|
+
marker('language.no')
|
|
102
|
+
marker('language.pl')
|
|
103
|
+
marker('language.sv')
|
|
104
|
+
marker('language.tr')
|
|
105
|
+
marker('language.hy')
|
|
106
|
+
marker('language.az')
|
|
107
|
+
marker('language.ka')
|
|
108
|
+
marker('language.uk')
|
|
109
|
+
marker('language.cy')
|