geonetwork-ui 2.2.0-dev.c15a456d → 2.2.0-dev.c9f3c310
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +28 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +83 -58
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +6 -4
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.mjs +14 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +20 -17
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +52 -23
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +52 -32
- package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +10 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +14 -5
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +33 -8
- package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
- package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +5 -4
- package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +5 -3
- package/esm2022/libs/feature/map/src/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +63 -0
- package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +26 -3
- package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
- package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -3
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +11 -1
- package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +60 -29
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +29 -20
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
- package/esm2022/libs/feature/search/src/index.mjs +4 -1
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -4
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
- package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
- package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
- package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +41 -26
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +11 -9
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/index.mjs +4 -1
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +10 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +35 -16
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -4
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +7 -3
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +16 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +8 -5
- package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
- package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
- package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +12 -7
- package/esm2022/libs/ui/layout/src/index.mjs +3 -1
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +2 -2
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
- package/esm2022/libs/ui/search/src/index.mjs +1 -2
- package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
- package/esm2022/libs/util/i18n/src/index.mjs +2 -2
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
- package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
- package/esm2022/translations/de.json +106 -89
- package/esm2022/translations/en.json +42 -25
- package/esm2022/translations/es.json +21 -4
- package/esm2022/translations/fr.json +26 -9
- package/esm2022/translations/it.json +33 -16
- package/esm2022/translations/nl.json +21 -4
- package/esm2022/translations/pt.json +21 -4
- package/fesm2022/geonetwork-ui.mjs +1521 -835
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +0 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -5
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +6 -6
- 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 +4 -3
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
- package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -2
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
- package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +28 -17
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
- package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
- package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
- package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
- package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/map/src/index.d.ts +1 -0
- package/libs/feature/map/src/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
- package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
- package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -12
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
- package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +2 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
- package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +3 -0
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +5 -4
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
- package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
- package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
- package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -8
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
- package/libs/ui/elements/src/index.d.ts +3 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +10 -5
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -11
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +1 -0
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +40 -39
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +2 -0
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
- package/libs/ui/search/src/index.d.ts +0 -1
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
- package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
- package/libs/util/i18n/src/index.d.ts +1 -1
- package/libs/util/i18n/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +61 -8
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +55 -9
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +225 -24
- package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +32 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +123 -73
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +5 -3
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +3 -5
- package/src/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.ts +16 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +24 -21
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +115 -62
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +169 -95
- package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +22 -2
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +15 -4
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -8
- package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
- package/src/libs/common/domain/src/lib/index.ts +2 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +33 -21
- package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
- package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
- package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
- package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +1 -0
- package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -4
- package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +1 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +50 -10
- package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +8 -5
- package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
- package/src/libs/feature/map/src/index.ts +1 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +55 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +63 -0
- package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +14 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
- package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +9 -3
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +16 -0
- package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
- package/src/libs/feature/search/src/index.ts +3 -0
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +12 -4
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -1
- package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
- package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
- package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
- package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
- package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
- package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
- package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
- package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
- package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +21 -16
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +43 -34
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
- package/src/libs/ui/elements/src/index.ts +3 -0
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +5 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +39 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +58 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +17 -0
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +93 -27
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +104 -50
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +37 -10
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +2 -3
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +7 -0
- package/src/libs/ui/inputs/src/index.ts +1 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.css +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +1 -0
- package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
- package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +3 -0
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +5 -2
- package/src/libs/ui/layout/src/index.ts +2 -0
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
- package/src/libs/ui/search/src/index.ts +0 -1
- package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
- package/src/libs/util/i18n/src/index.ts +1 -1
- package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
- package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
- package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
- package/tailwind.base.css +2 -2
- package/translations/de.json +106 -89
- package/translations/en.json +42 -25
- package/translations/es.json +21 -4
- package/translations/fr.json +26 -9
- package/translations/it.json +33 -16
- package/translations/nl.json +21 -4
- package/translations/pt.json +21 -4
- package/translations/sk.json +21 -4
- package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
- package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
- package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
- package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
- package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
- package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
- package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
- package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
- package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
- package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
- package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
- package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
- package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
- package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
- package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
- package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
- package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
- package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
- package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
- package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
- package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
- /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
- /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { getBadgeColor, getFileFormat, getFormatPriority, } from '../../../../../../libs/util/shared/src';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@ngx-translate/core";
|
|
6
|
-
import * as i3 from "../../../../inputs/src/lib/button/button.component";
|
|
7
|
-
import * as i4 from "../../../../inputs/src/lib/checkbox/checkbox.component";
|
|
8
|
-
import * as i5 from "@angular/material/icon";
|
|
9
|
-
export class RecordTableComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.selectedRecords = [];
|
|
12
|
-
this.records = [];
|
|
13
|
-
this.recordClick = new EventEmitter();
|
|
14
|
-
this.recordsSelect = new EventEmitter();
|
|
15
|
-
this.recordsDeselect = new EventEmitter();
|
|
16
|
-
this.sortByChange = new EventEmitter();
|
|
17
|
-
}
|
|
18
|
-
dateToString(date) {
|
|
19
|
-
return date?.toLocaleDateString(undefined, {
|
|
20
|
-
year: 'numeric',
|
|
21
|
-
month: 'long',
|
|
22
|
-
day: 'numeric',
|
|
23
|
-
timeZone: 'UTC',
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
getStatus(isPublishedToAll) {
|
|
27
|
-
return isPublishedToAll ? 'published' : 'not published';
|
|
28
|
-
}
|
|
29
|
-
formatUserInfo(userInfo) {
|
|
30
|
-
const infos = (typeof userInfo === 'string' ? userInfo : '').split('|');
|
|
31
|
-
if (infos && infos.length === 4) {
|
|
32
|
-
return `${infos[2]} ${infos[1]}`;
|
|
33
|
-
}
|
|
34
|
-
return undefined;
|
|
35
|
-
}
|
|
36
|
-
getRecordFormats(record) {
|
|
37
|
-
if (record.kind === 'service' || !('distributions' in record)) {
|
|
38
|
-
return [];
|
|
39
|
-
}
|
|
40
|
-
const formats = Array.from(new Set(record.distributions.map((distribution) => getFileFormat(distribution)))).filter((format) => !!format);
|
|
41
|
-
formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a));
|
|
42
|
-
return formats;
|
|
43
|
-
}
|
|
44
|
-
getBadgeColor(format) {
|
|
45
|
-
return getBadgeColor(format);
|
|
46
|
-
}
|
|
47
|
-
getOrderForColumn(col) {
|
|
48
|
-
if (!this.sortBy) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
let order = null;
|
|
52
|
-
const sortedArray = Array.isArray(this.sortBy[0])
|
|
53
|
-
? this.sortBy
|
|
54
|
-
: [this.sortBy];
|
|
55
|
-
sortedArray.forEach((sortedCol) => {
|
|
56
|
-
if (sortedCol[1] === col) {
|
|
57
|
-
order = sortedCol[0];
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
return order;
|
|
61
|
-
}
|
|
62
|
-
setSortBy(col) {
|
|
63
|
-
const sortOrder = this.getOrderForColumn(col);
|
|
64
|
-
let newOrder;
|
|
65
|
-
if (sortOrder) {
|
|
66
|
-
newOrder = sortOrder === 'asc' ? 'desc' : 'asc';
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
newOrder = 'asc';
|
|
70
|
-
}
|
|
71
|
-
this.sortByChange.emit([newOrder, col]);
|
|
72
|
-
this.sortBy = [newOrder, col];
|
|
73
|
-
}
|
|
74
|
-
isSortedBy(col, order) {
|
|
75
|
-
const sortOrder = this.getOrderForColumn(col);
|
|
76
|
-
return sortOrder === order;
|
|
77
|
-
}
|
|
78
|
-
isChecked(record) {
|
|
79
|
-
if (this.selectedRecords.includes(record.uniqueIdentifier)) {
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
handleRecordSelectedChange(selected, record) {
|
|
85
|
-
if (!selected) {
|
|
86
|
-
this.recordsDeselect.emit([record]);
|
|
87
|
-
this.selectedRecords = this.selectedRecords.filter((val) => val !== record.uniqueIdentifier);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
this.recordsSelect.emit([record]);
|
|
91
|
-
this.selectedRecords.push(record.uniqueIdentifier);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
selectAll() {
|
|
95
|
-
if (this.isAllSelected()) {
|
|
96
|
-
this.recordsDeselect.emit(this.records);
|
|
97
|
-
this.selectedRecords = [];
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
this.recordsSelect.emit(this.records);
|
|
101
|
-
this.selectedRecords = this.records.map((record) => {
|
|
102
|
-
return record.uniqueIdentifier;
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
isAllSelected() {
|
|
107
|
-
if (this.selectedRecords.length === this.records.length) {
|
|
108
|
-
const allRecords = this.records.filter((record) => this.selectedRecords.includes(record.uniqueIdentifier));
|
|
109
|
-
if (allRecords.length === this.records.length) {
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
isSomeSelected() {
|
|
116
|
-
if (this.selectedRecords.length > 0 &&
|
|
117
|
-
this.selectedRecords.length < this.records.length) {
|
|
118
|
-
return true;
|
|
119
|
-
}
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordTableComponent, selector: "gn-ui-record-table", inputs: { selectedRecords: "selectedRecords", records: "records", totalHits: "totalHits", sortBy: "sortBy" }, outputs: { recordClick: "recordClick", recordsSelect: "recordsSelect", recordsDeselect: "recordsDeselect", sortByChange: "sortByChange" }, ngImport: i0, template: "<div>\n <div *ngIf=\"totalHits\" class=\"\">\n <div class=\"flex records-information\">\n <div\n translate\n class=\"my-8 ml-4 block text-gray-800\"\n [translateParams]=\"{\n displayed: records.length,\n hits: totalHits\n }\"\n >\n results.records.hits.displayedOn\n </div>\n <div\n *ngIf=\"selectedRecords.length > 0\"\n class=\"my-8 ml-6 block text-gray-400 selected-records\"\n translate\n [translateParams]=\"{ amount: selectedRecords.length }\"\n >\n results.records.hits.selected\n </div>\n </div>\n\n <div\n class=\"grid grid-cols-[repeat(3,minmax(0,max-content))] gap-x-4 gap-y-1\"\n *ngIf=\"records[0].name\"\n >\n <div class=\"contents text-sm\">\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <span translate>dashboard.records.userDetail</span>\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <span translate>dashboard.records.username</span>\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <span translate>dashboard.records.userEmail</span>\n </div>\n </div>\n <div\n class=\"contents hover:text-gray-900 text-gray-800 cursor-pointer\"\n (click)=\"recordSelect.emit(record)\"\n *ngFor=\"let record of records\"\n >\n <div class=\"record-table-col text-16\">\n {{ record.name }}\n </div>\n <div class=\"record-table-col text-16\">\n {{ record.username }}\n </div>\n <div class=\"record-table-col text-16\">\n {{ record.emailAddresses[0] }}\n </div>\n </div>\n </div>\n\n <div\n class=\"grid grid-cols-[repeat(6,minmax(0,max-content))] gap-x-4 gap-y-1\"\n *ngIf=\"!records[0].name\"\n >\n <div class=\"contents text-sm\">\n <div class=\"flex justify-center items-center\">\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"selectAll()\"\n type=\"default\"\n >\n </gn-ui-checkbox>\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"px-3 pl-0 space-x-1 text-left\"\n (buttonClick)=\"setSortBy('resourceTitleObject.default.keyword')\"\n >\n <span translate>record.metadata.title</span>\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('resourceTitleObject.default.keyword', 'desc')\"\n >\n expand_more</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('resourceTitleObject.default.keyword', 'asc')\"\n >\n expand_less</mat-icon\n >\n </gn-ui-button>\n </div>\n <div translate=\"\" class=\"record-table-header text-gray-400 flex gap-1\">\n record.metadata.formats\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"px-3 pl-0 space-x-1\"\n (buttonClick)=\"setSortBy('recordOwner')\"\n >\n <span translate>record.metadata.author</span>\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('recordOwner', 'desc')\"\n >\n expand_more</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('recordOwner', 'asc')\"\n >\n expand_less</mat-icon\n >\n </gn-ui-button>\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"px-3 pl-0 space-x-1\"\n (buttonClick)=\"setSortBy('changeDate')\"\n >\n <span translate>record.metadata.updatedOn</span>\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('changeDate', 'desc')\"\n >\n expand_more</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('changeDate', 'asc')\"\n >\n expand_less</mat-icon\n >\n </gn-ui-button>\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"px-3 pl-0 space-x-1\"\n (buttonClick)=\"setSortBy('createDate')\"\n >\n <span translate>record.metadata.createdOn</span>\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('createDate', 'desc')\"\n >\n expand_more</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('createDate', 'asc')\"\n >\n expand_less</mat-icon\n >\n </gn-ui-button>\n </div>\n </div>\n <div\n class=\"contents hover:text-gray-900 text-gray-800 cursor-pointer\"\n (click)=\"recordSelect.emit(record)\"\n *ngFor=\"let record of records\"\n >\n <div class=\"record-table-col\">\n <gn-ui-checkbox\n [checked]=\"isChecked(record)\"\n (changed)=\"handleRecordSelectedChange($event, record)\"\n type=\"default\"\n ></gn-ui-checkbox>\n </div>\n <div\n [title]=\"record.title\"\n class=\"record-table-col text-16 self-center\"\n >\n {{ record.title }}\n </div>\n <div\n class=\"record-table-col flex justify-start items-center gap-2 text-16\"\n [title]=\"formats.join(', ')\"\n *ngIf=\"getRecordFormats(record) as formats\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 flex-shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 flex-shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div\n class=\"flex-shrink-0\"\n *ngIf=\"!record.name && formats.slice(2).length > 0\"\n >\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div class=\"record-table-col flex items-center gap-2 text-16\">\n <mat-icon class=\"material-symbols-outlined\"> person </mat-icon>\n <span class=\"\">{{ formatUserInfo(record.extras?.ownerInfo) }}</span>\n </div>\n <div class=\"record-table-col text-16 self-center\">\n {{ dateToString(record.recordUpdated) }}\n </div>\n <div class=\"record-table-col text-16 self-center\">\n {{ dateToString(record.recordCreated) }}\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".record-table-col{@apply px-5 py-3 items-center truncate;}.record-table-header{@apply record-table-col capitalize;}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i4.CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
124
|
-
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordTableComponent, decorators: [{
|
|
126
|
-
type: Component,
|
|
127
|
-
args: [{ selector: 'gn-ui-record-table', template: "<div>\n <div *ngIf=\"totalHits\" class=\"\">\n <div class=\"flex records-information\">\n <div\n translate\n class=\"my-8 ml-4 block text-gray-800\"\n [translateParams]=\"{\n displayed: records.length,\n hits: totalHits\n }\"\n >\n results.records.hits.displayedOn\n </div>\n <div\n *ngIf=\"selectedRecords.length > 0\"\n class=\"my-8 ml-6 block text-gray-400 selected-records\"\n translate\n [translateParams]=\"{ amount: selectedRecords.length }\"\n >\n results.records.hits.selected\n </div>\n </div>\n\n <div\n class=\"grid grid-cols-[repeat(3,minmax(0,max-content))] gap-x-4 gap-y-1\"\n *ngIf=\"records[0].name\"\n >\n <div class=\"contents text-sm\">\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <span translate>dashboard.records.userDetail</span>\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <span translate>dashboard.records.username</span>\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <span translate>dashboard.records.userEmail</span>\n </div>\n </div>\n <div\n class=\"contents hover:text-gray-900 text-gray-800 cursor-pointer\"\n (click)=\"recordSelect.emit(record)\"\n *ngFor=\"let record of records\"\n >\n <div class=\"record-table-col text-16\">\n {{ record.name }}\n </div>\n <div class=\"record-table-col text-16\">\n {{ record.username }}\n </div>\n <div class=\"record-table-col text-16\">\n {{ record.emailAddresses[0] }}\n </div>\n </div>\n </div>\n\n <div\n class=\"grid grid-cols-[repeat(6,minmax(0,max-content))] gap-x-4 gap-y-1\"\n *ngIf=\"!records[0].name\"\n >\n <div class=\"contents text-sm\">\n <div class=\"flex justify-center items-center\">\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"selectAll()\"\n type=\"default\"\n >\n </gn-ui-checkbox>\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"px-3 pl-0 space-x-1 text-left\"\n (buttonClick)=\"setSortBy('resourceTitleObject.default.keyword')\"\n >\n <span translate>record.metadata.title</span>\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('resourceTitleObject.default.keyword', 'desc')\"\n >\n expand_more</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('resourceTitleObject.default.keyword', 'asc')\"\n >\n expand_less</mat-icon\n >\n </gn-ui-button>\n </div>\n <div translate=\"\" class=\"record-table-header text-gray-400 flex gap-1\">\n record.metadata.formats\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"px-3 pl-0 space-x-1\"\n (buttonClick)=\"setSortBy('recordOwner')\"\n >\n <span translate>record.metadata.author</span>\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('recordOwner', 'desc')\"\n >\n expand_more</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('recordOwner', 'asc')\"\n >\n expand_less</mat-icon\n >\n </gn-ui-button>\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"px-3 pl-0 space-x-1\"\n (buttonClick)=\"setSortBy('changeDate')\"\n >\n <span translate>record.metadata.updatedOn</span>\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('changeDate', 'desc')\"\n >\n expand_more</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('changeDate', 'asc')\"\n >\n expand_less</mat-icon\n >\n </gn-ui-button>\n </div>\n <div class=\"record-table-header text-gray-400 flex gap-1\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"px-3 pl-0 space-x-1\"\n (buttonClick)=\"setSortBy('createDate')\"\n >\n <span translate>record.metadata.createdOn</span>\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('createDate', 'desc')\"\n >\n expand_more</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n *ngIf=\"isSortedBy('createDate', 'asc')\"\n >\n expand_less</mat-icon\n >\n </gn-ui-button>\n </div>\n </div>\n <div\n class=\"contents hover:text-gray-900 text-gray-800 cursor-pointer\"\n (click)=\"recordSelect.emit(record)\"\n *ngFor=\"let record of records\"\n >\n <div class=\"record-table-col\">\n <gn-ui-checkbox\n [checked]=\"isChecked(record)\"\n (changed)=\"handleRecordSelectedChange($event, record)\"\n type=\"default\"\n ></gn-ui-checkbox>\n </div>\n <div\n [title]=\"record.title\"\n class=\"record-table-col text-16 self-center\"\n >\n {{ record.title }}\n </div>\n <div\n class=\"record-table-col flex justify-start items-center gap-2 text-16\"\n [title]=\"formats.join(', ')\"\n *ngIf=\"getRecordFormats(record) as formats\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 flex-shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 flex-shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div\n class=\"flex-shrink-0\"\n *ngIf=\"!record.name && formats.slice(2).length > 0\"\n >\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div class=\"record-table-col flex items-center gap-2 text-16\">\n <mat-icon class=\"material-symbols-outlined\"> person </mat-icon>\n <span class=\"\">{{ formatUserInfo(record.extras?.ownerInfo) }}</span>\n </div>\n <div class=\"record-table-col text-16 self-center\">\n {{ dateToString(record.recordUpdated) }}\n </div>\n <div class=\"record-table-col text-16 self-center\">\n {{ dateToString(record.recordCreated) }}\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".record-table-col{@apply px-5 py-3 items-center truncate;}.record-table-header{@apply record-table-col capitalize;}\n"] }]
|
|
128
|
-
}], propDecorators: { selectedRecords: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}], records: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], totalHits: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}], sortBy: [{
|
|
135
|
-
type: Input
|
|
136
|
-
}], recordClick: [{
|
|
137
|
-
type: Output
|
|
138
|
-
}], recordsSelect: [{
|
|
139
|
-
type: Output
|
|
140
|
-
}], recordsDeselect: [{
|
|
141
|
-
type: Output
|
|
142
|
-
}], sortByChange: [{
|
|
143
|
-
type: Output
|
|
144
|
-
}] } });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc2VhcmNoL3NyYy9saWIvcmVjb3JkLXRhYmxlL3JlY29yZC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvbGliL3JlY29yZC10YWJsZS9yZWNvcmQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV0RSxPQUFPLEVBRUwsYUFBYSxFQUNiLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7OztBQVEvQyxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBTVcsb0JBQWUsR0FBYSxFQUFFLENBQUE7UUFDOUIsWUFBTyxHQUFVLEVBQUUsQ0FBQTtRQUdsQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFBO1FBQy9DLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUE7UUFDbkQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQTtRQUNyRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUE7S0E2SHpEO0lBM0hDLFlBQVksQ0FBQyxJQUFVO1FBQ3JCLE9BQU8sSUFBSSxFQUFFLGtCQUFrQixDQUFDLFNBQVMsRUFBRTtZQUN6QyxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxNQUFNO1lBQ2IsR0FBRyxFQUFFLFNBQVM7WUFDZCxRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLGdCQUFtQztRQUMzQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQTtJQUN6RCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQTBCO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN2RSxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQixPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1NBQ2pDO1FBQ0QsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQXFCO1FBQ3BDLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLGVBQWUsSUFBSSxNQUFNLENBQUMsRUFBRTtZQUM3RCxPQUFPLEVBQUUsQ0FBQTtTQUNWO1FBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDeEIsSUFBSSxHQUFHLENBQ0wsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUN4RSxDQUNGLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbkUsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFrQjtRQUM5QixPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBRU8saUJBQWlCLENBQUMsR0FBVztRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQTtTQUNaO1FBQ0QsSUFBSSxLQUFLLEdBQTBCLElBQUksQ0FBQTtRQUN2QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ2IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2pCLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNoQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7Z0JBQ3hCLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDckI7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFXO1FBQ25CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM3QyxJQUFJLFFBQVEsQ0FBQTtRQUNaLElBQUksU0FBUyxFQUFFO1lBQ2IsUUFBUSxHQUFHLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO1NBQ2hEO2FBQU07WUFDTCxRQUFRLEdBQUcsS0FBSyxDQUFBO1NBQ2pCO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVyxFQUFFLEtBQXFCO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM3QyxPQUFPLFNBQVMsS0FBSyxLQUFLLENBQUE7SUFDNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFxQjtRQUM3QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzFELE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxRQUFpQixFQUFFLE1BQXFCO1FBQ2pFLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7WUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FDaEQsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsZ0JBQWdCLENBQ3pDLENBQUE7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1lBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1NBQ25EO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUE7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2pELE9BQU8sTUFBTSxDQUFDLGdCQUFnQixDQUFBO1lBQ2hDLENBQUMsQ0FBQyxDQUFBO1NBQ0g7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDdkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FDdkQsQ0FBQTtZQUNELElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDN0MsT0FBTyxJQUFJLENBQUE7YUFDWjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQ0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFDakQ7WUFDQSxPQUFPLElBQUksQ0FBQTtTQUNaO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDOzhHQXBJVSxvQkFBb0I7a0dBQXBCLG9CQUFvQixtVENmakMsNjVPQXVOQTs7MkZEeE1hLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxvQkFBb0I7OEJBS3JCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDYXRhbG9nUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHtcbiAgRmlsZUZvcm1hdCxcbiAgZ2V0QmFkZ2VDb2xvcixcbiAgZ2V0RmlsZUZvcm1hdCxcbiAgZ2V0Rm9ybWF0UHJpb3JpdHksXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgU29ydEJ5RmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlY29yZC10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNvcmQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNvcmQtdGFibGUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmRUYWJsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUmVjb3Jkczogc3RyaW5nW10gPSBbXVxuICBASW5wdXQoKSByZWNvcmRzOiBhbnlbXSA9IFtdXG4gIEBJbnB1dCgpIHRvdGFsSGl0cz86IG51bWJlclxuICBASW5wdXQoKSBzb3J0Qnk/OiBTb3J0QnlGaWVsZFxuICBAT3V0cHV0KCkgcmVjb3JkQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENhdGFsb2dSZWNvcmQ+KClcbiAgQE91dHB1dCgpIHJlY29yZHNTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPENhdGFsb2dSZWNvcmRbXT4oKVxuICBAT3V0cHV0KCkgcmVjb3Jkc0Rlc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXRhbG9nUmVjb3JkW10+KClcbiAgQE91dHB1dCgpIHNvcnRCeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydEJ5RmllbGQ+KClcblxuICBkYXRlVG9TdHJpbmcoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRhdGU/LnRvTG9jYWxlRGF0ZVN0cmluZyh1bmRlZmluZWQsIHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnbG9uZycsXG4gICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgIHRpbWVab25lOiAnVVRDJyxcbiAgICB9KVxuICB9XG5cbiAgZ2V0U3RhdHVzKGlzUHVibGlzaGVkVG9BbGw6IGJvb2xlYW4gfCB1bmtub3duKSB7XG4gICAgcmV0dXJuIGlzUHVibGlzaGVkVG9BbGwgPyAncHVibGlzaGVkJyA6ICdub3QgcHVibGlzaGVkJ1xuICB9XG5cbiAgZm9ybWF0VXNlckluZm8odXNlckluZm86IHN0cmluZyB8IHVua25vd24pOiBzdHJpbmcge1xuICAgIGNvbnN0IGluZm9zID0gKHR5cGVvZiB1c2VySW5mbyA9PT0gJ3N0cmluZycgPyB1c2VySW5mbyA6ICcnKS5zcGxpdCgnfCcpXG4gICAgaWYgKGluZm9zICYmIGluZm9zLmxlbmd0aCA9PT0gNCkge1xuICAgICAgcmV0dXJuIGAke2luZm9zWzJdfSAke2luZm9zWzFdfWBcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgZ2V0UmVjb3JkRm9ybWF0cyhyZWNvcmQ6IENhdGFsb2dSZWNvcmQpOiBGaWxlRm9ybWF0W10ge1xuICAgIGlmIChyZWNvcmQua2luZCA9PT0gJ3NlcnZpY2UnIHx8ICEoJ2Rpc3RyaWJ1dGlvbnMnIGluIHJlY29yZCkpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cbiAgICBjb25zdCBmb3JtYXRzID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQoXG4gICAgICAgIHJlY29yZC5kaXN0cmlidXRpb25zLm1hcCgoZGlzdHJpYnV0aW9uKSA9PiBnZXRGaWxlRm9ybWF0KGRpc3RyaWJ1dGlvbikpXG4gICAgICApXG4gICAgKS5maWx0ZXIoKGZvcm1hdCkgPT4gISFmb3JtYXQpXG4gICAgZm9ybWF0cy5zb3J0KChhLCBiKSA9PiBnZXRGb3JtYXRQcmlvcml0eShiKSAtIGdldEZvcm1hdFByaW9yaXR5KGEpKVxuICAgIHJldHVybiBmb3JtYXRzXG4gIH1cblxuICBnZXRCYWRnZUNvbG9yKGZvcm1hdDogRmlsZUZvcm1hdCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldEJhZGdlQ29sb3IoZm9ybWF0KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRPcmRlckZvckNvbHVtbihjb2w6IHN0cmluZyk6ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLnNvcnRCeSkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgbGV0IG9yZGVyOiAnYXNjJyB8ICdkZXNjJyB8IG51bGwgPSBudWxsXG4gICAgY29uc3Qgc29ydGVkQXJyYXkgPSBBcnJheS5pc0FycmF5KHRoaXMuc29ydEJ5WzBdKVxuICAgICAgPyB0aGlzLnNvcnRCeVxuICAgICAgOiBbdGhpcy5zb3J0QnldXG4gICAgc29ydGVkQXJyYXkuZm9yRWFjaCgoc29ydGVkQ29sKSA9PiB7XG4gICAgICBpZiAoc29ydGVkQ29sWzFdID09PSBjb2wpIHtcbiAgICAgICAgb3JkZXIgPSBzb3J0ZWRDb2xbMF1cbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiBvcmRlclxuICB9XG5cbiAgc2V0U29ydEJ5KGNvbDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydE9yZGVyID0gdGhpcy5nZXRPcmRlckZvckNvbHVtbihjb2wpXG4gICAgbGV0IG5ld09yZGVyXG4gICAgaWYgKHNvcnRPcmRlcikge1xuICAgICAgbmV3T3JkZXIgPSBzb3J0T3JkZXIgPT09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYydcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3T3JkZXIgPSAnYXNjJ1xuICAgIH1cbiAgICB0aGlzLnNvcnRCeUNoYW5nZS5lbWl0KFtuZXdPcmRlciwgY29sXSlcbiAgICB0aGlzLnNvcnRCeSA9IFtuZXdPcmRlciwgY29sXVxuICB9XG5cbiAgaXNTb3J0ZWRCeShjb2w6IHN0cmluZywgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc29ydE9yZGVyID0gdGhpcy5nZXRPcmRlckZvckNvbHVtbihjb2wpXG4gICAgcmV0dXJuIHNvcnRPcmRlciA9PT0gb3JkZXJcbiAgfVxuXG4gIGlzQ2hlY2tlZChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFJlY29yZHMuaW5jbHVkZXMocmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGhhbmRsZVJlY29yZFNlbGVjdGVkQ2hhbmdlKHNlbGVjdGVkOiBib29sZWFuLCByZWNvcmQ6IENhdGFsb2dSZWNvcmQpIHtcbiAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnJlY29yZHNEZXNlbGVjdC5lbWl0KFtyZWNvcmRdKVxuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZHMgPSB0aGlzLnNlbGVjdGVkUmVjb3Jkcy5maWx0ZXIoXG4gICAgICAgICh2YWwpID0+IHZhbCAhPT0gcmVjb3JkLnVuaXF1ZUlkZW50aWZpZXJcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWNvcmRzU2VsZWN0LmVtaXQoW3JlY29yZF0pXG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3Jkcy5wdXNoKHJlY29yZC51bmlxdWVJZGVudGlmaWVyKVxuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEFsbCgpIHtcbiAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMucmVjb3Jkc0Rlc2VsZWN0LmVtaXQodGhpcy5yZWNvcmRzKVxuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZHMgPSBbXVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlY29yZHNTZWxlY3QuZW1pdCh0aGlzLnJlY29yZHMpXG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkcyA9IHRoaXMucmVjb3Jkcy5tYXAoKHJlY29yZCkgPT4ge1xuICAgICAgICByZXR1cm4gcmVjb3JkLnVuaXF1ZUlkZW50aWZpZXJcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFJlY29yZHMubGVuZ3RoID09PSB0aGlzLnJlY29yZHMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBhbGxSZWNvcmRzID0gdGhpcy5yZWNvcmRzLmZpbHRlcigocmVjb3JkKSA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkUmVjb3Jkcy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgICAgIClcbiAgICAgIGlmIChhbGxSZWNvcmRzLmxlbmd0aCA9PT0gdGhpcy5yZWNvcmRzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGlzU29tZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRzLmxlbmd0aCA+IDAgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRzLmxlbmd0aCA8IHRoaXMucmVjb3Jkcy5sZW5ndGhcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2ICpuZ0lmPVwidG90YWxIaXRzXCIgY2xhc3M9XCJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCByZWNvcmRzLWluZm9ybWF0aW9uXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICBjbGFzcz1cIm15LTggbWwtNCBibG9jayB0ZXh0LWdyYXktODAwXCJcbiAgICAgICAgW3RyYW5zbGF0ZVBhcmFtc109XCJ7XG4gICAgICAgICAgZGlzcGxheWVkOiByZWNvcmRzLmxlbmd0aCxcbiAgICAgICAgICBoaXRzOiB0b3RhbEhpdHNcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIHJlc3VsdHMucmVjb3Jkcy5oaXRzLmRpc3BsYXllZE9uXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJzZWxlY3RlZFJlY29yZHMubGVuZ3RoID4gMFwiXG4gICAgICAgIGNsYXNzPVwibXktOCBtbC02IGJsb2NrIHRleHQtZ3JheS00MDAgc2VsZWN0ZWQtcmVjb3Jkc1wiXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInsgYW1vdW50OiBzZWxlY3RlZFJlY29yZHMubGVuZ3RoIH1cIlxuICAgICAgPlxuICAgICAgICByZXN1bHRzLnJlY29yZHMuaGl0cy5zZWxlY3RlZFxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLVtyZXBlYXQoMyxtaW5tYXgoMCxtYXgtY29udGVudCkpXSBnYXAteC00IGdhcC15LTFcIlxuICAgICAgKm5nSWY9XCJyZWNvcmRzWzBdLm5hbWVcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50cyB0ZXh0LXNtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWNvcmQtdGFibGUtaGVhZGVyIHRleHQtZ3JheS00MDAgZmxleCBnYXAtMVwiPlxuICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5kYXNoYm9hcmQucmVjb3Jkcy51c2VyRGV0YWlsPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZC10YWJsZS1oZWFkZXIgdGV4dC1ncmF5LTQwMCBmbGV4IGdhcC0xXCI+XG4gICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPmRhc2hib2FyZC5yZWNvcmRzLnVzZXJuYW1lPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZC10YWJsZS1oZWFkZXIgdGV4dC1ncmF5LTQwMCBmbGV4IGdhcC0xXCI+XG4gICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPmRhc2hib2FyZC5yZWNvcmRzLnVzZXJFbWFpbDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjb250ZW50cyBob3Zlcjp0ZXh0LWdyYXktOTAwIHRleHQtZ3JheS04MDAgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAoY2xpY2spPVwicmVjb3JkU2VsZWN0LmVtaXQocmVjb3JkKVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCByZWNvcmQgb2YgcmVjb3Jkc1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWNvcmQtdGFibGUtY29sIHRleHQtMTZcIj5cbiAgICAgICAgICB7eyByZWNvcmQubmFtZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZC10YWJsZS1jb2wgdGV4dC0xNlwiPlxuICAgICAgICAgIHt7IHJlY29yZC51c2VybmFtZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZC10YWJsZS1jb2wgdGV4dC0xNlwiPlxuICAgICAgICAgIHt7IHJlY29yZC5lbWFpbEFkZHJlc3Nlc1swXSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkIGdyaWQtY29scy1bcmVwZWF0KDYsbWlubWF4KDAsbWF4LWNvbnRlbnQpKV0gZ2FwLXgtNCBnYXAteS0xXCJcbiAgICAgICpuZ0lmPVwiIXJlY29yZHNbMF0ubmFtZVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRzIHRleHQtc21cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGduLXVpLWNoZWNrYm94XG4gICAgICAgICAgICBbY2hlY2tlZF09XCJpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNTb21lU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAoY2hhbmdlZCk9XCJzZWxlY3RBbGwoKVwiXG4gICAgICAgICAgICB0eXBlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvZ24tdWktY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVjb3JkLXRhYmxlLWhlYWRlciB0ZXh0LWdyYXktNDAwIGZsZXggZ2FwLTFcIj5cbiAgICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwibGlnaHRcIlxuICAgICAgICAgICAgZXh0cmFDbGFzcz1cInB4LTMgcGwtMCBzcGFjZS14LTEgdGV4dC1sZWZ0XCJcbiAgICAgICAgICAgIChidXR0b25DbGljayk9XCJzZXRTb3J0QnkoJ3Jlc291cmNlVGl0bGVPYmplY3QuZGVmYXVsdC5rZXl3b3JkJylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEudGl0bGU8L3NwYW4+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc1NvcnRlZEJ5KCdyZXNvdXJjZVRpdGxlT2JqZWN0LmRlZmF1bHQua2V5d29yZCcsICdkZXNjJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBleHBhbmRfbW9yZTwvbWF0LWljb25cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIlxuICAgICAgICAgICAgICAqbmdJZj1cImlzU29ydGVkQnkoJ3Jlc291cmNlVGl0bGVPYmplY3QuZGVmYXVsdC5rZXl3b3JkJywgJ2FzYycpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgZXhwYW5kX2xlc3M8L21hdC1pY29uXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHRyYW5zbGF0ZT1cIlwiIGNsYXNzPVwicmVjb3JkLXRhYmxlLWhlYWRlciB0ZXh0LWdyYXktNDAwIGZsZXggZ2FwLTFcIj5cbiAgICAgICAgICByZWNvcmQubWV0YWRhdGEuZm9ybWF0c1xuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZC10YWJsZS1oZWFkZXIgdGV4dC1ncmF5LTQwMCBmbGV4IGdhcC0xXCI+XG4gICAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAgIGV4dHJhQ2xhc3M9XCJweC0zIHBsLTAgc3BhY2UteC0xXCJcbiAgICAgICAgICAgIChidXR0b25DbGljayk9XCJzZXRTb3J0QnkoJ3JlY29yZE93bmVyJylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEuYXV0aG9yPC9zcGFuPlxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNTb3J0ZWRCeSgncmVjb3JkT3duZXInLCAnZGVzYycpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgZXhwYW5kX21vcmU8L21hdC1pY29uXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc1NvcnRlZEJ5KCdyZWNvcmRPd25lcicsICdhc2MnKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIGV4cGFuZF9sZXNzPC9tYXQtaWNvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZC10YWJsZS1oZWFkZXIgdGV4dC1ncmF5LTQwMCBmbGV4IGdhcC0xXCI+XG4gICAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAgIGV4dHJhQ2xhc3M9XCJweC0zIHBsLTAgc3BhY2UteC0xXCJcbiAgICAgICAgICAgIChidXR0b25DbGljayk9XCJzZXRTb3J0QnkoJ2NoYW5nZURhdGUnKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS51cGRhdGVkT248L3NwYW4+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc1NvcnRlZEJ5KCdjaGFuZ2VEYXRlJywgJ2Rlc2MnKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIGV4cGFuZF9tb3JlPC9tYXQtaWNvblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNTb3J0ZWRCeSgnY2hhbmdlRGF0ZScsICdhc2MnKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIGV4cGFuZF9sZXNzPC9tYXQtaWNvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZC10YWJsZS1oZWFkZXIgdGV4dC1ncmF5LTQwMCBmbGV4IGdhcC0xXCI+XG4gICAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAgIGV4dHJhQ2xhc3M9XCJweC0zIHBsLTAgc3BhY2UteC0xXCJcbiAgICAgICAgICAgIChidXR0b25DbGljayk9XCJzZXRTb3J0QnkoJ2NyZWF0ZURhdGUnKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5jcmVhdGVkT248L3NwYW4+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc1NvcnRlZEJ5KCdjcmVhdGVEYXRlJywgJ2Rlc2MnKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIGV4cGFuZF9tb3JlPC9tYXQtaWNvblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNTb3J0ZWRCeSgnY3JlYXRlRGF0ZScsICdhc2MnKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIGV4cGFuZF9sZXNzPC9tYXQtaWNvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbnRlbnRzIGhvdmVyOnRleHQtZ3JheS05MDAgdGV4dC1ncmF5LTgwMCBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgIChjbGljayk9XCJyZWNvcmRTZWxlY3QuZW1pdChyZWNvcmQpXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHJlY29yZCBvZiByZWNvcmRzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZC10YWJsZS1jb2xcIj5cbiAgICAgICAgICA8Z24tdWktY2hlY2tib3hcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZChyZWNvcmQpXCJcbiAgICAgICAgICAgIChjaGFuZ2VkKT1cImhhbmRsZVJlY29yZFNlbGVjdGVkQ2hhbmdlKCRldmVudCwgcmVjb3JkKVwiXG4gICAgICAgICAgICB0eXBlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgPjwvZ24tdWktY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgW3RpdGxlXT1cInJlY29yZC50aXRsZVwiXG4gICAgICAgICAgY2xhc3M9XCJyZWNvcmQtdGFibGUtY29sIHRleHQtMTYgc2VsZi1jZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgcmVjb3JkLnRpdGxlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJyZWNvcmQtdGFibGUtY29sIGZsZXgganVzdGlmeS1zdGFydCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC0xNlwiXG4gICAgICAgICAgW3RpdGxlXT1cImZvcm1hdHMuam9pbignLCAnKVwiXG4gICAgICAgICAgKm5nSWY9XCJnZXRSZWNvcmRGb3JtYXRzKHJlY29yZCkgYXMgZm9ybWF0c1wiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZS1idG4gbWluLXctWzQ1cHhdIHRleHQtc20gdGV4dC13aGl0ZSBweC0yIGZsZXgtc2hyaW5rLTBcIlxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZ2V0QmFkZ2VDb2xvcihmb3JtYXRzWzBdKVwiXG4gICAgICAgICAgICAqbmdJZj1cImZvcm1hdHNbMF1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGZvcm1hdHNbMF0gfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiYmFkZ2UtYnRuIG1pbi13LVs0NXB4XSB0ZXh0LXNtIHRleHQtd2hpdGUgcHgtMiBmbGV4LXNocmluay0wXCJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldEJhZGdlQ29sb3IoZm9ybWF0c1sxXSlcIlxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtYXRzWzFdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBmb3JtYXRzWzFdIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleC1zaHJpbmstMFwiXG4gICAgICAgICAgICAqbmdJZj1cIiFyZWNvcmQubmFtZSAmJiBmb3JtYXRzLnNsaWNlKDIpLmxlbmd0aCA+IDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuPit7eyBmb3JtYXRzLnNsaWNlKDIpLmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWNvcmQtdGFibGUtY29sIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtMTZcIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IHBlcnNvbiA8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiXCI+e3sgZm9ybWF0VXNlckluZm8ocmVjb3JkLmV4dHJhcz8ub3duZXJJbmZvKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWNvcmQtdGFibGUtY29sIHRleHQtMTYgc2VsZi1jZW50ZXJcIj5cbiAgICAgICAgICB7eyBkYXRlVG9TdHJpbmcocmVjb3JkLnJlY29yZFVwZGF0ZWQpIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVjb3JkLXRhYmxlLWNvbCB0ZXh0LTE2IHNlbGYtY2VudGVyXCI+XG4gICAgICAgICAge3sgZGF0ZVRvU3RyaW5nKHJlY29yZC5yZWNvcmRDcmVhdGVkKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { TranslateLoader } from '@ngx-translate/core';
|
|
2
|
-
import { of as observableOf } from 'rxjs';
|
|
3
|
-
// IMPORTANT:
|
|
4
|
-
// This was copy-pasted from https://github.com/mwootendev/ngx-translate-plugins/blob/7c6c73c7d16c9519a7bafff939d29fd8ea5e574a/projects/testing/src/lib/test-translate-loader.service.ts
|
|
5
|
-
// because the original package was expecting rxjs 7+ as a peer dep and that was conflicting with many other dependencies
|
|
6
|
-
// FIXME: when rxjs 7 can be used in the project, remove this and do `npm install ngx-translate-testing --save-dev`
|
|
7
|
-
export class TestTranslateLoader extends TranslateLoader {
|
|
8
|
-
constructor(_translations = {}) {
|
|
9
|
-
super();
|
|
10
|
-
this._translations = _translations;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Returns an {Observable} of translations for the specified language. If the
|
|
14
|
-
* language is not recognized, an empty translations object will be returned.
|
|
15
|
-
*
|
|
16
|
-
* @param language the language for which the translations should be retrieved.
|
|
17
|
-
* @returns the translations for the specified
|
|
18
|
-
* language or an empty set of translations if the language is not recognized.
|
|
19
|
-
*/
|
|
20
|
-
getTranslation(language) {
|
|
21
|
-
return observableOf(this._translations[language] || {});
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC50cmFuc2xhdGUubG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjL2xpYi90ZXN0aW5nL3Rlc3QudHJhbnNsYXRlLmxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFjLEVBQUUsSUFBSSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFHckQsYUFBYTtBQUNiLHdMQUF3TDtBQUN4TCx5SEFBeUg7QUFDekgsbUhBQW1IO0FBRW5ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBQ3RELFlBQW9CLGdCQUE4QixFQUFFO1FBQ2xELEtBQUssRUFBRSxDQUFBO1FBRFcsa0JBQWEsR0FBYixhQUFhLENBQW1CO0lBRXBELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksY0FBYyxDQUFDLFFBQWdCO1FBQ3BDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7SUFDekQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBUcmFuc2xhdGlvbnMsIExhbmd1YWdlVHJhbnNsYXRpb25zIH0gZnJvbSAnLi90cmFuc2xhdGlvbnMubW9kZWwnXG5cbi8vIElNUE9SVEFOVDpcbi8vIFRoaXMgd2FzIGNvcHktcGFzdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL213b290ZW5kZXYvbmd4LXRyYW5zbGF0ZS1wbHVnaW5zL2Jsb2IvN2M2YzczYzdkMTZjOTUxOWE3YmFmZmY5MzlkMjlmZDhlYTVlNTc0YS9wcm9qZWN0cy90ZXN0aW5nL3NyYy9saWIvdGVzdC10cmFuc2xhdGUtbG9hZGVyLnNlcnZpY2UudHNcbi8vIGJlY2F1c2UgdGhlIG9yaWdpbmFsIHBhY2thZ2Ugd2FzIGV4cGVjdGluZyByeGpzIDcrIGFzIGEgcGVlciBkZXAgYW5kIHRoYXQgd2FzIGNvbmZsaWN0aW5nIHdpdGggbWFueSBvdGhlciBkZXBlbmRlbmNpZXNcbi8vIEZJWE1FOiB3aGVuIHJ4anMgNyBjYW4gYmUgdXNlZCBpbiB0aGUgcHJvamVjdCwgcmVtb3ZlIHRoaXMgYW5kIGRvIGBucG0gaW5zdGFsbCBuZ3gtdHJhbnNsYXRlLXRlc3RpbmcgLS1zYXZlLWRldmBcblxuZXhwb3J0IGNsYXNzIFRlc3RUcmFuc2xhdGVMb2FkZXIgZXh0ZW5kcyBUcmFuc2xhdGVMb2FkZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4ge09ic2VydmFibGV9IG9mIHRyYW5zbGF0aW9ucyBmb3IgdGhlIHNwZWNpZmllZCBsYW5ndWFnZS4gSWYgdGhlXG4gICAqIGxhbmd1YWdlIGlzIG5vdCByZWNvZ25pemVkLCBhbiBlbXB0eSB0cmFuc2xhdGlvbnMgb2JqZWN0IHdpbGwgYmUgcmV0dXJuZWQuXG4gICAqXG4gICAqIEBwYXJhbSBsYW5ndWFnZSB0aGUgbGFuZ3VhZ2UgZm9yIHdoaWNoIHRoZSB0cmFuc2xhdGlvbnMgc2hvdWxkIGJlIHJldHJpZXZlZC5cbiAgICogQHJldHVybnMgdGhlIHRyYW5zbGF0aW9ucyBmb3IgdGhlIHNwZWNpZmllZFxuICAgKiAgICAgICAgICBsYW5ndWFnZSBvciBhbiBlbXB0eSBzZXQgb2YgdHJhbnNsYXRpb25zIGlmIHRoZSBsYW5ndWFnZSBpcyBub3QgcmVjb2duaXplZC5cbiAgICovXG4gIHB1YmxpYyBnZXRUcmFuc2xhdGlvbihsYW5ndWFnZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxMYW5ndWFnZVRyYW5zbGF0aW9ucz4ge1xuICAgIHJldHVybiBvYnNlcnZhYmxlT2YodGhpcy5fdHJhbnNsYXRpb25zW2xhbmd1YWdlXSB8fCB7fSlcbiAgfVxufVxuIl19
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FakeMissingTranslationHandler, TranslateDefaultParser, TranslateFakeCompiler, TranslateModule, TranslateService, } from '@ngx-translate/core';
|
|
3
|
-
import { TestTranslateLoader } from './test.translate.loader';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
// IMPORTANT:
|
|
6
|
-
// This was copy-pasted from https://github.com/mwootendev/ngx-translate-plugins/blob/7c6c73c7d16c9519a7bafff939d29fd8ea5e574a/projects/testing/src/lib/testing.module.ts
|
|
7
|
-
// because the original package was expecting rxjs 7+ as a peer dep and that was conflicting with many other dependencies
|
|
8
|
-
// FIXME: when rxjs 7 can be used in the project, remove this and do `npm install ngx-translate-testing --save-dev`
|
|
9
|
-
/**
|
|
10
|
-
* The TranslateTestingModule provides the {TranslateModule} as well as a
|
|
11
|
-
* {TranslateService} configured to return translations specific for the
|
|
12
|
-
* test environment.
|
|
13
|
-
*
|
|
14
|
-
* @export
|
|
15
|
-
*/
|
|
16
|
-
export class TranslateTestingModule {
|
|
17
|
-
constructor() {
|
|
18
|
-
this._translations = {};
|
|
19
|
-
}
|
|
20
|
-
static withTranslations(languageOrTranslations, translations) {
|
|
21
|
-
const translateTestingModule = new TranslateTestingModule();
|
|
22
|
-
if (typeof languageOrTranslations === 'string') {
|
|
23
|
-
return translateTestingModule.withTranslations(languageOrTranslations, translations);
|
|
24
|
-
}
|
|
25
|
-
return translateTestingModule.withTranslations(languageOrTranslations);
|
|
26
|
-
}
|
|
27
|
-
get ngModule() {
|
|
28
|
-
return TranslateTestingModule;
|
|
29
|
-
}
|
|
30
|
-
get providers() {
|
|
31
|
-
const translateService = new TranslateService(null, new TestTranslateLoader(this._translations), this._compiler || new TranslateFakeCompiler(), new TranslateDefaultParser(), new FakeMissingTranslationHandler(), true, true, false, this._defaultLanguage);
|
|
32
|
-
return [
|
|
33
|
-
{
|
|
34
|
-
provide: TranslateService,
|
|
35
|
-
useValue: translateService,
|
|
36
|
-
},
|
|
37
|
-
];
|
|
38
|
-
}
|
|
39
|
-
withTranslations(languageOrTranslations, translations) {
|
|
40
|
-
if (typeof languageOrTranslations === 'string' && translations) {
|
|
41
|
-
this.addTranslations(languageOrTranslations, translations);
|
|
42
|
-
this._defaultLanguage = languageOrTranslations;
|
|
43
|
-
}
|
|
44
|
-
else if (languageOrTranslations) {
|
|
45
|
-
Object.keys(languageOrTranslations).forEach((language) => this.addTranslations(language, languageOrTranslations[language]));
|
|
46
|
-
}
|
|
47
|
-
return this;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Updates the {TranslationTestingModule} to provide a {TranslateService} that will
|
|
51
|
-
* use the provided {TranslateCompiler} to translate the test translations.
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
*
|
|
55
|
-
* TranslateTestingModule.withTranslations('en', {people: '{gender, select, male{He is} female{She is} other{They are}} {how})'})
|
|
56
|
-
* .withCompiler(new TranslateMessageFormatCompiler());
|
|
57
|
-
*
|
|
58
|
-
* @param compiler the compiler to use to compile the test translations.
|
|
59
|
-
* @returns the instance that can be used to chain additional configuration.
|
|
60
|
-
* @memberof TranslateTestingModule
|
|
61
|
-
*/
|
|
62
|
-
withCompiler(compiler) {
|
|
63
|
-
this._compiler = compiler;
|
|
64
|
-
return this;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Updates the {TranslateTestingModule} to use the provided language as the default language.
|
|
68
|
-
* By default, the default language will be set to the first language provided.
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
*
|
|
72
|
-
* TranslateTestingModule.withTranslations('es', SPANISH_TRANSLATIONS)
|
|
73
|
-
* .withTranslations('en', ENGLISH_TRANSLATIONS)
|
|
74
|
-
* .withDefaultLanguage('en');
|
|
75
|
-
*
|
|
76
|
-
* @param language the new default language for translations.
|
|
77
|
-
* @returns the instance that can be used to chain additional configuration.
|
|
78
|
-
* @memberof TranslateTestingModule
|
|
79
|
-
*/
|
|
80
|
-
withDefaultLanguage(language) {
|
|
81
|
-
this._defaultLanguage = language || this._defaultLanguage;
|
|
82
|
-
return this;
|
|
83
|
-
}
|
|
84
|
-
addTranslations(language, translations) {
|
|
85
|
-
if (!this._defaultLanguage) {
|
|
86
|
-
this._defaultLanguage = language;
|
|
87
|
-
}
|
|
88
|
-
if (this._translations[language]) {
|
|
89
|
-
this._translations[language] = {
|
|
90
|
-
...this._translations[language],
|
|
91
|
-
...translations,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
this._translations[language] = translations;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TranslateTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
99
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: TranslateTestingModule, imports: [TranslateModule], exports: [TranslateModule] }); }
|
|
100
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TranslateTestingModule, imports: [TranslateModule, TranslateModule] }); }
|
|
101
|
-
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TranslateTestingModule, decorators: [{
|
|
103
|
-
type: NgModule,
|
|
104
|
-
args: [{
|
|
105
|
-
imports: [TranslateModule],
|
|
106
|
-
exports: [TranslateModule],
|
|
107
|
-
}]
|
|
108
|
-
}] });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC50cmFuc2xhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjL2xpYi90ZXN0aW5nL3Rlc3QudHJhbnNsYXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3RCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLGdCQUFnQixHQUVqQixNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBOztBQUc3RCxhQUFhO0FBQ2IseUtBQXlLO0FBQ3pLLHlIQUF5SDtBQUN6SCxtSEFBbUg7QUFFbkg7Ozs7OztHQU1HO0FBS0gsTUFBTSxPQUFPLHNCQUFzQjtJQUpuQztRQU9VLGtCQUFhLEdBQWlCLEVBQUUsQ0FBQTtLQTJNekM7SUF6SlEsTUFBTSxDQUFDLGdCQUFnQixDQUM1QixzQkFBNkMsRUFDN0MsWUFBbUM7UUFFbkMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLHNCQUFzQixFQUFFLENBQUE7UUFFM0QsSUFBSSxPQUFPLHNCQUFzQixLQUFLLFFBQVEsRUFBRTtZQUM5QyxPQUFPLHNCQUFzQixDQUFDLGdCQUFnQixDQUNwQyxzQkFBc0IsRUFDOUIsWUFBWSxDQUNiLENBQUE7U0FDRjtRQUVELE9BQU8sc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sc0JBQXNCLENBQUE7SUFDL0IsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixNQUFNLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQzNDLElBQUksRUFDSixJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDM0MsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLHFCQUFxQixFQUFFLEVBQzdDLElBQUksc0JBQXNCLEVBQUUsRUFDNUIsSUFBSSw2QkFBNkIsRUFBRSxFQUNuQyxJQUFJLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFDTCxJQUFJLENBQUMsZ0JBQWdCLENBQ3RCLENBQUE7UUFFRCxPQUFPO1lBQ0w7Z0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsUUFBUSxFQUFFLGdCQUFnQjthQUMzQjtTQUNGLENBQUE7SUFDSCxDQUFDO0lBNkNNLGdCQUFnQixDQUNyQixzQkFBNkMsRUFDN0MsWUFBbUM7UUFFbkMsSUFBSSxPQUFPLHNCQUFzQixLQUFLLFFBQVEsSUFBSSxZQUFZLEVBQUU7WUFDOUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsQ0FBQTtZQUMxRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsc0JBQXNCLENBQUE7U0FDL0M7YUFBTSxJQUFJLHNCQUFzQixFQUFFO1lBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUN2RCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNqRSxDQUFBO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxZQUFZLENBQUMsUUFBMkI7UUFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7UUFDekIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNJLG1CQUFtQixDQUFDLFFBQWdCO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFBO1FBQ3pELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVPLGVBQWUsQ0FDckIsUUFBZ0IsRUFDaEIsWUFBa0M7UUFFbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFBO1NBQ2pDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUc7Z0JBQzdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7Z0JBQy9CLEdBQUcsWUFBWTthQUNoQixDQUFBO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsWUFBWSxDQUFBO1NBQzVDO0lBQ0gsQ0FBQzs4R0E3TVUsc0JBQXNCOytHQUF0QixzQkFBc0IsWUFIdkIsZUFBZSxhQUNmLGVBQWU7K0dBRWQsc0JBQXNCLFlBSHZCLGVBQWUsRUFDZixlQUFlOzsyRkFFZCxzQkFBc0I7a0JBSmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgRmFrZU1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsXG4gIFRyYW5zbGF0ZURlZmF1bHRQYXJzZXIsXG4gIFRyYW5zbGF0ZUZha2VDb21waWxlcixcbiAgVHJhbnNsYXRlTW9kdWxlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBUcmFuc2xhdGVDb21waWxlcixcbn0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRlc3RUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICcuL3Rlc3QudHJhbnNsYXRlLmxvYWRlcidcbmltcG9ydCB7IExhbmd1YWdlVHJhbnNsYXRpb25zLCBUcmFuc2xhdGlvbnMgfSBmcm9tICcuL3RyYW5zbGF0aW9ucy5tb2RlbCdcblxuLy8gSU1QT1JUQU5UOlxuLy8gVGhpcyB3YXMgY29weS1wYXN0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbXdvb3RlbmRldi9uZ3gtdHJhbnNsYXRlLXBsdWdpbnMvYmxvYi83YzZjNzNjN2QxNmM5NTE5YTdiYWZmZjkzOWQyOWZkOGVhNWU1NzRhL3Byb2plY3RzL3Rlc3Rpbmcvc3JjL2xpYi90ZXN0aW5nLm1vZHVsZS50c1xuLy8gYmVjYXVzZSB0aGUgb3JpZ2luYWwgcGFja2FnZSB3YXMgZXhwZWN0aW5nIHJ4anMgNysgYXMgYSBwZWVyIGRlcCBhbmQgdGhhdCB3YXMgY29uZmxpY3Rpbmcgd2l0aCBtYW55IG90aGVyIGRlcGVuZGVuY2llc1xuLy8gRklYTUU6IHdoZW4gcnhqcyA3IGNhbiBiZSB1c2VkIGluIHRoZSBwcm9qZWN0LCByZW1vdmUgdGhpcyBhbmQgZG8gYG5wbSBpbnN0YWxsIG5neC10cmFuc2xhdGUtdGVzdGluZyAtLXNhdmUtZGV2YFxuXG4vKipcbiAqIFRoZSBUcmFuc2xhdGVUZXN0aW5nTW9kdWxlIHByb3ZpZGVzIHRoZSB7VHJhbnNsYXRlTW9kdWxlfSBhcyB3ZWxsIGFzIGFcbiAqIHtUcmFuc2xhdGVTZXJ2aWNlfSBjb25maWd1cmVkIHRvIHJldHVybiB0cmFuc2xhdGlvbnMgc3BlY2lmaWMgZm9yIHRoZVxuICogdGVzdCBlbnZpcm9ubWVudC5cbiAqXG4gKiBAZXhwb3J0XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGVdLFxuICBleHBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlVGVzdGluZ01vZHVsZVxuICBpbXBsZW1lbnRzIE1vZHVsZVdpdGhQcm92aWRlcnM8VHJhbnNsYXRlVGVzdGluZ01vZHVsZT5cbntcbiAgcHJpdmF0ZSBfdHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbnMgPSB7fVxuXG4gIHByaXZhdGUgX2RlZmF1bHRMYW5ndWFnZTogc3RyaW5nXG5cbiAgcHJpdmF0ZSBfY29tcGlsZXI6IFRyYW5zbGF0ZUNvbXBpbGVyXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIHtUcmFuc2xhdGVUZXN0aW5nTW9kdWxlfSB3aXRoIHRyYW5zbGF0aW9ucyBmb3IgdGhlIHNwZWNpZmllZCBsYW5ndWFnZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogY29uc3QgRU5HTElTSF9UUkFOU0xBVElPTlMgPSB7IGdyZWV0aW5nOiAnSGVsbG8nIH07XG4gICAqIGNvbnN0IHRyYW5zbGF0ZU1vZHVsZSA9IFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGUud2l0aFRyYW5zbGF0aW9ucygnZW4nLCBFTkdMSVNIX1RSQU5TTEFUSU9OUyk7XG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGUud2l0aFRyYW5zbGF0aW9ucygnZW4nLCByZXF1aXJlKCcuLi8uLi9hc3NldHMvaTE4bi9lbi5qc29uJykpO1xuICAgKlxuICAgKiBAc3RhdGljXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBsYW5ndWFnZSB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSB0cmFuc2xhdGlvbnMuXG4gICAqIEBwYXJhbSB7VHJhbnNsYXRpb25zfSB0cmFuc2xhdGlvbnMgdGhlIHRyYW5zbGF0aW9ucyB0byBiZSB1c2VkIGluIHRoZSB0ZXN0cy5cbiAgICogQHJldHVybnMgdGhlIG5ldyBpbnN0YW5jZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGNoYWluIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbi5cbiAgICogQG1lbWJlcm9mIFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aFRyYW5zbGF0aW9ucyhcbiAgICBsYW5ndWFnZTogc3RyaW5nLFxuICAgIHRyYW5zbGF0aW9uczogTGFuZ3VhZ2VUcmFuc2xhdGlvbnNcbiAgKTogVHJhbnNsYXRlVGVzdGluZ01vZHVsZVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSB7VHJhbnNsYXRlVGVzdGluZ01vZHVsZX0gd2l0aCB0aGUgcHJvdmlkZWQgdHJhbnNsYXRpb25zLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiBjb25zdCBUUkFOU0xBVElPTlMgPSB7IGVuOiB7IGdyZWV0aW5nOiAnSGVsbG8nIH0sIGVzOiB7IGdyZWV0aW5nOiAnSG9sYScgfSB9O1xuICAgKiBjb25zdCB0cmFuc2xhdGVNb2R1bGUgPSBUcmFuc2xhdGVUZXN0aW5nTW9kdWxlLndpdGhUcmFuc2xhdGlvbnMoVFJBTlNMQVRJT05TKTtcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogVHJhbnNsYXRlVGVzdGluZ01vZHVsZS53aXRoVHJhbnNsYXRpb25zKHJlcXVpcmUoJy4vdGVzdC5pMThuLmpzb24nKSk7XG4gICAqXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHtUcmFuc2xhdGlvbnN9IHRoZSBsYW5ndWFnZSB0cmFuc2xhdGlvbnMgdGhlIHRyYW5zbGF0aW9ucyB0byBiZSB1c2VkIGluIHRoZSB0ZXN0cy5cbiAgICogQHJldHVybnMgdGhlIG5ldyBpbnN0YW5jZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGNoYWluIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbi5cbiAgICogQG1lbWJlcm9mIFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aFRyYW5zbGF0aW9ucyhcbiAgICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uc1xuICApOiBUcmFuc2xhdGVUZXN0aW5nTW9kdWxlXG5cbiAgcHVibGljIHN0YXRpYyB3aXRoVHJhbnNsYXRpb25zKFxuICAgIGxhbmd1YWdlT3JUcmFuc2xhdGlvbnM6IHN0cmluZyB8IFRyYW5zbGF0aW9ucyxcbiAgICB0cmFuc2xhdGlvbnM/OiBMYW5ndWFnZVRyYW5zbGF0aW9uc1xuICApOiBUcmFuc2xhdGVUZXN0aW5nTW9kdWxlIHtcbiAgICBjb25zdCB0cmFuc2xhdGVUZXN0aW5nTW9kdWxlID0gbmV3IFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGUoKVxuXG4gICAgaWYgKHR5cGVvZiBsYW5ndWFnZU9yVHJhbnNsYXRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRyYW5zbGF0ZVRlc3RpbmdNb2R1bGUud2l0aFRyYW5zbGF0aW9ucyhcbiAgICAgICAgPHN0cmluZz5sYW5ndWFnZU9yVHJhbnNsYXRpb25zLFxuICAgICAgICB0cmFuc2xhdGlvbnNcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNsYXRlVGVzdGluZ01vZHVsZS53aXRoVHJhbnNsYXRpb25zKGxhbmd1YWdlT3JUcmFuc2xhdGlvbnMpXG4gIH1cblxuICBwdWJsaWMgZ2V0IG5nTW9kdWxlKCkge1xuICAgIHJldHVybiBUcmFuc2xhdGVUZXN0aW5nTW9kdWxlXG4gIH1cblxuICBwdWJsaWMgZ2V0IHByb3ZpZGVycygpIHtcbiAgICBjb25zdCB0cmFuc2xhdGVTZXJ2aWNlID0gbmV3IFRyYW5zbGF0ZVNlcnZpY2UoXG4gICAgICBudWxsLFxuICAgICAgbmV3IFRlc3RUcmFuc2xhdGVMb2FkZXIodGhpcy5fdHJhbnNsYXRpb25zKSxcbiAgICAgIHRoaXMuX2NvbXBpbGVyIHx8IG5ldyBUcmFuc2xhdGVGYWtlQ29tcGlsZXIoKSxcbiAgICAgIG5ldyBUcmFuc2xhdGVEZWZhdWx0UGFyc2VyKCksXG4gICAgICBuZXcgRmFrZU1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIoKSxcbiAgICAgIHRydWUsXG4gICAgICB0cnVlLFxuICAgICAgZmFsc2UsXG4gICAgICB0aGlzLl9kZWZhdWx0TGFuZ3VhZ2VcbiAgICApXG5cbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICB1c2VWYWx1ZTogdHJhbnNsYXRlU2VydmljZSxcbiAgICAgIH0sXG4gICAgXVxuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHtUcmFuc2xhdGVUZXN0aW5nTW9kdWxlfSBpbnN0YW5jZSB3aXRoIGFkZGl0aW9uYWwgdHJhbnNsYXRpb25zLiBUaGVcbiAgICogdHJhbnNsYXRpb25zIHdpbGwgYmUgc2hhbGxvd2x5IG1lcmdlZCB3aXRoIGFueSBleGlzdGluZyB0cmFuc2xhdGlvbnMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIGNvbnN0IEVOR0xJU0hfVFJBTlNMQVRJT05TID0geyBlbjogeyBncmVldGluZzogJ0hlbGxvJyB9IH07XG4gICAqIGNvbnN0IFNQQU5JU0hfVFJBTlNMQVRJT05TID0geyBlbjogeyBncmVldGluZzogJ0hvbGEnIH0gfTtcbiAgICogY29uc3QgdHJhbnNsYXRlTW9kdWxlID0gVHJhbnNsYXRlVGVzdGluZ01vZHVsZS53aXRoVHJhbnNsYXRpb25zKEVOR0xJU0hfVFJBTlNMQVRJT05TKVxuICAgKiAgIC53aXRoVHJhbnNsYXRpb25zKFNQQU5JU0hfVFJBTlNMQVRJT05TKTtcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2xhdGlvbnN9IHRyYW5zbGF0aW9ucyB0aGUgYWRkaXRpb25hbCB0cmFuc2xhdGlvbnMgdG8gYWRkIHRvIHRoZSB0ZXN0aW5nIHNlcnZpY2UuXG4gICAqIEByZXR1cm5zIHRoZSBpbnN0YW5jZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGNoYWluIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbi5cbiAgICogQG1lbWJlcm9mIFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGVcbiAgICovXG4gIHB1YmxpYyB3aXRoVHJhbnNsYXRpb25zKHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25zKTogVHJhbnNsYXRlVGVzdGluZ01vZHVsZVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSB7VHJhbnNsYXRlVGVzdGluZ01vZHVsZX0gaW5zdGFuY2Ugd2l0aCBhZGRpdGlvbmFsIHRyYW5zbGF0aW9ucyBmb3IgYVxuICAgKiBzcGVjaWZpZWQgbGFuZ3VhZ2UuIFRoZSB0cmFuc2xhdGlvbnMgd2lsbCBiZSBzaGFsbG93bHkgbWVyZ2VkIHdpdGggYW55IGV4aXN0aW5nIHRyYW5zbGF0aW9ucy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogY29uc3QgRU5HTElTSF9UUkFOU0xBVElPTlMgPSB7IGdyZWV0aW5nOiAnSGVsbG8nIH07XG4gICAqIGNvbnN0IFNQQU5JU0hfVFJBTlNMQVRJT05TID0geyBncmVldGluZzogJ0hvbGEnIH07XG4gICAqIGNvbnN0IHRyYW5zbGF0ZU1vZHVsZSA9IFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGUud2l0aFRyYW5zbGF0aW9ucygnZW4nLCBFTkdMSVNIX1RSQU5TTEFUSU9OUylcbiAgICogICAud2l0aFRyYW5zbGF0aW9ucygnZXMnLCBTUEFOSVNIX1RSQU5TTEFUSU9OUyk7XG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGUud2l0aFRyYW5zbGF0aW9ucygnZW4nLCByZXF1aXJlKCcuLi8uLi9hc3NldHMvaTE4bi9lbi5qc29uJykpXG4gICAqICAgLndpdGhUcmFuc2xhdGlvbnMoJ2VzJywgcmVxdWlyZSgnLi4vLi4vYXNzZXRzL2kxOG4vZXMuanNvbicpKTtcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGxhbmd1YWdlIHRoZSBsYW5ndWFnZSBmb3Igd2hpY2ggdGhlIG5ldyB0cmFuc2xhdGlvbnMgYXJlIGJlaW5nIGFkZGVkLlxuICAgKiBAcGFyYW0ge0xhbmd1YWdlVHJhbnNsYXRpb25zfSB0cmFuc2xhdGlvbnMgdGhlIHRyYW5zbGF0aW9ucyBmb3IgdGhlIHNwZWNpZmllZCBsYW5ndWFnZS5cbiAgICogQHJldHVybnMgdGhlIGluc3RhbmNlIHRoYXQgY2FuIGJlIHVzZWQgdG8gY2hhaW4gYWRkaXRpb25hbCBjb25maWd1cmF0aW9uLlxuICAgKiBAbWVtYmVyb2YgVHJhbnNsYXRlVGVzdGluZ01vZHVsZVxuICAgKi9cbiAgcHVibGljIHdpdGhUcmFuc2xhdGlvbnMoXG4gICAgbGFuZ3VhZ2U6IHN0cmluZyxcbiAgICB0cmFuc2xhdGlvbnM6IExhbmd1YWdlVHJhbnNsYXRpb25zXG4gICk6IFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGVcblxuICBwdWJsaWMgd2l0aFRyYW5zbGF0aW9ucyhcbiAgICBsYW5ndWFnZU9yVHJhbnNsYXRpb25zOiBzdHJpbmcgfCBUcmFuc2xhdGlvbnMsXG4gICAgdHJhbnNsYXRpb25zPzogTGFuZ3VhZ2VUcmFuc2xhdGlvbnNcbiAgKTogVHJhbnNsYXRlVGVzdGluZ01vZHVsZSB7XG4gICAgaWYgKHR5cGVvZiBsYW5ndWFnZU9yVHJhbnNsYXRpb25zID09PSAnc3RyaW5nJyAmJiB0cmFuc2xhdGlvbnMpIHtcbiAgICAgIHRoaXMuYWRkVHJhbnNsYXRpb25zKGxhbmd1YWdlT3JUcmFuc2xhdGlvbnMsIHRyYW5zbGF0aW9ucylcbiAgICAgIHRoaXMuX2RlZmF1bHRMYW5ndWFnZSA9IGxhbmd1YWdlT3JUcmFuc2xhdGlvbnNcbiAgICB9IGVsc2UgaWYgKGxhbmd1YWdlT3JUcmFuc2xhdGlvbnMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGxhbmd1YWdlT3JUcmFuc2xhdGlvbnMpLmZvckVhY2goKGxhbmd1YWdlKSA9PlxuICAgICAgICB0aGlzLmFkZFRyYW5zbGF0aW9ucyhsYW5ndWFnZSwgbGFuZ3VhZ2VPclRyYW5zbGF0aW9uc1tsYW5ndWFnZV0pXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUge1RyYW5zbGF0aW9uVGVzdGluZ01vZHVsZX0gdG8gcHJvdmlkZSBhIHtUcmFuc2xhdGVTZXJ2aWNlfSB0aGF0IHdpbGxcbiAgICogdXNlIHRoZSBwcm92aWRlZCB7VHJhbnNsYXRlQ29tcGlsZXJ9IHRvIHRyYW5zbGF0ZSB0aGUgdGVzdCB0cmFuc2xhdGlvbnMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGUud2l0aFRyYW5zbGF0aW9ucygnZW4nLCB7cGVvcGxlOiAne2dlbmRlciwgc2VsZWN0LCBtYWxle0hlIGlzfSBmZW1hbGV7U2hlIGlzfSBvdGhlcntUaGV5IGFyZX19IHtob3d9KSd9KVxuICAgKiAgIC53aXRoQ29tcGlsZXIobmV3IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlcigpKTtcbiAgICpcbiAgICogQHBhcmFtIGNvbXBpbGVyIHRoZSBjb21waWxlciB0byB1c2UgdG8gY29tcGlsZSB0aGUgdGVzdCB0cmFuc2xhdGlvbnMuXG4gICAqIEByZXR1cm5zIHRoZSBpbnN0YW5jZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGNoYWluIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbi5cbiAgICogQG1lbWJlcm9mIFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGVcbiAgICovXG4gIHB1YmxpYyB3aXRoQ29tcGlsZXIoY29tcGlsZXI6IFRyYW5zbGF0ZUNvbXBpbGVyKTogVHJhbnNsYXRlVGVzdGluZ01vZHVsZSB7XG4gICAgdGhpcy5fY29tcGlsZXIgPSBjb21waWxlclxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUge1RyYW5zbGF0ZVRlc3RpbmdNb2R1bGV9IHRvIHVzZSB0aGUgcHJvdmlkZWQgbGFuZ3VhZ2UgYXMgdGhlIGRlZmF1bHQgbGFuZ3VhZ2UuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBkZWZhdWx0IGxhbmd1YWdlIHdpbGwgYmUgc2V0IHRvIHRoZSBmaXJzdCBsYW5ndWFnZSBwcm92aWRlZC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogVHJhbnNsYXRlVGVzdGluZ01vZHVsZS53aXRoVHJhbnNsYXRpb25zKCdlcycsIFNQQU5JU0hfVFJBTlNMQVRJT05TKVxuICAgKiAgIC53aXRoVHJhbnNsYXRpb25zKCdlbicsIEVOR0xJU0hfVFJBTlNMQVRJT05TKVxuICAgKiAgIC53aXRoRGVmYXVsdExhbmd1YWdlKCdlbicpO1xuICAgKlxuICAgKiBAcGFyYW0gbGFuZ3VhZ2UgdGhlIG5ldyBkZWZhdWx0IGxhbmd1YWdlIGZvciB0cmFuc2xhdGlvbnMuXG4gICAqIEByZXR1cm5zIHRoZSBpbnN0YW5jZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGNoYWluIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbi5cbiAgICogQG1lbWJlcm9mIFRyYW5zbGF0ZVRlc3RpbmdNb2R1bGVcbiAgICovXG4gIHB1YmxpYyB3aXRoRGVmYXVsdExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpOiBUcmFuc2xhdGVUZXN0aW5nTW9kdWxlIHtcbiAgICB0aGlzLl9kZWZhdWx0TGFuZ3VhZ2UgPSBsYW5ndWFnZSB8fCB0aGlzLl9kZWZhdWx0TGFuZ3VhZ2VcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUcmFuc2xhdGlvbnMoXG4gICAgbGFuZ3VhZ2U6IHN0cmluZyxcbiAgICB0cmFuc2xhdGlvbnM6IExhbmd1YWdlVHJhbnNsYXRpb25zXG4gICkge1xuICAgIGlmICghdGhpcy5fZGVmYXVsdExhbmd1YWdlKSB7XG4gICAgICB0aGlzLl9kZWZhdWx0TGFuZ3VhZ2UgPSBsYW5ndWFnZVxuICAgIH1cblxuICAgIGlmICh0aGlzLl90cmFuc2xhdGlvbnNbbGFuZ3VhZ2VdKSB7XG4gICAgICB0aGlzLl90cmFuc2xhdGlvbnNbbGFuZ3VhZ2VdID0ge1xuICAgICAgICAuLi50aGlzLl90cmFuc2xhdGlvbnNbbGFuZ3VhZ2VdLFxuICAgICAgICAuLi50cmFuc2xhdGlvbnMsXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3RyYW5zbGF0aW9uc1tsYW5ndWFnZV0gPSB0cmFuc2xhdGlvbnNcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
// IMPORTANT:
|
|
2
|
-
// This was copy-pasted from https://github.com/mwootendev/ngx-translate-plugins/blob/7c6c73c7d16c9519a7bafff939d29fd8ea5e574a/projects/testing/src/lib/translations.model.ts
|
|
3
|
-
// because the original package was expecting rxjs 7+ as a peer dep and that was conflicting with many other dependencies
|
|
4
|
-
// FIXME: when rxjs 7 can be used in the project, remove this and do `npm install ngx-translate-testing --save-dev`
|
|
5
|
-
export {};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjL2xpYi90ZXN0aW5nL3RyYW5zbGF0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxhQUFhO0FBQ2IsNktBQTZLO0FBQzdLLHlIQUF5SDtBQUN6SCxtSEFBbUgiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJTVBPUlRBTlQ6XG4vLyBUaGlzIHdhcyBjb3B5LXBhc3RlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9td29vdGVuZGV2L25neC10cmFuc2xhdGUtcGx1Z2lucy9ibG9iLzdjNmM3M2M3ZDE2Yzk1MTlhN2JhZmZmOTM5ZDI5ZmQ4ZWE1ZTU3NGEvcHJvamVjdHMvdGVzdGluZy9zcmMvbGliL3RyYW5zbGF0aW9ucy5tb2RlbC50c1xuLy8gYmVjYXVzZSB0aGUgb3JpZ2luYWwgcGFja2FnZSB3YXMgZXhwZWN0aW5nIHJ4anMgNysgYXMgYSBwZWVyIGRlcCBhbmQgdGhhdCB3YXMgY29uZmxpY3Rpbmcgd2l0aCBtYW55IG90aGVyIGRlcGVuZGVuY2llc1xuLy8gRklYTUU6IHdoZW4gcnhqcyA3IGNhbiBiZSB1c2VkIGluIHRoZSBwcm9qZWN0LCByZW1vdmUgdGhpcyBhbmQgZG8gYG5wbSBpbnN0YWxsIG5neC10cmFuc2xhdGUtdGVzdGluZyAtLXNhdmUtZGV2YFxuXG5leHBvcnQgZGVjbGFyZSB0eXBlIExhbmd1YWdlVHJhbnNsYXRpb24gPVxuICB8IHN0cmluZ1xuICB8IHN0cmluZ1tdXG4gIHwgeyBbdHJhbnNsYXRpb25LZXk6IHN0cmluZ106IExhbmd1YWdlVHJhbnNsYXRpb24gfVxuXG4vKipcbiAqIExhbmd1YWdlVHJhbnNsYXRpb25zIHJlcHJlc2VudHMgYSBtYXBwaW5nIGJldHdlZW4gYSB0cmFuc2xhdGlvbiBrZXkgYW5kIHRoZSB0cmFuc2xhdGlvbiBmb3IgdGhhdCBrZXlcbiAqIG9yIHRvIG5lc3RlZCB0cmFuc2xhdGlvbiBrZXlzLlxuICpcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYW5ndWFnZVRyYW5zbGF0aW9ucyB7XG4gIFt0cmFuc2xhdGlvbktleTogc3RyaW5nXTogTGFuZ3VhZ2VUcmFuc2xhdGlvblxufVxuXG4vKipcbiAqIFRyYW5zbGF0aW9ucyByZXByZXNlbnRzIGEgbWFwcGluZyBiZXR3ZWVuIGEgbGFuZ3VhZ2UgYW5kIHRoZSB0cmFuc2xhdGlvbnMgZm9yIHRoYXQgbGFuZ3VhZ2UuXG4gKlxuICogQGV4cG9ydFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9ucyB7XG4gIFtsYW5ndWFnZTogc3RyaW5nXTogTGFuZ3VhZ2VUcmFuc2xhdGlvbnNcbn1cbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { WmsEndpoint, WmsLayerFull } from '@camptocamp/ogc-client';
|
|
2
|
-
import { MapContextLayerWmsModel } from '../map-context/map-context.model';
|
|
3
|
-
import { ProxyService } from '../../../../../../libs/util/shared/src';
|
|
4
|
-
import { Observable } from 'rxjs';
|
|
5
|
-
import { Extent } from 'ol/extent';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class MapUtilsWMSService {
|
|
8
|
-
private proxy;
|
|
9
|
-
constructor(proxy: ProxyService);
|
|
10
|
-
getCapabilities(layer: MapContextLayerWmsModel): Observable<WmsEndpoint>;
|
|
11
|
-
getLayerFull(layer: MapContextLayerWmsModel): Observable<WmsLayerFull>;
|
|
12
|
-
getLayerLonLatBBox(layer: MapContextLayerWmsModel): Observable<Extent>;
|
|
13
|
-
getLonLatBBox(wmsLayerFull: WmsLayerFull): Promise<Extent>;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MapUtilsWMSService, never>;
|
|
15
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<MapUtilsWMSService>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=map-utils-wms.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"map-utils-wms.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAQ,UAAU,EAAE,MAAM,MAAM,CAAA;AAIvC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;;AAIlC,qBAGa,kBAAkB;IACjB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAEvC,eAAe,CAAC,KAAK,EAAE,uBAAuB,GAAG,UAAU,CAAC,WAAW,CAAC;IAIxE,YAAY,CAAC,KAAK,EAAE,uBAAuB,GAAG,UAAU,CAAC,YAAY,CAAC;IAMtE,kBAAkB,CAAC,KAAK,EAAE,uBAAuB;IAM3C,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;yCAnBrD,kBAAkB;6CAAlB,kBAAkB;CA0C9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/map/src/lib/utils/projections.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,UAA0B,CAAA"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record';
|
|
3
|
-
import { FileFormat } from '../../../../../../libs/util/shared/src';
|
|
4
|
-
import { SortByField } from '../../../../../../libs/common/domain/src/lib/model/search';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class RecordTableComponent {
|
|
7
|
-
selectedRecords: string[];
|
|
8
|
-
records: any[];
|
|
9
|
-
totalHits?: number;
|
|
10
|
-
sortBy?: SortByField;
|
|
11
|
-
recordClick: EventEmitter<CatalogRecord>;
|
|
12
|
-
recordsSelect: EventEmitter<CatalogRecord[]>;
|
|
13
|
-
recordsDeselect: EventEmitter<CatalogRecord[]>;
|
|
14
|
-
sortByChange: EventEmitter<SortByField>;
|
|
15
|
-
dateToString(date: Date): string;
|
|
16
|
-
getStatus(isPublishedToAll: boolean | unknown): "published" | "not published";
|
|
17
|
-
formatUserInfo(userInfo: string | unknown): string;
|
|
18
|
-
getRecordFormats(record: CatalogRecord): FileFormat[];
|
|
19
|
-
getBadgeColor(format: FileFormat): string;
|
|
20
|
-
private getOrderForColumn;
|
|
21
|
-
setSortBy(col: string): void;
|
|
22
|
-
isSortedBy(col: string, order: 'asc' | 'desc'): boolean;
|
|
23
|
-
isChecked(record: CatalogRecord): boolean;
|
|
24
|
-
handleRecordSelectedChange(selected: boolean, record: CatalogRecord): void;
|
|
25
|
-
selectAll(): void;
|
|
26
|
-
isAllSelected(): boolean;
|
|
27
|
-
isSomeSelected(): boolean;
|
|
28
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RecordTableComponent, never>;
|
|
29
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RecordTableComponent, "gn-ui-record-table", never, { "selectedRecords": { "alias": "selectedRecords"; "required": false; }; "records": { "alias": "records"; "required": false; }; "totalHits": { "alias": "totalHits"; "required": false; }; "sortBy": { "alias": "sortBy"; "required": false; }; }, { "recordClick": "recordClick"; "recordsSelect": "recordsSelect"; "recordsDeselect": "recordsDeselect"; "sortByChange": "sortByChange"; }, never, never, false, never>;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=record-table.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"record-table.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/search/src/lib/record-table/record-table.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EACL,UAAU,EAIX,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAA;;AAEvF,qBAKa,oBAAoB;IACtB,eAAe,EAAE,MAAM,EAAE,CAAK;IAC9B,OAAO,EAAE,GAAG,EAAE,CAAK;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;IACnB,WAAW,8BAAoC;IAC/C,aAAa,gCAAsC;IACnD,eAAe,gCAAsC;IACrD,YAAY,4BAAkC;IAExD,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAShC,SAAS,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO;IAI7C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAQlD,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,EAAE;IAarD,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIzC,OAAO,CAAC,iBAAiB;IAgBzB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAY5B,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO;IAKvD,SAAS,CAAC,MAAM,EAAE,aAAa;IAO/B,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAYnE,SAAS;IAYT,aAAa,IAAI,OAAO;IAYxB,cAAc,IAAI,OAAO;yCA5Hd,oBAAoB;2CAApB,oBAAoB;CAqIhC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { TranslateLoader } from '@ngx-translate/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { Translations, LanguageTranslations } from './translations.model';
|
|
4
|
-
export declare class TestTranslateLoader extends TranslateLoader {
|
|
5
|
-
private _translations;
|
|
6
|
-
constructor(_translations?: Translations);
|
|
7
|
-
/**
|
|
8
|
-
* Returns an {Observable} of translations for the specified language. If the
|
|
9
|
-
* language is not recognized, an empty translations object will be returned.
|
|
10
|
-
*
|
|
11
|
-
* @param language the language for which the translations should be retrieved.
|
|
12
|
-
* @returns the translations for the specified
|
|
13
|
-
* language or an empty set of translations if the language is not recognized.
|
|
14
|
-
*/
|
|
15
|
-
getTranslation(language: string): Observable<LanguageTranslations>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=test.translate.loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.translate.loader.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/i18n/src/lib/testing/test.translate.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAsB,MAAM,MAAM,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAOzE,qBAAa,mBAAoB,SAAQ,eAAe;IAC1C,OAAO,CAAC,aAAa;gBAAb,aAAa,GAAE,YAAiB;IAIpD;;;;;;;OAOG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC;CAG1E"}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
import { TranslateService, TranslateCompiler } from '@ngx-translate/core';
|
|
3
|
-
import { LanguageTranslations, Translations } from './translations.model';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@ngx-translate/core";
|
|
6
|
-
/**
|
|
7
|
-
* The TranslateTestingModule provides the {TranslateModule} as well as a
|
|
8
|
-
* {TranslateService} configured to return translations specific for the
|
|
9
|
-
* test environment.
|
|
10
|
-
*
|
|
11
|
-
* @export
|
|
12
|
-
*/
|
|
13
|
-
export declare class TranslateTestingModule implements ModuleWithProviders<TranslateTestingModule> {
|
|
14
|
-
private _translations;
|
|
15
|
-
private _defaultLanguage;
|
|
16
|
-
private _compiler;
|
|
17
|
-
/**
|
|
18
|
-
* Creates a new instance of the {TranslateTestingModule} with translations for the specified language.
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
*
|
|
22
|
-
* const ENGLISH_TRANSLATIONS = { greeting: 'Hello' };
|
|
23
|
-
* const translateModule = TranslateTestingModule.withTranslations('en', ENGLISH_TRANSLATIONS);
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
*
|
|
27
|
-
* TranslateTestingModule.withTranslations('en', require('../../assets/i18n/en.json'));
|
|
28
|
-
*
|
|
29
|
-
* @static
|
|
30
|
-
* @param {string} language the language for the translations.
|
|
31
|
-
* @param {Translations} translations the translations to be used in the tests.
|
|
32
|
-
* @returns the new instance that can be used to chain additional configuration.
|
|
33
|
-
* @memberof TranslateTestingModule
|
|
34
|
-
*/
|
|
35
|
-
static withTranslations(language: string, translations: LanguageTranslations): TranslateTestingModule;
|
|
36
|
-
/**
|
|
37
|
-
* Creates a new instance of the {TranslateTestingModule} with the provided translations.
|
|
38
|
-
*
|
|
39
|
-
* @example
|
|
40
|
-
*
|
|
41
|
-
* const TRANSLATIONS = { en: { greeting: 'Hello' }, es: { greeting: 'Hola' } };
|
|
42
|
-
* const translateModule = TranslateTestingModule.withTranslations(TRANSLATIONS);
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
*
|
|
46
|
-
* TranslateTestingModule.withTranslations(require('./test.i18n.json'));
|
|
47
|
-
*
|
|
48
|
-
* @static
|
|
49
|
-
* @param {Translations} the language translations the translations to be used in the tests.
|
|
50
|
-
* @returns the new instance that can be used to chain additional configuration.
|
|
51
|
-
* @memberof TranslateTestingModule
|
|
52
|
-
*/
|
|
53
|
-
static withTranslations(translations: Translations): TranslateTestingModule;
|
|
54
|
-
get ngModule(): typeof TranslateTestingModule;
|
|
55
|
-
get providers(): {
|
|
56
|
-
provide: typeof TranslateService;
|
|
57
|
-
useValue: TranslateService;
|
|
58
|
-
}[];
|
|
59
|
-
/**
|
|
60
|
-
* Updates the {TranslateTestingModule} instance with additional translations. The
|
|
61
|
-
* translations will be shallowly merged with any existing translations.
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
*
|
|
65
|
-
* const ENGLISH_TRANSLATIONS = { en: { greeting: 'Hello' } };
|
|
66
|
-
* const SPANISH_TRANSLATIONS = { en: { greeting: 'Hola' } };
|
|
67
|
-
* const translateModule = TranslateTestingModule.withTranslations(ENGLISH_TRANSLATIONS)
|
|
68
|
-
* .withTranslations(SPANISH_TRANSLATIONS);
|
|
69
|
-
*
|
|
70
|
-
* @param {Translations} translations the additional translations to add to the testing service.
|
|
71
|
-
* @returns the instance that can be used to chain additional configuration.
|
|
72
|
-
* @memberof TranslateTestingModule
|
|
73
|
-
*/
|
|
74
|
-
withTranslations(translations: Translations): TranslateTestingModule;
|
|
75
|
-
/**
|
|
76
|
-
* Updates the {TranslateTestingModule} instance with additional translations for a
|
|
77
|
-
* specified language. The translations will be shallowly merged with any existing translations.
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
*
|
|
81
|
-
* const ENGLISH_TRANSLATIONS = { greeting: 'Hello' };
|
|
82
|
-
* const SPANISH_TRANSLATIONS = { greeting: 'Hola' };
|
|
83
|
-
* const translateModule = TranslateTestingModule.withTranslations('en', ENGLISH_TRANSLATIONS)
|
|
84
|
-
* .withTranslations('es', SPANISH_TRANSLATIONS);
|
|
85
|
-
*
|
|
86
|
-
* @example
|
|
87
|
-
*
|
|
88
|
-
* TranslateTestingModule.withTranslations('en', require('../../assets/i18n/en.json'))
|
|
89
|
-
* .withTranslations('es', require('../../assets/i18n/es.json'));
|
|
90
|
-
*
|
|
91
|
-
* @param {string} language the language for which the new translations are being added.
|
|
92
|
-
* @param {LanguageTranslations} translations the translations for the specified language.
|
|
93
|
-
* @returns the instance that can be used to chain additional configuration.
|
|
94
|
-
* @memberof TranslateTestingModule
|
|
95
|
-
*/
|
|
96
|
-
withTranslations(language: string, translations: LanguageTranslations): TranslateTestingModule;
|
|
97
|
-
/**
|
|
98
|
-
* Updates the {TranslationTestingModule} to provide a {TranslateService} that will
|
|
99
|
-
* use the provided {TranslateCompiler} to translate the test translations.
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
*
|
|
103
|
-
* TranslateTestingModule.withTranslations('en', {people: '{gender, select, male{He is} female{She is} other{They are}} {how})'})
|
|
104
|
-
* .withCompiler(new TranslateMessageFormatCompiler());
|
|
105
|
-
*
|
|
106
|
-
* @param compiler the compiler to use to compile the test translations.
|
|
107
|
-
* @returns the instance that can be used to chain additional configuration.
|
|
108
|
-
* @memberof TranslateTestingModule
|
|
109
|
-
*/
|
|
110
|
-
withCompiler(compiler: TranslateCompiler): TranslateTestingModule;
|
|
111
|
-
/**
|
|
112
|
-
* Updates the {TranslateTestingModule} to use the provided language as the default language.
|
|
113
|
-
* By default, the default language will be set to the first language provided.
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
*
|
|
117
|
-
* TranslateTestingModule.withTranslations('es', SPANISH_TRANSLATIONS)
|
|
118
|
-
* .withTranslations('en', ENGLISH_TRANSLATIONS)
|
|
119
|
-
* .withDefaultLanguage('en');
|
|
120
|
-
*
|
|
121
|
-
* @param language the new default language for translations.
|
|
122
|
-
* @returns the instance that can be used to chain additional configuration.
|
|
123
|
-
* @memberof TranslateTestingModule
|
|
124
|
-
*/
|
|
125
|
-
withDefaultLanguage(language: string): TranslateTestingModule;
|
|
126
|
-
private addTranslations;
|
|
127
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TranslateTestingModule, never>;
|
|
128
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TranslateTestingModule, never, [typeof i1.TranslateModule], [typeof i1.TranslateModule]>;
|
|
129
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<TranslateTestingModule>;
|
|
130
|
-
}
|
|
131
|
-
//# sourceMappingURL=test.translate.module.d.ts.map
|