geonetwork-ui 2.2.0-dev.c15a456d → 2.2.0-dev.c9f3c310
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +28 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +83 -58
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +6 -4
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.mjs +14 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +20 -17
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +52 -23
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +52 -32
- package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +10 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +14 -5
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +33 -8
- package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
- package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +5 -4
- package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +5 -3
- package/esm2022/libs/feature/map/src/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +63 -0
- package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +26 -3
- package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
- package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -3
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +11 -1
- package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +60 -29
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +29 -20
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
- package/esm2022/libs/feature/search/src/index.mjs +4 -1
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -4
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
- package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
- package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
- package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +41 -26
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +11 -9
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/index.mjs +4 -1
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +10 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +35 -16
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -4
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +7 -3
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +16 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +8 -5
- package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
- package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
- package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +12 -7
- package/esm2022/libs/ui/layout/src/index.mjs +3 -1
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +2 -2
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
- package/esm2022/libs/ui/search/src/index.mjs +1 -2
- package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
- package/esm2022/libs/util/i18n/src/index.mjs +2 -2
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
- package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
- package/esm2022/translations/de.json +106 -89
- package/esm2022/translations/en.json +42 -25
- package/esm2022/translations/es.json +21 -4
- package/esm2022/translations/fr.json +26 -9
- package/esm2022/translations/it.json +33 -16
- package/esm2022/translations/nl.json +21 -4
- package/esm2022/translations/pt.json +21 -4
- package/fesm2022/geonetwork-ui.mjs +1521 -835
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +0 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -5
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +6 -6
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +4 -3
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
- package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -2
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
- package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +28 -17
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
- package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
- package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
- package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
- package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/map/src/index.d.ts +1 -0
- package/libs/feature/map/src/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
- package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
- package/libs/feature/map/src/lib/feature-map.module.d.ts +16 -12
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
- package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +2 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
- package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +3 -0
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +5 -4
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
- package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
- package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
- package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -8
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
- package/libs/ui/elements/src/index.d.ts +3 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +10 -5
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -11
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +1 -0
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +40 -39
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +2 -0
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
- package/libs/ui/search/src/index.d.ts +0 -1
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
- package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
- package/libs/util/i18n/src/index.d.ts +1 -1
- package/libs/util/i18n/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +61 -8
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +55 -9
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +225 -24
- package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +32 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +123 -73
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +5 -3
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +3 -5
- package/src/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.ts +16 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +24 -21
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +115 -62
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +169 -95
- package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +22 -2
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +15 -4
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -8
- package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
- package/src/libs/common/domain/src/lib/index.ts +2 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +33 -21
- package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
- package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
- package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
- package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +1 -0
- package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -4
- package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +1 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +50 -10
- package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +8 -5
- package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
- package/src/libs/feature/map/src/index.ts +1 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +55 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +63 -0
- package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +14 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
- package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +9 -3
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +16 -0
- package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
- package/src/libs/feature/search/src/index.ts +3 -0
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +12 -4
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -1
- package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
- package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
- package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
- package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
- package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
- package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
- package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
- package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
- package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
- package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +21 -16
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +43 -34
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
- package/src/libs/ui/elements/src/index.ts +3 -0
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +5 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +39 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +58 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +17 -0
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +93 -27
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +104 -50
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +37 -10
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +2 -3
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +7 -0
- package/src/libs/ui/inputs/src/index.ts +1 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.css +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +1 -0
- package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
- package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +3 -0
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +5 -2
- package/src/libs/ui/layout/src/index.ts +2 -0
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
- package/src/libs/ui/search/src/index.ts +0 -1
- package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
- package/src/libs/util/i18n/src/index.ts +1 -1
- package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
- package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
- package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
- package/tailwind.base.css +2 -2
- package/translations/de.json +106 -89
- package/translations/en.json +42 -25
- package/translations/es.json +21 -4
- package/translations/fr.json +26 -9
- package/translations/it.json +33 -16
- package/translations/nl.json +21 -4
- package/translations/pt.json +21 -4
- package/translations/sk.json +21 -4
- package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
- package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
- package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
- package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
- package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
- package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
- package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
- package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
- package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
- package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
- package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
- package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
- package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
- package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
- package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
- package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
- package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
- package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
- package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
- package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
- package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
- package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
- /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
- /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class InteractiveTableColumnComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.grow = false;
|
|
7
|
+
this.sortable = false;
|
|
8
|
+
this.activeSort = null;
|
|
9
|
+
this.sortChange = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
handleSortChange() {
|
|
12
|
+
this.activeSort = this.activeSort === 'asc' ? 'desc' : 'asc';
|
|
13
|
+
this.sortChange.emit(this.activeSort);
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: InteractiveTableColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: InteractiveTableColumnComponent, isStandalone: true, selector: "gn-ui-interactive-table-column", inputs: { grow: "grow", sortable: "sortable", activeSort: "activeSort" }, outputs: { sortChange: "sortChange" }, queries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "cell", first: true, predicate: ["cell"], descendants: true }], ngImport: i0, template: "<span>empty</span>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: InteractiveTableColumnComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'gn-ui-interactive-table-column', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span>empty</span>\n" }]
|
|
21
|
+
}], propDecorators: { header: [{
|
|
22
|
+
type: ContentChild,
|
|
23
|
+
args: ['header']
|
|
24
|
+
}], cell: [{
|
|
25
|
+
type: ContentChild,
|
|
26
|
+
args: ['cell']
|
|
27
|
+
}], grow: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], sortable: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], activeSort: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], sortChange: [{
|
|
34
|
+
type: Output
|
|
35
|
+
}] } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYy9saWIvaW50ZXJhY3RpdmUtdGFibGUvaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2ludGVyYWN0aXZlLXRhYmxlL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi9pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7O0FBVTlDLE1BQU0sT0FBTywrQkFBK0I7SUFSNUM7UUFZVyxTQUFJLEdBQUcsS0FBSyxDQUFBO1FBQ1osYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNoQixlQUFVLEdBQTBCLElBQUksQ0FBQTtRQUN2QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUE7S0FNMUQ7SUFKQyxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDdkMsQ0FBQzs4R0FaVSwrQkFBK0I7a0dBQS9CLCtCQUErQix3WENuQjVDLHNCQUNBLHlERGFZLFlBQVk7OzJGQUtYLCtCQUErQjtrQkFSM0MsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OEJBR3ZCLE1BQU07c0JBQTdCLFlBQVk7dUJBQUMsUUFBUTtnQkFDQSxJQUFJO3NCQUF6QixZQUFZO3VCQUFDLE1BQU07Z0JBRVgsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGl2ZVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcbiAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJykgaGVhZGVyOiBUZW1wbGF0ZVJlZjx1bmtub3duPlxuICBAQ29udGVudENoaWxkKCdjZWxsJykgY2VsbDogVGVtcGxhdGVSZWY8dW5rbm93bj5cblxuICBASW5wdXQoKSBncm93ID0gZmFsc2VcbiAgQElucHV0KCkgc29ydGFibGUgPSBmYWxzZVxuICBASW5wdXQoKSBhY3RpdmVTb3J0OiAnYXNjJyB8ICdkZXNjJyB8IG51bGwgPSBudWxsXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjwnYXNjJyB8ICdkZXNjJz4oKVxuXG4gIGhhbmRsZVNvcnRDaGFuZ2UoKSB7XG4gICAgdGhpcy5hY3RpdmVTb3J0ID0gdGhpcy5hY3RpdmVTb3J0ID09PSAnYXNjJyA/ICdkZXNjJyA6ICdhc2MnXG4gICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQodGhpcy5hY3RpdmVTb3J0KVxuICB9XG59XG4iLCI8c3Bhbj5lbXB0eTwvc3Bhbj5cbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, QueryList, } from '@angular/core';
|
|
2
|
+
import { InteractiveTableColumnComponent } from './interactive-table-column/interactive-table-column.component';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/material/icon";
|
|
8
|
+
export class InteractiveTableComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.items = [];
|
|
11
|
+
this.itemClick = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
get gridStyle() {
|
|
14
|
+
return {
|
|
15
|
+
'grid-template-columns': this.columns
|
|
16
|
+
.map((column) => column.grow ? `minmax(0px,1fr)` : `minmax(0px,max-content)`)
|
|
17
|
+
.join(' '),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
handleRowClick(item) {
|
|
21
|
+
this.itemClick.emit(item);
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: InteractiveTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: InteractiveTableComponent, isStandalone: true, selector: "gn-ui-interactive-table", inputs: { items: "items" }, outputs: { itemClick: "itemClick" }, queries: [{ propertyName: "columns", predicate: InteractiveTableColumnComponent }], ngImport: i0, template: "<div class=\"grid w-full\" [ngStyle]=\"gridStyle\">\n <div class=\"contents\">\n <ng-container *ngFor=\"let column of columns\">\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n class=\"table-header-cell\"\n (click)=\"column.sortable && column.handleSortChange()\"\n >\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n <div class=\"sort-button flex flex-col\" *ngIf=\"column.sortable\">\n <mat-icon\n class=\"material-symbols-outlined text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'asc' }\"\n >expand_less</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'desc' }\"\n >expand_more</mat-icon\n >\n </div>\n </button>\n <div *ngIf=\"!column.sortable\" class=\"table-header-cell\">\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n </div>\n </ng-container>\n </div>\n <div\n class=\"contents text-gray-900 cursor-pointer group\"\n *ngFor=\"let item of items\"\n (click)=\"handleRowClick(item)\"\n >\n <div\n class=\"relative h-0\"\n [ngStyle]=\"{ 'grid-column': 'span ' + this.columns.length }\"\n >\n <!-- this element is only used in keyboard navigation -->\n <button\n type=\"button\"\n class=\"absolute inset-x-0 h-[50px] bg-transparent pointer-events-none\"\n ></button>\n </div>\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"table-row-cell px-4 py-3 flex items-center bg-white transition-colors duration-75 truncate group-hover:text-main group-hover:bg-gray-50 border-b border-gray-200\"\n >\n <ng-container\n *ngTemplateOutlet=\"column.cell; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".sort-button mat-icon{padding:0;margin:0;height:8px;line-height:8px;font-size:18px}.table-header-cell{@apply text-gray-700 px-4 py-5 flex items-center truncate bg-white;}button.table-header-cell{@apply transition-colors duration-75 hover:text-main hover:bg-gray-50 focus:text-main focus:bg-gray-50;}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: InteractiveTableComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ selector: 'gn-ui-interactive-table', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, InteractiveTableColumnComponent, MatIconModule], template: "<div class=\"grid w-full\" [ngStyle]=\"gridStyle\">\n <div class=\"contents\">\n <ng-container *ngFor=\"let column of columns\">\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n class=\"table-header-cell\"\n (click)=\"column.sortable && column.handleSortChange()\"\n >\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n <div class=\"sort-button flex flex-col\" *ngIf=\"column.sortable\">\n <mat-icon\n class=\"material-symbols-outlined text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'asc' }\"\n >expand_less</mat-icon\n >\n <mat-icon\n class=\"material-symbols-outlined text-gray-600\"\n [ngClass]=\"{ 'text-main': column.activeSort === 'desc' }\"\n >expand_more</mat-icon\n >\n </div>\n </button>\n <div *ngIf=\"!column.sortable\" class=\"table-header-cell\">\n <ng-container *ngTemplateOutlet=\"column.header\"></ng-container>\n </div>\n </ng-container>\n </div>\n <div\n class=\"contents text-gray-900 cursor-pointer group\"\n *ngFor=\"let item of items\"\n (click)=\"handleRowClick(item)\"\n >\n <div\n class=\"relative h-0\"\n [ngStyle]=\"{ 'grid-column': 'span ' + this.columns.length }\"\n >\n <!-- this element is only used in keyboard navigation -->\n <button\n type=\"button\"\n class=\"absolute inset-x-0 h-[50px] bg-transparent pointer-events-none\"\n ></button>\n </div>\n <ng-container *ngFor=\"let column of columns\">\n <div\n class=\"table-row-cell px-4 py-3 flex items-center bg-white transition-colors duration-75 truncate group-hover:text-main group-hover:bg-gray-50 border-b border-gray-200\"\n >\n <ng-container\n *ngTemplateOutlet=\"column.cell; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".sort-button mat-icon{padding:0;margin:0;height:8px;line-height:8px;font-size:18px}.table-header-cell{@apply text-gray-700 px-4 py-5 flex items-center truncate bg-white;}button.table-header-cell{@apply transition-colors duration-75 hover:text-main hover:bg-gray-50 focus:text-main focus:bg-gray-50;}\n"] }]
|
|
29
|
+
}], propDecorators: { columns: [{
|
|
30
|
+
type: ContentChildren,
|
|
31
|
+
args: [InteractiveTableColumnComponent]
|
|
32
|
+
}], items: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], itemClick: [{
|
|
35
|
+
type: Output
|
|
36
|
+
}] } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjL2xpYi9pbnRlcmFjdGl2ZS10YWJsZS9pbnRlcmFjdGl2ZS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMvbGliL2ludGVyYWN0aXZlLXRhYmxlL2ludGVyYWN0aXZlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0RBQStELENBQUE7QUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7OztBQVV0RCxNQUFNLE9BQU8seUJBQXlCO0lBUnRDO1FBWVcsVUFBSyxHQUFjLEVBQUUsQ0FBQTtRQUNwQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWVsRDtJQWJDLElBQUksU0FBUztRQUNYLE9BQU87WUFDTCx1QkFBdUIsRUFBRSxJQUFJLENBQUMsT0FBTztpQkFDbEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDZCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQzVEO2lCQUNBLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDYixDQUFBO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzNCLENBQUM7OEdBbkJVLHlCQUF5QjtrR0FBekIseUJBQXlCLDRLQUNuQiwrQkFBK0IsNkJDdEJsRCxnK0RBc0RBLHNXRG5DWSxZQUFZLHlsQkFBbUMsYUFBYTs7MkZBRTNELHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLCtCQUErQixFQUFFLGFBQWEsQ0FBQzs4QkFJdkUsT0FBTztzQkFETixlQUFlO3VCQUFDLCtCQUErQjtnQkFHdkMsS0FBSztzQkFBYixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uL2ludGVyYWN0aXZlLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktaW50ZXJhY3RpdmUtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJhY3RpdmUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnRlcmFjdGl2ZS10YWJsZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJbnRlcmFjdGl2ZVRhYmxlQ29sdW1uQ29tcG9uZW50LCBNYXRJY29uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJhY3RpdmVUYWJsZUNvbXBvbmVudCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oSW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudClcbiAgY29sdW1uczogUXVlcnlMaXN0PEludGVyYWN0aXZlVGFibGVDb2x1bW5Db21wb25lbnQ+XG5cbiAgQElucHV0KCkgaXRlbXM6IHVua25vd25bXSA9IFtdXG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KClcblxuICBnZXQgZ3JpZFN0eWxlKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJzogdGhpcy5jb2x1bW5zXG4gICAgICAgIC5tYXAoKGNvbHVtbikgPT5cbiAgICAgICAgICBjb2x1bW4uZ3JvdyA/IGBtaW5tYXgoMHB4LDFmcilgIDogYG1pbm1heCgwcHgsbWF4LWNvbnRlbnQpYFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlUm93Q2xpY2soaXRlbTogdW5rbm93bikge1xuICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWQgdy1mdWxsXCIgW25nU3R5bGVdPVwiZ3JpZFN0eWxlXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50c1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidGFibGUtaGVhZGVyLWNlbGxcIlxuICAgICAgICAoY2xpY2spPVwiY29sdW1uLnNvcnRhYmxlICYmIGNvbHVtbi5oYW5kbGVTb3J0Q2hhbmdlKClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uLmhlYWRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC1idXR0b24gZmxleCBmbGV4LWNvbFwiICpuZ0lmPVwiY29sdW1uLnNvcnRhYmxlXCI+XG4gICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgdGV4dC1ncmF5LTYwMFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICd0ZXh0LW1haW4nOiBjb2x1bW4uYWN0aXZlU29ydCA9PT0gJ2FzYycgfVwiXG4gICAgICAgICAgICA+ZXhwYW5kX2xlc3M8L21hdC1pY29uXG4gICAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHRleHQtZ3JheS02MDBcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAndGV4dC1tYWluJzogY29sdW1uLmFjdGl2ZVNvcnQgPT09ICdkZXNjJyB9XCJcbiAgICAgICAgICAgID5leHBhbmRfbW9yZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWNvbHVtbi5zb3J0YWJsZVwiIGNsYXNzPVwidGFibGUtaGVhZGVyLWNlbGxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5oZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY29udGVudHMgdGV4dC1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBncm91cFwiXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgIChjbGljayk9XCJoYW5kbGVSb3dDbGljayhpdGVtKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJlbGF0aXZlIGgtMFwiXG4gICAgICBbbmdTdHlsZV09XCJ7ICdncmlkLWNvbHVtbic6ICdzcGFuICcgKyB0aGlzLmNvbHVtbnMubGVuZ3RoIH1cIlxuICAgID5cbiAgICAgIDwhLS0gdGhpcyBlbGVtZW50IGlzIG9ubHkgdXNlZCBpbiBrZXlib2FyZCBuYXZpZ2F0aW9uIC0tPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC14LTAgaC1bNTBweF0gYmctdHJhbnNwYXJlbnQgcG9pbnRlci1ldmVudHMtbm9uZVwiXG4gICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0YWJsZS1yb3ctY2VsbCBweC00IHB5LTMgZmxleCBpdGVtcy1jZW50ZXIgYmctd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tNzUgdHJ1bmNhdGUgZ3JvdXAtaG92ZXI6dGV4dC1tYWluIGdyb3VwLWhvdmVyOmJnLWdyYXktNTAgYm9yZGVyLWIgYm9yZGVyLWdyYXktMjAwXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uLmNlbGw7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -14,8 +14,7 @@ export * from './lib/record-preview-card/record-preview-card.component';
|
|
|
14
14
|
export * from './lib/record-preview-list/record-preview-list.component';
|
|
15
15
|
export * from './lib/record-preview-text/record-preview-text.component';
|
|
16
16
|
export * from './lib/record-preview-title/record-preview-title.component';
|
|
17
|
-
export * from './lib/record-table/record-table.component';
|
|
18
17
|
export * from './lib/record-metric/record-metric.component';
|
|
19
18
|
export * from './lib/results-list-item/results-list-item.component';
|
|
20
19
|
export * from './lib/results-hits-number/results-hits-number.component';
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMzRSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyx5REFBeUQsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZhY2V0c01vZHVsZSBhcyBVaUZhY2V0c01vZHVsZSB9IGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmFjZXRzL2ZhY2V0cy5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9maXh0dXJlcydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1ibG9jay9mYWNldC1ibG9jay5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWNldHMvZmFjZXQtbGlzdC9mYWNldC1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY2V0cy9mYWNldC1pdGVtL2ZhY2V0LWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktc2VhcmNoLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxheW91dC5jb25maWcnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWxpc3QvcmVzdWx0cy1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3L3JlY29yZC1wcmV2aWV3LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWZlZWQvcmVjb3JkLXByZXZpZXctZmVlZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1yb3cvcmVjb3JkLXByZXZpZXctcm93LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LWNhcmQvcmVjb3JkLXByZXZpZXctY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtcHJldmlldy1saXN0L3JlY29yZC1wcmV2aWV3LWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLXByZXZpZXctdGV4dC9yZWNvcmQtcHJldmlldy10ZXh0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1wcmV2aWV3LXRpdGxlL3JlY29yZC1wcmV2aWV3LXRpdGxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1tZXRyaWMvcmVjb3JkLW1ldHJpYy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWxpc3QtaXRlbS9yZXN1bHRzLWxpc3QtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXN1bHRzLWhpdHMtbnVtYmVyL3Jlc3VsdHMtaGl0cy1udW1iZXIuY29tcG9uZW50J1xuIl19
|
package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
|
|
5
5
|
export class RecordPreviewCardComponent extends RecordPreviewComponent {
|
|
6
6
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewCardComponent, selector: "gn-ui-record-preview-card", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-full border bg-white rounded-sm overflow-hidden transition duration-200 transform hover:scale-105 hover:bg-gray-50 border-gray-300 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [title]=\"record.abstract\"\n [target]=\"linkTarget\"\n >\n <div class=\"flex flex-col min-h-full\">\n <gn-ui-thumbnail\n class=\"lg:h-48 md:h-36 border-b border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow p-4\">\n <h1 class=\"title-font text-lg font-medium mb-3 clamp-2\">\n {{ record.title }}\n </h1>\n <p class=\"leading-relaxed text-sm text-gray-700 clamp-3\">\n {{ record.abstract }}\n </p>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewCardComponent, selector: "gn-ui-record-preview-card", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-full border bg-white rounded-sm overflow-hidden transition duration-200 transform hover:scale-105 hover:bg-gray-50 border-gray-300 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [title]=\"record.abstract\"\n [target]=\"linkTarget\"\n >\n <div class=\"flex flex-col min-h-full\">\n <gn-ui-thumbnail\n class=\"lg:h-48 md:h-36 border-b border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow p-4\">\n <h1 class=\"title-font text-lg font-medium mb-3 clamp-2\">\n {{ record.title }}\n </h1>\n <p class=\"leading-relaxed text-sm text-gray-700 clamp-3\">\n {{ record.abstract }}\n </p>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8
8
|
}
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewCardComponent, decorators: [{
|
|
10
10
|
type: Component,
|
package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs
CHANGED
|
@@ -27,7 +27,7 @@ export class RecordPreviewFeedComponent extends RecordPreviewComponent {
|
|
|
27
27
|
return this.timeFormat.format(this.record.recordCreated, Date.now());
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewFeedComponent, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewFeedComponent, selector: "gn-ui-record-preview-feed", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mx-[18px] pl-[18px] pb-[18px] border-solid border-l-2 border-gray-100\"\n>\n <a\n class=\"record-container block rounded-lg bg-white border border-white card-shadow\"\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n >\n <div\n class=\"record-header py-4 px-4 border-b border-gray-300 flex flex-row items-center relative transition duration-200\"\n >\n <div\n class=\"absolute w-3 h-3 bg-secondary rounded-full\"\n style=\"right: calc(100% + 14px)\"\n ></div>\n <div\n class=\"record-header-image border border-gray-300 bg-white rounded-full w-16 h-16 object-contain mr-4 overflow-hidden transition duration-200 shrink-0\"\n >\n <mat-icon\n *ngIf=\"!hasLogo\"\n class=\"material-symbols-outlined text-gray-200\"\n style=\"width: 42px; height: 42px; font-size: 42px; margin: 10px\"\n >{{ hasOnlyPerson ? 'face' : 'home_work' }}</mat-icon\n >\n <gn-ui-thumbnail\n *ngIf=\"hasLogo\"\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString()\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col overflow-hidden items-start\">\n <span\n *ngIf=\"hasOrganization\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ record.ownerOrganization.name }}\n </span>\n <span\n *ngIf=\"hasOnlyPerson\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ contact.firstName }} {{ contact.lastName }}\n </span>\n <p class=\"\">\n <span translate [translateParams]=\"{ time }\"\n >record.was.created.time</span\n >\n </p>\n </div>\n </div>\n <div class=\"pt-5 pb-5 px-10 relative\">\n <div class=\"absolute top-[0.85em] right-[0.85em]\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n <h1\n class=\"font-title text-black text-[21px] font-medium mb-3 pr-8\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </h1>\n <p class=\"line-clamp-3\">{{ abstract }}</p>\n <gn-ui-thumbnail\n *ngIf=\"record.overviews?.[0]\"\n class=\"block mt-3 w-full h-[136px] border border-gray-100 rounded-lg overflow-hidden\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-row mt-3\" *ngIf=\"isDownloadable || isViewable\">\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >cloud_download\n </mat-icon>\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >map\n </mat-icon>\n </div>\n </div>\n </a>\n</div>\n", styles: [".record-container:hover .record-header,.record-container:hover .record-header-image{border-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewFeedComponent, selector: "gn-ui-record-preview-feed", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mx-[18px] pl-[18px] pb-[18px] border-solid border-l-2 border-gray-100\"\n>\n <a\n class=\"record-container block rounded-lg bg-white border border-white card-shadow\"\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n >\n <div\n class=\"record-header py-4 px-4 border-b border-gray-300 flex flex-row items-center relative transition duration-200\"\n >\n <div\n class=\"absolute w-3 h-3 bg-secondary rounded-full\"\n style=\"right: calc(100% + 14px)\"\n ></div>\n <div\n class=\"record-header-image border border-gray-300 bg-white rounded-full w-16 h-16 object-contain mr-4 overflow-hidden transition duration-200 shrink-0\"\n >\n <mat-icon\n *ngIf=\"!hasLogo\"\n class=\"material-symbols-outlined text-gray-200\"\n style=\"width: 42px; height: 42px; font-size: 42px; margin: 10px\"\n >{{ hasOnlyPerson ? 'face' : 'home_work' }}</mat-icon\n >\n <gn-ui-thumbnail\n *ngIf=\"hasLogo\"\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString()\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col overflow-hidden items-start\">\n <span\n *ngIf=\"hasOrganization\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ record.ownerOrganization.name }}\n </span>\n <span\n *ngIf=\"hasOnlyPerson\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ contact.firstName }} {{ contact.lastName }}\n </span>\n <p class=\"\">\n <span translate [translateParams]=\"{ time }\"\n >record.was.created.time</span\n >\n </p>\n </div>\n </div>\n <div class=\"pt-5 pb-5 px-10 relative\">\n <div class=\"absolute top-[0.85em] right-[0.85em]\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n <h1\n class=\"font-title text-black text-[21px] font-medium mb-3 pr-8\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </h1>\n <p class=\"line-clamp-3\">{{ abstract }}</p>\n <gn-ui-thumbnail\n *ngIf=\"record.overviews?.[0]\"\n class=\"block mt-3 w-full h-[136px] border border-gray-100 rounded-lg overflow-hidden\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-row mt-3\" *ngIf=\"isDownloadable || isViewable\">\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >cloud_download\n </mat-icon>\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >map\n </mat-icon>\n </div>\n </div>\n </a>\n</div>\n", styles: [".record-container:hover .record-header,.record-container:hover .record-header-image{border-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewFeedComponent, decorators: [{
|
|
33
33
|
type: Component,
|
package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import * as i2 from "@ngx-translate/core";
|
|
|
6
6
|
import * as i3 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
|
|
7
7
|
export class RecordPreviewListComponent extends RecordPreviewComponent {
|
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewListComponent, selector: "gn-ui-record-preview-list", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-40 bg-white transition duration-200 border border-gray-200 rounded-md hover:bg-gray-50 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center shadow-sm\">\n <gn-ui-thumbnail\n class=\"w-40 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow h-full px-6 py-4 flex flex-col overflow-hidden\">\n <div class=\"title-font text-lg font-medium mb-2\">\n <h1 class=\"truncate\">{{ record.title }}</h1>\n </div>\n <p class=\"leading-relaxed clamp-3 text-sm text-gray-700\">\n {{ record.abstract }}\n </p>\n <div class=\"grow\"></div>\n <div class=\"flex flex-row items-center\">\n <div\n class=\"text-gray-500 text-xs truncate capitalize border-r mr-4 pr-4\"\n *ngIf=\"record.kind === 'dataset'\"\n >\n <span translate>{{ record.updateFrequency }}</span>\n </div>\n <div\n class=\"text-gray-500 text-xs border-gray-300 truncate viewable-downloadable\"\n *ngIf=\"isViewable || isDownloadable\"\n >\n <span *ngIf=\"isViewable\" translate>record.action.view</span>\n <span *ngIf=\"isViewable && isDownloadable\">, </span>\n <span *ngIf=\"isDownloadable\" translate>record.action.download</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</div>\n", styles: [".viewable-downloadable :first-child{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewListComponent, selector: "gn-ui-record-preview-list", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-40 bg-white transition duration-200 border border-gray-200 rounded-md hover:bg-gray-50 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center shadow-sm\">\n <gn-ui-thumbnail\n class=\"w-40 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow h-full px-6 py-4 flex flex-col overflow-hidden\">\n <div class=\"title-font text-lg font-medium mb-2\">\n <h1 class=\"truncate\">{{ record.title }}</h1>\n </div>\n <p class=\"leading-relaxed clamp-3 text-sm text-gray-700\">\n {{ record.abstract }}\n </p>\n <div class=\"grow\"></div>\n <div class=\"flex flex-row items-center\">\n <div\n class=\"text-gray-500 text-xs truncate capitalize border-r mr-4 pr-4\"\n *ngIf=\"record.kind === 'dataset'\"\n >\n <span translate>{{ record.updateFrequency }}</span>\n </div>\n <div\n class=\"text-gray-500 text-xs border-gray-300 truncate viewable-downloadable\"\n *ngIf=\"isViewable || isDownloadable\"\n >\n <span *ngIf=\"isViewable\" translate>record.action.view</span>\n <span *ngIf=\"isViewable && isDownloadable\">, </span>\n <span *ngIf=\"isDownloadable\" translate>record.action.download</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</div>\n", styles: [".viewable-downloadable :first-child{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewListComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
@@ -11,7 +11,7 @@ export class RecordPreviewRowComponent extends RecordPreviewComponent {
|
|
|
11
11
|
this.elementRef = elementRef;
|
|
12
12
|
}
|
|
13
13
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewRowComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewRowComponent, selector: "gn-ui-record-preview-row", usesInheritance: true, ngImport: i0, template: "<a\n class=\"group container-lg mx-auto flex cursor-pointer flex-wrap sm:flex-nowrap\"\n [title]=\"record.title\"\n [attr.href]=\"linkHref\"\n>\n <div class=\"shrink-0 w-full sm:w-52\">\n <div\n class=\"overflow-hidden bg-gray-100 rounded-lg w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full object-cover object-left-top\"\n [thumbnailUrl]=\"[record.overviews?.[0]?.url?.toString(), organization?.logoUrl?.toString()]\"\n [fit]=\"['cover', 'contain']\"\n ></gn-ui-thumbnail>\n </div>\n </div>\n <div\n class=\"content grid grow relative sm:pl-6 sm:pr-12\"\n style=\"grid-template-columns: auto 70px\"\n >\n <div class=\"mb-3 mt-5 sm:mt-2\">\n <div\n class=\"font-title text-21 text-title line-clamp-2 col-start-1 col-span-2 sm:line-clamp-1 group-hover:text-primary transition-colors\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </div>\n </div>\n <div\n class=\"abstract mt-4 mb-5 h-36 line-clamp-6 col-start-1 col-span-2 row-start-3 sm:mb-2 sm:h-[4.5rem] sm:line-clamp-3 sm:row-start-2 sm:mt-0\"\n data-cy=\"recordAbstract\"\n >\n {{ abstract }}\n </div>\n <div\n class=\"text-primary opacity-45 uppercase col-start-1 col-span-2 row-start-2 sm:truncate sm:row-start-3 sm:col-span-1\"\n data-cy=\"recordOrg\"\n [class]=\"metadataQualityDisplay ? 'limit-organisation-with-quality' : ''\"\n >\n {{ organization?.name }}\n </div>\n <div\n class=\"icons flex flex-row col-start-1 row-start-4 sm:col-start-2 sm:row-start-3 sm:absolute sm:right-[0.4em]\"\n >\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >cloud_download</mat-icon\n >\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >map</mat-icon\n >\n </div>\n <div\n *ngIf=\"metadataQualityDisplay\"\n class=\"col-start-2 row-start-4 sm:row-start-3 absolute right-[4em] sm:right-[5em]\"\n >\n <gn-ui-metadata-quality\n smaller=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"text-right col-start-3 row-start-4 sm:absolute sm:col-start-2 sm:row-start-1 sm:top-[-1.125em] sm:right-[0.4em]\"\n data-cy=\"recordFav\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n</a>\n", styles: [".limit-organisation-with-quality{max-width:calc(100% - 170px)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewRowComponent, selector: "gn-ui-record-preview-row", usesInheritance: true, ngImport: i0, template: "<a\n class=\"group container-lg mx-auto flex cursor-pointer flex-wrap sm:flex-nowrap\"\n [title]=\"record.title\"\n [attr.href]=\"linkHref\"\n>\n <div class=\"shrink-0 w-full sm:w-52\">\n <div\n class=\"overflow-hidden bg-gray-100 rounded-lg w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full object-cover object-left-top\"\n [thumbnailUrl]=\"[record.overviews?.[0]?.url?.toString(), organization?.logoUrl?.toString()]\"\n [fit]=\"['cover', 'contain']\"\n ></gn-ui-thumbnail>\n </div>\n </div>\n <div\n class=\"content grid grow relative sm:pl-6 sm:pr-12\"\n style=\"grid-template-columns: auto 70px\"\n >\n <div class=\"mb-3 mt-5 sm:mt-2\">\n <div\n class=\"font-title text-21 text-title line-clamp-2 col-start-1 col-span-2 sm:line-clamp-1 group-hover:text-primary transition-colors\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </div>\n </div>\n <div\n class=\"abstract mt-4 mb-5 h-36 line-clamp-6 col-start-1 col-span-2 row-start-3 sm:mb-2 sm:h-[4.5rem] sm:line-clamp-3 sm:row-start-2 sm:mt-0\"\n data-cy=\"recordAbstract\"\n >\n {{ abstract }}\n </div>\n <div\n class=\"text-primary opacity-45 uppercase col-start-1 col-span-2 row-start-2 sm:truncate sm:row-start-3 sm:col-span-1\"\n data-cy=\"recordOrg\"\n [class]=\"metadataQualityDisplay ? 'limit-organisation-with-quality' : ''\"\n >\n {{ organization?.name }}\n </div>\n <div\n class=\"icons flex flex-row col-start-1 row-start-4 sm:col-start-2 sm:row-start-3 sm:absolute sm:right-[0.4em]\"\n >\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >cloud_download</mat-icon\n >\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >map</mat-icon\n >\n </div>\n <div\n *ngIf=\"metadataQualityDisplay\"\n class=\"col-start-2 row-start-4 sm:row-start-3 absolute right-[4em] sm:right-[5em]\"\n >\n <gn-ui-metadata-quality\n smaller=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"text-right col-start-3 row-start-4 sm:absolute sm:col-start-2 sm:row-start-1 sm:top-[-1.125em] sm:right-[0.4em]\"\n data-cy=\"recordFav\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n</a>\n", styles: [".limit-organisation-with-quality{max-width:calc(100% - 170px)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
15
|
}
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewRowComponent, decorators: [{
|
|
17
17
|
type: Component,
|
package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
|
|
5
5
|
export class RecordPreviewTitleComponent extends RecordPreviewComponent {
|
|
6
6
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewTitleComponent, selector: "gn-ui-record-preview-title", usesInheritance: true, ngImport: i0, template: "<!-- Record list item: List Small -->\n<div\n class=\"h-10 w-full border-b border-gray-200 transition duration-200 rounded-sm hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center\">\n <gn-ui-thumbnail\n class=\"w-10 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow px-3 py-1 flex flex-col overflow-hidden\">\n <h1 class=\"title-font text-sm font-bold truncate md:text-clip\">\n {{ record.title }}\n </h1>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewTitleComponent, selector: "gn-ui-record-preview-title", usesInheritance: true, ngImport: i0, template: "<!-- Record list item: List Small -->\n<div\n class=\"h-10 w-full border-b border-gray-200 transition duration-200 rounded-sm hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center\">\n <gn-ui-thumbnail\n class=\"w-10 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow px-3 py-1 flex flex-col overflow-hidden\">\n <h1 class=\"title-font text-sm font-bold truncate md:text-clip\">\n {{ record.title }}\n </h1>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8
8
|
}
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewTitleComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
@@ -21,10 +21,10 @@ import { ResultsListItemComponent } from './results-list-item/results-list-item.
|
|
|
21
21
|
import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src';
|
|
22
22
|
import { UiElementsModule } from '../../../../../libs/ui/elements/src';
|
|
23
23
|
import { RecordPreviewFeedComponent } from './record-preview-feed/record-preview-feed.component';
|
|
24
|
-
import { RecordTableComponent } from './record-table/record-table.component';
|
|
25
24
|
import { CommonModule } from '@angular/common';
|
|
26
25
|
import { UiInputsModule } from '../../../../../libs/ui/inputs/src';
|
|
27
26
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
27
|
+
import { InteractiveTableComponent } from '../../../../../libs/ui/layout/src';
|
|
28
28
|
import * as i0 from "@angular/core";
|
|
29
29
|
import * as i1 from "@ngx-translate/core";
|
|
30
30
|
export class UiSearchModule {
|
|
@@ -39,8 +39,7 @@ export class UiSearchModule {
|
|
|
39
39
|
ResultsHitsNumberComponent,
|
|
40
40
|
ResultsListItemComponent,
|
|
41
41
|
RecordPreviewFeedComponent,
|
|
42
|
-
RecordPreviewRowComponent,
|
|
43
|
-
RecordTableComponent], imports: [CommonModule, i1.TranslateModule, NgxDropzoneModule,
|
|
42
|
+
RecordPreviewRowComponent], imports: [CommonModule, i1.TranslateModule, NgxDropzoneModule,
|
|
44
43
|
FacetsModule,
|
|
45
44
|
FormsModule,
|
|
46
45
|
ReactiveFormsModule,
|
|
@@ -51,7 +50,8 @@ export class UiSearchModule {
|
|
|
51
50
|
UiElementsModule,
|
|
52
51
|
MatIconModule,
|
|
53
52
|
MatCheckboxModule,
|
|
54
|
-
RouterLink
|
|
53
|
+
RouterLink,
|
|
54
|
+
InteractiveTableComponent], exports: [RecordPreviewListComponent,
|
|
55
55
|
RecordPreviewCardComponent,
|
|
56
56
|
RecordPreviewTextComponent,
|
|
57
57
|
RecordPreviewTitleComponent,
|
|
@@ -61,8 +61,7 @@ export class UiSearchModule {
|
|
|
61
61
|
RecordPreviewComponent,
|
|
62
62
|
ResultsHitsNumberComponent,
|
|
63
63
|
RecordPreviewFeedComponent,
|
|
64
|
-
RecordPreviewRowComponent
|
|
65
|
-
RecordTableComponent] }); }
|
|
64
|
+
RecordPreviewRowComponent] }); }
|
|
66
65
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: UiSearchModule, providers: [
|
|
67
66
|
{ provide: RESULTS_LAYOUT_CONFIG, useValue: DEFAULT_RESULTS_LAYOUT_CONFIG },
|
|
68
67
|
], imports: [CommonModule,
|
|
@@ -77,7 +76,8 @@ export class UiSearchModule {
|
|
|
77
76
|
UiInputsModule,
|
|
78
77
|
UiElementsModule,
|
|
79
78
|
MatIconModule,
|
|
80
|
-
MatCheckboxModule,
|
|
79
|
+
MatCheckboxModule,
|
|
80
|
+
InteractiveTableComponent, FacetsModule] }); }
|
|
81
81
|
}
|
|
82
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: UiSearchModule, decorators: [{
|
|
83
83
|
type: NgModule,
|
|
@@ -94,7 +94,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
94
94
|
ResultsListItemComponent,
|
|
95
95
|
RecordPreviewFeedComponent,
|
|
96
96
|
RecordPreviewRowComponent,
|
|
97
|
-
RecordTableComponent,
|
|
98
97
|
],
|
|
99
98
|
imports: [
|
|
100
99
|
CommonModule,
|
|
@@ -111,6 +110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
111
110
|
MatIconModule,
|
|
112
111
|
MatCheckboxModule,
|
|
113
112
|
RouterLink,
|
|
113
|
+
InteractiveTableComponent,
|
|
114
114
|
],
|
|
115
115
|
exports: [
|
|
116
116
|
RecordPreviewListComponent,
|
|
@@ -124,11 +124,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
124
124
|
ResultsHitsNumberComponent,
|
|
125
125
|
RecordPreviewFeedComponent,
|
|
126
126
|
RecordPreviewRowComponent,
|
|
127
|
-
RecordTableComponent,
|
|
128
127
|
],
|
|
129
128
|
providers: [
|
|
130
129
|
{ provide: RESULTS_LAYOUT_CONFIG, useValue: DEFAULT_RESULTS_LAYOUT_CONFIG },
|
|
131
130
|
],
|
|
132
131
|
}]
|
|
133
132
|
}] });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc2VhcmNoL3NyYy9saWIvdWktc2VhcmNoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUE7QUFDN0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUE7QUFDbkcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixxQkFBcUIsR0FDdEIsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsc0JBQXNC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QUEwQjt3QkFDMUIseUJBQXlCO3FCQUMxQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUFFO3FCQUM1RTtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IFV0aWxTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ3hEcm9wem9uZU1vZHVsZSB9IGZyb20gJ25neC1kcm9wem9uZSdcbmltcG9ydCB7IEZhY2V0c01vZHVsZSB9IGZyb20gJy4vZmFjZXRzL2ZhY2V0cy5tb2R1bGUnXG5pbXBvcnQgeyBSZWNvcmRNZXRyaWNDb21wb25lbnQgfSBmcm9tICcuL3JlY29yZC1tZXRyaWMvcmVjb3JkLW1ldHJpYy5jb21wb25lbnQnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctY2FyZC9yZWNvcmQtcHJldmlldy1jYXJkLmNvbXBvbmVudCdcbmltcG9ydCB7IFJlY29yZFByZXZpZXdMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9yZWNvcmQtcHJldmlldy1saXN0L3JlY29yZC1wcmV2aWV3LWxpc3QuY29tcG9uZW50J1xuaW1wb3J0IHsgUmVjb3JkUHJldmlld1Jvd0NvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctcm93L3JlY29yZC1wcmV2aWV3LXJvdy5jb21wb25lbnQnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3VGV4dENvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctdGV4dC9yZWNvcmQtcHJldmlldy10ZXh0LmNvbXBvbmVudCdcbmltcG9ydCB7IFJlY29yZFByZXZpZXdUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctdGl0bGUvcmVjb3JkLXByZXZpZXctdGl0bGUuY29tcG9uZW50J1xuaW1wb3J0IHsgUmVzdWx0c0hpdHNOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL3Jlc3VsdHMtaGl0cy1udW1iZXIvcmVzdWx0cy1oaXRzLW51bWJlci5jb21wb25lbnQnXG5pbXBvcnQge1xuICBERUZBVUxUX1JFU1VMVFNfTEFZT1VUX0NPTkZJRyxcbiAgUkVTVUxUU19MQVlPVVRfQ09ORklHLFxufSBmcm9tICcuL3Jlc3VsdHMtbGlzdC9yZXN1bHRzLWxheW91dC5jb25maWcnXG5pbXBvcnQgeyBSZXN1bHRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcmVzdWx0cy1saXN0L3Jlc3VsdHMtbGlzdC5jb21wb25lbnQnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9yZWNvcmQtcHJldmlldy9yZWNvcmQtcHJldmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBUYWdJbnB1dE1vZHVsZSB9IGZyb20gJ25neC1jaGlwcydcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBSZXN1bHRzTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Jlc3VsdHMtbGlzdC1pdGVtL3Jlc3VsdHMtbGlzdC1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IFVpV2lkZ2V0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQgeyBVaUVsZW1lbnRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBSZWNvcmRQcmV2aWV3RmVlZENvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLXByZXZpZXctZmVlZC9yZWNvcmQtcHJldmlldy1mZWVkLmNvbXBvbmVudCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFVpSW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCdcbmltcG9ydCB7IEludGVyYWN0aXZlVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJlY29yZFByZXZpZXdDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0xpc3RDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0NhcmRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1RleHRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1RpdGxlQ29tcG9uZW50LFxuICAgIFJlY29yZE1ldHJpY0NvbXBvbmVudCxcbiAgICBSZXN1bHRzTGlzdENvbXBvbmVudCxcbiAgICBSZXN1bHRzSGl0c051bWJlckNvbXBvbmVudCxcbiAgICBSZXN1bHRzTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0ZlZWRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1Jvd0NvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hEcm9wem9uZU1vZHVsZSxcbiAgICBGYWNldHNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUYWdJbnB1dE1vZHVsZSxcbiAgICBVdGlsU2hhcmVkTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBVaUlucHV0c01vZHVsZSxcbiAgICBVaUVsZW1lbnRzTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgUm91dGVyTGluayxcbiAgICBJbnRlcmFjdGl2ZVRhYmxlQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUmVjb3JkUHJldmlld0xpc3RDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld0NhcmRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1RleHRDb21wb25lbnQsXG4gICAgUmVjb3JkUHJldmlld1RpdGxlQ29tcG9uZW50LFxuICAgIFJlY29yZE1ldHJpY0NvbXBvbmVudCxcbiAgICBSZXN1bHRzTGlzdENvbXBvbmVudCxcbiAgICBGYWNldHNNb2R1bGUsXG4gICAgUmVjb3JkUHJldmlld0NvbXBvbmVudCxcbiAgICBSZXN1bHRzSGl0c051bWJlckNvbXBvbmVudCxcbiAgICBSZWNvcmRQcmV2aWV3RmVlZENvbXBvbmVudCxcbiAgICBSZWNvcmRQcmV2aWV3Um93Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IFJFU1VMVFNfTEFZT1VUX0NPTkZJRywgdXNlVmFsdWU6IERFRkFVTFRfUkVTVUxUU19MQVlPVVRfQ09ORklHIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFVpU2VhcmNoTW9kdWxlIHt9XG4iXX0=
|
|
@@ -3,6 +3,6 @@ export * from './lib/i18n.constants';
|
|
|
3
3
|
export * from './lib/i18n.interceptor';
|
|
4
4
|
export * from './lib/lang.service';
|
|
5
5
|
export * from './lib/file.translate.loader';
|
|
6
|
-
export * from './lib/testing/test.translate.module';
|
|
7
6
|
export * from './lib/embedded.translate.loader';
|
|
8
|
-
|
|
7
|
+
export * from './lib/translate.loader.utils';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWwtaTE4bi5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pMThuLmNvbnN0YW50cydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4uaW50ZXJjZXB0b3InXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYW5nLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLnRyYW5zbGF0ZS5sb2FkZXInXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWJlZGRlZC50cmFuc2xhdGUubG9hZGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRlLmxvYWRlci51dGlscydcbiJdfQ==
|
|
@@ -40,9 +40,15 @@ export const FORMATS = {
|
|
|
40
40
|
color: '#328556',
|
|
41
41
|
mimeTypes: ['x-gis/x-shapefile'],
|
|
42
42
|
},
|
|
43
|
+
gml: {
|
|
44
|
+
extensions: ['gml'],
|
|
45
|
+
priority: 5,
|
|
46
|
+
color: '#c92bce',
|
|
47
|
+
mimeTypes: ['application/gml+xml', 'text/xml; subtype=gml'],
|
|
48
|
+
},
|
|
43
49
|
kml: {
|
|
44
50
|
extensions: ['kml', 'kmz'],
|
|
45
|
-
priority:
|
|
51
|
+
priority: 6,
|
|
46
52
|
color: '#348009',
|
|
47
53
|
mimeTypes: [
|
|
48
54
|
'application/vnd.google-earth.kml+xml',
|
|
@@ -51,34 +57,40 @@ export const FORMATS = {
|
|
|
51
57
|
},
|
|
52
58
|
gpkg: {
|
|
53
59
|
extensions: ['gpkg', 'geopackage'],
|
|
54
|
-
priority:
|
|
60
|
+
priority: 7,
|
|
55
61
|
color: '#ea79ba',
|
|
56
62
|
mimeTypes: ['application/geopackage+sqlite3'],
|
|
57
63
|
},
|
|
58
64
|
zip: {
|
|
59
65
|
extensions: ['zip', 'tar.gz'],
|
|
60
|
-
priority:
|
|
66
|
+
priority: 8,
|
|
61
67
|
color: '#f2bb3a',
|
|
62
68
|
mimeTypes: ['application/zip', 'application/x-zip'],
|
|
63
69
|
},
|
|
64
70
|
pdf: {
|
|
65
71
|
extensions: ['pdf'],
|
|
66
|
-
priority:
|
|
72
|
+
priority: 9,
|
|
67
73
|
color: '#db544a',
|
|
68
74
|
mimeTypes: ['application/pdf'],
|
|
69
75
|
},
|
|
70
76
|
jpg: {
|
|
71
77
|
extensions: ['jpg', 'jpeg', 'jfif', 'pjpeg', 'pjp'],
|
|
72
|
-
priority:
|
|
78
|
+
priority: 9,
|
|
73
79
|
color: '#673ab7',
|
|
74
80
|
mimeTypes: ['image/jpg'],
|
|
75
81
|
},
|
|
76
82
|
svg: {
|
|
77
83
|
extensions: ['svg'],
|
|
78
|
-
priority:
|
|
84
|
+
priority: 10,
|
|
79
85
|
color: '#d98294',
|
|
80
86
|
mimeTypes: ['image/svg+xml'],
|
|
81
87
|
},
|
|
88
|
+
dxf: {
|
|
89
|
+
extensions: ['dxf'],
|
|
90
|
+
priority: 11,
|
|
91
|
+
color: '#de630b',
|
|
92
|
+
mimeTypes: ['application/x-dxf', 'image/x-dxf'],
|
|
93
|
+
},
|
|
82
94
|
};
|
|
83
95
|
export function getFormatPriority(linkFormat) {
|
|
84
96
|
for (const format in FORMATS) {
|
|
@@ -95,14 +107,18 @@ export function getFormatPriority(linkFormat) {
|
|
|
95
107
|
export function getLinkPriority(link) {
|
|
96
108
|
return getFormatPriority(getFileFormat(link));
|
|
97
109
|
}
|
|
98
|
-
export function
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
110
|
+
export function getFileFormatFromServiceOutput(serviceOutput) {
|
|
111
|
+
function formatMatcher(format) {
|
|
112
|
+
const output = serviceOutput.toLowerCase();
|
|
113
|
+
return (format.extensions.some((extension) => output.includes(extension)) ||
|
|
114
|
+
format.mimeTypes.some((mimeType) => output.includes(mimeType)));
|
|
115
|
+
}
|
|
116
|
+
for (const formatName in FORMATS) {
|
|
117
|
+
if (formatMatcher(FORMATS[formatName])) {
|
|
118
|
+
return formatName;
|
|
103
119
|
}
|
|
104
120
|
}
|
|
105
|
-
return
|
|
121
|
+
return null;
|
|
106
122
|
}
|
|
107
123
|
export function getFileFormat(link) {
|
|
108
124
|
if ('mimeType' in link) {
|
|
@@ -183,4 +199,4 @@ export function getLinkLabel(link) {
|
|
|
183
199
|
export function getMimeTypeForFormat(format) {
|
|
184
200
|
return format in FORMATS ? FORMATS[format.toLowerCase()].mimeTypes[0] : null;
|
|
185
201
|
}
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUdoRSxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQTtBQUU3QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsR0FBRyxFQUFFO1FBQ0gsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ25CLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0tBQzNDO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsVUFBVSxFQUFFO1lBQ1YsT0FBTztZQUNQLEtBQUs7WUFDTCxNQUFNO1lBQ04sVUFBVTtZQUNWLCtCQUErQjtTQUNoQztRQUNELFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFO1lBQ1QsMEJBQTBCO1lBQzFCLG1FQUFtRTtTQUNwRTtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3ZCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMEJBQTBCLENBQUM7S0FDaEU7SUFDRCxJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDcEIsUUFBUSxFQUFFLENBQUM7UUFDWCxLQUFLLEVBQUUsU0FBUztRQUNoQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztLQUNoQztJQUNELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsa0JB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QUFLLFVBQVU7d0JBQ2IsTUFBTSxHQUFHLE1BQU0sQ0FBQTt3QkFDZixNQUFLO2lCQUNSO2FBQ0Y7WUFDRCxNQUFLO1FBQ1A7WUFDRSxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO0tBQy9CO0lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQzNDLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsTUFBa0I7SUFDckQsT0FBTyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IERhdGFzZXREaXN0cmlidXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbm1hcmtlcignZG93bmxvYWRzLndmcy5mZWF0dXJldHlwZS5ub3QuZm91bmQnKVxuXG5leHBvcnQgY29uc3QgRk9STUFUUyA9IHtcbiAgY3N2OiB7XG4gICAgZXh0ZW5zaW9uczogWydjc3YnXSxcbiAgICBwcmlvcml0eTogMSxcbiAgICBjb2xvcjogJyM1NTlkN2YnLFxuICAgIG1pbWVUeXBlczogWyd0ZXh0L2NzdicsICdhcHBsaWNhdGlvbi9jc3YnXSxcbiAgfSxcbiAgZXhjZWw6IHtcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAnZXhjZWwnLFxuICAgICAgJ3hscycsXG4gICAgICAneGxzeCcsXG4gICAgICAnbXMtZXhjZWwnLFxuICAgICAgJ29wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50JyxcbiAgICBdLFxuICAgIHByaW9yaXR5OiAyLFxuICAgIGNvbG9yOiAnIzBmNDM5NScsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgXSxcbiAgfSxcbiAgZ2VvanNvbjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ2VvanNvbiddLFxuICAgIHByaW9yaXR5OiAzLFxuICAgIGNvbG9yOiAnIzFlNTE4MCcsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlbytqc29uJywgJ2FwcGxpY2F0aW9uL3ZuZC5nZW8ranNvbiddLFxuICB9LFxuICBqc29uOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uJ10sXG4gICAgcHJpb3JpdHk6IDMsXG4gICAgY29sb3I6ICcjMWU1MTgwJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICB9LFxuICBzaHA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3NocCcsICdzaGFwZScsICd6aXBwZWQtc2hhcGVmaWxlJ10sXG4gICAgcHJpb3JpdHk6IDQsXG4gICAgY29sb3I6ICcjMzI4NTU2JyxcbiAgICBtaW1lVHlwZXM6IFsneC1naXMveC1zaGFwZWZpbGUnXSxcbiAgfSxcbiAga21sOiB7XG4gICAgZXh0ZW5zaW9uczogWydrbWwnLCAna216J10sXG4gICAgcHJpb3JpdHk6IDUsXG4gICAgY29sb3I6ICcjMzQ4MDA5JyxcbiAgICBtaW1lVHlwZXM6IFtcbiAgICAgICdhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmttbCt4bWwnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua216JyxcbiAgICBdLFxuICB9LFxuICBncGtnOiB7XG4gICAgZXh0ZW5zaW9uczogWydncGtnJywgJ2dlb3BhY2thZ2UnXSxcbiAgICBwcmlvcml0eTogNixcbiAgICBjb2xvcjogJyNlYTc5YmEnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nZW9wYWNrYWdlK3NxbGl0ZTMnXSxcbiAgfSxcbiAgemlwOiB7XG4gICAgZXh0ZW5zaW9uczogWyd6aXAnLCAndGFyLmd6J10sXG4gICAgcHJpb3JpdHk6IDcsXG4gICAgY29sb3I6ICcjZjJiYjNhJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vemlwJywgJ2FwcGxpY2F0aW9uL3gtemlwJ10sXG4gIH0sXG4gIHBkZjoge1xuICAgIGV4dGVuc2lvbnM6IFsncGRmJ10sXG4gICAgcHJpb3JpdHk6IDgsXG4gICAgY29sb3I6ICcjZGI1NDRhJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vcGRmJ10sXG4gIH0sXG4gIGpwZzoge1xuICAgIGV4dGVuc2lvbnM6IFsnanBnJywgJ2pwZWcnLCAnamZpZicsICdwanBlZycsICdwanAnXSxcbiAgICBwcmlvcml0eTogOCxcbiAgICBjb2xvcjogJyM2NzNhYjcnLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9qcGcnXSxcbiAgfSxcbiAgc3ZnOiB7XG4gICAgZXh0ZW5zaW9uczogWydzdmcnXSxcbiAgICBwcmlvcml0eTogOSxcbiAgICBjb2xvcjogJyNkOTgyOTQnLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9zdmcreG1sJ10sXG4gIH0sXG59IGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIEZpbGVGb3JtYXQgPSBrZXlvZiB0eXBlb2YgRk9STUFUU1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybWF0UHJpb3JpdHkobGlua0Zvcm1hdDogRmlsZUZvcm1hdCk6IG51bWJlciB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGV4dCBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7ZXh0fWAsICdpJykudGVzdChsaW5rRm9ybWF0KSkge1xuICAgICAgICBpZiAoRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5ID09PSAwKSByZXR1cm4gMFxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRk9STUFUUykubGVuZ3RoIC0gRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiAwXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rUHJpb3JpdHkobGluazogRGF0YXNldERpc3RyaWJ1dGlvbik6IG51bWJlciB7XG4gIHJldHVybiBnZXRGb3JtYXRQcmlvcml0eShnZXRGaWxlRm9ybWF0KGxpbmspKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0ZW5zaW9uVG9Gb3JtYXQoZXh0ZW5zaW9uOiBzdHJpbmcpOiBGaWxlRm9ybWF0IHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChhbGlhcyA9PT0gZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCkpIHJldHVybiBmb3JtYXQgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlRm9ybWF0KGxpbms6IERhdGFzZXREaXN0cmlidXRpb24pOiBGaWxlRm9ybWF0IHtcbiAgaWYgKCdtaW1lVHlwZScgaW4gbGluaykge1xuICAgIGNvbnN0IG1pbWVUeXBlRm9ybWF0ID0gbWltZVR5cGVUb0Zvcm1hdChsaW5rLm1pbWVUeXBlKVxuICAgIGlmIChtaW1lVHlwZUZvcm1hdCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1pbWVUeXBlRm9ybWF0XG4gICAgfVxuICB9XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGFsaWFzIG9mIEZPUk1BVFNbZm9ybWF0XS5leHRlbnNpb25zKSB7XG4gICAgICBpZiAoY2hlY2tGaWxlRm9ybWF0KGxpbmssIGFsaWFzKSkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgICBpZiAoaXNGb3JtYXRJblF1ZXJ5UGFyYW0obGluaywgYWxpYXMpKSByZXR1cm4gZm9ybWF0IGFzIEZpbGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybWF0SW5RdWVyeVBhcmFtKFxuICBsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBhbGlhczogc3RyaW5nXG4pOiBib29sZWFuIHtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBsaW5rLnVybC5zZWFyY2hQYXJhbXNcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcXVlcnlQYXJhbXMuZW50cmllcygpKSB7XG4gICAgaWYgKGtleSA9PT0gJ2Zvcm1hdCcgfHwga2V5ID09PSAnZicpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gYWxpYXNcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlOiBzdHJpbmcpOiBGaWxlRm9ybWF0IHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgbXQgb2YgRk9STUFUU1tmb3JtYXRdLm1pbWVUeXBlcykge1xuICAgICAgaWYgKG1pbWVUeXBlID09PSBtdCkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZpbGVGb3JtYXQoXG4gIGxpbms6IERhdGFzZXREaXN0cmlidXRpb24sXG4gIGZvcm1hdDogRmlsZUZvcm1hdFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgKCduYW1lJyBpbiBsaW5rICYmIG5ldyBSZWdFeHAoYFsuL10ke2Zvcm1hdH1gLCAnaScpLnRlc3QobGluay5uYW1lKSkgfHxcbiAgICAoJ3VybCcgaW4gbGluayAmJlxuICAgICAgbmV3IFJlZ0V4cChgWy4vXSR7Zm9ybWF0fWAsICdpJykudGVzdChsaW5rLnVybC50b1N0cmluZygpKSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFkZ2VDb2xvcihsaW5rRm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKGAke2FsaWFzfWAsICdpJykudGVzdChsaW5rRm9ybWF0KSlcbiAgICAgICAgcmV0dXJuIEZPUk1BVFNbZm9ybWF0XS5jb2xvclxuICAgIH1cbiAgfVxuICByZXR1cm4gJ3ZhcigtLWNvbG9yLWdyYXktNzAwKScgLy8gRGVmYXVsdCBjb2xvciA/XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rTGFiZWwobGluazogRGF0YXNldERpc3RyaWJ1dGlvbik6IHN0cmluZyB7XG4gIGxldCBmb3JtYXQgPSAnJ1xuICBzd2l0Y2ggKGxpbmsudHlwZSkge1xuICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAge1xuICAgICAgICBzd2l0Y2ggKGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sKSB7XG4gICAgICAgICAgY2FzZSAnd2ZzJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXRlMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3dtcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnV01TJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICd3bXRzJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXTVRTJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICdlc3JpUmVzdCc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnUkVTVCdcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgZGVmYXVsdDpcbiAgICAgIGZvcm1hdCA9IGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuICBjb25zdCBsYWJlbCA9IGxpbmsuZGVzY3JpcHRpb24gfHwgbGluay5uYW1lXG4gIHJldHVybiBmb3JtYXQgPyBgJHtsYWJlbH0gKCR7Zm9ybWF0fSlgIDogbGFiZWxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbWVUeXBlRm9yRm9ybWF0KGZvcm1hdDogRmlsZUZvcm1hdCk6IHN0cmluZyB8IG51bGwge1xuICByZXR1cm4gZm9ybWF0IGluIEZPUk1BVFMgPyBGT1JNQVRTW2Zvcm1hdC50b0xvd2VyQ2FzZSgpXS5taW1lVHlwZXNbMF0gOiBudWxsXG59XG4iXX0=
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUdoRSxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQTtBQUU3QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsR0FBRyxFQUFFO1FBQ0gsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ25CLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0tBQzNDO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsVUFBVSxFQUFFO1lBQ1YsT0FBTztZQUNQLEtBQUs7WUFDTCxNQUFNO1lBQ04sVUFBVTtZQUNWLCtCQUErQjtTQUNoQztRQUNELFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFO1lBQ1QsMEJBQTBCO1lBQzFCLG1FQUFtRTtTQUNwRTtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3ZCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMEJBQTBCLENBQUM7S0FDaEU7SUFDRCxJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDcEIsUUFBUSxFQUFFLENBQUM7UUFDWCxLQUFLLEVBQUUsU0FBUztRQUNoQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztLQUNoQztJQUNELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsa0JB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QUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IERhdGFzZXREaXN0cmlidXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbm1hcmtlcignZG93bmxvYWRzLndmcy5mZWF0dXJldHlwZS5ub3QuZm91bmQnKVxuXG5leHBvcnQgY29uc3QgRk9STUFUUyA9IHtcbiAgY3N2OiB7XG4gICAgZXh0ZW5zaW9uczogWydjc3YnXSxcbiAgICBwcmlvcml0eTogMSxcbiAgICBjb2xvcjogJyM1NTlkN2YnLFxuICAgIG1pbWVUeXBlczogWyd0ZXh0L2NzdicsICdhcHBsaWNhdGlvbi9jc3YnXSxcbiAgfSxcbiAgZXhjZWw6IHtcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAnZXhjZWwnLFxuICAgICAgJ3hscycsXG4gICAgICAneGxzeCcsXG4gICAgICAnbXMtZXhjZWwnLFxuICAgICAgJ29wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50JyxcbiAgICBdLFxuICAgIHByaW9yaXR5OiAyLFxuICAgIGNvbG9yOiAnIzBmNDM5NScsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgXSxcbiAgfSxcbiAgZ2VvanNvbjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ2VvanNvbiddLFxuICAgIHByaW9yaXR5OiAzLFxuICAgIGNvbG9yOiAnIzFlNTE4MCcsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlbytqc29uJywgJ2FwcGxpY2F0aW9uL3ZuZC5nZW8ranNvbiddLFxuICB9LFxuICBqc29uOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uJ10sXG4gICAgcHJpb3JpdHk6IDMsXG4gICAgY29sb3I6ICcjMWU1MTgwJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICB9LFxuICBzaHA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3NocCcsICdzaGFwZScsICd6aXBwZWQtc2hhcGVmaWxlJ10sXG4gICAgcHJpb3JpdHk6IDQsXG4gICAgY29sb3I6ICcjMzI4NTU2JyxcbiAgICBtaW1lVHlwZXM6IFsneC1naXMveC1zaGFwZWZpbGUnXSxcbiAgfSxcbiAgZ21sOiB7XG4gICAgZXh0ZW5zaW9uczogWydnbWwnXSxcbiAgICBwcmlvcml0eTogNSxcbiAgICBjb2xvcjogJyNjOTJiY2UnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nbWwreG1sJywgJ3RleHQveG1sOyBzdWJ0eXBlPWdtbCddLFxuICB9LFxuICBrbWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2ttbCcsICdrbXonXSxcbiAgICBwcmlvcml0eTogNixcbiAgICBjb2xvcjogJyMzNDgwMDknLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbCcsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbXonLFxuICAgIF0sXG4gIH0sXG4gIGdwa2c6IHtcbiAgICBleHRlbnNpb25zOiBbJ2dwa2cnLCAnZ2VvcGFja2FnZSddLFxuICAgIHByaW9yaXR5OiA3LFxuICAgIGNvbG9yOiAnI2VhNzliYScsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlb3BhY2thZ2Urc3FsaXRlMyddLFxuICB9LFxuICB6aXA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3ppcCcsICd0YXIuZ3onXSxcbiAgICBwcmlvcml0eTogOCxcbiAgICBjb2xvcjogJyNmMmJiM2EnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi96aXAnLCAnYXBwbGljYXRpb24veC16aXAnXSxcbiAgfSxcbiAgcGRmOiB7XG4gICAgZXh0ZW5zaW9uczogWydwZGYnXSxcbiAgICBwcmlvcml0eTogOSxcbiAgICBjb2xvcjogJyNkYjU0NGEnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9wZGYnXSxcbiAgfSxcbiAganBnOiB7XG4gICAgZXh0ZW5zaW9uczogWydqcGcnLCAnanBlZycsICdqZmlmJywgJ3BqcGVnJywgJ3BqcCddLFxuICAgIHByaW9yaXR5OiA5LFxuICAgIGNvbG9yOiAnIzY3M2FiNycsXG4gICAgbWltZVR5cGVzOiBbJ2ltYWdlL2pwZyddLFxuICB9LFxuICBzdmc6IHtcbiAgICBleHRlbnNpb25zOiBbJ3N2ZyddLFxuICAgIHByaW9yaXR5OiAxMCxcbiAgICBjb2xvcjogJyNkOTgyOTQnLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9zdmcreG1sJ10sXG4gIH0sXG4gIGR4Zjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZHhmJ10sXG4gICAgcHJpb3JpdHk6IDExLFxuICAgIGNvbG9yOiAnI2RlNjMwYicsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3gtZHhmJywgJ2ltYWdlL3gtZHhmJ10sXG4gIH0sXG59IGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIEZpbGVGb3JtYXQgPSBrZXlvZiB0eXBlb2YgRk9STUFUU1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybWF0UHJpb3JpdHkobGlua0Zvcm1hdDogRmlsZUZvcm1hdCk6IG51bWJlciB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGV4dCBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7ZXh0fWAsICdpJykudGVzdChsaW5rRm9ybWF0KSkge1xuICAgICAgICBpZiAoRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5ID09PSAwKSByZXR1cm4gMFxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRk9STUFUUykubGVuZ3RoIC0gRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiAwXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rUHJpb3JpdHkobGluazogRGF0YXNldERpc3RyaWJ1dGlvbik6IG51bWJlciB7XG4gIHJldHVybiBnZXRGb3JtYXRQcmlvcml0eShnZXRGaWxlRm9ybWF0KGxpbmspKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZUZvcm1hdEZyb21TZXJ2aWNlT3V0cHV0KFxuICBzZXJ2aWNlT3V0cHV0OiBzdHJpbmdcbik6IEZpbGVGb3JtYXQgfCBudWxsIHtcbiAgZnVuY3Rpb24gZm9ybWF0TWF0Y2hlcihmb3JtYXQ6IHR5cGVvZiBGT1JNQVRTW0ZpbGVGb3JtYXRdKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gc2VydmljZU91dHB1dC50b0xvd2VyQ2FzZSgpXG4gICAgcmV0dXJuIChcbiAgICAgIGZvcm1hdC5leHRlbnNpb25zLnNvbWUoKGV4dGVuc2lvbjogc3RyaW5nKSA9PlxuICAgICAgICBvdXRwdXQuaW5jbHVkZXMoZXh0ZW5zaW9uKVxuICAgICAgKSB8fFxuICAgICAgZm9ybWF0Lm1pbWVUeXBlcy5zb21lKChtaW1lVHlwZTogc3RyaW5nKSA9PiBvdXRwdXQuaW5jbHVkZXMobWltZVR5cGUpKVxuICAgIClcbiAgfVxuICBmb3IgKGNvbnN0IGZvcm1hdE5hbWUgaW4gRk9STUFUUykge1xuICAgIGlmIChmb3JtYXRNYXRjaGVyKEZPUk1BVFNbZm9ybWF0TmFtZV0pKSB7XG4gICAgICByZXR1cm4gZm9ybWF0TmFtZSBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlRm9ybWF0KGxpbms6IERhdGFzZXREaXN0cmlidXRpb24pOiBGaWxlRm9ybWF0IHtcbiAgaWYgKCdtaW1lVHlwZScgaW4gbGluaykge1xuICAgIGNvbnN0IG1pbWVUeXBlRm9ybWF0ID0gbWltZVR5cGVUb0Zvcm1hdChsaW5rLm1pbWVUeXBlKVxuICAgIGlmIChtaW1lVHlwZUZvcm1hdCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1pbWVUeXBlRm9ybWF0XG4gICAgfVxuICB9XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGFsaWFzIG9mIEZPUk1BVFNbZm9ybWF0XS5leHRlbnNpb25zKSB7XG4gICAgICBpZiAoY2hlY2tGaWxlRm9ybWF0KGxpbmssIGFsaWFzKSkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgICBpZiAoaXNGb3JtYXRJblF1ZXJ5UGFyYW0obGluaywgYWxpYXMpKSByZXR1cm4gZm9ybWF0IGFzIEZpbGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybWF0SW5RdWVyeVBhcmFtKFxuICBsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBhbGlhczogc3RyaW5nXG4pOiBib29sZWFuIHtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBsaW5rLnVybC5zZWFyY2hQYXJhbXNcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcXVlcnlQYXJhbXMuZW50cmllcygpKSB7XG4gICAgaWYgKGtleSA9PT0gJ2Zvcm1hdCcgfHwga2V5ID09PSAnZicpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gYWxpYXNcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlOiBzdHJpbmcpOiBGaWxlRm9ybWF0IHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgbXQgb2YgRk9STUFUU1tmb3JtYXRdLm1pbWVUeXBlcykge1xuICAgICAgaWYgKG1pbWVUeXBlID09PSBtdCkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZpbGVGb3JtYXQoXG4gIGxpbms6IERhdGFzZXREaXN0cmlidXRpb24sXG4gIGZvcm1hdDogRmlsZUZvcm1hdFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgKCduYW1lJyBpbiBsaW5rICYmIG5ldyBSZWdFeHAoYFsuL10ke2Zvcm1hdH1gLCAnaScpLnRlc3QobGluay5uYW1lKSkgfHxcbiAgICAoJ3VybCcgaW4gbGluayAmJlxuICAgICAgbmV3IFJlZ0V4cChgWy4vXSR7Zm9ybWF0fWAsICdpJykudGVzdChsaW5rLnVybC50b1N0cmluZygpKSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFkZ2VDb2xvcihsaW5rRm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgYWxpYXMgb2YgRk9STUFUU1tmb3JtYXRdLmV4dGVuc2lvbnMpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKGAke2FsaWFzfWAsICdpJykudGVzdChsaW5rRm9ybWF0KSlcbiAgICAgICAgcmV0dXJuIEZPUk1BVFNbZm9ybWF0XS5jb2xvclxuICAgIH1cbiAgfVxuICByZXR1cm4gJ3ZhcigtLWNvbG9yLWdyYXktNzAwKScgLy8gRGVmYXVsdCBjb2xvciA/XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rTGFiZWwobGluazogRGF0YXNldERpc3RyaWJ1dGlvbik6IHN0cmluZyB7XG4gIGxldCBmb3JtYXQgPSAnJ1xuICBzd2l0Y2ggKGxpbmsudHlwZSkge1xuICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAge1xuICAgICAgICBzd2l0Y2ggKGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sKSB7XG4gICAgICAgICAgY2FzZSAnd2ZzJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXRlMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3dtcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnV01TJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICd3bXRzJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXTVRTJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICdlc3JpUmVzdCc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnUkVTVCdcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgZGVmYXVsdDpcbiAgICAgIGZvcm1hdCA9IGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuICBjb25zdCBsYWJlbCA9IGxpbmsuZGVzY3JpcHRpb24gfHwgbGluay5uYW1lXG4gIHJldHVybiBmb3JtYXQgPyBgJHtsYWJlbH0gKCR7Zm9ybWF0fSlgIDogbGFiZWxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbWVUeXBlRm9yRm9ybWF0KGZvcm1hdDogRmlsZUZvcm1hdCk6IHN0cmluZyB8IG51bGwge1xuICByZXR1cm4gZm9ybWF0IGluIEZPUk1BVFMgPyBGT1JNQVRTW2Zvcm1hdC50b0xvd2VyQ2FzZSgpXS5taW1lVHlwZXNbMF0gOiBudWxsXG59XG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
function normalize(input) {
|
|
2
|
+
return input
|
|
3
|
+
.toLowerCase()
|
|
4
|
+
.normalize('NFD') // explode composite chars (e.g. é) into multiple chars
|
|
5
|
+
.replace(/[\u0300-\u036f]/g, '') // remove accents
|
|
6
|
+
.replace(/œ/g, 'oe') // remove accents
|
|
7
|
+
.replace(/[^a-z0-9\s]/g, ' '); // replace special characters with space
|
|
8
|
+
}
|
|
9
|
+
function asNormalizedParts(input) {
|
|
10
|
+
return normalize(input)
|
|
11
|
+
.split(/\s+/)
|
|
12
|
+
.map((part) => part.trim())
|
|
13
|
+
.filter((part) => part.length > 0);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* This creates a filter function based on a pattern (typically a user-input
|
|
17
|
+
* search text).
|
|
18
|
+
* @param pattern
|
|
19
|
+
*/
|
|
20
|
+
export function createFuzzyFilter(pattern) {
|
|
21
|
+
const patternParts = asNormalizedParts(pattern);
|
|
22
|
+
return (input) => {
|
|
23
|
+
const inputParts = asNormalizedParts(input);
|
|
24
|
+
return patternParts.every((patternPart) => inputParts.some((part) => part.includes(patternPart)));
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnV6enktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMvbGliL3V0aWxzL2Z1enp5LWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxTQUFTLFNBQVMsQ0FBQyxLQUFhO0lBQzlCLE9BQU8sS0FBSztTQUNULFdBQVcsRUFBRTtTQUNiLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyx1REFBdUQ7U0FDeEUsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtTQUNqRCxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLGlCQUFpQjtTQUNyQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFBLENBQUMsd0NBQXdDO0FBQzFFLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQWE7SUFDdEMsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDO1NBQ3BCLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDWixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFDdEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsT0FBZTtJQUMvQyxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvQyxPQUFPLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDdkIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0MsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDeEMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUN0RCxDQUFBO0lBQ0gsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgRnV6enlGaWx0ZXIgPSAoaW5wdXQ6IHN0cmluZykgPT4gYm9vbGVhblxuXG5mdW5jdGlvbiBub3JtYWxpemUoaW5wdXQ6IHN0cmluZykge1xuICByZXR1cm4gaW5wdXRcbiAgICAudG9Mb3dlckNhc2UoKVxuICAgIC5ub3JtYWxpemUoJ05GRCcpIC8vIGV4cGxvZGUgY29tcG9zaXRlIGNoYXJzIChlLmcuIMOpKSBpbnRvIG11bHRpcGxlIGNoYXJzXG4gICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKSAvLyByZW1vdmUgYWNjZW50c1xuICAgIC5yZXBsYWNlKC/Fky9nLCAnb2UnKSAvLyByZW1vdmUgYWNjZW50c1xuICAgIC5yZXBsYWNlKC9bXmEtejAtOVxcc10vZywgJyAnKSAvLyByZXBsYWNlIHNwZWNpYWwgY2hhcmFjdGVycyB3aXRoIHNwYWNlXG59XG5cbmZ1bmN0aW9uIGFzTm9ybWFsaXplZFBhcnRzKGlucHV0OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBub3JtYWxpemUoaW5wdXQpXG4gICAgLnNwbGl0KC9cXHMrLylcbiAgICAubWFwKChwYXJ0KSA9PiBwYXJ0LnRyaW0oKSlcbiAgICAuZmlsdGVyKChwYXJ0KSA9PiBwYXJ0Lmxlbmd0aCA+IDApXG59XG5cbi8qKlxuICogVGhpcyBjcmVhdGVzIGEgZmlsdGVyIGZ1bmN0aW9uIGJhc2VkIG9uIGEgcGF0dGVybiAodHlwaWNhbGx5IGEgdXNlci1pbnB1dFxuICogc2VhcmNoIHRleHQpLlxuICogQHBhcmFtIHBhdHRlcm5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1enp5RmlsdGVyKHBhdHRlcm46IHN0cmluZyk6IEZ1enp5RmlsdGVyIHtcbiAgY29uc3QgcGF0dGVyblBhcnRzID0gYXNOb3JtYWxpemVkUGFydHMocGF0dGVybilcbiAgcmV0dXJuIChpbnB1dDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgaW5wdXRQYXJ0cyA9IGFzTm9ybWFsaXplZFBhcnRzKGlucHV0KVxuICAgIHJldHVybiBwYXR0ZXJuUGFydHMuZXZlcnkoKHBhdHRlcm5QYXJ0KSA9PlxuICAgICAgaW5wdXRQYXJ0cy5zb21lKChwYXJ0KSA9PiBwYXJ0LmluY2x1ZGVzKHBhdHRlcm5QYXJ0KSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,4 +5,5 @@ export * from './geojson';
|
|
|
5
5
|
export * from './sort-by';
|
|
6
6
|
export * from './url';
|
|
7
7
|
export * from './event';
|
|
8
|
-
|
|
8
|
+
export * from './fuzzy-filter';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLE9BQU8sQ0FBQTtBQUNyQixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLGdCQUFnQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXJzZSdcbmV4cG9ydCAqIGZyb20gJy4vc3RyaXAtaHRtbCdcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlLXdoaXRlc3BhY2UnXG5leHBvcnQgKiBmcm9tICcuL2dlb2pzb24nXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtYnknXG5leHBvcnQgKiBmcm9tICcuL3VybCdcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnQnXG5leHBvcnQgKiBmcm9tICcuL2Z1enp5LWZpbHRlcidcbiJdfQ==
|