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
|
@@ -3,7 +3,6 @@ import { checkMetadataLanguage, parseConfigSection, parseMultiConfigSection, par
|
|
|
3
3
|
import { TranslateCompiler, TranslateLoader } from '@ngx-translate/core';
|
|
4
4
|
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
|
|
5
5
|
import { HttpClient } from '@angular/common/http';
|
|
6
|
-
import { DEFAULT_LANG } from '../../../../../libs/util/i18n/src';
|
|
7
6
|
import { FileWithOverridesTranslateLoader } from './i18n/file-with-overrides.translate.loader';
|
|
8
7
|
const MISSING_CONFIG_ERROR = `Application configuration was not initialized correctly.
|
|
9
8
|
This error might show up in case of an invalid/malformed configuration file.
|
|
@@ -205,8 +204,7 @@ export const TRANSLATE_WITH_OVERRIDES_CONFIG = {
|
|
|
205
204
|
useFactory: function HttpLoaderFactory(http) {
|
|
206
205
|
return new FileWithOverridesTranslateLoader(http, './assets/i18n/');
|
|
207
206
|
},
|
|
208
|
-
defaultLanguage: DEFAULT_LANG,
|
|
209
207
|
deps: [HttpClient],
|
|
210
208
|
},
|
|
211
209
|
};
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBRTlGLE1BQU0sb0JBQW9CLEdBQUc7OzsrSUFHa0gsQ0FBQTtBQUUvSSxJQUFJLFlBQVksR0FBaUIsSUFBSSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxlQUFlO0lBQzdCLElBQUksWUFBWSxLQUFLLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDaEUsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVELElBQUksV0FBVyxHQUFnQixJQUFJLENBQUE7QUFFbkMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMvRCxPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDO0FBRUQsSUFBSSxTQUFTLEdBQWMsSUFBSSxDQUFBO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQztBQUVELElBQUksWUFBWSxHQUFpQixJQUFJLENBQUE7QUFFckMsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxPQUFPLFlBQVksQ0FBQTtBQUNyQixDQUFDO0FBRUQsSUFBSSxxQkFBcUIsR0FBMEIsSUFBSSxDQUFBO0FBQ3ZELE1BQU0sVUFBVSx3QkFBd0I7SUFDdEMsT0FBTyxDQUNMLHFCQUFxQjtRQUNwQjtZQUNDLE9BQU8sRUFBRSxLQUFLO1NBQ1csQ0FDNUIsQ0FBQTtBQUNILENBQUM7QUFFRCxJQUFJLGtCQUFrQixHQUFtQyxJQUFJLENBQUE7QUFFN0QsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQWdCO0lBQ3BELElBQUksa0JBQWtCLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUN0RSxPQUFPLFFBQVEsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtBQUMzRSxDQUFDO0FBRUQsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFBO0FBRTNCLE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sS0FBSyxDQUFDLG1DQUFtQyxDQUFDO1NBQzlDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFBO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ3BCLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ2IsSUFBSSxNQUFNLENBQUE7UUFDVixJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBUSxDQUFBO1FBQ25FLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2IsMERBQTBELENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FDdEUsQ0FBQTtRQUNILENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDakIsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFBO1FBRW5CLElBQUksbUJBQW1CLEdBQUcsa0JBQWtCLENBQzFDLE1BQU0sRUFDTixRQUFRLEVBQ1IsQ0FBQyxxQkFBcUIsQ0FBQyxFQUN2QjtZQUNFLGFBQWE7WUFDYixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxZQUFZO1lBQ1osY0FBYztZQUNkLDRCQUE0QjtZQUM1QixXQUFXO1lBQ1gsZUFBZTtTQUNoQixFQUNELFFBQVEsRUFDUixNQUFNLENBQ1AsQ0FBQTtRQUNELElBQUksbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQyxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FDekMsbUJBQW1CLEVBQ25CLFFBQVEsQ0FDVCxDQUFBO1FBQ0gsQ0FBQztRQUNELFlBQVk7WUFDVixtQkFBbUIsS0FBSyxJQUFJO2dCQUMxQixDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUU7b0JBQ0MsV0FBVyxFQUFFLG1CQUFtQixDQUFDLG1CQUFtQjtvQkFDcEQsV0FBVyxFQUFFLG1CQUFtQixDQUFDLFdBQVc7b0JBQzVDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxVQUFVO29CQUMxQyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxpQkFBaUI7d0JBQ3RELENBQUMsQ0FDRyxtQkFBbUIsQ0FBQyxpQkFDckIsQ0FBQyxXQUFXLEVBQUU7d0JBQ2pCLENBQUMsQ0FBQyxTQUFTO29CQUNiLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxTQUFTO29CQUN4QyxVQUFVLEVBQUUsbUJBQW1CLENBQUMsVUFBVTtvQkFDMUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLFlBQVk7b0JBQzlDLDBCQUEwQixFQUN4QixtQkFBbUIsQ0FBQywwQkFBMEI7b0JBQ2hELFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxTQUFTO29CQUN4QyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsYUFBYTtpQkFDaEMsQ0FBQTtRQUV4QixNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUNsRCxNQUFNLEVBQ04sV0FBVyxFQUNYLENBQUMsTUFBTSxDQUFDLEVBQ1IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLEVBQ2xELFFBQVEsRUFDUixNQUFNLENBQ1AsQ0FBQTtRQUNELE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQ3pDLE1BQU0sRUFDTixLQUFLLEVBQ0wsRUFBRSxFQUNGO1lBQ0UsVUFBVTtZQUNWLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCw0QkFBNEI7WUFDNUIsOEJBQThCO1lBQzlCLDhCQUE4QjtTQUMvQixFQUNELFFBQVEsRUFDUixNQUFNLENBQ1AsQ0FBQTtRQUNELFNBQVM7WUFDUCxnQkFBZ0IsS0FBSyxJQUFJLElBQUksb0JBQW9CLEtBQUssSUFBSTtnQkFDeEQsQ0FBQyxDQUFDLElBQUk7Z0JBQ04sQ0FBQyxDQUFFO29CQUNDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRO29CQUNuQyxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsZUFBZTtvQkFDakQsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFVBQVU7b0JBQ3ZDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLGlCQUFpQjtvQkFDckQsNEJBQTRCLEVBQzFCLGdCQUFnQixDQUFDLDRCQUE0QjtvQkFDL0MsNEJBQTRCLEVBQzFCLGdCQUFnQixDQUFDLDRCQUE0QjtvQkFDL0MsMEJBQTBCLEVBQ3hCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEI7b0JBQy9DLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxHQUFHLENBQ2xDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDWixDQUFDO3dCQUNDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTt3QkFDcEIsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHO3dCQUNsQixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7d0JBQ3BCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTt3QkFDcEIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxRQUFRO3dCQUM3QixZQUFZLEVBQUUsU0FBUyxDQUFDLFdBQVc7cUJBQ3BDLENBQWdCLENBQ3BCO2lCQUNZLENBQUE7UUFFckIsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FDM0MsTUFBTSxFQUNOLE9BQU8sRUFDUCxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLENBQUMsRUFDdEU7WUFDRSx5QkFBeUI7WUFDekIsV0FBVztZQUNYLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUNuQixTQUFTO1NBQ1YsRUFDRCxRQUFRLEVBQ1IsTUFBTSxDQUNQLENBQUE7UUFDRCxXQUFXO1lBQ1Qsa0JBQWtCLEtBQUssSUFBSTtnQkFDekIsQ0FBQyxDQUFDLElBQUk7Z0JBQ04sQ0FBQyxDQUFFO29CQUNDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxhQUFhO29CQUMvQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsZUFBZTtvQkFDbkQsVUFBVSxFQUFFLGtCQUFrQixDQUFDLFVBQVU7b0JBQ3pDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLGdCQUFnQjtvQkFDckQsdUJBQXVCLEVBQ3JCLGtCQUFrQixDQUFDLHVCQUF1QjtvQkFDNUMscUJBQXFCLEVBQUUsa0JBQWtCLENBQUMscUJBQXFCO29CQUMvRCxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUI7b0JBQ3ZELFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVO29CQUN6QyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsU0FBUztvQkFDdkMsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsb0JBQW9CO29CQUM3RCxPQUFPLEVBQUUsa0JBQWtCLENBQUMsT0FBTztpQkFDcEIsQ0FBQTtRQUV2QixNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUM1QyxNQUFNLEVBQ04sUUFBUSxFQUNSLEVBQUUsRUFDRjtZQUNFLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGtCQUFrQjtTQUNuQixFQUNELFFBQVEsRUFDUixNQUFNLENBQ1AsQ0FBQTtRQUNELE1BQU0sa0JBQWtCLEdBQUcsdUJBQXVCLENBQ2hELE1BQU0sRUFDTixlQUFlLEVBQ2YsQ0FBQyxNQUFNLENBQUMsRUFDUixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFDbkIsUUFBUSxFQUNSLE1BQU0sQ0FDUCxDQUFBO1FBQ0QsWUFBWTtZQUNWLG1CQUFtQixLQUFLLElBQUk7Z0JBQzFCLENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBRTtvQkFDQyxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQyxvQkFBb0I7b0JBQzlELG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLG1CQUFtQjtvQkFDNUQsYUFBYSxFQUFFLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDaEQsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUNoQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7d0JBQ2hCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztxQkFDdkIsQ0FBQyxDQUFDO29CQUNILGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLGdCQUFnQjtpQkFDdEMsQ0FBQTtRQUV4QixNQUFNLDRCQUE0QixHQUFHLGtCQUFrQixDQUNyRCxNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLEVBQUUsRUFDRixDQUFDLFNBQVMsQ0FBQyxFQUNYLFFBQVEsRUFDUixNQUFNLENBQ1AsQ0FBQTtRQUNELHFCQUFxQjtZQUNuQiw0QkFBNEIsS0FBSyxJQUFJO2dCQUNuQyxDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUU7b0JBQ0MsT0FBTyxFQUFFLDRCQUE0QixDQUFDLE9BQU87b0JBQzdDLFFBQVEsRUFBRSw0QkFBNEIsQ0FBQyxRQUFRO2lCQUN0QixDQUFBO1FBRWpDLGtCQUFrQixHQUFHLDhCQUE4QixDQUNqRCxNQUFNLEVBQ04sY0FBYyxDQUNtQixDQUFBO1FBRW5DLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUM7RUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDaEIsQ0FBQzthQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUM7RUFDbkIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDbEIsQ0FBQztRQUVELGVBQWUsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxlQUFlLENBQUE7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNO0lBQ3BCLFlBQVksR0FBRyxJQUFJLENBQUE7SUFDbkIsV0FBVyxHQUFHLElBQUksQ0FBQTtJQUNsQixrQkFBa0IsR0FBRyxJQUFJLENBQUE7QUFDM0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHO0lBQzdDLFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsUUFBUSxFQUFFLDhCQUE4QjtLQUN6QztJQUNELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFVBQVUsRUFBRSxTQUFTLGlCQUFpQixDQUFDLElBQWdCO1lBQ3JELE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQUNyRSxDQUFDO1FBQ0QsZUFBZSxFQUFFLFlBQVk7UUFDN0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO0tBQ25CO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRPTUwgZnJvbSAnQGx0ZC9qLXRvbWwnXG5pbXBvcnQge1xuICBjaGVja01ldGFkYXRhTGFuZ3VhZ2UsXG4gIHBhcnNlQ29uZmlnU2VjdGlvbixcbiAgcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24sXG4gIHBhcnNlVHJhbnNsYXRpb25zQ29uZmlnU2VjdGlvbixcbn0gZnJvbSAnLi9wYXJzZS11dGlscydcbmltcG9ydCB7XG4gIEN1c3RvbVRyYW5zbGF0aW9ucyxcbiAgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzLFxuICBHbG9iYWxDb25maWcsXG4gIExheWVyQ29uZmlnLFxuICBNYXBDb25maWcsXG4gIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyxcbiAgU2VhcmNoQ29uZmlnLFxuICBUaGVtZUNvbmZpZyxcbn0gZnJvbSAnLi9tb2RlbCdcbmltcG9ydCB7IFRyYW5zbGF0ZUNvbXBpbGVyLCBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyIH0gZnJvbSAnbmd4LXRyYW5zbGF0ZS1tZXNzYWdlZm9ybWF0LWNvbXBpbGVyJ1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgREVGQVVMVF9MQU5HIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgRmlsZVdpdGhPdmVycmlkZXNUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICcuL2kxOG4vZmlsZS13aXRoLW92ZXJyaWRlcy50cmFuc2xhdGUubG9hZGVyJ1xuXG5jb25zdCBNSVNTSU5HX0NPTkZJR19FUlJPUiA9IGBBcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIHdhcyBub3QgaW5pdGlhbGl6ZWQgY29ycmVjdGx5LlxuVGhpcyBlcnJvciBtaWdodCBzaG93IHVwIGluIGNhc2Ugb2YgYW4gaW52YWxpZC9tYWxmb3JtZWQgY29uZmlndXJhdGlvbiBmaWxlLlxuXG5Ob3RlOiBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBjYWxsZWQgXFxgbG9hZEFwcENvbmZpZ1xcYCBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMnIGJlZm9yZSBzdGFydGluZyB0aGUgQW5ndWxhciBhcHBsaWNhdGlvbi5gXG5cbmxldCBnbG9iYWxDb25maWc6IEdsb2JhbENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbENvbmZpZygpOiBHbG9iYWxDb25maWcge1xuICBpZiAoZ2xvYmFsQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiBnbG9iYWxDb25maWdcbn1cblxubGV0IHRoZW1lQ29uZmlnOiBUaGVtZUNvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRoZW1lQ29uZmlnKCk6IFRoZW1lQ29uZmlnIHtcbiAgaWYgKHRoZW1lQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiB0aGVtZUNvbmZpZ1xufVxuXG5sZXQgbWFwQ29uZmlnOiBNYXBDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbE1hcENvbmZpZygpOiBNYXBDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIG1hcENvbmZpZ1xufVxuXG5sZXQgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbFNlYXJjaENvbmZpZygpOiBTZWFyY2hDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIHNlYXJjaENvbmZpZ1xufVxuXG5sZXQgbWV0YWRhdGFRdWFsaXR5Q29uZmlnOiBNZXRhZGF0YVF1YWxpdHlDb25maWcgPSBudWxsXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YWRhdGFRdWFsaXR5Q29uZmlnKCk6IE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIHJldHVybiAoXG4gICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnIHx8XG4gICAgKHtcbiAgICAgIEVOQUJMRUQ6IGZhbHNlLFxuICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuICApXG59XG5cbmxldCBjdXN0b21UcmFuc2xhdGlvbnM6IEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1c3RvbVRyYW5zbGF0aW9ucyhsYW5nQ29kZTogc3RyaW5nKTogQ3VzdG9tVHJhbnNsYXRpb25zIHtcbiAgaWYgKGN1c3RvbVRyYW5zbGF0aW9ucyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gbGFuZ0NvZGUgaW4gY3VzdG9tVHJhbnNsYXRpb25zID8gY3VzdG9tVHJhbnNsYXRpb25zW2xhbmdDb2RlXSA6IHt9XG59XG5cbmxldCBhcHBDb25maWdMb2FkZWQgPSBmYWxzZVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFwcENvbmZpZygpIHtcbiAgcmV0dXJuIGZldGNoKCdhc3NldHMvY29uZmlndXJhdGlvbi9kZWZhdWx0LnRvbWwnKVxuICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICBpZiAoIXJlc3Aub2spIHRocm93IG5ldyBFcnJvcignQ29uZmlndXJhdGlvbiBmaWxlIGNvdWxkIG5vdCBiZSBsb2FkZWQnKVxuICAgICAgcmV0dXJuIHJlc3AudGV4dCgpXG4gICAgfSlcbiAgICAudGhlbigoY29uZikgPT4ge1xuICAgICAgbGV0IHBhcnNlZFxuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyc2VkID0gVE9NTC5wYXJzZShjb25mLCB7IGpvaW5lcjogJ1xcbicsIGJpZ2ludDogZmFsc2UgfSkgYXMgYW55XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGVuIHBhcnNpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZTogJHtlLm1lc3NhZ2V9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb25zdCBlcnJvcnMgPSBbXVxuICAgICAgY29uc3Qgd2FybmluZ3MgPSBbXVxuXG4gICAgICBsZXQgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnZ2xvYmFsJyxcbiAgICAgICAgWydnZW9uZXR3b3JrNF9hcGlfdXJsJ10sXG4gICAgICAgIFtcbiAgICAgICAgICAnZGF0YWh1Yl91cmwnLFxuICAgICAgICAgICdwcm94eV9wYXRoJyxcbiAgICAgICAgICAnbWV0YWRhdGFfbGFuZ3VhZ2UnLFxuICAgICAgICAgICdsb2dpbl91cmwnLFxuICAgICAgICAgICdsb2dvdXRfdXJsJyxcbiAgICAgICAgICAnc2V0dGluZ3NfdXJsJyxcbiAgICAgICAgICAnd2ViX2NvbXBvbmVudF9lbWJlZGRlcl91cmwnLFxuICAgICAgICAgICdsYW5ndWFnZXMnLFxuICAgICAgICAgICdjb250YWN0X2VtYWlsJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgaWYgKHBhcnNlZEdsb2JhbFNlY3Rpb24/Lm1ldGFkYXRhX2xhbmd1YWdlKSB7XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPSBjaGVja01ldGFkYXRhTGFuZ3VhZ2UoXG4gICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbixcbiAgICAgICAgICB3YXJuaW5nc1xuICAgICAgICApXG4gICAgICB9XG4gICAgICBnbG9iYWxDb25maWcgPVxuICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBHTjRfQVBJX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5nZW9uZXR3b3JrNF9hcGlfdXJsLFxuICAgICAgICAgICAgICBEQVRBSFVCX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5kYXRhaHViX3VybCxcbiAgICAgICAgICAgICAgUFJPWFlfUEFUSDogcGFyc2VkR2xvYmFsU2VjdGlvbi5wcm94eV9wYXRoLFxuICAgICAgICAgICAgICBNRVRBREFUQV9MQU5HVUFHRTogcGFyc2VkR2xvYmFsU2VjdGlvbi5tZXRhZGF0YV9sYW5ndWFnZVxuICAgICAgICAgICAgICAgID8gKFxuICAgICAgICAgICAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlIGFzIHN0cmluZ1xuICAgICAgICAgICAgICAgICAgKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIExPR0lOX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5sb2dpbl91cmwsXG4gICAgICAgICAgICAgIExPR09VVF9VUkw6IHBhcnNlZEdsb2JhbFNlY3Rpb24ubG9nb3V0X3VybCxcbiAgICAgICAgICAgICAgU0VUVElOR1NfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnNldHRpbmdzX3VybCxcbiAgICAgICAgICAgICAgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkw6XG4gICAgICAgICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbi53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCxcbiAgICAgICAgICAgICAgTEFOR1VBR0VTOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxhbmd1YWdlcyxcbiAgICAgICAgICAgICAgQ09OVEFDVF9FTUFJTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5jb250YWN0X2VtYWlsLFxuICAgICAgICAgICAgfSBhcyBHbG9iYWxDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZExheWVyc1NlY3Rpb25zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21hcF9sYXllcicsXG4gICAgICAgIFsndHlwZSddLFxuICAgICAgICBbJ25hbWUnLCAndXJsJywgJ2RhdGEnLCAnc3R5bGVVcmwnLCAnYWNjZXNzVG9rZW4nXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkTWFwU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWFwJyxcbiAgICAgICAgW10sXG4gICAgICAgIFtcbiAgICAgICAgICAnbWF4X3pvb20nLFxuICAgICAgICAgICdkb19ub3RfdGlsZV93bXMnLFxuICAgICAgICAgICdtYXhfZXh0ZW50JyxcbiAgICAgICAgICAnbWF4X2ZlYXR1cmVfY291bnQnLFxuICAgICAgICAgICdiYXNlbGF5ZXInLFxuICAgICAgICAgICdkb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCcsXG4gICAgICAgICAgJ2V4dGVybmFsX3ZpZXdlcl91cmxfdGVtcGxhdGUnLFxuICAgICAgICAgICdleHRlcm5hbF92aWV3ZXJfb3Blbl9uZXdfdGFiJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgbWFwQ29uZmlnID1cbiAgICAgICAgcGFyc2VkTWFwU2VjdGlvbiA9PT0gbnVsbCB8fCBwYXJzZWRMYXllcnNTZWN0aW9ucyA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgTUFYX1pPT006IHBhcnNlZE1hcFNlY3Rpb24ubWF4X3pvb20sXG4gICAgICAgICAgICAgIERPX05PVF9USUxFX1dNUzogcGFyc2VkTWFwU2VjdGlvbi5kb19ub3RfdGlsZV93bXMsXG4gICAgICAgICAgICAgIE1BWF9FWFRFTlQ6IHBhcnNlZE1hcFNlY3Rpb24ubWF4X2V4dGVudCxcbiAgICAgICAgICAgICAgTUFYX0ZFQVRVUkVfQ09VTlQ6IHBhcnNlZE1hcFNlY3Rpb24ubWF4X2ZlYXR1cmVfY291bnQsXG4gICAgICAgICAgICAgIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU6XG4gICAgICAgICAgICAgICAgcGFyc2VkTWFwU2VjdGlvbi5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlLFxuICAgICAgICAgICAgICBFWFRFUk5BTF9WSUVXRVJfT1BFTl9ORVdfVEFCOlxuICAgICAgICAgICAgICAgIHBhcnNlZE1hcFNlY3Rpb24uZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYixcbiAgICAgICAgICAgICAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVA6XG4gICAgICAgICAgICAgICAgISFwYXJzZWRNYXBTZWN0aW9uLmRvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwLFxuICAgICAgICAgICAgICBNQVBfTEFZRVJTOiBwYXJzZWRMYXllcnNTZWN0aW9ucy5tYXAoXG4gICAgICAgICAgICAgICAgKG1hcF9sYXllcikgPT5cbiAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgIFRZUEU6IG1hcF9sYXllci50eXBlLFxuICAgICAgICAgICAgICAgICAgICBVUkw6IG1hcF9sYXllci51cmwsXG4gICAgICAgICAgICAgICAgICAgIE5BTUU6IG1hcF9sYXllci5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBEQVRBOiBtYXBfbGF5ZXIuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgU1RZTEVfVVJMOiBtYXBfbGF5ZXIuc3R5bGVVcmwsXG4gICAgICAgICAgICAgICAgICAgIEFDQ0VTU19UT0tFTjogbWFwX2xheWVyLmFjY2Vzc1Rva2VuLFxuICAgICAgICAgICAgICAgICAgfSkgYXMgTGF5ZXJDb25maWdcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0gYXMgTWFwQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRUaGVtZVNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3RoZW1lJyxcbiAgICAgICAgWydwcmltYXJ5X2NvbG9yJywgJ3NlY29uZGFyeV9jb2xvcicsICdtYWluX2NvbG9yJywgJ2JhY2tncm91bmRfY29sb3InXSxcbiAgICAgICAgW1xuICAgICAgICAgICdoZWFkZXJfZm9yZWdyb3VuZF9jb2xvcicsXG4gICAgICAgICAgJ21haW5fZm9udCcsXG4gICAgICAgICAgJ3RpdGxlX2ZvbnQnLFxuICAgICAgICAgICdmb250c19zdHlsZXNoZWV0X3VybCcsXG4gICAgICAgICAgJ3RodW1ibmFpbF9wbGFjZWhvbGRlcicsXG4gICAgICAgICAgJ2hlYWRlcl9iYWNrZ3JvdW5kJyxcbiAgICAgICAgICAnZmF2aWNvbicsXG4gICAgICAgIF0sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIHRoZW1lQ29uZmlnID1cbiAgICAgICAgcGFyc2VkVGhlbWVTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBQUklNQVJZX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24ucHJpbWFyeV9jb2xvcixcbiAgICAgICAgICAgICAgU0VDT05EQVJZX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24uc2Vjb25kYXJ5X2NvbG9yLFxuICAgICAgICAgICAgICBNQUlOX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24ubWFpbl9jb2xvcixcbiAgICAgICAgICAgICAgQkFDS0dST1VORF9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLmJhY2tncm91bmRfY29sb3IsXG4gICAgICAgICAgICAgIEhFQURFUl9GT1JFR1JPVU5EX0NPTE9SOlxuICAgICAgICAgICAgICAgIHBhcnNlZFRoZW1lU2VjdGlvbi5oZWFkZXJfZm9yZWdyb3VuZF9jb2xvcixcbiAgICAgICAgICAgICAgVEhVTUJOQUlMX1BMQUNFSE9MREVSOiBwYXJzZWRUaGVtZVNlY3Rpb24udGh1bWJuYWlsX3BsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICBIRUFERVJfQkFDS0dST1VORDogcGFyc2VkVGhlbWVTZWN0aW9uLmhlYWRlcl9iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICBUSVRMRV9GT05UOiBwYXJzZWRUaGVtZVNlY3Rpb24udGl0bGVfZm9udCxcbiAgICAgICAgICAgICAgTUFJTl9GT05UOiBwYXJzZWRUaGVtZVNlY3Rpb24ubWFpbl9mb250LFxuICAgICAgICAgICAgICBGT05UU19TVFlMRVNIRUVUX1VSTDogcGFyc2VkVGhlbWVTZWN0aW9uLmZvbnRzX3N0eWxlc2hlZXRfdXJsLFxuICAgICAgICAgICAgICBGQVZJQ09OOiBwYXJzZWRUaGVtZVNlY3Rpb24uZmF2aWNvbixcbiAgICAgICAgICAgIH0gYXMgVGhlbWVDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaCcsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ2ZpbHRlcl9nZW9tZXRyeV9kYXRhJyxcbiAgICAgICAgICAnZmlsdGVyX2dlb21ldHJ5X3VybCcsXG4gICAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICAgICdhZHZhbmNlZF9maWx0ZXJzJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkU2VhcmNoUGFyYW1zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICBbJ25hbWUnXSxcbiAgICAgICAgWydzb3J0JywgJ2ZpbHRlcnMnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgc2VhcmNoQ29uZmlnID1cbiAgICAgICAgcGFyc2VkU2VhcmNoU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgRklMVEVSX0dFT01FVFJZX0RBVEE6IHBhcnNlZFNlYXJjaFNlY3Rpb24uZmlsdGVyX2dlb21ldHJ5X2RhdGEsXG4gICAgICAgICAgICAgIEZJTFRFUl9HRU9NRVRSWV9VUkw6IHBhcnNlZFNlYXJjaFNlY3Rpb24uZmlsdGVyX2dlb21ldHJ5X3VybCxcbiAgICAgICAgICAgICAgU0VBUkNIX1BSRVNFVDogcGFyc2VkU2VhcmNoUGFyYW1zLm1hcCgocGFyYW0pID0+ICh7XG4gICAgICAgICAgICAgICAgc29ydDogcGFyYW0uc29ydCxcbiAgICAgICAgICAgICAgICBuYW1lOiBwYXJhbS5uYW1lLFxuICAgICAgICAgICAgICAgIGZpbHRlcnM6IHBhcmFtLmZpbHRlcnMsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgQURWQU5DRURfRklMVEVSUzogcGFyc2VkU2VhcmNoU2VjdGlvbi5hZHZhbmNlZF9maWx0ZXJzLFxuICAgICAgICAgICAgfSBhcyBTZWFyY2hDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21ldGFkYXRhLXF1YWxpdHknLFxuICAgICAgICBbXSxcbiAgICAgICAgWydlbmFibGVkJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIG1ldGFkYXRhUXVhbGl0eUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEVOQUJMRUQ6IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24uZW5hYmxlZCxcbiAgICAgICAgICAgICAgU09SVEFCTEU6IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24uc29ydGFibGUsXG4gICAgICAgICAgICB9IGFzIE1ldGFkYXRhUXVhbGl0eUNvbmZpZylcblxuICAgICAgY3VzdG9tVHJhbnNsYXRpb25zID0gcGFyc2VUcmFuc2xhdGlvbnNDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICd0cmFuc2xhdGlvbnMnXG4gICAgICApIGFzIEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlc1xuXG4gICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE9uZSBvciBtb3JlIG1hbmRhdG9yeSBzZXR0aW5ncyB3ZXJlIG1pc3NpbmcgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBmaWxlLlxuJHtlcnJvcnMuam9pbignXFxuJyl9YClcbiAgICAgIH0gZWxzZSBpZiAod2FybmluZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgT25lIG9yIG1vcmUgdW5leHBlY3RlZCBzZXR0aW5ncyB3ZXJlIGVuY291bnRlcmVkIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuXG4ke3dhcm5pbmdzLmpvaW4oJ1xcbicpfWApXG4gICAgICB9XG5cbiAgICAgIGFwcENvbmZpZ0xvYWRlZCA9IHRydWVcbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb25maWdMb2FkZWQoKSB7XG4gIHJldHVybiBhcHBDb25maWdMb2FkZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9yZXNldCgpIHtcbiAgZ2xvYmFsQ29uZmlnID0gbnVsbFxuICB0aGVtZUNvbmZpZyA9IG51bGxcbiAgY3VzdG9tVHJhbnNsYXRpb25zID0gbnVsbFxufVxuXG5leHBvcnQgY29uc3QgVFJBTlNMQVRFX1dJVEhfT1ZFUlJJREVTX0NPTkZJRyA9IHtcbiAgY29tcGlsZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVDb21waWxlcixcbiAgICB1c2VDbGFzczogVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyLFxuICB9LFxuICBsb2FkZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgdXNlRmFjdG9yeTogZnVuY3Rpb24gSHR0cExvYWRlckZhY3RvcnkoaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgcmV0dXJuIG5ldyBGaWxlV2l0aE92ZXJyaWRlc1RyYW5zbGF0ZUxvYWRlcihodHRwLCAnLi9hc3NldHMvaTE4bi8nKVxuICAgIH0sXG4gICAgZGVmYXVsdExhbmd1YWdlOiBERUZBVUxUX0xBTkcsXG4gICAgZGVwczogW0h0dHBDbGllbnRdLFxuICB9LFxufVxuIl19
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFFOUYsTUFBTSxvQkFBb0IsR0FBRzs7OytJQUdrSCxDQUFBO0FBRS9JLElBQUksWUFBWSxHQUFpQixJQUFJLENBQUE7QUFFckMsTUFBTSxVQUFVLGVBQWU7SUFDN0IsSUFBSSxZQUFZLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUNoRSxPQUFPLFlBQVksQ0FBQTtBQUNyQixDQUFDO0FBRUQsSUFBSSxXQUFXLEdBQWdCLElBQUksQ0FBQTtBQUVuQyxNQUFNLFVBQVUsY0FBYztJQUM1QixJQUFJLFdBQVcsS0FBSyxJQUFJO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQy9ELE9BQU8sV0FBVyxDQUFBO0FBQ3BCLENBQUM7QUFFRCxJQUFJLFNBQVMsR0FBYyxJQUFJLENBQUE7QUFFL0IsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxPQUFPLFNBQVMsQ0FBQTtBQUNsQixDQUFDO0FBRUQsSUFBSSxZQUFZ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OEJBQThCLENBQ2pELE1BQU0sRUFDTixjQUFjLENBQ21CLENBQUE7UUFFbkMsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQztFQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNoQixDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQztFQUNuQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNsQixDQUFDO1FBRUQsZUFBZSxHQUFHLElBQUksQ0FBQTtJQUN4QixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYztJQUM1QixPQUFPLGVBQWUsQ0FBQTtBQUN4QixDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU07SUFDcEIsWUFBWSxHQUFHLElBQUksQ0FBQTtJQUNuQixXQUFXLEdBQUcsSUFBSSxDQUFBO0lBQ2xCLGtCQUFrQixHQUFHLElBQUksQ0FBQTtBQUMzQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUc7SUFDN0MsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixRQUFRLEVBQUUsOEJBQThCO0tBQ3pDO0lBQ0QsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLFNBQVMsaUJBQWlCLENBQUMsSUFBZ0I7WUFDckQsT0FBTyxJQUFJLGdDQUFnQyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO1FBQ3JFLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7S0FDbkI7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVE9NTCBmcm9tICdAbHRkL2otdG9tbCdcbmltcG9ydCB7XG4gIGNoZWNrTWV0YWRhdGFMYW5ndWFnZSxcbiAgcGFyc2VDb25maWdTZWN0aW9uLFxuICBwYXJzZU11bHRpQ29uZmlnU2VjdGlvbixcbiAgcGFyc2VUcmFuc2xhdGlvbnNDb25maWdTZWN0aW9uLFxufSBmcm9tICcuL3BhcnNlLXV0aWxzJ1xuaW1wb3J0IHtcbiAgQ3VzdG9tVHJhbnNsYXRpb25zLFxuICBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXMsXG4gIEdsb2JhbENvbmZpZyxcbiAgTGF5ZXJDb25maWcsXG4gIE1hcENvbmZpZyxcbiAgTWV0YWRhdGFRdWFsaXR5Q29uZmlnLFxuICBTZWFyY2hDb25maWcsXG4gIFRoZW1lQ29uZmlnLFxufSBmcm9tICcuL21vZGVsJ1xuaW1wb3J0IHsgVHJhbnNsYXRlQ29tcGlsZXIsIFRyYW5zbGF0ZUxvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVNZXNzYWdlRm9ybWF0Q29tcGlsZXIgfSBmcm9tICduZ3gtdHJhbnNsYXRlLW1lc3NhZ2Vmb3JtYXQtY29tcGlsZXInXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBGaWxlV2l0aE92ZXJyaWRlc1RyYW5zbGF0ZUxvYWRlciB9IGZyb20gJy4vaTE4bi9maWxlLXdpdGgtb3ZlcnJpZGVzLnRyYW5zbGF0ZS5sb2FkZXInXG5cbmNvbnN0IE1JU1NJTkdfQ09ORklHX0VSUk9SID0gYEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gd2FzIG5vdCBpbml0aWFsaXplZCBjb3JyZWN0bHkuXG5UaGlzIGVycm9yIG1pZ2h0IHNob3cgdXAgaW4gY2FzZSBvZiBhbiBpbnZhbGlkL21hbGZvcm1lZCBjb25maWd1cmF0aW9uIGZpbGUuXG5cbk5vdGU6IG1ha2Ugc3VyZSB0aGF0IHlvdSBoYXZlIGNhbGxlZCBcXGBsb2FkQXBwQ29uZmlnXFxgIGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYycgYmVmb3JlIHN0YXJ0aW5nIHRoZSBBbmd1bGFyIGFwcGxpY2F0aW9uLmBcblxubGV0IGdsb2JhbENvbmZpZzogR2xvYmFsQ29uZmlnID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2xvYmFsQ29uZmlnKCk6IEdsb2JhbENvbmZpZyB7XG4gIGlmIChnbG9iYWxDb25maWcgPT09IG51bGwpIHRocm93IG5ldyBFcnJvcihNSVNTSU5HX0NPTkZJR19FUlJPUilcbiAgcmV0dXJuIGdsb2JhbENvbmZpZ1xufVxuXG5sZXQgdGhlbWVDb25maWc6IFRoZW1lQ29uZmlnID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGhlbWVDb25maWcoKTogVGhlbWVDb25maWcge1xuICBpZiAodGhlbWVDb25maWcgPT09IG51bGwpIHRocm93IG5ldyBFcnJvcihNSVNTSU5HX0NPTkZJR19FUlJPUilcbiAgcmV0dXJuIHRoZW1lQ29uZmlnXG59XG5cbmxldCBtYXBDb25maWc6IE1hcENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbmFsTWFwQ29uZmlnKCk6IE1hcENvbmZpZyB8IG51bGwge1xuICByZXR1cm4gbWFwQ29uZmlnXG59XG5cbmxldCBzZWFyY2hDb25maWc6IFNlYXJjaENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbmFsU2VhcmNoQ29uZmlnKCk6IFNlYXJjaENvbmZpZyB8IG51bGwge1xuICByZXR1cm4gc2VhcmNoQ29uZmlnXG59XG5cbmxldCBtZXRhZGF0YVF1YWxpdHlDb25maWc6IE1ldGFkYXRhUXVhbGl0eUNvbmZpZyA9IG51bGxcbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXRhZGF0YVF1YWxpdHlDb25maWcoKTogTWV0YWRhdGFRdWFsaXR5Q29uZmlnIHtcbiAgcmV0dXJuIChcbiAgICBtZXRhZGF0YVF1YWxpdHlDb25maWcgfHxcbiAgICAoe1xuICAgICAgRU5BQkxFRDogZmFsc2UsXG4gICAgfSBhcyBNZXRhZGF0YVF1YWxpdHlDb25maWcpXG4gIClcbn1cblxubGV0IGN1c3RvbVRyYW5zbGF0aW9uczogQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q3VzdG9tVHJhbnNsYXRpb25zKGxhbmdDb2RlOiBzdHJpbmcpOiBDdXN0b21UcmFuc2xhdGlvbnMge1xuICBpZiAoY3VzdG9tVHJhbnNsYXRpb25zID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiBsYW5nQ29kZSBpbiBjdXN0b21UcmFuc2xhdGlvbnMgPyBjdXN0b21UcmFuc2xhdGlvbnNbbGFuZ0NvZGVdIDoge31cbn1cblxubGV0IGFwcENvbmZpZ0xvYWRlZCA9IGZhbHNlXG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQXBwQ29uZmlnKCkge1xuICByZXR1cm4gZmV0Y2goJ2Fzc2V0cy9jb25maWd1cmF0aW9uL2RlZmF1bHQudG9tbCcpXG4gICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgIGlmICghcmVzcC5vaykgdGhyb3cgbmV3IEVycm9yKCdDb25maWd1cmF0aW9uIGZpbGUgY291bGQgbm90IGJlIGxvYWRlZCcpXG4gICAgICByZXR1cm4gcmVzcC50ZXh0KClcbiAgICB9KVxuICAgIC50aGVuKChjb25mKSA9PiB7XG4gICAgICBsZXQgcGFyc2VkXG4gICAgICB0cnkge1xuICAgICAgICBwYXJzZWQgPSBUT01MLnBhcnNlKGNvbmYsIHsgam9pbmVyOiAnXFxuJywgYmlnaW50OiBmYWxzZSB9KSBhcyBhbnlcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoZW4gcGFyc2luZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlOiAke2UubWVzc2FnZX1gXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVycm9ycyA9IFtdXG4gICAgICBjb25zdCB3YXJuaW5ncyA9IFtdXG5cbiAgICAgIGxldCBwYXJzZWRHbG9iYWxTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdnbG9iYWwnLFxuICAgICAgICBbJ2dlb25ldHdvcms0X2FwaV91cmwnXSxcbiAgICAgICAgW1xuICAgICAgICAgICdkYXRhaHViX3VybCcsXG4gICAgICAgICAgJ3Byb3h5X3BhdGgnLFxuICAgICAgICAgICdtZXRhZGF0YV9sYW5ndWFnZScsXG4gICAgICAgICAgJ2xvZ2luX3VybCcsXG4gICAgICAgICAgJ2xvZ291dF91cmwnLFxuICAgICAgICAgICdzZXR0aW5nc191cmwnLFxuICAgICAgICAgICd3ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCcsXG4gICAgICAgICAgJ2xhbmd1YWdlcycsXG4gICAgICAgICAgJ2NvbnRhY3RfZW1haWwnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBpZiAocGFyc2VkR2xvYmFsU2VjdGlvbj8ubWV0YWRhdGFfbGFuZ3VhZ2UpIHtcbiAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IGNoZWNrTWV0YWRhdGFMYW5ndWFnZShcbiAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLFxuICAgICAgICAgIHdhcm5pbmdzXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGdsb2JhbENvbmZpZyA9XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEdONF9BUElfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmdlb25ldHdvcms0X2FwaV91cmwsXG4gICAgICAgICAgICAgIERBVEFIVUJfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmRhdGFodWJfdXJsLFxuICAgICAgICAgICAgICBQUk9YWV9QQVRIOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnByb3h5X3BhdGgsXG4gICAgICAgICAgICAgIE1FVEFEQVRBX0xBTkdVQUdFOiBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlXG4gICAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24ubWV0YWRhdGFfbGFuZ3VhZ2UgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgTE9HSU5fVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxvZ2luX3VybCxcbiAgICAgICAgICAgICAgTE9HT1VUX1VSTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5sb2dvdXRfdXJsLFxuICAgICAgICAgICAgICBTRVRUSU5HU19VUkw6IHBhcnNlZEdsb2JhbFNlY3Rpb24uc2V0dGluZ3NfdXJsLFxuICAgICAgICAgICAgICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTDpcbiAgICAgICAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLndlYl9jb21wb25lbnRfZW1iZWRkZXJfdXJsLFxuICAgICAgICAgICAgICBMQU5HVUFHRVM6IHBhcnNlZEdsb2JhbFNlY3Rpb24ubGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICBDT05UQUNUX0VNQUlMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmNvbnRhY3RfZW1haWwsXG4gICAgICAgICAgICB9IGFzIEdsb2JhbENvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkTGF5ZXJzU2VjdGlvbnMgPSBwYXJzZU11bHRpQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWFwX2xheWVyJyxcbiAgICAgICAgWyd0eXBlJ10sXG4gICAgICAgIFsnbmFtZScsICd1cmwnLCAnZGF0YScsICdzdHlsZVVybCcsICdhY2Nlc3NUb2tlbiddLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBjb25zdCBwYXJzZWRNYXBTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdtYXAnLFxuICAgICAgICBbXSxcbiAgICAgICAgW1xuICAgICAgICAgICdtYXhfem9vbScsXG4gICAgICAgICAgJ2RvX25vdF90aWxlX3dtcycsXG4gICAgICAgICAgJ21heF9leHRlbnQnLFxuICAgICAgICAgICdtYXhfZmVhdHVyZV9jb3VudCcsXG4gICAgICAgICAgJ2Jhc2VsYXllcicsXG4gICAgICAgICAgJ2RvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwJyxcbiAgICAgICAgICAnZXh0ZXJuYWxfdmlld2VyX3VybF90ZW1wbGF0ZScsXG4gICAgICAgICAgJ2V4dGVybmFsX3ZpZXdlcl9vcGVuX25ld190YWInLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBtYXBDb25maWcgPVxuICAgICAgICBwYXJzZWRNYXBTZWN0aW9uID09PSBudWxsIHx8IHBhcnNlZExheWVyc1NlY3Rpb25zID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBNQVhfWk9PTTogcGFyc2VkTWFwU2VjdGlvbi5tYXhfem9vbSxcbiAgICAgICAgICAgICAgRE9fTk9UX1RJTEVfV01TOiBwYXJzZWRNYXBTZWN0aW9uLmRvX25vdF90aWxlX3dtcyxcbiAgICAgICAgICAgICAgTUFYX0VYVEVOVDogcGFyc2VkTWFwU2VjdGlvbi5tYXhfZXh0ZW50LFxuICAgICAgICAgICAgICBNQVhfRkVBVFVSRV9DT1VOVDogcGFyc2VkTWFwU2VjdGlvbi5tYXhfZmVhdHVyZV9jb3VudCxcbiAgICAgICAgICAgICAgRVhURVJOQUxfVklFV0VSX1VSTF9URU1QTEFURTpcbiAgICAgICAgICAgICAgICBwYXJzZWRNYXBTZWN0aW9uLmV4dGVybmFsX3ZpZXdlcl91cmxfdGVtcGxhdGUsXG4gICAgICAgICAgICAgIEVYVEVSTkFMX1ZJRVdFUl9PUEVOX05FV19UQUI6XG4gICAgICAgICAgICAgICAgcGFyc2VkTWFwU2VjdGlvbi5leHRlcm5hbF92aWV3ZXJfb3Blbl9uZXdfdGFiLFxuICAgICAgICAgICAgICBET19OT1RfVVNFX0RFRkFVTFRfQkFTRU1BUDpcbiAgICAgICAgICAgICAgICAhIXBhcnNlZE1hcFNlY3Rpb24uZG9fbm90X3VzZV9kZWZhdWx0X2Jhc2VtYXAsXG4gICAgICAgICAgICAgIE1BUF9MQVlFUlM6IHBhcnNlZExheWVyc1NlY3Rpb25zLm1hcChcbiAgICAgICAgICAgICAgICAobWFwX2xheWVyKSA9PlxuICAgICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgVFlQRTogbWFwX2xheWVyLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIFVSTDogbWFwX2xheWVyLnVybCxcbiAgICAgICAgICAgICAgICAgICAgTkFNRTogbWFwX2xheWVyLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIERBVEE6IG1hcF9sYXllci5kYXRhLFxuICAgICAgICAgICAgICAgICAgICBTVFlMRV9VUkw6IG1hcF9sYXllci5zdHlsZVVybCxcbiAgICAgICAgICAgICAgICAgICAgQUNDRVNTX1RPS0VOOiBtYXBfbGF5ZXIuYWNjZXNzVG9rZW4sXG4gICAgICAgICAgICAgICAgICB9KSBhcyBMYXllckNvbmZpZ1xuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSBhcyBNYXBDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFRoZW1lU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAndGhlbWUnLFxuICAgICAgICBbJ3ByaW1hcnlfY29sb3InLCAnc2Vjb25kYXJ5X2NvbG9yJywgJ21haW5fY29sb3InLCAnYmFja2dyb3VuZF9jb2xvciddLFxuICAgICAgICBbXG4gICAgICAgICAgJ2hlYWRlcl9mb3JlZ3JvdW5kX2NvbG9yJyxcbiAgICAgICAgICAnbWFpbl9mb250JyxcbiAgICAgICAgICAndGl0bGVfZm9udCcsXG4gICAgICAgICAgJ2ZvbnRzX3N0eWxlc2hlZXRfdXJsJyxcbiAgICAgICAgICAndGh1bWJuYWlsX3BsYWNlaG9sZGVyJyxcbiAgICAgICAgICAnaGVhZGVyX2JhY2tncm91bmQnLFxuICAgICAgICAgICdmYXZpY29uJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgdGhlbWVDb25maWcgPVxuICAgICAgICBwYXJzZWRUaGVtZVNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIFBSSU1BUllfQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5wcmltYXJ5X2NvbG9yLFxuICAgICAgICAgICAgICBTRUNPTkRBUllfQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5zZWNvbmRhcnlfY29sb3IsXG4gICAgICAgICAgICAgIE1BSU5fQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5tYWluX2NvbG9yLFxuICAgICAgICAgICAgICBCQUNLR1JPVU5EX0NPTE9SOiBwYXJzZWRUaGVtZVNlY3Rpb24uYmFja2dyb3VuZF9jb2xvcixcbiAgICAgICAgICAgICAgSEVBREVSX0ZPUkVHUk9VTkRfQ09MT1I6XG4gICAgICAgICAgICAgICAgcGFyc2VkVGhlbWVTZWN0aW9uLmhlYWRlcl9mb3JlZ3JvdW5kX2NvbG9yLFxuICAgICAgICAgICAgICBUSFVNQk5BSUxfUExBQ0VIT0xERVI6IHBhcnNlZFRoZW1lU2VjdGlvbi50aHVtYm5haWxfcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgIEhFQURFUl9CQUNLR1JPVU5EOiBwYXJzZWRUaGVtZVNlY3Rpb24uaGVhZGVyX2JhY2tncm91bmQsXG4gICAgICAgICAgICAgIFRJVExFX0ZPTlQ6IHBhcnNlZFRoZW1lU2VjdGlvbi50aXRsZV9mb250LFxuICAgICAgICAgICAgICBNQUlOX0ZPTlQ6IHBhcnNlZFRoZW1lU2VjdGlvbi5tYWluX2ZvbnQsXG4gICAgICAgICAgICAgIEZPTlRTX1NUWUxFU0hFRVRfVVJMOiBwYXJzZWRUaGVtZVNlY3Rpb24uZm9udHNfc3R5bGVzaGVldF91cmwsXG4gICAgICAgICAgICAgIEZBVklDT046IHBhcnNlZFRoZW1lU2VjdGlvbi5mYXZpY29uLFxuICAgICAgICAgICAgfSBhcyBUaGVtZUNvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkU2VhcmNoU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnc2VhcmNoJyxcbiAgICAgICAgW10sXG4gICAgICAgIFtcbiAgICAgICAgICAnZmlsdGVyX2dlb21ldHJ5X2RhdGEnLFxuICAgICAgICAgICdmaWx0ZXJfZ2VvbWV0cnlfdXJsJyxcbiAgICAgICAgICAnc2VhcmNoX3ByZXNldCcsXG4gICAgICAgICAgJ2FkdmFuY2VkX2ZpbHRlcnMnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBjb25zdCBwYXJzZWRTZWFyY2hQYXJhbXMgPSBwYXJzZU11bHRpQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnc2VhcmNoX3ByZXNldCcsXG4gICAgICAgIFsnbmFtZSddLFxuICAgICAgICBbJ3NvcnQnLCAnZmlsdGVycyddLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBzZWFyY2hDb25maWcgPVxuICAgICAgICBwYXJzZWRTZWFyY2hTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBGSUxURVJfR0VPTUVUUllfREFUQTogcGFyc2VkU2VhcmNoU2VjdGlvbi5maWx0ZXJfZ2VvbWV0cnlfZGF0YSxcbiAgICAgICAgICAgICAgRklMVEVSX0dFT01FVFJZX1VSTDogcGFyc2VkU2VhcmNoU2VjdGlvbi5maWx0ZXJfZ2VvbWV0cnlfdXJsLFxuICAgICAgICAgICAgICBTRUFSQ0hfUFJFU0VUOiBwYXJzZWRTZWFyY2hQYXJhbXMubWFwKChwYXJhbSkgPT4gKHtcbiAgICAgICAgICAgICAgICBzb3J0OiBwYXJhbS5zb3J0LFxuICAgICAgICAgICAgICAgIG5hbWU6IHBhcmFtLm5hbWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyczogcGFyYW0uZmlsdGVycyxcbiAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICBBRFZBTkNFRF9GSUxURVJTOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmFkdmFuY2VkX2ZpbHRlcnMsXG4gICAgICAgICAgICB9IGFzIFNlYXJjaENvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWV0YWRhdGEtcXVhbGl0eScsXG4gICAgICAgIFtdLFxuICAgICAgICBbJ2VuYWJsZWQnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnID1cbiAgICAgICAgcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgRU5BQkxFRDogcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbi5lbmFibGVkLFxuICAgICAgICAgICAgICBTT1JUQUJMRTogcGFyc2VkTWV0YWRhdGFRdWFsaXR5U2VjdGlvbi5zb3J0YWJsZSxcbiAgICAgICAgICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuXG4gICAgICBjdXN0b21UcmFuc2xhdGlvbnMgPSBwYXJzZVRyYW5zbGF0aW9uc0NvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3RyYW5zbGF0aW9ucydcbiAgICAgICkgYXMgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzXG5cbiAgICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgT25lIG9yIG1vcmUgbWFuZGF0b3J5IHNldHRpbmdzIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuXG4ke2Vycm9ycy5qb2luKCdcXG4nKX1gKVxuICAgICAgfSBlbHNlIGlmICh3YXJuaW5ncy5sZW5ndGgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBPbmUgb3IgbW9yZSB1bmV4cGVjdGVkIHNldHRpbmdzIHdlcmUgZW5jb3VudGVyZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiR7d2FybmluZ3Muam9pbignXFxuJyl9YClcbiAgICAgIH1cblxuICAgICAgYXBwQ29uZmlnTG9hZGVkID0gdHJ1ZVxuICAgIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbmZpZ0xvYWRlZCgpIHtcbiAgcmV0dXJuIGFwcENvbmZpZ0xvYWRlZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gX3Jlc2V0KCkge1xuICBnbG9iYWxDb25maWcgPSBudWxsXG4gIHRoZW1lQ29uZmlnID0gbnVsbFxuICBjdXN0b21UcmFuc2xhdGlvbnMgPSBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xBVEVfV0lUSF9PVkVSUklERVNfQ09ORklHID0ge1xuICBjb21waWxlcjoge1xuICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUNvbXBpbGVyLFxuICAgIHVzZUNsYXNzOiBUcmFuc2xhdGVNZXNzYWdlRm9ybWF0Q29tcGlsZXIsXG4gIH0sXG4gIGxvYWRlcjoge1xuICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICB1c2VGYWN0b3J5OiBmdW5jdGlvbiBIdHRwTG9hZGVyRmFjdG9yeShodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgICByZXR1cm4gbmV3IEZpbGVXaXRoT3ZlcnJpZGVzVHJhbnNsYXRlTG9hZGVyKGh0dHAsICcuL2Fzc2V0cy9pMThuLycpXG4gICAgfSxcbiAgICBkZXBzOiBbSHR0cENsaWVudF0sXG4gIH0sXG59XG4iXX0=
|
|
@@ -1,9 +1,8 @@
|
|
|
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';
|
|
8
7
|
export * from './lib/language-codes';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyxzQkFBc0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4ucHJvdmlkZXJzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaTE4bi5jb25zdGFudHMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pMThuLmludGVyY2VwdG9yJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS50cmFuc2xhdGUubG9hZGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1iZWRkZWQudHJhbnNsYXRlLmxvYWRlcidcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0ZS5sb2FkZXIudXRpbHMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYW5ndWFnZS1jb2RlcydcbiJdfQ==
|
|
@@ -7,11 +7,12 @@ import fr from '../../../../../translations/fr.json';
|
|
|
7
7
|
import it from '../../../../../translations/it.json';
|
|
8
8
|
import nl from '../../../../../translations/nl.json';
|
|
9
9
|
import pt from '../../../../../translations/pt.json';
|
|
10
|
+
import sk from '../../../../../translations/sk.json';
|
|
10
11
|
export class EmbeddedTranslateLoader {
|
|
11
12
|
getTranslation(lang) {
|
|
12
|
-
const langs = { de, en, es, fr, it, nl, pt };
|
|
13
|
+
const langs = { de, en, es, fr, it, nl, pt, sk };
|
|
13
14
|
const translations = langs[lang.substring(0, 2)];
|
|
14
15
|
return of(translations).pipe(map(dropEmptyTranslations));
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWQudHJhbnNsYXRlLmxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9pMThuL3NyYy9saWIvZW1iZWRkZWQudHJhbnNsYXRlLmxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUVwRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFBO1FBQ2hELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFBO0lBQzFELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGRyb3BFbXB0eVRyYW5zbGF0aW9ucyB9IGZyb20gJy4vdHJhbnNsYXRlLmxvYWRlci51dGlscydcbmltcG9ydCBkZSBmcm9tICcuLi8uLi8uLi8uLi8uLi90cmFuc2xhdGlvbnMvZGUuanNvbidcbmltcG9ydCBlbiBmcm9tICcuLi8uLi8uLi8uLi8uLi90cmFuc2xhdGlvbnMvZW4uanNvbidcbmltcG9ydCBlcyBmcm9tICcuLi8uLi8uLi8uLi8uLi90cmFuc2xhdGlvbnMvZXMuanNvbidcbmltcG9ydCBmciBmcm9tICcuLi8uLi8uLi8uLi8uLi90cmFuc2xhdGlvbnMvZnIuanNvbidcbmltcG9ydCBpdCBmcm9tICcuLi8uLi8uLi8uLi8uLi90cmFuc2xhdGlvbnMvaXQuanNvbidcbmltcG9ydCBubCBmcm9tICcuLi8uLi8uLi8uLi8uLi90cmFuc2xhdGlvbnMvbmwuanNvbidcbmltcG9ydCBwdCBmcm9tICcuLi8uLi8uLi8uLi8uLi90cmFuc2xhdGlvbnMvcHQuanNvbidcbmltcG9ydCBzayBmcm9tICcuLi8uLi8uLi8uLi8uLi90cmFuc2xhdGlvbnMvc2suanNvbidcblxuZXhwb3J0IGNsYXNzIEVtYmVkZGVkVHJhbnNsYXRlTG9hZGVyIGltcGxlbWVudHMgVHJhbnNsYXRlTG9hZGVyIHtcbiAgZ2V0VHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG4gICAgY29uc3QgbGFuZ3MgPSB7IGRlLCBlbiwgZXMsIGZyLCBpdCwgbmwsIHB0LCBzayB9XG4gICAgY29uc3QgdHJhbnNsYXRpb25zID0gbGFuZ3NbbGFuZy5zdWJzdHJpbmcoMCwgMildXG4gICAgcmV0dXJuIG9mKHRyYW5zbGF0aW9ucykucGlwZShtYXAoZHJvcEVtcHR5VHJhbnNsYXRpb25zKSlcbiAgfVxufVxuIl19
|
|
@@ -1,44 +1,52 @@
|
|
|
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
|
-
marker('language.fr');
|
|
9
|
-
marker('language.de');
|
|
10
|
-
marker('language.ko');
|
|
11
|
-
marker('language.es');
|
|
12
|
-
marker('language.cs');
|
|
13
|
-
marker('language.ca');
|
|
14
|
-
marker('language.fi');
|
|
15
|
-
marker('language.is');
|
|
16
|
-
marker('language.it');
|
|
17
|
-
marker('language.pt');
|
|
18
|
-
marker('language.ru');
|
|
19
|
-
marker('language.zh');
|
|
20
|
-
marker('language.sk');
|
|
4
|
+
import { TranslateCompiler, TranslateDefaultParser, TranslateLoader, TranslateParser, } from '@ngx-translate/core';
|
|
5
|
+
import { Injectable } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
21
7
|
export const DEFAULT_LANG = 'en';
|
|
22
8
|
// Caution: changing this can break language selection from third parties!
|
|
23
9
|
export const LANGUAGE_STORAGE_KEY = 'geonetwork-ui-language';
|
|
24
10
|
export function HttpLoaderFactory(http) {
|
|
25
11
|
return new FileTranslateLoader(http, './assets/i18n/');
|
|
26
12
|
}
|
|
27
|
-
//Deprecated, but currently still used in datafeeder
|
|
28
|
-
export function getLangFromBrowser() {
|
|
29
|
-
return navigator.language.substr(0, 2);
|
|
30
|
-
}
|
|
31
|
-
const COMPILER_CONFIG = {
|
|
32
|
-
provide: TranslateCompiler,
|
|
33
|
-
useClass: TranslateMessageFormatCompiler,
|
|
34
|
-
};
|
|
35
13
|
export const TRANSLATE_DEFAULT_CONFIG = {
|
|
36
|
-
compiler:
|
|
14
|
+
compiler: {
|
|
15
|
+
provide: TranslateCompiler,
|
|
16
|
+
useClass: TranslateMessageFormatCompiler,
|
|
17
|
+
},
|
|
37
18
|
loader: {
|
|
38
19
|
provide: TranslateLoader,
|
|
39
20
|
useFactory: HttpLoaderFactory,
|
|
40
|
-
defaultLanguage: DEFAULT_LANG,
|
|
41
21
|
deps: [HttpClient],
|
|
42
22
|
},
|
|
43
23
|
};
|
|
44
|
-
|
|
24
|
+
class DebugTranslateParser extends TranslateDefaultParser {
|
|
25
|
+
interpolate(expr, params) {
|
|
26
|
+
if (!params)
|
|
27
|
+
return expr?.toString();
|
|
28
|
+
const paramsStr = Object.keys(params)
|
|
29
|
+
.map((key) => `${key}=${params[key]}`)
|
|
30
|
+
.join(', ');
|
|
31
|
+
return `${expr} {{${paramsStr}}}`;
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugTranslateParser, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugTranslateParser }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugTranslateParser, decorators: [{
|
|
37
|
+
type: Injectable
|
|
38
|
+
}] });
|
|
39
|
+
/**
|
|
40
|
+
* This config will print translation keys in the UI directly; used to identify which keys are used
|
|
41
|
+
*/
|
|
42
|
+
export const TRANSLATE_DEBUG_CONFIG = {
|
|
43
|
+
compiler: {
|
|
44
|
+
provide: TranslateCompiler,
|
|
45
|
+
useClass: TranslateMessageFormatCompiler,
|
|
46
|
+
},
|
|
47
|
+
parser: {
|
|
48
|
+
provide: TranslateParser,
|
|
49
|
+
useClass: DebugTranslateParser,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvbGliL2kxOG4uY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM3RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixlQUFlLEVBRWYsZUFBZSxHQUNoQixNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBRTFDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUE7QUFFaEMsMEVBQTBFO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHdCQUF3QixDQUFBO0FBRTVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFnQjtJQUNoRCxPQUFPLElBQUksbUJBQW1CLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUE7QUFDeEQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUEwQjtJQUM3RCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsaUJBQWlCO1FBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztLQUNuQjtDQUNGLENBQUE7QUFFRCxNQUNNLG9CQUFxQixTQUFRLHNCQUFzQjtJQUN2RCxXQUFXLENBQUMsSUFBNkIsRUFBRSxNQUFZO1FBQ3JELElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUE7UUFDcEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDbEMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQzthQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDYixPQUFPLEdBQUcsSUFBSSxNQUFNLFNBQVMsSUFBSSxDQUFBO0lBQ25DLENBQUM7K0dBUEcsb0JBQW9CO21IQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRHpCLFVBQVU7O0FBV1g7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBMEI7SUFDM0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixRQUFRLEVBQUUsOEJBQThCO0tBQ3pDO0lBQ0QsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFLGVBQWU7UUFDeEIsUUFBUSxFQUFFLG9CQUFvQjtLQUMvQjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBUcmFuc2xhdGVNZXNzYWdlRm9ybWF0Q29tcGlsZXIgfSBmcm9tICduZ3gtdHJhbnNsYXRlLW1lc3NhZ2Vmb3JtYXQtY29tcGlsZXInXG5pbXBvcnQgeyBGaWxlVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnLi9maWxlLnRyYW5zbGF0ZS5sb2FkZXInXG5pbXBvcnQge1xuICBUcmFuc2xhdGVDb21waWxlcixcbiAgVHJhbnNsYXRlRGVmYXVsdFBhcnNlcixcbiAgVHJhbnNsYXRlTG9hZGVyLFxuICBUcmFuc2xhdGVNb2R1bGVDb25maWcsXG4gIFRyYW5zbGF0ZVBhcnNlcixcbn0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQU5HID0gJ2VuJ1xuXG4vLyBDYXV0aW9uOiBjaGFuZ2luZyB0aGlzIGNhbiBicmVhayBsYW5ndWFnZSBzZWxlY3Rpb24gZnJvbSB0aGlyZCBwYXJ0aWVzIVxuZXhwb3J0IGNvbnN0IExBTkdVQUdFX1NUT1JBR0VfS0VZID0gJ2dlb25ldHdvcmstdWktbGFuZ3VhZ2UnXG5cbmV4cG9ydCBmdW5jdGlvbiBIdHRwTG9hZGVyRmFjdG9yeShodHRwOiBIdHRwQ2xpZW50KSB7XG4gIHJldHVybiBuZXcgRmlsZVRyYW5zbGF0ZUxvYWRlcihodHRwLCAnLi9hc3NldHMvaTE4bi8nKVxufVxuXG5leHBvcnQgY29uc3QgVFJBTlNMQVRFX0RFRkFVTFRfQ09ORklHOiBUcmFuc2xhdGVNb2R1bGVDb25maWcgPSB7XG4gIGNvbXBpbGVyOiB7XG4gICAgcHJvdmlkZTogVHJhbnNsYXRlQ29tcGlsZXIsXG4gICAgdXNlQ2xhc3M6IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlcixcbiAgfSxcbiAgbG9hZGVyOiB7XG4gICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgIHVzZUZhY3Rvcnk6IEh0dHBMb2FkZXJGYWN0b3J5LFxuICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAgfSxcbn1cblxuQEluamVjdGFibGUoKVxuY2xhc3MgRGVidWdUcmFuc2xhdGVQYXJzZXIgZXh0ZW5kcyBUcmFuc2xhdGVEZWZhdWx0UGFyc2VyIHtcbiAgaW50ZXJwb2xhdGUoZXhwcjogc3RyaW5nIHwgKCgpID0+IHN0cmluZyksIHBhcmFtcz86IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFwYXJhbXMpIHJldHVybiBleHByPy50b1N0cmluZygpXG4gICAgY29uc3QgcGFyYW1zU3RyID0gT2JqZWN0LmtleXMocGFyYW1zKVxuICAgICAgLm1hcCgoa2V5KSA9PiBgJHtrZXl9PSR7cGFyYW1zW2tleV19YClcbiAgICAgIC5qb2luKCcsICcpXG4gICAgcmV0dXJuIGAke2V4cHJ9IHt7JHtwYXJhbXNTdHJ9fX1gXG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGNvbmZpZyB3aWxsIHByaW50IHRyYW5zbGF0aW9uIGtleXMgaW4gdGhlIFVJIGRpcmVjdGx5OyB1c2VkIHRvIGlkZW50aWZ5IHdoaWNoIGtleXMgYXJlIHVzZWRcbiAqL1xuZXhwb3J0IGNvbnN0IFRSQU5TTEFURV9ERUJVR19DT05GSUc6IFRyYW5zbGF0ZU1vZHVsZUNvbmZpZyA9IHtcbiAgY29tcGlsZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVDb21waWxlcixcbiAgICB1c2VDbGFzczogVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyLFxuICB9LFxuICBwYXJzZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVQYXJzZXIsXG4gICAgdXNlQ2xhc3M6IERlYnVnVHJhbnNsYXRlUGFyc2VyLFxuICB9LFxufVxuIl19
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
3
1
|
import { DEFAULT_LANG } from './i18n.constants';
|
|
2
|
+
import { Injectable, Injector } from '@angular/core';
|
|
3
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@ngx-translate/core";
|
|
6
5
|
export class I18nInterceptor {
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
6
|
+
constructor(injector) {
|
|
7
|
+
this.injector = injector;
|
|
9
8
|
}
|
|
10
9
|
intercept(request, next) {
|
|
10
|
+
// we're injecting the service only when necessary to avoid circular dependencies
|
|
11
|
+
const translate = this.injector.get(TranslateService);
|
|
11
12
|
request = request.clone({
|
|
12
13
|
setHeaders: {
|
|
13
|
-
'Accept-Language':
|
|
14
|
+
'Accept-Language': translate.currentLang || DEFAULT_LANG,
|
|
14
15
|
},
|
|
15
16
|
});
|
|
16
17
|
return next.handle(request);
|
|
17
18
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: I18nInterceptor, deps: [{ token:
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: I18nInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
19
20
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: I18nInterceptor }); }
|
|
20
21
|
}
|
|
21
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: I18nInterceptor, decorators: [{
|
|
22
23
|
type: Injectable
|
|
23
|
-
}], ctorParameters: () => [{ type:
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9pMThuL3NyYy9saWIvaTE4bi5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7O0FBR3RELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRTFDLFNBQVMsQ0FDUCxPQUE2QixFQUM3QixJQUFpQjtRQUVqQixpRkFBaUY7UUFDakYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUNyRCxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN0QixVQUFVLEVBQUU7Z0JBQ1YsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLFdBQVcsSUFBSSxZQUFZO2FBQ3pEO1NBQ0YsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzdCLENBQUM7K0dBZlUsZUFBZTttSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEV2ZW50LFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBERUZBVUxUX0xBTkcgfSBmcm9tICcuL2kxOG4uY29uc3RhbnRzJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEkxOG5JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIGludGVyY2VwdChcbiAgICByZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPixcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xuICAgIC8vIHdlJ3JlIGluamVjdGluZyB0aGUgc2VydmljZSBvbmx5IHdoZW4gbmVjZXNzYXJ5IHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY2llc1xuICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpXG4gICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogdHJhbnNsYXRlLmN1cnJlbnRMYW5nIHx8IERFRkFVTFRfTEFORyxcbiAgICAgIH0sXG4gICAgfSlcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdClcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { APP_INITIALIZER, makeEnvironmentProviders, } from '@angular/core';
|
|
2
|
+
import { provideTranslateService, TranslateService, } from '@ngx-translate/core';
|
|
3
|
+
import { DEFAULT_LANG, LANGUAGE_STORAGE_KEY, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, } from './i18n.constants';
|
|
4
|
+
import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi, } from '@angular/common/http';
|
|
5
|
+
import { I18nInterceptor } from './i18n.interceptor';
|
|
6
|
+
function i18nInitializerFromLocalStorageFactory(translate) {
|
|
7
|
+
return () => {
|
|
8
|
+
translate.setDefaultLang(DEFAULT_LANG);
|
|
9
|
+
let storageLang = null;
|
|
10
|
+
try {
|
|
11
|
+
storageLang = localStorage.getItem(LANGUAGE_STORAGE_KEY);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.warn(error);
|
|
15
|
+
}
|
|
16
|
+
translate.use(storageLang || translate.getBrowserLang() || DEFAULT_LANG);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function provideI18n(config, useLocalStorage = true) {
|
|
20
|
+
// fallback to default config
|
|
21
|
+
let usedConfig = config ?? TRANSLATE_DEFAULT_CONFIG;
|
|
22
|
+
// if the URL contains ?debugTranslations=true, show translations keys in the UI
|
|
23
|
+
if (new URL(window.location.toString()).searchParams.get('debugTranslations') === 'true') {
|
|
24
|
+
usedConfig = TRANSLATE_DEBUG_CONFIG;
|
|
25
|
+
}
|
|
26
|
+
const providers = [
|
|
27
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
28
|
+
{ provide: HTTP_INTERCEPTORS, useClass: I18nInterceptor, multi: true },
|
|
29
|
+
provideTranslateService(usedConfig),
|
|
30
|
+
];
|
|
31
|
+
if (useLocalStorage) {
|
|
32
|
+
providers.push({
|
|
33
|
+
provide: APP_INITIALIZER,
|
|
34
|
+
useFactory: i18nInitializerFromLocalStorageFactory,
|
|
35
|
+
deps: [TranslateService],
|
|
36
|
+
multi: true,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return makeEnvironmentProviders(providers);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvbGliL2kxOG4ucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBRWYsd0JBQXdCLEdBRXpCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsZ0JBQWdCLEdBQ2pCLE1BQU0scUJBQXFCLENBQUE7QUFDNUIsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUN6QixNQUFNLGtCQUFrQixDQUFBO0FBQ3pCLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHNCQUFzQixHQUN2QixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUVwRCxTQUFTLHNDQUFzQyxDQUFDLFNBQTJCO0lBQ3pFLE9BQU8sR0FBRyxFQUFFO1FBQ1YsU0FBUyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUN0QyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUE7UUFDdEIsSUFBSSxDQUFDO1lBQ0gsV0FBVyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQUMxRCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDckIsQ0FBQztRQUNELFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQTtJQUMxRSxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsTUFBOEIsRUFDOUIsZUFBZSxHQUFHLElBQUk7SUFFdEIsNkJBQTZCO0lBQzdCLElBQUksVUFBVSxHQUFHLE1BQU0sSUFBSSx3QkFBd0IsQ0FBQTtJQUNuRCxnRkFBZ0Y7SUFDaEYsSUFDRSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbEQsbUJBQW1CLENBQ3BCLEtBQUssTUFBTSxFQUNaLENBQUM7UUFDRCxVQUFVLEdBQUcsc0JBQXNCLENBQUE7SUFDckMsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUF3QztRQUNyRCxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzNDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUN0RSx1QkFBdUIsQ0FBQyxVQUFVLENBQUM7S0FDcEMsQ0FBQTtJQUNELElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEIsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNiLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxzQ0FBc0M7WUFDbEQsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7WUFDeEIsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsT0FBTyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVBQX0lOSVRJQUxJWkVSLFxuICBFbnZpcm9ubWVudFByb3ZpZGVycyxcbiAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxuICBQcm92aWRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIHByb3ZpZGVUcmFuc2xhdGVTZXJ2aWNlLFxuICBUcmFuc2xhdGVNb2R1bGVDb25maWcsXG4gIFRyYW5zbGF0ZVNlcnZpY2UsXG59IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQge1xuICBERUZBVUxUX0xBTkcsXG4gIExBTkdVQUdFX1NUT1JBR0VfS0VZLFxuICBUUkFOU0xBVEVfREVCVUdfQ09ORklHLFxuICBUUkFOU0xBVEVfREVGQVVMVF9DT05GSUcsXG59IGZyb20gJy4vaTE4bi5jb25zdGFudHMnXG5pbXBvcnQge1xuICBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgcHJvdmlkZUh0dHBDbGllbnQsXG4gIHdpdGhJbnRlcmNlcHRvcnNGcm9tRGksXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgSTE4bkludGVyY2VwdG9yIH0gZnJvbSAnLi9pMThuLmludGVyY2VwdG9yJ1xuXG5mdW5jdGlvbiBpMThuSW5pdGlhbGl6ZXJGcm9tTG9jYWxTdG9yYWdlRmFjdG9yeSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICB0cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoREVGQVVMVF9MQU5HKVxuICAgIGxldCBzdG9yYWdlTGFuZyA9IG51bGxcbiAgICB0cnkge1xuICAgICAgc3RvcmFnZUxhbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMQU5HVUFHRV9TVE9SQUdFX0tFWSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS53YXJuKGVycm9yKVxuICAgIH1cbiAgICB0cmFuc2xhdGUudXNlKHN0b3JhZ2VMYW5nIHx8IHRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpIHx8IERFRkFVTFRfTEFORylcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUkxOG4oXG4gIGNvbmZpZz86IFRyYW5zbGF0ZU1vZHVsZUNvbmZpZyxcbiAgdXNlTG9jYWxTdG9yYWdlID0gdHJ1ZVxuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICAvLyBmYWxsYmFjayB0byBkZWZhdWx0IGNvbmZpZ1xuICBsZXQgdXNlZENvbmZpZyA9IGNvbmZpZyA/PyBUUkFOU0xBVEVfREVGQVVMVF9DT05GSUdcbiAgLy8gaWYgdGhlIFVSTCBjb250YWlucyA/ZGVidWdUcmFuc2xhdGlvbnM9dHJ1ZSwgc2hvdyB0cmFuc2xhdGlvbnMga2V5cyBpbiB0aGUgVUlcbiAgaWYgKFxuICAgIG5ldyBVUkwod2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkpLnNlYXJjaFBhcmFtcy5nZXQoXG4gICAgICAnZGVidWdUcmFuc2xhdGlvbnMnXG4gICAgKSA9PT0gJ3RydWUnXG4gICkge1xuICAgIHVzZWRDb25maWcgPSBUUkFOU0xBVEVfREVCVUdfQ09ORklHXG4gIH1cblxuICBjb25zdCBwcm92aWRlcnM6IChFbnZpcm9ubWVudFByb3ZpZGVycyB8IFByb3ZpZGVyKVtdID0gW1xuICAgIHByb3ZpZGVIdHRwQ2xpZW50KHdpdGhJbnRlcmNlcHRvcnNGcm9tRGkoKSksXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEkxOG5JbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcbiAgICBwcm92aWRlVHJhbnNsYXRlU2VydmljZSh1c2VkQ29uZmlnKSxcbiAgXVxuICBpZiAodXNlTG9jYWxTdG9yYWdlKSB7XG4gICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogaTE4bkluaXRpYWxpemVyRnJvbUxvY2FsU3RvcmFnZUZhY3RvcnksXG4gICAgICBkZXBzOiBbVHJhbnNsYXRlU2VydmljZV0sXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhwcm92aWRlcnMpXG59XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
2
|
+
const LANG_3_TO_2_MAPPER = {
|
|
2
3
|
eng: 'en',
|
|
3
4
|
dut: 'nl',
|
|
4
5
|
fre: 'fr',
|
|
@@ -15,6 +16,17 @@ export const LANG_3_TO_2_MAPPER = {
|
|
|
15
16
|
chi: 'zh',
|
|
16
17
|
slo: 'sk',
|
|
17
18
|
roh: 'rm',
|
|
19
|
+
ara: 'ar',
|
|
20
|
+
dan: 'da',
|
|
21
|
+
nor: 'no',
|
|
22
|
+
pol: 'pl',
|
|
23
|
+
swe: 'sv',
|
|
24
|
+
tur: 'tr',
|
|
25
|
+
arm: 'hy',
|
|
26
|
+
aze: 'az',
|
|
27
|
+
geo: 'ka',
|
|
28
|
+
ukr: 'uk',
|
|
29
|
+
wel: 'cy',
|
|
18
30
|
};
|
|
19
31
|
export const LANGUAGE_NAMES = {
|
|
20
32
|
en: 'English',
|
|
@@ -32,9 +44,57 @@ export const LANGUAGE_NAMES = {
|
|
|
32
44
|
ru: 'Русский',
|
|
33
45
|
zh: '中文',
|
|
34
46
|
sk: 'Slovenčina',
|
|
35
|
-
|
|
47
|
+
rm: 'Rumantsch',
|
|
48
|
+
ar: 'العربية',
|
|
49
|
+
da: 'Dansk',
|
|
50
|
+
no: 'Norsk',
|
|
51
|
+
pl: 'Polski',
|
|
52
|
+
sv: 'Swedish',
|
|
53
|
+
tr: 'Türkçe',
|
|
54
|
+
hy: 'հայերեն',
|
|
55
|
+
az: 'Azərbaycan dili',
|
|
56
|
+
ka: 'ქართული',
|
|
57
|
+
uk: 'українська',
|
|
58
|
+
wel: 'Cymraeg',
|
|
36
59
|
};
|
|
37
60
|
export const LANG_2_TO_3_MAPPER = Object.entries(LANG_3_TO_2_MAPPER).reduce((mapperObject, langEntry) => {
|
|
38
61
|
return { ...mapperObject, [langEntry[1]]: langEntry[0] };
|
|
39
62
|
}, {});
|
|
40
|
-
|
|
63
|
+
export function getLang3FromLang2(lang2) {
|
|
64
|
+
return LANG_2_TO_3_MAPPER[lang2] ?? lang2;
|
|
65
|
+
}
|
|
66
|
+
export function getLang2FromLang3(lang3) {
|
|
67
|
+
return LANG_3_TO_2_MAPPER[lang3] ?? lang3;
|
|
68
|
+
}
|
|
69
|
+
export function getLocalizedIndexKey(lang2) {
|
|
70
|
+
const lang3 = getLang3FromLang2(lang2);
|
|
71
|
+
return lang3 ? `lang${lang3}` : null;
|
|
72
|
+
}
|
|
73
|
+
marker('language.en');
|
|
74
|
+
marker('language.nl');
|
|
75
|
+
marker('language.fr');
|
|
76
|
+
marker('language.de');
|
|
77
|
+
marker('language.ko');
|
|
78
|
+
marker('language.es');
|
|
79
|
+
marker('language.cs');
|
|
80
|
+
marker('language.ca');
|
|
81
|
+
marker('language.fi');
|
|
82
|
+
marker('language.is');
|
|
83
|
+
marker('language.it');
|
|
84
|
+
marker('language.pt');
|
|
85
|
+
marker('language.ru');
|
|
86
|
+
marker('language.zh');
|
|
87
|
+
marker('language.sk');
|
|
88
|
+
marker('language.rm');
|
|
89
|
+
marker('language.ar');
|
|
90
|
+
marker('language.da');
|
|
91
|
+
marker('language.no');
|
|
92
|
+
marker('language.pl');
|
|
93
|
+
marker('language.sv');
|
|
94
|
+
marker('language.tr');
|
|
95
|
+
marker('language.hy');
|
|
96
|
+
marker('language.az');
|
|
97
|
+
marker('language.ka');
|
|
98
|
+
marker('language.uk');
|
|
99
|
+
marker('language.cy');
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvbGliL2xhbmd1YWdlLWNvZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUVoRSxNQUFNLGtCQUFrQixHQUFHO0lBQ3pCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtDQUNWLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsWUFBWTtJQUNoQixFQUFFLEVBQUUsVUFBVTtJQUNkLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLEtBQUs7SUFDVCxFQUFFLEVBQUUsU0FBUztJQUNiLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLFFBQVE7SUFDWixFQUFFLEVBQUUsT0FBTztJQUNYLEVBQUUsRUFBRSxVQUFVO0lBQ2QsRUFBRSxFQUFFLFVBQVU7SUFDZCxFQUFFLEVBQUUsV0FBVztJQUNmLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLElBQUk7SUFDUixFQUFFLEVBQUUsWUFBWTtJQUNoQixFQUFFLEVBQUUsV0FBVztJQUNmLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLE9BQU87SUFDWCxFQUFFLEVBQUUsT0FBTztJQUNYLEVBQUUsRUFBRSxRQUFRO0lBQ1osRUFBRSxFQUFFLFNBQVM7SUFDYixFQUFFLEVBQUUsUUFBUTtJQUNaLEVBQUUsRUFBRSxTQUFTO0lBQ2IsRUFBRSxFQUFFLGlCQUFpQjtJQUNyQixFQUFFLEVBQUUsU0FBUztJQUNiLEVBQUUsRUFBRSxZQUFZO0lBQ2hCLEdBQUcsRUFBRSxTQUFTO0NBQ2YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBQ3pFLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxFQUFFO0lBQzFCLE9BQU8sRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0FBQzFELENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQTtBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFhO0lBQzdDLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFBO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBYTtJQUM3QyxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQTtBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQWE7SUFDaEQsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdEMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUN0QyxDQUFDO0FBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5cbmNvbnN0IExBTkdfM19UT18yX01BUFBFUiA9IHtcbiAgZW5nOiAnZW4nLFxuICBkdXQ6ICdubCcsXG4gIGZyZTogJ2ZyJyxcbiAgZ2VyOiAnZGUnLFxuICBrb3I6ICdrbycsXG4gIHNwYTogJ2VzJyxcbiAgY3plOiAnY3MnLFxuICBjYXQ6ICdjYScsXG4gIGZpbjogJ2ZpJyxcbiAgaWNlOiAnaXMnLFxuICBpdGE6ICdpdCcsXG4gIHBvcjogJ3B0JyxcbiAgcnVzOiAncnUnLFxuICBjaGk6ICd6aCcsXG4gIHNsbzogJ3NrJyxcbiAgcm9oOiAncm0nLFxuICBhcmE6ICdhcicsXG4gIGRhbjogJ2RhJyxcbiAgbm9yOiAnbm8nLFxuICBwb2w6ICdwbCcsXG4gIHN3ZTogJ3N2JyxcbiAgdHVyOiAndHInLFxuICBhcm06ICdoeScsXG4gIGF6ZTogJ2F6JyxcbiAgZ2VvOiAna2EnLFxuICB1a3I6ICd1aycsXG4gIHdlbDogJ2N5Jyxcbn1cblxuZXhwb3J0IGNvbnN0IExBTkdVQUdFX05BTUVTID0ge1xuICBlbjogJ0VuZ2xpc2gnLFxuICBubDogJ05lZGVybGFuZHMnLFxuICBmcjogJ0ZyYW7Dp2FpcycsXG4gIGRlOiAnRGV1dHNjaCcsXG4gIGtvOiAn7ZWc6rWt7Ja0JyxcbiAgZXM6ICdFc3Bhw7FvbCcsXG4gIGNzOiAnxIxlxaF0aW5hJyxcbiAgY2E6ICdDYXRhbMOgJyxcbiAgZmk6ICdTdW9taScsXG4gIGlzOiAnw41zbGVuc2thJyxcbiAgaXQ6ICdJdGFsaWFubycsXG4gIHB0OiAnUG9ydHVndcOqcycsXG4gIHJ1OiAn0KDRg9GB0YHQutC40LknLFxuICB6aDogJ+S4reaWhycsXG4gIHNrOiAnU2xvdmVuxI1pbmEnLFxuICBybTogJ1J1bWFudHNjaCcsXG4gIGFyOiAn2KfZhNi52LHYqNmK2KknLFxuICBkYTogJ0RhbnNrJyxcbiAgbm86ICdOb3JzaycsXG4gIHBsOiAnUG9sc2tpJyxcbiAgc3Y6ICdTd2VkaXNoJyxcbiAgdHI6ICdUw7xya8OnZScsXG4gIGh5OiAn1bDVodW11aXWgNWl1bYnLFxuICBhejogJ0F6yZlyYmF5Y2FuIGRpbGknLFxuICBrYTogJ+GDpeGDkOGDoOGDl+GDo+GDmuGDmCcsXG4gIHVrOiAn0YPQutGA0LDRl9C90YHRjNC60LAnLFxuICB3ZWw6ICdDeW1yYWVnJyxcbn1cblxuZXhwb3J0IGNvbnN0IExBTkdfMl9UT18zX01BUFBFUiA9IE9iamVjdC5lbnRyaWVzKExBTkdfM19UT18yX01BUFBFUikucmVkdWNlKFxuICAobWFwcGVyT2JqZWN0LCBsYW5nRW50cnkpID0+IHtcbiAgICByZXR1cm4geyAuLi5tYXBwZXJPYmplY3QsIFtsYW5nRW50cnlbMV1dOiBsYW5nRW50cnlbMF0gfVxuICB9LFxuICB7fVxuKVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGFuZzNGcm9tTGFuZzIobGFuZzI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBMQU5HXzJfVE9fM19NQVBQRVJbbGFuZzJdID8/IGxhbmcyXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMYW5nMkZyb21MYW5nMyhsYW5nMzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIExBTkdfM19UT18yX01BUFBFUltsYW5nM10gPz8gbGFuZzNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExvY2FsaXplZEluZGV4S2V5KGxhbmcyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBsYW5nMyA9IGdldExhbmczRnJvbUxhbmcyKGxhbmcyKVxuICByZXR1cm4gbGFuZzMgPyBgbGFuZyR7bGFuZzN9YCA6IG51bGxcbn1cblxubWFya2VyKCdsYW5ndWFnZS5lbicpXG5tYXJrZXIoJ2xhbmd1YWdlLm5sJylcbm1hcmtlcignbGFuZ3VhZ2UuZnInKVxubWFya2VyKCdsYW5ndWFnZS5kZScpXG5tYXJrZXIoJ2xhbmd1YWdlLmtvJylcbm1hcmtlcignbGFuZ3VhZ2UuZXMnKVxubWFya2VyKCdsYW5ndWFnZS5jcycpXG5tYXJrZXIoJ2xhbmd1YWdlLmNhJylcbm1hcmtlcignbGFuZ3VhZ2UuZmknKVxubWFya2VyKCdsYW5ndWFnZS5pcycpXG5tYXJrZXIoJ2xhbmd1YWdlLml0Jylcbm1hcmtlcignbGFuZ3VhZ2UucHQnKVxubWFya2VyKCdsYW5ndWFnZS5ydScpXG5tYXJrZXIoJ2xhbmd1YWdlLnpoJylcbm1hcmtlcignbGFuZ3VhZ2Uuc2snKVxubWFya2VyKCdsYW5ndWFnZS5ybScpXG5tYXJrZXIoJ2xhbmd1YWdlLmFyJylcbm1hcmtlcignbGFuZ3VhZ2UuZGEnKVxubWFya2VyKCdsYW5ndWFnZS5ubycpXG5tYXJrZXIoJ2xhbmd1YWdlLnBsJylcbm1hcmtlcignbGFuZ3VhZ2Uuc3YnKVxubWFya2VyKCdsYW5ndWFnZS50cicpXG5tYXJrZXIoJ2xhbmd1YWdlLmh5Jylcbm1hcmtlcignbGFuZ3VhZ2UuYXonKVxubWFya2VyKCdsYW5ndWFnZS5rYScpXG5tYXJrZXIoJ2xhbmd1YWdlLnVrJylcbm1hcmtlcignbGFuZ3VhZ2UuY3knKVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './lib/util-shared.module';
|
|
2
1
|
export * from './lib/services';
|
|
3
2
|
export * from './lib/utils';
|
|
4
3
|
export * from './lib/links';
|
|
5
4
|
export * from './lib/image-fallback.directive';
|
|
6
5
|
export * from './lib/gn-ui-version';
|
|
7
|
-
|
|
6
|
+
export * from './lib/record.util';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLG1CQUFtQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpbmtzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1hZ2UtZmFsbGJhY2suZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ24tdWktdmVyc2lvbidcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC51dGlsJ1xuIl19
|
|
@@ -11,12 +11,13 @@ export class ImageFallbackDirective {
|
|
|
11
11
|
this.el = el;
|
|
12
12
|
}
|
|
13
13
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageFallbackDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
14
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ImageFallbackDirective, selector: "img[gnUiImageFallback]", inputs: { fallbackUrl: "fallbackUrl" }, host: { listeners: { "error": "useFallback()" } }, ngImport: i0 }); }
|
|
14
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ImageFallbackDirective, isStandalone: true, selector: "img[gnUiImageFallback]", inputs: { fallbackUrl: "fallbackUrl" }, host: { listeners: { "error": "useFallback()" } }, ngImport: i0 }); }
|
|
15
15
|
}
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageFallbackDirective, decorators: [{
|
|
17
17
|
type: Directive,
|
|
18
18
|
args: [{
|
|
19
19
|
selector: 'img[gnUiImageFallback]',
|
|
20
|
+
standalone: true,
|
|
20
21
|
}]
|
|
21
22
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fallbackUrl: [{
|
|
22
23
|
type: Input
|
|
@@ -24,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
24
25
|
type: HostListener,
|
|
25
26
|
args: ['error']
|
|
26
27
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZmFsbGJhY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMvbGliL2ltYWdlLWZhbGxiYWNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQU0xRSxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFdBQVc7UUFDVCxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FDekIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FDM0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNaLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUM7SUFDRCxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFHLENBQUM7K0dBWjNCLHNCQUFzQjttR0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrRUFFVSxXQUFXO3NCQUFuQixLQUFLO2dCQUVOLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW1nW2duVWlJbWFnZUZhbGxiYWNrXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlRmFsbGJhY2tEaXJlY3RpdmUge1xuICBASW5wdXQoKSBmYWxsYmFja1VybDogc3RyaW5nXG4gIEBIb3N0TGlzdGVuZXIoJ2Vycm9yJylcbiAgdXNlRmFsbGJhY2soKSB7XG4gICAgY29uc3QgZmFsbGJhY2tVcmwgPSBuZXcgVVJMKFxuICAgICAgdGhpcy5mYWxsYmFja1VybCxcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpXG4gICAgKS50b1N0cmluZygpXG4gICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5zcmMgIT09IGZhbGxiYWNrVXJsKSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3JjID0gZmFsbGJhY2tVcmxcbiAgICB9XG4gIH1cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export function updateLanguages(record, defaultLanguage, otherLanguages) {
|
|
2
|
+
function updateFieldTranslations(target, fieldName) {
|
|
3
|
+
const fieldTranslations = {};
|
|
4
|
+
for (const lang of otherLanguages) {
|
|
5
|
+
const prevValue = record.defaultLanguage === lang
|
|
6
|
+
? target[fieldName]
|
|
7
|
+
: target.translations?.[fieldName]?.[lang];
|
|
8
|
+
fieldTranslations[lang] = prevValue ?? '';
|
|
9
|
+
}
|
|
10
|
+
const defaultPrevValue = record.defaultLanguage === defaultLanguage
|
|
11
|
+
? target[fieldName]
|
|
12
|
+
: target.translations?.[fieldName]?.[defaultLanguage];
|
|
13
|
+
return {
|
|
14
|
+
...target,
|
|
15
|
+
[fieldName]: defaultPrevValue ?? '',
|
|
16
|
+
translations: {
|
|
17
|
+
...target.translations,
|
|
18
|
+
[fieldName]: fieldTranslations,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function updateTranslations(target, fieldNames) {
|
|
23
|
+
let result = target;
|
|
24
|
+
for (const field of fieldNames) {
|
|
25
|
+
result = updateFieldTranslations(result, field);
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
const updatedRecord = updateTranslations(record, [
|
|
30
|
+
'title',
|
|
31
|
+
'abstract',
|
|
32
|
+
'lineage',
|
|
33
|
+
]);
|
|
34
|
+
updatedRecord.keywords = updatedRecord.keywords.map((k) => updateTranslations(k, ['label', 'description']));
|
|
35
|
+
updatedRecord.onlineResources = updatedRecord.onlineResources.map((o) => updateTranslations(o, ['name', 'description']));
|
|
36
|
+
updatedRecord.licenses = updatedRecord.licenses.map((l) => updateTranslations(l, ['text']));
|
|
37
|
+
updatedRecord.legalConstraints = updatedRecord.legalConstraints.map((c) => updateTranslations(c, ['text']));
|
|
38
|
+
updatedRecord.securityConstraints = updatedRecord.securityConstraints.map((c) => updateTranslations(c, ['text']));
|
|
39
|
+
updatedRecord.otherConstraints = updatedRecord.otherConstraints.map((c) => updateTranslations(c, ['text']));
|
|
40
|
+
updatedRecord.contacts = updatedRecord.contacts.map((c) => ({
|
|
41
|
+
...c,
|
|
42
|
+
organization: updateTranslations(c.organization, ['name']),
|
|
43
|
+
}));
|
|
44
|
+
updatedRecord.contactsForResource = updatedRecord.contactsForResource.map((c) => ({
|
|
45
|
+
...c,
|
|
46
|
+
organization: updateTranslations(c.organization, ['name']),
|
|
47
|
+
}));
|
|
48
|
+
updatedRecord.ownerOrganization = updateTranslations(updatedRecord.ownerOrganization, ['name']);
|
|
49
|
+
if (updatedRecord.kind === 'dataset') {
|
|
50
|
+
updatedRecord.spatialExtents = updatedRecord.spatialExtents.map((e) => updateTranslations(e, ['description']));
|
|
51
|
+
}
|
|
52
|
+
updatedRecord.defaultLanguage = defaultLanguage;
|
|
53
|
+
updatedRecord.otherLanguages = otherLanguages;
|
|
54
|
+
return updatedRecord;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9saWIvcmVjb3JkLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUJBLE1BQU0sVUFBVSxlQUFlLENBQzdCLE1BQVMsRUFDVCxlQUE2QixFQUM3QixjQUE4QjtJQUU5QixTQUFTLHVCQUF1QixDQUM5QixNQUFTLEVBQ1QsU0FBaUI7UUFFakIsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUE7UUFDNUIsS0FBSyxNQUFNLElBQUksSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNsQyxNQUFNLFNBQVMsR0FDYixNQUFNLENBQUMsZUFBZSxLQUFLLElBQUk7Z0JBQzdCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO2dCQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDOUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxJQUFJLEVBQUUsQ0FBQTtRQUMzQyxDQUFDO1FBQ0QsTUFBTSxnQkFBZ0IsR0FDcEIsTUFBTSxDQUFDLGVBQWUsS0FBSyxlQUFlO1lBQ3hDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUN6RCxPQUFPO1lBQ0wsR0FBRyxNQUFNO1lBQ1QsQ0FBQyxTQUFTLENBQUMsRUFBRSxnQkFBZ0IsSUFBSSxFQUFFO1lBQ25DLFlBQVksRUFBRTtnQkFDWixHQUFHLE1BQU0sQ0FBQyxZQUFZO2dCQUN0QixDQUFDLFNBQVMsQ0FBQyxFQUFFLGlCQUFpQjthQUMvQjtTQUNGLENBQUE7SUFDSCxDQUFDO0lBQ0QsU0FBUyxrQkFBa0IsQ0FDekIsTUFB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Qy9DLGFBQWEsQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO0lBQzdDLE9BQU8sYUFBYSxDQUFBO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlUmVjb3JkLFxuICBDYXRhbG9nUmVjb3JkLFxuICBDb25zdHJhaW50LFxuICBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24sXG4gIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxuICBEYXRhc2V0U3BhdGlhbEV4dGVudCxcbiAgS2V5d29yZCxcbiAgTGFuZ3VhZ2VDb2RlLFxuICBPbmxpbmVMaW5rUmVzb3VyY2UsXG4gIE9yZ2FuaXphdGlvbixcbiAgU2VydmljZUVuZHBvaW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbnR5cGUgVHJhbnNsYXRlZFJlY29yZE9iamVjdHMgPVxuICB8IEJhc2VSZWNvcmRcbiAgfCBDb25zdHJhaW50XG4gIHwgS2V5d29yZFxuICB8IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uXG4gIHwgRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uXG4gIHwgT25saW5lTGlua1Jlc291cmNlXG4gIHwgU2VydmljZUVuZHBvaW50XG4gIHwgRGF0YXNldFNwYXRpYWxFeHRlbnRcbiAgfCBPcmdhbml6YXRpb25cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUxhbmd1YWdlczxUIGV4dGVuZHMgQ2F0YWxvZ1JlY29yZD4oXG4gIHJlY29yZDogVCxcbiAgZGVmYXVsdExhbmd1YWdlOiBMYW5ndWFnZUNvZGUsXG4gIG90aGVyTGFuZ3VhZ2VzOiBMYW5ndWFnZUNvZGVbXVxuKTogVCB7XG4gIGZ1bmN0aW9uIHVwZGF0ZUZpZWxkVHJhbnNsYXRpb25zPFQgZXh0ZW5kcyBUcmFuc2xhdGVkUmVjb3JkT2JqZWN0cz4oXG4gICAgdGFyZ2V0OiBULFxuICAgIGZpZWxkTmFtZTogc3RyaW5nXG4gICk6IFQge1xuICAgIGNvbnN0IGZpZWxkVHJhbnNsYXRpb25zID0ge31cbiAgICBmb3IgKGNvbnN0IGxhbmcgb2Ygb3RoZXJMYW5ndWFnZXMpIHtcbiAgICAgIGNvbnN0IHByZXZWYWx1ZSA9XG4gICAgICAgIHJlY29yZC5kZWZhdWx0TGFuZ3VhZ2UgPT09IGxhbmdcbiAgICAgICAgICA/IHRhcmdldFtmaWVsZE5hbWVdXG4gICAgICAgICAgOiB0YXJnZXQudHJhbnNsYXRpb25zPy5bZmllbGROYW1lXT8uW2xhbmddXG4gICAgICBmaWVsZFRyYW5zbGF0aW9uc1tsYW5nXSA9IHByZXZWYWx1ZSA/PyAnJ1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0UHJldlZhbHVlID1cbiAgICAgIHJlY29yZC5kZWZhdWx0TGFuZ3VhZ2UgPT09IGRlZmF1bHRMYW5ndWFnZVxuICAgICAgICA/IHRhcmdldFtmaWVsZE5hbWVdXG4gICAgICAgIDogdGFyZ2V0LnRyYW5zbGF0aW9ucz8uW2ZpZWxkTmFtZV0/LltkZWZhdWx0TGFuZ3VhZ2VdXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRhcmdldCxcbiAgICAgIFtmaWVsZE5hbWVdOiBkZWZhdWx0UHJldlZhbHVlID8/ICcnLFxuICAgICAgdHJhbnNsYXRpb25zOiB7XG4gICAgICAgIC4uLnRhcmdldC50cmFuc2xhdGlvbnMsXG4gICAgICAgIFtmaWVsZE5hbWVdOiBmaWVsZFRyYW5zbGF0aW9ucyxcbiAgICAgIH0sXG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIHVwZGF0ZVRyYW5zbGF0aW9uczxUIGV4dGVuZHMgVHJhbnNsYXRlZFJlY29yZE9iamVjdHM+KFxuICAgIHRhcmdldDogVCxcbiAgICBmaWVsZE5hbWVzOiBzdHJpbmdbXVxuICApOiBUIHtcbiAgICBsZXQgcmVzdWx0OiBUID0gdGFyZ2V0XG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZE5hbWVzKSB7XG4gICAgICByZXN1bHQgPSB1cGRhdGVGaWVsZFRyYW5zbGF0aW9ucyhyZXN1bHQsIGZpZWxkKVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBjb25zdCB1cGRhdGVkUmVjb3JkID0gdXBkYXRlVHJhbnNsYXRpb25zKHJlY29yZCwgW1xuICAgICd0aXRsZScsXG4gICAgJ2Fic3RyYWN0JyxcbiAgICAnbGluZWFnZScsXG4gIF0pXG4gIHVwZGF0ZWRSZWNvcmQua2V5d29yZHMgPSB1cGRhdGVkUmVjb3JkLmtleXdvcmRzLm1hcCgoaykgPT5cbiAgICB1cGRhdGVUcmFuc2xhdGlvbnMoaywgWydsYWJlbCcsICdkZXNjcmlwdGlvbiddKVxuICApXG4gIHVwZGF0ZWRSZWNvcmQub25saW5lUmVzb3VyY2VzID0gdXBkYXRlZFJlY29yZC5vbmxpbmVSZXNvdXJjZXMubWFwKChvKSA9PlxuICAgIHVwZGF0ZVRyYW5zbGF0aW9ucyhvLCBbJ25hbWUnLCAnZGVzY3JpcHRpb24nXSlcbiAgKVxuICB1cGRhdGVkUmVjb3JkLmxpY2Vuc2VzID0gdXBkYXRlZFJlY29yZC5saWNlbnNlcy5tYXAoKGwpID0+XG4gICAgdXBkYXRlVHJhbnNsYXRpb25zKGwsIFsndGV4dCddKVxuICApXG4gIHVwZGF0ZWRSZWNvcmQubGVnYWxDb25zdHJhaW50cyA9IHVwZGF0ZWRSZWNvcmQubGVnYWxDb25zdHJhaW50cy5tYXAoKGMpID0+XG4gICAgdXBkYXRlVHJhbnNsYXRpb25zKGMsIFsndGV4dCddKVxuICApXG4gIHVwZGF0ZWRSZWNvcmQuc2VjdXJpdHlDb25zdHJhaW50cyA9IHVwZGF0ZWRSZWNvcmQuc2VjdXJpdHlDb25zdHJhaW50cy5tYXAoXG4gICAgKGMpID0+IHVwZGF0ZVRyYW5zbGF0aW9ucyhjLCBbJ3RleHQnXSlcbiAgKVxuICB1cGRhdGVkUmVjb3JkLm90aGVyQ29uc3RyYWludHMgPSB1cGRhdGVkUmVjb3JkLm90aGVyQ29uc3RyYWludHMubWFwKChjKSA9PlxuICAgIHVwZGF0ZVRyYW5zbGF0aW9ucyhjLCBbJ3RleHQnXSlcbiAgKVxuICB1cGRhdGVkUmVjb3JkLmNvbnRhY3RzID0gdXBkYXRlZFJlY29yZC5jb250YWN0cy5tYXAoKGMpID0+ICh7XG4gICAgLi4uYyxcbiAgICBvcmdhbml6YXRpb246IHVwZGF0ZVRyYW5zbGF0aW9ucyhjLm9yZ2FuaXphdGlvbiwgWyduYW1lJ10pLFxuICB9KSlcbiAgdXBkYXRlZFJlY29yZC5jb250YWN0c0ZvclJlc291cmNlID0gdXBkYXRlZFJlY29yZC5jb250YWN0c0ZvclJlc291cmNlLm1hcChcbiAgICAoYykgPT4gKHtcbiAgICAgIC4uLmMsXG4gICAgICBvcmdhbml6YXRpb246IHVwZGF0ZVRyYW5zbGF0aW9ucyhjLm9yZ2FuaXphdGlvbiwgWyduYW1lJ10pLFxuICAgIH0pXG4gIClcbiAgdXBkYXRlZFJlY29yZC5vd25lck9yZ2FuaXphdGlvbiA9IHVwZGF0ZVRyYW5zbGF0aW9ucyhcbiAgICB1cGRhdGVkUmVjb3JkLm93bmVyT3JnYW5pemF0aW9uLFxuICAgIFsnbmFtZSddXG4gIClcblxuICBpZiAodXBkYXRlZFJlY29yZC5raW5kID09PSAnZGF0YXNldCcpIHtcbiAgICB1cGRhdGVkUmVjb3JkLnNwYXRpYWxFeHRlbnRzID0gdXBkYXRlZFJlY29yZC5zcGF0aWFsRXh0ZW50cy5tYXAoKGUpID0+XG4gICAgICB1cGRhdGVUcmFuc2xhdGlvbnMoZSwgWydkZXNjcmlwdGlvbiddKVxuICAgIClcbiAgfVxuXG4gIHVwZGF0ZWRSZWNvcmQuZGVmYXVsdExhbmd1YWdlID0gZGVmYXVsdExhbmd1YWdlXG4gIHVwZGF0ZWRSZWNvcmQub3RoZXJMYW5ndWFnZXMgPSBvdGhlckxhbmd1YWdlc1xuICByZXR1cm4gdXBkYXRlZFJlY29yZFxufVxuIl19
|