geonetwork-ui 2.6.0-dev.9df114cd4 → 2.6.0-dev.a0bd52a21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +17 -15
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +42 -6
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +8 -4
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +5 -2
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -5
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +3 -1
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +4 -12
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +79 -16
- package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +7 -1
- package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +45 -9
- package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +32 -2
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +25 -6
- package/esm2022/libs/feature/editor/src/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +273 -0
- package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/index.mjs +2 -4
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
- package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
- package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +33 -7
- package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +14 -5
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +13 -15
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
- package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
- package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
- package/esm2022/libs/feature/search/src/index.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/constants.mjs +4 -2
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +4 -4
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +13 -19
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +5 -3
- package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
- package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +30 -10
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +13 -10
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
- package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +11 -6
- package/esm2022/libs/ui/elements/src/index.mjs +5 -1
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
- package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +55 -0
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +42 -83
- package/esm2022/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.mjs +59 -0
- package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +68 -0
- package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +37 -12
- package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +5 -1
- package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +72 -0
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +17 -7
- package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +169 -0
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +26 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +3 -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 +2 -2
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
- package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
- package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +68 -0
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
- package/esm2022/libs/ui/layout/src/index.mjs +3 -1
- package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/lib/cell-popin/cell-popin.component.mjs +110 -0
- package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +25 -3
- package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
- package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +73 -0
- package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
- package/esm2022/libs/ui/map/src/index.mjs +2 -1
- package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
- package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +80 -0
- package/esm2022/libs/ui/search/src/index.mjs +3 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -8
- package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
- package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +2 -2
- package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +21 -12
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +39 -17
- package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +19 -5
- package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
- package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
- package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +42 -1
- package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +24 -2
- package/esm2022/libs/util/shared/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +16 -6
- package/esm2022/translations/de.json +75 -8
- package/esm2022/translations/en.json +77 -10
- package/esm2022/translations/es.json +74 -7
- package/esm2022/translations/fr.json +76 -9
- package/esm2022/translations/it.json +81 -14
- package/esm2022/translations/nl.json +74 -7
- package/esm2022/translations/pt.json +74 -7
- package/fesm2022/geonetwork-ui.mjs +3585 -1487
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/index.d.ts +1 -0
- package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
- package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -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/types/metadata.model.d.ts +0 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +1 -0
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +13 -2
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -0
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +23 -17
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +6 -0
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +12 -8
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +1 -0
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +5 -2
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +52 -0
- package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
- package/libs/feature/record/src/index.d.ts +1 -3
- package/libs/feature/record/src/index.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +9 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts +10 -0
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts +9 -1
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -21
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
- package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
- package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +1 -1
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
- package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
- package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +6 -5
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
- 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 +2 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +4 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +15 -0
- package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +6 -13
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts +14 -0
- package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +13 -0
- package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +3 -0
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +27 -0
- package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +8 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +31 -0
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +5 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +2 -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/inline-filter/inline-filter.component.d.ts +14 -0
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
- package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
- package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
- 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/block-list/block-list.component.d.ts +9 -2
- package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts +28 -0
- package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
- package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +5 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +22 -0
- package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
- package/libs/ui/map/src/index.d.ts +1 -0
- package/libs/ui/map/src/index.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
- package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
- package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
- package/libs/ui/search/src/index.d.ts +2 -0
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
- package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
- package/libs/ui/search/src/lib/results-list/results-list.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -3
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +10 -4
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/ui-search.module.d.ts +22 -19
- package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/i18n.constants.d.ts +1 -0
- package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/language-codes.d.ts +23 -1
- package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
- package/libs/util/shared/src/index.d.ts +1 -0
- package/libs/util/shared/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
- package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +14 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/libs/api/metadata-converter/src/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
- package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +3 -3
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +64 -6
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +13 -3
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +5 -1
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +10 -6
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +7 -4
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +2 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +3 -11
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +118 -16
- package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +11 -0
- package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +24 -11
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +6 -0
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +36 -26
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +16 -2
- package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +64 -1
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +54 -10
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +37 -0
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +27 -1
- package/src/libs/feature/editor/src/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +120 -0
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +325 -0
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
- package/src/libs/feature/record/src/index.ts +1 -3
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +16 -10
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +25 -16
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +35 -4
- package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
- package/src/libs/feature/record/src/lib/state/mdview.actions.ts +10 -0
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +27 -3
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +21 -17
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +12 -0
- package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
- package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
- package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
- package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
- package/src/libs/feature/search/src/index.ts +1 -1
- package/src/libs/feature/search/src/lib/constants.ts +3 -1
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -2
- package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -10
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +1 -0
- package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
- package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.css +0 -0
- package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
- package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +26 -5
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +13 -3
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
- package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +5 -4
- package/src/libs/ui/elements/src/index.ts +4 -0
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +38 -7
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.css +4 -0
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +13 -0
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +54 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +68 -141
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +38 -97
- package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.html +69 -0
- package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.ts +61 -0
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +11 -0
- package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +70 -0
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +5 -2
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -7
- package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +24 -7
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +2 -3
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +48 -9
- package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +4 -0
- package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +107 -0
- package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +83 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +8 -29
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +14 -1
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +110 -0
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +191 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +11 -1
- package/src/libs/ui/inputs/src/index.ts +2 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
- package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
- package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +77 -0
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +3 -4
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
- package/src/libs/ui/layout/src/index.ts +2 -0
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
- package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.html +40 -0
- package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.ts +141 -0
- package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
- package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +4 -7
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +20 -0
- package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
- package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +27 -0
- package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +91 -0
- package/src/libs/ui/layout/src/lib/ui-layout.module.ts +2 -6
- package/src/libs/ui/map/src/index.ts +1 -0
- package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
- package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
- package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
- package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
- package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts → ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts} +8 -8
- package/src/libs/ui/search/src/index.ts +2 -0
- package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +9 -81
- package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
- package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +25 -0
- package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
- package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +2 -2
- package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
- package/src/libs/ui/search/src/lib/results-list/results-list.component.ts +0 -1
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +16 -6
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +15 -11
- package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +31 -24
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +33 -14
- package/src/libs/ui/search/src/lib/ui-search.module.ts +8 -0
- package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -1
- package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
- package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
- package/src/libs/util/i18n/src/lib/i18n.constants.ts +42 -0
- package/src/libs/util/i18n/src/lib/language-codes.ts +23 -1
- package/src/libs/util/shared/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +15 -3
- package/src/libs/util/shared/src/lib/links/link-utils.ts +33 -12
- package/tailwind.base.config.js +3 -0
- package/tailwind.base.css +5 -17
- package/translations/de.json +75 -8
- package/translations/en.json +77 -10
- package/translations/es.json +74 -7
- package/translations/fr.json +76 -9
- package/translations/it.json +81 -14
- package/translations/nl.json +74 -7
- package/translations/pt.json +74 -7
- package/translations/sk.json +74 -7
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
- package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
- package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +0 -1
- package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
- package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
- package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
- package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
- package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
- package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
- package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
- /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-map-container/form-field-map-container.component.css → multilingual-panel/multilingual-panel.component.css} +0 -0
package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs
CHANGED
|
@@ -21,6 +21,10 @@ marker('record.metadata.quality.updateFrequency.success');
|
|
|
21
21
|
marker('record.metadata.quality.updateFrequency.failed');
|
|
22
22
|
marker('record.metadata.quality.organisation.success');
|
|
23
23
|
marker('record.metadata.quality.organisation.failed');
|
|
24
|
+
marker('record.metadata.quality.capabilities.success');
|
|
25
|
+
marker('record.metadata.quality.capabilities.failed');
|
|
26
|
+
marker('record.metadata.quality.source.success');
|
|
27
|
+
marker('record.metadata.quality.source.failed');
|
|
24
28
|
export class MetadataQualityItemComponent {
|
|
25
29
|
get icon() {
|
|
26
30
|
return this.value ? 'matCheck' : 'matWarningAmber';
|
|
@@ -39,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39
43
|
}], value: [{
|
|
40
44
|
type: Input
|
|
41
45
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFBOzs7QUFFN0UsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLDRDQUE0QyxDQUFDLENBQUE7QUFDcEQsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLGtEQUFrRCxDQUFDLENBQUE7QUFDMUQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7QUFDeEQsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUE7QUFDdEQsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUE7QUFDdEQsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFlL0MsTUFBTSxPQUFPLDRCQUE0QjtJQUl2QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUE7SUFDcEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sMkJBQTJCLElBQUksQ0FBQyxJQUFJLElBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFDM0IsRUFBRSxDQUFBO0lBQ0osQ0FBQzsrR0FaVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixpSUN4Q3pDLGtLQUlBLDRDRGlDWSxNQUFNLDRHQUFFLGVBQWUsaUZBQ2xCLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7OzRGQUVqRCw0QkFBNEI7a0JBUnhDLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUV0Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsaUJBQ25CLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7OEJBR25ELElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IG1hdENoZWNrLCBtYXRXYXJuaW5nQW1iZXIgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvYmFzZWxpbmUnXG5cbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudGl0bGUuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnRpdGxlLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRlc2NyaXB0aW9uLnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5kZXNjcmlwdGlvbi5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS50b3BpYy5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudG9waWMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkua2V5d29yZHMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmtleXdvcmRzLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmxlZ2FsQ29uc3RyYWludHMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmxlZ2FsQ29uc3RyYWludHMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdC5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdC5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS51cGRhdGVGcmVxdWVuY3kuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnVwZGF0ZUZyZXF1ZW5jeS5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5vcmdhbmlzYXRpb24uc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5Lm9yZ2FuaXNhdGlvbi5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5jYXBhYmlsaXRpZXMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmNhcGFiaWxpdGllcy5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5zb3VyY2Uuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnNvdXJjZS5mYWlsZWQnKVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVhbGl0eUl0ZW0ge1xuICBuYW1lOiBzdHJpbmdcbiAgdmFsdWU6IGJvb2xlYW5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLXF1YWxpdHktaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJY29uLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB2aWV3UHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgbWF0Q2hlY2ssIG1hdFdhcm5pbmdBbWJlciB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBNZXRhZGF0YVF1YWxpdHlJdGVtIHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nXG4gIEBJbnB1dCgpIHZhbHVlOiBib29sZWFuXG5cbiAgZ2V0IGljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPyAnbWF0Q2hlY2snIDogJ21hdFdhcm5pbmdBbWJlcidcbiAgfVxuXG4gIGdldCBsYWJlbEtleSgpIHtcbiAgICByZXR1cm4gYHJlY29yZC5tZXRhZGF0YS5xdWFsaXR5LiR7dGhpcy5uYW1lfS4ke1xuICAgICAgdGhpcy52YWx1ZSA/ICdzdWNjZXNzJyA6ICdmYWlsZWQnXG4gICAgfWBcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1sLTQgZmxleCBmbGV4LXJvd1wiPlxuICA8bmctaWNvbiBbbmFtZV09XCJpY29uXCIgY2xhc3M9XCJtaW4tdy1maXRcIj48L25nLWljb24+XG4gIDxwIGNsYXNzPVwibWwtMiB0ZXh0XCI+e3sgbGFiZWxLZXkgfCB0cmFuc2xhdGUgfX08L3A+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Component, ElementRef, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
5
|
+
import { ButtonComponent } from '../../../../../../../libs/ui/inputs/src';
|
|
6
|
+
import { CellPopinComponent, ExpandablePanelComponent, TruncatedTextComponent, } from '../../../../../../../libs/ui/layout/src';
|
|
7
|
+
import { CdkScrollable, ScrollingModule } from '@angular/cdk/scrolling';
|
|
8
|
+
import { provideIcons, NgIconComponent } from '@ng-icons/core';
|
|
9
|
+
import { iconoirList } from '@ng-icons/iconoir';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/common";
|
|
12
|
+
import * as i2 from "@ngx-translate/core";
|
|
13
|
+
import * as i3 from "@angular/cdk/scrolling";
|
|
14
|
+
marker('feature.catalog.attribute.type');
|
|
15
|
+
marker('feature.catalog.attribute.name');
|
|
16
|
+
marker('feature.catalog.attribute.code');
|
|
17
|
+
marker('feature.catalog.attribute.definition');
|
|
18
|
+
marker('feature.catalog.attribute.values');
|
|
19
|
+
export class FeatureCatalogListComponent {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.COLUMNS_DEFAULT = [
|
|
22
|
+
{ key: 'type', width: '17%' },
|
|
23
|
+
{ key: 'name', width: '32%' },
|
|
24
|
+
{ key: 'code', width: '17%' },
|
|
25
|
+
{ key: 'definition', width: 'minmax(0px, 1fr)' },
|
|
26
|
+
];
|
|
27
|
+
this.COLUMN_VALUES = {
|
|
28
|
+
key: 'values',
|
|
29
|
+
width: '73px',
|
|
30
|
+
class: 'text-center',
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
getColumnsDefinition(attrs) {
|
|
34
|
+
const hasValues = attrs.some((a) => a.values?.length > 0);
|
|
35
|
+
return [...this.COLUMNS_DEFAULT, ...(hasValues ? [this.COLUMN_VALUES] : [])];
|
|
36
|
+
}
|
|
37
|
+
getGridTemplateColumns(attributes) {
|
|
38
|
+
return this.getColumnsDefinition(attributes)
|
|
39
|
+
.map((col) => col.width)
|
|
40
|
+
.join(' ');
|
|
41
|
+
}
|
|
42
|
+
trackByColumn(_i, col) {
|
|
43
|
+
return col.key;
|
|
44
|
+
}
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureCatalogListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FeatureCatalogListComponent, isStandalone: true, selector: "gn-ui-feature-catalog-list", inputs: { filteredFeatureCatalog: "filteredFeatureCatalog" }, providers: [provideIcons({ iconoirList })], viewQueries: [{ propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true }, { propertyName: "scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }, { propertyName: "panelComponent", first: true, predicate: ["expanel"], descendants: true, read: ExpandablePanelComponent, static: true }], ngImport: i0, template: "<div\n cdkScrollable\n class=\"h-[562px] relative overflow-y-auto overflow-hidden\"\n data-cy=\"feat-catalog-scrollable\"\n>\n <div #scrollContainer class=\"flex flex-col gap-2 py-5 px-5\">\n <div\n *ngFor=\"let featureType of filteredFeatureCatalog?.featureTypes\"\n class=\"rounded shadow bg-white\"\n >\n <gn-ui-expandable-panel\n #expanel\n [collapsed]=\"filteredFeatureCatalog?.featureTypes?.length !== 1\"\n iconColor=\"black\"\n >\n <ng-template #titleTemplate>\n <div class=\"px-2\">\n <div class=\"text-lg font-bold\">{{ featureType.name }}</div>\n <div class=\"text-sm\" *ngIf=\"featureType.definition\">\n {{ featureType.definition }}\n </div>\n </div>\n </ng-template>\n <div\n *ngIf=\"expanel && !expanel.collapsed\"\n class=\"grid gap-0\"\n [style.grid-template-columns]=\"\n getGridTemplateColumns(featureType.attributes)\n \"\n data-cy=\"feature-type-content\"\n >\n <div\n class=\"py-1 px-2 text-sm font-bold text-left border-t break-all\"\n [class.border-l]=\"i > 0\"\n [class.border-gray-300]=\"i > 0\"\n [ngClass]=\"col.class || ''\"\n *ngFor=\"\n let col of getColumnsDefinition(featureType.attributes);\n trackBy: trackByColumn;\n let i = index\n \"\n data-test=\"column-label\"\n >\n {{ 'feature.catalog.attribute.' + col.key | translate }}\n </div>\n <ng-container *ngIf=\"expanel && !expanel.collapsed\">\n <ng-container *ngFor=\"let row of featureType.attributes\">\n <div\n class=\"bg-white text-sm font-normal text-left border-t\"\n [class.border-l]=\"i > 0\"\n [class.border-gray-300]=\"i > 0\"\n *ngFor=\"\n let col of getColumnsDefinition(featureType.attributes);\n trackBy: trackByColumn;\n let i = index\n \"\n data-test=\"cell-content\"\n >\n <ng-container\n *ngIf=\"col.key === 'values'; then tplValues; else defaultTpl\"\n ></ng-container>\n\n <ng-template #defaultTpl>\n <gn-ui-truncated-text\n [scrollContainer]=\"scrollContainer\"\n [cdkScrollContainer]=\"scrollable\"\n [text]=\"row[col.key]\"\n ></gn-ui-truncated-text>\n </ng-template>\n\n <ng-template #tplValues>\n <gn-ui-cell-popin\n #popinRef\n [scrollContainer]=\"scrollContainer\"\n [cdkScrollContainer]=\"scrollable\"\n *ngIf=\"row.values?.length > 0\"\n >\n <div cellContent data-cy=\"values-cell-popin-trigger\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"bg-transparent border-none\"\n (buttonClick)=\"popinRef.openOverlay()\"\n >\n <ng-icon name=\"iconoirList\" size=\"24\"></ng-icon>\n </gn-ui-button>\n </div>\n <div\n popinContent\n class=\"max-h-60 overflow-y-auto min-w-64 py-4 px-6\"\n style=\"scrollbar-width: thin\"\n >\n <ul class=\"list-disc list-inside mr-4\">\n <li *ngFor=\"let v of row.values\">\n {{ v.label || v.code }}\n </li>\n </ul>\n </div>\n </gn-ui-cell-popin>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </gn-ui-expandable-panel>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: CellPopinComponent, selector: "gn-ui-cell-popin", inputs: ["extraClass", "cdkScrollContainer", "scrollContainer", "activePopin"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "iconColor", "collapsed"] }, { kind: "component", type: TruncatedTextComponent, selector: "gn-ui-truncated-text", inputs: ["text", "extraClass", "scrollContainer", "cdkScrollContainer"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureCatalogListComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'gn-ui-feature-catalog-list', standalone: true, imports: [
|
|
51
|
+
ButtonComponent,
|
|
52
|
+
CellPopinComponent,
|
|
53
|
+
CommonModule,
|
|
54
|
+
TranslateModule,
|
|
55
|
+
ExpandablePanelComponent,
|
|
56
|
+
TruncatedTextComponent,
|
|
57
|
+
NgIconComponent,
|
|
58
|
+
ScrollingModule,
|
|
59
|
+
], providers: [provideIcons({ iconoirList })], template: "<div\n cdkScrollable\n class=\"h-[562px] relative overflow-y-auto overflow-hidden\"\n data-cy=\"feat-catalog-scrollable\"\n>\n <div #scrollContainer class=\"flex flex-col gap-2 py-5 px-5\">\n <div\n *ngFor=\"let featureType of filteredFeatureCatalog?.featureTypes\"\n class=\"rounded shadow bg-white\"\n >\n <gn-ui-expandable-panel\n #expanel\n [collapsed]=\"filteredFeatureCatalog?.featureTypes?.length !== 1\"\n iconColor=\"black\"\n >\n <ng-template #titleTemplate>\n <div class=\"px-2\">\n <div class=\"text-lg font-bold\">{{ featureType.name }}</div>\n <div class=\"text-sm\" *ngIf=\"featureType.definition\">\n {{ featureType.definition }}\n </div>\n </div>\n </ng-template>\n <div\n *ngIf=\"expanel && !expanel.collapsed\"\n class=\"grid gap-0\"\n [style.grid-template-columns]=\"\n getGridTemplateColumns(featureType.attributes)\n \"\n data-cy=\"feature-type-content\"\n >\n <div\n class=\"py-1 px-2 text-sm font-bold text-left border-t break-all\"\n [class.border-l]=\"i > 0\"\n [class.border-gray-300]=\"i > 0\"\n [ngClass]=\"col.class || ''\"\n *ngFor=\"\n let col of getColumnsDefinition(featureType.attributes);\n trackBy: trackByColumn;\n let i = index\n \"\n data-test=\"column-label\"\n >\n {{ 'feature.catalog.attribute.' + col.key | translate }}\n </div>\n <ng-container *ngIf=\"expanel && !expanel.collapsed\">\n <ng-container *ngFor=\"let row of featureType.attributes\">\n <div\n class=\"bg-white text-sm font-normal text-left border-t\"\n [class.border-l]=\"i > 0\"\n [class.border-gray-300]=\"i > 0\"\n *ngFor=\"\n let col of getColumnsDefinition(featureType.attributes);\n trackBy: trackByColumn;\n let i = index\n \"\n data-test=\"cell-content\"\n >\n <ng-container\n *ngIf=\"col.key === 'values'; then tplValues; else defaultTpl\"\n ></ng-container>\n\n <ng-template #defaultTpl>\n <gn-ui-truncated-text\n [scrollContainer]=\"scrollContainer\"\n [cdkScrollContainer]=\"scrollable\"\n [text]=\"row[col.key]\"\n ></gn-ui-truncated-text>\n </ng-template>\n\n <ng-template #tplValues>\n <gn-ui-cell-popin\n #popinRef\n [scrollContainer]=\"scrollContainer\"\n [cdkScrollContainer]=\"scrollable\"\n *ngIf=\"row.values?.length > 0\"\n >\n <div cellContent data-cy=\"values-cell-popin-trigger\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"bg-transparent border-none\"\n (buttonClick)=\"popinRef.openOverlay()\"\n >\n <ng-icon name=\"iconoirList\" size=\"24\"></ng-icon>\n </gn-ui-button>\n </div>\n <div\n popinContent\n class=\"max-h-60 overflow-y-auto min-w-64 py-4 px-6\"\n style=\"scrollbar-width: thin\"\n >\n <ul class=\"list-disc list-inside mr-4\">\n <li *ngFor=\"let v of row.values\">\n {{ v.label || v.code }}\n </li>\n </ul>\n </div>\n </gn-ui-cell-popin>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </gn-ui-expandable-panel>\n </div>\n </div>\n</div>\n" }]
|
|
60
|
+
}], propDecorators: { filteredFeatureCatalog: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], scrollContainer: [{
|
|
63
|
+
type: ViewChild,
|
|
64
|
+
args: ['scrollContainer']
|
|
65
|
+
}], scrollable: [{
|
|
66
|
+
type: ViewChild,
|
|
67
|
+
args: [CdkScrollable, { static: true }]
|
|
68
|
+
}], panelComponent: [{
|
|
69
|
+
type: ViewChild,
|
|
70
|
+
args: ['expanel', { read: ExpandablePanelComponent, static: true }]
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1jYXRhbG9nLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3JlY29yZC1mZWF0dXJlLWNhdGFsb2cvZmVhdHVyZS1jYXRhbG9nLWxpc3QvZmVhdHVyZS1jYXRhbG9nLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3JlY29yZC1mZWF0dXJlLWNhdGFsb2cvZmVhdHVyZS1jYXRhbG9nLWxpc3QvZmVhdHVyZS1jYXRhbG9nLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUtoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDekUsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsc0JBQXNCLEdBQ3ZCLE1BQU0seUNBQXlDLENBQUE7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7Ozs7QUFFL0MsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUE7QUF5QjFDLE1BQU0sT0FBTywyQkFBMkI7SUFqQnhDO1FBeUJXLG9CQUFlLEdBQXVCO1lBQzdDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzdCLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzdCLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzdCLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7U0FDakQsQ0FBQTtRQUVRLGtCQUFhLEdBQXFCO1lBQ3pDLEdBQUcsRUFBRSxRQUFRO1lBQ2IsS0FBSyxFQUFFLE1BQU07WUFDYixLQUFLLEVBQUUsYUFBYTtTQUNyQixDQUFBO0tBZ0JGO0lBZEMsb0JBQW9CLENBQUMsS0FBZ0M7UUFDbkQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDekQsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBRUQsc0JBQXNCLENBQUMsVUFBcUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDO2FBQ3pDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzthQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDZCxDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVUsRUFBRSxHQUFvQjtRQUM1QyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUE7SUFDaEIsQ0FBQzsrR0FsQ1UsMkJBQTJCO21HQUEzQiwyQkFBMkIsdUlBRjNCLENBQUMsWUFBWSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQywyS0FNL0IsYUFBYSxxSUFDTSx3QkFBd0IsMkNDcER4RCwraklBMkdBLDRDRHZFSSxlQUFlLCtIQUNmLGtCQUFrQiw0SUFDbEIsWUFBWSw2VkFDWixlQUFlLDRGQUNmLHdCQUF3QixnSEFDeEIsc0JBQXNCLDBJQUN0QixlQUFlLDRHQUNmLGVBQWU7OzRGQUlOLDJCQUEyQjtrQkFqQnZDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBRzFCLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCLGFBQ1UsQ0FBQyxZQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDOzhCQUdqQyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRXdCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNnQixVQUFVO3NCQUFyRCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRTFDLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgRGF0YXNldEZlYXR1cmVBdHRyaWJ1dGUsXG4gIERhdGFzZXRGZWF0dXJlQ2F0YWxvZyxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHtcbiAgQ2VsbFBvcGluQ29tcG9uZW50LFxuICBFeHBhbmRhYmxlUGFuZWxDb21wb25lbnQsXG4gIFRydW5jYXRlZFRleHRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IENka1Njcm9sbGFibGUsIFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnXG5pbXBvcnQgeyBwcm92aWRlSWNvbnMsIE5nSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgaWNvbm9pckxpc3QgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcblxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLnR5cGUnKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLm5hbWUnKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLmNvZGUnKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLmRlZmluaXRpb24nKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLnZhbHVlcycpXG5cbmludGVyZmFjZSBDb2x1bW5EZWZpbml0aW9uIHtcbiAga2V5OiBzdHJpbmdcbiAgd2lkdGg6IHN0cmluZ1xuICBjbGFzcz86IHN0cmluZ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1mZWF0dXJlLWNhdGFsb2ctbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLWNhdGFsb2ctbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ2VsbFBvcGluQ29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRXhwYW5kYWJsZVBhbmVsQ29tcG9uZW50LFxuICAgIFRydW5jYXRlZFRleHRDb21wb25lbnQsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgaWNvbm9pckxpc3QgfSldLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlQ2F0YWxvZ0xpc3RDb21wb25lbnQge1xuICBASW5wdXQoKSBmaWx0ZXJlZEZlYXR1cmVDYXRhbG9nITogRGF0YXNldEZlYXR1cmVDYXRhbG9nXG5cbiAgQFZpZXdDaGlsZCgnc2Nyb2xsQ29udGFpbmVyJykgc2Nyb2xsQ29udGFpbmVyITogRWxlbWVudFJlZlxuICBAVmlld0NoaWxkKENka1Njcm9sbGFibGUsIHsgc3RhdGljOiB0cnVlIH0pIHNjcm9sbGFibGUhOiBDZGtTY3JvbGxhYmxlXG4gIEBWaWV3Q2hpbGQoJ2V4cGFuZWwnLCB7IHJlYWQ6IEV4cGFuZGFibGVQYW5lbENvbXBvbmVudCwgc3RhdGljOiB0cnVlIH0pXG4gIHBhbmVsQ29tcG9uZW50OiBFeHBhbmRhYmxlUGFuZWxDb21wb25lbnRcblxuICByZWFkb25seSBDT0xVTU5TX0RFRkFVTFQ6IENvbHVtbkRlZmluaXRpb25bXSA9IFtcbiAgICB7IGtleTogJ3R5cGUnLCB3aWR0aDogJzE3JScgfSxcbiAgICB7IGtleTogJ25hbWUnLCB3aWR0aDogJzMyJScgfSxcbiAgICB7IGtleTogJ2NvZGUnLCB3aWR0aDogJzE3JScgfSxcbiAgICB7IGtleTogJ2RlZmluaXRpb24nLCB3aWR0aDogJ21pbm1heCgwcHgsIDFmciknIH0sXG4gIF1cblxuICByZWFkb25seSBDT0xVTU5fVkFMVUVTOiBDb2x1bW5EZWZpbml0aW9uID0ge1xuICAgIGtleTogJ3ZhbHVlcycsXG4gICAgd2lkdGg6ICc3M3B4JyxcbiAgICBjbGFzczogJ3RleHQtY2VudGVyJyxcbiAgfVxuXG4gIGdldENvbHVtbnNEZWZpbml0aW9uKGF0dHJzOiBEYXRhc2V0RmVhdHVyZUF0dHJpYnV0ZVtdKTogQ29sdW1uRGVmaW5pdGlvbltdIHtcbiAgICBjb25zdCBoYXNWYWx1ZXMgPSBhdHRycy5zb21lKChhKSA9PiBhLnZhbHVlcz8ubGVuZ3RoID4gMClcbiAgICByZXR1cm4gWy4uLnRoaXMuQ09MVU1OU19ERUZBVUxULCAuLi4oaGFzVmFsdWVzID8gW3RoaXMuQ09MVU1OX1ZBTFVFU10gOiBbXSldXG4gIH1cblxuICBnZXRHcmlkVGVtcGxhdGVDb2x1bW5zKGF0dHJpYnV0ZXM6IERhdGFzZXRGZWF0dXJlQXR0cmlidXRlW10pIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW5zRGVmaW5pdGlvbihhdHRyaWJ1dGVzKVxuICAgICAgLm1hcCgoY29sKSA9PiBjb2wud2lkdGgpXG4gICAgICAuam9pbignICcpXG4gIH1cblxuICB0cmFja0J5Q29sdW1uKF9pOiBudW1iZXIsIGNvbDogeyBrZXk6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIGNvbC5rZXlcbiAgfVxufVxuIiwiPGRpdlxuICBjZGtTY3JvbGxhYmxlXG4gIGNsYXNzPVwiaC1bNTYycHhdIHJlbGF0aXZlIG92ZXJmbG93LXktYXV0byBvdmVyZmxvdy1oaWRkZW5cIlxuICBkYXRhLWN5PVwiZmVhdC1jYXRhbG9nLXNjcm9sbGFibGVcIlxuPlxuICA8ZGl2ICNzY3JvbGxDb250YWluZXIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yIHB5LTUgcHgtNVwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBmZWF0dXJlVHlwZSBvZiBmaWx0ZXJlZEZlYXR1cmVDYXRhbG9nPy5mZWF0dXJlVHlwZXNcIlxuICAgICAgY2xhc3M9XCJyb3VuZGVkIHNoYWRvdyBiZy13aGl0ZVwiXG4gICAgPlxuICAgICAgPGduLXVpLWV4cGFuZGFibGUtcGFuZWxcbiAgICAgICAgI2V4cGFuZWxcbiAgICAgICAgW2NvbGxhcHNlZF09XCJmaWx0ZXJlZEZlYXR1cmVDYXRhbG9nPy5mZWF0dXJlVHlwZXM/Lmxlbmd0aCAhPT0gMVwiXG4gICAgICAgIGljb25Db2xvcj1cImJsYWNrXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0aXRsZVRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZyBmb250LWJvbGRcIj57eyBmZWF0dXJlVHlwZS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiICpuZ0lmPVwiZmVhdHVyZVR5cGUuZGVmaW5pdGlvblwiPlxuICAgICAgICAgICAgICB7eyBmZWF0dXJlVHlwZS5kZWZpbml0aW9uIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiZXhwYW5lbCAmJiAhZXhwYW5lbC5jb2xsYXBzZWRcIlxuICAgICAgICAgIGNsYXNzPVwiZ3JpZCBnYXAtMFwiXG4gICAgICAgICAgW3N0eWxlLmdyaWQtdGVtcGxhdGUtY29sdW1uc109XCJcbiAgICAgICAgICAgIGdldEdyaWRUZW1wbGF0ZUNvbHVtbnMoZmVhdHVyZVR5cGUuYXR0cmlidXRlcylcbiAgICAgICAgICBcIlxuICAgICAgICAgIGRhdGEtY3k9XCJmZWF0dXJlLXR5cGUtY29udGVudFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInB5LTEgcHgtMiB0ZXh0LXNtIGZvbnQtYm9sZCB0ZXh0LWxlZnQgYm9yZGVyLXQgYnJlYWstYWxsXCJcbiAgICAgICAgICAgIFtjbGFzcy5ib3JkZXItbF09XCJpID4gMFwiXG4gICAgICAgICAgICBbY2xhc3MuYm9yZGVyLWdyYXktMzAwXT1cImkgPiAwXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbC5jbGFzcyB8fCAnJ1wiXG4gICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgbGV0IGNvbCBvZiBnZXRDb2x1bW5zRGVmaW5pdGlvbihmZWF0dXJlVHlwZS5hdHRyaWJ1dGVzKTtcbiAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUNvbHVtbjtcbiAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdD1cImNvbHVtbi1sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ2ZlYXR1cmUuY2F0YWxvZy5hdHRyaWJ1dGUuJyArIGNvbC5rZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXhwYW5lbCAmJiAhZXhwYW5lbC5jb2xsYXBzZWRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBmZWF0dXJlVHlwZS5hdHRyaWJ1dGVzXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJnLXdoaXRlIHRleHQtc20gZm9udC1ub3JtYWwgdGV4dC1sZWZ0IGJvcmRlci10XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYm9yZGVyLWxdPVwiaSA+IDBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ib3JkZXItZ3JheS0zMDBdPVwiaSA+IDBcIlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgbGV0IGNvbCBvZiBnZXRDb2x1bW5zRGVmaW5pdGlvbihmZWF0dXJlVHlwZS5hdHRyaWJ1dGVzKTtcbiAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlDb2x1bW47XG4gICAgICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3Q9XCJjZWxsLWNvbnRlbnRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2wua2V5ID09PSAndmFsdWVzJzsgdGhlbiB0cGxWYWx1ZXM7IGVsc2UgZGVmYXVsdFRwbFwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VHBsPlxuICAgICAgICAgICAgICAgICAgPGduLXVpLXRydW5jYXRlZC10ZXh0XG4gICAgICAgICAgICAgICAgICAgIFtzY3JvbGxDb250YWluZXJdPVwic2Nyb2xsQ29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2Nka1Njcm9sbENvbnRhaW5lcl09XCJzY3JvbGxhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwicm93W2NvbC5rZXldXCJcbiAgICAgICAgICAgICAgICAgID48L2duLXVpLXRydW5jYXRlZC10ZXh0PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RwbFZhbHVlcz5cbiAgICAgICAgICAgICAgICAgIDxnbi11aS1jZWxsLXBvcGluXG4gICAgICAgICAgICAgICAgICAgICNwb3BpblJlZlxuICAgICAgICAgICAgICAgICAgICBbc2Nyb2xsQ29udGFpbmVyXT1cInNjcm9sbENvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgIFtjZGtTY3JvbGxDb250YWluZXJdPVwic2Nyb2xsYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicm93LnZhbHVlcz8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2VsbENvbnRlbnQgZGF0YS1jeT1cInZhbHVlcy1jZWxsLXBvcGluLXRyaWdnZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzcz1cImJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChidXR0b25DbGljayk9XCJwb3BpblJlZi5vcGVuT3ZlcmxheSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwiaWNvbm9pckxpc3RcIiBzaXplPVwiMjRcIj48L25nLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgcG9waW5Db250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXgtaC02MCBvdmVyZmxvdy15LWF1dG8gbWluLXctNjQgcHktNCBweC02XCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInNjcm9sbGJhci13aWR0aDogdGhpblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LWRpc2MgbGlzdC1pbnNpZGUgbXItNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB2IG9mIHJvdy52YWx1ZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdi5sYWJlbCB8fCB2LmNvZGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2duLXVpLWNlbGwtcG9waW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2duLXVpLWV4cGFuZGFibGUtcGFuZWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
2
2
|
import { ThumbnailComponent } from '../thumbnail/thumbnail.component';
|
|
3
|
+
import { InternalLinkCardComponent } from '../internal-link-card/internal-link-card.component';
|
|
3
4
|
import { RouterLink } from '@angular/router';
|
|
4
5
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
5
6
|
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
6
7
|
import { TranslateModule } from '@ngx-translate/core';
|
|
7
8
|
import { matOpenInNew } from '@ng-icons/material-icons/baseline';
|
|
9
|
+
import { TemplateRef } from '@angular/core';
|
|
8
10
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/material/tooltip";
|
|
10
|
-
import * as i2 from "@ngx-translate/core";
|
|
11
11
|
export class RelatedRecordCardComponent {
|
|
12
12
|
constructor() {
|
|
13
|
+
this.linkHref = null;
|
|
13
14
|
this.extraClass = '';
|
|
14
15
|
this.baseClasses = [
|
|
15
16
|
'w-72',
|
|
@@ -27,20 +28,29 @@ export class RelatedRecordCardComponent {
|
|
|
27
28
|
return `${this.baseClasses} ${this.extraClass}`;
|
|
28
29
|
}
|
|
29
30
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelatedRecordCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RelatedRecordCardComponent, isStandalone: true, selector: "gn-ui-related-record-card", inputs: { record: "record", extraClass: "extraClass" }, ngImport: i0, template: "<
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RelatedRecordCardComponent, isStandalone: true, selector: "gn-ui-related-record-card", inputs: { linkHref: "linkHref", record: "record", extraClass: "extraClass", favoriteTemplate: "favoriteTemplate", metadataQualityDisplay: "metadataQualityDisplay", size: "size" }, ngImport: i0, template: "<gn-ui-internal-link-card\n [linkHref]=\"linkHref\"\n [linkTarget]=\"'_blank'\"\n [record]=\"record\"\n [favoriteTemplate]=\"favoriteTemplate\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n [size]=\"size\"\n>\n</gn-ui-internal-link-card>\n", styles: [""], dependencies: [{ kind: "component", type: InternalLinkCardComponent, selector: "gn-ui-internal-link-card", inputs: ["record", "linkTarget", "linkHref", "metadataQualityDisplay", "favoriteTemplate", "size"], outputs: ["mdSelect"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "ngmodule", type: TranslateModule }], viewProviders: [provideIcons({ matOpenInNew })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
32
|
}
|
|
32
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelatedRecordCardComponent, decorators: [{
|
|
33
34
|
type: Component,
|
|
34
35
|
args: [{ selector: 'gn-ui-related-record-card', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
36
|
+
InternalLinkCardComponent,
|
|
35
37
|
ThumbnailComponent,
|
|
36
38
|
RouterLink,
|
|
37
39
|
MatTooltipModule,
|
|
38
40
|
NgIcon,
|
|
39
41
|
TranslateModule,
|
|
40
|
-
], standalone: true, viewProviders: [provideIcons({ matOpenInNew })], template: "<
|
|
41
|
-
}], ctorParameters: () => [], propDecorators: {
|
|
42
|
+
], standalone: true, viewProviders: [provideIcons({ matOpenInNew })], template: "<gn-ui-internal-link-card\n [linkHref]=\"linkHref\"\n [linkTarget]=\"'_blank'\"\n [record]=\"record\"\n [favoriteTemplate]=\"favoriteTemplate\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n [size]=\"size\"\n>\n</gn-ui-internal-link-card>\n" }]
|
|
43
|
+
}], ctorParameters: () => [], propDecorators: { linkHref: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], record: [{
|
|
42
46
|
type: Input
|
|
43
47
|
}], extraClass: [{
|
|
44
48
|
type: Input
|
|
49
|
+
}], favoriteTemplate: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], metadataQualityDisplay: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], size: [{
|
|
54
|
+
type: Input
|
|
45
55
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRlZC1yZWNvcmQtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvcmVsYXRlZC1yZWNvcmQtY2FyZC9yZWxhdGVkLXJlY29yZC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWxhdGVkLXJlY29yZC1jYXJkL3JlbGF0ZWQtcmVjb3JkLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFrQjNDLE1BQU0sT0FBTywwQkFBMEI7SUFVckM7UUFQUyxhQUFRLEdBQVcsSUFBSSxDQUFBO1FBRXZCLGVBQVUsR0FBRyxFQUFFLENBQUE7UUFNdEIsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixNQUFNO1lBQ04sTUFBTTtZQUNOLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1osVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixPQUFPO1lBQ1AsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtTQUNuQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNiLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDakQsQ0FBQzsrR0ExQlUsMEJBQTBCO21HQUExQiwwQkFBMEIseVFDakN2QyxpUUFTQSwwRERjSSx5QkFBeUIsK0xBR3pCLGdCQUFnQiw4QkFFaEIsZUFBZSxvQkFHRixDQUFDLFlBQVksQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7OzRGQUVwQywwQkFBMEI7a0JBaEJ0QyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCx5QkFBeUI7d0JBQ3pCLGtCQUFrQjt3QkFDbEIsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLE1BQU07d0JBQ04sZUFBZTtxQkFDaEIsY0FDVyxJQUFJLGlCQUNELENBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQzt3REFLdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICcuLi90aHVtYm5haWwvdGh1bWJuYWlsLmNvbXBvbmVudCdcbmltcG9ydCB7IEludGVybmFsTGlua0NhcmRDb21wb25lbnQgfSBmcm9tICcuLi9pbnRlcm5hbC1saW5rLWNhcmQvaW50ZXJuYWwtbGluay1jYXJkLmNvbXBvbmVudCdcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCdcbmltcG9ydCB7IE5nSWNvbiwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgbWF0T3BlbkluTmV3IH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1yZWxhdGVkLXJlY29yZC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlbGF0ZWQtcmVjb3JkLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWxhdGVkLXJlY29yZC1jYXJkLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBJbnRlcm5hbExpbmtDYXJkQ29tcG9uZW50LFxuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTmdJY29uLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdmlld1Byb3ZpZGVyczogW3Byb3ZpZGVJY29ucyh7IG1hdE9wZW5Jbk5ldyB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIFJlbGF0ZWRSZWNvcmRDYXJkQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBiYXNlQ2xhc3Nlczogc3RyaW5nXG5cbiAgQElucHV0KCkgbGlua0hyZWY6IHN0cmluZyA9IG51bGxcbiAgQElucHV0KCkgcmVjb3JkOiBDYXRhbG9nUmVjb3JkXG4gIEBJbnB1dCgpIGV4dHJhQ2xhc3MgPSAnJ1xuICBASW5wdXQoKSBmYXZvcml0ZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogQ2F0YWxvZ1JlY29yZCB9PlxuICBASW5wdXQoKSBtZXRhZGF0YVF1YWxpdHlEaXNwbGF5OiBib29sZWFuXG4gIEBJbnB1dCgpIHNpemU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYmFzZUNsYXNzZXMgPSBbXG4gICAgICAndy03MicsXG4gICAgICAnaC05NicsXG4gICAgICAnb3ZlcmZsb3ctaGlkZGVuJyxcbiAgICAgICdyb3VuZGVkLWxnJyxcbiAgICAgICdiZy13aGl0ZScsXG4gICAgICAnY3Vyc29yLXBvaW50ZXInLFxuICAgICAgJ2Jsb2NrJyxcbiAgICAgICdob3ZlcjotdHJhbnNsYXRlLXktMiAnLFxuICAgICAgJ2R1cmF0aW9uLVsxODBtc10nLFxuICAgIF0uam9pbignICcpXG4gIH1cblxuICBnZXQgY2xhc3NMaXN0KCkge1xuICAgIHJldHVybiBgJHt0aGlzLmJhc2VDbGFzc2VzfSAke3RoaXMuZXh0cmFDbGFzc31gXG4gIH1cbn1cbiIsIjxnbi11aS1pbnRlcm5hbC1saW5rLWNhcmRcbiAgW2xpbmtIcmVmXT1cImxpbmtIcmVmXCJcbiAgW2xpbmtUYXJnZXRdPVwiJ19ibGFuaydcIlxuICBbcmVjb3JkXT1cInJlY29yZFwiXG4gIFtmYXZvcml0ZVRlbXBsYXRlXT1cImZhdm9yaXRlVGVtcGxhdGVcIlxuICBbbWV0YWRhdGFRdWFsaXR5RGlzcGxheV09XCJtZXRhZGF0YVF1YWxpdHlEaXNwbGF5XCJcbiAgW3NpemVdPVwic2l6ZVwiXG4+XG48L2duLXVpLWludGVybmFsLWxpbmstY2FyZD5cbiJdfQ==
|
package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
4
|
+
import { getLayers } from '../../../../../../libs/util/shared/src';
|
|
5
|
+
import { ButtonComponent, TextInputComponent } from '../../../../../../libs/ui/inputs/src';
|
|
6
|
+
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
7
|
+
import { iconoirSearch } from '@ng-icons/iconoir';
|
|
8
|
+
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
9
|
+
import { matInfoOutline } from '@ng-icons/material-icons/outline';
|
|
10
|
+
import { PopoverComponent, SpinningLoaderComponent, } from '../../../../../../libs/ui/widgets/src';
|
|
11
|
+
import { matClose } from '@ng-icons/material-icons/baseline';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@ngx-translate/core";
|
|
14
|
+
import * as i2 from "@angular/common";
|
|
15
|
+
marker(`service.metadata.search`);
|
|
16
|
+
marker(`service.metadata.capabilities.title`);
|
|
17
|
+
marker(`service.metadata.capabilities.abstract`);
|
|
18
|
+
marker(`service.metadata.capabilities.name`);
|
|
19
|
+
marker(`service.metadata.capabilities.defaultCrs`);
|
|
20
|
+
marker(`service.metadata.capabilities.availableCrs`);
|
|
21
|
+
marker(`service.metadata.capabilities.otherCrs`);
|
|
22
|
+
marker(`service.metadata.capabilities.objectCount`);
|
|
23
|
+
marker(`service.metadata.capabilities.geometryName`);
|
|
24
|
+
marker(`service.metadata.capabilities.geometryType`);
|
|
25
|
+
marker(`service.metadata.capabilities.keywords`);
|
|
26
|
+
marker(`service.metadata.capabilities.outputFormats`);
|
|
27
|
+
marker(`service.metadata.capabilities.resourceLinks`);
|
|
28
|
+
marker(`service.metadata.capabilities.attribution`);
|
|
29
|
+
export class ServiceCapabilitiesComponent {
|
|
30
|
+
constructor(cdr, translateService) {
|
|
31
|
+
this.cdr = cdr;
|
|
32
|
+
this.translateService = translateService;
|
|
33
|
+
this.apiLinks = [];
|
|
34
|
+
this.availableLayers = [];
|
|
35
|
+
this.filteredLayers = [];
|
|
36
|
+
this.selectedLayer = null;
|
|
37
|
+
this.layerInformation = [];
|
|
38
|
+
this.searchQuery = '';
|
|
39
|
+
this.loading = false;
|
|
40
|
+
this.capabilitiesKeys = [
|
|
41
|
+
'title',
|
|
42
|
+
'abstract',
|
|
43
|
+
'name',
|
|
44
|
+
'defaultCrs',
|
|
45
|
+
'availableCrs',
|
|
46
|
+
'otherCrs',
|
|
47
|
+
'objectCount',
|
|
48
|
+
'geometryName',
|
|
49
|
+
'geometryType',
|
|
50
|
+
'keywords',
|
|
51
|
+
'outputFormats',
|
|
52
|
+
'resourceLinks',
|
|
53
|
+
'attribution',
|
|
54
|
+
];
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
this.loadLayers();
|
|
58
|
+
}
|
|
59
|
+
onSearchChange(event) {
|
|
60
|
+
const input = event.target;
|
|
61
|
+
this.searchQuery = input.value;
|
|
62
|
+
if (!input.value) {
|
|
63
|
+
this.searchActive = false;
|
|
64
|
+
this.filteredLayers = this.availableLayers;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
onSearchEnter(event) {
|
|
68
|
+
if (event.key === 'Enter') {
|
|
69
|
+
this.searchActive = true;
|
|
70
|
+
this.searchLayers();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
clearSearch() {
|
|
74
|
+
this.searchActive = false;
|
|
75
|
+
this.searchQuery = '';
|
|
76
|
+
this.filteredLayers = this.availableLayers;
|
|
77
|
+
}
|
|
78
|
+
async loadLayers() {
|
|
79
|
+
if (this.apiLinks.length > 0 &&
|
|
80
|
+
this.apiLinks[0].accessServiceProtocol !== 'ogcFeatures') {
|
|
81
|
+
this.loading = true;
|
|
82
|
+
this.availableLayers = await getLayers(this.apiLinks[0].url.href, this.apiLinks[0].accessServiceProtocol);
|
|
83
|
+
this.loading = false;
|
|
84
|
+
this.cdr.detectChanges();
|
|
85
|
+
this.filteredLayers = this.availableLayers;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this.availableLayers = [];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
selectLayer(layer) {
|
|
92
|
+
if (layer === this.selectedLayer) {
|
|
93
|
+
this.selectedLayer = null;
|
|
94
|
+
this.layerInformation = [];
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
this.selectedLayer = layer;
|
|
98
|
+
const filteredInfo = [];
|
|
99
|
+
Object.keys(layer).map((key) => {
|
|
100
|
+
if (this.capabilitiesKeys.includes(key)) {
|
|
101
|
+
const displayName = this.translateService.instant(`service.metadata.capabilities.${key}`);
|
|
102
|
+
if (key in layer && layer[key]?.length) {
|
|
103
|
+
filteredInfo.push({ displayName, value: layer[key] });
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
this.layerInformation = filteredInfo;
|
|
108
|
+
}
|
|
109
|
+
isList(value) {
|
|
110
|
+
return Array.isArray(value);
|
|
111
|
+
}
|
|
112
|
+
getExtraInputClass() {
|
|
113
|
+
if (this.searchActive) {
|
|
114
|
+
return 'h-14 border rounded-lg border-primary text-primary focus:border-primary hover:border-primary';
|
|
115
|
+
}
|
|
116
|
+
return 'h-14 border rounded-lg';
|
|
117
|
+
}
|
|
118
|
+
searchLayers() {
|
|
119
|
+
this.searchActive = true;
|
|
120
|
+
this.filteredLayers = this.availableLayers.filter((layer) => {
|
|
121
|
+
const query = this.searchQuery.toLowerCase();
|
|
122
|
+
if (layer.title) {
|
|
123
|
+
return (layer.title.toLowerCase().includes(query) ||
|
|
124
|
+
layer.abstract?.toLowerCase().includes(query));
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
return layer.name.toLowerCase().includes(query);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
if (!this.filteredLayers.includes(this.selectedLayer)) {
|
|
131
|
+
this.selectedLayer = null;
|
|
132
|
+
this.layerInformation = [];
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
getExtraClass(layerItem) {
|
|
136
|
+
return layerItem === this.selectedLayer
|
|
137
|
+
? `h-8 rounded-lg bg-primary-darker text-white hover:text-primary-darker hover:bg-white`
|
|
138
|
+
: `h-8 rounded-lg`;
|
|
139
|
+
}
|
|
140
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServiceCapabilitiesComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ServiceCapabilitiesComponent, isStandalone: true, selector: "gn-ui-service-capabilities", inputs: { apiLinks: "apiLinks" }, ngImport: i0, template: "<div style=\"height: 652px\" id=\"preview\" *ngIf=\"apiLinks.length > 0\">\n <div class=\"bg-primary-opacity-10 overflow-visible\" style=\"height: 420px\">\n <div class=\"container-lg px-4 lg:mx-auto\">\n <div>\n <div class=\"gn-ui-section-title mb-6\" translate>\n service.metadata.capabilities\n </div>\n <div\n *ngIf=\"loading\"\n class=\"flex justify-center w-full h-[200px] items-center\"\n >\n <gn-ui-spinning-loader></gn-ui-spinning-loader>\n </div>\n <div *ngIf=\"!loading\">\n <div class=\"flex flex-row gap-5\">\n <div class=\"h-14 md:w-2/5 w-full mb-4 flex flex-row relative\">\n <gn-ui-text-input\n class=\"w-full\"\n [(value)]=\"searchQuery\"\n [extraClass]=\"getExtraInputClass()\"\n [placeholder]=\"'service.metadata.search' | translate\"\n (input)=\"onSearchChange($event)\"\n (keydown.enter)=\"onSearchEnter($event)\"\n >\n </gn-ui-text-input>\n <div\n class=\"absolute right-14 h-14 w-14 flex items-center justify-center\"\n >\n <button\n #inputBtn\n *ngIf=\"searchQuery\"\n [aria-label]=\"'service.metadata.search.clear' | translate\"\n (click)=\"clearSearch()\"\n class=\"h-12 w-12 border-0 flex items-center justify-center\"\n >\n <ng-icon name=\"matClose\"></ng-icon>\n </button>\n </div>\n <div class=\"border-l absolute border-gray-200 right-0 h-14 w-14\">\n <gn-ui-button\n #inputBtn\n type=\"outline\"\n extraClass=\"h-12 w-12 border-0 absolute right-1 top-1 bg-white\"\n (buttonClick)=\"searchLayers()\"\n >\n <ng-icon name=\"iconoirSearch\"></ng-icon>\n </gn-ui-button>\n </div>\n </div>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light\"\n class=\"w-14 h-14 border border-gray-300 rounded-lg flex justify-center items-center\"\n >\n <ng-icon name=\"matInfoOutline\" class=\"w-6 h-6 pt-0.5\"></ng-icon>\n </gn-ui-popover>\n </div>\n <div\n style=\"height: 500px\"\n class=\"bg-white shadow-xl rounded p-0 flex md:flex-row flex-col\"\n >\n <div\n class=\"flex flex-col gap-2 bg-gray-100 md:w-1/2 md:h-full w-full h-1/2 rounded-l overflow-y-auto py-5 pr-1 pl-3\"\n data-test=\"layer-list\"\n >\n <gn-ui-button\n *ngFor=\"let layerItem of filteredLayers\"\n type=\"outline\"\n [extraClass]=\"getExtraClass(layerItem)\"\n (buttonClick)=\"selectLayer(layerItem)\"\n >\n {{ layerItem.title || layerItem.name }}\n </gn-ui-button>\n <span *ngIf=\"filteredLayers.length === 0\" class=\"text-gray-800\">\n {{ 'service.metadata.filter.noLayers' | translate }}\n </span>\n </div>\n <div\n data-test=\"layer-information\"\n class=\"flex flex-col gap-4 md:h-full md:w-1/2 w-full h-1/2 py-5 px-10 overflow-y-auto\"\n >\n <div\n *ngFor=\"let item of layerInformation\"\n class=\"flex flex-row gap-4 border-b border-gray-200\"\n >\n <span class=\"font-semibold w-24\">{{ item.displayName }}</span>\n <div *ngIf=\"isList(item.value)\">\n <div\n *ngFor=\"let subItem of item.value\"\n class=\"flex flex-row break-words max-w-72\"\n >\n {{ subItem }}\n </div>\n </div>\n <div class=\"break-words max-w-72\" *ngIf=\"!isList(item.value)\">\n {{ item.value }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div translate>service.metadata.filter</div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: SpinningLoaderComponent, selector: "gn-ui-spinning-loader" }], viewProviders: [
|
|
142
|
+
provideIcons({
|
|
143
|
+
iconoirSearch,
|
|
144
|
+
matInfoOutline,
|
|
145
|
+
matClose,
|
|
146
|
+
}),
|
|
147
|
+
] }); }
|
|
148
|
+
}
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServiceCapabilitiesComponent, decorators: [{
|
|
150
|
+
type: Component,
|
|
151
|
+
args: [{ selector: 'gn-ui-service-capabilities', standalone: true, imports: [
|
|
152
|
+
CommonModule,
|
|
153
|
+
TranslateModule,
|
|
154
|
+
ButtonComponent,
|
|
155
|
+
TextInputComponent,
|
|
156
|
+
NgIcon,
|
|
157
|
+
PopoverComponent,
|
|
158
|
+
SpinningLoaderComponent,
|
|
159
|
+
], viewProviders: [
|
|
160
|
+
provideIcons({
|
|
161
|
+
iconoirSearch,
|
|
162
|
+
matInfoOutline,
|
|
163
|
+
matClose,
|
|
164
|
+
}),
|
|
165
|
+
], template: "<div style=\"height: 652px\" id=\"preview\" *ngIf=\"apiLinks.length > 0\">\n <div class=\"bg-primary-opacity-10 overflow-visible\" style=\"height: 420px\">\n <div class=\"container-lg px-4 lg:mx-auto\">\n <div>\n <div class=\"gn-ui-section-title mb-6\" translate>\n service.metadata.capabilities\n </div>\n <div\n *ngIf=\"loading\"\n class=\"flex justify-center w-full h-[200px] items-center\"\n >\n <gn-ui-spinning-loader></gn-ui-spinning-loader>\n </div>\n <div *ngIf=\"!loading\">\n <div class=\"flex flex-row gap-5\">\n <div class=\"h-14 md:w-2/5 w-full mb-4 flex flex-row relative\">\n <gn-ui-text-input\n class=\"w-full\"\n [(value)]=\"searchQuery\"\n [extraClass]=\"getExtraInputClass()\"\n [placeholder]=\"'service.metadata.search' | translate\"\n (input)=\"onSearchChange($event)\"\n (keydown.enter)=\"onSearchEnter($event)\"\n >\n </gn-ui-text-input>\n <div\n class=\"absolute right-14 h-14 w-14 flex items-center justify-center\"\n >\n <button\n #inputBtn\n *ngIf=\"searchQuery\"\n [aria-label]=\"'service.metadata.search.clear' | translate\"\n (click)=\"clearSearch()\"\n class=\"h-12 w-12 border-0 flex items-center justify-center\"\n >\n <ng-icon name=\"matClose\"></ng-icon>\n </button>\n </div>\n <div class=\"border-l absolute border-gray-200 right-0 h-14 w-14\">\n <gn-ui-button\n #inputBtn\n type=\"outline\"\n extraClass=\"h-12 w-12 border-0 absolute right-1 top-1 bg-white\"\n (buttonClick)=\"searchLayers()\"\n >\n <ng-icon name=\"iconoirSearch\"></ng-icon>\n </gn-ui-button>\n </div>\n </div>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light\"\n class=\"w-14 h-14 border border-gray-300 rounded-lg flex justify-center items-center\"\n >\n <ng-icon name=\"matInfoOutline\" class=\"w-6 h-6 pt-0.5\"></ng-icon>\n </gn-ui-popover>\n </div>\n <div\n style=\"height: 500px\"\n class=\"bg-white shadow-xl rounded p-0 flex md:flex-row flex-col\"\n >\n <div\n class=\"flex flex-col gap-2 bg-gray-100 md:w-1/2 md:h-full w-full h-1/2 rounded-l overflow-y-auto py-5 pr-1 pl-3\"\n data-test=\"layer-list\"\n >\n <gn-ui-button\n *ngFor=\"let layerItem of filteredLayers\"\n type=\"outline\"\n [extraClass]=\"getExtraClass(layerItem)\"\n (buttonClick)=\"selectLayer(layerItem)\"\n >\n {{ layerItem.title || layerItem.name }}\n </gn-ui-button>\n <span *ngIf=\"filteredLayers.length === 0\" class=\"text-gray-800\">\n {{ 'service.metadata.filter.noLayers' | translate }}\n </span>\n </div>\n <div\n data-test=\"layer-information\"\n class=\"flex flex-col gap-4 md:h-full md:w-1/2 w-full h-1/2 py-5 px-10 overflow-y-auto\"\n >\n <div\n *ngFor=\"let item of layerInformation\"\n class=\"flex flex-row gap-4 border-b border-gray-200\"\n >\n <span class=\"font-semibold w-24\">{{ item.displayName }}</span>\n <div *ngIf=\"isList(item.value)\">\n <div\n *ngFor=\"let subItem of item.value\"\n class=\"flex flex-row break-words max-w-72\"\n >\n {{ subItem }}\n </div>\n </div>\n <div class=\"break-words max-w-72\" *ngIf=\"!isList(item.value)\">\n {{ item.value }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div translate>service.metadata.filter</div>\n </div>\n</ng-template>\n" }]
|
|
166
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }], propDecorators: { apiLinks: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}] } });
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jYXBhYmlsaXRpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3NlcnZpY2UtY2FwYWJpbGl0aWVzL3NlcnZpY2UtY2FwYWJpbGl0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9zZXJ2aWNlLWNhcGFiaWxpdGllcy9zZXJ2aWNlLWNhcGFiaWxpdGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDMUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixHQUN4QixNQUFNLHVDQUF1QyxDQUFBO0FBTTlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTs7OztBQUU1RCxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQTtBQUNqQyxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQTtBQUM3QyxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtBQUM1QyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQTtBQUNwRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtBQUNuRCxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQTtBQUNwRCxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQTtBQUNwRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtBQXdCbkQsTUFBTSxPQUFPLDRCQUE0QjtJQTBCdkMsWUFDVSxHQUFzQixFQUN0QixnQkFBa0M7UUFEbEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNCbkMsYUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUN0QixvQkFBZSxHQUFHLEVBQUUsQ0FBQTtRQUNwQixtQkFBYyxHQUFHLEVBQUUsQ0FBQTtRQUNuQixrQkFBYSxHQUFHLElBQUksQ0FBQTtRQUNwQixxQkFBZ0IsR0FBRyxFQUFFLENBQUE7UUFDckIsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFDaEIsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUdmLHFCQUFnQixHQUFHO1lBQ2pCLE9BQU87WUFDUCxVQUFVO1lBQ1YsTUFBTTtZQUNOLFlBQVk7WUFDWixjQUFjO1lBQ2QsVUFBVTtZQUNWLGFBQWE7WUFDYixjQUFjO1lBQ2QsY0FBYztZQUNkLFVBQVU7WUFDVixlQUFlO1lBQ2YsZUFBZTtZQUNmLGFBQWE7U0FDZCxDQUFBO0lBS0UsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFZO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFBO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQTtRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFBO1lBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQTtRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7WUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFBO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFBO1FBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsS0FBSyxhQUFhLEVBQ3hELENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtZQUNuQixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sU0FBUyxDQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQ3ZDLENBQUE7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtZQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO1lBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQTtRQUM1QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFBO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW9EO1FBQzlELElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQTtZQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO1lBQzFCLE9BQU07UUFDUixDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7UUFDMUIsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFBO1FBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQy9DLGlDQUFpQyxHQUFHLEVBQUUsQ0FDdkMsQ0FBQTtnQkFDRCxJQUFJLEdBQUcsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUN2QyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO2dCQUN2RCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQTtJQUN0QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQXdCO1FBQzdCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE9BQU8sOEZBQThGLENBQUE7UUFDdkcsQ0FBQztRQUNELE9BQU8sd0JBQXdCLENBQUE7SUFDakMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUM1QyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxDQUNMLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztvQkFDekMsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQzlDLENBQUE7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNqRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUE7WUFDekIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUFTO1FBQ3JCLE9BQU8sU0FBUyxLQUFLLElBQUksQ0FBQyxhQUFhO1lBQ3JDLENBQUMsQ0FBQyxzRkFBc0Y7WUFDeEYsQ0FBQyxDQUFDLGdCQUFnQixDQUFBO0lBQ3RCLENBQUM7K0dBcElVLDRCQUE0QjttR0FBNUIsNEJBQTRCLHdIQ3pEekMsbTVJQThHQSx5RER2RUksWUFBWSwrUEFDWixlQUFlLG1PQUNmLGVBQWUsK0hBQ2Ysa0JBQWtCLCtKQUNsQixNQUFNLDZHQUNOLGdCQUFnQix3RkFDaEIsdUJBQXVCLHVEQUVWO1lBQ2IsWUFBWSxDQUFDO2dCQUNYLGFBQWE7Z0JBQ2IsY0FBYztnQkFDZCxRQUFRO2FBQ1QsQ0FBQztTQUNIOzs0RkFJVSw0QkFBNEI7a0JBdEJ4QyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixNQUFNO3dCQUNOLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3FCQUN4QixpQkFDYzt3QkFDYixZQUFZLENBQUM7NEJBQ1gsYUFBYTs0QkFDYixjQUFjOzRCQUNkLFFBQVE7eUJBQ1QsQ0FBQztxQkFDSDtxSEFLUSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgZ2V0TGF5ZXJzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQsIFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IE5nSWNvbiwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBpY29ub2lyU2VhcmNoIH0gZnJvbSAnQG5nLWljb25zL2ljb25vaXInXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBtYXRJbmZvT3V0bGluZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9vdXRsaW5lJ1xuaW1wb3J0IHtcbiAgUG9wb3ZlckNvbXBvbmVudCxcbiAgU3Bpbm5pbmdMb2FkZXJDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQge1xuICBXZnNGZWF0dXJlVHlwZUZ1bGwsXG4gIFdtc0xheWVyRnVsbCxcbiAgV210c0xheWVyLFxufSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgbWF0Q2xvc2UgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvYmFzZWxpbmUnXG5cbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5zZWFyY2hgKVxubWFya2VyKGBzZXJ2aWNlLm1ldGFkYXRhLmNhcGFiaWxpdGllcy50aXRsZWApXG5tYXJrZXIoYHNlcnZpY2UubWV0YWRhdGEuY2FwYWJpbGl0aWVzLmFic3RyYWN0YClcbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5jYXBhYmlsaXRpZXMubmFtZWApXG5tYXJrZXIoYHNlcnZpY2UubWV0YWRhdGEuY2FwYWJpbGl0aWVzLmRlZmF1bHRDcnNgKVxubWFya2VyKGBzZXJ2aWNlLm1ldGFkYXRhLmNhcGFiaWxpdGllcy5hdmFpbGFibGVDcnNgKVxubWFya2VyKGBzZXJ2aWNlLm1ldGFkYXRhLmNhcGFiaWxpdGllcy5vdGhlckNyc2ApXG5tYXJrZXIoYHNlcnZpY2UubWV0YWRhdGEuY2FwYWJpbGl0aWVzLm9iamVjdENvdW50YClcbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5jYXBhYmlsaXRpZXMuZ2VvbWV0cnlOYW1lYClcbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5jYXBhYmlsaXRpZXMuZ2VvbWV0cnlUeXBlYClcbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5jYXBhYmlsaXRpZXMua2V5d29yZHNgKVxubWFya2VyKGBzZXJ2aWNlLm1ldGFkYXRhLmNhcGFiaWxpdGllcy5vdXRwdXRGb3JtYXRzYClcbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5jYXBhYmlsaXRpZXMucmVzb3VyY2VMaW5rc2ApXG5tYXJrZXIoYHNlcnZpY2UubWV0YWRhdGEuY2FwYWJpbGl0aWVzLmF0dHJpYnV0aW9uYClcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktc2VydmljZS1jYXBhYmlsaXRpZXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIE5nSWNvbixcbiAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgIFNwaW5uaW5nTG9hZGVyQ29tcG9uZW50LFxuICBdLFxuICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIGljb25vaXJTZWFyY2gsXG4gICAgICBtYXRJbmZvT3V0bGluZSxcbiAgICAgIG1hdENsb3NlLFxuICAgIH0pLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VydmljZS1jYXBhYmlsaXRpZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VydmljZS1jYXBhYmlsaXRpZXMuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VDYXBhYmlsaXRpZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBhcGlMaW5rcyA9IFtdXG4gIGF2YWlsYWJsZUxheWVycyA9IFtdXG4gIGZpbHRlcmVkTGF5ZXJzID0gW11cbiAgc2VsZWN0ZWRMYXllciA9IG51bGxcbiAgbGF5ZXJJbmZvcm1hdGlvbiA9IFtdXG4gIHNlYXJjaFF1ZXJ5ID0gJydcbiAgbG9hZGluZyA9IGZhbHNlXG4gIHNlYXJjaEFjdGl2ZVxuXG4gIGNhcGFiaWxpdGllc0tleXMgPSBbXG4gICAgJ3RpdGxlJyxcbiAgICAnYWJzdHJhY3QnLFxuICAgICduYW1lJyxcbiAgICAnZGVmYXVsdENycycsXG4gICAgJ2F2YWlsYWJsZUNycycsXG4gICAgJ290aGVyQ3JzJyxcbiAgICAnb2JqZWN0Q291bnQnLFxuICAgICdnZW9tZXRyeU5hbWUnLFxuICAgICdnZW9tZXRyeVR5cGUnLFxuICAgICdrZXl3b3JkcycsXG4gICAgJ291dHB1dEZvcm1hdHMnLFxuICAgICdyZXNvdXJjZUxpbmtzJyxcbiAgICAnYXR0cmlidXRpb24nLFxuICBdXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkTGF5ZXJzKClcbiAgfVxuXG4gIG9uU2VhcmNoQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnRcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5ID0gaW5wdXQudmFsdWVcbiAgICBpZiAoIWlucHV0LnZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaEFjdGl2ZSA9IGZhbHNlXG4gICAgICB0aGlzLmZpbHRlcmVkTGF5ZXJzID0gdGhpcy5hdmFpbGFibGVMYXllcnNcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaEVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgdGhpcy5zZWFyY2hBY3RpdmUgPSB0cnVlXG4gICAgICB0aGlzLnNlYXJjaExheWVycygpXG4gICAgfVxuICB9XG5cbiAgY2xlYXJTZWFyY2goKSB7XG4gICAgdGhpcy5zZWFyY2hBY3RpdmUgPSBmYWxzZVxuICAgIHRoaXMuc2VhcmNoUXVlcnkgPSAnJ1xuICAgIHRoaXMuZmlsdGVyZWRMYXllcnMgPSB0aGlzLmF2YWlsYWJsZUxheWVyc1xuICB9XG5cbiAgYXN5bmMgbG9hZExheWVycygpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmFwaUxpbmtzLmxlbmd0aCA+IDAgJiZcbiAgICAgIHRoaXMuYXBpTGlua3NbMF0uYWNjZXNzU2VydmljZVByb3RvY29sICE9PSAnb2djRmVhdHVyZXMnXG4gICAgKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICB0aGlzLmF2YWlsYWJsZUxheWVycyA9IGF3YWl0IGdldExheWVycyhcbiAgICAgICAgdGhpcy5hcGlMaW5rc1swXS51cmwuaHJlZixcbiAgICAgICAgdGhpcy5hcGlMaW5rc1swXS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2xcbiAgICAgIClcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICAgIHRoaXMuZmlsdGVyZWRMYXllcnMgPSB0aGlzLmF2YWlsYWJsZUxheWVyc1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZUxheWVycyA9IFtdXG4gICAgfVxuICB9XG5cbiAgc2VsZWN0TGF5ZXIobGF5ZXI6IFdmc0ZlYXR1cmVUeXBlRnVsbCB8IFdtc0xheWVyRnVsbCB8IFdtdHNMYXllcikge1xuICAgIGlmIChsYXllciA9PT0gdGhpcy5zZWxlY3RlZExheWVyKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGF5ZXIgPSBudWxsXG4gICAgICB0aGlzLmxheWVySW5mb3JtYXRpb24gPSBbXVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZExheWVyID0gbGF5ZXJcbiAgICBjb25zdCBmaWx0ZXJlZEluZm8gPSBbXVxuICAgIE9iamVjdC5rZXlzKGxheWVyKS5tYXAoKGtleSkgPT4ge1xuICAgICAgaWYgKHRoaXMuY2FwYWJpbGl0aWVzS2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgYHNlcnZpY2UubWV0YWRhdGEuY2FwYWJpbGl0aWVzLiR7a2V5fWBcbiAgICAgICAgKVxuICAgICAgICBpZiAoa2V5IGluIGxheWVyICYmIGxheWVyW2tleV0/Lmxlbmd0aCkge1xuICAgICAgICAgIGZpbHRlcmVkSW5mby5wdXNoKHsgZGlzcGxheU5hbWUsIHZhbHVlOiBsYXllcltrZXldIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5sYXllckluZm9ybWF0aW9uID0gZmlsdGVyZWRJbmZvXG4gIH1cblxuICBpc0xpc3QodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gIH1cblxuICBnZXRFeHRyYUlucHV0Q2xhc3MoKSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoQWN0aXZlKSB7XG4gICAgICByZXR1cm4gJ2gtMTQgYm9yZGVyIHJvdW5kZWQtbGcgYm9yZGVyLXByaW1hcnkgdGV4dC1wcmltYXJ5IGZvY3VzOmJvcmRlci1wcmltYXJ5IGhvdmVyOmJvcmRlci1wcmltYXJ5J1xuICAgIH1cbiAgICByZXR1cm4gJ2gtMTQgYm9yZGVyIHJvdW5kZWQtbGcnXG4gIH1cblxuICBzZWFyY2hMYXllcnMoKSB7XG4gICAgdGhpcy5zZWFyY2hBY3RpdmUgPSB0cnVlXG4gICAgdGhpcy5maWx0ZXJlZExheWVycyA9IHRoaXMuYXZhaWxhYmxlTGF5ZXJzLmZpbHRlcigobGF5ZXIpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpXG4gICAgICBpZiAobGF5ZXIudGl0bGUpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBsYXllci50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KSB8fFxuICAgICAgICAgIGxheWVyLmFic3RyYWN0Py50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KVxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbGF5ZXIubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KVxuICAgICAgfVxuICAgIH0pXG4gICAgaWYgKCF0aGlzLmZpbHRlcmVkTGF5ZXJzLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWRMYXllcikpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMYXllciA9IG51bGxcbiAgICAgIHRoaXMubGF5ZXJJbmZvcm1hdGlvbiA9IFtdXG4gICAgfVxuICB9XG5cbiAgZ2V0RXh0cmFDbGFzcyhsYXllckl0ZW0pIHtcbiAgICByZXR1cm4gbGF5ZXJJdGVtID09PSB0aGlzLnNlbGVjdGVkTGF5ZXJcbiAgICAgID8gYGgtOCByb3VuZGVkLWxnIGJnLXByaW1hcnktZGFya2VyIHRleHQtd2hpdGUgaG92ZXI6dGV4dC1wcmltYXJ5LWRhcmtlciBob3ZlcjpiZy13aGl0ZWBcbiAgICAgIDogYGgtOCByb3VuZGVkLWxnYFxuICB9XG59XG4iLCI8ZGl2IHN0eWxlPVwiaGVpZ2h0OiA2NTJweFwiIGlkPVwicHJldmlld1wiICpuZ0lmPVwiYXBpTGlua3MubGVuZ3RoID4gMFwiPlxuICA8ZGl2IGNsYXNzPVwiYmctcHJpbWFyeS1vcGFjaXR5LTEwIG92ZXJmbG93LXZpc2libGVcIiBzdHlsZT1cImhlaWdodDogNDIwcHhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxnIHB4LTQgbGc6bXgtYXV0b1wiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImduLXVpLXNlY3Rpb24tdGl0bGUgbWItNlwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICBzZXJ2aWNlLm1ldGFkYXRhLmNhcGFiaWxpdGllc1xuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIHctZnVsbCBoLVsyMDBweF0gaXRlbXMtY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxnbi11aS1zcGlubmluZy1sb2FkZXI+PC9nbi11aS1zcGlubmluZy1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtNVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTQgbWQ6dy0yLzUgdy1mdWxsIG1iLTQgZmxleCBmbGV4LXJvdyByZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICA8Z24tdWktdGV4dC1pbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJzZWFyY2hRdWVyeVwiXG4gICAgICAgICAgICAgICAgW2V4dHJhQ2xhc3NdPVwiZ2V0RXh0cmFJbnB1dENsYXNzKClcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VydmljZS5tZXRhZGF0YS5zZWFyY2gnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25TZWFyY2hDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TZWFyY2hFbnRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2duLXVpLXRleHQtaW5wdXQ+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHJpZ2h0LTE0IGgtMTQgdy0xNCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAjaW5wdXRCdG5cbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoUXVlcnlcIlxuICAgICAgICAgICAgICAgICAgW2FyaWEtbGFiZWxdPVwiJ3NlcnZpY2UubWV0YWRhdGEuc2VhcmNoLmNsZWFyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImgtMTIgdy0xMiBib3JkZXItMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdENsb3NlXCI+PC9uZy1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1sIGFic29sdXRlIGJvcmRlci1ncmF5LTIwMCByaWdodC0wIGgtMTQgdy0xNFwiPlxuICAgICAgICAgICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICAgICAgICAgICNpbnB1dEJ0blxuICAgICAgICAgICAgICAgICAgdHlwZT1cIm91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzcz1cImgtMTIgdy0xMiBib3JkZXItMCBhYnNvbHV0ZSByaWdodC0xIHRvcC0xIGJnLXdoaXRlXCJcbiAgICAgICAgICAgICAgICAgIChidXR0b25DbGljayk9XCJzZWFyY2hMYXllcnMoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG5nLWljb24gbmFtZT1cImljb25vaXJTZWFyY2hcIj48L25nLWljb24+XG4gICAgICAgICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8Z24tdWktcG9wb3ZlclxuICAgICAgICAgICAgICBbY29udGVudF09XCJwb3BvdmVySXRlbXNcIlxuICAgICAgICAgICAgICB0aGVtZT1cImxpZ2h0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LTE0IGgtMTQgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIGZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdEluZm9PdXRsaW5lXCIgY2xhc3M9XCJ3LTYgaC02IHB0LTAuNVwiPjwvbmctaWNvbj5cbiAgICAgICAgICAgIDwvZ24tdWktcG9wb3Zlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBzdHlsZT1cImhlaWdodDogNTAwcHhcIlxuICAgICAgICAgICAgY2xhc3M9XCJiZy13aGl0ZSBzaGFkb3cteGwgcm91bmRlZCBwLTAgZmxleCBtZDpmbGV4LXJvdyBmbGV4LWNvbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTIgYmctZ3JheS0xMDAgbWQ6dy0xLzIgbWQ6aC1mdWxsIHctZnVsbCBoLTEvMiByb3VuZGVkLWwgb3ZlcmZsb3cteS1hdXRvIHB5LTUgcHItMSBwbC0zXCJcbiAgICAgICAgICAgICAgZGF0YS10ZXN0PVwibGF5ZXItbGlzdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGF5ZXJJdGVtIG9mIGZpbHRlcmVkTGF5ZXJzXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgW2V4dHJhQ2xhc3NdPVwiZ2V0RXh0cmFDbGFzcyhsYXllckl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwic2VsZWN0TGF5ZXIobGF5ZXJJdGVtKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBsYXllckl0ZW0udGl0bGUgfHwgbGF5ZXJJdGVtLm5hbWUgfX1cbiAgICAgICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZmlsdGVyZWRMYXllcnMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJ0ZXh0LWdyYXktODAwXCI+XG4gICAgICAgICAgICAgICAge3sgJ3NlcnZpY2UubWV0YWRhdGEuZmlsdGVyLm5vTGF5ZXJzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS10ZXN0PVwibGF5ZXItaW5mb3JtYXRpb25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQgbWQ6aC1mdWxsIG1kOnctMS8yIHctZnVsbCBoLTEvMiBweS01IHB4LTEwIG92ZXJmbG93LXktYXV0b1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYXllckluZm9ybWF0aW9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTQgYm9yZGVyLWIgYm9yZGVyLWdyYXktMjAwXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1zZW1pYm9sZCB3LTI0XCI+e3sgaXRlbS5kaXNwbGF5TmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNMaXN0KGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzdWJJdGVtIG9mIGl0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYnJlYWstd29yZHMgbWF4LXctNzJcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBzdWJJdGVtIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnJlYWstd29yZHMgbWF4LXctNzJcIiAqbmdJZj1cIiFpc0xpc3QoaXRlbS52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlckl0ZW1zPlxuICA8ZGl2IGNsYXNzPVwicC0yIHB5LTRcIj5cbiAgICA8ZGl2IHRyYW5zbGF0ZT5zZXJ2aWNlLm1ldGFkYXRhLmZpbHRlcjwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -11,12 +11,16 @@ import { provideNgIconsConfig } from '@ng-icons/core';
|
|
|
11
11
|
import { TranslateModule } from '@ngx-translate/core';
|
|
12
12
|
import { AvatarComponent } from './avatar/avatar.component';
|
|
13
13
|
import { ImageInputComponent } from './image-input/image-input.component';
|
|
14
|
+
import { GeoDataBadgeComponent } from './geo-data-badge/geo-data-badge.component';
|
|
14
15
|
import { MarkdownParserComponent } from './markdown-parser/markdown-parser.component';
|
|
16
|
+
import { KindBadgeComponent } from './kind-badge/kind-badge.component';
|
|
15
17
|
import { ThumbnailComponent } from './thumbnail/thumbnail.component';
|
|
16
18
|
import { TimeSincePipe } from './user-feedback-item/time-since.pipe';
|
|
17
19
|
import { UserPreviewComponent } from './user-preview/user-preview.component';
|
|
18
20
|
import { ApplicationBannerComponent } from './application-banner/application-banner.component';
|
|
19
21
|
import { InternalLinkCardComponent } from './internal-link-card/internal-link-card.component';
|
|
22
|
+
import { ServiceCapabilitiesComponent } from './service-capabilities/service-capabilities.component';
|
|
23
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
20
24
|
import * as i0 from "@angular/core";
|
|
21
25
|
import * as i1 from "@ngx-translate/core";
|
|
22
26
|
export class UiElementsModule {
|
|
@@ -38,13 +42,20 @@ export class UiElementsModule {
|
|
|
38
42
|
TextInputComponent,
|
|
39
43
|
ImageInputComponent,
|
|
40
44
|
ApplicationBannerComponent,
|
|
41
|
-
InternalLinkCardComponent
|
|
45
|
+
InternalLinkCardComponent,
|
|
46
|
+
ServiceCapabilitiesComponent,
|
|
47
|
+
KindBadgeComponent,
|
|
48
|
+
GeoDataBadgeComponent,
|
|
49
|
+
ScrollingModule], exports: [ThumbnailComponent,
|
|
42
50
|
AvatarComponent,
|
|
43
51
|
UserPreviewComponent,
|
|
44
52
|
MarkdownParserComponent,
|
|
45
53
|
ImageInputComponent,
|
|
46
54
|
ApplicationBannerComponent,
|
|
47
|
-
InternalLinkCardComponent
|
|
55
|
+
InternalLinkCardComponent,
|
|
56
|
+
ServiceCapabilitiesComponent,
|
|
57
|
+
KindBadgeComponent,
|
|
58
|
+
GeoDataBadgeComponent] }); }
|
|
48
59
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, providers: [
|
|
49
60
|
provideNgIconsConfig({
|
|
50
61
|
size: '1.5em',
|
|
@@ -65,7 +76,11 @@ export class UiElementsModule {
|
|
|
65
76
|
TextInputComponent,
|
|
66
77
|
ImageInputComponent,
|
|
67
78
|
ApplicationBannerComponent,
|
|
68
|
-
InternalLinkCardComponent
|
|
79
|
+
InternalLinkCardComponent,
|
|
80
|
+
ServiceCapabilitiesComponent,
|
|
81
|
+
KindBadgeComponent,
|
|
82
|
+
GeoDataBadgeComponent,
|
|
83
|
+
ScrollingModule] }); }
|
|
69
84
|
}
|
|
70
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, decorators: [{
|
|
71
86
|
type: NgModule,
|
|
@@ -91,6 +106,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
91
106
|
ImageInputComponent,
|
|
92
107
|
ApplicationBannerComponent,
|
|
93
108
|
InternalLinkCardComponent,
|
|
109
|
+
ServiceCapabilitiesComponent,
|
|
110
|
+
KindBadgeComponent,
|
|
111
|
+
GeoDataBadgeComponent,
|
|
112
|
+
ScrollingModule,
|
|
94
113
|
],
|
|
95
114
|
providers: [
|
|
96
115
|
provideNgIconsConfig({
|
|
@@ -106,7 +125,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
106
125
|
ImageInputComponent,
|
|
107
126
|
ApplicationBannerComponent,
|
|
108
127
|
InternalLinkCardComponent,
|
|
128
|
+
ServiceCapabilitiesComponent,
|
|
129
|
+
KindBadgeComponent,
|
|
130
|
+
GeoDataBadgeComponent,
|
|
109
131
|
],
|
|
110
132
|
}]
|
|
111
133
|
}] });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3VpLWVsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGNBQWMsR0FDZixNQUFNLG1DQUFtQyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUNqRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsa0JBQWtC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Q3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHtcbiAgQmFkZ2VDb21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbiAgVWlJbnB1dHNNb2R1bGUsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IE1heExpbmVzQ29tcG9uZW50LCBVaUxheW91dE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQsIFVpV2lkZ2V0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQgeyBVdGlsU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBwcm92aWRlTmdJY29uc0NvbmZpZyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnXG5pbXBvcnQgeyBJbWFnZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS1pbnB1dC9pbWFnZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBHZW9EYXRhQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuL2dlby1kYXRhLWJhZGdlL2dlby1kYXRhLWJhZGdlLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXJrZG93bi1wYXJzZXIvbWFya2Rvd24tcGFyc2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IEtpbmRCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4va2luZC1iYWRnZS9raW5kLWJhZGdlLmNvbXBvbmVudCdcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQgeyBUaW1lU2luY2VQaXBlIH0gZnJvbSAnLi91c2VyLWZlZWRiYWNrLWl0ZW0vdGltZS1zaW5jZS5waXBlJ1xuaW1wb3J0IHsgVXNlclByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VzZXItcHJldmlldy91c2VyLXByZXZpZXcuY29tcG9uZW50J1xuaW1wb3J0IHsgQXBwbGljYXRpb25CYW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWJhbm5lci9hcHBsaWNhdGlvbi1iYW5uZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgSW50ZXJuYWxMaW5rQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJuYWwtbGluay1jYXJkL2ludGVybmFsLWxpbmstY2FyZC5jb21wb25lbnQnXG5pbXBvcnQgeyBTZXJ2aWNlQ2FwYWJpbGl0aWVzQ29tcG9uZW50IH0gZnJvbSAnLi9zZXJ2aWNlLWNhcGFiaWxpdGllcy9zZXJ2aWNlLWNhcGFiaWxpdGllcy5jb21wb25lbnQnXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJ1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBVaUxheW91dE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBVdGlsU2hhcmVkTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBVaUlucHV0c01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ09wdGltaXplZEltYWdlLFxuICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIFRpbWVTaW5jZVBpcGUsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgTWF4TGluZXNDb21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIEltYWdlSW5wdXRDb21wb25lbnQsXG4gICAgQXBwbGljYXRpb25CYW5uZXJDb21wb25lbnQsXG4gICAgSW50ZXJuYWxMaW5rQ2FyZENvbXBvbmVudCxcbiAgICBTZXJ2aWNlQ2FwYWJpbGl0aWVzQ29tcG9uZW50LFxuICAgIEtpbmRCYWRnZUNvbXBvbmVudCxcbiAgICBHZW9EYXRhQmFkZ2VDb21wb25lbnQsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41ZW0nLFxuICAgIH0pLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtBdmF0YXJDb21wb25lbnQsIFVzZXJQcmV2aWV3Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW1xuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgVXNlclByZXZpZXdDb21wb25lbnQsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gICAgSW1hZ2VJbnB1dENvbXBvbmVudCxcbiAgICBBcHBsaWNhdGlvbkJhbm5lckNvbXBvbmVudCxcbiAgICBJbnRlcm5hbExpbmtDYXJkQ29tcG9uZW50LFxuICAgIFNlcnZpY2VDYXBhYmlsaXRpZXNDb21wb25lbnQsXG4gICAgS2luZEJhZGdlQ29tcG9uZW50LFxuICAgIEdlb0RhdGFCYWRnZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVWlFbGVtZW50c01vZHVsZSB7fVxuIl19
|