geonetwork-ui 2.2.0-dev.9ae0a68b → 2.2.0-dev.a9d33529
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 +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +36 -2
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +2 -1
- package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
- 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/search.model.mjs +1 -1
- package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
- 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/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 +23 -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 +5 -3
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +3 -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/search/src/index.mjs +2 -1
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +129 -0
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +5 -3
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/index.mjs +3 -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 +2 -2
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -7
- 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 +10 -3
- 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 +2 -2
- 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 +3 -3
- package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -3
- 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/shared/src/lib/links/link-utils.mjs +29 -13
- package/esm2022/translations/de.json +102 -94
- package/esm2022/translations/en.json +27 -19
- package/esm2022/translations/es.json +8 -0
- package/esm2022/translations/fr.json +12 -4
- package/esm2022/translations/it.json +11 -3
- package/esm2022/translations/nl.json +8 -0
- package/esm2022/translations/pt.json +8 -0
- package/fesm2022/geonetwork-ui.mjs +946 -457
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +1 -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.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.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/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 +10 -5
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/search.model.d.ts +1 -2
- package/libs/common/domain/src/lib/model/search/search.model.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/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/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 +15 -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 +1 -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 +1 -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 +3 -3
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.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/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/results-table/results-table.component.d.ts +34 -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/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
- package/libs/ui/elements/src/index.d.ts +2 -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/metadata-info/metadata-info.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.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 +12 -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/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/ui-inputs.module.d.ts +2 -1
- 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/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/package.json +4 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +3 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +43 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
- 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 +12 -7
- package/src/libs/common/domain/src/lib/model/search/search.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
- package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
- 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/constant/index.ts +1 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +12 -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 +6 -2
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +6 -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/search/src/index.ts +1 -0
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -1
- package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
- 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 +135 -0
- package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +165 -0
- package/src/libs/feature/search/src/lib/state/effects.ts +4 -3
- package/src/libs/ui/elements/src/index.ts +2 -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-parser/markdown-parser.component.css +52 -52
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +2 -2
- 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 +56 -27
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +5 -0
- 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 +4 -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/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/editable-label/editable-label.directive.ts +48 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -0
- 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/shared/src/lib/links/link-utils.ts +34 -11
- package/translations/de.json +102 -94
- package/translations/en.json +27 -19
- package/translations/es.json +8 -0
- package/translations/fr.json +12 -4
- package/translations/it.json +11 -3
- package/translations/nl.json +8 -0
- package/translations/pt.json +8 -0
- package/translations/sk.json +8 -0
- 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/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/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/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
- /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { AutocompleteComponent, } from '../../../../../../libs/ui/inputs/src';
|
|
3
|
+
import { firstValueFrom } from 'rxjs';
|
|
3
4
|
import { map } from 'rxjs/operators';
|
|
4
5
|
import { SearchFacade } from '../state/search.facade';
|
|
5
6
|
import { SearchService } from '../utils/service/search.service';
|
|
@@ -52,8 +53,11 @@ export class FuzzySearchComponent {
|
|
|
52
53
|
this.searchService.updateFilters({ any });
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
|
-
handleInputCleared() {
|
|
56
|
-
this.
|
|
56
|
+
async handleInputCleared() {
|
|
57
|
+
const currentSearchFilters = await firstValueFrom(this.searchFacade.searchFilters$);
|
|
58
|
+
if (currentSearchFilters.any) {
|
|
59
|
+
this.searchService.updateFilters({ any: '' });
|
|
60
|
+
}
|
|
57
61
|
}
|
|
58
62
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FuzzySearchComponent, deps: [{ token: i1.SearchFacade }, { token: i2.SearchService }, { token: i3.RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
63
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: { autoFocus: "autoFocus" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted" }, viewQueries: [{ propertyName: "autocomplete", first: true, predicate: AutocompleteComponent, descendants: true }], ngImport: i0, template: "<gn-ui-autocomplete\n [placeholder]=\"'search.field.any.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n (inputSubmitted)=\"handleInputSubmission($event)\"\n (inputCleared)=\"handleInputCleared()\"\n [value]=\"searchInputValue$ | async\"\n [clearOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n></gn-ui-autocomplete>\n", styles: [""], dependencies: [{ kind: "component", type: i4.AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "autoFocus", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -71,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
71
75
|
}], inputSubmitted: [{
|
|
72
76
|
type: Output
|
|
73
77
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnV6enktc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9zZWFyY2gvc3JjL2xpYi9mdXp6eS1zZWFyY2gvZnV6enktc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9zZWFyY2gvc3JjL2xpYi9mdXp6eS1zZWFyY2gvZnV6enktc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wscUJBQXFCLEdBRXRCLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUUvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQTs7Ozs7Ozs7QUFTakksTUFBTSxPQUFPLG9CQUFvQjtJQWMvQixZQUNVLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGlCQUE2QztRQUY3QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBZjlDLGNBQVMsR0FBRyxLQUFLLENBQUE7UUFDaEIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQTtRQUNoRCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7UUFHckQsa0JBQWEsR0FBc0MsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUE7UUFFNUUsdUJBQWtCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUNyQyxJQUFJLENBQUMsaUJBQWlCO2FBQ25CLFdBQVcsQ0FBQyxLQUFLLENBQUM7YUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFNdkMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM1RCxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckIsS0FBSyxFQUFFLFlBQVksQ0FBQyxHQUFhO1NBQ2xDLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxtQkFBbUIsQ0FBQyxJQUFzQjtRQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFxQixDQUFBO1FBQ3BDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUMvQjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7U0FDcEQ7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUMsR0FBVztRQUMvQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7U0FDOUI7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtTQUMxQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCO1FBQ3RCLE1BQU0sb0JBQW9CLEdBQWtCLE1BQU0sY0FBYyxDQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FDakMsQ0FBQTtRQUNELElBQUksb0JBQW9CLENBQUMsR0FBRyxFQUFFO1lBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDOUM7SUFDSCxDQUFDOzhHQTFEVSxvQkFBb0I7a0dBQXBCLG9CQUFvQix5TkFDcEIscUJBQXFCLGdEQzVCbEMsK2FBV0E7OzJGRGdCYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07d0tBR2IsWUFBWTtzQkFBN0MsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBQ3ZCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgQXV0b2NvbXBsZXRlSXRlbSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBTZWFyY2hGYWNhZGUgfSBmcm9tICcuLi9zdGF0ZS9zZWFyY2guZmFjYWRlJ1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL3NlcnZpY2Uvc2VhcmNoLnNlcnZpY2UnXG5pbXBvcnQgeyBDYXRhbG9nUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9yZXBvc2l0b3J5L3JlY29yZHMtcmVwb3NpdG9yeS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBTZWFyY2hGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZnV6enktc2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Z1enp5LXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Z1enp5LXNlYXJjaC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGdXp6eVNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoQXV0b2NvbXBsZXRlQ29tcG9uZW50KSBhdXRvY29tcGxldGU6IEF1dG9jb21wbGV0ZUNvbXBvbmVudFxuICBASW5wdXQoKSBhdXRvRm9jdXMgPSBmYWxzZVxuICBAT3V0cHV0KCkgaXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDYXRhbG9nUmVjb3JkPigpXG4gIEBPdXRwdXQoKSBpbnB1dFN1Ym1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXG4gIHNlYXJjaElucHV0VmFsdWUkOiBPYnNlcnZhYmxlPHsgdGl0bGU6IHN0cmluZyB9PlxuXG4gIGRpc3BsYXlXaXRoRm46IChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpID0+IHN0cmluZyA9IChyZWNvcmQpID0+IHJlY29yZD8udGl0bGVcblxuICBhdXRvQ29tcGxldGVBY3Rpb24gPSAocXVlcnk6IHN0cmluZykgPT5cbiAgICB0aGlzLnJlY29yZHNSZXBvc2l0b3J5XG4gICAgICAuZnV6enlTZWFyY2gocXVlcnkpXG4gICAgICAucGlwZShtYXAoKHJlc3VsdCkgPT4gcmVzdWx0LnJlY29yZHMpKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoRmFjYWRlOiBTZWFyY2hGYWNhZGUsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjb3Jkc1JlcG9zaXRvcnk6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUkID0gdGhpcy5zZWFyY2hGYWNhZGUuc2VhcmNoRmlsdGVycyQucGlwZShcbiAgICAgIG1hcCgoc2VhcmNoRmlsdGVyKSA9PiAoe1xuICAgICAgICB0aXRsZTogc2VhcmNoRmlsdGVyLmFueSBhcyBzdHJpbmcsXG4gICAgICB9KSlcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogRW1pdCB0aGUgZXZlbnQgaWYgdGhlIHBhcmVudCBjb21wb25lbnQgaGFzIHN1YnNjcmliZWQgdG8gaXQsIHNvIGl0XG4gICAqIGNhbiBkZWZpbmUgdGhlIGNvcnJlY3QgYmVoYXZpb3IuIElmIG5vIGNvbXBvbmVudCBpcyBsaXN0ZW5pbmcgdG8gdGhhdFxuICAgKiBldmVudCwgdGhlbiBhcHBseSB0aGUgZGVmYXVsdCBiZWhhdmlvclxuICAgKiBAcGFyYW0gaXRlbVxuICAgKi9cbiAgaGFuZGxlSXRlbVNlbGVjdGlvbihpdGVtOiBBdXRvY29tcGxldGVJdGVtKSB7XG4gICAgY29uc3QgcmVjb3JkID0gaXRlbSBhcyBDYXRhbG9nUmVjb3JkXG4gICAgaWYgKHRoaXMuaXRlbVNlbGVjdGVkLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KHJlY29yZClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hGYWNhZGUuc2V0RmlsdGVycyh7IGFueTogcmVjb3JkLnRpdGxlIH0pXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlSW5wdXRTdWJtaXNzaW9uKGFueTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaW5wdXRTdWJtaXR0ZWQub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaW5wdXRTdWJtaXR0ZWQuZW1pdChhbnkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoU2VydmljZS51cGRhdGVGaWx0ZXJzKHsgYW55IH0pXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaGFuZGxlSW5wdXRDbGVhcmVkKCkge1xuICAgIGNvbnN0IGN1cnJlbnRTZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnNlYXJjaEZhY2FkZS5zZWFyY2hGaWx0ZXJzJFxuICAgIClcbiAgICBpZiAoY3VycmVudFNlYXJjaEZpbHRlcnMuYW55KSB7XG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UudXBkYXRlRmlsdGVycyh7IGFueTogJycgfSlcbiAgICB9XG4gIH1cbn1cbiIsIjxnbi11aS1hdXRvY29tcGxldGVcbiAgW3BsYWNlaG9sZGVyXT1cIidzZWFyY2guZmllbGQuYW55LnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gIFtkaXNwbGF5V2l0aEZuXT1cImRpc3BsYXlXaXRoRm5cIlxuICBbYWN0aW9uXT1cImF1dG9Db21wbGV0ZUFjdGlvblwiXG4gIChpdGVtU2VsZWN0ZWQpPVwiaGFuZGxlSXRlbVNlbGVjdGlvbigkZXZlbnQpXCJcbiAgKGlucHV0U3VibWl0dGVkKT1cImhhbmRsZUlucHV0U3VibWlzc2lvbigkZXZlbnQpXCJcbiAgKGlucHV0Q2xlYXJlZCk9XCJoYW5kbGVJbnB1dENsZWFyZWQoKVwiXG4gIFt2YWx1ZV09XCJzZWFyY2hJbnB1dFZhbHVlJCB8IGFzeW5jXCJcbiAgW2NsZWFyT25TZWxlY3Rpb25dPVwidHJ1ZVwiXG4gIFthdXRvRm9jdXNdPVwiYXV0b0ZvY3VzXCJcbj48L2duLXVpLWF1dG9jb21wbGV0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import { getBadgeColor, getFileFormat, getFormatPriority, } from '../../../../../../libs/util/shared/src';
|
|
3
|
+
import { UiInputsModule } from '../../../../../../libs/ui/inputs/src';
|
|
4
|
+
import { InteractiveTableColumnComponent, InteractiveTableComponent, } from '../../../../../../libs/ui/layout/src';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
+
import { SearchFacade } from '../state/search.facade';
|
|
8
|
+
import { SelectionService } from '../../../../../../libs/api/repository/src';
|
|
9
|
+
import { combineLatest, firstValueFrom } from 'rxjs';
|
|
10
|
+
import { CommonModule } from '@angular/common';
|
|
11
|
+
import { map, take } from 'rxjs/operators';
|
|
12
|
+
import { SearchService } from '../utils/service/search.service';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "../state/search.facade";
|
|
15
|
+
import * as i2 from "../utils/service/search.service";
|
|
16
|
+
import * as i3 from "../../../../../../libs/api/repository/src";
|
|
17
|
+
import * as i4 from "@angular/common";
|
|
18
|
+
import * as i5 from "../../../../../ui/inputs/src/lib/checkbox/checkbox.component";
|
|
19
|
+
import * as i6 from "@angular/material/icon";
|
|
20
|
+
import * as i7 from "@ngx-translate/core";
|
|
21
|
+
export class ResultsTableComponent {
|
|
22
|
+
constructor(searchFacade, searchService, selectionService) {
|
|
23
|
+
this.searchFacade = searchFacade;
|
|
24
|
+
this.searchService = searchService;
|
|
25
|
+
this.selectionService = selectionService;
|
|
26
|
+
this.recordClick = new EventEmitter();
|
|
27
|
+
this.records$ = this.searchFacade.results$;
|
|
28
|
+
this.recordCount$ = this.searchFacade.resultsHits$;
|
|
29
|
+
this.selectedRecords$ = this.selectionService.selectedRecordsIdentifiers$;
|
|
30
|
+
}
|
|
31
|
+
dateToString(date) {
|
|
32
|
+
return date?.toLocaleDateString(undefined, {
|
|
33
|
+
year: 'numeric',
|
|
34
|
+
month: 'long',
|
|
35
|
+
day: 'numeric',
|
|
36
|
+
timeZone: 'UTC',
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
getStatus(isPublishedToAll) {
|
|
40
|
+
return isPublishedToAll ? 'published' : 'not published';
|
|
41
|
+
}
|
|
42
|
+
getRecordFormats(record) {
|
|
43
|
+
if (record.kind === 'service' || !('distributions' in record)) {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
const formats = Array.from(new Set(record.distributions.map((distribution) => getFileFormat(distribution)))).filter((format) => !!format);
|
|
47
|
+
formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a));
|
|
48
|
+
return formats;
|
|
49
|
+
}
|
|
50
|
+
formatUserInfo(userInfo) {
|
|
51
|
+
const infos = (typeof userInfo === 'string' ? userInfo : '').split('|');
|
|
52
|
+
if (infos && infos.length === 4) {
|
|
53
|
+
return `${infos[2]} ${infos[1]}`;
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
getBadgeColor(format) {
|
|
58
|
+
return getBadgeColor(format);
|
|
59
|
+
}
|
|
60
|
+
handleRecordClick(item) {
|
|
61
|
+
this.recordClick.emit(item);
|
|
62
|
+
}
|
|
63
|
+
setSortBy(col, order) {
|
|
64
|
+
this.searchService.setSortBy([order, col]);
|
|
65
|
+
}
|
|
66
|
+
isSortedBy(col) {
|
|
67
|
+
return this.searchFacade.sortBy$.pipe(take(1), map((sortOrder) => {
|
|
68
|
+
const sortArray = Array.isArray(sortOrder[0])
|
|
69
|
+
? sortOrder
|
|
70
|
+
: [sortOrder];
|
|
71
|
+
for (const sort of sortArray) {
|
|
72
|
+
if (sort[1] === col) {
|
|
73
|
+
return sort[0];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return null;
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
isChecked(record) {
|
|
80
|
+
return this.selectedRecords$.pipe(take(1), map((selectedRecords) => {
|
|
81
|
+
return selectedRecords.includes(record.uniqueIdentifier);
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
handleRecordSelectedChange(selected, record) {
|
|
85
|
+
if (!selected) {
|
|
86
|
+
this.selectionService.deselectRecords([record]);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.selectionService.selectRecords([record]);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async toggleSelectAll() {
|
|
93
|
+
const records = await firstValueFrom(this.records$);
|
|
94
|
+
if (await firstValueFrom(this.isAllSelected())) {
|
|
95
|
+
this.selectionService.deselectRecords(records);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.selectionService.selectRecords(records);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
isAllSelected() {
|
|
102
|
+
return combineLatest([this.records$, this.selectedRecords$]).pipe(take(1), map(([records, selectedRecords]) => {
|
|
103
|
+
return records.every((record) => selectedRecords.includes(record.uniqueIdentifier));
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
isSomeSelected() {
|
|
107
|
+
return combineLatest([this.records$, this.selectedRecords$]).pipe(take(1), map(([records, selectedRecords]) => {
|
|
108
|
+
const allSelected = records.every((record) => selectedRecords.includes(record.uniqueIdentifier));
|
|
109
|
+
const someSelected = records.some((record) => selectedRecords.includes(record.uniqueIdentifier));
|
|
110
|
+
return !allSelected && someSelected;
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ResultsTableComponent, deps: [{ token: i1.SearchFacade }, { token: i2.SearchService }, { token: i3.SelectionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", outputs: { recordClick: "recordClick" }, ngImport: i0, template: "<div>\n <div class=\"flex\" data-cy=\"records-information\">\n <div\n translate\n class=\"my-8 ml-4 block text-gray-800\"\n [translateParams]=\"{\n displayed: (records$ | async).length,\n hits: (recordCount$ | async)\n }\"\n >\n results.records.hits.displayedOn\n </div>\n <div\n *ngIf=\"(selectedRecords$ | async).length as selectedRecordCount\"\n class=\"my-8 ml-6 block text-gray-400 selected-records\"\n translate\n [translateParams]=\"{ amount: selectedRecordCount }\"\n >\n results.records.hits.selected\n </div>\n </div>\n\n <gn-ui-interactive-table\n [items]=\"records$ | async\"\n (itemClick)=\"handleRecordClick($event)\"\n >\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected() | async\"\n [indeterminate]=\"isSomeSelected() | async\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item) | async\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword') | async\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.title }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 flex-shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 flex-shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"flex-shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner') | async\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate') | async\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n </gn-ui-interactive-table>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: i5.CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
115
|
+
}
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
117
|
+
type: Component,
|
|
118
|
+
args: [{ selector: 'gn-ui-results-table', standalone: true, imports: [
|
|
119
|
+
CommonModule,
|
|
120
|
+
UiInputsModule,
|
|
121
|
+
InteractiveTableComponent,
|
|
122
|
+
InteractiveTableColumnComponent,
|
|
123
|
+
MatIconModule,
|
|
124
|
+
TranslateModule,
|
|
125
|
+
], template: "<div>\n <div class=\"flex\" data-cy=\"records-information\">\n <div\n translate\n class=\"my-8 ml-4 block text-gray-800\"\n [translateParams]=\"{\n displayed: (records$ | async).length,\n hits: (recordCount$ | async)\n }\"\n >\n results.records.hits.displayedOn\n </div>\n <div\n *ngIf=\"(selectedRecords$ | async).length as selectedRecordCount\"\n class=\"my-8 ml-6 block text-gray-400 selected-records\"\n translate\n [translateParams]=\"{ amount: selectedRecordCount }\"\n >\n results.records.hits.selected\n </div>\n </div>\n\n <gn-ui-interactive-table\n [items]=\"records$ | async\"\n (itemClick)=\"handleRecordClick($event)\"\n >\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected() | async\"\n [indeterminate]=\"isSomeSelected() | async\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item) | async\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword') | async\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.title }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 flex-shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 flex-shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"flex-shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner') | async\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate') | async\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n </gn-ui-interactive-table>\n</div>\n" }]
|
|
126
|
+
}], ctorParameters: function () { return [{ type: i1.SearchFacade }, { type: i2.SearchService }, { type: i3.SelectionService }]; }, propDecorators: { recordClick: [{
|
|
127
|
+
type: Output
|
|
128
|
+
}] } });
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0cy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYy9saWIvcmVzdWx0cy10YWJsZS9yZXN1bHRzLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9zZWFyY2gvc3JjL2xpYi9yZXN1bHRzLXRhYmxlL3Jlc3VsdHMtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRS9ELE9BQU8sRUFFTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGlCQUFpQixHQUNsQixNQUFNLHdDQUF3QyxDQUFBO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRSxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLHlCQUF5QixHQUMxQixNQUFNLHNDQUFzQyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTs7Ozs7Ozs7O0FBZ0IvRCxN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VSxxQkFBcUI7a0dBQXJCLHFCQUFxQix3SENyQ2xDLDA1SUF1SUEseUREMUdJLFlBQVksdUxBQ1osY0FBYyxrTEFDZCx5QkFBeUIsK0dBQ3pCLCtCQUErQiwrSUFDL0IsYUFBYSxtTEFDYixlQUFlOzsyRkFHTixxQkFBcUI7a0JBZGpDLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLGFBQWE7d0JBQ2IsZUFBZTtxQkFDaEI7OEpBR1MsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIEZpbGVGb3JtYXQsXG4gIGdldEJhZGdlQ29sb3IsXG4gIGdldEZpbGVGb3JtYXQsXG4gIGdldEZvcm1hdFByaW9yaXR5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IFVpSW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHtcbiAgSW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgSW50ZXJhY3RpdmVUYWJsZUNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgU2VhcmNoRmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUvc2VhcmNoLmZhY2FkZSdcbmltcG9ydCB7IFNlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYydcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgRmllbGRTb3J0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvc2VhcmNoJ1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL3NlcnZpY2Uvc2VhcmNoLnNlcnZpY2UnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXJlc3VsdHMtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzdWx0cy10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jlc3VsdHMtdGFibGUuY29tcG9uZW50LmNzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIEludGVyYWN0aXZlVGFibGVDb21wb25lbnQsXG4gICAgSW50ZXJhY3RpdmVUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzdWx0c1RhYmxlQ29tcG9uZW50IHtcbiAgQE91dHB1dCgpIHJlY29yZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDYXRhbG9nUmVjb3JkPigpXG5cbiAgcmVjb3JkcyQgPSB0aGlzLnNlYXJjaEZhY2FkZS5yZXN1bHRzJFxuICByZWNvcmRDb3VudCQgPSB0aGlzLnNlYXJjaEZhY2FkZS5yZXN1bHRzSGl0cyRcbiAgc2VsZWN0ZWRSZWNvcmRzJCA9IHRoaXMuc2VsZWN0aW9uU2VydmljZS5zZWxlY3RlZFJlY29yZHNJZGVudGlmaWVycyRcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlYXJjaEZhY2FkZTogU2VhcmNoRmFjYWRlLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHNlbGVjdGlvblNlcnZpY2U6IFNlbGVjdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGRhdGVUb1N0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZT8udG9Mb2NhbGVEYXRlU3RyaW5nKHVuZGVmaW5lZCwge1xuICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgbW9udGg6ICdsb25nJyxcbiAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgdGltZVpvbmU6ICdVVEMnLFxuICAgIH0pXG4gIH1cblxuICBnZXRTdGF0dXMoaXNQdWJsaXNoZWRUb0FsbDogYm9vbGVhbiB8IHVua25vd24pIHtcbiAgICByZXR1cm4gaXNQdWJsaXNoZWRUb0FsbCA/ICdwdWJsaXNoZWQnIDogJ25vdCBwdWJsaXNoZWQnXG4gIH1cblxuICBnZXRSZWNvcmRGb3JtYXRzKHJlY29yZDogQ2F0YWxvZ1JlY29yZCk6IEZpbGVGb3JtYXRbXSB7XG4gICAgaWYgKHJlY29yZC5raW5kID09PSAnc2VydmljZScgfHwgISgnZGlzdHJpYnV0aW9ucycgaW4gcmVjb3JkKSkge1xuICAgICAgcmV0dXJuIFtdXG4gICAgfVxuICAgIGNvbnN0IGZvcm1hdHMgPSBBcnJheS5mcm9tKFxuICAgICAgbmV3IFNldChcbiAgICAgICAgcmVjb3JkLmRpc3RyaWJ1dGlvbnMubWFwKChkaXN0cmlidXRpb24pID0+IGdldEZpbGVGb3JtYXQoZGlzdHJpYnV0aW9uKSlcbiAgICAgIClcbiAgICApLmZpbHRlcigoZm9ybWF0KSA9PiAhIWZvcm1hdClcbiAgICBmb3JtYXRzLnNvcnQoKGEsIGIpID0+IGdldEZvcm1hdFByaW9yaXR5KGIpIC0gZ2V0Rm9ybWF0UHJpb3JpdHkoYSkpXG4gICAgcmV0dXJuIGZvcm1hdHNcbiAgfVxuXG4gIGZvcm1hdFVzZXJJbmZvKHVzZXJJbmZvOiBzdHJpbmcgfCB1bmtub3duKTogc3RyaW5nIHtcbiAgICBjb25zdCBpbmZvcyA9ICh0eXBlb2YgdXNlckluZm8gPT09ICdzdHJpbmcnID8gdXNlckluZm8gOiAnJykuc3BsaXQoJ3wnKVxuICAgIGlmIChpbmZvcyAmJiBpbmZvcy5sZW5ndGggPT09IDQpIHtcbiAgICAgIHJldHVybiBgJHtpbmZvc1syXX0gJHtpbmZvc1sxXX1gXG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGdldEJhZGdlQ29sb3IoZm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0QmFkZ2VDb2xvcihmb3JtYXQpXG4gIH1cblxuICBoYW5kbGVSZWNvcmRDbGljayhpdGVtOiB1bmtub3duKSB7XG4gICAgdGhpcy5yZWNvcmRDbGljay5lbWl0KGl0ZW0gYXMgQ2F0YWxvZ1JlY29yZClcbiAgfVxuXG4gIHNldFNvcnRCeShjb2w6IHN0cmluZywgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnKSB7XG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNldFNvcnRCeShbb3JkZXIsIGNvbF0pXG4gIH1cblxuICBpc1NvcnRlZEJ5KGNvbDogc3RyaW5nKTogT2JzZXJ2YWJsZTwnYXNjJyB8ICdkZXNjJyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hGYWNhZGUuc29ydEJ5JC5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCgoc29ydE9yZGVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHNvcnRBcnJheSA9IEFycmF5LmlzQXJyYXkoc29ydE9yZGVyWzBdKVxuICAgICAgICAgID8gKHNvcnRPcmRlciBhcyBGaWVsZFNvcnRbXSlcbiAgICAgICAgICA6IChbc29ydE9yZGVyXSBhcyBGaWVsZFNvcnRbXSlcbiAgICAgICAgZm9yIChjb25zdCBzb3J0IG9mIHNvcnRBcnJheSkge1xuICAgICAgICAgIGlmIChzb3J0WzFdID09PSBjb2wpIHtcbiAgICAgICAgICAgIHJldHVybiBzb3J0WzBdXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGlzQ2hlY2tlZChyZWNvcmQ6IENhdGFsb2dSZWNvcmQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFJlY29yZHMkLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgbWFwKChzZWxlY3RlZFJlY29yZHMpID0+IHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkUmVjb3Jkcy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgaGFuZGxlUmVjb3JkU2VsZWN0ZWRDaGFuZ2Uoc2VsZWN0ZWQ6IGJvb2xlYW4sIHJlY29yZDogQ2F0YWxvZ1JlY29yZCkge1xuICAgIGlmICghc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uU2VydmljZS5kZXNlbGVjdFJlY29yZHMoW3JlY29yZF0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uU2VydmljZS5zZWxlY3RSZWNvcmRzKFtyZWNvcmRdKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHRvZ2dsZVNlbGVjdEFsbCgpIHtcbiAgICBjb25zdCByZWNvcmRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5yZWNvcmRzJClcbiAgICBpZiAoYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5pc0FsbFNlbGVjdGVkKCkpKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvblNlcnZpY2UuZGVzZWxlY3RSZWNvcmRzKHJlY29yZHMpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uU2VydmljZS5zZWxlY3RSZWNvcmRzKHJlY29yZHMpXG4gICAgfVxuICB9XG5cbiAgaXNBbGxTZWxlY3RlZCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5yZWNvcmRzJCwgdGhpcy5zZWxlY3RlZFJlY29yZHMkXSkucGlwZShcbiAgICAgIHRha2UoMSksXG4gICAgICBtYXAoKFtyZWNvcmRzLCBzZWxlY3RlZFJlY29yZHNdKSA9PiB7XG4gICAgICAgIHJldHVybiByZWNvcmRzLmV2ZXJ5KChyZWNvcmQpID0+XG4gICAgICAgICAgc2VsZWN0ZWRSZWNvcmRzLmluY2x1ZGVzKHJlY29yZC51bmlxdWVJZGVudGlmaWVyKVxuICAgICAgICApXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGlzU29tZVNlbGVjdGVkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlY29yZHMkLCB0aGlzLnNlbGVjdGVkUmVjb3JkcyRdKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCgoW3JlY29yZHMsIHNlbGVjdGVkUmVjb3Jkc10pID0+IHtcbiAgICAgICAgY29uc3QgYWxsU2VsZWN0ZWQgPSByZWNvcmRzLmV2ZXJ5KChyZWNvcmQpID0+XG4gICAgICAgICAgc2VsZWN0ZWRSZWNvcmRzLmluY2x1ZGVzKHJlY29yZC51bmlxdWVJZGVudGlmaWVyKVxuICAgICAgICApXG4gICAgICAgIGNvbnN0IHNvbWVTZWxlY3RlZCA9IHJlY29yZHMuc29tZSgocmVjb3JkKSA9PlxuICAgICAgICAgIHNlbGVjdGVkUmVjb3Jkcy5pbmNsdWRlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllcilcbiAgICAgICAgKVxuICAgICAgICByZXR1cm4gIWFsbFNlbGVjdGVkICYmIHNvbWVTZWxlY3RlZFxuICAgICAgfSlcbiAgICApXG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4XCIgZGF0YS1jeT1cInJlY29yZHMtaW5mb3JtYXRpb25cIj5cbiAgICA8ZGl2XG4gICAgICB0cmFuc2xhdGVcbiAgICAgIGNsYXNzPVwibXktOCBtbC00IGJsb2NrIHRleHQtZ3JheS04MDBcIlxuICAgICAgW3RyYW5zbGF0ZVBhcmFtc109XCJ7XG4gICAgICAgIGRpc3BsYXllZDogKHJlY29yZHMkIHwgYXN5bmMpLmxlbmd0aCxcbiAgICAgICAgaGl0czogKHJlY29yZENvdW50JCB8IGFzeW5jKVxuICAgICAgfVwiXG4gICAgPlxuICAgICAgcmVzdWx0cy5yZWNvcmRzLmhpdHMuZGlzcGxheWVkT25cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIihzZWxlY3RlZFJlY29yZHMkIHwgYXN5bmMpLmxlbmd0aCBhcyBzZWxlY3RlZFJlY29yZENvdW50XCJcbiAgICAgIGNsYXNzPVwibXktOCBtbC02IGJsb2NrIHRleHQtZ3JheS00MDAgc2VsZWN0ZWQtcmVjb3Jkc1wiXG4gICAgICB0cmFuc2xhdGVcbiAgICAgIFt0cmFuc2xhdGVQYXJhbXNdPVwieyBhbW91bnQ6IHNlbGVjdGVkUmVjb3JkQ291bnQgfVwiXG4gICAgPlxuICAgICAgcmVzdWx0cy5yZWNvcmRzLmhpdHMuc2VsZWN0ZWRcbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGduLXVpLWludGVyYWN0aXZlLXRhYmxlXG4gICAgW2l0ZW1zXT1cInJlY29yZHMkIHwgYXN5bmNcIlxuICAgIChpdGVtQ2xpY2spPVwiaGFuZGxlUmVjb3JkQ2xpY2soJGV2ZW50KVwiXG4gID5cbiAgICA8IS0tIFNFTEVDVEVEIENPTFVNTiAtLT5cbiAgICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICAgIDxnbi11aS1jaGVja2JveFxuICAgICAgICAgIFtjaGVja2VkXT1cImlzQWxsU2VsZWN0ZWQoKSB8IGFzeW5jXCJcbiAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpc1NvbWVTZWxlY3RlZCgpIHwgYXN5bmNcIlxuICAgICAgICAgIChjaGFuZ2VkKT1cInRvZ2dsZVNlbGVjdEFsbCgpXCJcbiAgICAgICAgICB0eXBlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgY2xhc3M9XCItbS0yIG1yLTNcIlxuICAgICAgICA+XG4gICAgICAgIDwvZ24tdWktY2hlY2tib3g+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1pdGVtPlxuICAgICAgICA8Z24tdWktY2hlY2tib3hcbiAgICAgICAgICBbY2hlY2tlZF09XCJpc0NoZWNrZWQoaXRlbSkgfCBhc3luY1wiXG4gICAgICAgICAgKGNoYW5nZWQpPVwiaGFuZGxlUmVjb3JkU2VsZWN0ZWRDaGFuZ2UoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgY2xhc3M9XCItbS0yXCJcbiAgICAgICAgICB0eXBlPVwiZGVmYXVsdFwiXG4gICAgICAgID48L2duLXVpLWNoZWNrYm94PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2duLXVpLWludGVyYWN0aXZlLXRhYmxlLWNvbHVtbj5cblxuICAgIDwhLS0gVElUTEUgQ09MVU1OIC0tPlxuICAgIDxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW5cbiAgICAgIFtzb3J0YWJsZV09XCJ0cnVlXCJcbiAgICAgIFthY3RpdmVTb3J0XT1cImlzU29ydGVkQnkoJ3Jlc291cmNlVGl0bGVPYmplY3QuZGVmYXVsdC5rZXl3b3JkJykgfCBhc3luY1wiXG4gICAgICAoc29ydENoYW5nZSk9XCJzZXRTb3J0QnkoJ3Jlc291cmNlVGl0bGVPYmplY3QuZGVmYXVsdC5rZXl3b3JkJywgJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEudGl0bGU8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1pdGVtPlxuICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuXG4gICAgPCEtLSBGT1JNQVRTIENPTFVNTiAtLT5cbiAgICA8Z24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEuZm9ybWF0czwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LWl0ZW0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImZsZXgganVzdGlmeS1zdGFydCBpdGVtcy1jZW50ZXIgZ2FwLTJcIlxuICAgICAgICAgICpuZ0lmPVwiZ2V0UmVjb3JkRm9ybWF0cyhpdGVtKSBhcyBmb3JtYXRzXCJcbiAgICAgICAgICBbdGl0bGVdPVwiZm9ybWF0cy5qb2luKCcsICcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImJhZGdlLWJ0biBtaW4tdy1bNDVweF0gdGV4dC1zbSB0ZXh0LXdoaXRlIHB4LTIgZmxleC1zaHJpbmstMFwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRCYWRnZUNvbG9yKGZvcm1hdHNbMF0pXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybWF0c1swXVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZm9ybWF0c1swXSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZS1idG4gbWluLXctWzQ1cHhdIHRleHQtc20gdGV4dC13aGl0ZSBweC0yIGZsZXgtc2hyaW5rLTBcIlxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZ2V0QmFkZ2VDb2xvcihmb3JtYXRzWzFdKVwiXG4gICAgICAgICAgICAqbmdJZj1cImZvcm1hdHNbMV1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGZvcm1hdHNbMV0gfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTBcIiAqbmdJZj1cImZvcm1hdHMuc2xpY2UoMikubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgPHNwYW4+K3t7IGZvcm1hdHMuc2xpY2UoMikubGVuZ3RoIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFnZXRSZWNvcmRGb3JtYXRzKGl0ZW0pXCI+PC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuXG4gICAgPCEtLSBPV05FUiBDT0xVTU4gLS0+XG4gICAgPGduLXVpLWludGVyYWN0aXZlLXRhYmxlLWNvbHVtblxuICAgICAgW3NvcnRhYmxlXT1cInRydWVcIlxuICAgICAgW2FjdGl2ZVNvcnRdPVwiaXNTb3J0ZWRCeSgncmVjb3JkT3duZXInKSB8IGFzeW5jXCJcbiAgICAgIChzb3J0Q2hhbmdlKT1cInNldFNvcnRCeSgncmVjb3JkT3duZXInLCAkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cbiAgICAgICAgPHNwYW4gdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5hdXRob3I8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1pdGVtPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+cGVyc29uPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgZm9ybWF0VXNlckluZm8oaXRlbS5leHRyYXM/Lm93bmVySW5mbykgfX08L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuXG4gICAgPCEtLSBTVEFUVVMgQ09MVU1OIC0tPlxuICAgIDxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW4+XG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cbiAgICAgICAgPHNwYW4gdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5zdGF0dXM8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1pdGVtPlxuICAgICAgICB7eyBpdGVtLnN0YXR1cyB9fVxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2duLXVpLWludGVyYWN0aXZlLXRhYmxlLWNvbHVtbj5cblxuICAgIDwhLS0gVVBEQVRFIERBVEUgQ09MVU1OIC0tPlxuICAgIDxnbi11aS1pbnRlcmFjdGl2ZS10YWJsZS1jb2x1bW5cbiAgICAgIFtzb3J0YWJsZV09XCJ0cnVlXCJcbiAgICAgIFthY3RpdmVTb3J0XT1cImlzU29ydGVkQnkoJ2NoYW5nZURhdGUnKSB8IGFzeW5jXCJcbiAgICAgIChzb3J0Q2hhbmdlKT1cInNldFNvcnRCeSgnY2hhbmdlRGF0ZScsICRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLnVwZGF0ZWRPbjwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LWl0ZW0+XG4gICAgICAgIHt7IGRhdGVUb1N0cmluZyhpdGVtLnJlY29yZFVwZGF0ZWQpIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZ24tdWktaW50ZXJhY3RpdmUtdGFibGUtY29sdW1uPlxuICA8L2duLXVpLWludGVyYWN0aXZlLXRhYmxlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -45,9 +45,11 @@ export class SearchEffects {
|
|
|
45
45
|
// I could not get this to work (maybe a bug in rxjs?)
|
|
46
46
|
switchMap(([, state]) => this.favoritesService.myFavoritesUuid$.pipe(take(1), map((favorites) => [state, favorites]))), switchMap(([state, favorites]) => {
|
|
47
47
|
if (!state.params.useSpatialFilter || !this.filterGeometry$) {
|
|
48
|
-
return of([state, favorites,
|
|
48
|
+
return of([state, favorites, undefined]);
|
|
49
49
|
}
|
|
50
50
|
return this.filterGeometry$.pipe(tap((geom) => {
|
|
51
|
+
if (!geom)
|
|
52
|
+
return;
|
|
51
53
|
try {
|
|
52
54
|
const trace = validGeoJson(geom, true);
|
|
53
55
|
if (trace?.length > 0) {
|
|
@@ -59,7 +61,7 @@ export class SearchEffects {
|
|
|
59
61
|
throw new Error();
|
|
60
62
|
}
|
|
61
63
|
}), map((geom) => [state, favorites, geom]), catchError((e) => {
|
|
62
|
-
return of([state, favorites,
|
|
64
|
+
return of([state, favorites, undefined]);
|
|
63
65
|
}));
|
|
64
66
|
}), switchMap(([state, favorites, geometry]) => {
|
|
65
67
|
const { currentPage, pageSize, sort } = state.params;
|
|
@@ -119,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
119
121
|
type: Inject,
|
|
120
122
|
args: [FILTER_GEOMETRY]
|
|
121
123
|
}] }]; } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9zZWFyY2gvc3JjL2xpYi9zdGF0ZS9lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0UsT0FBTyxFQUNMLFVBQVUsRUFDVixHQUFHLEVBQ0gsV0FBVyxFQUNYLFNBQVMsRUFDVCxJQUFJLEVBQ0osY0FBYyxHQUNmLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixRQUFRLEVBQ1Isd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBRW5CLGlCQUFpQixFQUVqQixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLDBCQUEwQixFQUMxQixhQUFhLEVBQ2IsVUFBVSxFQUNWLFdBQVcsRUFDWCwwQkFBMEIsRUFDMUIsUUFBUSxFQUVSLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsY0FBYyxHQUNmLE1BQU0sV0FBVyxDQUFBO0FBRWxCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUUxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0s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LENBQUMsSUFBSSxDQUN2QixNQUFNLENBQ0osMEJBQTBCLEVBQzFCLDJCQUEyQixDQUM1QixFQUNELFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUMvQixjQUFjLENBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMxRCxFQUNELFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7Z0JBQy9CLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUN0QixLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO2FBQ3BELENBQUMsQ0FDSCxFQUNELEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO2dCQUNuQixPQUFPLElBQUksd0JBQXdCLENBQ2pDLE1BQU0sQ0FBQyxlQUFlLEVBQ3RCLFlBQVksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQ3BDLE1BQU0sQ0FBQyxFQUFFLENBQ1YsQ0FBQTtZQUNILENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQyw0QkFBNEI7YUFDL0IsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBdktDLENBQUM7OEdBZE8sYUFBYSxnTEFZZCxlQUFlO2tIQVpkLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQVlOLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJ1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHsgYnVmZmVyLCBjb21iaW5lTGF0ZXN0V2l0aCwgZGVib3VuY2VUaW1lLCBmcm9tLCBvZiwgdGFwIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIG1hcCxcbiAgc2hhcmVSZXBsYXksXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHtcbiAgQWRkUmVzdWx0cyxcbiAgQ2xlYXJFcnJvcixcbiAgQ2xlYXJSZXN1bHRzLFxuICBQYWdpbmF0ZSxcbiAgUEFHSU5BVEUsXG4gIFBhdGNoUmVzdWx0c0FnZ3JlZ2F0aW9ucyxcbiAgUkVRVUVTVF9NT1JFX09OX0FHR1JFR0FUSU9OLFxuICBSRVFVRVNUX01PUkVfUkVTVUxUUyxcbiAgUkVRVUVTVF9ORVdfUkVTVUxUUyxcbiAgUmVxdWVzdE1vcmVPbkFnZ3JlZ2F0aW9uLFxuICBSZXF1ZXN0TmV3UmVzdWx0cyxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU0VUX0ZBVk9SSVRFU19PTkxZLFxuICBTRVRfRklMVEVSUyxcbiAgU0VUX0lOQ0xVREVfT05fQUdHUkVHQVRJT04sXG4gIFNFVF9QQUdFX1NJWkUsXG4gIFNFVF9TRUFSQ0gsXG4gIFNFVF9TT1JUX0JZLFxuICBTRVRfU1BBVElBTF9GSUxURVJfRU5BQkxFRCxcbiAgU2V0RXJyb3IsXG4gIFNldEluY2x1ZGVPbkFnZ3JlZ2F0aW9uLFxuICBTZXRSZXN1bHRzQWdncmVnYXRpb25zLFxuICBTZXRSZXN1bHRzSGl0cyxcbiAgVVBEQVRFX0ZJTFRFUlMsXG59IGZyb20gJy4vYWN0aW9ucydcbmltcG9ydCB7IFNlYXJjaFN0YXRlLCBTZWFyY2hTdGF0ZVNlYXJjaCB9IGZyb20gJy4vcmVkdWNlcidcbmltcG9ydCB7IGdldFNlYXJjaFN0YXRlU2VhcmNoIH0gZnJvbSAnLi9zZWxlY3RvcnMnXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgc3dpdGNoTWFwV2l0aFNlYXJjaElkIH0gZnJvbSAnLi4vdXRpbHMvb3BlcmF0b3JzL3NlYXJjaC5vcGVyYXRvcidcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IEZJTFRFUl9HRU9NRVRSWSB9IGZyb20gJy4uL2ZlYXR1cmUtc2VhcmNoLm1vZHVsZSdcbmltcG9ydCB7IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcmVwb3NpdG9yeS9yZWNvcmRzLXJlcG9zaXRvcnkuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgRmF2b3JpdGVzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjJ1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyB2YWxpZCBhcyB2YWxpZEdlb0pzb24gfSBmcm9tICdnZW9qc29uLXZhbGlkYXRpb24nXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZWFyY2hFZmZlY3RzIHtcbiAgZmlsdGVyR2VvbWV0cnkkID0gdGhpcy5maWx0ZXJHZW9tZXRyeVxuICAgID8gZnJvbSh0aGlzLmZpbHRlckdlb21ldHJ5KS5waXBlKHNoYXJlUmVwbGF5KCkpXG4gICAgOiB1bmRlZmluZWRcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgc3RvcmUkOiBTdG9yZTxTZWFyY2hTdGF0ZT4sXG4gICAgcHJpdmF0ZSByZWNvcmRzUmVwb3NpdG9yeTogUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBmYXZvcml0ZXNTZXJ2aWNlOiBGYXZvcml0ZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEZJTFRFUl9HRU9NRVRSWSlcbiAgICBwcml2YXRlIGZpbHRlckdlb21ldHJ5OiBQcm9taXNlPEdlb21ldHJ5PlxuICApIHt9XG5cbiAgcmVzZXRQYWdpbmF0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShcbiAgICAgICAgU0VUX0ZJTFRFUlMsXG4gICAgICAgIFVQREFURV9GSUxURVJTLFxuICAgICAgICBTRVRfU0VBUkNILFxuICAgICAgICBTRVRfRkFWT1JJVEVTX09OTFksXG4gICAgICAgIFNFVF9TUEFUSUFMX0ZJTFRFUl9FTkFCTEVEXG4gICAgICApLFxuICAgICAgbWFwKChhY3Rpb246IFNlYXJjaEFjdGlvbnMpID0+IG5ldyBQYWdpbmF0ZSgxLCBhY3Rpb24uaWQpKVxuICAgIClcbiAgKVxuXG4gIHByaXZhdGUgYWN0aW9uc1dpdGhOZXdSZXN1bHRzJCA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoXG4gICAgICBTRVRfU09SVF9CWSxcbiAgICAgIFNFVF9GSUxURVJTLFxuICAgICAgVVBEQVRFX0ZJTFRFUlMsXG4gICAgICBTRVRfU0VBUkNILFxuICAgICAgU0VUX0ZBVk9SSVRFU19PTkxZLFxuICAgICAgU0VUX1NQQVRJQUxfRklMVEVSX0VOQUJMRUQsXG4gICAgICBQQUdJTkFURSxcbiAgICAgIFNFVF9QQUdFX1NJWkVcbiAgICApXG4gIClcblxuICByZXF1ZXN0TmV3UmVzdWx0cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnNXaXRoTmV3UmVzdWx0cyQucGlwZShcbiAgICAgIC8vIHRoaXMgd2lsbCBhZ2dyZWdhdGUgYWN0aW9ucyB1bnRpbCB0aGUgZGVib3VuY2VUaW1lIHRpY2tzXG4gICAgICBidWZmZXIodGhpcy5hY3Rpb25zV2l0aE5ld1Jlc3VsdHMkLnBpcGUoZGVib3VuY2VUaW1lKDApKSksXG4gICAgICBzd2l0Y2hNYXAoKGFjdGlvbnM6IFNlYXJjaEFjdGlvbnNbXSkgPT4ge1xuICAgICAgICAvLyBvbmNlIHdlIGhhdmUgYSBsaXN0IG9mIGFjdGlvbnMgZW1pdHRlZCBzaW5jZSBsYXN0IHRpbWUsIHdlIGNhbiBzcGxpdCB0aGVtIGJ5IHNlYXJjaCBpZFxuICAgICAgICBjb25zdCByZXF1ZXN0TmV3UmVzdWx0cyA9IGFjdGlvbnNcbiAgICAgICAgICAubWFwKChhY3Rpb24pID0+IGFjdGlvbi5pZClcbiAgICAgICAgICAuZmlsdGVyKCh2YWx1ZSwgaW5kZXgsIGFycmF5KSA9PiBhcnJheS5pbmRleE9mKHZhbHVlKSA9PT0gaW5kZXgpXG4gICAgICAgICAgLm1hcCgoc2VhcmNoSWQpID0+IG5ldyBSZXF1ZXN0TmV3UmVzdWx0cyhzZWFyY2hJZCkpXG4gICAgICAgIHJldHVybiBvZiguLi5yZXF1ZXN0TmV3UmVzdWx0cylcbiAgICAgIH0pXG4gICAgKVxuICApXG5cbiAgbG9hZFJlc3VsdHMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKFJFUVVFU1RfTU9SRV9SRVNVTFRTLCBSRVFVRVNUX05FV19SRVNVTFRTKSxcbiAgICAgIHN3aXRjaE1hcFdpdGhTZWFyY2hJZCgoYWN0aW9uOiBTZWFyY2hBY3Rpb25zKSA9PlxuICAgICAgICB0aGlzLnBsYXRmb3JtU2VydmljZS5nZXRNZSgpLnBpcGUoXG4gICAgICAgICAgd2l0aExhdGVzdEZyb20oXG4gICAgICAgICAgICB0aGlzLnN0b3JlJC5waXBlKHNlbGVjdChnZXRTZWFyY2hTdGF0ZVNlYXJjaCwgYWN0aW9uLmlkKSlcbiAgICAgICAgICApLFxuICAgICAgICAgIC8vIE5vdGU6IHRoaXMgY291bGQgaGF2ZSBiZWVuIGludGVncmF0ZWQgaW4gd2l0aExhdGVzdEZyb20gYWJvdmUgYnV0XG4gICAgICAgICAgLy8gSSBjb3VsZCBub3QgZ2V0IHRoaXMgdG8gd29yayAobWF5YmUgYSBidWcgaW4gcnhqcz8pXG4gICAgICAgICAgc3dpdGNoTWFwKChbLCBzdGF0ZV0pID0+XG4gICAgICAgICAgICB0aGlzLmZhdm9yaXRlc1NlcnZpY2UubXlGYXZvcml0ZXNVdWlkJC5waXBlKFxuICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgKGZhdm9yaXRlcykgPT5cbiAgICAgICAgICAgICAgICAgIFtzdGF0ZSwgZmF2b3JpdGVzXSBhcyBbU2VhcmNoU3RhdGVTZWFyY2gsIHN0cmluZ1tdXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSxcbiAgICAgICAgICBzd2l0Y2hNYXAoKFtzdGF0ZSwgZmF2b3JpdGVzXSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFzdGF0ZS5wYXJhbXMudXNlU3BhdGlhbEZpbHRlciB8fCAhdGhpcy5maWx0ZXJHZW9tZXRyeSQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKFtzdGF0ZSwgZmF2b3JpdGVzLCBudWxsXSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlckdlb21ldHJ5JC5waXBlKFxuICAgICAgICAgICAgICB0YXAoKGdlb20pID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgdHJhY2UgPSB2YWxpZEdlb0pzb24oZ2VvbSwgdHJ1ZSkgYXMgc3RyaW5nW11cbiAgICAgICAgICAgICAgICAgIGlmICh0cmFjZT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodHJhY2Uuam9pbignXFxuJykpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgICAgJ0Vycm9yIHdoaWxlIHBhcnNpbmcgdGhlIGdlb21ldHJ5IGZpbHRlclxcbicsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIG1hcCgoZ2VvbSkgPT4gW3N0YXRlLCBmYXZvcml0ZXMsIGdlb21dKSxcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihbc3RhdGUsIGZhdm9yaXRlcywgbnVsbF0pXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSksXG4gICAgICAgICAgc3dpdGNoTWFwKFxuICAgICAgICAgICAgKFtzdGF0ZSwgZmF2b3JpdGVzLCBnZW9tZXRyeV06IFtcbiAgICAgICAgICAgICAgU2VhcmNoU3RhdGVTZWFyY2gsXG4gICAgICAgICAgICAgIHN0cmluZ1tdLFxuICAgICAgICAgICAgICBHZW9tZXRyeSB8IG51bGxcbiAgICAgICAgICAgIF0pID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgeyBjdXJyZW50UGFnZSwgcGFnZVNpemUsIHNvcnQgfSA9IHN0YXRlLnBhcmFtc1xuICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJzID0ge1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLmNvbmZpZy5maWx0ZXJzLFxuICAgICAgICAgICAgICAgIC4uLnN0YXRlLnBhcmFtcy5maWx0ZXJzLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMkID0gdGhpcy5yZWNvcmRzUmVwb3NpdG9yeS5zZWFyY2goe1xuICAgICAgICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICAgICAgICAgb2Zmc2V0OiBjdXJyZW50UGFnZSAqIHBhZ2VTaXplLFxuICAgICAgICAgICAgICAgIGxpbWl0OiBwYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgICAgIGZpZWxkczogc3RhdGUuY29uZmlnLnNvdXJjZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJJZHM6XG4gICAgICAgICAgICAgICAgICBzdGF0ZS5wYXJhbXMuZmF2b3JpdGVzT25seSAmJiBmYXZvcml0ZXNcbiAgICAgICAgICAgICAgICAgICAgPyBmYXZvcml0ZXNcbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgZmlsdGVyR2VvbWV0cnk6IGdlb21ldHJ5ID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgY29uc3QgYWdncmVnYXRpb25zJCA9IHRoaXMucmVjb3Jkc1JlcG9zaXRvcnkuYWdncmVnYXRlKFxuICAgICAgICAgICAgICAgIHN0YXRlLmNvbmZpZy5hZ2dyZWdhdGlvbnNcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0cyQucGlwZShjb21iaW5lTGF0ZXN0V2l0aChhZ2dyZWdhdGlvbnMkKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApLFxuICAgICAgICAgIHN3aXRjaE1hcCgoW3Jlc3VsdHMsIGFnZ3JlZ2F0aW9uc10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGlvbnM6IFNlYXJjaEFjdGlvbnNbXSA9IFtcbiAgICAgICAgICAgICAgbmV3IENsZWFyRXJyb3IoYWN0aW9uLmlkKSxcbiAgICAgICAgICAgICAgbmV3IEFkZFJlc3VsdHMocmVzdWx0cy5yZWNvcmRzLCBhY3Rpb24uaWQpLFxuICAgICAgICAgICAgICBuZXcgU2V0UmVzdWx0c0FnZ3JlZ2F0aW9ucyhhZ2dyZWdhdGlvbnMsIGFjdGlvbi5pZCksXG4gICAgICAgICAgICAgIG5ldyBTZXRSZXN1bHRzSGl0cyhyZXN1bHRzLmNvdW50LCBhY3Rpb24uaWQpLFxuICAgICAgICAgICAgXVxuICAgICAgICAgICAgaWYgKGFjdGlvbi50eXBlID09PSBSRVFVRVNUX05FV19SRVNVTFRTKSB7XG4gICAgICAgICAgICAgIGFjdGlvbnMudW5zaGlmdChuZXcgQ2xlYXJSZXN1bHRzKGFjdGlvbi5pZCkpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb2YoLi4uYWN0aW9ucylcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UgfCBFcnJvcikgPT4ge1xuICAgICAgICAgICAgaWYgKCdzdGF0dXMnIGluIGVycm9yKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihuZXcgU2V0RXJyb3IoZXJyb3Iuc3RhdHVzLCBlcnJvci5tZXNzYWdlLCBhY3Rpb24uaWQpKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKG5ldyBTZXRFcnJvcigwLCBlcnJvci5tZXNzYWdlLCBhY3Rpb24uaWQpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcblxuICB1cGRhdGVSZXF1ZXN0QWdncmVnYXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlPFNldEluY2x1ZGVPbkFnZ3JlZ2F0aW9uIHwgUmVxdWVzdE1vcmVPbkFnZ3JlZ2F0aW9uPihcbiAgICAgICAgU0VUX0lOQ0xVREVfT05fQUdHUkVHQVRJT04sXG4gICAgICAgIFJFUVVFU1RfTU9SRV9PTl9BR0dSRUdBVElPTlxuICAgICAgKSxcbiAgICAgIHN3aXRjaE1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLnBsYXRmb3JtU2VydmljZS5nZXRNZSgpLnBpcGUoXG4gICAgICAgICAgd2l0aExhdGVzdEZyb20oXG4gICAgICAgICAgICB0aGlzLnN0b3JlJC5waXBlKHNlbGVjdChnZXRTZWFyY2hTdGF0ZVNlYXJjaCwgYWN0aW9uLmlkKSlcbiAgICAgICAgICApLFxuICAgICAgICAgIHN3aXRjaE1hcCgoWywgc3RhdGVdKSA9PlxuICAgICAgICAgICAgdGhpcy5yZWNvcmRzUmVwb3NpdG9yeS5hZ2dyZWdhdGUoe1xuICAgICAgICAgICAgICBbYWN0aW9uLmFnZ3JlZ2F0aW9uTmFtZV06XG4gICAgICAgICAgICAgICAgc3RhdGUuY29uZmlnLmFnZ3JlZ2F0aW9uc1thY3Rpb24uYWdncmVnYXRpb25OYW1lXSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKSxcbiAgICAgICAgICBtYXAoKGFnZ3JlZ2F0aW9ucykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQYXRjaFJlc3VsdHNBZ2dyZWdhdGlvbnMoXG4gICAgICAgICAgICAgIGFjdGlvbi5hZ2dyZWdhdGlvbk5hbWUsXG4gICAgICAgICAgICAgIGFnZ3JlZ2F0aW9uc1thY3Rpb24uYWdncmVnYXRpb25OYW1lXSxcbiAgICAgICAgICAgICAgYWN0aW9uLmlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKSAvLyB3YWl0IGZvciBhdXRoIHRvIGJlIGtub3duXG4gICAgKVxuICB9KVxufVxuIl19
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9zZWFyY2gvc3JjL2xpYi9zdGF0ZS9lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0UsT0FBTyxFQUNMLFVBQVUsRUFDVixHQUFHLEVBQ0gsV0FBVyxFQUNYLFNBQVMsRUFDVCxJQUFJLEVBQ0osY0FBYyxHQUNmLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixRQUFRLEVBQ1Isd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBRW5CLGlCQUFpQixFQUVqQixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLDBCQUEwQixFQUMxQixhQUFhLEVBQ2IsVUFBVSxFQUNWLFdBQVcsRUFDWCwwQkFBMEIsRUFDMUIsUUFBUSxFQUVSLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsY0FBYyxHQUNmLE1BQU0sV0FBVyxDQUFBO0FBRWxCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUUxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0s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QUcsRUFBRTtZQUM1QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN2QixNQUFNLENBQ0osMEJBQTBCLEVBQzFCLDJCQUEyQixDQUM1QixFQUNELFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUMvQixjQUFjLENBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMxRCxFQUNELFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7Z0JBQy9CLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUN0QixLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO2FBQ3BELENBQUMsQ0FDSCxFQUNELEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO2dCQUNuQixPQUFPLElBQUksd0JBQXdCLENBQ2pDLE1BQU0sQ0FBQyxlQUFlLEVBQ3RCLFlBQVksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQ3BDLE1BQU0sQ0FBQyxFQUFFLENBQ1YsQ0FBQTtZQUNILENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQyw0QkFBNEI7YUFDL0IsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBeEtDLENBQUM7OEdBZE8sYUFBYSxnTEFZZCxlQUFlO2tIQVpkLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQVlOLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJ1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHsgYnVmZmVyLCBjb21iaW5lTGF0ZXN0V2l0aCwgZGVib3VuY2VUaW1lLCBmcm9tLCBvZiwgdGFwIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIG1hcCxcbiAgc2hhcmVSZXBsYXksXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHtcbiAgQWRkUmVzdWx0cyxcbiAgQ2xlYXJFcnJvcixcbiAgQ2xlYXJSZXN1bHRzLFxuICBQYWdpbmF0ZSxcbiAgUEFHSU5BVEUsXG4gIFBhdGNoUmVzdWx0c0FnZ3JlZ2F0aW9ucyxcbiAgUkVRVUVTVF9NT1JFX09OX0FHR1JFR0FUSU9OLFxuICBSRVFVRVNUX01PUkVfUkVTVUxUUyxcbiAgUkVRVUVTVF9ORVdfUkVTVUxUUyxcbiAgUmVxdWVzdE1vcmVPbkFnZ3JlZ2F0aW9uLFxuICBSZXF1ZXN0TmV3UmVzdWx0cyxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU0VUX0ZBVk9SSVRFU19PTkxZLFxuICBTRVRfRklMVEVSUyxcbiAgU0VUX0lOQ0xVREVfT05fQUdHUkVHQVRJT04sXG4gIFNFVF9QQUdFX1NJWkUsXG4gIFNFVF9TRUFSQ0gsXG4gIFNFVF9TT1JUX0JZLFxuICBTRVRfU1BBVElBTF9GSUxURVJfRU5BQkxFRCxcbiAgU2V0RXJyb3IsXG4gIFNldEluY2x1ZGVPbkFnZ3JlZ2F0aW9uLFxuICBTZXRSZXN1bHRzQWdncmVnYXRpb25zLFxuICBTZXRSZXN1bHRzSGl0cyxcbiAgVVBEQVRFX0ZJTFRFUlMsXG59IGZyb20gJy4vYWN0aW9ucydcbmltcG9ydCB7IFNlYXJjaFN0YXRlLCBTZWFyY2hTdGF0ZVNlYXJjaCB9IGZyb20gJy4vcmVkdWNlcidcbmltcG9ydCB7IGdldFNlYXJjaFN0YXRlU2VhcmNoIH0gZnJvbSAnLi9zZWxlY3RvcnMnXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgc3dpdGNoTWFwV2l0aFNlYXJjaElkIH0gZnJvbSAnLi4vdXRpbHMvb3BlcmF0b3JzL3NlYXJjaC5vcGVyYXRvcidcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IEZJTFRFUl9HRU9NRVRSWSB9IGZyb20gJy4uL2ZlYXR1cmUtc2VhcmNoLm1vZHVsZSdcbmltcG9ydCB7IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcmVwb3NpdG9yeS9yZWNvcmRzLXJlcG9zaXRvcnkuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgRmF2b3JpdGVzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjJ1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyB2YWxpZCBhcyB2YWxpZEdlb0pzb24gfSBmcm9tICdnZW9qc29uLXZhbGlkYXRpb24nXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZWFyY2hFZmZlY3RzIHtcbiAgZmlsdGVyR2VvbWV0cnkkID0gdGhpcy5maWx0ZXJHZW9tZXRyeVxuICAgID8gZnJvbSh0aGlzLmZpbHRlckdlb21ldHJ5KS5waXBlKHNoYXJlUmVwbGF5KCkpXG4gICAgOiB1bmRlZmluZWRcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgc3RvcmUkOiBTdG9yZTxTZWFyY2hTdGF0ZT4sXG4gICAgcHJpdmF0ZSByZWNvcmRzUmVwb3NpdG9yeTogUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBmYXZvcml0ZXNTZXJ2aWNlOiBGYXZvcml0ZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEZJTFRFUl9HRU9NRVRSWSlcbiAgICBwcml2YXRlIGZpbHRlckdlb21ldHJ5OiBQcm9taXNlPEdlb21ldHJ5PlxuICApIHt9XG5cbiAgcmVzZXRQYWdpbmF0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShcbiAgICAgICAgU0VUX0ZJTFRFUlMsXG4gICAgICAgIFVQREFURV9GSUxURVJTLFxuICAgICAgICBTRVRfU0VBUkNILFxuICAgICAgICBTRVRfRkFWT1JJVEVTX09OTFksXG4gICAgICAgIFNFVF9TUEFUSUFMX0ZJTFRFUl9FTkFCTEVEXG4gICAgICApLFxuICAgICAgbWFwKChhY3Rpb246IFNlYXJjaEFjdGlvbnMpID0+IG5ldyBQYWdpbmF0ZSgxLCBhY3Rpb24uaWQpKVxuICAgIClcbiAgKVxuXG4gIHByaXZhdGUgYWN0aW9uc1dpdGhOZXdSZXN1bHRzJCA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoXG4gICAgICBTRVRfU09SVF9CWSxcbiAgICAgIFNFVF9GSUxURVJTLFxuICAgICAgVVBEQVRFX0ZJTFRFUlMsXG4gICAgICBTRVRfU0VBUkNILFxuICAgICAgU0VUX0ZBVk9SSVRFU19PTkxZLFxuICAgICAgU0VUX1NQQVRJQUxfRklMVEVSX0VOQUJMRUQsXG4gICAgICBQQUdJTkFURSxcbiAgICAgIFNFVF9QQUdFX1NJWkVcbiAgICApXG4gIClcblxuICByZXF1ZXN0TmV3UmVzdWx0cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnNXaXRoTmV3UmVzdWx0cyQucGlwZShcbiAgICAgIC8vIHRoaXMgd2lsbCBhZ2dyZWdhdGUgYWN0aW9ucyB1bnRpbCB0aGUgZGVib3VuY2VUaW1lIHRpY2tzXG4gICAgICBidWZmZXIodGhpcy5hY3Rpb25zV2l0aE5ld1Jlc3VsdHMkLnBpcGUoZGVib3VuY2VUaW1lKDApKSksXG4gICAgICBzd2l0Y2hNYXAoKGFjdGlvbnM6IFNlYXJjaEFjdGlvbnNbXSkgPT4ge1xuICAgICAgICAvLyBvbmNlIHdlIGhhdmUgYSBsaXN0IG9mIGFjdGlvbnMgZW1pdHRlZCBzaW5jZSBsYXN0IHRpbWUsIHdlIGNhbiBzcGxpdCB0aGVtIGJ5IHNlYXJjaCBpZFxuICAgICAgICBjb25zdCByZXF1ZXN0TmV3UmVzdWx0cyA9IGFjdGlvbnNcbiAgICAgICAgICAubWFwKChhY3Rpb24pID0+IGFjdGlvbi5pZClcbiAgICAgICAgICAuZmlsdGVyKCh2YWx1ZSwgaW5kZXgsIGFycmF5KSA9PiBhcnJheS5pbmRleE9mKHZhbHVlKSA9PT0gaW5kZXgpXG4gICAgICAgICAgLm1hcCgoc2VhcmNoSWQpID0+IG5ldyBSZXF1ZXN0TmV3UmVzdWx0cyhzZWFyY2hJZCkpXG4gICAgICAgIHJldHVybiBvZiguLi5yZXF1ZXN0TmV3UmVzdWx0cylcbiAgICAgIH0pXG4gICAgKVxuICApXG5cbiAgbG9hZFJlc3VsdHMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKFJFUVVFU1RfTU9SRV9SRVNVTFRTLCBSRVFVRVNUX05FV19SRVNVTFRTKSxcbiAgICAgIHN3aXRjaE1hcFdpdGhTZWFyY2hJZCgoYWN0aW9uOiBTZWFyY2hBY3Rpb25zKSA9PlxuICAgICAgICB0aGlzLnBsYXRmb3JtU2VydmljZS5nZXRNZSgpLnBpcGUoXG4gICAgICAgICAgd2l0aExhdGVzdEZyb20oXG4gICAgICAgICAgICB0aGlzLnN0b3JlJC5waXBlKHNlbGVjdChnZXRTZWFyY2hTdGF0ZVNlYXJjaCwgYWN0aW9uLmlkKSlcbiAgICAgICAgICApLFxuICAgICAgICAgIC8vIE5vdGU6IHRoaXMgY291bGQgaGF2ZSBiZWVuIGludGVncmF0ZWQgaW4gd2l0aExhdGVzdEZyb20gYWJvdmUgYnV0XG4gICAgICAgICAgLy8gSSBjb3VsZCBub3QgZ2V0IHRoaXMgdG8gd29yayAobWF5YmUgYSBidWcgaW4gcnhqcz8pXG4gICAgICAgICAgc3dpdGNoTWFwKChbLCBzdGF0ZV0pID0+XG4gICAgICAgICAgICB0aGlzLmZhdm9yaXRlc1NlcnZpY2UubXlGYXZvcml0ZXNVdWlkJC5waXBlKFxuICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgKGZhdm9yaXRlcykgPT5cbiAgICAgICAgICAgICAgICAgIFtzdGF0ZSwgZmF2b3JpdGVzXSBhcyBbU2VhcmNoU3RhdGVTZWFyY2gsIHN0cmluZ1tdXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSxcbiAgICAgICAgICBzd2l0Y2hNYXAoKFtzdGF0ZSwgZmF2b3JpdGVzXSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFzdGF0ZS5wYXJhbXMudXNlU3BhdGlhbEZpbHRlciB8fCAhdGhpcy5maWx0ZXJHZW9tZXRyeSQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKFtzdGF0ZSwgZmF2b3JpdGVzLCB1bmRlZmluZWRdKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyR2VvbWV0cnkkLnBpcGUoXG4gICAgICAgICAgICAgIHRhcCgoZ2VvbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZ2VvbSkgcmV0dXJuXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYWNlID0gdmFsaWRHZW9Kc29uKGdlb20sIHRydWUpIGFzIHN0cmluZ1tdXG4gICAgICAgICAgICAgICAgICBpZiAodHJhY2U/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRyYWNlLmpvaW4oJ1xcbicpKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICdFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSBnZW9tZXRyeSBmaWx0ZXJcXG4nLFxuICAgICAgICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBtYXAoKGdlb20pID0+IFtzdGF0ZSwgZmF2b3JpdGVzLCBnZW9tXSksXG4gICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoW3N0YXRlLCBmYXZvcml0ZXMsIHVuZGVmaW5lZF0pXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSksXG4gICAgICAgICAgc3dpdGNoTWFwKFxuICAgICAgICAgICAgKFtzdGF0ZSwgZmF2b3JpdGVzLCBnZW9tZXRyeV06IFtcbiAgICAgICAgICAgICAgU2VhcmNoU3RhdGVTZWFyY2gsXG4gICAgICAgICAgICAgIHN0cmluZ1tdLFxuICAgICAgICAgICAgICBHZW9tZXRyeSB8IHVuZGVmaW5lZFxuICAgICAgICAgICAgXSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB7IGN1cnJlbnRQYWdlLCBwYWdlU2l6ZSwgc29ydCB9ID0gc3RhdGUucGFyYW1zXG4gICAgICAgICAgICAgIGNvbnN0IGZpbHRlcnMgPSB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUuY29uZmlnLmZpbHRlcnMsXG4gICAgICAgICAgICAgICAgLi4uc3RhdGUucGFyYW1zLmZpbHRlcnMsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc3QgcmVzdWx0cyQgPSB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LnNlYXJjaCh7XG4gICAgICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IGN1cnJlbnRQYWdlICogcGFnZVNpemUsXG4gICAgICAgICAgICAgICAgbGltaXQ6IHBhZ2VTaXplLFxuICAgICAgICAgICAgICAgIHNvcnQsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBzdGF0ZS5jb25maWcuc291cmNlLFxuICAgICAgICAgICAgICAgIGZpbHRlcklkczpcbiAgICAgICAgICAgICAgICAgIHN0YXRlLnBhcmFtcy5mYXZvcml0ZXNPbmx5ICYmIGZhdm9yaXRlc1xuICAgICAgICAgICAgICAgICAgICA/IGZhdm9yaXRlc1xuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBmaWx0ZXJHZW9tZXRyeTogZ2VvbWV0cnkgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBjb25zdCBhZ2dyZWdhdGlvbnMkID0gdGhpcy5yZWNvcmRzUmVwb3NpdG9yeS5hZ2dyZWdhdGUoXG4gICAgICAgICAgICAgICAgc3RhdGUuY29uZmlnLmFnZ3JlZ2F0aW9uc1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHRzJC5waXBlKGNvbWJpbmVMYXRlc3RXaXRoKGFnZ3JlZ2F0aW9ucyQpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICksXG4gICAgICAgICAgc3dpdGNoTWFwKChbcmVzdWx0cywgYWdncmVnYXRpb25zXSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uczogU2VhcmNoQWN0aW9uc1tdID0gW1xuICAgICAgICAgICAgICBuZXcgQ2xlYXJFcnJvcihhY3Rpb24uaWQpLFxuICAgICAgICAgICAgICBuZXcgQWRkUmVzdWx0cyhyZXN1bHRzLnJlY29yZHMsIGFjdGlvbi5pZCksXG4gICAgICAgICAgICAgIG5ldyBTZXRSZXN1bHRzQWdncmVnYXRpb25zKGFnZ3JlZ2F0aW9ucywgYWN0aW9uLmlkKSxcbiAgICAgICAgICAgICAgbmV3IFNldFJlc3VsdHNIaXRzKHJlc3VsdHMuY291bnQsIGFjdGlvbi5pZCksXG4gICAgICAgICAgICBdXG4gICAgICAgICAgICBpZiAoYWN0aW9uLnR5cGUgPT09IFJFUVVFU1RfTkVXX1JFU1VMVFMpIHtcbiAgICAgICAgICAgICAgYWN0aW9ucy51bnNoaWZ0KG5ldyBDbGVhclJlc3VsdHMoYWN0aW9uLmlkKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvZiguLi5hY3Rpb25zKVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSB8IEVycm9yKSA9PiB7XG4gICAgICAgICAgICBpZiAoJ3N0YXR1cycgaW4gZXJyb3IpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKG5ldyBTZXRFcnJvcihlcnJvci5zdGF0dXMsIGVycm9yLm1lc3NhZ2UsIGFjdGlvbi5pZCkpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gb2YobmV3IFNldEVycm9yKDAsIGVycm9yLm1lc3NhZ2UsIGFjdGlvbi5pZCkpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIHVwZGF0ZVJlcXVlc3RBZ2dyZWdhdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGU8U2V0SW5jbHVkZU9uQWdncmVnYXRpb24gfCBSZXF1ZXN0TW9yZU9uQWdncmVnYXRpb24+KFxuICAgICAgICBTRVRfSU5DTFVERV9PTl9BR0dSRUdBVElPTixcbiAgICAgICAgUkVRVUVTVF9NT1JFX09OX0FHR1JFR0FUSU9OXG4gICAgICApLFxuICAgICAgc3dpdGNoTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMucGxhdGZvcm1TZXJ2aWNlLmdldE1lKCkucGlwZShcbiAgICAgICAgICB3aXRoTGF0ZXN0RnJvbShcbiAgICAgICAgICAgIHRoaXMuc3RvcmUkLnBpcGUoc2VsZWN0KGdldFNlYXJjaFN0YXRlU2VhcmNoLCBhY3Rpb24uaWQpKVxuICAgICAgICAgICksXG4gICAgICAgICAgc3dpdGNoTWFwKChbLCBzdGF0ZV0pID0+XG4gICAgICAgICAgICB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LmFnZ3JlZ2F0ZSh7XG4gICAgICAgICAgICAgIFthY3Rpb24uYWdncmVnYXRpb25OYW1lXTpcbiAgICAgICAgICAgICAgICBzdGF0ZS5jb25maWcuYWdncmVnYXRpb25zW2FjdGlvbi5hZ2dyZWdhdGlvbk5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLFxuICAgICAgICAgIG1hcCgoYWdncmVnYXRpb25zKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFBhdGNoUmVzdWx0c0FnZ3JlZ2F0aW9ucyhcbiAgICAgICAgICAgICAgYWN0aW9uLmFnZ3JlZ2F0aW9uTmFtZSxcbiAgICAgICAgICAgICAgYWdncmVnYXRpb25zW2FjdGlvbi5hZ2dyZWdhdGlvbk5hbWVdLFxuICAgICAgICAgICAgICBhY3Rpb24uaWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApIC8vIHdhaXQgZm9yIGF1dGggdG8gYmUga25vd25cbiAgICApXG4gIH0pXG59XG4iXX0=
|
package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs
CHANGED
|
@@ -12,7 +12,7 @@ export class OrganisationPreviewComponent {
|
|
|
12
12
|
this.clickedOrganisation.emit(this.organisation);
|
|
13
13
|
}
|
|
14
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: OrganisationPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: { organisation: "organisation", organisationUrl: "organisationUrl" }, outputs: { clickedOrganisation: "clickedOrganisation" }, ngImport: i0, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"organisation.name\"\n >\n <div\n class=\"flex-shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"organisation.logoUrl\"\n [fit]=\"'contain'\"\n >\n </gn-ui-thumbnail>\n </div>\n <div class=\"px-3 pb-2 capitalize flex flex-col flex-grow overflow-hidden\">\n <span\n class=\"flex-shrink-0 mb-3 mt-5 font-title text-21 text-title group-hover:text-primary line-clamp-2 sm:mt-2 transition-colors\"\n data-cy=\"organizationName\"\n >\n {{ organisation.name }}</span\n >\n <p\n class=\"abstract mt-4 mb-5 sm:mb-2 sm:mt-0 flex-grow flex-shrink-1 overflow-hidden\"\n data-cy=\"organizationDesc\"\n >\n {{ organisation.description }}\n </p>\n <div class=\"flex-shrink-0 text-primary opacity-50 flex leading-6\">\n <mat-icon class=\"material-symbols-outlined text-primary opacity-50 mr-1\"\n >folder_open\n </mat-icon>\n <span class=\"mx-1\" data-cy=\"organizationRecordsCount\">{{\n organisation.recordCount\n }}</span>\n <span translate>record.metadata.publications</span>\n </div>\n </div>\n </div>\n</a>\n", styles: [".abstract{position:relative}.abstract:after{content:\"\";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,white,transparent);height:10px}\n"], dependencies: [{ kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: { organisation: "organisation", organisationUrl: "organisationUrl" }, outputs: { clickedOrganisation: "clickedOrganisation" }, ngImport: i0, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"organisation.name\"\n >\n <div\n class=\"flex-shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"organisation.logoUrl\"\n [fit]=\"'contain'\"\n >\n </gn-ui-thumbnail>\n </div>\n <div class=\"px-3 pb-2 capitalize flex flex-col flex-grow overflow-hidden\">\n <span\n class=\"flex-shrink-0 mb-3 mt-5 font-title text-21 text-title group-hover:text-primary line-clamp-2 sm:mt-2 transition-colors\"\n data-cy=\"organizationName\"\n >\n {{ organisation.name }}</span\n >\n <p\n class=\"abstract mt-4 mb-5 sm:mb-2 sm:mt-0 flex-grow flex-shrink-1 overflow-hidden\"\n data-cy=\"organizationDesc\"\n >\n {{ organisation.description }}\n </p>\n <div class=\"flex-shrink-0 text-primary opacity-50 flex leading-6\">\n <mat-icon class=\"material-symbols-outlined text-primary opacity-50 mr-1\"\n >folder_open\n </mat-icon>\n <span class=\"mx-1\" data-cy=\"organizationRecordsCount\">{{\n organisation.recordCount\n }}</span>\n <span translate>record.metadata.publications</span>\n </div>\n </div>\n </div>\n</a>\n", styles: [".abstract{position:relative}.abstract:after{content:\"\";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,white,transparent);height:10px}\n"], dependencies: [{ kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
16
|
}
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: OrganisationPreviewComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
@@ -18,6 +18,8 @@ export * from './lib/pagination/pagination.component';
|
|
|
18
18
|
export * from './lib/related-record-card/related-record-card.component';
|
|
19
19
|
export * from './lib/search-results-error/search-results-error.component';
|
|
20
20
|
export * from './lib/user-preview/user-preview.component';
|
|
21
|
+
export * from './lib/max-lines/max-lines.component';
|
|
21
22
|
export * from './lib/record-api-form/record-api-form.component';
|
|
22
23
|
export * from './lib/markdown-parser/markdown-parser.component';
|
|
23
|
-
|
|
24
|
+
export * from './lib/image-overlay-preview/image-overlay-preview.component';
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYyw2REFBNkQsQ0FBQTtBQUMzRSxjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLHVEQUF1RCxDQUFBO0FBQ3JFLGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYywrQkFBK0IsQ0FBQTtBQUM3QyxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyw2REFBNkQsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWVsZW1lbnRzLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21ldGFkYXRhLWluZm8vbWV0YWRhdGEtaW5mby5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1jb250YWN0L21ldGFkYXRhLWNvbnRhY3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtY2F0YWxvZy9tZXRhZGF0YS1jYXRhbG9nLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21ldGFkYXRhLXF1YWxpdHkvbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaC1yZXN1bHRzLWVycm9yL3NlYXJjaC1yZXN1bHRzLWVycm9yLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RodW1ibmFpbC90aHVtYm5haWwuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udGVudC1naG9zdC9jb250ZW50LWdob3N0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2luYXRpb24tYnV0dG9ucy9wYWdpbmF0aW9uLWJ1dHRvbnMuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpLWNhcmQvYXBpLWNhcmQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZW50LWdob3N0L2NvbnRlbnQtZ2hvc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZG93bmxvYWQtaXRlbS9kb3dubG9hZC1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rvd25sb2Fkcy1saXN0L2Rvd25sb2Fkcy1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpbmstY2FyZC9saW5rLWNhcmQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbGF0ZWQtcmVjb3JkLWNhcmQvcmVsYXRlZC1yZWNvcmQtY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gtcmVzdWx0cy1lcnJvci9zZWFyY2gtcmVzdWx0cy1lcnJvci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91c2VyLXByZXZpZXcvdXNlci1wcmV2aWV3LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21heC1saW5lcy9tYXgtbGluZXMuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLWFwaS1mb3JtL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXJrZG93bi1wYXJzZXIvbWFya2Rvd24tcGFyc2VyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltYWdlLW92ZXJsYXktcHJldmlldy9pbWFnZS1vdmVybGF5LXByZXZpZXcuY29tcG9uZW50J1xuIl19
|
|
@@ -71,12 +71,12 @@ export class DownloadsListComponent {
|
|
|
71
71
|
return link.type === 'service' && link.accessServiceProtocol === 'wfs';
|
|
72
72
|
}
|
|
73
73
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DownloadsListComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
74
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: DownloadsListComponent, selector: "gn-ui-downloads-list", inputs: { links: "links" }, ngImport: i0, template: "<div\n class=\"flex flex-wrap justify-between mt-8 mb-6 sm:mt-12 sm:mb-2\"\n *ngIf=\"links && links.length > 0\"\n>\n <p\n class=\"font-title text-[28px] text-title font-medium mr-4 pb-4 text-center sm:text-left\"\n translate\n >\n record.metadata.download\n </p>\n <div
|
|
74
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: DownloadsListComponent, selector: "gn-ui-downloads-list", inputs: { links: "links" }, ngImport: i0, template: "<div\n class=\"flex flex-wrap justify-between mt-8 mb-6 sm:mt-12 sm:mb-2\"\n *ngIf=\"links && links.length > 0\"\n>\n <p\n class=\"font-title text-[28px] text-title font-medium mr-4 pb-4 text-center sm:text-left\"\n translate\n >\n record.metadata.download\n </p>\n <div\n class=\"flex flex-wrap justify-start sm:justify-end sm:pb-4\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-50')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n<div class=\"mb-2 sm:mb-3\" *ngFor=\"let link of filteredLinks\">\n <gn-ui-download-item\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromWfs]=\"isFromWfs(link)\"\n ></gn-ui-download-item>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i4.DownloadItemComponent, selector: "gn-ui-download-item", inputs: ["link", "color", "format", "isFromWfs"], outputs: ["exportUrl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
75
75
|
}
|
|
76
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DownloadsListComponent, decorators: [{
|
|
77
77
|
type: Component,
|
|
78
|
-
args: [{ selector: 'gn-ui-downloads-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex flex-wrap justify-between mt-8 mb-6 sm:mt-12 sm:mb-2\"\n *ngIf=\"links && links.length > 0\"\n>\n <p\n class=\"font-title text-[28px] text-title font-medium mr-4 pb-4 text-center sm:text-left\"\n translate\n >\n record.metadata.download\n </p>\n <div
|
|
78
|
+
args: [{ selector: 'gn-ui-downloads-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex flex-wrap justify-between mt-8 mb-6 sm:mt-12 sm:mb-2\"\n *ngIf=\"links && links.length > 0\"\n>\n <p\n class=\"font-title text-[28px] text-title font-medium mr-4 pb-4 text-center sm:text-left\"\n translate\n >\n record.metadata.download\n </p>\n <div\n class=\"flex flex-wrap justify-start sm:justify-end sm:pb-4\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-50')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n<div class=\"mb-2 sm:mb-3\" *ngFor=\"let link of filteredLinks\">\n <gn-ui-download-item\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromWfs]=\"isFromWfs(link)\"\n ></gn-ui-download-item>\n</div>\n" }]
|
|
79
79
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { links: [{
|
|
80
80
|
type: Input
|
|
81
81
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL2Rvd25sb2Fkcy1saXN0L2Rvd25sb2Fkcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9kb3dubG9hZHMtbGlzdC9kb3dubG9hZHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7O0FBR3JGLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0FBQ25DLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO0FBRXRDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQVUsQ0FBQTtBQVNoRixNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSXRELHdCQUFtQixHQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBSlksQ0FBQztJQU0xRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDaEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLE1B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SyxTQUFTLElBQUksSUFBSSxDQUFDLHFCQUFxQixLQUFLLEtBQUssQ0FBQTtJQUN4RSxDQUFDOzhHQWhGVSxzQkFBc0I7a0dBQXRCLHNCQUFzQix3RkNsQm5DLDZqQ0FvQ0E7OzJGRGxCYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07dUdBS3RDLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgZ2V0QmFkZ2VDb2xvciwgZ2V0RmlsZUZvcm1hdCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgRGF0YXNldERpc3RyaWJ1dGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxubWFya2VyKCdkYXRhaHViLnNlYXJjaC5maWx0ZXIuYWxsJylcbm1hcmtlcignZGF0YWh1Yi5zZWFyY2guZmlsdGVyLm90aGVycycpXG5cbmNvbnN0IEZJTFRFUl9GT1JNQVRTID0gWydhbGwnLCAnY3N2JywgJ2V4Y2VsJywgJ2pzb24nLCAnc2hwJywgJ290aGVycyddIGFzIGNvbnN0XG50eXBlIEZpbHRlckZvcm1hdCA9IHR5cGVvZiBGSUxURVJfRk9STUFUU1tudW1iZXJdXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWRvd25sb2Fkcy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvd25sb2Fkcy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG93bmxvYWRzLWxpc3QuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRG93bmxvYWRzTGlzdENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICBASW5wdXQoKSBsaW5rczogRGF0YXNldERpc3RyaWJ1dGlvbltdXG5cbiAgYWN0aXZlRmlsdGVyRm9ybWF0czogRmlsdGVyRm9ybWF0W10gPSBbJ2FsbCddXG5cbiAgZ2V0IGZpbHRlcmVkTGlua3MoKTogRGF0YXNldERpc3RyaWJ1dGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5saW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICB0aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMuc29tZSgoZm9ybWF0KSA9PlxuICAgICAgICB0aGlzLmlzTGlua09mRm9ybWF0KGxpbmssIGZvcm1hdClcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBnZXQgdmlzaWJsZUZvcm1hdHMoKTogRmlsdGVyRm9ybWF0W10ge1xuICAgIHJldHVybiBGSUxURVJfRk9STUFUUy5maWx0ZXIoKGZvcm1hdCkgPT5cbiAgICAgIHRoaXMubGlua3Muc29tZSgobGluaykgPT4gdGhpcy5pc0xpbmtPZkZvcm1hdChsaW5rLCBmb3JtYXQpKVxuICAgIClcbiAgfVxuXG4gIHRvZ2dsZUZpbHRlckZvcm1hdChmb3JtYXQ6IEZpbHRlckZvcm1hdCk6IHZvaWQge1xuICAgIGlmIChmb3JtYXQgPT09ICdhbGwnKSB7XG4gICAgICB0aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMgPSBbJ2FsbCddXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHRoaXMuaXNGaWx0ZXJBY3RpdmUoZm9ybWF0KSkge1xuICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJGb3JtYXRzID0gdGhpcy5hY3RpdmVGaWx0ZXJGb3JtYXRzLmZpbHRlcihcbiAgICAgICAgKGY6IHN0cmluZykgPT4gZm9ybWF0ICE9PSBmXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlRmlsdGVyRm9ybWF0cyA9IFtcbiAgICAgICAgLi4udGhpcy5hY3RpdmVGaWx0ZXJGb3JtYXRzLmZpbHRlcigoZikgPT4gZiAhPT0gJ2FsbCcpLFxuICAgICAgICBmb3JtYXQsXG4gICAgICBdXG4gICAgfVxuICAgIGlmICh0aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmFjdGl2ZUZpbHRlckZvcm1hdHMgPSBbJ2FsbCddXG4gICAgfVxuICB9XG5cbiAgaXNGaWx0ZXJBY3RpdmUoZmlsdGVyOiBGaWx0ZXJGb3JtYXQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVGaWx0ZXJGb3JtYXRzLmluY2x1ZGVzKGZpbHRlcilcbiAgfVxuXG4gIGdldEZpbHRlckZvcm1hdFRpdGxlKGZvcm1hdDogRmlsdGVyRm9ybWF0KSB7XG4gICAgaWYgKGZvcm1hdCA9PT0gJ2FsbCcgfHwgZm9ybWF0ID09PSAnb3RoZXJzJykge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGBkYXRhaHViLnNlYXJjaC5maWx0ZXIuJHtmb3JtYXR9YClcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1hdFxuICB9XG5cbiAgaXNMaW5rT2ZGb3JtYXQobGluazogRGF0YXNldERpc3RyaWJ1dGlvbiwgZm9ybWF0OiBGaWx0ZXJGb3JtYXQpOiBib29sZWFuIHtcbiAgICBpZiAoZm9ybWF0ID09PSAnYWxsJykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgaWYgKGdldEZpbGVGb3JtYXQobGluaykgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmb3JtYXQgPT09ICdvdGhlcnMnXG4gICAgfVxuICAgIGlmIChmb3JtYXQgPT09ICdvdGhlcnMnKSB7XG4gICAgICBjb25zdCBrbm93bkZvcm1hdHMgPSBGSUxURVJfRk9STUFUUy5maWx0ZXIoXG4gICAgICAgIChmb3JtYXQpID0+IGZvcm1hdCAhPT0gJ2FsbCcgJiYgZm9ybWF0ICE9PSAnb3RoZXJzJ1xuICAgICAgKVxuICAgICAgcmV0dXJuIGtub3duRm9ybWF0cy5ldmVyeShcbiAgICAgICAgKGtub3duRm9ybWF0KSA9PiAhZ2V0RmlsZUZvcm1hdChsaW5rKS5pbmNsdWRlcyhrbm93bkZvcm1hdClcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIGdldEZpbGVGb3JtYXQobGluaykuaW5jbHVkZXMoZm9ybWF0KVxuICB9XG5cbiAgZ2V0TGlua0Zvcm1hdChsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uKSB7XG4gICAgcmV0dXJuIGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuXG4gIGdldExpbmtDb2xvcihsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uKSB7XG4gICAgcmV0dXJuIGdldEJhZGdlQ29sb3IoZ2V0RmlsZUZvcm1hdChsaW5rKSlcbiAgfVxuXG4gIGlzRnJvbVdmcyhsaW5rOiBEYXRhc2V0RGlzdHJpYnV0aW9uKSB7XG4gICAgcmV0dXJuIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd2ZzJ1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAganVzdGlmeS1iZXR3ZWVuIG10LTggbWItNiBzbTptdC0xMiBzbTptYi0yXCJcbiAgKm5nSWY9XCJsaW5rcyAmJiBsaW5rcy5sZW5ndGggPiAwXCJcbj5cbiAgPHBcbiAgICBjbGFzcz1cImZvbnQtdGl0bGUgdGV4dC1bMjhweF0gdGV4dC10aXRsZSBmb250LW1lZGl1bSBtci00IHBiLTQgdGV4dC1jZW50ZXIgc206dGV4dC1sZWZ0XCJcbiAgICB0cmFuc2xhdGVcbiAgPlxuICAgIHJlY29yZC5tZXRhZGF0YS5kb3dubG9hZFxuICA8L3A+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXggZmxleC13cmFwIGp1c3RpZnktc3RhcnQgc206anVzdGlmeS1lbmQgc206cGItNFwiXG4gICAgZGF0YS1jeT1cImRvd25sb2FkLWZvcm1hdC1maWx0ZXJzXCJcbiAgPlxuICAgIDxnbi11aS1idXR0b25cbiAgICAgIGNsYXNzPVwibS0xIGZvcm1hdC1maWx0ZXJcIlxuICAgICAgW2V4dHJhQ2xhc3NdPVwiXG4gICAgICAgICchcHgtWzEycHhdICFweS1bOHB4XSAhdGV4dC1bMTVweF0nICtcbiAgICAgICAgKGlzRmlsdGVyQWN0aXZlKGZvcm1hdCkgPyAnIG9wYWNpdHktMTAwJyA6ICcgb3BhY2l0eS01MCcpXG4gICAgICBcIlxuICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUZpbHRlckZvcm1hdChmb3JtYXQpXCJcbiAgICAgIFthdHRyLmRhdGEtZm9ybWF0XT1cImZvcm1hdFwiXG4gICAgICAqbmdGb3I9XCJsZXQgZm9ybWF0IG9mIHZpc2libGVGb3JtYXRzXCJcbiAgICA+XG4gICAgICB7eyBnZXRGaWx0ZXJGb3JtYXRUaXRsZShmb3JtYXQpIH19XG4gICAgPC9nbi11aS1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibWItMiBzbTptYi0zXCIgKm5nRm9yPVwibGV0IGxpbmsgb2YgZmlsdGVyZWRMaW5rc1wiPlxuICA8Z24tdWktZG93bmxvYWQtaXRlbVxuICAgIFtsaW5rXT1cImxpbmtcIlxuICAgIFtjb2xvcl09XCJnZXRMaW5rQ29sb3IobGluaylcIlxuICAgIFtmb3JtYXRdPVwiZ2V0TGlua0Zvcm1hdChsaW5rKVwiXG4gICAgW2lzRnJvbVdmc109XCJpc0Zyb21XZnMobGluaylcIlxuICA+PC9nbi11aS1kb3dubG9hZC1pdGVtPlxuPC9kaXY+XG4iXX0=
|
package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as basicLightbox from 'basiclightbox';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/icon";
|
|
6
|
+
import * as i3 from "../../../../inputs/src/lib/button/button.component";
|
|
7
|
+
import * as i4 from "../content-ghost/content-ghost.component";
|
|
8
|
+
import * as i5 from "../thumbnail/thumbnail.component";
|
|
9
|
+
export class ImageOverlayPreviewComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.isPlaceholderShown = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
openLightbox(src) {
|
|
14
|
+
basicLightbox.create(`<img src="${src}"/>`).show();
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ImageOverlayPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ImageOverlayPreviewComponent, selector: "gn-ui-image-overlay-preview", inputs: { imageUrl: "imageUrl" }, outputs: { isPlaceholderShown: "isPlaceholderShown" }, ngImport: i0, template: "<gn-ui-content-ghost\n [showContent]=\"imageUrl !== undefined\"\n ghostClass=\"h-48 mb-3\"\n>\n <div\n *ngIf=\"imageUrl\"\n [showContent]=\"imageUrl !== undefined\"\n data-cy=\"record-thumbnail\"\n class=\"flex-shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 group-hover:shadow-xl group-hover:border-0 h-48 mb-3\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"imageUrl\"\n fit=\"cover\"\n (placeholderShown)=\"isPlaceholderShown.emit($event)\"\n ></gn-ui-thumbnail>\n <div class=\"relative\">\n <gn-ui-button\n class=\"absolute bottom-0 right-0 z-10 mr-2 mb-2\"\n [type]=\"'outline'\"\n [extraClass]=\"'!py-2 !px-0'\"\n (buttonClick)=\"openLightbox(imageUrl)\"\n >\n <mat-icon class=\"material-symbols-outlined font-extralight\"\n >zoom_out_map</mat-icon\n >\n </gn-ui-button>\n </div>\n </div>\n</gn-ui-content-ghost>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: i4.ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: i5.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }] }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ImageOverlayPreviewComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'gn-ui-image-overlay-preview', template: "<gn-ui-content-ghost\n [showContent]=\"imageUrl !== undefined\"\n ghostClass=\"h-48 mb-3\"\n>\n <div\n *ngIf=\"imageUrl\"\n [showContent]=\"imageUrl !== undefined\"\n data-cy=\"record-thumbnail\"\n class=\"flex-shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 group-hover:shadow-xl group-hover:border-0 h-48 mb-3\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"imageUrl\"\n fit=\"cover\"\n (placeholderShown)=\"isPlaceholderShown.emit($event)\"\n ></gn-ui-thumbnail>\n <div class=\"relative\">\n <gn-ui-button\n class=\"absolute bottom-0 right-0 z-10 mr-2 mb-2\"\n [type]=\"'outline'\"\n [extraClass]=\"'!py-2 !px-0'\"\n (buttonClick)=\"openLightbox(imageUrl)\"\n >\n <mat-icon class=\"material-symbols-outlined font-extralight\"\n >zoom_out_map</mat-icon\n >\n </gn-ui-button>\n </div>\n </div>\n</gn-ui-content-ghost>\n" }]
|
|
22
|
+
}], propDecorators: { imageUrl: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], isPlaceholderShown: [{
|
|
25
|
+
type: Output
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1vdmVybGF5LXByZXZpZXcvaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1vdmVybGF5LXByZXZpZXcvaW1hZ2Utb3ZlcmxheS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdEUsT0FBTyxLQUFLLGFBQWEsTUFBTSxlQUFlLENBQUE7Ozs7Ozs7QUFPOUMsTUFBTSxPQUFPLDRCQUE0QjtJQUx6QztRQU9ZLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUE7S0FJM0Q7SUFIQyxZQUFZLENBQUMsR0FBVztRQUN0QixhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNwRCxDQUFDOzhHQUxVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLDRKQ1J6QyxzK0JBOEJBOzsyRkR0QmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDZCQUE2Qjs4QkFLOUIsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgKiBhcyBiYXNpY0xpZ2h0Ym94IGZyb20gJ2Jhc2ljbGlnaHRib3gnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWltYWdlLW92ZXJsYXktcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1vdmVybGF5LXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1vdmVybGF5LXByZXZpZXcuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZU92ZXJsYXlQcmV2aWV3Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaW1hZ2VVcmw6IHN0cmluZ1xuICBAT3V0cHV0KCkgaXNQbGFjZWhvbGRlclNob3duID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG4gIG9wZW5MaWdodGJveChzcmM6IHN0cmluZykge1xuICAgIGJhc2ljTGlnaHRib3guY3JlYXRlKGA8aW1nIHNyYz1cIiR7c3JjfVwiLz5gKS5zaG93KClcbiAgfVxufVxuIiwiPGduLXVpLWNvbnRlbnQtZ2hvc3RcbiAgW3Nob3dDb250ZW50XT1cImltYWdlVXJsICE9PSB1bmRlZmluZWRcIlxuICBnaG9zdENsYXNzPVwiaC00OCBtYi0zXCJcbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiaW1hZ2VVcmxcIlxuICAgIFtzaG93Q29udGVudF09XCJpbWFnZVVybCAhPT0gdW5kZWZpbmVkXCJcbiAgICBkYXRhLWN5PVwicmVjb3JkLXRodW1ibmFpbFwiXG4gICAgY2xhc3M9XCJmbGV4LXNocmluay0wIGJnLWdyYXktMTAwIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIHctZnVsbCBib3JkZXIgYm9yZGVyLWdyYXktMzAwIGdyb3VwLWhvdmVyOnNoYWRvdy14bCBncm91cC1ob3Zlcjpib3JkZXItMCBoLTQ4IG1iLTNcIlxuICA+XG4gICAgPGduLXVpLXRodW1ibmFpbFxuICAgICAgY2xhc3M9XCJyZWxhdGl2ZSBoLWZ1bGwgdy1mdWxsXCJcbiAgICAgIFt0aHVtYm5haWxVcmxdPVwiaW1hZ2VVcmxcIlxuICAgICAgZml0PVwiY292ZXJcIlxuICAgICAgKHBsYWNlaG9sZGVyU2hvd24pPVwiaXNQbGFjZWhvbGRlclNob3duLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktdGh1bWJuYWlsPlxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICBjbGFzcz1cImFic29sdXRlIGJvdHRvbS0wIHJpZ2h0LTAgei0xMCBtci0yIG1iLTJcIlxuICAgICAgICBbdHlwZV09XCInb3V0bGluZSdcIlxuICAgICAgICBbZXh0cmFDbGFzc109XCInIXB5LTIgIXB4LTAnXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cIm9wZW5MaWdodGJveChpbWFnZVVybClcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGZvbnQtZXh0cmFsaWdodFwiXG4gICAgICAgICAgPnpvb21fb3V0X21hcDwvbWF0LWljb25cbiAgICAgICAgPlxuICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9nbi11aS1jb250ZW50LWdob3N0PlxuIl19
|