@searchstax-inc/searchstudio-ux-angular 1.0.0 → 1.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 +75 -0
- package/esm2022/lib/components/searchstax-results/searchstax-results.component.mjs +66 -0
- package/esm2022/lib/components/searchstax-search-external/searchstax-search-external.component.mjs +40 -0
- package/esm2022/lib/components/searchstax-search-facets/searchstax-search-facets.component.mjs +112 -0
- package/esm2022/lib/components/searchstax-search-overview/searchstax-search-overview.component.mjs +41 -0
- package/esm2022/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.mjs +60 -0
- package/esm2022/lib/components/searchstax-search-related/searchstax-search-related.component.mjs +44 -0
- package/esm2022/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.mjs +45 -0
- package/esm2022/lib/components/searchstax-wrapper.component.mjs +74 -0
- package/esm2022/lib/searchstudio-ux-angular.module.mjs +62 -0
- package/{esm2020 → esm2022}/lib/services/store-service.service.mjs +4 -4
- package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs +602 -0
- package/{fesm2020 → fesm2022}/searchstax-inc-searchstudio-ux-angular.mjs.map +1 -1
- package/lib/components/searchstax-input/searchstax-input.component.d.ts +1 -1
- package/lib/components/searchstax-results/searchstax-results.component.d.ts +1 -1
- package/lib/components/searchstax-search-external/searchstax-search-external.component.d.ts +1 -1
- package/lib/components/searchstax-search-facets/searchstax-search-facets.component.d.ts +1 -1
- package/lib/components/searchstax-search-overview/searchstax-search-overview.component.d.ts +1 -1
- package/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.d.ts +1 -1
- package/lib/components/searchstax-search-related/searchstax-search-related.component.d.ts +1 -1
- package/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.d.ts +1 -1
- package/lib/components/searchstax-wrapper.component.d.ts +1 -1
- package/package.json +9 -15
- package/esm2020/lib/components/searchstax-input/searchstax-input.component.mjs +0 -75
- package/esm2020/lib/components/searchstax-results/searchstax-results.component.mjs +0 -66
- package/esm2020/lib/components/searchstax-search-external/searchstax-search-external.component.mjs +0 -40
- package/esm2020/lib/components/searchstax-search-facets/searchstax-search-facets.component.mjs +0 -112
- package/esm2020/lib/components/searchstax-search-overview/searchstax-search-overview.component.mjs +0 -41
- package/esm2020/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.mjs +0 -60
- package/esm2020/lib/components/searchstax-search-related/searchstax-search-related.component.mjs +0 -44
- package/esm2020/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.mjs +0 -45
- package/esm2020/lib/components/searchstax-wrapper.component.mjs +0 -78
- package/esm2020/lib/searchstudio-ux-angular.module.mjs +0 -62
- package/fesm2015/searchstax-inc-searchstudio-ux-angular.mjs +0 -628
- package/fesm2015/searchstax-inc-searchstudio-ux-angular.mjs.map +0 -1
- package/fesm2020/searchstax-inc-searchstudio-ux-angular.mjs +0 -606
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/searchstax-inc-searchstudio-ux-angular.mjs +0 -0
- /package/{searchstax-inc-searchstudio-ux-angular.d.ts → index.d.ts} +0 -0
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/store-service.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class SearchstaxResultsWidget {
|
|
6
|
-
constructor(storeServiceService) {
|
|
7
|
-
this.storeServiceService = storeServiceService;
|
|
8
|
-
this.searchResults = null;
|
|
9
|
-
this.metadata = null;
|
|
10
|
-
this.searchTerm = '';
|
|
11
|
-
this.context = this;
|
|
12
|
-
}
|
|
13
|
-
get hooks() {
|
|
14
|
-
const hooks = {};
|
|
15
|
-
if (this.afterLinkClick) {
|
|
16
|
-
hooks['afterLinkClick'] = this.afterLinkClick;
|
|
17
|
-
}
|
|
18
|
-
return hooks;
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
if (this.storeServiceService.searchstax) {
|
|
22
|
-
this.attachObservables();
|
|
23
|
-
setTimeout(() => {
|
|
24
|
-
this.storeServiceService.searchstax.addSearchResultsWidget('searchstax-results-container', {
|
|
25
|
-
templates: {},
|
|
26
|
-
hooks: this.hooks,
|
|
27
|
-
});
|
|
28
|
-
}, 0);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
throw Error('Searchstax instance needs to be passed via props');
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
attachObservables() {
|
|
35
|
-
this.storeServiceService.searchstax.dataLayer.$searchResults.subscribe((results) => {
|
|
36
|
-
this.searchResults = results;
|
|
37
|
-
});
|
|
38
|
-
this.storeServiceService.searchstax.dataLayer.$searchTermChange.subscribe((result) => {
|
|
39
|
-
this.searchTerm = result;
|
|
40
|
-
});
|
|
41
|
-
this.storeServiceService.searchstax.dataLayer.$searchResultsMetadata.subscribe((value) => {
|
|
42
|
-
this.metadata = value;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
resultClicked(result, event, context) {
|
|
46
|
-
event.preventDefault();
|
|
47
|
-
event.stopPropagation();
|
|
48
|
-
context.storeServiceService.searchstax.executeLinkClick(result.uniqueId);
|
|
49
|
-
}
|
|
50
|
-
isImage(field) {
|
|
51
|
-
return field.isImage && typeof field.value === 'string';
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
SearchstaxResultsWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxResultsWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
SearchstaxResultsWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SearchstaxResultsWidget, selector: "app-searchstax-results", inputs: { afterLinkClick: "afterLinkClick", noResultsTemplate: "noResultsTemplate", resultsTemplate: "resultsTemplate" }, ngImport: i0, template: "<div id=\"searchstax-results-container\">\n <div class=\"searchstax-search-results-container\">\n <div id=\"searchstax-result-container\">\n <div\n *ngIf=\"\n searchResults && searchResults.length === 0 && !noResultsTemplate\n \"\n >\n <div class=\"searchstax-no-results\">\n Showing <strong>no results</strong> for\n <strong>\"{{ searchTerm }}\"</strong>\n <br />\n <span *ngIf=\"metadata?.spellingSuggestion\"\n > Did you mean\n <a href=\"#\" class=\"searchstax-suggestion-term\">{{\n metadata?.spellingSuggestion\n }}</a\n >?</span\n >\n </div>\n <div>\n <p>\n Try searching for search related terms or topics. We offer a wide\n variety of content to help you get the information you need.\n </p>\n <p>Lost? Click on the \u2018X\u201D in the Search Box to reset your search.</p>\n </div>\n </div>\n <div\n *ngIf=\"searchResults && searchResults.length === 0 && noResultsTemplate\"\n >\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: context\"\n ></ng-container>\n </div>\n\n <div\n class=\"searchstax-search-results\"\n *ngIf=\"searchResults && searchResults.length && !resultsTemplate\"\n >\n <div\n class=\"searchstax-search-result\"\n [ngClass]=\"{ 'has-thumbnail': searchResult.thumbnail }\"\n *ngFor=\"let searchResult of searchResults\"\n >\n <div\n *ngIf=\"searchResult.promoted\"\n class=\"searchstax-search-result-promoted\"\n ></div>\n <a\n *ngIf=\"searchResult.url\"\n [href]=\"searchResult.url\"\n [attr.data-searchstax-unique-result-id]=\"searchResult.uniqueId\"\n (click)=\"resultClicked(searchResult, $event, context)\"\n class=\"searchstax-result-item-link\"\n ></a>\n <div\n *ngIf=\"searchResult.ribbon\"\n class=\"searchstax-search-result-ribbon\"\n >\n {{ searchResult.ribbon }}\n </div>\n <img\n *ngIf=\"searchResult.thumbnail\"\n [src]=\"searchResult.thumbnail\"\n class=\"searchstax-thumbnail\"\n />\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\">{{\n searchResult.title\n }}</span>\n </div>\n <p *ngIf=\"searchResult.paths\" class=\"searchstax-search-result-common\">\n {{ searchResult.paths }}\n </p>\n <p\n *ngIf=\"searchResult.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n {{ searchResult.description }}\n </p>\n <div *ngFor=\"let unmappedField of searchResult.unmappedFields\">\n <div\n *ngIf=\"isImage(unmappedField)\"\n class=\"searchstax-search-result-image-container\"\n >\n <img\n [src]=\"unmappedField.value\"\n class=\"searchstax-result-image\"\n />\n </div>\n <div *ngIf=\"!isImage(unmappedField)\">\n <p class=\"searchstax-search-result-common\">\n {{ unmappedField.value }}\n </p>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"searchResults && searchResults.length && resultsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"resultsTemplate; context: context\"\n ></ng-container>\n </div>\n </div>\n </div>\n</div>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxResultsWidget, decorators: [{
|
|
57
|
-
type: Component,
|
|
58
|
-
args: [{ selector: 'app-searchstax-results', styles: [], template: "<div id=\"searchstax-results-container\">\n <div class=\"searchstax-search-results-container\">\n <div id=\"searchstax-result-container\">\n <div\n *ngIf=\"\n searchResults && searchResults.length === 0 && !noResultsTemplate\n \"\n >\n <div class=\"searchstax-no-results\">\n Showing <strong>no results</strong> for\n <strong>\"{{ searchTerm }}\"</strong>\n <br />\n <span *ngIf=\"metadata?.spellingSuggestion\"\n > Did you mean\n <a href=\"#\" class=\"searchstax-suggestion-term\">{{\n metadata?.spellingSuggestion\n }}</a\n >?</span\n >\n </div>\n <div>\n <p>\n Try searching for search related terms or topics. We offer a wide\n variety of content to help you get the information you need.\n </p>\n <p>Lost? Click on the \u2018X\u201D in the Search Box to reset your search.</p>\n </div>\n </div>\n <div\n *ngIf=\"searchResults && searchResults.length === 0 && noResultsTemplate\"\n >\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: context\"\n ></ng-container>\n </div>\n\n <div\n class=\"searchstax-search-results\"\n *ngIf=\"searchResults && searchResults.length && !resultsTemplate\"\n >\n <div\n class=\"searchstax-search-result\"\n [ngClass]=\"{ 'has-thumbnail': searchResult.thumbnail }\"\n *ngFor=\"let searchResult of searchResults\"\n >\n <div\n *ngIf=\"searchResult.promoted\"\n class=\"searchstax-search-result-promoted\"\n ></div>\n <a\n *ngIf=\"searchResult.url\"\n [href]=\"searchResult.url\"\n [attr.data-searchstax-unique-result-id]=\"searchResult.uniqueId\"\n (click)=\"resultClicked(searchResult, $event, context)\"\n class=\"searchstax-result-item-link\"\n ></a>\n <div\n *ngIf=\"searchResult.ribbon\"\n class=\"searchstax-search-result-ribbon\"\n >\n {{ searchResult.ribbon }}\n </div>\n <img\n *ngIf=\"searchResult.thumbnail\"\n [src]=\"searchResult.thumbnail\"\n class=\"searchstax-thumbnail\"\n />\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\">{{\n searchResult.title\n }}</span>\n </div>\n <p *ngIf=\"searchResult.paths\" class=\"searchstax-search-result-common\">\n {{ searchResult.paths }}\n </p>\n <p\n *ngIf=\"searchResult.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n {{ searchResult.description }}\n </p>\n <div *ngFor=\"let unmappedField of searchResult.unmappedFields\">\n <div\n *ngIf=\"isImage(unmappedField)\"\n class=\"searchstax-search-result-image-container\"\n >\n <img\n [src]=\"unmappedField.value\"\n class=\"searchstax-result-image\"\n />\n </div>\n <div *ngIf=\"!isImage(unmappedField)\">\n <p class=\"searchstax-search-result-common\">\n {{ unmappedField.value }}\n </p>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"searchResults && searchResults.length && resultsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"resultsTemplate; context: context\"\n ></ng-container>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
59
|
-
}], ctorParameters: function () { return [{ type: i1.StoreServiceService }]; }, propDecorators: { afterLinkClick: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], noResultsTemplate: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], resultsTemplate: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7OztBQVl0RSxNQUFNLE9BQU8sdUJBQXVCO0lBcUJsQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWI1RCxrQkFBYSxHQUFxQyxJQUFJLENBQUM7UUFDdkQsYUFBUSxHQUFxQyxJQUFJLENBQUM7UUFDbEQsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixZQUFPLEdBQUcsSUFBSSxDQUFDO0lBVWdELENBQUM7SUFSaEUsSUFBSSxLQUFLO1FBQ1AsTUFBTSxLQUFLLEdBQTBDLEVBQUUsQ0FBQztRQUN4RCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUMvQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUlELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUN4RCw4QkFBOEIsRUFDOUI7b0JBQ0UsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2lCQUNsQixDQUNGLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUNwRSxDQUFDLE9BQXlDLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUMvQixDQUFDLENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FDdkUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMzQixDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FDNUUsQ0FBQyxLQUFnQyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQStCLEVBQUUsS0FBWSxFQUFFLE9BQWE7UUFDeEUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVU7UUFDaEIsT0FBTyxLQUFLLENBQUMsT0FBTyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUE7SUFDekQsQ0FBQzs7b0hBcEVVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHdMQ1pwQyxzd0hBNEdBOzJGRGhHYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usd0JBQXdCLFVBRTFCLEVBQUU7MEdBR0QsY0FBYztzQkFBdEIsS0FBSztnQkFJRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdG9yZS1zZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHQsXG4gIElTZWFyY2hzdGF4U2VhcmNoTWV0YWRhdGEsXG59IGZyb20gJ0BzZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtanMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VhcmNoc3RheC1yZXN1bHRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaHN0YXgtcmVzdWx0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaHN0YXhSZXN1bHRzV2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYWZ0ZXJMaW5rQ2xpY2s/OiAoXG4gICAgcmVzdWx0czogSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHRcbiAgKSA9PiBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdDtcblxuICBASW5wdXQoKSBub1Jlc3VsdHNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIHJlc3VsdHNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgc2VhcmNoUmVzdWx0czogSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHRbXSB8IG51bGwgPSBudWxsO1xuICBtZXRhZGF0YTogSVNlYXJjaHN0YXhTZWFyY2hNZXRhZGF0YSB8IG51bGwgPSBudWxsO1xuICBzZWFyY2hUZXJtID0gJyc7XG4gIGNvbnRleHQgPSB0aGlzO1xuXG4gIGdldCBob29rcygpOiB7IFtrZXk6IHN0cmluZ106IChwcm9wOiBhbnkpID0+IGFueSB9IHtcbiAgICBjb25zdCBob29rczogeyBba2V5OiBzdHJpbmddOiAocHJvcDogYW55KSA9PiBhbnkgfSA9IHt9O1xuICAgIGlmICh0aGlzLmFmdGVyTGlua0NsaWNrKSB7XG4gICAgICBob29rc1snYWZ0ZXJMaW5rQ2xpY2snXSA9IHRoaXMuYWZ0ZXJMaW5rQ2xpY2s7XG4gICAgfVxuICAgIHJldHVybiBob29rcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmVTZXJ2aWNlU2VydmljZTogU3RvcmVTZXJ2aWNlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXgpIHtcbiAgICAgIHRoaXMuYXR0YWNoT2JzZXJ2YWJsZXMoKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFkZFNlYXJjaFJlc3VsdHNXaWRnZXQoXG4gICAgICAgICAgJ3NlYXJjaHN0YXgtcmVzdWx0cy1jb250YWluZXInLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRlbXBsYXRlczoge30sXG4gICAgICAgICAgICBob29rczogdGhpcy5ob29rcyxcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoJ1NlYXJjaHN0YXggaW5zdGFuY2UgbmVlZHMgdG8gYmUgcGFzc2VkIHZpYSBwcm9wcycpO1xuICAgIH1cbiAgfVxuXG4gIGF0dGFjaE9ic2VydmFibGVzKCkge1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kc2VhcmNoUmVzdWx0cy5zdWJzY3JpYmUoXG4gICAgICAocmVzdWx0czogSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHRbXSB8IG51bGwpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzID0gcmVzdWx0cztcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kc2VhcmNoVGVybUNoYW5nZS5zdWJzY3JpYmUoXG4gICAgICAocmVzdWx0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gcmVzdWx0O1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaFJlc3VsdHNNZXRhZGF0YS5zdWJzY3JpYmUoXG4gICAgICAodmFsdWU6IElTZWFyY2hzdGF4U2VhcmNoTWV0YWRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhZGF0YSA9IHZhbHVlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZXN1bHRDbGlja2VkKHJlc3VsdDogSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHQsIGV2ZW50OiBFdmVudCwgY29udGV4dDogdGhpcykge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZXhlY3V0ZUxpbmtDbGljayhyZXN1bHQudW5pcXVlSWQpO1xuICB9XG5cbiAgaXNJbWFnZShmaWVsZDogYW55KXtcbiAgICByZXR1cm4gZmllbGQuaXNJbWFnZSAmJiB0eXBlb2YgZmllbGQudmFsdWUgPT09ICdzdHJpbmcnXG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJzZWFyY2hzdGF4LXJlc3VsdHMtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgaWQ9XCJzZWFyY2hzdGF4LXJlc3VsdC1jb250YWluZXJcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBzZWFyY2hSZXN1bHRzICYmIHNlYXJjaFJlc3VsdHMubGVuZ3RoID09PSAwICYmICFub1Jlc3VsdHNUZW1wbGF0ZVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1uby1yZXN1bHRzXCI+XG4gICAgICAgICAgU2hvd2luZyA8c3Ryb25nPm5vIHJlc3VsdHM8L3N0cm9uZz4gZm9yXG4gICAgICAgICAgPHN0cm9uZz5cInt7IHNlYXJjaFRlcm0gfX1cIjwvc3Ryb25nPlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWV0YWRhdGE/LnNwZWxsaW5nU3VnZ2VzdGlvblwiXG4gICAgICAgICAgICA+Jm5ic3A7RGlkIHlvdSBtZWFuXG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic2VhcmNoc3RheC1zdWdnZXN0aW9uLXRlcm1cIj57e1xuICAgICAgICAgICAgICBtZXRhZGF0YT8uc3BlbGxpbmdTdWdnZXN0aW9uXG4gICAgICAgICAgICB9fTwvYVxuICAgICAgICAgICAgPj88L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgVHJ5IHNlYXJjaGluZyBmb3Igc2VhcmNoIHJlbGF0ZWQgdGVybXMgb3IgdG9waWNzLiBXZSBvZmZlciBhIHdpZGVcbiAgICAgICAgICAgIHZhcmlldHkgb2YgY29udGVudCB0byBoZWxwIHlvdSBnZXQgdGhlIGluZm9ybWF0aW9uIHlvdSBuZWVkLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cD5Mb3N0PyBDbGljayBvbiB0aGUg4oCYWOKAnSBpbiB0aGUgU2VhcmNoIEJveCB0byByZXNldCB5b3VyIHNlYXJjaC48L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0cyAmJiBzZWFyY2hSZXN1bHRzLmxlbmd0aCA9PT0gMCAmJiBub1Jlc3VsdHNUZW1wbGF0ZVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vUmVzdWx0c1RlbXBsYXRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHRzXCJcbiAgICAgICAgKm5nSWY9XCJzZWFyY2hSZXN1bHRzICYmIHNlYXJjaFJlc3VsdHMubGVuZ3RoICYmICFyZXN1bHRzVGVtcGxhdGVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy10aHVtYm5haWwnOiBzZWFyY2hSZXN1bHQudGh1bWJuYWlsIH1cIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWFyY2hSZXN1bHQgb2Ygc2VhcmNoUmVzdWx0c1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInNlYXJjaFJlc3VsdC5wcm9tb3RlZFwiXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1wcm9tb3RlZFwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICAqbmdJZj1cInNlYXJjaFJlc3VsdC51cmxcIlxuICAgICAgICAgICAgW2hyZWZdPVwic2VhcmNoUmVzdWx0LnVybFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNlYXJjaHN0YXgtdW5pcXVlLXJlc3VsdC1pZF09XCJzZWFyY2hSZXN1bHQudW5pcXVlSWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlc3VsdENsaWNrZWQoc2VhcmNoUmVzdWx0LCAkZXZlbnQsIGNvbnRleHQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1yZXN1bHQtaXRlbS1saW5rXCJcbiAgICAgICAgICA+PC9hPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0LnJpYmJvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1yaWJib25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHNlYXJjaFJlc3VsdC5yaWJib24gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAqbmdJZj1cInNlYXJjaFJlc3VsdC50aHVtYm5haWxcIlxuICAgICAgICAgICAgW3NyY109XCJzZWFyY2hSZXN1bHQudGh1bWJuYWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC10aHVtYm5haWxcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LXRpdGxlXCI+e3tcbiAgICAgICAgICAgICAgc2VhcmNoUmVzdWx0LnRpdGxlXG4gICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cCAqbmdJZj1cInNlYXJjaFJlc3VsdC5wYXRoc1wiIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LWNvbW1vblwiPlxuICAgICAgICAgICAge3sgc2VhcmNoUmVzdWx0LnBhdGhzIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwXG4gICAgICAgICAgICAqbmdJZj1cInNlYXJjaFJlc3VsdC5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1kZXNjcmlwdGlvbiBzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtY29tbW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBzZWFyY2hSZXN1bHQuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdW5tYXBwZWRGaWVsZCBvZiBzZWFyY2hSZXN1bHQudW5tYXBwZWRGaWVsZHNcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc0ltYWdlKHVubWFwcGVkRmllbGQpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtaW1hZ2UtY29udGFpbmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIFtzcmNdPVwidW5tYXBwZWRGaWVsZC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXJlc3VsdC1pbWFnZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNJbWFnZSh1bm1hcHBlZEZpZWxkKVwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1jb21tb25cIj5cbiAgICAgICAgICAgICAgICB7eyB1bm1hcHBlZEZpZWxkLnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwic2VhcmNoUmVzdWx0cyAmJiBzZWFyY2hSZXN1bHRzLmxlbmd0aCAmJiByZXN1bHRzVGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVzdWx0c1RlbXBsYXRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
package/esm2020/lib/components/searchstax-search-external/searchstax-search-external.component.mjs
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/store-service.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class SearchstaxSearchExternalPromotionsWidget {
|
|
6
|
-
constructor(storeServiceService) {
|
|
7
|
-
this.storeServiceService = storeServiceService;
|
|
8
|
-
this.externalPromotionsData = null;
|
|
9
|
-
this.rand = Math.random();
|
|
10
|
-
this.context = this;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
if (this.storeServiceService.searchstax) {
|
|
14
|
-
this.attachObservables();
|
|
15
|
-
setTimeout(() => {
|
|
16
|
-
this.storeServiceService.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container" + this.rand, {});
|
|
17
|
-
}, 0);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
throw Error("Searchstax instance needs to be passed via props");
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
trackClick(externalPromotion, event, context) {
|
|
24
|
-
context.storeServiceService.searchstax.externalPromotionsWidget?.trackClick(externalPromotion, event);
|
|
25
|
-
}
|
|
26
|
-
attachObservables() {
|
|
27
|
-
this.storeServiceService.searchstax.dataLayer.$searchExternalPromotionsData.subscribe((externalPromotionsData) => {
|
|
28
|
-
this.externalPromotionsData = externalPromotionsData;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
SearchstaxSearchExternalPromotionsWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxSearchExternalPromotionsWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
SearchstaxSearchExternalPromotionsWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SearchstaxSearchExternalPromotionsWidget, selector: "app-searchstax-external-promotions", inputs: { templateOverride: "templateOverride" }, ngImport: i0, template: "<div [id]=\"'searchstax-external-promotions-layout-container' + rand\">\n <div\n class=\"searchstax-external-promotions-container\"\n id=\"searchstax-external-promotions-container\"\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n !templateOverride\n \"\n >\n <div\n class=\"searchstax-external-promotion searchstax-search-result\"\n *ngFor=\"let externalPromotion of externalPromotionsData.externalPromotions\"\n >\n <div class=\"icon-elevated\"></div>\n <a\n *ngIf=\"externalPromotion.url\"\n [href]=\"externalPromotion.url\"\n (click)=\"trackClick(externalPromotion, $event, context)\"\n class=\"searchstax-result-item-link\"\n ></a>\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\">{{ externalPromotion.name }}</span>\n </div>\n <p\n *ngIf=\"externalPromotion.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n {{ externalPromotion.description }}\n </p>\n <p *ngIf=\"externalPromotion.url\" class=\"searchstax-search-result-description searchstax-search-result-common\">\n {{ externalPromotion.url }}\n </p>\n </div>\n </div>\n <div\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n templateOverride\n \"\n >\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n </div>\n</div>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxSearchExternalPromotionsWidget, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ selector: "app-searchstax-external-promotions", styles: [], template: "<div [id]=\"'searchstax-external-promotions-layout-container' + rand\">\n <div\n class=\"searchstax-external-promotions-container\"\n id=\"searchstax-external-promotions-container\"\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n !templateOverride\n \"\n >\n <div\n class=\"searchstax-external-promotion searchstax-search-result\"\n *ngFor=\"let externalPromotion of externalPromotionsData.externalPromotions\"\n >\n <div class=\"icon-elevated\"></div>\n <a\n *ngIf=\"externalPromotion.url\"\n [href]=\"externalPromotion.url\"\n (click)=\"trackClick(externalPromotion, $event, context)\"\n class=\"searchstax-result-item-link\"\n ></a>\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\">{{ externalPromotion.name }}</span>\n </div>\n <p\n *ngIf=\"externalPromotion.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n {{ externalPromotion.description }}\n </p>\n <p *ngIf=\"externalPromotion.url\" class=\"searchstax-search-result-description searchstax-search-result-common\">\n {{ externalPromotion.url }}\n </p>\n </div>\n </div>\n <div\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n templateOverride\n \"\n >\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n </div>\n</div>\n" }]
|
|
37
|
-
}], ctorParameters: function () { return [{ type: i1.StoreServiceService }]; }, propDecorators: { templateOverride: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZXh0ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1leHRlcm5hbC9zZWFyY2hzdGF4LXNlYXJjaC1leHRlcm5hbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUIsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdEUsTUFBTSxPQUFPLHdDQUF3QztJQU1uRCxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUg1RCwyQkFBc0IsR0FBNkMsSUFBSSxDQUFDO1FBQ3hFLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFHLElBQUksQ0FBQztJQUNnRCxDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUM3RCxpREFBaUQsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUM3RCxFQUFFLENBQ0gsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNQO2FBQU07WUFDTCxNQUFNLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxpQkFBcUMsRUFBRSxLQUFZLEVBQUUsT0FBYTtRQUMzRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsU0FBUyxDQUNuRixDQUFDLHNCQUFnRSxFQUFFLEVBQUU7WUFDbkUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQ3ZELENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7cUlBaENVLHdDQUF3Qzt5SEFBeEMsd0NBQXdDLDRIQ1RyRCx1cURBK0NBOzJGRHRDYSx3Q0FBd0M7a0JBTHBELFNBQVM7K0JBQ0Usb0NBQW9DLFVBRXRDLEVBQUU7MEdBR0QsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJRXh0ZXJuYWxQcm9tb3Rpb24sIElTZWFyY2hzdGF4RXh0ZXJuYWxQcm9tb3Rpb25zRGF0YSB9IGZyb20gXCJAc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWpzXCI7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLXNlYXJjaHN0YXgtZXh0ZXJuYWwtcHJvbW90aW9uc1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaHN0YXhTZWFyY2hFeHRlcm5hbFByb21vdGlvbnNXaWRnZXQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0ZW1wbGF0ZU92ZXJyaWRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBleHRlcm5hbFByb21vdGlvbnNEYXRhOiBudWxsIHwgSVNlYXJjaHN0YXhFeHRlcm5hbFByb21vdGlvbnNEYXRhID0gbnVsbDtcbiAgcmFuZCA9IE1hdGgucmFuZG9tKCk7XG4gIGNvbnRleHQgPSB0aGlzO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguYWRkRXh0ZXJuYWxQcm9tb3Rpb25zV2lkZ2V0KFxuICAgICAgICAgIFwic2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb25zLWxheW91dC1jb250YWluZXJcIiArIHRoaXMucmFuZCxcbiAgICAgICAgICB7fVxuICAgICAgICApO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzXCIpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQ2xpY2soZXh0ZXJuYWxQcm9tb3Rpb246IElFeHRlcm5hbFByb21vdGlvbiwgZXZlbnQ6IEV2ZW50LCBjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZXh0ZXJuYWxQcm9tb3Rpb25zV2lkZ2V0Py50cmFja0NsaWNrKGV4dGVybmFsUHJvbW90aW9uLCBldmVudCk7XG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaEV4dGVybmFsUHJvbW90aW9uc0RhdGEuc3Vic2NyaWJlKFxuICAgICAgKGV4dGVybmFsUHJvbW90aW9uc0RhdGE6IG51bGwgfCBJU2VhcmNoc3RheEV4dGVybmFsUHJvbW90aW9uc0RhdGEpID0+IHtcbiAgICAgICAgdGhpcy5leHRlcm5hbFByb21vdGlvbnNEYXRhID0gZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IFtpZF09XCInc2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb25zLWxheW91dC1jb250YWluZXInICsgcmFuZFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzZWFyY2hzdGF4LWV4dGVybmFsLXByb21vdGlvbnMtY29udGFpbmVyXCJcbiAgICBpZD1cInNlYXJjaHN0YXgtZXh0ZXJuYWwtcHJvbW90aW9ucy1jb250YWluZXJcIlxuICAgICpuZ0lmPVwiXG4gICAgICBleHRlcm5hbFByb21vdGlvbnNEYXRhICYmXG4gICAgICBleHRlcm5hbFByb21vdGlvbnNEYXRhPy5zZWFyY2hFeGVjdXRlZCAmJlxuICAgICAgZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YT8uaGFzRXh0ZXJuYWxQcm9tb3Rpb25zICYmXG4gICAgICAhdGVtcGxhdGVPdmVycmlkZVxuICAgIFwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZXh0ZXJuYWwtcHJvbW90aW9uIHNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdFwiXG4gICAgICAqbmdGb3I9XCJsZXQgZXh0ZXJuYWxQcm9tb3Rpb24gb2YgZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YS5leHRlcm5hbFByb21vdGlvbnNcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWVsZXZhdGVkXCI+PC9kaXY+XG4gICAgICA8YVxuICAgICAgICAqbmdJZj1cImV4dGVybmFsUHJvbW90aW9uLnVybFwiXG4gICAgICAgIFtocmVmXT1cImV4dGVybmFsUHJvbW90aW9uLnVybFwiXG4gICAgICAgIChjbGljayk9XCJ0cmFja0NsaWNrKGV4dGVybmFsUHJvbW90aW9uLCAkZXZlbnQsIGNvbnRleHQpXCJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXJlc3VsdC1pdGVtLWxpbmtcIlxuICAgICAgPjwvYT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtdGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LXRpdGxlXCI+e3sgZXh0ZXJuYWxQcm9tb3Rpb24ubmFtZSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHBcbiAgICAgICAgKm5nSWY9XCJleHRlcm5hbFByb21vdGlvbi5kZXNjcmlwdGlvblwiXG4gICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LWRlc2NyaXB0aW9uIHNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1jb21tb25cIlxuICAgICAgPlxuICAgICAgICB7eyBleHRlcm5hbFByb21vdGlvbi5kZXNjcmlwdGlvbiB9fVxuICAgICAgPC9wPlxuICAgICAgPHAgKm5nSWY9XCJleHRlcm5hbFByb21vdGlvbi51cmxcIiBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1kZXNjcmlwdGlvbiBzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtY29tbW9uXCI+XG4gICAgICAgIHt7IGV4dGVybmFsUHJvbW90aW9uLnVybCB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICBleHRlcm5hbFByb21vdGlvbnNEYXRhICYmXG4gICAgICBleHRlcm5hbFByb21vdGlvbnNEYXRhPy5zZWFyY2hFeGVjdXRlZCAmJlxuICAgICAgZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YT8uaGFzRXh0ZXJuYWxQcm9tb3Rpb25zICYmXG4gICAgICB0ZW1wbGF0ZU92ZXJyaWRlXG4gICAgXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZU92ZXJyaWRlOyBjb250ZXh0OiBjb250ZXh0XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
package/esm2020/lib/components/searchstax-search-facets/searchstax-search-facets.component.mjs
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/store-service.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class SearchstaxSearchFacetsWidget {
|
|
6
|
-
// @ViewChildren("facetContainers") facetContainers: QueryList<ElementRef>;
|
|
7
|
-
constructor(storeServiceService) {
|
|
8
|
-
this.storeServiceService = storeServiceService;
|
|
9
|
-
this.facetsTemplateDataDesktop = null;
|
|
10
|
-
this.facetsTemplateDataMobile = null;
|
|
11
|
-
this.context = this;
|
|
12
|
-
this.selectedFacetsCheckboxes = [];
|
|
13
|
-
this.selectedFacetsRange = [];
|
|
14
|
-
this.rand = Math.random();
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
if (this.storeServiceService.searchstax) {
|
|
18
|
-
this.attachObservables();
|
|
19
|
-
setTimeout(() => {
|
|
20
|
-
this.addWidget();
|
|
21
|
-
}, 0);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
throw Error("Searchstax instance needs to be passed via props");
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
addWidget() {
|
|
28
|
-
this.storeServiceService.searchstax.addFacetsWidget('searchstax-facets-container' + this.rand, {
|
|
29
|
-
facetingType: this.facetingType,
|
|
30
|
-
specificFacets: this.specificFacets,
|
|
31
|
-
itemsPerPageDesktop: this.itemsPerPageDesktop,
|
|
32
|
-
itemsPerPageMobile: this.itemsPerPageMobile
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
attachObservables() {
|
|
36
|
-
this.storeServiceService.searchstax.dataLayer.$facetsTemplateData.subscribe((data) => {
|
|
37
|
-
if (data?.isMobile) {
|
|
38
|
-
this.facetsTemplateDataMobile = data;
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
this.facetsTemplateDataDesktop = data;
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
this.storeServiceService.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe((data) => {
|
|
45
|
-
const da = data ?? [];
|
|
46
|
-
this.selectedFacetsCheckboxes = da.filter((d) => d.type === 'checkbox');
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
unselectFacet(facet, context) {
|
|
50
|
-
context.storeServiceService.searchstax.searchFacetsWidget?.unselectFacet(facet);
|
|
51
|
-
}
|
|
52
|
-
unselectAll(context) {
|
|
53
|
-
context.storeServiceService.searchstax.searchFacetsWidget?.removeSelectedFacets();
|
|
54
|
-
}
|
|
55
|
-
isNotDeactivated(name, context) {
|
|
56
|
-
return !context.storeServiceService.searchstax.searchFacetsWidget?.deactivatedFacets[name];
|
|
57
|
-
}
|
|
58
|
-
toggleFacetGroup(name, context) {
|
|
59
|
-
if (context.storeServiceService.searchstax.searchFacetsWidget)
|
|
60
|
-
if (this.isNotDeactivated(name, context)) {
|
|
61
|
-
context.storeServiceService.searchstax.searchFacetsWidget.deactivatedFacets[name] = true;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
context.storeServiceService.searchstax.searchFacetsWidget.deactivatedFacets[name] = false;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
isChecked(facetValue, context) {
|
|
68
|
-
return context.storeServiceService.searchstax.searchFacetsWidget?.isChecked(facetValue);
|
|
69
|
-
}
|
|
70
|
-
selectFacet(el, event, data, isInput, context) {
|
|
71
|
-
const wrapperDiv = document.createElement('div');
|
|
72
|
-
wrapperDiv.innerHTML = el.outerHTML;
|
|
73
|
-
context.storeServiceService.searchstax.searchFacetsWidget?.onFacetSelect(event, data, el, isInput);
|
|
74
|
-
}
|
|
75
|
-
showMoreLessDesktop(e, data, context) {
|
|
76
|
-
context.storeServiceService.searchstax.searchFacetsWidget?.onShowMoreLessClick(e, data, false);
|
|
77
|
-
}
|
|
78
|
-
showMoreLessMobile(e, data, context) {
|
|
79
|
-
context.storeServiceService.searchstax.searchFacetsWidget?.onShowMoreLessClick(e, data, true);
|
|
80
|
-
}
|
|
81
|
-
openOverlay(context) {
|
|
82
|
-
context.storeServiceService.searchstax.searchFacetsWidget?.openOverlay();
|
|
83
|
-
}
|
|
84
|
-
closeOverlay(context) {
|
|
85
|
-
context.storeServiceService.searchstax.searchFacetsWidget?.closeOverlay();
|
|
86
|
-
}
|
|
87
|
-
facetValues(facet) {
|
|
88
|
-
return facet.values;
|
|
89
|
-
}
|
|
90
|
-
facetMobileData(facet) {
|
|
91
|
-
return facet;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
SearchstaxSearchFacetsWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxSearchFacetsWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
-
SearchstaxSearchFacetsWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SearchstaxSearchFacetsWidget, selector: "app-searchstax-search-facets", inputs: { templateOverrideMobile: "templateOverrideMobile", templateOverrideDesktop: "templateOverrideDesktop", facetingType: "facetingType", itemsPerPageDesktop: "itemsPerPageDesktop", itemsPerPageMobile: "itemsPerPageMobile", specificFacets: "specificFacets" }, ngImport: i0, template: "<div [id]=\"'searchstax-facets-container' + rand\">\n <div\n *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && !templateOverrideDesktop\"\n class=\"searchstax-facets-container-desktop\"\n >\n <div\n class=\"searchstax-facet-container\"\n *ngFor=\"let facet of facetsTemplateDataDesktop?.facets\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div class=\"searchstax-facet-value-label\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n {{ facetValue.value }}\n </div>\n <div class=\"searchstax-facet-value-count\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessDesktop($event, facet, context)\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && templateOverrideDesktop\">\n <ng-container *ngTemplateOutlet=\"templateOverrideDesktop; context: context\"></ng-container>\n </div>\n\n <div\n class=\"searchstax-facets-container-mobile\"\n *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && !templateOverrideMobile\"\n >\n <div class=\"searchstax-facets-pills-container\">\n <div class=\"searchstax-facets-pill searchstax-facets-pill-filter-by\" (click)=\"openOverlay(context)\">\n <div class=\"searchstax-facets-pill-label\">Filter By</div>\n </div>\n <div class=\"searchstax-facets-pills-selected\">\n <div\n class=\"searchstax-facets-pill searchstax-facets-pill-facets\"\n *ngFor=\"let facet of selectedFacetsCheckboxes\"\n (click)=\"unselectFacet(facet, context)\"\n >\n <div class=\"searchstax-facets-pill-label\">{{ facet.value }} ({{ facet.count }})</div>\n <div class=\"searchstax-facets-pill-icon-close\"></div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all\"\n *ngIf=\"selectedFacetsCheckboxes.length\"\n (click)=\"unselectAll(context)\"\n >\n <div class=\"searchstax-facets-pill-label\">Clear Filters</div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-mobile-overlay\"\n [class]=\"{ 'searchstax-show': facetMobileData(facetsTemplateDataMobile)?.overlayOpened }\"\n >\n <div class=\"searchstax-facets-mobile-overlay-header\">\n <div class=\"searchstax-facets-mobile-overlay-header-title\">Filter By</div>\n <div class=\"searchstax-search-close\" (click)=\"closeOverlay(context)\"></div>\n </div>\n <div class=\"searchstax-facets-container-mobile\">\n <div\n *ngFor=\"let facet of facetsTemplateDataMobile?.facets\"\n class=\"searchstax-facet-container\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div\n class=\"searchstax-facet-value-label\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n {{ facetValue.value }}\n </div>\n <div\n class=\"searchstax-facet-value-count\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessDesktop($event, facet, context)\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <button class=\"searchstax-facets-mobile-overlay-done\" (click)=\"closeOverlay(context)\">Done</button>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && templateOverrideMobile\">\n <ng-container *ngTemplateOutlet=\"templateOverrideMobile; context: context\"></ng-container>\n </div>\n</div>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxSearchFacetsWidget, decorators: [{
|
|
97
|
-
type: Component,
|
|
98
|
-
args: [{ selector: "app-searchstax-search-facets", styles: [], template: "<div [id]=\"'searchstax-facets-container' + rand\">\n <div\n *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && !templateOverrideDesktop\"\n class=\"searchstax-facets-container-desktop\"\n >\n <div\n class=\"searchstax-facet-container\"\n *ngFor=\"let facet of facetsTemplateDataDesktop?.facets\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div class=\"searchstax-facet-value-label\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n {{ facetValue.value }}\n </div>\n <div class=\"searchstax-facet-value-count\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessDesktop($event, facet, context)\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && templateOverrideDesktop\">\n <ng-container *ngTemplateOutlet=\"templateOverrideDesktop; context: context\"></ng-container>\n </div>\n\n <div\n class=\"searchstax-facets-container-mobile\"\n *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && !templateOverrideMobile\"\n >\n <div class=\"searchstax-facets-pills-container\">\n <div class=\"searchstax-facets-pill searchstax-facets-pill-filter-by\" (click)=\"openOverlay(context)\">\n <div class=\"searchstax-facets-pill-label\">Filter By</div>\n </div>\n <div class=\"searchstax-facets-pills-selected\">\n <div\n class=\"searchstax-facets-pill searchstax-facets-pill-facets\"\n *ngFor=\"let facet of selectedFacetsCheckboxes\"\n (click)=\"unselectFacet(facet, context)\"\n >\n <div class=\"searchstax-facets-pill-label\">{{ facet.value }} ({{ facet.count }})</div>\n <div class=\"searchstax-facets-pill-icon-close\"></div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all\"\n *ngIf=\"selectedFacetsCheckboxes.length\"\n (click)=\"unselectAll(context)\"\n >\n <div class=\"searchstax-facets-pill-label\">Clear Filters</div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-mobile-overlay\"\n [class]=\"{ 'searchstax-show': facetMobileData(facetsTemplateDataMobile)?.overlayOpened }\"\n >\n <div class=\"searchstax-facets-mobile-overlay-header\">\n <div class=\"searchstax-facets-mobile-overlay-header-title\">Filter By</div>\n <div class=\"searchstax-search-close\" (click)=\"closeOverlay(context)\"></div>\n </div>\n <div class=\"searchstax-facets-container-mobile\">\n <div\n *ngFor=\"let facet of facetsTemplateDataMobile?.facets\"\n class=\"searchstax-facet-container\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div\n class=\"searchstax-facet-value-label\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n {{ facetValue.value }}\n </div>\n <div\n class=\"searchstax-facet-value-count\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessDesktop($event, facet, context)\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <button class=\"searchstax-facets-mobile-overlay-done\" (click)=\"closeOverlay(context)\">Done</button>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && templateOverrideMobile\">\n <ng-container *ngTemplateOutlet=\"templateOverrideMobile; context: context\"></ng-container>\n </div>\n</div>\n" }]
|
|
99
|
-
}], ctorParameters: function () { return [{ type: i1.StoreServiceService }]; }, propDecorators: { templateOverrideMobile: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], templateOverrideDesktop: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}], facetingType: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], itemsPerPageDesktop: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], itemsPerPageMobile: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], specificFacets: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}] } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHMvc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHMvc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUEyRCxNQUFNLGVBQWUsQ0FBQzs7OztBQVN0SCxNQUFNLE9BQU8sNEJBQTRCO0lBZXZDLDJFQUEyRTtJQUMzRSxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQVI1RCw4QkFBeUIsR0FBK0IsSUFBSSxDQUFDO1FBQzdELDZCQUF3QixHQUErQixJQUFJLENBQUM7UUFDNUQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLDZCQUF3QixHQUFrQixFQUFFLENBQUM7UUFDN0Msd0JBQW1CLEdBQXVCLEVBQUUsQ0FBQztRQUM3QyxTQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRzBDLENBQUM7SUFFaEUsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRTtZQUN2QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRTtZQUM3RixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7WUFDN0Msa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUM1QyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUN6RSxDQUFDLElBQWdDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7YUFFdEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQzthQUN2QztRQUNILENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUNqRixDQUFDLElBQStDLEVBQUUsRUFBRTtZQUNsRCxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBa0IsQ0FBQztRQUMzRixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFHRCxhQUFhLENBQUMsS0FBa0IsRUFBRSxPQUFhO1FBQzdDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2pGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBYTtRQUN2QixPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLENBQUE7SUFDbkYsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVksRUFBRSxPQUFhO1FBQzFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsT0FBYTtRQUMxQyxJQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsa0JBQWtCO1lBQzVELElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDeEMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUE7YUFDekY7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUE7YUFDMUY7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQTJCLEVBQUUsT0FBYTtRQUNsRCxPQUFPLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3pGLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBa0IsRUFBRSxLQUFZLEVBQUUsSUFBcUIsRUFBRSxPQUFnQixFQUFFLE9BQWE7UUFDbEcsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDcEMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFFcEcsQ0FBQztJQUVELG1CQUFtQixDQUFDLENBQVEsRUFBRSxJQUFnQixFQUFFLE9BQWE7UUFDM0QsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ2hHLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxDQUFRLEVBQUUsSUFBZ0IsRUFBRSxPQUFhO1FBQzFELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMvRixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQWE7UUFDdkIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWE7UUFDeEIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLE9BQU8sS0FBSyxDQUFDLE1BQTJCLENBQUM7SUFDM0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFpQztRQUMvQyxPQUFPLEtBQVksQ0FBQTtJQUNyQixDQUFDOzt5SEFqSFUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsNFVDVHpDLG93T0FtS0E7MkZEMUphLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSw4QkFBOEIsVUFFaEMsRUFBRTswR0FHRCxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJRmFjZXREYXRhLCBJRmFjZXRWYWx1ZSwgSUZhY2V0VmFsdWVEYXRhLCBJRmFjZXRWYWx1ZVJhbmdlLCBJRmFjZXRzVGVtcGxhdGVEYXRhLCBJUGFnaW5hdGlvbkRhdGEsIElTZWFyY2hPYmplY3QgfSBmcm9tIFwiQHNlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1qc1wiO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zdG9yZS1zZXJ2aWNlLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFwcC1zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHNcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHMuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheFNlYXJjaEZhY2V0c1dpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHRlbXBsYXRlT3ZlcnJpZGVNb2JpbGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSB0ZW1wbGF0ZU92ZXJyaWRlRGVza3RvcD86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGZhY2V0aW5nVHlwZSE6IFwiYW5kXCIgfCBcIm9yXCIgfCBcInNob3dVbmF2YWlsYWJsZVwiIHwgXCJ0YWJzXCI7XG4gIEBJbnB1dCgpIGl0ZW1zUGVyUGFnZURlc2t0b3AhOiBudW1iZXI7XG4gIEBJbnB1dCgpIGl0ZW1zUGVyUGFnZU1vYmlsZSE6IG51bWJlcjtcbiAgQElucHV0KCkgc3BlY2lmaWNGYWNldHMhOiBzdHJpbmdbXTtcblxuICBmYWNldHNUZW1wbGF0ZURhdGFEZXNrdG9wOiBudWxsIHwgSUZhY2V0c1RlbXBsYXRlRGF0YSA9IG51bGw7XG4gIGZhY2V0c1RlbXBsYXRlRGF0YU1vYmlsZTogbnVsbCB8IElGYWNldHNUZW1wbGF0ZURhdGEgPSBudWxsO1xuICBjb250ZXh0ID0gdGhpcztcbiAgc2VsZWN0ZWRGYWNldHNDaGVja2JveGVzOiBJRmFjZXRWYWx1ZVtdID0gW107XG4gIHNlbGVjdGVkRmFjZXRzUmFuZ2U6IElGYWNldFZhbHVlUmFuZ2VbXSA9IFtdO1xuICByYW5kID0gTWF0aC5yYW5kb20oKTtcblxuICAvLyBAVmlld0NoaWxkcmVuKFwiZmFjZXRDb250YWluZXJzXCIpIGZhY2V0Q29udGFpbmVyczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5hZGRXaWRnZXQoKTtcbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihcIlNlYXJjaHN0YXggaW5zdGFuY2UgbmVlZHMgdG8gYmUgcGFzc2VkIHZpYSBwcm9wc1wiKTtcbiAgICB9XG4gIH1cblxuICBhZGRXaWRnZXQoKSB7XG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguYWRkRmFjZXRzV2lkZ2V0KCdzZWFyY2hzdGF4LWZhY2V0cy1jb250YWluZXInICsgdGhpcy5yYW5kLCB7XG4gICAgICBmYWNldGluZ1R5cGU6IHRoaXMuZmFjZXRpbmdUeXBlLFxuICAgICAgc3BlY2lmaWNGYWNldHM6IHRoaXMuc3BlY2lmaWNGYWNldHMsXG4gICAgICBpdGVtc1BlclBhZ2VEZXNrdG9wOiB0aGlzLml0ZW1zUGVyUGFnZURlc2t0b3AsXG4gICAgICBpdGVtc1BlclBhZ2VNb2JpbGU6IHRoaXMuaXRlbXNQZXJQYWdlTW9iaWxlXG4gICAgfSlcbiAgfVxuXG4gIGF0dGFjaE9ic2VydmFibGVzKCkge1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kZmFjZXRzVGVtcGxhdGVEYXRhLnN1YnNjcmliZShcbiAgICAgIChkYXRhOiBudWxsIHwgSUZhY2V0c1RlbXBsYXRlRGF0YSkgPT4ge1xuICAgICAgICBpZiAoZGF0YT8uaXNNb2JpbGUpIHtcbiAgICAgICAgICB0aGlzLmZhY2V0c1RlbXBsYXRlRGF0YU1vYmlsZSA9IGRhdGE7XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmZhY2V0c1RlbXBsYXRlRGF0YURlc2t0b3AgPSBkYXRhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kc2VsZWN0ZWRGYWNldHNUZW1wbGF0ZURhdGEuc3Vic2NyaWJlKFxuICAgICAgKGRhdGE6IG51bGwgfCAoSUZhY2V0VmFsdWUgfCBJRmFjZXRWYWx1ZVJhbmdlKVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhID0gZGF0YSA/PyBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZhY2V0c0NoZWNrYm94ZXMgPSBkYS5maWx0ZXIoKGQpID0+IGQudHlwZSA9PT0gJ2NoZWNrYm94JykgYXMgSUZhY2V0VmFsdWVbXTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cblxuICB1bnNlbGVjdEZhY2V0KGZhY2V0OiBJRmFjZXRWYWx1ZSwgY29udGV4dDogdGhpcykge1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8udW5zZWxlY3RGYWNldChmYWNldClcbiAgfVxuXG4gIHVuc2VsZWN0QWxsKGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQ/LnJlbW92ZVNlbGVjdGVkRmFjZXRzKClcbiAgfVxuXG4gIGlzTm90RGVhY3RpdmF0ZWQobmFtZTogc3RyaW5nLCBjb250ZXh0OiB0aGlzKSB7XG4gICAgcmV0dXJuICFjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQ/LmRlYWN0aXZhdGVkRmFjZXRzW25hbWVdXG4gIH1cblxuICB0b2dnbGVGYWNldEdyb3VwKG5hbWU6IHN0cmluZywgY29udGV4dDogdGhpcykge1xuICAgIGlmKGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldClcbiAgICBpZiAodGhpcy5pc05vdERlYWN0aXZhdGVkKG5hbWUsIGNvbnRleHQpKSB7XG4gICAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQuZGVhY3RpdmF0ZWRGYWNldHNbbmFtZV0gPSB0cnVlXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldC5kZWFjdGl2YXRlZEZhY2V0c1tuYW1lXSA9IGZhbHNlXG4gICAgfVxuICB9XG5cbiAgaXNDaGVja2VkKGZhY2V0VmFsdWU6IElGYWNldFZhbHVlRGF0YSwgY29udGV4dDogdGhpcykge1xuICAgIHJldHVybiBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQ/LmlzQ2hlY2tlZChmYWNldFZhbHVlKVxuICB9XG5cbiAgc2VsZWN0RmFjZXQoZWw6IEhUTUxEaXZFbGVtZW50LCBldmVudDogRXZlbnQsIGRhdGE6IElGYWNldFZhbHVlRGF0YSwgaXNJbnB1dDogYm9vbGVhbiwgY29udGV4dDogdGhpcykge1xuICAgIGNvbnN0IHdyYXBwZXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB3cmFwcGVyRGl2LmlubmVySFRNTCA9IGVsLm91dGVySFRNTDtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQ/Lm9uRmFjZXRTZWxlY3QoZXZlbnQsIGRhdGEsIGVsLCBpc0lucHV0KVxuXG4gIH1cblxuICBzaG93TW9yZUxlc3NEZXNrdG9wKGU6IEV2ZW50LCBkYXRhOiBJRmFjZXREYXRhLCBjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5vblNob3dNb3JlTGVzc0NsaWNrKGUsIGRhdGEsIGZhbHNlKVxuICB9XG5cbiAgc2hvd01vcmVMZXNzTW9iaWxlKGU6IEV2ZW50LCBkYXRhOiBJRmFjZXREYXRhLCBjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5vblNob3dNb3JlTGVzc0NsaWNrKGUsIGRhdGEsIHRydWUpXG4gIH1cblxuICBvcGVuT3ZlcmxheShjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5vcGVuT3ZlcmxheSgpO1xuICB9XG5cbiAgY2xvc2VPdmVybGF5KGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQ/LmNsb3NlT3ZlcmxheSgpO1xuICB9XG5cbiAgZmFjZXRWYWx1ZXMoZmFjZXQ6IElGYWNldERhdGEpIDogSUZhY2V0VmFsdWVEYXRhW10ge1xuICAgIHJldHVybiBmYWNldC52YWx1ZXMgYXMgSUZhY2V0VmFsdWVEYXRhW107XG4gIH1cblxuICBmYWNldE1vYmlsZURhdGEoZmFjZXQ6IElGYWNldHNUZW1wbGF0ZURhdGEgfCBudWxsKSA6IGFueSB7XG4gICAgcmV0dXJuIGZhY2V0IGFzIGFueVxuICB9XG59XG4iLCI8ZGl2IFtpZF09XCInc2VhcmNoc3RheC1mYWNldHMtY29udGFpbmVyJyArIHJhbmRcIj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiZmFjZXRzVGVtcGxhdGVEYXRhRGVza3RvcD8uaGFzUmVzdWx0c09yRXh0ZXJuYWxQcm9tb3Rpb25zICYmICF0ZW1wbGF0ZU92ZXJyaWRlRGVza3RvcFwiXG4gICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0cy1jb250YWluZXItZGVza3RvcFwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtY29udGFpbmVyXCJcbiAgICAgICpuZ0Zvcj1cImxldCBmYWNldCBvZiBmYWNldHNUZW1wbGF0ZURhdGFEZXNrdG9wPy5mYWNldHNcIlxuICAgICAgW2NsYXNzXT1cInsgYWN0aXZlOiBpc05vdERlYWN0aXZhdGVkKGZhY2V0Lm5hbWUsIGNvbnRleHQpIH1cIlxuICAgID5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXRpdGxlLWNvbnRhaW5lclwiIChjbGljayk9XCJ0b2dnbGVGYWNldEdyb3VwKGZhY2V0Lm5hbWUsIGNvbnRleHQpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdGl0bGVcIj57eyBmYWNldC5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXRpdGxlLWFycm93IGFjdGl2ZVwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdmFsdWVzLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmYWNldFZhbHVlIG9mIGZhY2V0VmFsdWVzKGZhY2V0KTsgaW5kZXggYXMga2V5XCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC12YWx1ZS1jb250YWluZXJcIlxuICAgICAgICAgICAgW2NsYXNzXT1cInsgJ3NlYXJjaHN0YXgtZmFjZXQtdmFsdWUtZGlzYWJsZWQnOiBmYWNldFZhbHVlLmRpc2FibGVkIH1cIlxuICAgICAgICAgICAgI3JlZlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LWlucHV0XCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LWlucHV0LWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0NoZWNrZWQoZmFjZXRWYWx1ZSwgY29udGV4dClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWNldFZhbHVlLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RmFjZXQocmVmLCAkZXZlbnQsIGZhY2V0VmFsdWUsIHRydWUsIGNvbnRleHQpXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdmFsdWUtbGFiZWxcIiAoY2xpY2spPVwic2VsZWN0RmFjZXQocmVmLCAkZXZlbnQsIGZhY2V0VmFsdWUsIGZhbHNlLCBjb250ZXh0KVwiPlxuICAgICAgICAgICAgICB7eyBmYWNldFZhbHVlLnZhbHVlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXZhbHVlLWNvdW50XCIgKGNsaWNrKT1cInNlbGVjdEZhY2V0KHJlZiwgJGV2ZW50LCBmYWNldFZhbHVlLCBmYWxzZSwgY29udGV4dClcIj5cbiAgICAgICAgICAgICAgKHt7IGZhY2V0VmFsdWUuY291bnQgfX0pXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1zaG93LW1vcmUtY29udGFpbmVyXCIgKm5nSWY9XCJmYWNldC5oYXNNb3JlRmFjZXRzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1zaG93LW1vcmUtY29udGFpbmVyXCIgKGNsaWNrKT1cInNob3dNb3JlTGVzc0Rlc2t0b3AoJGV2ZW50LCBmYWNldCwgY29udGV4dClcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmFjZXQuc2hvd2luZ0FsbEZhY2V0c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbGVzcy1idXR0b24gc2VhcmNoc3RheC1mYWNldC1zaG93LWJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBsZXNzXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhZmFjZXQuc2hvd2luZ0FsbEZhY2V0c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbW9yZS1idXR0b24gc2VhcmNoc3RheC1mYWNldC1zaG93LWJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBtb3JlXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZmFjZXRzVGVtcGxhdGVEYXRhRGVza3RvcD8uaGFzUmVzdWx0c09yRXh0ZXJuYWxQcm9tb3Rpb25zICYmIHRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wOyBjb250ZXh0OiBjb250ZXh0XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLWNvbnRhaW5lci1tb2JpbGVcIlxuICAgICpuZ0lmPVwiZmFjZXRzVGVtcGxhdGVEYXRhTW9iaWxlPy5oYXNSZXN1bHRzT3JFeHRlcm5hbFByb21vdGlvbnMgJiYgIXRlbXBsYXRlT3ZlcnJpZGVNb2JpbGVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGxzLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGwgc2VhcmNoc3RheC1mYWNldHMtcGlsbC1maWx0ZXItYnlcIiAoY2xpY2spPVwib3Blbk92ZXJsYXkoY29udGV4dClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGwtbGFiZWxcIj5GaWx0ZXIgQnk8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGxzLXNlbGVjdGVkXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGwgc2VhcmNoc3RheC1mYWNldHMtcGlsbC1mYWNldHNcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBmYWNldCBvZiBzZWxlY3RlZEZhY2V0c0NoZWNrYm94ZXNcIlxuICAgICAgICAgIChjbGljayk9XCJ1bnNlbGVjdEZhY2V0KGZhY2V0LCBjb250ZXh0KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtcGlsbC1sYWJlbFwiPnt7IGZhY2V0LnZhbHVlIH19ICh7eyBmYWNldC5jb3VudCB9fSk8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtcGlsbC1pY29uLWNsb3NlXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtcGlsbCBzZWFyY2hzdGF4LWNsZWFyLWZpbHRlcnMgc2VhcmNoc3RheC1mYWNldHMtcGlsbC1jbGVhci1hbGxcIlxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkRmFjZXRzQ2hlY2tib3hlcy5sZW5ndGhcIlxuICAgICAgICAoY2xpY2spPVwidW5zZWxlY3RBbGwoY29udGV4dClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtcGlsbC1sYWJlbFwiPkNsZWFyIEZpbHRlcnM8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtbW9iaWxlLW92ZXJsYXlcIlxuICAgICAgW2NsYXNzXT1cInsgJ3NlYXJjaHN0YXgtc2hvdyc6IGZhY2V0TW9iaWxlRGF0YShmYWNldHNUZW1wbGF0ZURhdGFNb2JpbGUpPy5vdmVybGF5T3BlbmVkIH1cIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0cy1tb2JpbGUtb3ZlcmxheS1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLW1vYmlsZS1vdmVybGF5LWhlYWRlci10aXRsZVwiPkZpbHRlciBCeTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VPdmVybGF5KGNvbnRleHQpXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0cy1jb250YWluZXItbW9iaWxlXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmFjZXQgb2YgZmFjZXRzVGVtcGxhdGVEYXRhTW9iaWxlPy5mYWNldHNcIlxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1jb250YWluZXJcIlxuICAgICAgICAgIFtjbGFzc109XCJ7IGFjdGl2ZTogaXNOb3REZWFjdGl2YXRlZChmYWNldC5uYW1lLCBjb250ZXh0KSB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC10aXRsZS1jb250YWluZXJcIiAoY2xpY2spPVwidG9nZ2xlRmFjZXRHcm91cChmYWNldC5uYW1lLCBjb250ZXh0KVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC10aXRsZVwiPnt7IGZhY2V0LmxhYmVsIH19PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXRpdGxlLWFycm93IGFjdGl2ZVwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC12YWx1ZXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmFjZXRWYWx1ZSBvZiBmYWNldFZhbHVlcyhmYWNldCk7IGluZGV4IGFzIGtleVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXZhbHVlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cInsgJ3NlYXJjaHN0YXgtZmFjZXQtdmFsdWUtZGlzYWJsZWQnOiBmYWNldFZhbHVlLmRpc2FibGVkIH1cIlxuICAgICAgICAgICAgICAgICNyZWZcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LWlucHV0LWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNDaGVja2VkKGZhY2V0VmFsdWUsIGNvbnRleHQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhY2V0VmFsdWUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RmFjZXQocmVmLCAkZXZlbnQsIGZhY2V0VmFsdWUsIHRydWUsIGNvbnRleHQpXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXZhbHVlLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RGYWNldChyZWYsICRldmVudCwgZmFjZXRWYWx1ZSwgZmFsc2UsIGNvbnRleHQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBmYWNldFZhbHVlLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXZhbHVlLWNvdW50XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RGYWNldChyZWYsICRldmVudCwgZmFjZXRWYWx1ZSwgZmFsc2UsIGNvbnRleHQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAoe3sgZmFjZXRWYWx1ZS5jb3VudCB9fSlcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbW9yZS1jb250YWluZXJcIiAqbmdJZj1cImZhY2V0Lmhhc01vcmVGYWNldHNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1zaG93LW1vcmUtY29udGFpbmVyXCIgKGNsaWNrKT1cInNob3dNb3JlTGVzc0Rlc2t0b3AoJGV2ZW50LCBmYWNldCwgY29udGV4dClcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmYWNldC5zaG93aW5nQWxsRmFjZXRzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbGVzcy1idXR0b24gc2VhcmNoc3RheC1mYWNldC1zaG93LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIGxlc3NcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFmYWNldC5zaG93aW5nQWxsRmFjZXRzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbW9yZS1idXR0b24gc2VhcmNoc3RheC1mYWNldC1zaG93LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIG1vcmVcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLW1vYmlsZS1vdmVybGF5LWRvbmVcIiAoY2xpY2spPVwiY2xvc2VPdmVybGF5KGNvbnRleHQpXCI+RG9uZTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImZhY2V0c1RlbXBsYXRlRGF0YU1vYmlsZT8uaGFzUmVzdWx0c09yRXh0ZXJuYWxQcm9tb3Rpb25zICYmIHRlbXBsYXRlT3ZlcnJpZGVNb2JpbGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVPdmVycmlkZU1vYmlsZTsgY29udGV4dDogY29udGV4dFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
package/esm2020/lib/components/searchstax-search-overview/searchstax-search-overview.component.mjs
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/store-service.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class SearchstaxSearchFeedbackWidget {
|
|
6
|
-
constructor(storeServiceService) {
|
|
7
|
-
this.storeServiceService = storeServiceService;
|
|
8
|
-
this.searchFeedbackData = null;
|
|
9
|
-
this.rand = Math.random();
|
|
10
|
-
this.context = this;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
if (this.storeServiceService.searchstax) {
|
|
14
|
-
this.attachObservables();
|
|
15
|
-
setTimeout(() => {
|
|
16
|
-
this.storeServiceService.searchstax.addSearchFeedbackWidget("search-feedback-container" + this.rand, {});
|
|
17
|
-
}, 0);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
throw Error("Searchstax instance needs to be passed via props");
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
onOriginalQueryClick(e, context) {
|
|
24
|
-
e.stopImmediatePropagation();
|
|
25
|
-
context.storeServiceService.searchstax.searchFeedbackWidget?.onOriginalQueryClick(e);
|
|
26
|
-
}
|
|
27
|
-
attachObservables() {
|
|
28
|
-
this.storeServiceService.searchstax.dataLayer.$searchFeedbackData.subscribe((searchFeedbackData) => {
|
|
29
|
-
this.searchFeedbackData = searchFeedbackData;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
SearchstaxSearchFeedbackWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxSearchFeedbackWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
SearchstaxSearchFeedbackWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SearchstaxSearchFeedbackWidget, selector: "app-searchstax-search-feedback", inputs: { templateOverride: "templateOverride" }, ngImport: i0, template: "<div\n class=\"search-feedback-container\"\n [id]=\"'search-feedback-container' + rand\"\n>\n <div\n class=\"searchstax-feedback-container\"\n *ngIf=\"\n searchFeedbackData &&\n searchFeedbackData?.searchExecuted &&\n !templateOverride &&\n searchFeedbackData?.totalResults\n \"\n >\n Showing\n <b\n >{{ searchFeedbackData!.startResultIndex }} -\n {{ searchFeedbackData!.endResultIndex }}</b\n >\n of <b>{{ searchFeedbackData!.totalResults }}</b> results\n <span *ngIf=\"searchFeedbackData.searchTerm\"\n >for \"<b>{{ searchFeedbackData!.searchTerm }}</b\n >\"\n </span>\n <div class=\"searchstax-feedback-container-suggested\">\n <div *ngIf=\"searchFeedbackData.autoCorrectedQuery\">\n Search instead for\n <a\n href=\"#\"\n (click)=\"onOriginalQueryClick($event, context)\"\n class=\"searchstax-feedback-original-query\"\n >{{ searchFeedbackData!.originalQuery }}</a\n >\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"\n searchFeedbackData &&\n searchFeedbackData?.searchExecuted &&\n templateOverride &&\n searchFeedbackData?.totalResults\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxSearchFeedbackWidget, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{ selector: "app-searchstax-search-feedback", styles: [], template: "<div\n class=\"search-feedback-container\"\n [id]=\"'search-feedback-container' + rand\"\n>\n <div\n class=\"searchstax-feedback-container\"\n *ngIf=\"\n searchFeedbackData &&\n searchFeedbackData?.searchExecuted &&\n !templateOverride &&\n searchFeedbackData?.totalResults\n \"\n >\n Showing\n <b\n >{{ searchFeedbackData!.startResultIndex }} -\n {{ searchFeedbackData!.endResultIndex }}</b\n >\n of <b>{{ searchFeedbackData!.totalResults }}</b> results\n <span *ngIf=\"searchFeedbackData.searchTerm\"\n >for \"<b>{{ searchFeedbackData!.searchTerm }}</b\n >\"\n </span>\n <div class=\"searchstax-feedback-container-suggested\">\n <div *ngIf=\"searchFeedbackData.autoCorrectedQuery\">\n Search instead for\n <a\n href=\"#\"\n (click)=\"onOriginalQueryClick($event, context)\"\n class=\"searchstax-feedback-original-query\"\n >{{ searchFeedbackData!.originalQuery }}</a\n >\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"\n searchFeedbackData &&\n searchFeedbackData?.searchExecuted &&\n templateOverride &&\n searchFeedbackData?.totalResults\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
|
|
38
|
-
}], ctorParameters: function () { return [{ type: i1.StoreServiceService }]; }, propDecorators: { templateOverride: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtb3ZlcnZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaHN0YXgtc2VhcmNoLW92ZXJ2aWV3L3NlYXJjaHN0YXgtc2VhcmNoLW92ZXJ2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1vdmVydmlldy9zZWFyY2hzdGF4LXNlYXJjaC1vdmVydmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUIsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdEUsTUFBTSxPQUFPLDhCQUE4QjtJQU16QyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUg1RCx1QkFBa0IsR0FBeUMsSUFBSSxDQUFDO1FBQ2hFLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFHLElBQUksQ0FBQztJQUNnRCxDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0csQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7U0FDakU7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsQ0FBUSxFQUFFLE9BQWE7UUFDMUMsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUN6RSxDQUFDLGtCQUF3RCxFQUFFLEVBQUU7WUFDM0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQy9DLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7MkhBOUJVLDhCQUE4QjsrR0FBOUIsOEJBQThCLHdIQ1QzQyxxMENBaURBOzJGRHhDYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsZ0NBQWdDLFVBRWxDLEVBQUU7MEdBR0QsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJU2VhcmNoc3RheFNlYXJjaEZlZWRiYWNrRGF0YSB9IGZyb20gXCJAc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWpzXCI7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLXNlYXJjaHN0YXgtc2VhcmNoLWZlZWRiYWNrXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2VhcmNoc3RheC1zZWFyY2gtb3ZlcnZpZXcuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheFNlYXJjaEZlZWRiYWNrV2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdGVtcGxhdGVPdmVycmlkZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgc2VhcmNoRmVlZGJhY2tEYXRhOiBudWxsIHwgSVNlYXJjaHN0YXhTZWFyY2hGZWVkYmFja0RhdGEgPSBudWxsO1xuICByYW5kID0gTWF0aC5yYW5kb20oKTtcbiAgY29udGV4dCA9IHRoaXM7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmVTZXJ2aWNlU2VydmljZTogU3RvcmVTZXJ2aWNlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXgpIHtcbiAgICAgIHRoaXMuYXR0YWNoT2JzZXJ2YWJsZXMoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5hZGRTZWFyY2hGZWVkYmFja1dpZGdldChcInNlYXJjaC1mZWVkYmFjay1jb250YWluZXJcIiArIHRoaXMucmFuZCwge30pO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzXCIpO1xuICAgIH1cbiAgfVxuXG4gIG9uT3JpZ2luYWxRdWVyeUNsaWNrKGU6IEV2ZW50LCBjb250ZXh0OiB0aGlzKSB7XG4gICAgZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGZWVkYmFja1dpZGdldD8ub25PcmlnaW5hbFF1ZXJ5Q2xpY2soZSk7XG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaEZlZWRiYWNrRGF0YS5zdWJzY3JpYmUoXG4gICAgICAoc2VhcmNoRmVlZGJhY2tEYXRhOiBudWxsIHwgSVNlYXJjaHN0YXhTZWFyY2hGZWVkYmFja0RhdGEpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hGZWVkYmFja0RhdGEgPSBzZWFyY2hGZWVkYmFja0RhdGE7XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNlYXJjaC1mZWVkYmFjay1jb250YWluZXJcIlxuICBbaWRdPVwiJ3NlYXJjaC1mZWVkYmFjay1jb250YWluZXInICsgcmFuZFwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmVlZGJhY2stY29udGFpbmVyXCJcbiAgICAqbmdJZj1cIlxuICAgICAgc2VhcmNoRmVlZGJhY2tEYXRhICYmXG4gICAgICBzZWFyY2hGZWVkYmFja0RhdGE/LnNlYXJjaEV4ZWN1dGVkICYmXG4gICAgICAhdGVtcGxhdGVPdmVycmlkZSAmJlxuICAgICAgc2VhcmNoRmVlZGJhY2tEYXRhPy50b3RhbFJlc3VsdHNcbiAgICBcIlxuICA+XG4gICAgU2hvd2luZ1xuICAgIDxiXG4gICAgICA+e3sgc2VhcmNoRmVlZGJhY2tEYXRhIS5zdGFydFJlc3VsdEluZGV4IH19IC1cbiAgICAgIHt7IHNlYXJjaEZlZWRiYWNrRGF0YSEuZW5kUmVzdWx0SW5kZXggfX08L2JcbiAgICA+XG4gICAgb2YgPGI+e3sgc2VhcmNoRmVlZGJhY2tEYXRhIS50b3RhbFJlc3VsdHMgfX08L2I+IHJlc3VsdHNcbiAgICA8c3BhbiAqbmdJZj1cInNlYXJjaEZlZWRiYWNrRGF0YS5zZWFyY2hUZXJtXCJcbiAgICAgID5mb3IgXCI8Yj57eyBzZWFyY2hGZWVkYmFja0RhdGEhLnNlYXJjaFRlcm0gfX08L2JcbiAgICAgID5cIlxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mZWVkYmFjay1jb250YWluZXItc3VnZ2VzdGVkXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2VhcmNoRmVlZGJhY2tEYXRhLmF1dG9Db3JyZWN0ZWRRdWVyeVwiPlxuICAgICAgICBTZWFyY2ggaW5zdGVhZCBmb3JcbiAgICAgICAgPGFcbiAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uT3JpZ2luYWxRdWVyeUNsaWNrKCRldmVudCwgY29udGV4dClcIlxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mZWVkYmFjay1vcmlnaW5hbC1xdWVyeVwiXG4gICAgICAgICAgPnt7IHNlYXJjaEZlZWRiYWNrRGF0YSEub3JpZ2luYWxRdWVyeSB9fTwvYVxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICBzZWFyY2hGZWVkYmFja0RhdGEgJiZcbiAgICAgIHNlYXJjaEZlZWRiYWNrRGF0YT8uc2VhcmNoRXhlY3V0ZWQgJiZcbiAgICAgIHRlbXBsYXRlT3ZlcnJpZGUgJiZcbiAgICAgIHNlYXJjaEZlZWRiYWNrRGF0YT8udG90YWxSZXN1bHRzXG4gICAgXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVPdmVycmlkZTsgY29udGV4dDogY29udGV4dFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/store-service.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class SearchstaxSearchPaginationWidget {
|
|
6
|
-
constructor(storeServiceService) {
|
|
7
|
-
this.storeServiceService = storeServiceService;
|
|
8
|
-
this.paginationData = null;
|
|
9
|
-
this.rand = Math.random();
|
|
10
|
-
this.context = this;
|
|
11
|
-
this.paginationAdded = false;
|
|
12
|
-
}
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
if (this.storeServiceService.searchstax) {
|
|
15
|
-
this.attachObservables();
|
|
16
|
-
setTimeout(() => {
|
|
17
|
-
this.addWidget();
|
|
18
|
-
}, 0);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
throw Error("Searchstax instance needs to be passed via props");
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
nextPage(event, context) {
|
|
25
|
-
event.stopImmediatePropagation();
|
|
26
|
-
if (!context.paginationData?.isLastPage) {
|
|
27
|
-
context.storeServiceService.searchstax.searchPaginationWidget?.nextPage(event);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
previousPage(event, context) {
|
|
31
|
-
event.stopImmediatePropagation();
|
|
32
|
-
if (!context.paginationData?.isFirstPage) {
|
|
33
|
-
context.storeServiceService.searchstax.searchPaginationWidget?.previousPage(event);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
addWidget() {
|
|
37
|
-
if (!this.paginationAdded &&
|
|
38
|
-
this.storeServiceService.searchstax.routerHelper) {
|
|
39
|
-
this.paginationAdded = true;
|
|
40
|
-
this.storeServiceService.searchstax.addPaginationWidget("searchstax-pagination-container" + this.rand, {});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
attachObservables() {
|
|
44
|
-
this.storeServiceService.searchstax.dataLayer.$searchObject.subscribe((pagination) => {
|
|
45
|
-
this.addWidget();
|
|
46
|
-
});
|
|
47
|
-
this.storeServiceService.searchstax.dataLayer.$paginationData.subscribe((pagination) => {
|
|
48
|
-
this.paginationData = pagination;
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
SearchstaxSearchPaginationWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxSearchPaginationWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
SearchstaxSearchPaginationWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SearchstaxSearchPaginationWidget, selector: "app-searchstax-search-pagination", inputs: { templateOverride: "templateOverride" }, ngImport: i0, template: "<div [id]=\"'searchstax-pagination-container' + rand\">\n <div\n class=\"searchstax-pagination-container\"\n *ngIf=\"paginationData?.totalResults && !templateOverride\"\n >\n <div class=\"searchstax-pagination-content\">\n <a\n class=\"searchstax-pagination-previous\"\n (click)=\"previousPage($event, context)\"\n id=\"searchstax-pagination-previous\"\n >\n < Previous\n </a>\n <div class=\"searchstax-pagination-details\">\n {{ paginationData?.startResultIndex }} -\n {{ paginationData?.endResultIndex }} of\n {{ paginationData?.totalResults }}\n </div>\n <a\n class=\"searchstax-pagination-next\"\n (click)=\"nextPage($event, context)\"\n id=\"searchstax-pagination-next\"\n >Next ></a\n >\n </div>\n </div>\n\n <div *ngIf=\"paginationData?.totalResults && templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxSearchPaginationWidget, decorators: [{
|
|
55
|
-
type: Component,
|
|
56
|
-
args: [{ selector: "app-searchstax-search-pagination", styles: [], template: "<div [id]=\"'searchstax-pagination-container' + rand\">\n <div\n class=\"searchstax-pagination-container\"\n *ngIf=\"paginationData?.totalResults && !templateOverride\"\n >\n <div class=\"searchstax-pagination-content\">\n <a\n class=\"searchstax-pagination-previous\"\n (click)=\"previousPage($event, context)\"\n id=\"searchstax-pagination-previous\"\n >\n < Previous\n </a>\n <div class=\"searchstax-pagination-details\">\n {{ paginationData?.startResultIndex }} -\n {{ paginationData?.endResultIndex }} of\n {{ paginationData?.totalResults }}\n </div>\n <a\n class=\"searchstax-pagination-next\"\n (click)=\"nextPage($event, context)\"\n id=\"searchstax-pagination-next\"\n >Next ></a\n >\n </div>\n </div>\n\n <div *ngIf=\"paginationData?.totalResults && templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
|
|
57
|
-
}], ctorParameters: function () { return [{ type: i1.StoreServiceService }]; }, propDecorators: { templateOverride: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1zZWFyY2gtcGFnaW5hdGlvbi9zZWFyY2hzdGF4LXNlYXJjaC1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1wYWdpbmF0aW9uL3NlYXJjaHN0YXgtc2VhcmNoLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDOzs7O0FBWXRFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFPM0MsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFKNUQsbUJBQWMsR0FBMkIsSUFBSSxDQUFDO1FBQzlDLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3VDLENBQUM7SUFFaEUsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRTtZQUN2QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWSxFQUFFLE9BQWE7UUFDbEMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsUUFBUSxDQUNyRSxLQUFLLENBQ04sQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZLEVBQUUsT0FBYTtRQUN0QyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUU7WUFDeEMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQ3pFLEtBQUssQ0FDTixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQ0UsQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFlBQVksRUFDaEQ7WUFDQSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUNyRCxpQ0FBaUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUM3QyxFQUFFLENBQ0gsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQ25FLENBQUMsVUFBZ0MsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQ3JFLENBQUMsVUFBa0MsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDO1FBQ25DLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7NkhBL0RVLGdDQUFnQztpSEFBaEMsZ0NBQWdDLDBIQ1o3Qyw2Z0NBaUNBOzJGRHJCYSxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0Usa0NBQWtDLFVBRXBDLEVBQUU7MEdBR0QsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBJUGFnaW5hdGlvbkRhdGEsXG4gIElTZWFyY2hPYmplY3QsXG59IGZyb20gXCJAc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWpzXCI7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLXNlYXJjaHN0YXgtc2VhcmNoLXBhZ2luYXRpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zZWFyY2hzdGF4LXNlYXJjaC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaHN0YXhTZWFyY2hQYWdpbmF0aW9uV2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdGVtcGxhdGVPdmVycmlkZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcGFnaW5hdGlvbkRhdGE6IG51bGwgfCBJUGFnaW5hdGlvbkRhdGEgPSBudWxsO1xuICByYW5kID0gTWF0aC5yYW5kb20oKTtcbiAgY29udGV4dCA9IHRoaXM7XG4gIHBhZ2luYXRpb25BZGRlZCA9IGZhbHNlO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5hZGRXaWRnZXQoKTtcbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihcIlNlYXJjaHN0YXggaW5zdGFuY2UgbmVlZHMgdG8gYmUgcGFzc2VkIHZpYSBwcm9wc1wiKTtcbiAgICB9XG4gIH1cblxuICBuZXh0UGFnZShldmVudDogRXZlbnQsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICBpZiAoIWNvbnRleHQucGFnaW5hdGlvbkRhdGE/LmlzTGFzdFBhZ2UpIHtcbiAgICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaFBhZ2luYXRpb25XaWRnZXQ/Lm5leHRQYWdlKFxuICAgICAgICBldmVudFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcmV2aW91c1BhZ2UoZXZlbnQ6IEV2ZW50LCBjb250ZXh0OiB0aGlzKSB7XG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCFjb250ZXh0LnBhZ2luYXRpb25EYXRhPy5pc0ZpcnN0UGFnZSkge1xuICAgICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoUGFnaW5hdGlvbldpZGdldD8ucHJldmlvdXNQYWdlKFxuICAgICAgICBldmVudFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBhZGRXaWRnZXQoKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMucGFnaW5hdGlvbkFkZGVkICYmXG4gICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5yb3V0ZXJIZWxwZXJcbiAgICApIHtcbiAgICAgIHRoaXMucGFnaW5hdGlvbkFkZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFkZFBhZ2luYXRpb25XaWRnZXQoXG4gICAgICAgIFwic2VhcmNoc3RheC1wYWdpbmF0aW9uLWNvbnRhaW5lclwiICsgdGhpcy5yYW5kLFxuICAgICAgICB7fVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaE9iamVjdC5zdWJzY3JpYmUoXG4gICAgICAocGFnaW5hdGlvbjogSVNlYXJjaE9iamVjdCB8IG51bGwpID0+IHtcbiAgICAgICAgdGhpcy5hZGRXaWRnZXQoKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRwYWdpbmF0aW9uRGF0YS5zdWJzY3JpYmUoXG4gICAgICAocGFnaW5hdGlvbjogSVBhZ2luYXRpb25EYXRhIHwgbnVsbCkgPT4ge1xuICAgICAgICB0aGlzLnBhZ2luYXRpb25EYXRhID0gcGFnaW5hdGlvbjtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IFtpZF09XCInc2VhcmNoc3RheC1wYWdpbmF0aW9uLWNvbnRhaW5lcicgKyByYW5kXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNlYXJjaHN0YXgtcGFnaW5hdGlvbi1jb250YWluZXJcIlxuICAgICpuZ0lmPVwicGFnaW5hdGlvbkRhdGE/LnRvdGFsUmVzdWx0cyAmJiAhdGVtcGxhdGVPdmVycmlkZVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1wYWdpbmF0aW9uLWNvbnRlbnRcIj5cbiAgICAgIDxhXG4gICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1wYWdpbmF0aW9uLXByZXZpb3VzXCJcbiAgICAgICAgKGNsaWNrKT1cInByZXZpb3VzUGFnZSgkZXZlbnQsIGNvbnRleHQpXCJcbiAgICAgICAgaWQ9XCJzZWFyY2hzdGF4LXBhZ2luYXRpb24tcHJldmlvdXNcIlxuICAgICAgPlxuICAgICAgICAmbHQ7IFByZXZpb3VzXG4gICAgICA8L2E+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1wYWdpbmF0aW9uLWRldGFpbHNcIj5cbiAgICAgICAge3sgcGFnaW5hdGlvbkRhdGE/LnN0YXJ0UmVzdWx0SW5kZXggfX0gLVxuICAgICAgICB7eyBwYWdpbmF0aW9uRGF0YT8uZW5kUmVzdWx0SW5kZXggfX0gb2ZcbiAgICAgICAge3sgcGFnaW5hdGlvbkRhdGE/LnRvdGFsUmVzdWx0cyB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtcGFnaW5hdGlvbi1uZXh0XCJcbiAgICAgICAgKGNsaWNrKT1cIm5leHRQYWdlKCRldmVudCwgY29udGV4dClcIlxuICAgICAgICBpZD1cInNlYXJjaHN0YXgtcGFnaW5hdGlvbi1uZXh0XCJcbiAgICAgICAgPk5leHQgPjwvYVxuICAgICAgPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwicGFnaW5hdGlvbkRhdGE/LnRvdGFsUmVzdWx0cyAmJiB0ZW1wbGF0ZU92ZXJyaWRlXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZU92ZXJyaWRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
package/esm2020/lib/components/searchstax-search-related/searchstax-search-related.component.mjs
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/store-service.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class SearchstaxSearchRelatedSearchesWidget {
|
|
6
|
-
constructor(storeServiceService) {
|
|
7
|
-
this.storeServiceService = storeServiceService;
|
|
8
|
-
this.relatedData = null;
|
|
9
|
-
this.rand = Math.random();
|
|
10
|
-
this.context = this;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
if (this.storeServiceService.searchstax) {
|
|
14
|
-
this.attachObservables();
|
|
15
|
-
setTimeout(() => {
|
|
16
|
-
this.storeServiceService.searchstax.addRelatedSearchesWidget("searchstax-related-searches-container" + this.rand, { relatedSearchesURL: this.relatedSearchesURL ?? "", relatedSearchesAPIKey: this.relatedSearchesAPIKey ?? "" });
|
|
17
|
-
}, 0);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
throw Error("Searchstax instance needs to be passed via props");
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
executeSearch(result, context) {
|
|
24
|
-
context.storeServiceService.searchstax.relatedSearchesWidget?.executeSearch(result);
|
|
25
|
-
}
|
|
26
|
-
attachObservables() {
|
|
27
|
-
this.storeServiceService.searchstax.dataLayer.$searchRelatedSearchesData.subscribe((relatedData) => {
|
|
28
|
-
this.relatedData = relatedData;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
SearchstaxSearchRelatedSearchesWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxSearchRelatedSearchesWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
SearchstaxSearchRelatedSearchesWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SearchstaxSearchRelatedSearchesWidget, selector: "app-searchstax-related-searches", inputs: { relatedSearchesURL: "relatedSearchesURL", relatedSearchesAPIKey: "relatedSearchesAPIKey", templateOverride: "templateOverride" }, ngImport: i0, template: "<div\n class=\"searchstax-related-searches-container\"\n [id]=\"'searchstax-related-searches-container' + rand\"\n *ngIf=\"relatedData && relatedData?.searchExecuted && relatedData?.hasRelatedSearches && !templateOverride\"\n>\n Related searches: <span id=\"searchstax-related-searches\"></span>\n <span class=\"searchstax-related-search\" *ngIf=\"relatedData.relatedSearches\">\n <span\n *ngFor=\"let related of relatedData.relatedSearches\"\n (click)=\"executeSearch(related, context)\"\n class=\"searchstax-related-search searchstax-related-search-item\"\n >\n {{ related.related_search }}<span *ngIf=\"!related.last\">,</span>\n </span>\n </span>\n</div>\n\n<div *ngIf=\"relatedData && relatedData?.searchExecuted && relatedData?.hasRelatedSearches && templateOverride\">\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n</div>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxSearchRelatedSearchesWidget, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ selector: "app-searchstax-related-searches", styles: [], template: "<div\n class=\"searchstax-related-searches-container\"\n [id]=\"'searchstax-related-searches-container' + rand\"\n *ngIf=\"relatedData && relatedData?.searchExecuted && relatedData?.hasRelatedSearches && !templateOverride\"\n>\n Related searches: <span id=\"searchstax-related-searches\"></span>\n <span class=\"searchstax-related-search\" *ngIf=\"relatedData.relatedSearches\">\n <span\n *ngFor=\"let related of relatedData.relatedSearches\"\n (click)=\"executeSearch(related, context)\"\n class=\"searchstax-related-search searchstax-related-search-item\"\n >\n {{ related.related_search }}<span *ngIf=\"!related.last\">,</span>\n </span>\n </span>\n</div>\n\n<div *ngIf=\"relatedData && relatedData?.searchExecuted && relatedData?.hasRelatedSearches && templateOverride\">\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n</div>\n" }]
|
|
37
|
-
}], ctorParameters: function () { return [{ type: i1.StoreServiceService }]; }, propDecorators: { relatedSearchesURL: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], relatedSearchesAPIKey: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], templateOverride: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtcmVsYXRlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1zZWFyY2gtcmVsYXRlZC9zZWFyY2hzdGF4LXNlYXJjaC1yZWxhdGVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1yZWxhdGVkL3NlYXJjaHN0YXgtc2VhcmNoLXJlbGF0ZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3RFLE1BQU0sT0FBTyxxQ0FBcUM7SUFRaEQsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFINUQsZ0JBQVcsR0FBMEMsSUFBSSxDQUFDO1FBQzFELFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFHLElBQUksQ0FBQztJQUNnRCxDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUMxRCx1Q0FBdUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUNuRCxFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBRSxDQUMvRyxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7U0FDakU7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQXNDLEVBQUUsT0FBYTtRQUNqRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLHFCQUFxQixFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUNoRixDQUFDLFdBQWtELEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNqQyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7O2tJQWxDVSxxQ0FBcUM7c0hBQXJDLHFDQUFxQyxtTkNUbEQsZzVCQW9CQTsyRkRYYSxxQ0FBcUM7a0JBTGpELFNBQVM7K0JBQ0UsaUNBQWlDLFVBRW5DLEVBQUU7MEdBR0Qsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElTZWFyY2hzdGF4UmVsYXRlZFNlYXJjaFJlc3VsdCwgSVNlYXJjaHN0YXhSZWxhdGVkU2VhcmNoZXNEYXRhIH0gZnJvbSBcIkBzZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtanNcIjtcbmltcG9ydCB7IFN0b3JlU2VydmljZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmUtc2VydmljZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc2VhcmNoc3RheC1yZWxhdGVkLXNlYXJjaGVzXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2VhcmNoc3RheC1zZWFyY2gtcmVsYXRlZC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hzdGF4U2VhcmNoUmVsYXRlZFNlYXJjaGVzV2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcmVsYXRlZFNlYXJjaGVzVVJMPzogc3RyaW5nO1xuICBASW5wdXQoKSByZWxhdGVkU2VhcmNoZXNBUElLZXk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRlbXBsYXRlT3ZlcnJpZGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHJlbGF0ZWREYXRhOiBudWxsIHwgSVNlYXJjaHN0YXhSZWxhdGVkU2VhcmNoZXNEYXRhID0gbnVsbDtcbiAgcmFuZCA9IE1hdGgucmFuZG9tKCk7XG4gIGNvbnRleHQgPSB0aGlzO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguYWRkUmVsYXRlZFNlYXJjaGVzV2lkZ2V0KFxuICAgICAgICAgIFwic2VhcmNoc3RheC1yZWxhdGVkLXNlYXJjaGVzLWNvbnRhaW5lclwiICsgdGhpcy5yYW5kLFxuICAgICAgICAgIHsgcmVsYXRlZFNlYXJjaGVzVVJMOiB0aGlzLnJlbGF0ZWRTZWFyY2hlc1VSTCA/PyBcIlwiLCByZWxhdGVkU2VhcmNoZXNBUElLZXk6IHRoaXMucmVsYXRlZFNlYXJjaGVzQVBJS2V5ID8/IFwiXCIgfVxuICAgICAgICApO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzXCIpO1xuICAgIH1cbiAgfVxuXG4gIGV4ZWN1dGVTZWFyY2gocmVzdWx0OiBJU2VhcmNoc3RheFJlbGF0ZWRTZWFyY2hSZXN1bHQsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5yZWxhdGVkU2VhcmNoZXNXaWRnZXQ/LmV4ZWN1dGVTZWFyY2gocmVzdWx0KTtcbiAgfVxuXG4gIGF0dGFjaE9ic2VydmFibGVzKCkge1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kc2VhcmNoUmVsYXRlZFNlYXJjaGVzRGF0YS5zdWJzY3JpYmUoXG4gICAgICAocmVsYXRlZERhdGE6IG51bGwgfCBJU2VhcmNoc3RheFJlbGF0ZWRTZWFyY2hlc0RhdGEpID0+IHtcbiAgICAgICAgdGhpcy5yZWxhdGVkRGF0YSA9IHJlbGF0ZWREYXRhO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJzZWFyY2hzdGF4LXJlbGF0ZWQtc2VhcmNoZXMtY29udGFpbmVyXCJcbiAgW2lkXT1cIidzZWFyY2hzdGF4LXJlbGF0ZWQtc2VhcmNoZXMtY29udGFpbmVyJyArIHJhbmRcIlxuICAqbmdJZj1cInJlbGF0ZWREYXRhICYmIHJlbGF0ZWREYXRhPy5zZWFyY2hFeGVjdXRlZCAmJiByZWxhdGVkRGF0YT8uaGFzUmVsYXRlZFNlYXJjaGVzICYmICF0ZW1wbGF0ZU92ZXJyaWRlXCJcbj5cbiAgUmVsYXRlZCBzZWFyY2hlczogPHNwYW4gaWQ9XCJzZWFyY2hzdGF4LXJlbGF0ZWQtc2VhcmNoZXNcIj48L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwic2VhcmNoc3RheC1yZWxhdGVkLXNlYXJjaFwiICpuZ0lmPVwicmVsYXRlZERhdGEucmVsYXRlZFNlYXJjaGVzXCI+XG4gICAgPHNwYW5cbiAgICAgICpuZ0Zvcj1cImxldCByZWxhdGVkIG9mIHJlbGF0ZWREYXRhLnJlbGF0ZWRTZWFyY2hlc1wiXG4gICAgICAoY2xpY2spPVwiZXhlY3V0ZVNlYXJjaChyZWxhdGVkLCBjb250ZXh0KVwiXG4gICAgICBjbGFzcz1cInNlYXJjaHN0YXgtcmVsYXRlZC1zZWFyY2ggc2VhcmNoc3RheC1yZWxhdGVkLXNlYXJjaC1pdGVtXCJcbiAgICA+XG4gICAgICB7eyByZWxhdGVkLnJlbGF0ZWRfc2VhcmNoIH19PHNwYW4gKm5nSWY9XCIhcmVsYXRlZC5sYXN0XCI+LDwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwicmVsYXRlZERhdGEgJiYgcmVsYXRlZERhdGE/LnNlYXJjaEV4ZWN1dGVkICYmIHJlbGF0ZWREYXRhPy5oYXNSZWxhdGVkU2VhcmNoZXMgJiYgdGVtcGxhdGVPdmVycmlkZVwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVPdmVycmlkZTsgY29udGV4dDogY29udGV4dFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|