geonetwork-ui 2.4.0-dev.fdf8f64b → 2.4.1-dev.4e8752d34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -7
- package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/license.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +38 -0
- package/esm2022/libs/api/metadata-converter/src/lib/common/url.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/convert-utils.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +51 -35
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +71 -40
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.mjs +37 -26
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.mjs +30 -8
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.mjs +32 -12
- package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/function-utils.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +7 -6
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +31 -18
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +5 -5
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.mjs +1 -1
- 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/iso19115-3.converter.mjs +11 -5
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +36 -12
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +45 -18
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +150 -87
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +114 -28
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +6 -62
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +134 -63
- package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +77 -22
- package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +36 -9
- package/esm2022/libs/api/repository/src/lib/gn4/auth/gravatar.service.mjs +5 -5
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.mjs +12 -0
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +50 -25
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/index.mjs +2 -1
- package/esm2022/libs/api/repository/src/lib/gn4/favorites/favorites.service.mjs +4 -4
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +61 -15
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +4 -4
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +5 -5
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +5 -5
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +59 -31
- package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +4 -4
- package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +4 -4
- package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/error/index.mjs +2 -0
- package/esm2022/libs/common/domain/src/lib/model/error/publication-version.error.mjs +8 -0
- package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +19 -19
- package/esm2022/libs/common/domain/src/lib/model/record/index.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +27 -1
- package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/record/translation.model.mjs +2 -0
- package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/api/atom.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/customstyle.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/formatters.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/groups.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/harvesters.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/identifiers.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/languages.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/links.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/logos.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/mapservers.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/mapservices.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/me.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/operations.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/pages.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/processes.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/regions.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/registries.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/related.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/search.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/selections.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/site.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/sources.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/standards.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/status.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/tags.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/tools.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/ui.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/users.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/usersearches.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api/userselections.api.service.mjs +6 -6
- package/esm2022/libs/data-access/gn4/src/openapi/api.module.mjs +7 -7
- package/esm2022/libs/data-access/gn4/src/openapi/configuration.mjs +1 -1
- package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +4 -4
- package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +14 -21
- package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -4
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +41 -16
- package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +4 -4
- package/esm2022/libs/feature/catalog/src/lib/site-title/site-title.component.mjs +6 -6
- package/esm2022/libs/feature/catalog/src/lib/source-label/source-label.component.mjs +5 -5
- package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +4 -4
- package/esm2022/libs/feature/dataviz/src/index.mjs +1 -2
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +18 -11
- package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +7 -6
- package/esm2022/libs/feature/dataviz/src/lib/figure/figure.service.mjs +4 -4
- package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +7 -10
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +20 -9
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +16 -10
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +4 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +23 -6
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +12 -4
- package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +25 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +68 -0
- package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +5 -6
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +18 -10
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +36 -18
- package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +23 -9
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +8 -7
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-array/form-field-array.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.mjs +76 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.mjs +35 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.mjs +130 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +6 -6
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +19 -9
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.mjs +19 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.mjs +5 -5
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +5 -5
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +31 -50
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +4 -4
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-object/form-field-object.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +18 -11
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +17 -12
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +17 -17
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +20 -13
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +5 -5
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.mjs +7 -26
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +6 -30
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.mjs +44 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +19 -9
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +41 -65
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +29 -12
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +6 -6
- package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +5 -5
- package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +7 -7
- package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +5 -5
- package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +4 -4
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +77 -13
- package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +9 -5
- package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +5 -5
- package/esm2022/libs/feature/map/src/lib/+state/map.facade.mjs +4 -4
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +4 -4
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +5 -5
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +5 -5
- package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +5 -5
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +5 -5
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +6 -6
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +5 -9
- package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +5 -5
- package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +6 -6
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +33 -15
- package/esm2022/libs/feature/map/src/lib/map-state-container/map-state-container.component.mjs +5 -5
- package/esm2022/libs/feature/map/src/lib/style/map-style.service.mjs +4 -4
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +4 -4
- package/esm2022/libs/feature/notifications/src/lib/feature-notifications.module.mjs +4 -4
- package/esm2022/libs/feature/notifications/src/lib/notifications-container/notifications-container.component.mjs +4 -4
- package/esm2022/libs/feature/notifications/src/lib/notifications.service.mjs +6 -5
- package/esm2022/libs/feature/record/src/index.mjs +4 -1
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +17 -10
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +12 -10
- package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +18 -10
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +13 -11
- package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +12 -10
- package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +25 -58
- package/esm2022/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.mjs +169 -0
- package/esm2022/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.mjs +45 -0
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +56 -20
- package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +45 -0
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +5 -5
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +14 -6
- package/esm2022/libs/feature/router/src/lib/default/constants.mjs +1 -1
- package/esm2022/libs/feature/router/src/lib/default/container/search-router.container.directive.mjs +6 -6
- package/esm2022/libs/feature/router/src/lib/default/router.module.mjs +5 -5
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -5
- package/esm2022/libs/feature/router/src/lib/default/services/router-search.service.mjs +4 -4
- package/esm2022/libs/feature/router/src/lib/default/state/query-params.utils.mjs +50 -0
- package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +8 -8
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -8
- package/esm2022/libs/feature/search/src/index.mjs +3 -1
- package/esm2022/libs/feature/search/src/lib/constants.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/facets/facets-container/facets-container.component.mjs +4 -4
- package/esm2022/libs/feature/search/src/lib/facets/facets.module.mjs +4 -4
- package/esm2022/libs/feature/search/src/lib/facets/facets.service.mjs +5 -5
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -7
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +22 -19
- package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +30 -8
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +5 -5
- package/esm2022/libs/feature/search/src/lib/records-metrics/records-metrics.component.mjs +5 -5
- package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +4 -4
- package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +5 -5
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +15 -10
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +6 -6
- package/esm2022/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.mjs +67 -0
- package/esm2022/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.mjs +84 -0
- package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +9 -5
- package/esm2022/libs/feature/search/src/lib/state/actions.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/state/container/search-state.container.directive.mjs +6 -6
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -6
- package/esm2022/libs/feature/search/src/lib/state/reducer.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +7 -9
- package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +1 -9
- package/esm2022/libs/feature/search/src/lib/utils/operators/search.operator.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +63 -8
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +13 -6
- package/esm2022/libs/feature/search/src/lib/utils/service/search.service.mjs +4 -4
- package/esm2022/libs/ui/catalog/src/index.mjs +1 -2
- package/esm2022/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.mjs +6 -5
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +15 -19
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +17 -7
- package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +3 -3
- package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +6 -5
- package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +6 -6
- package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +7 -7
- package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +6 -6
- package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +33 -7
- package/esm2022/libs/ui/elements/src/index.mjs +3 -4
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +28 -9
- package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +5 -5
- package/esm2022/libs/ui/elements/src/lib/content-ghost/content-ghost.component.mjs +6 -5
- package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +19 -8
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +40 -12
- package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +25 -7
- package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +213 -0
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +17 -9
- package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +17 -7
- package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +4 -6
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +7 -5
- package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +7 -6
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +28 -8
- package/esm2022/libs/ui/elements/src/lib/metadata-info/linkify.directive.mjs +7 -6
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +43 -16
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +16 -9
- package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +10 -8
- package/esm2022/libs/ui/elements/src/lib/notification/notification.component.mjs +38 -7
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +40 -35
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +20 -11
- package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +6 -6
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +31 -106
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +6 -6
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +29 -11
- package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -5
- package/esm2022/libs/ui/inputs/src/index.mjs +5 -6
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +32 -14
- package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +21 -7
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +4 -4
- package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +7 -7
- package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +5 -5
- package/esm2022/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.mjs +10 -7
- package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +19 -9
- package/esm2022/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.mjs +65 -0
- package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +19 -9
- package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +8 -8
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +25 -9
- package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +5 -5
- package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +32 -11
- package/esm2022/libs/ui/inputs/src/lib/files-drop/files-drop.directive.mjs +4 -4
- package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +7 -7
- package/esm2022/libs/ui/inputs/src/lib/search-input/search-input.component.mjs +17 -7
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +8 -6
- package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +8 -5
- package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +47 -48
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +52 -23
- package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +5 -5
- package/esm2022/libs/ui/layout/src/index.mjs +6 -1
- package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +5 -5
- package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +20 -15
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +27 -22
- package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +9 -7
- package/esm2022/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.mjs +8 -6
- package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +7 -6
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +6 -4
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +12 -8
- package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +6 -6
- package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +5 -5
- package/esm2022/libs/ui/layout/src/lib/paginable.interface.mjs +2 -0
- package/esm2022/libs/ui/layout/src/lib/pagination/pagination.component.mjs +52 -0
- package/esm2022/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.mjs +52 -0
- package/esm2022/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.mjs +36 -0
- package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +26 -0
- package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +5 -13
- package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +6 -6
- package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +17 -26
- package/esm2022/libs/ui/map/src/index.mjs +2 -1
- package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +3 -3
- package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +20 -10
- package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +32 -0
- package/esm2022/libs/ui/map/src/lib/map-utils.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/facets/facet-block/facet-block.component.mjs +7 -7
- package/esm2022/libs/ui/search/src/lib/facets/facet-item/facet-item.component.mjs +6 -6
- package/esm2022/libs/ui/search/src/lib/facets/facet-list/facet-list.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/facets/facets.module.mjs +4 -4
- package/esm2022/libs/ui/search/src/lib/record-metric/record-metric.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/record-preview/record-preview.component.mjs +5 -5
- package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +8 -7
- package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +10 -9
- package/esm2022/libs/ui/search/src/lib/record-preview-text/record-preview-text.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +3 -3
- 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-list/results-layout.config.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-list-item/results-list-item.component.mjs +5 -5
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +25 -33
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +74 -32
- package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +34 -12
- package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +3 -3
- package/esm2022/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.mjs +7 -6
- package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +5 -5
- package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +8 -8
- package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +5 -5
- package/esm2022/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.mjs +5 -5
- package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +5 -5
- package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +9 -34
- package/esm2022/libs/util/app-config/src/lib/app-config.mjs +9 -2
- package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
- package/esm2022/libs/util/app-config/src/lib/map-layers.mjs +7 -1
- package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
- package/esm2022/libs/util/app-config/src/lib/parse-utils.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/headers.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +3 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/sql-utils.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +13 -11
- package/esm2022/libs/util/i18n/src/index.mjs +2 -1
- package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +1 -38
- package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +4 -4
- package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +6 -6
- package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +40 -0
- package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +6 -6
- package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +5 -5
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +6 -4
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +17 -17
- package/esm2022/libs/util/shared/src/lib/services/log.service.mjs +3 -3
- package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +12 -9
- package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +4 -4
- package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +4 -4
- package/esm2022/libs/util/shared/src/lib/utils/format-fields.mjs +9 -0
- package/esm2022/libs/util/shared/src/lib/utils/geojson.mjs +1 -1
- package/esm2022/libs/util/shared/src/lib/utils/image-resize.mjs +1 -1
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +3 -1
- package/esm2022/libs/util/shared/src/lib/utils/no-duplicate-file-name.mjs +19 -0
- package/esm2022/libs/util/shared/src/lib/utils/parse.mjs +1 -1
- package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +1 -1
- package/esm2022/libs/util/shared/src/lib/utils/url.mjs +1 -1
- package/esm2022/translations/de.json +70 -35
- package/esm2022/translations/en.json +129 -75
- package/esm2022/translations/es.json +59 -24
- package/esm2022/translations/fr.json +129 -75
- package/esm2022/translations/it.json +62 -27
- package/esm2022/translations/nl.json +59 -24
- package/esm2022/translations/pt.json +59 -24
- package/fesm2022/geonetwork-ui.mjs +7463 -5203
- package/fesm2022/geonetwork-ui.mjs.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 +5 -0
- package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts +2 -2
- package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts +6 -5
- package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts +11 -5
- package/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/function-utils.d.ts +1 -1
- package/libs/api/metadata-converter/src/lib/function-utils.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +4 -4
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.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/elasticsearch.model.d.ts +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +11 -10
- 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/iso19115-3.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +6 -3
- 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 +5 -2
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +4 -2
- package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +14 -4
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +16 -9
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +47 -4
- package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts +14 -2
- package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.d.ts +4 -0
- package/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.d.ts.map +1 -0
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +5 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/index.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/elasticsearch/index.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +15 -8
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +5 -17
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/error/index.d.ts +2 -0
- package/libs/common/domain/src/lib/model/error/index.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts +5 -0
- package/libs/common/domain/src/lib/model/error/publication-version.error.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/index.d.ts +1 -0
- package/libs/common/domain/src/lib/model/record/index.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +29 -8
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/organization.model.d.ts +2 -0
- package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/translation.model.d.ts +26 -0
- package/libs/common/domain/src/lib/model/record/translation.model.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/search/filter.model.d.ts +16 -1
- package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/sort-by.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +4 -4
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +5 -0
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/groupPrivilege.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/jsonNode.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/link.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/metadataResource.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/metadataResourceExternalManagementProperties.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/metadataStatusParameter.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/operation.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/pageProperties.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/publicationOption.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/setting.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/status.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/statusValue.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/userGroup.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/userGroupId.api.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/userSecurity.api.model.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +8 -9
- package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +10 -3
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/index.d.ts +0 -1
- package/libs/feature/dataviz/src/index.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts +1 -1
- package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +1 -1
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +3 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +33 -9
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +18 -10
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +11 -4
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.models.d.ts +1 -1
- package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +4 -0
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +8 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts +16 -0
- package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/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 +2 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts +18 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.d.ts +6 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.d.ts +32 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.d.ts +9 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date/form-field-date.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +14 -35
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +5 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +4 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +1 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +5 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.d.ts +2 -8
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.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 +3 -7
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.d.ts +14 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +11 -9
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts +11 -3
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -3
- package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts +4 -0
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/map/src/lib/+state/map.actions.d.ts +3 -3
- package/libs/feature/map/src/lib/+state/map.actions.d.ts.map +1 -1
- package/libs/feature/map/src/lib/feature-map.module.d.ts +9 -10
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
- package/libs/feature/notifications/src/lib/notifications.service.d.ts +1 -1
- package/libs/feature/notifications/src/lib/notifications.service.d.ts.map +1 -1
- package/libs/feature/record/src/index.d.ts +3 -0
- package/libs/feature/record/src/index.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +1 -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 +1 -1
- 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-share/data-view-share.component.d.ts +1 -1
- package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -1
- 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 +1 -1
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/feature-record.module.d.ts +15 -25
- package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
- package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts +74 -0
- package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts.map +1 -0
- package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts +19 -0
- package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts.map +1 -0
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +7 -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 +14 -0
- package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts.map +1 -0
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts +13 -13
- 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 -9
- 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.map +1 -1
- package/libs/feature/router/src/lib/default/constants.d.ts +3 -2
- package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts +4 -0
- package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts.map +1 -0
- package/libs/feature/router/src/lib/default/state/router.actions.d.ts +3 -3
- package/libs/feature/router/src/lib/default/state/router.actions.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts +5 -5
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.selectors.d.ts +1 -1
- package/libs/feature/router/src/lib/default/state/router.selectors.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +2 -0
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +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 +17 -15
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +7 -1
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +1 -0
- 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.map +1 -1
- package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts +22 -0
- package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts +34 -0
- package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/actions.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/search.facade.d.ts +0 -2
- package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/selectors.d.ts +0 -2
- package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/operators/search.operator.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +24 -6
- 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 +4 -2
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/catalog/src/index.d.ts +0 -1
- package/libs/ui/catalog/src/index.d.ts.map +1 -1
- package/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.d.ts +1 -1
- package/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.d.ts.map +1 -1
- package/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.d.ts +10 -8
- package/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.d.ts.map +1 -1
- package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +1 -1
- package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts.map +1 -1
- package/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.d.ts +1 -1
- package/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts +3 -3
- package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +2 -3
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/content-ghost/content-ghost.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/content-ghost/content-ghost.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +10 -9
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/error/error.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
- package/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.d.ts +2 -1
- package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +2 -1
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/linkify.directive.d.ts +2 -2
- package/libs/ui/elements/src/lib/metadata-info/linkify.directive.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +1 -1
- 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 +2 -2
- package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/notification/notification.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/notification/notification.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +6 -17
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +1 -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/ui-elements.module.d.ts +20 -37
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +4 -5
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts +2 -2
- package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.d.ts +20 -0
- package/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +3 -2
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/search-input/search-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +2 -1
- package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +27 -31
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +14 -12
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +5 -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 +7 -5
- package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts +9 -7
- package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +1 -1
- package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.d.ts +1 -1
- package/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +2 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/paginable.interface.d.ts +15 -0
- package/libs/ui/layout/src/lib/paginable.interface.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/pagination/pagination.component.d.ts +11 -0
- package/libs/ui/layout/src/lib/pagination/pagination.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.d.ts +9 -0
- package/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.d.ts +10 -0
- package/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +8 -0
- package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts +6 -8
- 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/map-container/map-container.component.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/map-container/map-settings.token.d.ts.map +1 -1
- package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts +12 -0
- package/libs/ui/map/src/lib/components/map-legend/map-legend.component.d.ts.map +1 -0
- package/libs/ui/search/src/lib/results-list/results-layout.config.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +10 -6
- 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 +11 -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 +6 -5
- package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.d.ts +1 -1
- package/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts +1 -1
- package/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.d.ts +1 -1
- package/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +9 -13
- package/libs/ui/widgets/src/lib/ui-widgets.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/app-config/src/lib/map-layers.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/model.d.ts +6 -1
- package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/model.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/csv.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/excel.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/geojson.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/json.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/utils.d.ts +1 -1
- package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
- package/libs/util/i18n/src/index.d.ts +1 -0
- package/libs/util/i18n/src/index.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/i18n.constants.d.ts +0 -35
- package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/language-codes.d.ts +38 -0
- package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -0
- 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 +16 -16
- package/libs/util/shared/src/lib/services/proxy.service.d.ts +4 -2
- package/libs/util/shared/src/lib/services/proxy.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/format-fields.d.ts +2 -0
- package/libs/util/shared/src/lib/utils/format-fields.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts +2 -0
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts +2 -0
- package/libs/util/shared/src/lib/utils/no-duplicate-file-name.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +4 -1
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -1
- package/package.json +50 -43
- 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 +50 -0
- package/src/libs/api/metadata-converter/src/lib/convert-utils.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +160 -34
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +140 -47
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/graph-utils.ts +62 -47
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/serialize-to-xml.ts +37 -7
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/write-parts.ts +51 -18
- package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +473 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +36 -3
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+ongules.ts +246 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+roilaye.ts +101 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +187 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +20 -3
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +336 -5
- package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +216 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +84 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +336 -9
- package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +404 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +4 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +451 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +289 -0
- package/src/libs/api/metadata-converter/src/lib/function-utils.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +2 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +29 -23
- package/src/libs/api/metadata-converter/src/lib/gn4/types/elasticsearch.model.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +11 -10
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +15 -3
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +69 -20
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +100 -25
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +165 -81
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +279 -49
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.ts +9 -62
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +446 -172
- package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +97 -24
- package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +35 -6
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/date-range.utils.ts +13 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +58 -23
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/index.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +111 -52
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +1 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +113 -31
- package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/error/index.ts +1 -0
- package/src/libs/common/domain/src/lib/model/error/publication-version.error.ts +9 -0
- package/src/libs/common/domain/src/lib/model/record/contact.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/record/index.ts +1 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +73 -14
- package/src/libs/common/domain/src/lib/model/record/organization.model.ts +4 -0
- package/src/libs/common/domain/src/lib/model/record/translation.model.ts +49 -0
- package/src/libs/common/domain/src/lib/model/search/filter.model.ts +17 -1
- package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +1 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +4 -3
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -0
- package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +10 -3
- package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.fixtures.ts +1673 -0
- package/src/libs/common/fixtures/src/lib/elasticsearch/search-responses.fixtures.ts +12931 -0
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +37 -28
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +117 -15
- package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +4 -9
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -5
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +41 -5
- package/src/libs/feature/dataviz/src/index.ts +0 -1
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +1 -1
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +20 -2
- package/src/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.ts +3 -1
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +6 -1
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +30 -7
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -1
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +15 -2
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +16 -0
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +41 -2
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +13 -0
- package/src/libs/feature/editor/src/lib/+state/editor.models.ts +1 -1
- package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +27 -0
- package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +5 -0
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +28 -0
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +71 -0
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +1 -2
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.css +3 -0
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +7 -6
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +12 -2
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +3 -4
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +32 -11
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +15 -2
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +2 -0
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +1 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.css +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.html +24 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.ts +85 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/constraints.utils.ts +42 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.css +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.html +34 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.ts +210 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +13 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-date-updated/form-field-date-updated.component.ts → form-field-date/form-field-date.component.ts} +4 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-file/form-field-file.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +11 -8
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +33 -45
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +55 -40
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +29 -18
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +83 -66
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +27 -17
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +15 -12
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +22 -11
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +31 -18
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +2 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.html +4 -25
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-simple/form-field-simple.component.ts +3 -23
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +0 -5
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -42
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.html +5 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.ts +60 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +3 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +13 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +46 -74
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +58 -21
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +33 -8
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +6 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +83 -12
- package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -4
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +7 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +2 -2
- package/src/libs/feature/map/src/lib/feature-map.module.ts +0 -2
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +3 -5
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +23 -4
- package/src/libs/feature/notifications/src/lib/notifications.service.ts +6 -1
- package/src/libs/feature/record/src/index.ts +3 -0
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +1 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +15 -0
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +5 -0
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +16 -1
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +5 -0
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +1 -1
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +8 -1
- package/src/libs/feature/record/src/lib/feature-record.module.ts +11 -38
- package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.css +22 -0
- package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.html +132 -0
- package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.ts +253 -0
- package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.html +37 -0
- package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.ts +43 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +50 -12
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +62 -4
- package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +45 -0
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +10 -1
- package/src/libs/feature/router/src/lib/default/constants.ts +6 -1
- package/src/libs/feature/router/src/lib/default/state/query-params.utils.ts +61 -0
- package/src/libs/feature/router/src/lib/default/state/router.effects.ts +2 -2
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +5 -3
- package/src/libs/feature/search/src/index.ts +2 -0
- package/src/libs/feature/search/src/lib/constants.ts +1 -1
- package/src/libs/feature/search/src/lib/facets/facets.service.ts +4 -4
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +3 -0
- package/src/libs/feature/search/src/lib/feature-search.module.ts +15 -8
- package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.html +20 -10
- package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +32 -1
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -6
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +12 -1
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +16 -12
- package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.css +0 -0
- package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.html +17 -0
- package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.ts +78 -0
- package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.css +0 -0
- package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.html +20 -0
- package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +118 -0
- package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +4 -0
- package/src/libs/feature/search/src/lib/state/actions.ts +69 -17
- package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
- package/src/libs/feature/search/src/lib/state/search.facade.ts +0 -8
- package/src/libs/feature/search/src/lib/state/selectors.ts +0 -18
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +20 -3
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +91 -12
- package/src/libs/ui/catalog/src/index.ts +0 -1
- package/src/libs/ui/catalog/src/lib/catalog-title/catalog-title.component.ts +3 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +15 -21
- package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +2 -3
- package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +11 -0
- package/src/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.ts +3 -0
- package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +1 -1
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +6 -5
- package/src/libs/ui/dataviz/src/lib/ui-dataviz.module.ts +17 -2
- package/src/libs/ui/elements/src/index.ts +2 -3
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +18 -8
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +21 -1
- package/src/libs/ui/elements/src/lib/content-ghost/content-ghost.component.ts +3 -0
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +7 -5
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +12 -1
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +1 -1
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +57 -11
- package/src/libs/ui/elements/src/lib/error/error.component.css +24 -19
- package/src/libs/ui/elements/src/lib/error/error.component.html +11 -21
- package/src/libs/ui/elements/src/lib/error/error.component.ts +19 -0
- package/src/libs/ui/elements/src/lib/image-input/image-input.component.css +4 -0
- package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.html +33 -44
- package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.ts +42 -9
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +3 -6
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +2 -6
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +13 -2
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +0 -2
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +4 -1
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +1 -0
- package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.ts +4 -1
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +20 -22
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +24 -0
- package/src/libs/ui/elements/src/lib/metadata-info/linkify.directive.ts +7 -3
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +1 -1
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +47 -26
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +43 -1
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +18 -1
- package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
- package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +7 -1
- package/src/libs/ui/elements/src/lib/notification/notification.component.html +10 -14
- package/src/libs/ui/elements/src/lib/notification/notification.component.ts +33 -2
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.css +2 -2
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +44 -35
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +4 -4
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +18 -64
- package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +2 -2
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +2 -6
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +22 -0
- package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -4
- package/src/libs/ui/inputs/src/index.ts +4 -5
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +3 -10
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +5 -5
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +18 -2
- package/src/libs/ui/inputs/src/lib/badge/badge.component.html +2 -2
- package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +15 -2
- package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.html +4 -1
- package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.ts +3 -3
- package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +4 -1
- package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.html +5 -6
- package/src/libs/ui/inputs/src/lib/copy-text-button/copy-text-button.component.ts +7 -0
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +1 -3
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +13 -2
- package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.css +5 -0
- package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.html +30 -0
- package/src/libs/ui/inputs/src/lib/date-range-dropdown/date-range-dropdown.component.ts +63 -0
- package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +1 -3
- package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +13 -2
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +16 -20
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +7 -7
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +16 -2
- package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +4 -1
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +14 -13
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +19 -3
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +1 -3
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +4 -1
- package/src/libs/ui/inputs/src/lib/search-input/search-input.component.html +2 -2
- package/src/libs/ui/inputs/src/lib/search-input/search-input.component.ts +13 -2
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +0 -9
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +2 -6
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +6 -0
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +1 -0
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +37 -30
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.css +1 -1
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +12 -21
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +49 -20
- package/src/libs/ui/layout/src/index.ts +5 -0
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +0 -16
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +4 -12
- package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +20 -11
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -16
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +4 -12
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.ts +22 -19
- package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +2 -4
- package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +8 -2
- package/src/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.html +2 -6
- package/src/libs/ui/layout/src/lib/expandable-panel-button/expandable-panel-button.component.ts +6 -0
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +1 -1
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +2 -2
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +1 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +4 -8
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +9 -9
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +13 -3
- package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
- package/src/libs/ui/layout/src/lib/paginable.interface.ts +14 -0
- package/src/libs/ui/layout/src/lib/pagination/pagination.component.css +0 -0
- package/src/libs/ui/{elements → layout}/src/lib/pagination/pagination.component.html +12 -13
- package/src/libs/ui/layout/src/lib/pagination/pagination.component.ts +45 -0
- package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.css +0 -0
- package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.html +51 -0
- package/src/libs/ui/layout/src/lib/pagination-buttons/pagination-buttons.component.ts +50 -0
- package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.css +16 -0
- package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.html +15 -0
- package/src/libs/ui/layout/src/lib/pagination-dots/pagination-dots.component.ts +31 -0
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +18 -0
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +29 -0
- package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.css +4 -2
- package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.ts +1 -9
- package/src/libs/ui/layout/src/lib/ui-layout.module.ts +8 -15
- package/src/libs/ui/map/src/index.ts +1 -0
- package/src/libs/ui/map/src/lib/components/map-container/map-container.component.html +4 -3
- package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +13 -2
- package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.css +5 -0
- package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.html +1 -0
- package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +39 -0
- package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.html +17 -13
- package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +16 -10
- package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +1 -1
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +59 -26
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +17 -30
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +35 -27
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +89 -28
- package/src/libs/ui/search/src/lib/ui-search.module.ts +22 -3
- package/src/libs/ui/widgets/src/lib/loading-mask/loading-mask.component.ts +4 -6
- package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.html +2 -4
- package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +8 -2
- package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.ts +1 -0
- package/src/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.ts +1 -0
- package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +2 -2
- package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -18
- package/src/libs/util/app-config/src/lib/app-config.ts +9 -2
- package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
- package/src/libs/util/app-config/src/lib/map-layers.ts +6 -0
- package/src/libs/util/app-config/src/lib/model.ts +6 -1
- package/src/libs/util/data-fetcher/src/lib/model.ts +6 -6
- package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/utils.ts +13 -11
- package/src/libs/util/i18n/src/index.ts +1 -0
- package/src/libs/util/i18n/src/lib/i18n.constants.ts +0 -43
- package/src/libs/util/i18n/src/lib/lang.service.ts +1 -1
- package/src/libs/util/i18n/src/lib/language-codes.ts +44 -0
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +2 -0
- package/src/libs/util/shared/src/lib/links/link-utils.ts +17 -17
- package/src/libs/util/shared/src/lib/services/proxy.service.ts +7 -3
- package/src/libs/util/shared/src/lib/utils/format-fields.ts +11 -0
- package/src/libs/util/shared/src/lib/utils/index.ts +2 -0
- package/src/libs/util/shared/src/lib/utils/no-duplicate-file-name.ts +23 -0
- package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +6 -1
- package/tailwind.base.css +17 -6
- package/translations/de.json +70 -35
- package/translations/en.json +129 -75
- package/translations/es.json +59 -24
- package/translations/fr.json +129 -75
- package/translations/it.json +62 -27
- package/translations/nl.json +59 -24
- package/translations/pt.json +59 -24
- package/translations/sk.json +60 -25
- package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +0 -74
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +0 -19
- package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +0 -57
- package/esm2022/libs/ui/elements/src/lib/pagination/pagination.component.mjs +0 -54
- package/esm2022/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.mjs +0 -66
- package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +0 -187
- package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +0 -29
- package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +0 -22
- package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts +0 -9
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +0 -1
- package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +0 -17
- package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +0 -1
- package/libs/ui/elements/src/lib/pagination/pagination.component.d.ts +0 -16
- package/libs/ui/elements/src/lib/pagination/pagination.component.d.ts.map +0 -1
- package/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.d.ts +0 -17
- package/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +0 -1
- package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +0 -12
- package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +0 -1
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +0 -67
- package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +0 -48
- package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +0 -35
- package/src/libs/ui/elements/src/lib/pagination/pagination.component.ts +0 -50
- package/src/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.html +0 -33
- package/src/libs/ui/elements/src/lib/pagination-buttons/pagination-buttons.component.ts +0 -68
- package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.html +0 -26
- package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.ts +0 -32
- /package/src/libs/{ui/inputs/src/lib/image-input/image-input.component.css → feature/editor/src/lib/components/constraint-card/constraint-card.component.css} +0 -0
- /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-date-updated/form-field-date-updated.component.css → form-field-date/form-field-date.component.css} +0 -0
- /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-date-updated/form-field-date-updated.component.html → form-field-date/form-field-date.component.html} +0 -0
- /package/src/libs/{ui/elements/src/lib/pagination-buttons/pagination-buttons.component.css → feature/editor/src/lib/components/record-form/form-field/form-field-spatial-toggle/form-field-spatial-toggle.component.css} +0 -0
- /package/src/libs/{ui/elements/src/lib/pagination/pagination.component.css → feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.css} +0 -0
- /package/src/libs/ui/{inputs → layout}/src/lib/previous-next-buttons/previous-next-buttons.component.css +0 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SortableListComponent } from '../../../../../../../../../libs/ui/layout/src';
|
|
4
|
+
import { ConstraintCardComponent } from '../../../constraint-card/constraint-card.component';
|
|
5
|
+
import { ButtonComponent, UiInputsModule } from '../../../../../../../../../libs/ui/inputs/src';
|
|
6
|
+
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
7
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
8
|
+
import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
|
|
9
|
+
import { iconoirPlus } from '@ng-icons/iconoir';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../../../../../../../../ui/inputs/src/lib/button/button.component";
|
|
12
|
+
import * as i2 from "@ngx-translate/core";
|
|
13
|
+
marker('editor.record.form.constraint.add.legalConstraints');
|
|
14
|
+
marker('editor.record.form.constraint.add.securityConstraints');
|
|
15
|
+
marker('editor.record.form.constraint.add.otherConstraints');
|
|
16
|
+
marker('editor.record.form.constraint.header.legalConstraints');
|
|
17
|
+
marker('editor.record.form.constraint.header.securityConstraints');
|
|
18
|
+
marker('editor.record.form.constraint.header.otherConstraints');
|
|
19
|
+
export class FormFieldConstraintsComponent {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.valueChange = new EventEmitter();
|
|
22
|
+
this.constraintsHeader = '';
|
|
23
|
+
this.additionalConstraintsButtonLabel = '';
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.additionalConstraintsButtonLabel = `editor.record.form.constraint.add.${this.constraintType}`;
|
|
27
|
+
this.constraintsHeader = `editor.record.form.constraint.header.${this.constraintType}`;
|
|
28
|
+
}
|
|
29
|
+
handleConstraintChange(constraint, index) {
|
|
30
|
+
const newValue = [...this.value];
|
|
31
|
+
newValue[index] = constraint;
|
|
32
|
+
this.valueChange.emit(newValue);
|
|
33
|
+
}
|
|
34
|
+
handleConstraintsOrderChange(constraints) {
|
|
35
|
+
const updatedConstraints = [...constraints];
|
|
36
|
+
this.valueChange.emit(updatedConstraints);
|
|
37
|
+
}
|
|
38
|
+
addConstraintSectionToDisplay() {
|
|
39
|
+
const updatedConstraints = [...this.value];
|
|
40
|
+
updatedConstraints.push({ text: '' }); // url?
|
|
41
|
+
this.valueChange.emit(updatedConstraints);
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldConstraintsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldConstraintsComponent, isStandalone: true, selector: "gn-ui-form-field-constraints", inputs: { label: "label", value: "value", constraintType: "constraintType" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
45
|
+
provideIcons({ iconoirPlus }),
|
|
46
|
+
provideNgIconsConfig({
|
|
47
|
+
size: '1.5rem',
|
|
48
|
+
}),
|
|
49
|
+
], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-2\" [attr.data-cy]=\"constraintType\">\n <span class=\"border-t border-gray-300 flex grow pb-[32px]\"></span>\n <span class=\"font-bold mb-3\">{{ constraintsHeader | translate }}</span>\n <gn-ui-button\n type=\"gray\"\n (buttonClick)=\"addConstraintSectionToDisplay()\"\n data-cy=\"add-constraint-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n <span>{{ additionalConstraintsButtonLabel | translate }}</span>\n </gn-ui-button>\n <gn-ui-sortable-list\n [items]=\"value\"\n (itemsOrderChange)=\"handleConstraintsOrderChange($event)\"\n [elementTemplate]=\"constraintTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #constraintTemplate let-constraint let-index=\"index\">\n <gn-ui-constraint-card\n [label]=\"label\"\n [constraint]=\"constraint\"\n (constraintChange)=\"handleConstraintChange($event, index)\"\n ></gn-ui-constraint-card>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: ConstraintCardComponent, selector: "gn-ui-constraint-card", inputs: ["label", "constraint"], outputs: ["constraintChange"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i1.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldConstraintsComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{ selector: 'gn-ui-form-field-constraints', imports: [
|
|
54
|
+
CommonModule,
|
|
55
|
+
SortableListComponent,
|
|
56
|
+
ConstraintCardComponent,
|
|
57
|
+
UiInputsModule,
|
|
58
|
+
ButtonComponent,
|
|
59
|
+
TranslateModule,
|
|
60
|
+
NgIconComponent,
|
|
61
|
+
], providers: [
|
|
62
|
+
provideIcons({ iconoirPlus }),
|
|
63
|
+
provideNgIconsConfig({
|
|
64
|
+
size: '1.5rem',
|
|
65
|
+
}),
|
|
66
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"w-full flex flex-col gap-2\" [attr.data-cy]=\"constraintType\">\n <span class=\"border-t border-gray-300 flex grow pb-[32px]\"></span>\n <span class=\"font-bold mb-3\">{{ constraintsHeader | translate }}</span>\n <gn-ui-button\n type=\"gray\"\n (buttonClick)=\"addConstraintSectionToDisplay()\"\n data-cy=\"add-constraint-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n <span>{{ additionalConstraintsButtonLabel | translate }}</span>\n </gn-ui-button>\n <gn-ui-sortable-list\n [items]=\"value\"\n (itemsOrderChange)=\"handleConstraintsOrderChange($event)\"\n [elementTemplate]=\"constraintTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #constraintTemplate let-constraint let-index=\"index\">\n <gn-ui-constraint-card\n [label]=\"label\"\n [constraint]=\"constraint\"\n (constraintChange)=\"handleConstraintChange($event, index)\"\n ></gn-ui-constraint-card>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
67
|
+
}], propDecorators: { label: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], value: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], constraintType: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], valueChange: [{
|
|
74
|
+
type: Output
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jb25zdHJhaW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtY29uc3RyYWludHMvZm9ybS1maWVsZC1jb25zdHJhaW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtY29uc3RyYWludHMvZm9ybS1maWVsZC1jb25zdHJhaW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUE7QUFDckYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUE7QUFLNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQTtBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLG9CQUFvQixHQUNyQixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7OztBQUUvQyxNQUFNLENBQUMsb0RBQW9ELENBQUMsQ0FBQTtBQUM1RCxNQUFNLENBQUMsdURBQXVELENBQUMsQ0FBQTtBQUMvRCxNQUFNLENBQUMsb0RBQW9ELENBQUMsQ0FBQTtBQUM1RCxNQUFNLENBQUMsdURBQXVELENBQUMsQ0FBQTtBQUMvRCxNQUFNLENBQUMsMERBQTBELENBQUMsQ0FBQTtBQUNsRSxNQUFNLENBQUMsdURBQXVELENBQUMsQ0FBQTtBQXdCL0QsTUFBTSxPQUFPLDZCQUE2QjtJQXRCMUM7UUEwQlksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQTtRQUV4RCxzQkFBaUIsR0FBRyxFQUFFLENBQUE7UUFDdEIscUNBQWdDLEdBQUcsRUFBRSxDQUFBO0tBdUJ0QztJQXJCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLHFDQUFxQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDbEcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHdDQUF3QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7SUFDeEYsQ0FBQztJQUVELHNCQUFzQixDQUFDLFVBQXNCLEVBQUUsS0FBYTtRQUMxRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUE7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELDRCQUE0QixDQUFDLFdBQXlCO1FBQ3BELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFBO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELDZCQUE2QjtRQUMzQixNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDMUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUEsQ0FBQyxPQUFPO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDM0MsQ0FBQzsrR0E3QlUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsa01BWDdCO1lBQ1QsWUFBWSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDN0Isb0JBQW9CLENBQUM7Z0JBQ25CLElBQUksRUFBRSxRQUFRO2FBQ2YsQ0FBQztTQUNILDBCQ2hESCxrK0JBd0JBLDZIRFdJLFlBQVksK0JBQ1oscUJBQXFCLHFJQUNyQix1QkFBdUIsaUlBQ3ZCLGNBQWMsK0tBRWQsZUFBZSw0RkFDZixlQUFlOzs0RkFhTiw2QkFBNkI7a0JBdEJ6QyxTQUFTOytCQUNFLDhCQUE4QixXQUMvQjt3QkFDUCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3FCQUNoQixhQUNVO3dCQUNULFlBQVksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO3dCQUM3QixvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLFFBQVE7eUJBQ2YsQ0FBQztxQkFDSCxtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJOzhCQUdQLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBTb3J0YWJsZUxpc3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBDb25zdHJhaW50Q2FyZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0cmFpbnQtY2FyZC9jb25zdHJhaW50LWNhcmQuY29tcG9uZW50J1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZEtleXMsXG4gIENvbnN0cmFpbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCwgVWlJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IGljb25vaXJQbHVzIH0gZnJvbSAnQG5nLWljb25zL2ljb25vaXInXG5cbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmNvbnN0cmFpbnQuYWRkLmxlZ2FsQ29uc3RyYWludHMnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uY29uc3RyYWludC5hZGQuc2VjdXJpdHlDb25zdHJhaW50cycpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5jb25zdHJhaW50LmFkZC5vdGhlckNvbnN0cmFpbnRzJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmNvbnN0cmFpbnQuaGVhZGVyLmxlZ2FsQ29uc3RyYWludHMnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uY29uc3RyYWludC5oZWFkZXIuc2VjdXJpdHlDb25zdHJhaW50cycpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5jb25zdHJhaW50LmhlYWRlci5vdGhlckNvbnN0cmFpbnRzJylcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1jb25zdHJhaW50cycsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU29ydGFibGVMaXN0Q29tcG9uZW50LFxuICAgIENvbnN0cmFpbnRDYXJkQ29tcG9uZW50LFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoeyBpY29ub2lyUGx1cyB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41cmVtJyxcbiAgICB9KSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtY29uc3RyYWludHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZpZWxkLWNvbnN0cmFpbnRzLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbnN0cmFpbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZ1xuICBASW5wdXQoKSB2YWx1ZTogQ29uc3RyYWludFtdXG4gIEBJbnB1dCgpIGNvbnN0cmFpbnRUeXBlOiBDYXRhbG9nUmVjb3JkS2V5c1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbnN0cmFpbnRbXT4oKVxuXG4gIGNvbnN0cmFpbnRzSGVhZGVyID0gJydcbiAgYWRkaXRpb25hbENvbnN0cmFpbnRzQnV0dG9uTGFiZWwgPSAnJ1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWRkaXRpb25hbENvbnN0cmFpbnRzQnV0dG9uTGFiZWwgPSBgZWRpdG9yLnJlY29yZC5mb3JtLmNvbnN0cmFpbnQuYWRkLiR7dGhpcy5jb25zdHJhaW50VHlwZX1gXG4gICAgdGhpcy5jb25zdHJhaW50c0hlYWRlciA9IGBlZGl0b3IucmVjb3JkLmZvcm0uY29uc3RyYWludC5oZWFkZXIuJHt0aGlzLmNvbnN0cmFpbnRUeXBlfWBcbiAgfVxuXG4gIGhhbmRsZUNvbnN0cmFpbnRDaGFuZ2UoY29uc3RyYWludDogQ29uc3RyYWludCwgaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gWy4uLnRoaXMudmFsdWVdXG4gICAgbmV3VmFsdWVbaW5kZXhdID0gY29uc3RyYWludFxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSlcbiAgfVxuXG4gIGhhbmRsZUNvbnN0cmFpbnRzT3JkZXJDaGFuZ2UoY29uc3RyYWludHM6IENvbnN0cmFpbnRbXSkge1xuICAgIGNvbnN0IHVwZGF0ZWRDb25zdHJhaW50cyA9IFsuLi5jb25zdHJhaW50c11cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodXBkYXRlZENvbnN0cmFpbnRzKVxuICB9XG5cbiAgYWRkQ29uc3RyYWludFNlY3Rpb25Ub0Rpc3BsYXkoKSB7XG4gICAgY29uc3QgdXBkYXRlZENvbnN0cmFpbnRzID0gWy4uLnRoaXMudmFsdWVdXG4gICAgdXBkYXRlZENvbnN0cmFpbnRzLnB1c2goeyB0ZXh0OiAnJyB9KSAvLyB1cmw/XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHVwZGF0ZWRDb25zdHJhaW50cylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGZsZXgtY29sIGdhcC0yXCIgW2F0dHIuZGF0YS1jeV09XCJjb25zdHJhaW50VHlwZVwiPlxuICA8c3BhbiBjbGFzcz1cImJvcmRlci10IGJvcmRlci1ncmF5LTMwMCBmbGV4IGdyb3cgcGItWzMycHhdXCI+PC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZCBtYi0zXCI+e3sgY29uc3RyYWludHNIZWFkZXIgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDxnbi11aS1idXR0b25cbiAgICB0eXBlPVwiZ3JheVwiXG4gICAgKGJ1dHRvbkNsaWNrKT1cImFkZENvbnN0cmFpbnRTZWN0aW9uVG9EaXNwbGF5KClcIlxuICAgIGRhdGEtY3k9XCJhZGQtY29uc3RyYWludC1idG5cIlxuICA+XG4gICAgPG5nLWljb24gbmFtZT1cImljb25vaXJQbHVzXCIgY2xhc3M9XCJ0ZXh0LXByaW1hcnlcIj48L25nLWljb24+XG4gICAgJm5ic3A7PHNwYW4+e3sgYWRkaXRpb25hbENvbnN0cmFpbnRzQnV0dG9uTGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDwvZ24tdWktYnV0dG9uPlxuICA8Z24tdWktc29ydGFibGUtbGlzdFxuICAgIFtpdGVtc109XCJ2YWx1ZVwiXG4gICAgKGl0ZW1zT3JkZXJDaGFuZ2UpPVwiaGFuZGxlQ29uc3RyYWludHNPcmRlckNoYW5nZSgkZXZlbnQpXCJcbiAgICBbZWxlbWVudFRlbXBsYXRlXT1cImNvbnN0cmFpbnRUZW1wbGF0ZVwiXG4gID48L2duLXVpLXNvcnRhYmxlLWxpc3Q+XG4gIDxuZy10ZW1wbGF0ZSAjY29uc3RyYWludFRlbXBsYXRlIGxldC1jb25zdHJhaW50IGxldC1pbmRleD1cImluZGV4XCI+XG4gICAgPGduLXVpLWNvbnN0cmFpbnQtY2FyZFxuICAgICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICAgIFtjb25zdHJhaW50XT1cImNvbnN0cmFpbnRcIlxuICAgICAgKGNvbnN0cmFpbnRDaGFuZ2UpPVwiaGFuZGxlQ29uc3RyYWludENoYW5nZSgkZXZlbnQsIGluZGV4KVwiXG4gICAgPjwvZ24tdWktY29uc3RyYWludC1jYXJkPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export const NOT_APPLICABLE_CONSTRAINT = {
|
|
2
|
+
text: 'No conditions apply to access and use',
|
|
3
|
+
url: new URL('http://inspire.ec.europa.eu/metadata-codelist/ConditionsApplyingToAccessAndUse/noConditionsApply'),
|
|
4
|
+
};
|
|
5
|
+
export const NOT_KNOWN_CONSTRAINT = {
|
|
6
|
+
text: 'Conditions unknown',
|
|
7
|
+
url: new URL('http://inspire.ec.europa.eu/metadata-codelist/ConditionsApplyingToAccessAndUse/conditionsUnknown'),
|
|
8
|
+
};
|
|
9
|
+
export function matchesNoApplicableConstraint(constraint) {
|
|
10
|
+
if (constraint.url?.toString() === NOT_APPLICABLE_CONSTRAINT.url.toString()) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
const match = (text) => {
|
|
14
|
+
if (!text)
|
|
15
|
+
return false;
|
|
16
|
+
const trimmed = text.toLowerCase().trim();
|
|
17
|
+
return (trimmed == 'no conditions apply' ||
|
|
18
|
+
trimmed == 'no conditions apply to access and use' ||
|
|
19
|
+
trimmed == "aucune condition ne s'applique");
|
|
20
|
+
};
|
|
21
|
+
return match(constraint.text) || match(constraint.translations?.text?.en);
|
|
22
|
+
}
|
|
23
|
+
export function matchesNoKnownConstraint(constraint) {
|
|
24
|
+
if (constraint.url?.toString() === NOT_KNOWN_CONSTRAINT.url.toString()) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
const match = (text) => {
|
|
28
|
+
if (!text)
|
|
29
|
+
return false;
|
|
30
|
+
const trimmed = text.toLowerCase().trim();
|
|
31
|
+
return trimmed == 'conditions unknown' || trimmed == 'conditions inconnues';
|
|
32
|
+
};
|
|
33
|
+
return match(constraint.text) || match(constraint.translations?.text?.en);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RyYWludHMudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtY29uc3RyYWludHMtc2hvcnRjdXRzL2NvbnN0cmFpbnRzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFlO0lBQ25ELElBQUksRUFBRSx1Q0FBdUM7SUFDN0MsR0FBRyxFQUFFLElBQUksR0FBRyxDQUNWLGtHQUFrRyxDQUNuRztDQUNGLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBZTtJQUM5QyxJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLEdBQUcsRUFBRSxJQUFJLEdBQUcsQ0FDVixrR0FBa0csQ0FDbkc7Q0FDRixDQUFBO0FBRUQsTUFBTSxVQUFVLDZCQUE2QixDQUFDLFVBQXNCO0lBQ2xFLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUM1RSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1FBQzdCLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUE7UUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3pDLE9BQU8sQ0FDTCxPQUFPLElBQUkscUJBQXFCO1lBQ2hDLE9BQU8sSUFBSSx1Q0FBdUM7WUFDbEQsT0FBTyxJQUFJLGdDQUFnQyxDQUM1QyxDQUFBO0lBQ0gsQ0FBQyxDQUFBO0lBQ0QsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUMzRSxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFVBQXNCO0lBQzdELElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUN2RSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1FBQzdCLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUE7UUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3pDLE9BQU8sT0FBTyxJQUFJLG9CQUFvQixJQUFJLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQTtJQUM3RSxDQUFDLENBQUE7SUFDRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJhaW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuXG5leHBvcnQgY29uc3QgTk9UX0FQUExJQ0FCTEVfQ09OU1RSQUlOVDogQ29uc3RyYWludCA9IHtcbiAgdGV4dDogJ05vIGNvbmRpdGlvbnMgYXBwbHkgdG8gYWNjZXNzIGFuZCB1c2UnLFxuICB1cmw6IG5ldyBVUkwoXG4gICAgJ2h0dHA6Ly9pbnNwaXJlLmVjLmV1cm9wYS5ldS9tZXRhZGF0YS1jb2RlbGlzdC9Db25kaXRpb25zQXBwbHlpbmdUb0FjY2Vzc0FuZFVzZS9ub0NvbmRpdGlvbnNBcHBseSdcbiAgKSxcbn1cbmV4cG9ydCBjb25zdCBOT1RfS05PV05fQ09OU1RSQUlOVDogQ29uc3RyYWludCA9IHtcbiAgdGV4dDogJ0NvbmRpdGlvbnMgdW5rbm93bicsXG4gIHVybDogbmV3IFVSTChcbiAgICAnaHR0cDovL2luc3BpcmUuZWMuZXVyb3BhLmV1L21ldGFkYXRhLWNvZGVsaXN0L0NvbmRpdGlvbnNBcHBseWluZ1RvQWNjZXNzQW5kVXNlL2NvbmRpdGlvbnNVbmtub3duJ1xuICApLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hlc05vQXBwbGljYWJsZUNvbnN0cmFpbnQoY29uc3RyYWludDogQ29uc3RyYWludCk6IGJvb2xlYW4ge1xuICBpZiAoY29uc3RyYWludC51cmw/LnRvU3RyaW5nKCkgPT09IE5PVF9BUFBMSUNBQkxFX0NPTlNUUkFJTlQudXJsLnRvU3RyaW5nKCkpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIGNvbnN0IG1hdGNoID0gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGlmICghdGV4dCkgcmV0dXJuIGZhbHNlXG4gICAgY29uc3QgdHJpbW1lZCA9IHRleHQudG9Mb3dlckNhc2UoKS50cmltKClcbiAgICByZXR1cm4gKFxuICAgICAgdHJpbW1lZCA9PSAnbm8gY29uZGl0aW9ucyBhcHBseScgfHxcbiAgICAgIHRyaW1tZWQgPT0gJ25vIGNvbmRpdGlvbnMgYXBwbHkgdG8gYWNjZXNzIGFuZCB1c2UnIHx8XG4gICAgICB0cmltbWVkID09IFwiYXVjdW5lIGNvbmRpdGlvbiBuZSBzJ2FwcGxpcXVlXCJcbiAgICApXG4gIH1cbiAgcmV0dXJuIG1hdGNoKGNvbnN0cmFpbnQudGV4dCkgfHwgbWF0Y2goY29uc3RyYWludC50cmFuc2xhdGlvbnM/LnRleHQ/LmVuKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hlc05vS25vd25Db25zdHJhaW50KGNvbnN0cmFpbnQ6IENvbnN0cmFpbnQpOiBib29sZWFuIHtcbiAgaWYgKGNvbnN0cmFpbnQudXJsPy50b1N0cmluZygpID09PSBOT1RfS05PV05fQ09OU1RSQUlOVC51cmwudG9TdHJpbmcoKSkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgY29uc3QgbWF0Y2ggPSAodGV4dDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gZmFsc2VcbiAgICBjb25zdCB0cmltbWVkID0gdGV4dC50b0xvd2VyQ2FzZSgpLnRyaW0oKVxuICAgIHJldHVybiB0cmltbWVkID09ICdjb25kaXRpb25zIHVua25vd24nIHx8IHRyaW1tZWQgPT0gJ2NvbmRpdGlvbnMgaW5jb25udWVzJ1xuICB9XG4gIHJldHVybiBtYXRjaChjb25zdHJhaW50LnRleHQpIHx8IG1hdGNoKGNvbnN0cmFpbnQudHJhbnNsYXRpb25zPy50ZXh0Py5lbilcbn1cbiJdfQ==
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { EditorFacade } from '../../../../+state/editor.facade';
|
|
4
|
+
import { ButtonComponent, CheckToggleComponent } from '../../../../../../../../../libs/ui/inputs/src';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
import { combineLatest, distinctUntilChanged, firstValueFrom, map, Subject, takeUntil, } from 'rxjs';
|
|
7
|
+
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
8
|
+
import { matchesNoApplicableConstraint, matchesNoKnownConstraint, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, } from './constraints.utils';
|
|
9
|
+
import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
|
|
10
|
+
import { iconoirPlus } from '@ng-icons/iconoir';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../../../../+state/editor.facade";
|
|
13
|
+
import * as i2 from "@angular/common";
|
|
14
|
+
import * as i3 from "@ngx-translate/core";
|
|
15
|
+
marker('editor.record.form.constraint.legalConstraints');
|
|
16
|
+
marker('editor.record.form.constraint.securityConstraints');
|
|
17
|
+
marker('editor.record.form.constraint.otherConstraints');
|
|
18
|
+
/**
|
|
19
|
+
* This component offers two toggles to easily define common constraints (no applicable constraint
|
|
20
|
+
* and no known constraint) and shows and hides the various constraints fields accordingly using
|
|
21
|
+
* the facade
|
|
22
|
+
*/
|
|
23
|
+
export class FormFieldConstraintsShortcutsComponent {
|
|
24
|
+
constructor(editorFacade) {
|
|
25
|
+
this.editorFacade = editorFacade;
|
|
26
|
+
this.legalConstraints$ = this.editorFacade.record$.pipe(map((record) => record?.legalConstraints ?? []));
|
|
27
|
+
this.securityConstraints$ = this.editorFacade.record$.pipe(map((record) => record?.securityConstraints ?? []));
|
|
28
|
+
this.otherConstraints$ = this.editorFacade.record$.pipe(map((record) => record?.otherConstraints ?? []));
|
|
29
|
+
this.noApplicableConstraint$ = this.legalConstraints$.pipe(map((constraints) => constraints.some((constraint) => matchesNoApplicableConstraint(constraint))));
|
|
30
|
+
this.noKnownConstraint$ = this.legalConstraints$.pipe(map((constraints) => constraints.some((constraint) => matchesNoKnownConstraint(constraint))));
|
|
31
|
+
this.anyToggleActivated$ = combineLatest([
|
|
32
|
+
this.noApplicableConstraint$,
|
|
33
|
+
this.noKnownConstraint$,
|
|
34
|
+
]).pipe(map(([noApplicableConstraint, noKnownConstraint]) => noApplicableConstraint || noKnownConstraint));
|
|
35
|
+
this.constraintButtonChoices = [
|
|
36
|
+
'legalConstraints',
|
|
37
|
+
'securityConstraints',
|
|
38
|
+
'otherConstraints',
|
|
39
|
+
];
|
|
40
|
+
this.onDestroy$ = new Subject();
|
|
41
|
+
}
|
|
42
|
+
ngOnInit() {
|
|
43
|
+
// hide all constraints if any toggle is activated
|
|
44
|
+
this.anyToggleActivated$
|
|
45
|
+
.pipe(takeUntil(this.onDestroy$), distinctUntilChanged())
|
|
46
|
+
.subscribe((anyToggleActivated) => {
|
|
47
|
+
if (anyToggleActivated) {
|
|
48
|
+
this.hideAllConstraintSections();
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
// also hide constraints which are empty arrays
|
|
52
|
+
const hideEmptyConstraints = (constraints$, model) => {
|
|
53
|
+
const isConstraintNotEmpty$ = constraints$.pipe(takeUntil(this.onDestroy$), map((c) => c.length > 0), distinctUntilChanged());
|
|
54
|
+
combineLatest([
|
|
55
|
+
isConstraintNotEmpty$,
|
|
56
|
+
this.anyToggleActivated$,
|
|
57
|
+
]).subscribe(([isNotEmpty, anyToggleActivated]) => {
|
|
58
|
+
const visible = isNotEmpty && !anyToggleActivated;
|
|
59
|
+
this.editorFacade.setFieldVisibility({ model }, visible);
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
hideEmptyConstraints(this.legalConstraints$, 'legalConstraints');
|
|
63
|
+
hideEmptyConstraints(this.securityConstraints$, 'securityConstraints');
|
|
64
|
+
hideEmptyConstraints(this.otherConstraints$, 'otherConstraints');
|
|
65
|
+
}
|
|
66
|
+
ngOnDestroy() {
|
|
67
|
+
this.onDestroy$.next();
|
|
68
|
+
}
|
|
69
|
+
hideAllConstraintSections() {
|
|
70
|
+
this.editorFacade.setFieldVisibility({ model: 'legalConstraints' }, false);
|
|
71
|
+
this.editorFacade.setFieldVisibility({ model: 'securityConstraints' }, false);
|
|
72
|
+
this.editorFacade.setFieldVisibility({ model: 'otherConstraints' }, false);
|
|
73
|
+
}
|
|
74
|
+
async onToggleChange(toggleName, value) {
|
|
75
|
+
if (value) {
|
|
76
|
+
const presetConstraint = toggleName === 'noApplicableConstraint'
|
|
77
|
+
? NOT_APPLICABLE_CONSTRAINT
|
|
78
|
+
: NOT_KNOWN_CONSTRAINT;
|
|
79
|
+
this.editorFacade.updateRecordField('legalConstraints', [
|
|
80
|
+
presetConstraint,
|
|
81
|
+
]);
|
|
82
|
+
this.hideAllConstraintSections();
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const matcher = toggleName === 'noApplicableConstraint'
|
|
86
|
+
? matchesNoApplicableConstraint
|
|
87
|
+
: matchesNoKnownConstraint;
|
|
88
|
+
// if the toggle is turned off, remove all matching constraints
|
|
89
|
+
const constraints = await firstValueFrom(this.legalConstraints$);
|
|
90
|
+
this.editorFacade.updateRecordField('legalConstraints', constraints.filter((c) => !matcher(c)));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
isConstraintButtonDisabled$(constraintSection) {
|
|
94
|
+
switch (constraintSection) {
|
|
95
|
+
case 'legalConstraints':
|
|
96
|
+
return this.legalConstraints$.pipe(map((constraints) => constraints.length > 0));
|
|
97
|
+
case 'securityConstraints':
|
|
98
|
+
return this.securityConstraints$.pipe(map((constraints) => constraints.length > 0));
|
|
99
|
+
case 'otherConstraints':
|
|
100
|
+
return this.otherConstraints$.pipe(map((constraints) => constraints.length > 0));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
addConstraintSectionToDisplay(constraintSection) {
|
|
104
|
+
this.editorFacade.updateRecordField(constraintSection, [{ text: '' }]);
|
|
105
|
+
this.editorFacade.setFieldVisibility({ model: constraintSection }, true);
|
|
106
|
+
}
|
|
107
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldConstraintsShortcutsComponent, deps: [{ token: i1.EditorFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldConstraintsShortcutsComponent, isStandalone: true, selector: "gn-ui-form-field-constraints-shortcuts", providers: [
|
|
109
|
+
provideIcons({ iconoirPlus }),
|
|
110
|
+
provideNgIconsConfig({
|
|
111
|
+
size: '1.5rem',
|
|
112
|
+
}),
|
|
113
|
+
], ngImport: i0, template: "<div class=\"flex flex-col gap-2 mb-2\" data-cy=\"constraints-shortcut-toggles\">\n <gn-ui-check-toggle\n [label]=\"'editor.record.form.constraint.not.applicable' | translate\"\n [value]=\"noApplicableConstraint$ | async\"\n (toggled)=\"onToggleChange('noApplicableConstraint', $event)\"\n >\n </gn-ui-check-toggle>\n <gn-ui-check-toggle\n [label]=\"'editor.record.form.constraint.not.known' | translate\"\n [value]=\"noKnownConstraint$ | async\"\n (toggled)=\"onToggleChange('noKnownConstraint', $event)\"\n >\n </gn-ui-check-toggle>\n</div>\n\n<div\n *ngIf=\"(anyToggleActivated$ | async) === false\"\n class=\"flex flex-row flex-wrap gap-2\"\n data-cy=\"constraints-shortcut-btns\"\n>\n <ng-container *ngFor=\"let constraint of constraintButtonChoices\">\n <gn-ui-button\n type=\"gray\"\n (buttonClick)=\"addConstraintSectionToDisplay(constraint)\"\n [disabled]=\"isConstraintButtonDisabled$(constraint) | async\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span>{{\n 'editor.record.form.constraint.' + constraint | translate\n }}</span>\n </gn-ui-button>\n </ng-container>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], 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: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: CheckToggleComponent, selector: "gn-ui-check-toggle", inputs: ["title", "label", "value", "color"], outputs: ["toggled"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
114
|
+
}
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldConstraintsShortcutsComponent, decorators: [{
|
|
116
|
+
type: Component,
|
|
117
|
+
args: [{ selector: 'gn-ui-form-field-constraints-shortcuts', standalone: true, imports: [
|
|
118
|
+
CommonModule,
|
|
119
|
+
CheckToggleComponent,
|
|
120
|
+
ButtonComponent,
|
|
121
|
+
TranslateModule,
|
|
122
|
+
NgIconComponent,
|
|
123
|
+
], providers: [
|
|
124
|
+
provideIcons({ iconoirPlus }),
|
|
125
|
+
provideNgIconsConfig({
|
|
126
|
+
size: '1.5rem',
|
|
127
|
+
}),
|
|
128
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-2 mb-2\" data-cy=\"constraints-shortcut-toggles\">\n <gn-ui-check-toggle\n [label]=\"'editor.record.form.constraint.not.applicable' | translate\"\n [value]=\"noApplicableConstraint$ | async\"\n (toggled)=\"onToggleChange('noApplicableConstraint', $event)\"\n >\n </gn-ui-check-toggle>\n <gn-ui-check-toggle\n [label]=\"'editor.record.form.constraint.not.known' | translate\"\n [value]=\"noKnownConstraint$ | async\"\n (toggled)=\"onToggleChange('noKnownConstraint', $event)\"\n >\n </gn-ui-check-toggle>\n</div>\n\n<div\n *ngIf=\"(anyToggleActivated$ | async) === false\"\n class=\"flex flex-row flex-wrap gap-2\"\n data-cy=\"constraints-shortcut-btns\"\n>\n <ng-container *ngFor=\"let constraint of constraintButtonChoices\">\n <gn-ui-button\n type=\"gray\"\n (buttonClick)=\"addConstraintSectionToDisplay(constraint)\"\n [disabled]=\"isConstraintButtonDisabled$(constraint) | async\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span>{{\n 'editor.record.form.constraint.' + constraint | translate\n }}</span>\n </gn-ui-button>\n </ng-container>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
129
|
+
}], ctorParameters: () => [{ type: i1.EditorFacade }] });
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jb25zdHJhaW50cy1zaG9ydGN1dHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkLWZvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLWNvbnN0cmFpbnRzLXNob3J0Y3V0cy9mb3JtLWZpZWxkLWNvbnN0cmFpbnRzLXNob3J0Y3V0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtY29uc3RyYWludHMtc2hvcnRjdXRzL2Zvcm0tZmllbGQtY29uc3RyYWludHMtc2hvcnRjdXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFBO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsR0FBRyxFQUVILE9BQU8sRUFDUCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFaEUsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pC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Z3ksXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBFZGl0b3JGYWNhZGUgfSBmcm9tICcuLi8uLi8uLi8uLi8rc3RhdGUvZWRpdG9yLmZhY2FkZSdcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCwgQ2hlY2tUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHtcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpcnN0VmFsdWVGcm9tLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IENvbnN0cmFpbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBtYXRjaGVzTm9BcHBsaWNhYmxlQ29uc3RyYWludCxcbiAgbWF0Y2hlc05vS25vd25Db25zdHJhaW50LFxuICBOT1RfQVBQTElDQUJMRV9DT05TVFJBSU5ULFxuICBOT1RfS05PV05fQ09OU1RSQUlOVCxcbn0gZnJvbSAnLi9jb25zdHJhaW50cy51dGlscydcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBpY29ub2lyUGx1cyB9IGZyb20gJ0BuZy1pY29ucy9pY29ub2lyJ1xuXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5jb25zdHJhaW50LmxlZ2FsQ29uc3RyYWludHMnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uY29uc3RyYWludC5zZWN1cml0eUNvbnN0cmFpbnRzJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmNvbnN0cmFpbnQub3RoZXJDb25zdHJhaW50cycpXG5cbmV4cG9ydCB0eXBlIENvbnN0cmFpbnRDaG9pY2UgPVxuICB8ICdsZWdhbENvbnN0cmFpbnRzJ1xuICB8ICdzZWN1cml0eUNvbnN0cmFpbnRzJ1xuICB8ICdvdGhlckNvbnN0cmFpbnRzJ1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IG9mZmVycyB0d28gdG9nZ2xlcyB0byBlYXNpbHkgZGVmaW5lIGNvbW1vbiBjb25zdHJhaW50cyAobm8gYXBwbGljYWJsZSBjb25zdHJhaW50XG4gKiBhbmQgbm8ga25vd24gY29uc3RyYWludCkgYW5kIHNob3dzIGFuZCBoaWRlcyB0aGUgdmFyaW91cyBjb25zdHJhaW50cyBmaWVsZHMgYWNjb3JkaW5nbHkgdXNpbmdcbiAqIHRoZSBmYWNhZGVcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1jb25zdHJhaW50cy1zaG9ydGN1dHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENoZWNrVG9nZ2xlQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoeyBpY29ub2lyUGx1cyB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41cmVtJyxcbiAgICB9KSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtY29uc3RyYWludHMtc2hvcnRjdXRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC1jb25zdHJhaW50cy1zaG9ydGN1dHMuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkQ29uc3RyYWludHNTaG9ydGN1dHNDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBsZWdhbENvbnN0cmFpbnRzJCA9IHRoaXMuZWRpdG9yRmFjYWRlLnJlY29yZCQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4gcmVjb3JkPy5sZWdhbENvbnN0cmFpbnRzID8/IFtdKVxuICApXG4gIHNlY3VyaXR5Q29uc3RyYWludHMkID0gdGhpcy5lZGl0b3JGYWNhZGUucmVjb3JkJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiByZWNvcmQ/LnNlY3VyaXR5Q29uc3RyYWludHMgPz8gW10pXG4gIClcbiAgb3RoZXJDb25zdHJhaW50cyQgPSB0aGlzLmVkaXRvckZhY2FkZS5yZWNvcmQkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+IHJlY29yZD8ub3RoZXJDb25zdHJhaW50cyA/PyBbXSlcbiAgKVxuXG4gIG5vQXBwbGljYWJsZUNvbnN0cmFpbnQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5sZWdhbENvbnN0cmFpbnRzJC5waXBlKFxuICAgIG1hcCgoY29uc3RyYWludHMpID0+XG4gICAgICBjb25zdHJhaW50cy5zb21lKChjb25zdHJhaW50KSA9PlxuICAgICAgICBtYXRjaGVzTm9BcHBsaWNhYmxlQ29uc3RyYWludChjb25zdHJhaW50KVxuICAgICAgKVxuICAgIClcbiAgKVxuICBub0tub3duQ29uc3RyYWludCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmxlZ2FsQ29uc3RyYWludHMkLnBpcGUoXG4gICAgbWFwKChjb25zdHJhaW50cykgPT5cbiAgICAgIGNvbnN0cmFpbnRzLnNvbWUoKGNvbnN0cmFpbnQpID0+IG1hdGNoZXNOb0tub3duQ29uc3RyYWludChjb25zdHJhaW50KSlcbiAgICApXG4gIClcbiAgYW55VG9nZ2xlQWN0aXZhdGVkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubm9BcHBsaWNhYmxlQ29uc3RyYWludCQsXG4gICAgdGhpcy5ub0tub3duQ29uc3RyYWludCQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKFxuICAgICAgKFtub0FwcGxpY2FibGVDb25zdHJhaW50LCBub0tub3duQ29uc3RyYWludF0pID0+XG4gICAgICAgIG5vQXBwbGljYWJsZUNvbnN0cmFpbnQgfHwgbm9Lbm93bkNvbnN0cmFpbnRcbiAgICApXG4gIClcblxuICBjb25zdHJhaW50QnV0dG9uQ2hvaWNlczogQ29uc3RyYWludENob2ljZVtdID0gW1xuICAgICdsZWdhbENvbnN0cmFpbnRzJyxcbiAgICAnc2VjdXJpdHlDb25zdHJhaW50cycsXG4gICAgJ290aGVyQ29uc3RyYWludHMnLFxuICBdXG5cbiAgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVkaXRvckZhY2FkZTogRWRpdG9yRmFjYWRlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIGhpZGUgYWxsIGNvbnN0cmFpbnRzIGlmIGFueSB0b2dnbGUgaXMgYWN0aXZhdGVkXG4gICAgdGhpcy5hbnlUb2dnbGVBY3RpdmF0ZWQkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFueVRvZ2dsZUFjdGl2YXRlZCkgPT4ge1xuICAgICAgICBpZiAoYW55VG9nZ2xlQWN0aXZhdGVkKSB7XG4gICAgICAgICAgdGhpcy5oaWRlQWxsQ29uc3RyYWludFNlY3Rpb25zKClcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgIC8vIGFsc28gaGlkZSBjb25zdHJhaW50cyB3aGljaCBhcmUgZW1wdHkgYXJyYXlzXG4gICAgY29uc3QgaGlkZUVtcHR5Q29uc3RyYWludHMgPSAoXG4gICAgICBjb25zdHJhaW50cyQ6IE9ic2VydmFibGU8Q29uc3RyYWludFtdPixcbiAgICAgIG1vZGVsOiBDb25zdHJhaW50Q2hvaWNlXG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpc0NvbnN0cmFpbnROb3RFbXB0eSQgPSBjb25zdHJhaW50cyQucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCksXG4gICAgICAgIG1hcCgoYykgPT4gYy5sZW5ndGggPiAwKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKVxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIGlzQ29uc3RyYWludE5vdEVtcHR5JCxcbiAgICAgICAgdGhpcy5hbnlUb2dnbGVBY3RpdmF0ZWQkLFxuICAgICAgXSkuc3Vic2NyaWJlKChbaXNOb3RFbXB0eSwgYW55VG9nZ2xlQWN0aXZhdGVkXSkgPT4ge1xuICAgICAgICBjb25zdCB2aXNpYmxlID0gaXNOb3RFbXB0eSAmJiAhYW55VG9nZ2xlQWN0aXZhdGVkXG4gICAgICAgIHRoaXMuZWRpdG9yRmFjYWRlLnNldEZpZWxkVmlzaWJpbGl0eSh7IG1vZGVsIH0sIHZpc2libGUpXG4gICAgICB9KVxuICAgIH1cbiAgICBoaWRlRW1wdHlDb25zdHJhaW50cyh0aGlzLmxlZ2FsQ29uc3RyYWludHMkLCAnbGVnYWxDb25zdHJhaW50cycpXG4gICAgaGlkZUVtcHR5Q29uc3RyYWludHModGhpcy5zZWN1cml0eUNvbnN0cmFpbnRzJCwgJ3NlY3VyaXR5Q29uc3RyYWludHMnKVxuICAgIGhpZGVFbXB0eUNvbnN0cmFpbnRzKHRoaXMub3RoZXJDb25zdHJhaW50cyQsICdvdGhlckNvbnN0cmFpbnRzJylcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KClcbiAgfVxuXG4gIGhpZGVBbGxDb25zdHJhaW50U2VjdGlvbnMoKSB7XG4gICAgdGhpcy5lZGl0b3JGYWNhZGUuc2V0RmllbGRWaXNpYmlsaXR5KHsgbW9kZWw6ICdsZWdhbENvbnN0cmFpbnRzJyB9LCBmYWxzZSlcbiAgICB0aGlzLmVkaXRvckZhY2FkZS5zZXRGaWVsZFZpc2liaWxpdHkoXG4gICAgICB7IG1vZGVsOiAnc2VjdXJpdHlDb25zdHJhaW50cycgfSxcbiAgICAgIGZhbHNlXG4gICAgKVxuICAgIHRoaXMuZWRpdG9yRmFjYWRlLnNldEZpZWxkVmlzaWJpbGl0eSh7IG1vZGVsOiAnb3RoZXJDb25zdHJhaW50cycgfSwgZmFsc2UpXG4gIH1cblxuICBhc3luYyBvblRvZ2dsZUNoYW5nZShcbiAgICB0b2dnbGVOYW1lOiAnbm9BcHBsaWNhYmxlQ29uc3RyYWludCcgfCAnbm9Lbm93bkNvbnN0cmFpbnQnLFxuICAgIHZhbHVlOiBib29sZWFuXG4gICkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3QgcHJlc2V0Q29uc3RyYWludCA9XG4gICAgICAgIHRvZ2dsZU5hbWUgPT09ICdub0FwcGxpY2FibGVDb25zdHJhaW50J1xuICAgICAgICAgID8gTk9UX0FQUExJQ0FCTEVfQ09OU1RSQUlOVFxuICAgICAgICAgIDogTk9UX0tOT1dOX0NPTlNUUkFJTlRcbiAgICAgIHRoaXMuZWRpdG9yRmFjYWRlLnVwZGF0ZVJlY29yZEZpZWxkKCdsZWdhbENvbnN0cmFpbnRzJywgW1xuICAgICAgICBwcmVzZXRDb25zdHJhaW50LFxuICAgICAgXSlcbiAgICAgIHRoaXMuaGlkZUFsbENvbnN0cmFpbnRTZWN0aW9ucygpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1hdGNoZXIgPVxuICAgICAgICB0b2dnbGVOYW1lID09PSAnbm9BcHBsaWNhYmxlQ29uc3RyYWludCdcbiAgICAgICAgICA/IG1hdGNoZXNOb0FwcGxpY2FibGVDb25zdHJhaW50XG4gICAgICAgICAgOiBtYXRjaGVzTm9Lbm93bkNvbnN0cmFpbnRcbiAgICAgIC8vIGlmIHRoZSB0b2dnbGUgaXMgdHVybmVkIG9mZiwgcmVtb3ZlIGFsbCBtYXRjaGluZyBjb25zdHJhaW50c1xuICAgICAgY29uc3QgY29uc3RyYWludHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmxlZ2FsQ29uc3RyYWludHMkKVxuICAgICAgdGhpcy5lZGl0b3JGYWNhZGUudXBkYXRlUmVjb3JkRmllbGQoXG4gICAgICAgICdsZWdhbENvbnN0cmFpbnRzJyxcbiAgICAgICAgY29uc3RyYWludHMuZmlsdGVyKChjKSA9PiAhbWF0Y2hlcihjKSlcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBpc0NvbnN0cmFpbnRCdXR0b25EaXNhYmxlZCQoXG4gICAgY29uc3RyYWludFNlY3Rpb246IENvbnN0cmFpbnRDaG9pY2VcbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgc3dpdGNoIChjb25zdHJhaW50U2VjdGlvbikge1xuICAgICAgY2FzZSAnbGVnYWxDb25zdHJhaW50cyc6XG4gICAgICAgIHJldHVybiB0aGlzLmxlZ2FsQ29uc3RyYWludHMkLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdHJhaW50cykgPT4gY29uc3RyYWludHMubGVuZ3RoID4gMClcbiAgICAgICAgKVxuICAgICAgY2FzZSAnc2VjdXJpdHlDb25zdHJhaW50cyc6XG4gICAgICAgIHJldHVybiB0aGlzLnNlY3VyaXR5Q29uc3RyYWludHMkLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdHJhaW50cykgPT4gY29uc3RyYWludHMubGVuZ3RoID4gMClcbiAgICAgICAgKVxuICAgICAgY2FzZSAnb3RoZXJDb25zdHJhaW50cyc6XG4gICAgICAgIHJldHVybiB0aGlzLm90aGVyQ29uc3RyYWludHMkLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdHJhaW50cykgPT4gY29uc3RyYWludHMubGVuZ3RoID4gMClcbiAgICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIGFkZENvbnN0cmFpbnRTZWN0aW9uVG9EaXNwbGF5KGNvbnN0cmFpbnRTZWN0aW9uOiBDb25zdHJhaW50Q2hvaWNlKSB7XG4gICAgdGhpcy5lZGl0b3JGYWNhZGUudXBkYXRlUmVjb3JkRmllbGQoY29uc3RyYWludFNlY3Rpb24sIFt7IHRleHQ6ICcnIH1dKVxuICAgIHRoaXMuZWRpdG9yRmFjYWRlLnNldEZpZWxkVmlzaWJpbGl0eSh7IG1vZGVsOiBjb25zdHJhaW50U2VjdGlvbiB9LCB0cnVlKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMiBtYi0yXCIgZGF0YS1jeT1cImNvbnN0cmFpbnRzLXNob3J0Y3V0LXRvZ2dsZXNcIj5cbiAgPGduLXVpLWNoZWNrLXRvZ2dsZVxuICAgIFtsYWJlbF09XCInZWRpdG9yLnJlY29yZC5mb3JtLmNvbnN0cmFpbnQubm90LmFwcGxpY2FibGUnIHwgdHJhbnNsYXRlXCJcbiAgICBbdmFsdWVdPVwibm9BcHBsaWNhYmxlQ29uc3RyYWludCQgfCBhc3luY1wiXG4gICAgKHRvZ2dsZWQpPVwib25Ub2dnbGVDaGFuZ2UoJ25vQXBwbGljYWJsZUNvbnN0cmFpbnQnLCAkZXZlbnQpXCJcbiAgPlxuICA8L2duLXVpLWNoZWNrLXRvZ2dsZT5cbiAgPGduLXVpLWNoZWNrLXRvZ2dsZVxuICAgIFtsYWJlbF09XCInZWRpdG9yLnJlY29yZC5mb3JtLmNvbnN0cmFpbnQubm90Lmtub3duJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3ZhbHVlXT1cIm5vS25vd25Db25zdHJhaW50JCB8IGFzeW5jXCJcbiAgICAodG9nZ2xlZCk9XCJvblRvZ2dsZUNoYW5nZSgnbm9Lbm93bkNvbnN0cmFpbnQnLCAkZXZlbnQpXCJcbiAgPlxuICA8L2duLXVpLWNoZWNrLXRvZ2dsZT5cbjwvZGl2PlxuXG48ZGl2XG4gICpuZ0lmPVwiKGFueVRvZ2dsZUFjdGl2YXRlZCQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBnYXAtMlwiXG4gIGRhdGEtY3k9XCJjb25zdHJhaW50cy1zaG9ydGN1dC1idG5zXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29uc3RyYWludCBvZiBjb25zdHJhaW50QnV0dG9uQ2hvaWNlc1wiPlxuICAgIDxnbi11aS1idXR0b25cbiAgICAgIHR5cGU9XCJncmF5XCJcbiAgICAgIChidXR0b25DbGljayk9XCJhZGRDb25zdHJhaW50U2VjdGlvblRvRGlzcGxheShjb25zdHJhaW50KVwiXG4gICAgICBbZGlzYWJsZWRdPVwiaXNDb25zdHJhaW50QnV0dG9uRGlzYWJsZWQkKGNvbnN0cmFpbnQpIHwgYXN5bmNcIlxuICAgID5cbiAgICAgIDxuZy1pY29uIG5hbWU9XCJpY29ub2lyUGx1c1wiIGNsYXNzPVwidGV4dC1wcmltYXJ5XCI+PC9uZy1pY29uPlxuICAgICAgJm5ic3A7XG4gICAgICA8c3Bhbj57e1xuICAgICAgICAnZWRpdG9yLnJlY29yZC5mb3JtLmNvbnN0cmFpbnQuJyArIGNvbnN0cmFpbnQgfCB0cmFuc2xhdGVcbiAgICAgIH19PC9zcGFuPlxuICAgIDwvZ24tdWktYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
@@ -86,10 +86,10 @@ export class FormFieldContactsComponent {
|
|
|
86
86
|
ngOnDestroy() {
|
|
87
87
|
this.subscription.unsubscribe();
|
|
88
88
|
}
|
|
89
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
90
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsComponent, deps: [{ token: i1.PlatformServiceInterface }, { token: i2.OrganizationsServiceInterface }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldContactsComponent, isStandalone: true, selector: "gn-ui-form-field-contacts", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'Choose a contact'\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contacts.length > 0; else noContact\">\n <ng-container *ngIf=\"contacts.length === 1\">\n <ng-container *ngFor=\"let contact of contacts; let index = index\">\n <gn-ui-contact-card\n [contact]=\"contact\"\n ></gn-ui-contact-card> </ng-container\n ></ng-container>\n\n <ng-container *ngIf=\"contacts.length > 1\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #noContact>\n <div\n class=\"p-4 text-sm border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contacts.noContact\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
91
91
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsComponent, decorators: [{
|
|
93
93
|
type: Component,
|
|
94
94
|
args: [{ selector: 'gn-ui-form-field-contacts', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
95
95
|
DropdownSelectorComponent,
|
|
@@ -100,10 +100,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
100
100
|
TranslateModule,
|
|
101
101
|
ContactCardComponent,
|
|
102
102
|
SortableListComponent,
|
|
103
|
-
], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'Choose a contact'\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contacts.length > 0; else noContact\">\n <ng-container *ngIf=\"contacts.length === 1\">\n <ng-container *ngFor=\"let contact of contacts; let index = index\">\n <gn-ui-contact-card\n [contact]=\"contact\"\n ></gn-ui-contact-card> </ng-container\n ></ng-container>\n\n <ng-container *ngIf=\"contacts.length > 1\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contacts.noContact\n </div>\n</ng-template>\n" }]
|
|
104
|
-
}], ctorParameters:
|
|
103
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'Choose a contact'\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contacts.length > 0; else noContact\">\n <ng-container *ngIf=\"contacts.length === 1\">\n <ng-container *ngFor=\"let contact of contacts; let index = index\">\n <gn-ui-contact-card\n [contact]=\"contact\"\n ></gn-ui-contact-card> </ng-container\n ></ng-container>\n\n <ng-container *ngIf=\"contacts.length > 1\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #noContact>\n <div\n class=\"p-4 text-sm border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contacts.noContact\n </div>\n</ng-template>\n" }]
|
|
104
|
+
}], ctorParameters: () => [{ type: i1.PlatformServiceInterface }, { type: i2.OrganizationsServiceInterface }, { type: i0.ChangeDetectorRef }], propDecorators: { value: [{
|
|
105
105
|
type: Input
|
|
106
106
|
}], valueChange: [{
|
|
107
107
|
type: Output
|
|
108
108
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jb250YWN0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtY29udGFjdHMvZm9ybS1maWVsZC1jb250YWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtY29udGFjdHMvZm9ybS1maWVsZC1jb250YWN0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLGNBQWMsR0FDZixNQUFNLCtDQUErQyxDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQTtBQUtoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsY0FBYyxFQUVkLFlBQVksRUFDWixTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUE7QUFFYixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQTtBQUMzSCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1RkFBdUYsQ0FBQTtBQUNySSxPQUFPLEVBQUUsb0JBQW9CLEVB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Q0FBQzsrR0FoSFUsMEJBQTBCO21HQUExQiwwQkFBMEIsK0tDeER2Qyx3d0NBd0NBLHlERE9JLGNBQWMsOEJBQ2QsWUFBWSwrUEFDWixlQUFlLCtCQUNmLHFCQUFxQiwyUkFDckIsZUFBZSxzS0FDZixvQkFBb0Isb0ZBQ3BCLHFCQUFxQjs7NEZBR1osMEJBQTBCO2tCQWpCdEMsU0FBUzsrQkFDRSwyQkFBMkIsbUJBR3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLHlCQUF5Qjt3QkFDekIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIscUJBQXFCO3FCQUN0QjsyTEFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICBVaUlucHV0c01vZHVsZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7XG4gIEluZGl2aWR1YWwsXG4gIE9yZ2FuaXphdGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpcnN0VmFsdWVGcm9tLFxuICBPYnNlcnZhYmxlLFxuICBTdWJzY3JpcHRpb24sXG4gIHN3aXRjaE1hcCxcbn0gZnJvbSAncnhqcydcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3VzZXInXG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7IE9yZ2FuaXphdGlvbnNTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvb3JnYW5pemF0aW9ucy5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7IENvbnRhY3RDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29udGFjdC1jYXJkL2NvbnRhY3QtY2FyZC5jb21wb25lbnQnXG5pbXBvcnQgeyBjcmVhdGVGdXp6eUZpbHRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBTb3J0YWJsZUxpc3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWZvcm0tZmllbGQtY29udGFjdHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC1jb250YWN0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQtY29udGFjdHMuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgVWlJbnB1dHNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIENvbnRhY3RDYXJkQ29tcG9uZW50LFxuICAgIFNvcnRhYmxlTGlzdENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkQ29udGFjdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHZhbHVlOiBJbmRpdmlkdWFsW11cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SW5kaXZpZHVhbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGNvbnRhY3RzOiBJbmRpdmlkdWFsW10gPSBbXVxuXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG5cbiAgYWxsVXNlcnMkOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPlxuXG4gIGFsbE9yZ2FuaXphdGlvbnM6IE1hcDxzdHJpbmcsIE9yZ2FuaXphdGlvbj4gPSBuZXcgTWFwKClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsYXRmb3JtU2VydmljZUludGVyZmFjZTogUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLFxuICAgIHByaXZhdGUgb3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2U6IE9yZ2FuaXphdGlvbnNTZXJ2aWNlSW50ZXJmYWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuYWxsVXNlcnMkID0gdGhpcy5wbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UuZ2V0VXNlcnMoKVxuICB9XG5cbiAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbnRhY3RzQ2hhbmdlcyA9IGNoYW5nZXNbJ3ZhbHVlJ11cblxuICAgIGlmIChjb250YWN0c0NoYW5nZXMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuYWxsT3JnYW5pemF0aW9ucyA9IG5ldyBNYXA8c3RyaW5nLCBPcmdhbml6YXRpb24+KFxuICAgICAgICAoXG4gICAgICAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLm9yZ2FuaXphdGlvbnNTZXJ2aWNlSW50ZXJmYWNlLm9yZ2FuaXNhdGlvbnMkXG4gICAgICAgICAgKVxuICAgICAgICApLm1hcCgob3JnYW5pemF0aW9uKSA9PiBbb3JnYW5pemF0aW9uLm5hbWUsIG9yZ2FuaXphdGlvbl0pXG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKGNvbnRhY3RzQ2hhbmdlcy5jdXJyZW50VmFsdWUgIT09IGNvbnRhY3RzQ2hhbmdlcy5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNvbnRhY3RzKClcblxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUNvbnRhY3RzKCkge1xuICAgIHRoaXMuY29udGFjdHMgPSB0aGlzLnZhbHVlLnJlZHVjZSgoYWNjLCBjb250YWN0KSA9PiB7XG4gICAgICBjb25zdCBjb21wbGV0ZU9yZ2FuaXphdGlvbiA9IHRoaXMuYWxsT3JnYW5pemF0aW9ucy5nZXQoXG4gICAgICAgIGNvbnRhY3Qub3JnYW5pemF0aW9uLm5hbWVcbiAgICAgIClcblxuICAgICAgY29uc3QgdXBkYXRlZENvbnRhY3QgPSB7XG4gICAgICAgIC4uLmNvbnRhY3QsXG4gICAgICAgIG9yZ2FuaXphdGlvbjpcbiAgICAgICAgICBjb21wbGV0ZU9yZ2FuaXphdGlvbiA/P1xuICAgICAgICAgICh7IG5hbWU6IGNvbnRhY3Qub3JnYW5pemF0aW9uLm5hbWUgfSBhcyBPcmdhbml6YXRpb24pLFxuICAgICAgfVxuXG4gICAgICBhY2MucHVzaCh1cGRhdGVkQ29udGFjdClcblxuICAgICAgcmV0dXJuIGFjY1xuICAgIH0sIFtdIGFzIEluZGl2aWR1YWxbXSlcbiAgfVxuXG4gIGhhbmRsZUNvbnRhY3RzQ2hhbmdlZChpdGVtczogdW5rbm93bltdKSB7XG4gICAgY29uc3QgY29udGFjdHMgPSBpdGVtcyBhcyBJbmRpdmlkdWFsW11cblxuICAgIHRoaXMuY29udGFjdHMgPSBjb250YWN0c1xuXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGNvbnRhY3RzKVxuICB9XG5cbiAgLyoqXG4gICAqIGduLXVpLWF1dG9jb21wbGV0ZVxuICAgKi9cbiAgZGlzcGxheVdpdGhGbjogKHVzZXI6IFVzZXJNb2RlbCkgPT4gc3RyaW5nID0gKHVzZXIpID0+XG4gICAgYCR7dXNlci5uYW1lfSAke3VzZXIuc3VybmFtZX0gJHtcbiAgICAgIHVzZXIub3JnYW5pc2F0aW9uID8gYCgke3VzZXIub3JnYW5pc2F0aW9ufSlgIDogJydcbiAgICB9YFxuXG4gIC8qKlxuICAgKiBnbi11aS1hdXRvY29tcGxldGVcbiAgICovXG4gIGF1dG9Db21wbGV0ZUFjdGlvbiA9IChxdWVyeTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZnV6enlGaWx0ZXIgPSBjcmVhdGVGdXp6eUZpbHRlcihxdWVyeSlcbiAgICByZXR1cm4gdGhpcy5hbGxVc2VycyQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgodXNlcnMpID0+IFtcbiAgICAgICAgdXNlcnMuZmlsdGVyKCh1c2VyKSA9PiBmdXp6eUZpbHRlcih1c2VyLnVzZXJuYW1lKSksXG4gICAgICBdKSxcbiAgICAgIG1hcCgocmVzdWx0cykgPT4gcmVzdWx0cy5zbGljZSgwLCAxMCkpLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIGduLXVpLWF1dG9jb21wbGV0ZVxuICAgKi9cbiAgYWRkQ29udGFjdChjb250YWN0OiBVc2VyTW9kZWwpIHtcbiAgICBjb25zdCBuZXdDb250YWN0ID0ge1xuICAgICAgZmlyc3ROYW1lOiBjb250YWN0Lm5hbWUgPz8gJycsXG4gICAgICBsYXN0TmFtZTogY29udGFjdC5zdXJuYW1lID8/ICcnLFxuICAgICAgb3JnYW5pemF0aW9uOlxuICAgICAgICB0aGlzLmFsbE9yZ2FuaXphdGlvbnMuZ2V0KGNvbnRhY3Qub3JnYW5pc2F0aW9uKSA/P1xuICAgICAgICAoeyBuYW1lOiBjb250YWN0Lm9yZ2FuaXNhdGlvbiB9IGFzIE9yZ2FuaXphdGlvbiksXG4gICAgICBlbWFpbDogY29udGFjdC5lbWFpbCA/PyAnJyxcbiAgICAgIHJvbGU6ICdwb2ludF9vZl9jb250YWN0JyxcbiAgICAgIGFkZHJlc3M6ICcnLFxuICAgICAgcGhvbmU6ICcnLFxuICAgICAgcG9zaXRpb246ICcnLFxuICAgIH0gYXMgSW5kaXZpZHVhbFxuXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KFsuLi50aGlzLnZhbHVlLCBuZXdDb250YWN0XSlcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgPGduLXVpLWF1dG9jb21wbGV0ZVxuICAgIFtwbGFjZWhvbGRlcl09XCInQ2hvb3NlIGEgY29udGFjdCdcIlxuICAgIFthY3Rpb25dPVwiYXV0b0NvbXBsZXRlQWN0aW9uXCJcbiAgICAoaXRlbVNlbGVjdGVkKT1cImFkZENvbnRhY3QoJGV2ZW50KVwiXG4gICAgW2Rpc3BsYXlXaXRoRm5dPVwiZGlzcGxheVdpdGhGblwiXG4gICAgW21pbkNoYXJhY3RlckNvdW50XT1cIjFcIlxuICAgIFtjbGVhck9uU2VsZWN0aW9uXT1cInRydWVcIlxuICA+XG4gIDwvZ24tdWktYXV0b2NvbXBsZXRlPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250YWN0cy5sZW5ndGggPiAwOyBlbHNlIG5vQ29udGFjdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250YWN0cy5sZW5ndGggPT09IDFcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbnRhY3Qgb2YgY29udGFjdHM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgIDxnbi11aS1jb250YWN0LWNhcmRcbiAgICAgICAgICBbY29udGFjdF09XCJjb250YWN0XCJcbiAgICAgICAgPjwvZ24tdWktY29udGFjdC1jYXJkPiA8L25nLWNvbnRhaW5lclxuICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250YWN0cy5sZW5ndGggPiAxXCI+XG4gICAgICA8Z24tdWktc29ydGFibGUtbGlzdFxuICAgICAgICBbaXRlbXNdPVwiY29udGFjdHNcIlxuICAgICAgICAoaXRlbXNPcmRlckNoYW5nZSk9XCJoYW5kbGVDb250YWN0c0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFtlbGVtZW50VGVtcGxhdGVdPVwiY29udGFjdFRlbXBsYXRlXCJcbiAgICAgID48L2duLXVpLXNvcnRhYmxlLWxpc3Q+XG4gICAgICA8bmctdGVtcGxhdGUgI2NvbnRhY3RUZW1wbGF0ZSBsZXQtY29udGFjdD5cbiAgICAgICAgPGduLXVpLWNvbnRhY3QtY2FyZCBbY29udGFjdF09XCJjb250YWN0XCI+PC9nbi11aS1jb250YWN0LWNhcmQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI25vQ29udGFjdD5cbiAgPGRpdlxuICAgIGNsYXNzPVwicC00IGJvcmRlciBib3JkZXItcHJpbWFyeSBiZy1wcmltYXJ5LWxpZ2h0ZXN0IHJvdW5kZWQtbGdcIlxuICAgIHRyYW5zbGF0ZVxuICA+XG4gICAgZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLmNvbnRhY3RzLm5vQ29udGFjdFxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jb250YWN0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtY29udGFjdHMvZm9ybS1maWVsZC1jb250YWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtY29udGFjdHMvZm9ybS1maWVsZC1jb250YWN0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLGNBQWMsR0FDZixNQUFNLCtDQUErQyxDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQTtBQUtoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsY0FBYyxFQUVkLFlBQVksRUFDWixTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUE7QUFFYixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQTtBQUMzSCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1RkFBdUYsQ0FBQTtBQUNySSxPQUFPLEVBQUUsb0JBQW9CLEVB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QUFXLEVBQUUsQ0FBQTtJQUNqQyxDQUFDOytHQWhIVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwrS0N4RHZDLGd4Q0F3Q0EseURET0ksY0FBYyw4QkFDZCxZQUFZLCtQQUNaLGVBQWUsK0JBQ2YscUJBQXFCLDJSQUNyQixlQUFlLHNLQUNmLG9CQUFvQixvRkFDcEIscUJBQXFCOzs0RkFHWiwwQkFBMEI7a0JBakJ0QyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AseUJBQXlCO3dCQUN6QixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixxQkFBcUI7cUJBQ3RCO3lLQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gIFVpSW5wdXRzTW9kdWxlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBVaVdpZGdldHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHtcbiAgSW5kaXZpZHVhbCxcbiAgT3JnYW5pemF0aW9uLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHtcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlyc3RWYWx1ZUZyb20sXG4gIE9ic2VydmFibGUsXG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvdXNlcidcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9vcmdhbml6YXRpb25zLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgQ29udGFjdENhcmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb250YWN0LWNhcmQvY29udGFjdC1jYXJkLmNvbXBvbmVudCdcbmltcG9ydCB7IGNyZWF0ZUZ1enp5RmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IFNvcnRhYmxlTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1jb250YWN0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLWNvbnRhY3RzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC1jb250YWN0cy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbiAgICBVaUlucHV0c01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVWlXaWRnZXRzTW9kdWxlLFxuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQ29udGFjdENhcmRDb21wb25lbnQsXG4gICAgU29ydGFibGVMaXN0Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb250YWN0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdmFsdWU6IEluZGl2aWR1YWxbXVxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJbmRpdmlkdWFsW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgY29udGFjdHM6IEluZGl2aWR1YWxbXSA9IFtdXG5cbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKClcblxuICBhbGxVc2VycyQ6IE9ic2VydmFibGU8VXNlck1vZGVsW10+XG5cbiAgYWxsT3JnYW5pemF0aW9uczogTWFwPHN0cmluZywgT3JnYW5pemF0aW9uPiA9IG5ldyBNYXAoKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBvcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZTogT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5hbGxVc2VycyQgPSB0aGlzLnBsYXRmb3JtU2VydmljZUludGVyZmFjZS5nZXRVc2VycygpXG4gIH1cblxuICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29udGFjdHNDaGFuZ2VzID0gY2hhbmdlc1sndmFsdWUnXVxuXG4gICAgaWYgKGNvbnRhY3RzQ2hhbmdlcy5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5hbGxPcmdhbml6YXRpb25zID0gbmV3IE1hcDxzdHJpbmcsIE9yZ2FuaXphdGlvbj4oXG4gICAgICAgIChcbiAgICAgICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMub3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2Uub3JnYW5pc2F0aW9ucyRcbiAgICAgICAgICApXG4gICAgICAgICkubWFwKChvcmdhbml6YXRpb24pID0+IFtvcmdhbml6YXRpb24ubmFtZSwgb3JnYW5pemF0aW9uXSlcbiAgICAgIClcbiAgICB9XG5cbiAgICBpZiAoY29udGFjdHNDaGFuZ2VzLmN1cnJlbnRWYWx1ZSAhPT0gY29udGFjdHNDaGFuZ2VzLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIHRoaXMudXBkYXRlQ29udGFjdHMoKVxuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlQ29udGFjdHMoKSB7XG4gICAgdGhpcy5jb250YWN0cyA9IHRoaXMudmFsdWUucmVkdWNlKChhY2MsIGNvbnRhY3QpID0+IHtcbiAgICAgIGNvbnN0IGNvbXBsZXRlT3JnYW5pemF0aW9uID0gdGhpcy5hbGxPcmdhbml6YXRpb25zLmdldChcbiAgICAgICAgY29udGFjdC5vcmdhbml6YXRpb24ubmFtZVxuICAgICAgKVxuXG4gICAgICBjb25zdCB1cGRhdGVkQ29udGFjdCA9IHtcbiAgICAgICAgLi4uY29udGFjdCxcbiAgICAgICAgb3JnYW5pemF0aW9uOlxuICAgICAgICAgIGNvbXBsZXRlT3JnYW5pemF0aW9uID8/XG4gICAgICAgICAgKHsgbmFtZTogY29udGFjdC5vcmdhbml6YXRpb24ubmFtZSB9IGFzIE9yZ2FuaXphdGlvbiksXG4gICAgICB9XG5cbiAgICAgIGFjYy5wdXNoKHVwZGF0ZWRDb250YWN0KVxuXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSwgW10gYXMgSW5kaXZpZHVhbFtdKVxuICB9XG5cbiAgaGFuZGxlQ29udGFjdHNDaGFuZ2VkKGl0ZW1zOiB1bmtub3duW10pIHtcbiAgICBjb25zdCBjb250YWN0cyA9IGl0ZW1zIGFzIEluZGl2aWR1YWxbXVxuXG4gICAgdGhpcy5jb250YWN0cyA9IGNvbnRhY3RzXG5cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoY29udGFjdHMpXG4gIH1cblxuICAvKipcbiAgICogZ24tdWktYXV0b2NvbXBsZXRlXG4gICAqL1xuICBkaXNwbGF5V2l0aEZuOiAodXNlcjogVXNlck1vZGVsKSA9PiBzdHJpbmcgPSAodXNlcikgPT5cbiAgICBgJHt1c2VyLm5hbWV9ICR7dXNlci5zdXJuYW1lfSAke1xuICAgICAgdXNlci5vcmdhbmlzYXRpb24gPyBgKCR7dXNlci5vcmdhbmlzYXRpb259KWAgOiAnJ1xuICAgIH1gXG5cbiAgLyoqXG4gICAqIGduLXVpLWF1dG9jb21wbGV0ZVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlQWN0aW9uID0gKHF1ZXJ5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBmdXp6eUZpbHRlciA9IGNyZWF0ZUZ1enp5RmlsdGVyKHF1ZXJ5KVxuICAgIHJldHVybiB0aGlzLmFsbFVzZXJzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh1c2VycykgPT4gW1xuICAgICAgICB1c2Vycy5maWx0ZXIoKHVzZXIpID0+IGZ1enp5RmlsdGVyKHVzZXIudXNlcm5hbWUpKSxcbiAgICAgIF0pLFxuICAgICAgbWFwKChyZXN1bHRzKSA9PiByZXN1bHRzLnNsaWNlKDAsIDEwKSksXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogZ24tdWktYXV0b2NvbXBsZXRlXG4gICAqL1xuICBhZGRDb250YWN0KGNvbnRhY3Q6IFVzZXJNb2RlbCkge1xuICAgIGNvbnN0IG5ld0NvbnRhY3QgPSB7XG4gICAgICBmaXJzdE5hbWU6IGNvbnRhY3QubmFtZSA/PyAnJyxcbiAgICAgIGxhc3ROYW1lOiBjb250YWN0LnN1cm5hbWUgPz8gJycsXG4gICAgICBvcmdhbml6YXRpb246XG4gICAgICAgIHRoaXMuYWxsT3JnYW5pemF0aW9ucy5nZXQoY29udGFjdC5vcmdhbmlzYXRpb24pID8/XG4gICAgICAgICh7IG5hbWU6IGNvbnRhY3Qub3JnYW5pc2F0aW9uIH0gYXMgT3JnYW5pemF0aW9uKSxcbiAgICAgIGVtYWlsOiBjb250YWN0LmVtYWlsID8/ICcnLFxuICAgICAgcm9sZTogJ3BvaW50X29mX2NvbnRhY3QnLFxuICAgICAgYWRkcmVzczogJycsXG4gICAgICBwaG9uZTogJycsXG4gICAgICBwb3NpdGlvbjogJycsXG4gICAgfSBhcyBJbmRpdmlkdWFsXG5cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoWy4uLnRoaXMudmFsdWUsIG5ld0NvbnRhY3RdKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICA8Z24tdWktYXV0b2NvbXBsZXRlXG4gICAgW3BsYWNlaG9sZGVyXT1cIidDaG9vc2UgYSBjb250YWN0J1wiXG4gICAgW2FjdGlvbl09XCJhdXRvQ29tcGxldGVBY3Rpb25cIlxuICAgIChpdGVtU2VsZWN0ZWQpPVwiYWRkQ29udGFjdCgkZXZlbnQpXCJcbiAgICBbZGlzcGxheVdpdGhGbl09XCJkaXNwbGF5V2l0aEZuXCJcbiAgICBbbWluQ2hhcmFjdGVyQ291bnRdPVwiMVwiXG4gICAgW2NsZWFyT25TZWxlY3Rpb25dPVwidHJ1ZVwiXG4gID5cbiAgPC9nbi11aS1hdXRvY29tcGxldGU+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRhY3RzLmxlbmd0aCA+IDA7IGVsc2Ugbm9Db250YWN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRhY3RzLmxlbmd0aCA9PT0gMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29udGFjdCBvZiBjb250YWN0czsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgPGduLXVpLWNvbnRhY3QtY2FyZFxuICAgICAgICAgIFtjb250YWN0XT1cImNvbnRhY3RcIlxuICAgICAgICA+PC9nbi11aS1jb250YWN0LWNhcmQ+IDwvbmctY29udGFpbmVyXG4gICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRhY3RzLmxlbmd0aCA+IDFcIj5cbiAgICAgIDxnbi11aS1zb3J0YWJsZS1saXN0XG4gICAgICAgIFtpdGVtc109XCJjb250YWN0c1wiXG4gICAgICAgIChpdGVtc09yZGVyQ2hhbmdlKT1cImhhbmRsZUNvbnRhY3RzQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgW2VsZW1lbnRUZW1wbGF0ZV09XCJjb250YWN0VGVtcGxhdGVcIlxuICAgICAgPjwvZ24tdWktc29ydGFibGUtbGlzdD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGFjdFRlbXBsYXRlIGxldC1jb250YWN0PlxuICAgICAgICA8Z24tdWktY29udGFjdC1jYXJkIFtjb250YWN0XT1cImNvbnRhY3RcIj48L2duLXVpLWNvbnRhY3QtY2FyZD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbm9Db250YWN0PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJwLTQgdGV4dC1zbSBib3JkZXIgYm9yZGVyLXByaW1hcnkgYmctcHJpbWFyeS1saWdodGVzdCByb3VuZGVkLWxnXCJcbiAgICB0cmFuc2xhdGVcbiAgPlxuICAgIGVkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5jb250YWN0cy5ub0NvbnRhY3RcbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|