@searchstax-inc/searchstudio-ux-angular 4.1.0 → 4.1.1
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/lib/components/searchstax-input/searchstax-input.component.mjs +81 -0
- package/esm2022/lib/components/searchstax-results/searchstax-results.component.mjs +88 -0
- package/esm2022/lib/components/searchstax-search-answer/searchstax-search-answer.component.mjs +47 -0
- package/esm2022/lib/components/searchstax-search-external/searchstax-search-external.component.mjs +41 -0
- package/esm2022/lib/components/searchstax-search-facets/searchstax-search-facets.component.mjs +114 -0
- package/esm2022/lib/components/searchstax-search-location/searchstax-search-location.component.mjs +92 -0
- package/esm2022/lib/components/searchstax-search-overview/searchstax-search-overview.component.mjs +42 -0
- package/esm2022/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.mjs +64 -0
- package/esm2022/lib/components/searchstax-search-related/searchstax-search-related.component.mjs +45 -0
- package/esm2022/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.mjs +46 -0
- package/esm2022/lib/components/searchstax-wrapper.component.mjs +93 -0
- package/esm2022/lib/components/templates/SearchstaxLocationWidgetTemplateConfig.mjs +91 -0
- package/esm2022/lib/components/templates/searchstax-search-answer-template.mjs +119 -0
- package/esm2022/lib/components/templates/searchstax-search-external-template.mjs +107 -0
- package/esm2022/lib/components/templates/searchstax-search-facet-desktop-template.mjs +207 -0
- package/esm2022/lib/components/templates/searchstax-search-facet-mobile-template.mjs +343 -0
- package/esm2022/lib/components/templates/searchstax-search-input-template.mjs +126 -0
- package/esm2022/lib/components/templates/searchstax-search-location-template.mjs +152 -0
- package/esm2022/lib/components/templates/searchstax-search-no-results-template.mjs +85 -0
- package/esm2022/lib/components/templates/searchstax-search-overview-template.mjs +87 -0
- package/esm2022/lib/components/templates/searchstax-search-pagination-infinite-template.mjs +60 -0
- package/esm2022/lib/components/templates/searchstax-search-pagination-template.mjs +96 -0
- package/esm2022/lib/components/templates/searchstax-search-related-template.mjs +81 -0
- package/esm2022/lib/components/templates/searchstax-search-results-template.mjs +175 -0
- package/esm2022/lib/components/templates/searchstax-search-sorting-template.mjs +76 -0
- package/esm2022/lib/searchstudio-ux-angular.module.mjs +138 -0
- package/esm2022/lib/services/store-service.service.mjs +17 -0
- package/esm2022/public-api.mjs +30 -0
- package/esm2022/searchstax-inc-searchstudio-ux-angular.mjs +5 -0
- package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs +2601 -0
- package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/searchstax-input/searchstax-input.component.d.ts +37 -0
- package/lib/components/searchstax-results/searchstax-results.component.d.ts +27 -0
- package/lib/components/searchstax-search-answer/searchstax-search-answer.component.d.ts +19 -0
- package/lib/components/searchstax-search-external/searchstax-search-external.component.d.ts +17 -0
- package/lib/components/searchstax-search-facets/searchstax-search-facets.component.d.ts +37 -0
- package/lib/components/searchstax-search-location/searchstax-search-location.component.d.ts +33 -0
- package/lib/components/searchstax-search-overview/searchstax-search-overview.component.d.ts +17 -0
- package/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.d.ts +21 -0
- package/lib/components/searchstax-search-related/searchstax-search-related.component.d.ts +19 -0
- package/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.d.ts +18 -0
- package/lib/components/searchstax-wrapper.component.d.ts +31 -0
- package/lib/components/templates/SearchstaxLocationWidgetTemplateConfig.d.ts +13 -0
- package/lib/components/templates/searchstax-search-answer-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-external-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-facet-desktop-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-facet-mobile-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-input-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-location-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-no-results-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-overview-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-pagination-infinite-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-pagination-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-related-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-results-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-sorting-template.d.ts +7 -0
- package/lib/searchstudio-ux-angular.module.d.ts +32 -0
- package/lib/services/store-service.service.d.ts +8 -0
- package/package.json +1 -4
- package/public-api.d.ts +26 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// reusable-template.component.ts
|
|
2
|
+
import { Component, ViewChild } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class NoResultsTemplateComponent {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoResultsTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NoResultsTemplateComponent, selector: "app-no-results-template", viewQueries: [{ propertyName: "noResultsTemplate", first: true, predicate: ["noResultsTemplate"], descendants: true }], ngImport: i0, template: `
|
|
8
|
+
<ng-template
|
|
9
|
+
#noResultsTemplate
|
|
10
|
+
let-metadata="metadata"
|
|
11
|
+
let-searchTerm="searchTerm"
|
|
12
|
+
let-executeSearch="executeSearch"
|
|
13
|
+
let-context="context"
|
|
14
|
+
>
|
|
15
|
+
<div class="searchstax-no-results">
|
|
16
|
+
Showing <strong>no results</strong> for
|
|
17
|
+
<strong>"{{ searchTerm }}"</strong>
|
|
18
|
+
<br />
|
|
19
|
+
<span *ngIf="metadata?.spellingSuggestion"
|
|
20
|
+
> Did you mean
|
|
21
|
+
<a
|
|
22
|
+
href="#"
|
|
23
|
+
[attr.aria-label]="'did you mean: ' + metadata?.spellingSuggestion"
|
|
24
|
+
class="searchstax-suggestion-term"
|
|
25
|
+
(click)="
|
|
26
|
+
executeSearch(metadata?.spellingSuggestion ?? '', $event, context)
|
|
27
|
+
"
|
|
28
|
+
>{{ metadata?.spellingSuggestion }}</a
|
|
29
|
+
>?</span
|
|
30
|
+
>
|
|
31
|
+
</div>
|
|
32
|
+
<ul>
|
|
33
|
+
<li>
|
|
34
|
+
Try searching for search related terms or topics. We offer a wide
|
|
35
|
+
variety of content to help you get the information you need.
|
|
36
|
+
</li>
|
|
37
|
+
<li>Lost? Click on the ‘X” in the Search Box to reset your search.</li>
|
|
38
|
+
</ul>
|
|
39
|
+
</ng-template>
|
|
40
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
41
|
+
}
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoResultsTemplateComponent, decorators: [{
|
|
43
|
+
type: Component,
|
|
44
|
+
args: [{
|
|
45
|
+
selector: "app-no-results-template",
|
|
46
|
+
template: `
|
|
47
|
+
<ng-template
|
|
48
|
+
#noResultsTemplate
|
|
49
|
+
let-metadata="metadata"
|
|
50
|
+
let-searchTerm="searchTerm"
|
|
51
|
+
let-executeSearch="executeSearch"
|
|
52
|
+
let-context="context"
|
|
53
|
+
>
|
|
54
|
+
<div class="searchstax-no-results">
|
|
55
|
+
Showing <strong>no results</strong> for
|
|
56
|
+
<strong>"{{ searchTerm }}"</strong>
|
|
57
|
+
<br />
|
|
58
|
+
<span *ngIf="metadata?.spellingSuggestion"
|
|
59
|
+
> Did you mean
|
|
60
|
+
<a
|
|
61
|
+
href="#"
|
|
62
|
+
[attr.aria-label]="'did you mean: ' + metadata?.spellingSuggestion"
|
|
63
|
+
class="searchstax-suggestion-term"
|
|
64
|
+
(click)="
|
|
65
|
+
executeSearch(metadata?.spellingSuggestion ?? '', $event, context)
|
|
66
|
+
"
|
|
67
|
+
>{{ metadata?.spellingSuggestion }}</a
|
|
68
|
+
>?</span
|
|
69
|
+
>
|
|
70
|
+
</div>
|
|
71
|
+
<ul>
|
|
72
|
+
<li>
|
|
73
|
+
Try searching for search related terms or topics. We offer a wide
|
|
74
|
+
variety of content to help you get the information you need.
|
|
75
|
+
</li>
|
|
76
|
+
<li>Lost? Click on the ‘X” in the Search Box to reset your search.</li>
|
|
77
|
+
</ul>
|
|
78
|
+
</ng-template>
|
|
79
|
+
`,
|
|
80
|
+
}]
|
|
81
|
+
}], propDecorators: { noResultsTemplate: [{
|
|
82
|
+
type: ViewChild,
|
|
83
|
+
args: ["noResultsTemplate"]
|
|
84
|
+
}] } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtbm8tcmVzdWx0cy10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvc2VhcmNoc3RheC1zZWFyY2gtbm8tcmVzdWx0cy10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQXVDbEUsTUFBTSxPQUFPLDBCQUEwQjsrR0FBMUIsMEJBQTBCO21HQUExQiwwQkFBMEIsdUxBbkMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNUOzs0RkFFVSwwQkFBMEI7a0JBckN0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNUO2lCQUNGOzhCQUVpQyxpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmV1c2FibGUtdGVtcGxhdGUuY29tcG9uZW50LnRzXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLW5vLXJlc3VsdHMtdGVtcGxhdGVcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICNub1Jlc3VsdHNUZW1wbGF0ZVxuICAgICAgbGV0LW1ldGFkYXRhPVwibWV0YWRhdGFcIlxuICAgICAgbGV0LXNlYXJjaFRlcm09XCJzZWFyY2hUZXJtXCJcbiAgICAgIGxldC1leGVjdXRlU2VhcmNoPVwiZXhlY3V0ZVNlYXJjaFwiXG4gICAgICBsZXQtY29udGV4dD1cImNvbnRleHRcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LW5vLXJlc3VsdHNcIj5cbiAgICAgICAgU2hvd2luZyA8c3Ryb25nPm5vIHJlc3VsdHM8L3N0cm9uZz4gZm9yXG4gICAgICAgIDxzdHJvbmc+XCJ7eyBzZWFyY2hUZXJtIH19XCI8L3N0cm9uZz5cbiAgICAgICAgPGJyIC8+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwibWV0YWRhdGE/LnNwZWxsaW5nU3VnZ2VzdGlvblwiXG4gICAgICAgICAgPiZuYnNwO0RpZCB5b3UgbWVhblxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidkaWQgeW91IG1lYW46ICcgKyBtZXRhZGF0YT8uc3BlbGxpbmdTdWdnZXN0aW9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zdWdnZXN0aW9uLXRlcm1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICBleGVjdXRlU2VhcmNoKG1ldGFkYXRhPy5zcGVsbGluZ1N1Z2dlc3Rpb24gPz8gJycsICRldmVudCwgY29udGV4dClcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+e3sgbWV0YWRhdGE/LnNwZWxsaW5nU3VnZ2VzdGlvbiB9fTwvYVxuICAgICAgICAgID4/PC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgICAgPHVsPlxuICAgICAgICA8bGk+XG4gICAgICAgICAgVHJ5IHNlYXJjaGluZyBmb3Igc2VhcmNoIHJlbGF0ZWQgdGVybXMgb3IgdG9waWNzLiBXZSBvZmZlciBhIHdpZGVcbiAgICAgICAgICB2YXJpZXR5IG9mIGNvbnRlbnQgdG8gaGVscCB5b3UgZ2V0IHRoZSBpbmZvcm1hdGlvbiB5b3UgbmVlZC5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpPkxvc3Q/IENsaWNrIG9uIHRoZSDigJhY4oCdIGluIHRoZSBTZWFyY2ggQm94IHRvIHJlc2V0IHlvdXIgc2VhcmNoLjwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIE5vUmVzdWx0c1RlbXBsYXRlQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZChcIm5vUmVzdWx0c1RlbXBsYXRlXCIpIG5vUmVzdWx0c1RlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// reusable-template.component.ts
|
|
2
|
+
import { Component, ViewChild } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class OverviewTemplateComponent {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverviewTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: OverviewTemplateComponent, selector: "app-overview-template", viewQueries: [{ propertyName: "overviewTemplate", first: true, predicate: ["feedbackTemplate"], descendants: true }], ngImport: i0, template: `
|
|
8
|
+
<ng-template
|
|
9
|
+
#feedbackTemplate
|
|
10
|
+
let-searchFeedbackData="searchFeedbackData"
|
|
11
|
+
let-onOriginalQueryClick="onOriginalQueryClick"
|
|
12
|
+
let-context="context"
|
|
13
|
+
>
|
|
14
|
+
<h2 class="searchstax-feedback-container">
|
|
15
|
+
Showing
|
|
16
|
+
<b
|
|
17
|
+
>{{ searchFeedbackData!.startResultIndex }} -
|
|
18
|
+
{{ searchFeedbackData!.endResultIndex }}</b
|
|
19
|
+
>
|
|
20
|
+
of <b>{{ searchFeedbackData!.totalResults }}</b> results
|
|
21
|
+
<span *ngIf="searchFeedbackData.searchTerm"
|
|
22
|
+
>for "<b>{{ searchFeedbackData!.searchTerm }}</b
|
|
23
|
+
>"
|
|
24
|
+
</span>
|
|
25
|
+
<div class="searchstax-feedback-container-suggested">
|
|
26
|
+
<div *ngIf="searchFeedbackData.autoCorrectedQuery">
|
|
27
|
+
Search instead for
|
|
28
|
+
<a
|
|
29
|
+
href="#"
|
|
30
|
+
(click)="onOriginalQueryClick($event, context)"
|
|
31
|
+
class="searchstax-feedback-original-query"
|
|
32
|
+
[attr.aria-label]="
|
|
33
|
+
'Search instead for: ' + searchFeedbackData!.originalQuery
|
|
34
|
+
"
|
|
35
|
+
>{{ searchFeedbackData!.originalQuery }}</a
|
|
36
|
+
>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</h2>
|
|
40
|
+
</ng-template>
|
|
41
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverviewTemplateComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{
|
|
46
|
+
selector: "app-overview-template",
|
|
47
|
+
template: `
|
|
48
|
+
<ng-template
|
|
49
|
+
#feedbackTemplate
|
|
50
|
+
let-searchFeedbackData="searchFeedbackData"
|
|
51
|
+
let-onOriginalQueryClick="onOriginalQueryClick"
|
|
52
|
+
let-context="context"
|
|
53
|
+
>
|
|
54
|
+
<h2 class="searchstax-feedback-container">
|
|
55
|
+
Showing
|
|
56
|
+
<b
|
|
57
|
+
>{{ searchFeedbackData!.startResultIndex }} -
|
|
58
|
+
{{ searchFeedbackData!.endResultIndex }}</b
|
|
59
|
+
>
|
|
60
|
+
of <b>{{ searchFeedbackData!.totalResults }}</b> results
|
|
61
|
+
<span *ngIf="searchFeedbackData.searchTerm"
|
|
62
|
+
>for "<b>{{ searchFeedbackData!.searchTerm }}</b
|
|
63
|
+
>"
|
|
64
|
+
</span>
|
|
65
|
+
<div class="searchstax-feedback-container-suggested">
|
|
66
|
+
<div *ngIf="searchFeedbackData.autoCorrectedQuery">
|
|
67
|
+
Search instead for
|
|
68
|
+
<a
|
|
69
|
+
href="#"
|
|
70
|
+
(click)="onOriginalQueryClick($event, context)"
|
|
71
|
+
class="searchstax-feedback-original-query"
|
|
72
|
+
[attr.aria-label]="
|
|
73
|
+
'Search instead for: ' + searchFeedbackData!.originalQuery
|
|
74
|
+
"
|
|
75
|
+
>{{ searchFeedbackData!.originalQuery }}</a
|
|
76
|
+
>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
</h2>
|
|
80
|
+
</ng-template>
|
|
81
|
+
`,
|
|
82
|
+
}]
|
|
83
|
+
}], propDecorators: { overviewTemplate: [{
|
|
84
|
+
type: ViewChild,
|
|
85
|
+
args: ["feedbackTemplate"]
|
|
86
|
+
}] } });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtb3ZlcnZpZXctdGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvdGVtcGxhdGVzL3NlYXJjaHN0YXgtc2VhcmNoLW92ZXJ2aWV3LXRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7O0FBd0NsRSxNQUFNLE9BQU8seUJBQXlCOytHQUF6Qix5QkFBeUI7bUdBQXpCLHlCQUF5QixtTEFwQzFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUOzs0RkFFVSx5QkFBeUI7a0JBdENyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDtpQkFDRjs4QkFFZ0MsZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJldXNhYmxlLXRlbXBsYXRlLmNvbXBvbmVudC50c1xuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFwcC1vdmVydmlldy10ZW1wbGF0ZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgI2ZlZWRiYWNrVGVtcGxhdGVcbiAgICAgIGxldC1zZWFyY2hGZWVkYmFja0RhdGE9XCJzZWFyY2hGZWVkYmFja0RhdGFcIlxuICAgICAgbGV0LW9uT3JpZ2luYWxRdWVyeUNsaWNrPVwib25PcmlnaW5hbFF1ZXJ5Q2xpY2tcIlxuICAgICAgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCJcbiAgICA+XG4gICAgICA8aDIgY2xhc3M9XCJzZWFyY2hzdGF4LWZlZWRiYWNrLWNvbnRhaW5lclwiPlxuICAgICAgICBTaG93aW5nXG4gICAgICAgIDxiXG4gICAgICAgICAgPnt7IHNlYXJjaEZlZWRiYWNrRGF0YSEuc3RhcnRSZXN1bHRJbmRleCB9fSAtXG4gICAgICAgICAge3sgc2VhcmNoRmVlZGJhY2tEYXRhIS5lbmRSZXN1bHRJbmRleCB9fTwvYlxuICAgICAgICA+XG4gICAgICAgIG9mIDxiPnt7IHNlYXJjaEZlZWRiYWNrRGF0YSEudG90YWxSZXN1bHRzIH19PC9iPiByZXN1bHRzXG4gICAgICAgIDxzcGFuICpuZ0lmPVwic2VhcmNoRmVlZGJhY2tEYXRhLnNlYXJjaFRlcm1cIlxuICAgICAgICAgID5mb3IgXCI8Yj57eyBzZWFyY2hGZWVkYmFja0RhdGEhLnNlYXJjaFRlcm0gfX08L2JcbiAgICAgICAgICA+XCJcbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mZWVkYmFjay1jb250YWluZXItc3VnZ2VzdGVkXCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaEZlZWRiYWNrRGF0YS5hdXRvQ29ycmVjdGVkUXVlcnlcIj5cbiAgICAgICAgICAgIFNlYXJjaCBpbnN0ZWFkIGZvclxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25PcmlnaW5hbFF1ZXJ5Q2xpY2soJGV2ZW50LCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mZWVkYmFjay1vcmlnaW5hbC1xdWVyeVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgJ1NlYXJjaCBpbnN0ZWFkIGZvcjogJyArIHNlYXJjaEZlZWRiYWNrRGF0YSEub3JpZ2luYWxRdWVyeVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+e3sgc2VhcmNoRmVlZGJhY2tEYXRhIS5vcmlnaW5hbFF1ZXJ5IH19PC9hXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9oMj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBPdmVydmlld1RlbXBsYXRlQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZChcImZlZWRiYWNrVGVtcGxhdGVcIikgb3ZlcnZpZXdUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG59XG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// reusable-template.component.ts
|
|
2
|
+
import { Component, ViewChild } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PaginationInfiniteTemplateComponent {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginationInfiniteTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PaginationInfiniteTemplateComponent, selector: "app-pagination-infinite-template", viewQueries: [{ propertyName: "infiniteScrollTemplate", first: true, predicate: ["infiniteScrollTemplate"], descendants: true }], ngImport: i0, template: `
|
|
7
|
+
<ng-template
|
|
8
|
+
#infiniteScrollTemplate
|
|
9
|
+
let-paginationData="paginationData"
|
|
10
|
+
let-nextPage="nextPage"
|
|
11
|
+
let-context="context"
|
|
12
|
+
>
|
|
13
|
+
<div class="searchstax-pagination-container">
|
|
14
|
+
<div class="searchstax-pagination-content">
|
|
15
|
+
<a
|
|
16
|
+
class="searchstax-pagination-load-more"
|
|
17
|
+
(click)="nextPage($event, context)"
|
|
18
|
+
(keyup.enter)="nextPage($event, context)"
|
|
19
|
+
(keyup.space)="nextPage($event, context)"
|
|
20
|
+
tabindex="0"
|
|
21
|
+
>
|
|
22
|
+
Load More
|
|
23
|
+
</a>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</ng-template>
|
|
27
|
+
`, isInline: true }); }
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginationInfiniteTemplateComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{
|
|
32
|
+
selector: "app-pagination-infinite-template",
|
|
33
|
+
template: `
|
|
34
|
+
<ng-template
|
|
35
|
+
#infiniteScrollTemplate
|
|
36
|
+
let-paginationData="paginationData"
|
|
37
|
+
let-nextPage="nextPage"
|
|
38
|
+
let-context="context"
|
|
39
|
+
>
|
|
40
|
+
<div class="searchstax-pagination-container">
|
|
41
|
+
<div class="searchstax-pagination-content">
|
|
42
|
+
<a
|
|
43
|
+
class="searchstax-pagination-load-more"
|
|
44
|
+
(click)="nextPage($event, context)"
|
|
45
|
+
(keyup.enter)="nextPage($event, context)"
|
|
46
|
+
(keyup.space)="nextPage($event, context)"
|
|
47
|
+
tabindex="0"
|
|
48
|
+
>
|
|
49
|
+
Load More
|
|
50
|
+
</a>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</ng-template>
|
|
54
|
+
`,
|
|
55
|
+
}]
|
|
56
|
+
}], propDecorators: { infiniteScrollTemplate: [{
|
|
57
|
+
type: ViewChild,
|
|
58
|
+
args: ["infiniteScrollTemplate"]
|
|
59
|
+
}] } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtcGFnaW5hdGlvbi1pbmZpbml0ZS10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvc2VhcmNoc3RheC1zZWFyY2gtcGFnaW5hdGlvbi1pbmZpbml0ZS10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBMkJsRSxNQUFNLE9BQU8sbUNBQW1DOytHQUFuQyxtQ0FBbUM7bUdBQW5DLG1DQUFtQywwTUF2QnBDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQ7OzRGQUVVLG1DQUFtQztrQkF6Qi9DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQ7aUJBQ0Y7OEJBRXNDLHNCQUFzQjtzQkFBMUQsU0FBUzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZXVzYWJsZS10ZW1wbGF0ZS5jb21wb25lbnQudHNcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtcGFnaW5hdGlvbi1pbmZpbml0ZS10ZW1wbGF0ZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgI2luZmluaXRlU2Nyb2xsVGVtcGxhdGVcbiAgICAgIGxldC1wYWdpbmF0aW9uRGF0YT1cInBhZ2luYXRpb25EYXRhXCJcbiAgICAgIGxldC1uZXh0UGFnZT1cIm5leHRQYWdlXCJcbiAgICAgIGxldC1jb250ZXh0PVwiY29udGV4dFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtcGFnaW5hdGlvbi1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtcGFnaW5hdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1wYWdpbmF0aW9uLWxvYWQtbW9yZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwibmV4dFBhZ2UoJGV2ZW50LCBjb250ZXh0KVwiXG4gICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwibmV4dFBhZ2UoJGV2ZW50LCBjb250ZXh0KVwiXG4gICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwibmV4dFBhZ2UoJGV2ZW50LCBjb250ZXh0KVwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIExvYWQgTW9yZVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uSW5maW5pdGVUZW1wbGF0ZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoXCJpbmZpbml0ZVNjcm9sbFRlbXBsYXRlXCIpIGluZmluaXRlU2Nyb2xsVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuIl19
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// reusable-template.component.ts
|
|
2
|
+
import { Component, ViewChild } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PaginationTemplateComponent {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginationTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PaginationTemplateComponent, selector: "app-pagination-template", viewQueries: [{ propertyName: "paginationTemplate", first: true, predicate: ["paginationTemplate"], descendants: true }], ngImport: i0, template: `
|
|
7
|
+
<ng-template
|
|
8
|
+
#paginationTemplate
|
|
9
|
+
let-paginationData="paginationData"
|
|
10
|
+
let-previousPage="previousPage"
|
|
11
|
+
let-nextPage="nextPage"
|
|
12
|
+
let-context="context"
|
|
13
|
+
>
|
|
14
|
+
<div class="searchstax-pagination-container">
|
|
15
|
+
<div class="searchstax-pagination-content">
|
|
16
|
+
<a
|
|
17
|
+
class="searchstax-pagination-previous"
|
|
18
|
+
[class]="paginationData.isFirstPage ? 'disabled' : ''"
|
|
19
|
+
(click)="previousPage($event, context)"
|
|
20
|
+
(keyup.enter)="previousPage($event, context)"
|
|
21
|
+
(keyup.space)="previousPage($event, context)"
|
|
22
|
+
tabindex="0"
|
|
23
|
+
id="searchstax-pagination-previous"
|
|
24
|
+
>
|
|
25
|
+
< Previous
|
|
26
|
+
</a>
|
|
27
|
+
<div class="searchstax-pagination-details">
|
|
28
|
+
{{ paginationData?.startResultIndex }} -
|
|
29
|
+
{{ paginationData?.endResultIndex }} of
|
|
30
|
+
{{ paginationData?.totalResults }}
|
|
31
|
+
</div>
|
|
32
|
+
<a
|
|
33
|
+
class="searchstax-pagination-next"
|
|
34
|
+
[class]="paginationData.isLastPage ? 'disabled' : ''"
|
|
35
|
+
(click)="nextPage($event, context)"
|
|
36
|
+
(keyup.enter)="nextPage($event, context)"
|
|
37
|
+
(keyup.space)="nextPage($event, context)"
|
|
38
|
+
tabindex="0"
|
|
39
|
+
id="searchstax-pagination-next"
|
|
40
|
+
>Next ></a
|
|
41
|
+
>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</ng-template>
|
|
45
|
+
`, isInline: true }); }
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginationTemplateComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{
|
|
50
|
+
selector: "app-pagination-template",
|
|
51
|
+
template: `
|
|
52
|
+
<ng-template
|
|
53
|
+
#paginationTemplate
|
|
54
|
+
let-paginationData="paginationData"
|
|
55
|
+
let-previousPage="previousPage"
|
|
56
|
+
let-nextPage="nextPage"
|
|
57
|
+
let-context="context"
|
|
58
|
+
>
|
|
59
|
+
<div class="searchstax-pagination-container">
|
|
60
|
+
<div class="searchstax-pagination-content">
|
|
61
|
+
<a
|
|
62
|
+
class="searchstax-pagination-previous"
|
|
63
|
+
[class]="paginationData.isFirstPage ? 'disabled' : ''"
|
|
64
|
+
(click)="previousPage($event, context)"
|
|
65
|
+
(keyup.enter)="previousPage($event, context)"
|
|
66
|
+
(keyup.space)="previousPage($event, context)"
|
|
67
|
+
tabindex="0"
|
|
68
|
+
id="searchstax-pagination-previous"
|
|
69
|
+
>
|
|
70
|
+
< Previous
|
|
71
|
+
</a>
|
|
72
|
+
<div class="searchstax-pagination-details">
|
|
73
|
+
{{ paginationData?.startResultIndex }} -
|
|
74
|
+
{{ paginationData?.endResultIndex }} of
|
|
75
|
+
{{ paginationData?.totalResults }}
|
|
76
|
+
</div>
|
|
77
|
+
<a
|
|
78
|
+
class="searchstax-pagination-next"
|
|
79
|
+
[class]="paginationData.isLastPage ? 'disabled' : ''"
|
|
80
|
+
(click)="nextPage($event, context)"
|
|
81
|
+
(keyup.enter)="nextPage($event, context)"
|
|
82
|
+
(keyup.space)="nextPage($event, context)"
|
|
83
|
+
tabindex="0"
|
|
84
|
+
id="searchstax-pagination-next"
|
|
85
|
+
>Next ></a
|
|
86
|
+
>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
</ng-template>
|
|
90
|
+
`,
|
|
91
|
+
}]
|
|
92
|
+
}], propDecorators: { paginationTemplate: [{
|
|
93
|
+
type: ViewChild,
|
|
94
|
+
args: ["paginationTemplate"]
|
|
95
|
+
}] } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtcGFnaW5hdGlvbi10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvc2VhcmNoc3RheC1zZWFyY2gtcGFnaW5hdGlvbi10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBNkNsRSxNQUFNLE9BQU8sMkJBQTJCOytHQUEzQiwyQkFBMkI7bUdBQTNCLDJCQUEyQix5TEF6QzVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Q1Q7OzRGQUVVLDJCQUEyQjtrQkEzQ3ZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Q1Q7aUJBQ0Y7OEJBRWtDLGtCQUFrQjtzQkFBbEQsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZXVzYWJsZS10ZW1wbGF0ZS5jb21wb25lbnQudHNcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtcGFnaW5hdGlvbi10ZW1wbGF0ZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgI3BhZ2luYXRpb25UZW1wbGF0ZVxuICAgICAgbGV0LXBhZ2luYXRpb25EYXRhPVwicGFnaW5hdGlvbkRhdGFcIlxuICAgICAgbGV0LXByZXZpb3VzUGFnZT1cInByZXZpb3VzUGFnZVwiXG4gICAgICBsZXQtbmV4dFBhZ2U9XCJuZXh0UGFnZVwiXG4gICAgICBsZXQtY29udGV4dD1cImNvbnRleHRcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LXBhZ2luYXRpb24tY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LXBhZ2luYXRpb24tY29udGVudFwiPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtcGFnaW5hdGlvbi1wcmV2aW91c1wiXG4gICAgICAgICAgICBbY2xhc3NdPVwicGFnaW5hdGlvbkRhdGEuaXNGaXJzdFBhZ2UgPyAnZGlzYWJsZWQnIDogJydcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInByZXZpb3VzUGFnZSgkZXZlbnQsIGNvbnRleHQpXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJwcmV2aW91c1BhZ2UoJGV2ZW50LCBjb250ZXh0KVwiXG4gICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwicHJldmlvdXNQYWdlKCRldmVudCwgY29udGV4dClcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIGlkPVwic2VhcmNoc3RheC1wYWdpbmF0aW9uLXByZXZpb3VzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAmbHQ7IFByZXZpb3VzXG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LXBhZ2luYXRpb24tZGV0YWlsc1wiPlxuICAgICAgICAgICAge3sgcGFnaW5hdGlvbkRhdGE/LnN0YXJ0UmVzdWx0SW5kZXggfX0gLVxuICAgICAgICAgICAge3sgcGFnaW5hdGlvbkRhdGE/LmVuZFJlc3VsdEluZGV4IH19IG9mXG4gICAgICAgICAgICB7eyBwYWdpbmF0aW9uRGF0YT8udG90YWxSZXN1bHRzIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1wYWdpbmF0aW9uLW5leHRcIlxuICAgICAgICAgICAgW2NsYXNzXT1cInBhZ2luYXRpb25EYXRhLmlzTGFzdFBhZ2UgPyAnZGlzYWJsZWQnIDogJydcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRQYWdlKCRldmVudCwgY29udGV4dClcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cIm5leHRQYWdlKCRldmVudCwgY29udGV4dClcIlxuICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm5leHRQYWdlKCRldmVudCwgY29udGV4dClcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIGlkPVwic2VhcmNoc3RheC1wYWdpbmF0aW9uLW5leHRcIlxuICAgICAgICAgICAgPk5leHQgPjwvYVxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uVGVtcGxhdGVDb21wb25lbnQge1xuICBAVmlld0NoaWxkKFwicGFnaW5hdGlvblRlbXBsYXRlXCIpIHBhZ2luYXRpb25UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG59XG4iXX0=
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// reusable-template.component.ts
|
|
2
|
+
import { Component, ViewChild } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class RelatedTemplateComponent {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RelatedTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RelatedTemplateComponent, selector: "app-related-template", viewQueries: [{ propertyName: "relatedTemplate", first: true, predicate: ["relatedTemplate"], descendants: true }], ngImport: i0, template: `
|
|
8
|
+
<ng-template
|
|
9
|
+
#relatedTemplate
|
|
10
|
+
let-rand="rand"
|
|
11
|
+
let-relatedData="relatedData"
|
|
12
|
+
let-executeSearch="executeSearch"
|
|
13
|
+
let-context="context"
|
|
14
|
+
>
|
|
15
|
+
<div
|
|
16
|
+
class="searchstax-related-searches-container"
|
|
17
|
+
[id]="'searchstax-related-searches-container' + rand"
|
|
18
|
+
>
|
|
19
|
+
Related searches: <span id="searchstax-related-searches"></span>
|
|
20
|
+
<span
|
|
21
|
+
class="searchstax-related-search"
|
|
22
|
+
*ngIf="relatedData.relatedSearches"
|
|
23
|
+
>
|
|
24
|
+
<span
|
|
25
|
+
*ngFor="let related of relatedData.relatedSearches"
|
|
26
|
+
(click)="executeSearch(related, context)"
|
|
27
|
+
(keyup.enter)="executeSearch(related, context)"
|
|
28
|
+
(keyup.space)="executeSearch(related, context)"
|
|
29
|
+
tabindex="0"
|
|
30
|
+
class="searchstax-related-search searchstax-related-search-item"
|
|
31
|
+
[attr.aria-label]="'Related search: ' + related.related_search"
|
|
32
|
+
>
|
|
33
|
+
{{ related.related_search }}<span *ngIf="!related.last">,</span>
|
|
34
|
+
</span>
|
|
35
|
+
</span>
|
|
36
|
+
</div>
|
|
37
|
+
</ng-template>
|
|
38
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RelatedTemplateComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{
|
|
43
|
+
selector: "app-related-template",
|
|
44
|
+
template: `
|
|
45
|
+
<ng-template
|
|
46
|
+
#relatedTemplate
|
|
47
|
+
let-rand="rand"
|
|
48
|
+
let-relatedData="relatedData"
|
|
49
|
+
let-executeSearch="executeSearch"
|
|
50
|
+
let-context="context"
|
|
51
|
+
>
|
|
52
|
+
<div
|
|
53
|
+
class="searchstax-related-searches-container"
|
|
54
|
+
[id]="'searchstax-related-searches-container' + rand"
|
|
55
|
+
>
|
|
56
|
+
Related searches: <span id="searchstax-related-searches"></span>
|
|
57
|
+
<span
|
|
58
|
+
class="searchstax-related-search"
|
|
59
|
+
*ngIf="relatedData.relatedSearches"
|
|
60
|
+
>
|
|
61
|
+
<span
|
|
62
|
+
*ngFor="let related of relatedData.relatedSearches"
|
|
63
|
+
(click)="executeSearch(related, context)"
|
|
64
|
+
(keyup.enter)="executeSearch(related, context)"
|
|
65
|
+
(keyup.space)="executeSearch(related, context)"
|
|
66
|
+
tabindex="0"
|
|
67
|
+
class="searchstax-related-search searchstax-related-search-item"
|
|
68
|
+
[attr.aria-label]="'Related search: ' + related.related_search"
|
|
69
|
+
>
|
|
70
|
+
{{ related.related_search }}<span *ngIf="!related.last">,</span>
|
|
71
|
+
</span>
|
|
72
|
+
</span>
|
|
73
|
+
</div>
|
|
74
|
+
</ng-template>
|
|
75
|
+
`,
|
|
76
|
+
}]
|
|
77
|
+
}], propDecorators: { relatedTemplate: [{
|
|
78
|
+
type: ViewChild,
|
|
79
|
+
args: ["relatedTemplate"]
|
|
80
|
+
}] } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtcmVsYXRlZC10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvc2VhcmNoc3RheC1zZWFyY2gtcmVsYXRlZC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQXFDbEUsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO21HQUF4Qix3QkFBd0IsZ0xBakN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVDs7NEZBRVUsd0JBQXdCO2tCQW5DcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQlQ7aUJBQ0Y7OEJBRStCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmV1c2FibGUtdGVtcGxhdGUuY29tcG9uZW50LnRzXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLXJlbGF0ZWQtdGVtcGxhdGVcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICNyZWxhdGVkVGVtcGxhdGVcbiAgICAgIGxldC1yYW5kPVwicmFuZFwiXG4gICAgICBsZXQtcmVsYXRlZERhdGE9XCJyZWxhdGVkRGF0YVwiXG4gICAgICBsZXQtZXhlY3V0ZVNlYXJjaD1cImV4ZWN1dGVTZWFyY2hcIlxuICAgICAgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1yZWxhdGVkLXNlYXJjaGVzLWNvbnRhaW5lclwiXG4gICAgICAgIFtpZF09XCInc2VhcmNoc3RheC1yZWxhdGVkLXNlYXJjaGVzLWNvbnRhaW5lcicgKyByYW5kXCJcbiAgICAgID5cbiAgICAgICAgUmVsYXRlZCBzZWFyY2hlczogPHNwYW4gaWQ9XCJzZWFyY2hzdGF4LXJlbGF0ZWQtc2VhcmNoZXNcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXJlbGF0ZWQtc2VhcmNoXCJcbiAgICAgICAgICAqbmdJZj1cInJlbGF0ZWREYXRhLnJlbGF0ZWRTZWFyY2hlc1wiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHJlbGF0ZWQgb2YgcmVsYXRlZERhdGEucmVsYXRlZFNlYXJjaGVzXCJcbiAgICAgICAgICAgIChjbGljayk9XCJleGVjdXRlU2VhcmNoKHJlbGF0ZWQsIGNvbnRleHQpXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJleGVjdXRlU2VhcmNoKHJlbGF0ZWQsIGNvbnRleHQpXCJcbiAgICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJleGVjdXRlU2VhcmNoKHJlbGF0ZWQsIGNvbnRleHQpXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtcmVsYXRlZC1zZWFyY2ggc2VhcmNoc3RheC1yZWxhdGVkLXNlYXJjaC1pdGVtXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1JlbGF0ZWQgc2VhcmNoOiAnICsgcmVsYXRlZC5yZWxhdGVkX3NlYXJjaFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgcmVsYXRlZC5yZWxhdGVkX3NlYXJjaCB9fTxzcGFuICpuZ0lmPVwiIXJlbGF0ZWQubGFzdFwiPiw8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGVkVGVtcGxhdGVDb21wb25lbnQge1xuICBAVmlld0NoaWxkKFwicmVsYXRlZFRlbXBsYXRlXCIpIHJlbGF0ZWRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG59XG4iXX0=
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
// reusable-template.component.ts
|
|
2
|
+
import { Component, ViewChild } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class ResultsTemplateComponent {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResultsTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ResultsTemplateComponent, selector: "app-results-template", viewQueries: [{ propertyName: "resultsTemplate", first: true, predicate: ["resultsTemplate"], descendants: true }], ngImport: i0, template: `
|
|
8
|
+
<ng-template
|
|
9
|
+
#resultsTemplate
|
|
10
|
+
let-searchResults="searchResults"
|
|
11
|
+
let-resultClicked="resultClicked"
|
|
12
|
+
let-isImage="isImage"
|
|
13
|
+
let-context="context"
|
|
14
|
+
>
|
|
15
|
+
<div class="searchstax-search-results">
|
|
16
|
+
<a
|
|
17
|
+
*ngFor="let searchResult of searchResults"
|
|
18
|
+
[href]="searchResult.url"
|
|
19
|
+
[attr.data-searchstax-unique-result-id]="searchResult.uniqueId"
|
|
20
|
+
(click)="resultClicked(searchResult, $event, context)"
|
|
21
|
+
(keyup.enter)="resultClicked(searchResult, $event, context)"
|
|
22
|
+
(keyup.space)="resultClicked(searchResult, $event, context)"
|
|
23
|
+
[attr.aria-labelledby]="'title-' + searchResult.uniqueId"
|
|
24
|
+
tabindex="0"
|
|
25
|
+
class="searchstax-result-item-link searchstax-result-item-link-wrapping"
|
|
26
|
+
>
|
|
27
|
+
<div
|
|
28
|
+
class="searchstax-search-result"
|
|
29
|
+
[ngClass]="{ 'has-thumbnail': searchResult.thumbnail }"
|
|
30
|
+
>
|
|
31
|
+
<div
|
|
32
|
+
*ngIf="searchResult.promoted"
|
|
33
|
+
class="searchstax-search-result-promoted"
|
|
34
|
+
></div>
|
|
35
|
+
<div
|
|
36
|
+
*ngIf="searchResult.ribbon"
|
|
37
|
+
[innerHTML]="searchResult.ribbon"
|
|
38
|
+
class="searchstax-search-result-ribbon"
|
|
39
|
+
></div>
|
|
40
|
+
<img
|
|
41
|
+
alt=""
|
|
42
|
+
*ngIf="searchResult.thumbnail"
|
|
43
|
+
[src]="searchResult.thumbnail"
|
|
44
|
+
class="searchstax-thumbnail"
|
|
45
|
+
/>
|
|
46
|
+
<div class="searchstax-search-result-title-container">
|
|
47
|
+
<span
|
|
48
|
+
class="searchstax-search-result-title"
|
|
49
|
+
[id]="'title-' + searchResult.uniqueId"
|
|
50
|
+
[innerHTML]="searchResult.title"
|
|
51
|
+
></span>
|
|
52
|
+
</div>
|
|
53
|
+
<p
|
|
54
|
+
*ngIf="searchResult.paths"
|
|
55
|
+
class="searchstax-search-result-common"
|
|
56
|
+
[innerHTML]="searchResult.paths"
|
|
57
|
+
></p>
|
|
58
|
+
<p
|
|
59
|
+
*ngIf="searchResult.description"
|
|
60
|
+
[innerHTML]="searchResult.description"
|
|
61
|
+
class="searchstax-search-result-description searchstax-search-result-common"
|
|
62
|
+
></p>
|
|
63
|
+
<div *ngFor="let unmappedField of searchResult.unmappedFields">
|
|
64
|
+
<div
|
|
65
|
+
*ngIf="isImage(unmappedField)"
|
|
66
|
+
class="searchstax-search-result-image-container"
|
|
67
|
+
>
|
|
68
|
+
<img
|
|
69
|
+
alt=""
|
|
70
|
+
[src]="unmappedField.value"
|
|
71
|
+
class="searchstax-result-image"
|
|
72
|
+
/>
|
|
73
|
+
</div>
|
|
74
|
+
<div *ngIf="!isImage(unmappedField)">
|
|
75
|
+
<p
|
|
76
|
+
class="searchstax-search-result-common"
|
|
77
|
+
[innerHTML]="unmappedField.value"
|
|
78
|
+
></p>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
</a>
|
|
83
|
+
</div>
|
|
84
|
+
</ng-template>
|
|
85
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
86
|
+
}
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResultsTemplateComponent, decorators: [{
|
|
88
|
+
type: Component,
|
|
89
|
+
args: [{
|
|
90
|
+
selector: "app-results-template",
|
|
91
|
+
template: `
|
|
92
|
+
<ng-template
|
|
93
|
+
#resultsTemplate
|
|
94
|
+
let-searchResults="searchResults"
|
|
95
|
+
let-resultClicked="resultClicked"
|
|
96
|
+
let-isImage="isImage"
|
|
97
|
+
let-context="context"
|
|
98
|
+
>
|
|
99
|
+
<div class="searchstax-search-results">
|
|
100
|
+
<a
|
|
101
|
+
*ngFor="let searchResult of searchResults"
|
|
102
|
+
[href]="searchResult.url"
|
|
103
|
+
[attr.data-searchstax-unique-result-id]="searchResult.uniqueId"
|
|
104
|
+
(click)="resultClicked(searchResult, $event, context)"
|
|
105
|
+
(keyup.enter)="resultClicked(searchResult, $event, context)"
|
|
106
|
+
(keyup.space)="resultClicked(searchResult, $event, context)"
|
|
107
|
+
[attr.aria-labelledby]="'title-' + searchResult.uniqueId"
|
|
108
|
+
tabindex="0"
|
|
109
|
+
class="searchstax-result-item-link searchstax-result-item-link-wrapping"
|
|
110
|
+
>
|
|
111
|
+
<div
|
|
112
|
+
class="searchstax-search-result"
|
|
113
|
+
[ngClass]="{ 'has-thumbnail': searchResult.thumbnail }"
|
|
114
|
+
>
|
|
115
|
+
<div
|
|
116
|
+
*ngIf="searchResult.promoted"
|
|
117
|
+
class="searchstax-search-result-promoted"
|
|
118
|
+
></div>
|
|
119
|
+
<div
|
|
120
|
+
*ngIf="searchResult.ribbon"
|
|
121
|
+
[innerHTML]="searchResult.ribbon"
|
|
122
|
+
class="searchstax-search-result-ribbon"
|
|
123
|
+
></div>
|
|
124
|
+
<img
|
|
125
|
+
alt=""
|
|
126
|
+
*ngIf="searchResult.thumbnail"
|
|
127
|
+
[src]="searchResult.thumbnail"
|
|
128
|
+
class="searchstax-thumbnail"
|
|
129
|
+
/>
|
|
130
|
+
<div class="searchstax-search-result-title-container">
|
|
131
|
+
<span
|
|
132
|
+
class="searchstax-search-result-title"
|
|
133
|
+
[id]="'title-' + searchResult.uniqueId"
|
|
134
|
+
[innerHTML]="searchResult.title"
|
|
135
|
+
></span>
|
|
136
|
+
</div>
|
|
137
|
+
<p
|
|
138
|
+
*ngIf="searchResult.paths"
|
|
139
|
+
class="searchstax-search-result-common"
|
|
140
|
+
[innerHTML]="searchResult.paths"
|
|
141
|
+
></p>
|
|
142
|
+
<p
|
|
143
|
+
*ngIf="searchResult.description"
|
|
144
|
+
[innerHTML]="searchResult.description"
|
|
145
|
+
class="searchstax-search-result-description searchstax-search-result-common"
|
|
146
|
+
></p>
|
|
147
|
+
<div *ngFor="let unmappedField of searchResult.unmappedFields">
|
|
148
|
+
<div
|
|
149
|
+
*ngIf="isImage(unmappedField)"
|
|
150
|
+
class="searchstax-search-result-image-container"
|
|
151
|
+
>
|
|
152
|
+
<img
|
|
153
|
+
alt=""
|
|
154
|
+
[src]="unmappedField.value"
|
|
155
|
+
class="searchstax-result-image"
|
|
156
|
+
/>
|
|
157
|
+
</div>
|
|
158
|
+
<div *ngIf="!isImage(unmappedField)">
|
|
159
|
+
<p
|
|
160
|
+
class="searchstax-search-result-common"
|
|
161
|
+
[innerHTML]="unmappedField.value"
|
|
162
|
+
></p>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</a>
|
|
167
|
+
</div>
|
|
168
|
+
</ng-template>
|
|
169
|
+
`,
|
|
170
|
+
}]
|
|
171
|
+
}], propDecorators: { resultsTemplate: [{
|
|
172
|
+
type: ViewChild,
|
|
173
|
+
args: ["resultsTemplate"]
|
|
174
|
+
}] } });
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0cy10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvc2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0cy10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQW9GbEUsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO21HQUF4Qix3QkFBd0IsZ0xBaEZ6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEVUOzs0RkFFVSx3QkFBd0I7a0JBbEZwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEVUO2lCQUNGOzhCQUUrQixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJldXNhYmxlLXRlbXBsYXRlLmNvbXBvbmVudC50c1xuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFwcC1yZXN1bHRzLXRlbXBsYXRlXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAjcmVzdWx0c1RlbXBsYXRlXG4gICAgICBsZXQtc2VhcmNoUmVzdWx0cz1cInNlYXJjaFJlc3VsdHNcIlxuICAgICAgbGV0LXJlc3VsdENsaWNrZWQ9XCJyZXN1bHRDbGlja2VkXCJcbiAgICAgIGxldC1pc0ltYWdlPVwiaXNJbWFnZVwiXG4gICAgICBsZXQtY29udGV4dD1cImNvbnRleHRcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHRzXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHNlYXJjaFJlc3VsdCBvZiBzZWFyY2hSZXN1bHRzXCJcbiAgICAgICAgICBbaHJlZl09XCJzZWFyY2hSZXN1bHQudXJsXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXNlYXJjaHN0YXgtdW5pcXVlLXJlc3VsdC1pZF09XCJzZWFyY2hSZXN1bHQudW5pcXVlSWRcIlxuICAgICAgICAgIChjbGljayk9XCJyZXN1bHRDbGlja2VkKHNlYXJjaFJlc3VsdCwgJGV2ZW50LCBjb250ZXh0KVwiXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cInJlc3VsdENsaWNrZWQoc2VhcmNoUmVzdWx0LCAkZXZlbnQsIGNvbnRleHQpXCJcbiAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwicmVzdWx0Q2xpY2tlZChzZWFyY2hSZXN1bHQsICRldmVudCwgY29udGV4dClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndGl0bGUtJyArIHNlYXJjaFJlc3VsdC51bmlxdWVJZFwiXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtcmVzdWx0LWl0ZW0tbGluayBzZWFyY2hzdGF4LXJlc3VsdC1pdGVtLWxpbmstd3JhcHBpbmdcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaGFzLXRodW1ibmFpbCc6IHNlYXJjaFJlc3VsdC50aHVtYm5haWwgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAqbmdJZj1cInNlYXJjaFJlc3VsdC5wcm9tb3RlZFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LXByb21vdGVkXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWFyY2hSZXN1bHQucmliYm9uXCJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJzZWFyY2hSZXN1bHQucmliYm9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtcmliYm9uXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWFyY2hSZXN1bHQudGh1bWJuYWlsXCJcbiAgICAgICAgICAgICAgW3NyY109XCJzZWFyY2hSZXN1bHQudGh1bWJuYWlsXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXRodW1ibmFpbFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC10aXRsZVwiXG4gICAgICAgICAgICAgICAgW2lkXT1cIid0aXRsZS0nICsgc2VhcmNoUmVzdWx0LnVuaXF1ZUlkXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInNlYXJjaFJlc3VsdC50aXRsZVwiXG4gICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0LnBhdGhzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtY29tbW9uXCJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJzZWFyY2hSZXN1bHQucGF0aHNcIlxuICAgICAgICAgICAgPjwvcD5cbiAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0LmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJzZWFyY2hSZXN1bHQuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1kZXNjcmlwdGlvbiBzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtY29tbW9uXCJcbiAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1bm1hcHBlZEZpZWxkIG9mIHNlYXJjaFJlc3VsdC51bm1hcHBlZEZpZWxkc1wiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc0ltYWdlKHVubWFwcGVkRmllbGQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1pbWFnZS1jb250YWluZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwidW5tYXBwZWRGaWVsZC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtcmVzdWx0LWltYWdlXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc0ltYWdlKHVubWFwcGVkRmllbGQpXCI+XG4gICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LWNvbW1vblwiXG4gICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInVubWFwcGVkRmllbGQudmFsdWVcIlxuICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFJlc3VsdHNUZW1wbGF0ZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoXCJyZXN1bHRzVGVtcGxhdGVcIikgcmVzdWx0c1RlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiJdfQ==
|