@searchstax-inc/searchstudio-ux-angular 0.0.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +734 -13
- package/esm2020/lib/components/searchstax-input/searchstax-input.component.mjs +10 -10
- package/esm2020/lib/components/searchstax-results/searchstax-results.component.mjs +5 -5
- package/esm2020/lib/components/searchstax-search-external/searchstax-search-external.component.mjs +40 -0
- package/esm2020/lib/components/searchstax-search-facets/searchstax-search-facets.component.mjs +112 -0
- package/esm2020/lib/components/searchstax-search-overview/searchstax-search-overview.component.mjs +41 -0
- package/esm2020/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.mjs +60 -0
- package/esm2020/lib/components/searchstax-search-related/searchstax-search-related.component.mjs +44 -0
- package/esm2020/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.mjs +45 -0
- package/esm2020/lib/searchstudio-ux-angular.module.mjs +51 -9
- package/esm2020/public-api.mjs +7 -1
- package/fesm2015/searchstax-inc-searchstudio-ux-angular.mjs +388 -17
- package/fesm2015/searchstax-inc-searchstudio-ux-angular.mjs.map +1 -1
- package/fesm2020/searchstax-inc-searchstudio-ux-angular.mjs +371 -17
- package/fesm2020/searchstax-inc-searchstudio-ux-angular.mjs.map +1 -1
- package/lib/components/searchstax-input/searchstax-input.component.d.ts +3 -3
- package/lib/components/searchstax-results/searchstax-results.component.d.ts +1 -1
- package/lib/components/searchstax-search-external/searchstax-search-external.component.d.ts +17 -0
- package/lib/components/searchstax-search-facets/searchstax-search-facets.component.d.ts +37 -0
- package/lib/components/searchstax-search-overview/searchstax-search-overview.component.d.ts +17 -0
- package/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.d.ts +20 -0
- package/lib/components/searchstax-search-related/searchstax-search-related.component.d.ts +19 -0
- package/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.d.ts +18 -0
- package/lib/searchstudio-ux-angular.module.d.ts +8 -2
- package/package.json +1 -1
- package/public-api.d.ts +6 -0
|
@@ -39,16 +39,16 @@ export class SearchstaxInputWidget {
|
|
|
39
39
|
throw Error('Searchstax instance needs to be passed via props');
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
onMouseLeave() {
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
onMouseLeave(context) {
|
|
43
|
+
context.storeServiceService.searchstax.searchInputWidget?.resetAutosuggestSelection();
|
|
44
|
+
context.storeServiceService.searchstax.searchInputWidget?.markActiveAutosuggestItem();
|
|
45
45
|
}
|
|
46
|
-
onMouseOver(suggestion) {
|
|
47
|
-
|
|
46
|
+
onMouseOver(suggestion, context) {
|
|
47
|
+
context.storeServiceService.searchstax.searchInputWidget?.onSuggestionEnter(suggestion);
|
|
48
48
|
}
|
|
49
|
-
onMouseClick(e) {
|
|
49
|
+
onMouseClick(e, context) {
|
|
50
50
|
e.stopImmediatePropagation();
|
|
51
|
-
|
|
51
|
+
context.storeServiceService.searchstax.searchInputWidget?.suggestionChosen();
|
|
52
52
|
}
|
|
53
53
|
attachObservables() {
|
|
54
54
|
this.storeServiceService.searchstax.dataLayer.$autosuggestResults.subscribe((suggestions) => {
|
|
@@ -57,10 +57,10 @@ export class SearchstaxInputWidget {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
SearchstaxInputWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxInputWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
-
SearchstaxInputWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SearchstaxInputWidget, selector: "app-searchstax-input", inputs: { afterAutosuggest: "afterAutosuggest", beforeAutosuggest: "beforeAutosuggest", searchInputId: "searchInputId", suggestAfterMinChars: "suggestAfterMinChars", templateOverride: "templateOverride" }, ngImport: i0, template: "<div id=\"searchstax-input-container\">\n <div class=\"searchstax-search-input-container\">\n <div *ngIf=\"!templateOverride\" class=\"searchstax-search-input-wrapper\">\n <input\n type=\"text\"\n id=\"searchstax-search-input\"\n class=\"searchstax-search-input\"\n placeholder=\"SEARCH FOR...\"\n />\n <div\n class=\"searchstax-autosuggest-container\"\n [ngClass]=\"{ hidden: suggestions.length === 0 }\"\n (mouseleave)=\"(onMouseLeave)\"\n >\n <div\n class=\"searchstax-autosuggest-item\"\n *ngFor=\"let suggestion of suggestions\"\n >\n <div\n class=\"searchstax-autosuggest-item-term-container\"\n [innerHtml]=\"suggestion.term\"\n (mouseover)=\"onMouseOver(suggestion)\"\n (click)=\"onMouseClick($event)\"\n ></div>\n </div>\n </div>\n <button\n class=\"searchstax-spinner-icon\"\n id=\"searchstax-search-input-action-button\"\n ></button>\n </div>\n <div *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n\n <!-- <slot\n name=\"input\"\n :suggestions=\"suggestions\"\n :onMouseClick=\"onMouseClick\"\n :onMouseOver=\"onMouseOver\"\n :onMouseLeave=\"onMouseLeave\"\n ></slot> -->\n </div>\n</div>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
60
|
+
SearchstaxInputWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SearchstaxInputWidget, selector: "app-searchstax-input", inputs: { afterAutosuggest: "afterAutosuggest", beforeAutosuggest: "beforeAutosuggest", searchInputId: "searchInputId", suggestAfterMinChars: "suggestAfterMinChars", templateOverride: "templateOverride" }, ngImport: i0, template: "<div id=\"searchstax-input-container\">\n <div class=\"searchstax-search-input-container\">\n <div *ngIf=\"!templateOverride\" class=\"searchstax-search-input-wrapper\">\n <input\n type=\"text\"\n id=\"searchstax-search-input\"\n class=\"searchstax-search-input\"\n placeholder=\"SEARCH FOR...\"\n />\n <div\n class=\"searchstax-autosuggest-container\"\n [ngClass]=\"{ hidden: suggestions.length === 0 }\"\n (mouseleave)=\"(onMouseLeave)\"\n >\n <div\n class=\"searchstax-autosuggest-item\"\n *ngFor=\"let suggestion of suggestions\"\n >\n <div\n class=\"searchstax-autosuggest-item-term-container\"\n [innerHtml]=\"suggestion.term\"\n (mouseover)=\"onMouseOver(suggestion, context)\"\n (click)=\"onMouseClick($event, context)\"\n ></div>\n </div>\n </div>\n <button\n class=\"searchstax-spinner-icon\"\n id=\"searchstax-search-input-action-button\"\n ></button>\n </div>\n <div *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n\n <!-- <slot\n name=\"input\"\n :suggestions=\"suggestions\"\n :onMouseClick=\"onMouseClick\"\n :onMouseOver=\"onMouseOver\"\n :onMouseLeave=\"onMouseLeave\"\n ></slot> -->\n </div>\n</div>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxInputWidget, decorators: [{
|
|
62
62
|
type: Component,
|
|
63
|
-
args: [{ selector: 'app-searchstax-input', styles: [], template: "<div id=\"searchstax-input-container\">\n <div class=\"searchstax-search-input-container\">\n <div *ngIf=\"!templateOverride\" class=\"searchstax-search-input-wrapper\">\n <input\n type=\"text\"\n id=\"searchstax-search-input\"\n class=\"searchstax-search-input\"\n placeholder=\"SEARCH FOR...\"\n />\n <div\n class=\"searchstax-autosuggest-container\"\n [ngClass]=\"{ hidden: suggestions.length === 0 }\"\n (mouseleave)=\"(onMouseLeave)\"\n >\n <div\n class=\"searchstax-autosuggest-item\"\n *ngFor=\"let suggestion of suggestions\"\n >\n <div\n class=\"searchstax-autosuggest-item-term-container\"\n [innerHtml]=\"suggestion.term\"\n (mouseover)=\"onMouseOver(suggestion)\"\n (click)=\"onMouseClick($event)\"\n ></div>\n </div>\n </div>\n <button\n class=\"searchstax-spinner-icon\"\n id=\"searchstax-search-input-action-button\"\n ></button>\n </div>\n <div *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n\n <!-- <slot\n name=\"input\"\n :suggestions=\"suggestions\"\n :onMouseClick=\"onMouseClick\"\n :onMouseOver=\"onMouseOver\"\n :onMouseLeave=\"onMouseLeave\"\n ></slot> -->\n </div>\n</div>\n" }]
|
|
63
|
+
args: [{ selector: 'app-searchstax-input', styles: [], template: "<div id=\"searchstax-input-container\">\n <div class=\"searchstax-search-input-container\">\n <div *ngIf=\"!templateOverride\" class=\"searchstax-search-input-wrapper\">\n <input\n type=\"text\"\n id=\"searchstax-search-input\"\n class=\"searchstax-search-input\"\n placeholder=\"SEARCH FOR...\"\n />\n <div\n class=\"searchstax-autosuggest-container\"\n [ngClass]=\"{ hidden: suggestions.length === 0 }\"\n (mouseleave)=\"(onMouseLeave)\"\n >\n <div\n class=\"searchstax-autosuggest-item\"\n *ngFor=\"let suggestion of suggestions\"\n >\n <div\n class=\"searchstax-autosuggest-item-term-container\"\n [innerHtml]=\"suggestion.term\"\n (mouseover)=\"onMouseOver(suggestion, context)\"\n (click)=\"onMouseClick($event, context)\"\n ></div>\n </div>\n </div>\n <button\n class=\"searchstax-spinner-icon\"\n id=\"searchstax-search-input-action-button\"\n ></button>\n </div>\n <div *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n\n <!-- <slot\n name=\"input\"\n :suggestions=\"suggestions\"\n :onMouseClick=\"onMouseClick\"\n :onMouseOver=\"onMouseOver\"\n :onMouseLeave=\"onMouseLeave\"\n ></slot> -->\n </div>\n</div>\n" }]
|
|
64
64
|
}], ctorParameters: function () { return [{ type: i1.StoreServiceService }]; }, propDecorators: { afterAutosuggest: [{
|
|
65
65
|
type: Input
|
|
66
66
|
}], beforeAutosuggest: [{
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
72
72
|
}], templateOverride: [{
|
|
73
73
|
type: Input
|
|
74
74
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1pbnB1dC9zZWFyY2hzdGF4LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LWlucHV0L3NlYXJjaHN0YXgtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3RFLE1BQU0sT0FBTyxxQkFBcUI7SUFXaEMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFSbkQsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIseUJBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBR2xDLFVBQUssR0FBeUMsRUFBRSxDQUFDO1FBQ2pELGdCQUFXLEdBQTZCLEVBQUUsQ0FBQTtRQUMxQyxZQUFPLEdBQUcsSUFBSSxDQUFDO0lBRWlELENBQUM7SUFFakUsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLDBEQUEwRDtZQUMxRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQTthQUN2RDtZQUNELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFBO2FBQ3pEO1lBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLDRCQUE0QixFQUFFO29CQUNyRixvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CO29CQUMvQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7b0JBQ2pCLFNBQVMsRUFBRTt3QkFDVCxZQUFZLEVBQUU7NEJBQ1osUUFBUSxFQUFFLEVBQUU7NEJBQ1osYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUkseUJBQXlCO3lCQUMvRDtxQkFDRjtpQkFDRixDQUFDLENBQUE7WUFDSixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQTtTQUNoRTtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsT0FBYTtRQUN6QixPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLHlCQUF5QixFQUFFLENBQUM7UUFDdEYsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSx5QkFBeUIsRUFBRSxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxXQUFXLENBQUMsVUFBaUMsRUFBRSxPQUFhO1FBQzNELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDeEYsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFRLEVBQUUsT0FBYTtRQUNsQyxDQUFDLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUM5QixPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLENBQUE7SUFDN0UsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FDekUsQ0FBQyxXQUF5QyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUNwRCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7O2tIQTdEVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwwUUNUbEMsMDdDQThDQTsyRkRyQ2EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLHNCQUFzQixVQUV4QixFQUFFOzBHQUdELGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVNlYXJjaHN0YXhTRUFSQ0hURVJNLCBJU2VhcmNoc3RheFN1Z2dlc3RQcm9wcywgSVNlYXJjaHN0YXhTdWdnZXN0UmVzcG9uc2UsIElTZWFyY2hzdGF4U3VnZ2VzdGlvbiB9IGZyb20gJ0BzZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtanMnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWFyY2hzdGF4LWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaHN0YXgtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaHN0YXhJbnB1dFdpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGFmdGVyQXV0b3N1Z2dlc3Q/OiAocmVzdWx0OiBJU2VhcmNoc3RheFN1Z2dlc3RSZXNwb25zZSkgPT4gSVNlYXJjaHN0YXhTdWdnZXN0UmVzcG9uc2U7XG4gIEBJbnB1dCgpIGJlZm9yZUF1dG9zdWdnZXN0PzogKHByb3BzOiBJU2VhcmNoc3RheFN1Z2dlc3RQcm9wcykgPT4gSVNlYXJjaHN0YXhTdWdnZXN0UHJvcHMgfCBudWxsXG4gIEBJbnB1dCgpIHNlYXJjaElucHV0SWQgPSAnJztcbiAgQElucHV0KCkgc3VnZ2VzdEFmdGVyTWluQ2hhcnMgPSAzO1xuICBASW5wdXQoKSB0ZW1wbGF0ZU92ZXJyaWRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBob29rczoge1trZXk6IHN0cmluZ106IChwcm9wOiBhbnkpID0+IGFueSB9ID0ge307XG4gIHN1Z2dlc3Rpb25zOiBJU2VhcmNoc3RheFN1Z2dlc3Rpb25bXSA9ICBbXVxuICBjb250ZXh0ID0gdGhpcztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCd0aGlzLnRlbXBsYXRlT3ZlcnJpZGUnLCB0aGlzLnRlbXBsYXRlT3ZlcnJpZGUpO1xuICAgIGlmICh0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheCkge1xuICAgICAgdGhpcy5hdHRhY2hPYnNlcnZhYmxlcygpO1xuICAgICAgLy8gY29uc3QgaG9va3M6IHsgW2tleTogc3RyaW5nXTogKHByb3A6IGFueSkgPT4gYW55IH0gPSB7fVxuICAgICAgaWYgKHRoaXMuYWZ0ZXJBdXRvc3VnZ2VzdCkge1xuICAgICAgICB0aGlzLmhvb2tzWydhZnRlckF1dG9zdWdnZXN0J10gPSB0aGlzLmFmdGVyQXV0b3N1Z2dlc3RcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmJlZm9yZUF1dG9zdWdnZXN0KSB7XG4gICAgICAgIHRoaXMuaG9va3NbJ2JlZm9yZUF1dG9zdWdnZXN0J10gPSB0aGlzLmJlZm9yZUF1dG9zdWdnZXN0XG4gICAgICB9XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguYWRkU2VhcmNoSW5wdXRXaWRnZXQoJ3NlYXJjaHN0YXgtaW5wdXQtY29udGFpbmVyJywge1xuICAgICAgICAgIHN1Z2dlc3RBZnRlck1pbkNoYXJzOiB0aGlzLnN1Z2dlc3RBZnRlck1pbkNoYXJzLFxuICAgICAgICAgIGhvb2tzOiB0aGlzLmhvb2tzLFxuICAgICAgICAgIHRlbXBsYXRlczoge1xuICAgICAgICAgICAgbWFpblRlbXBsYXRlOiB7XG4gICAgICAgICAgICAgIHRlbXBsYXRlOiBgYCxcbiAgICAgICAgICAgICAgc2VhcmNoSW5wdXRJZDogdGhpcy5zZWFyY2hJbnB1dElkID8/ICdzZWFyY2hzdGF4LXNlYXJjaC1pbnB1dCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoJ1NlYXJjaHN0YXggaW5zdGFuY2UgbmVlZHMgdG8gYmUgcGFzc2VkIHZpYSBwcm9wcycpXG4gICAgfVxuICB9XG5cbiAgb25Nb3VzZUxlYXZlKGNvbnRleHQ6IHRoaXMpIHtcbiAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaElucHV0V2lkZ2V0Py5yZXNldEF1dG9zdWdnZXN0U2VsZWN0aW9uKCk7XG4gICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hJbnB1dFdpZGdldD8ubWFya0FjdGl2ZUF1dG9zdWdnZXN0SXRlbSgpO1xuICB9XG5cbiAgb25Nb3VzZU92ZXIoc3VnZ2VzdGlvbjogSVNlYXJjaHN0YXhTdWdnZXN0aW9uLCBjb250ZXh0OiB0aGlzKSB7XG4gICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hJbnB1dFdpZGdldD8ub25TdWdnZXN0aW9uRW50ZXIoc3VnZ2VzdGlvbilcbiAgfVxuXG4gIG9uTW91c2VDbGljayhlOiBFdmVudCwgY29udGV4dDogdGhpcykge1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hJbnB1dFdpZGdldD8uc3VnZ2VzdGlvbkNob3NlbigpXG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJGF1dG9zdWdnZXN0UmVzdWx0cy5zdWJzY3JpYmUoXG4gICAgICAoc3VnZ2VzdGlvbnM6IG51bGwgfCBJU2VhcmNoc3RheFNFQVJDSFRFUk0pID0+IHtcbiAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyA9IHN1Z2dlc3Rpb25zPy5zdWdnZXN0aW9ucyA/PyBbXTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbn1cbiIsIjxkaXYgaWQ9XCJzZWFyY2hzdGF4LWlucHV0LWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCI+XG4gICAgPGRpdiAqbmdJZj1cIiF0ZW1wbGF0ZU92ZXJyaWRlXCIgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1pbnB1dC13cmFwcGVyXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBpZD1cInNlYXJjaHN0YXgtc2VhcmNoLWlucHV0XCJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1pbnB1dFwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU0VBUkNIIEZPUi4uLlwiXG4gICAgICAvPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtYXV0b3N1Z2dlc3QtY29udGFpbmVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBoaWRkZW46IHN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMCB9XCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwiKG9uTW91c2VMZWF2ZSlcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWF1dG9zdWdnZXN0LWl0ZW1cIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1hdXRvc3VnZ2VzdC1pdGVtLXRlcm0tY29udGFpbmVyXCJcbiAgICAgICAgICAgIFtpbm5lckh0bWxdPVwic3VnZ2VzdGlvbi50ZXJtXCJcbiAgICAgICAgICAgIChtb3VzZW92ZXIpPVwib25Nb3VzZU92ZXIoc3VnZ2VzdGlvbiwgY29udGV4dClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW91c2VDbGljaygkZXZlbnQsIGNvbnRleHQpXCJcbiAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zcGlubmVyLWljb25cIlxuICAgICAgICBpZD1cInNlYXJjaHN0YXgtc2VhcmNoLWlucHV0LWFjdGlvbi1idXR0b25cIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ0ZW1wbGF0ZU92ZXJyaWRlXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVPdmVycmlkZTsgY29udGV4dDogY29udGV4dFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIDxzbG90XG4gICAgICBuYW1lPVwiaW5wdXRcIlxuICAgICAgOnN1Z2dlc3Rpb25zPVwic3VnZ2VzdGlvbnNcIlxuICAgICAgOm9uTW91c2VDbGljaz1cIm9uTW91c2VDbGlja1wiXG4gICAgICA6b25Nb3VzZU92ZXI9XCJvbk1vdXNlT3ZlclwiXG4gICAgICA6b25Nb3VzZUxlYXZlPVwib25Nb3VzZUxlYXZlXCJcbiAgICA+PC9zbG90PiAtLT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -42,20 +42,20 @@ export class SearchstaxResultsWidget {
|
|
|
42
42
|
this.metadata = value;
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
resultClicked(result, event) {
|
|
45
|
+
resultClicked(result, event, context) {
|
|
46
46
|
event.preventDefault();
|
|
47
47
|
event.stopPropagation();
|
|
48
|
-
|
|
48
|
+
context.storeServiceService.searchstax.executeLinkClick(result.uniqueId);
|
|
49
49
|
}
|
|
50
50
|
isImage(field) {
|
|
51
51
|
return field.isImage && typeof field.value === 'string';
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
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)\"\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"] }] });
|
|
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
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SearchstaxResultsWidget, decorators: [{
|
|
57
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)\"\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" }]
|
|
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
59
|
}], ctorParameters: function () { return [{ type: i1.StoreServiceService }]; }, propDecorators: { afterLinkClick: [{
|
|
60
60
|
type: Input
|
|
61
61
|
}], noResultsTemplate: [{
|
|
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
63
63
|
}], resultsTemplate: [{
|
|
64
64
|
type: Input
|
|
65
65
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7OztBQVl0RSxNQUFNLE9BQU8sdUJBQXVCO0lBcUJsQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWI1RCxrQkFBYSxHQUFxQyxJQUFJLENBQUM7UUFDdkQsYUFBUSxHQUFxQyxJQUFJLENBQUM7UUFDbEQsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixZQUFPLEdBQUcsSUFBSSxDQUFDO0lBVWdELENBQUM7SUFSaEUsSUFBSSxLQUFLO1FBQ1AsTUFBTSxLQUFLLEdBQTBDLEVBQUUsQ0FBQztRQUN4RCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUMvQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUlELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUN4RCw4QkFBOEIsRUFDOUI7b0JBQ0UsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2lCQUNsQixDQUNGLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUNwRSxDQUFDLE9BQXlDLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUMvQixDQUFDLENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FDdkUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMzQixDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FDNUUsQ0FBQyxLQUFnQyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQStCLEVBQUUsS0FBWTtRQUN6RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBVTtRQUNoQixPQUFPLEtBQUssQ0FBQyxPQUFPLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQTtJQUN6RCxDQUFDOztvSEFwRVUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsd0xDWnBDLDJ2SEE0R0E7MkZEaEdhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSx3QkFBd0IsVUFFMUIsRUFBRTswR0FHRCxjQUFjO3NCQUF0QixLQUFLO2dCQUlHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQge1xuICBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdCxcbiAgSVNlYXJjaHN0YXhTZWFyY2hNZXRhZGF0YSxcbn0gZnJvbSAnQHNlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1qcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWFyY2hzdGF4LXJlc3VsdHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheFJlc3VsdHNXaWRnZXQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBhZnRlckxpbmtDbGljaz86IChcbiAgICByZXN1bHRzOiBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdFxuICApID0+IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0O1xuXG4gIEBJbnB1dCgpIG5vUmVzdWx0c1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgcmVzdWx0c1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBzZWFyY2hSZXN1bHRzOiBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdFtdIHwgbnVsbCA9IG51bGw7XG4gIG1ldGFkYXRhOiBJU2VhcmNoc3RheFNlYXJjaE1ldGFkYXRhIHwgbnVsbCA9IG51bGw7XG4gIHNlYXJjaFRlcm0gPSAnJztcbiAgY29udGV4dCA9IHRoaXM7XG5cbiAgZ2V0IGhvb2tzKCk6IHsgW2tleTogc3RyaW5nXTogKHByb3A6IGFueSkgPT4gYW55IH0ge1xuICAgIGNvbnN0IGhvb2tzOiB7IFtrZXk6IHN0cmluZ106IChwcm9wOiBhbnkpID0+IGFueSB9ID0ge307XG4gICAgaWYgKHRoaXMuYWZ0ZXJMaW5rQ2xpY2spIHtcbiAgICAgIGhvb2tzWydhZnRlckxpbmtDbGljayddID0gdGhpcy5hZnRlckxpbmtDbGljaztcbiAgICB9XG4gICAgcmV0dXJuIGhvb2tzO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZVNlcnZpY2VTZXJ2aWNlOiBTdG9yZVNlcnZpY2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheCkge1xuICAgICAgdGhpcy5hdHRhY2hPYnNlcnZhYmxlcygpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguYWRkU2VhcmNoUmVzdWx0c1dpZGdldChcbiAgICAgICAgICAnc2VhcmNoc3RheC1yZXN1bHRzLWNvbnRhaW5lcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGVtcGxhdGVzOiB7fSxcbiAgICAgICAgICAgIGhvb2tzOiB0aGlzLmhvb2tzLFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcignU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzJyk7XG4gICAgfVxuICB9XG5cbiAgYXR0YWNoT2JzZXJ2YWJsZXMoKSB7XG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRzZWFyY2hSZXN1bHRzLnN1YnNjcmliZShcbiAgICAgIChyZXN1bHRzOiBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdFtdIHwgbnVsbCkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMgPSByZXN1bHRzO1xuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRzZWFyY2hUZXJtQ2hhbmdlLnN1YnNjcmliZShcbiAgICAgIChyZXN1bHQ6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSByZXN1bHQ7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kc2VhcmNoUmVzdWx0c01ldGFkYXRhLnN1YnNjcmliZShcbiAgICAgICh2YWx1ZTogSVNlYXJjaHN0YXhTZWFyY2hNZXRhZGF0YSkgPT4ge1xuICAgICAgICB0aGlzLm1ldGFkYXRhID0gdmFsdWU7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHJlc3VsdENsaWNrZWQocmVzdWx0OiBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdCwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5leGVjdXRlTGlua0NsaWNrKHJlc3VsdC51bmlxdWVJZCk7XG4gIH1cblxuICBpc0ltYWdlKGZpZWxkOiBhbnkpe1xuICAgIHJldHVybiBmaWVsZC5pc0ltYWdlICYmIHR5cGVvZiBmaWVsZC52YWx1ZSA9PT0gJ3N0cmluZydcbiAgfVxufVxuIiwiPGRpdiBpZD1cInNlYXJjaHN0YXgtcmVzdWx0cy1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyXCI+XG4gICAgPGRpdiBpZD1cInNlYXJjaHN0YXgtcmVzdWx0LWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIHNlYXJjaFJlc3VsdHMgJiYgc2VhcmNoUmVzdWx0cy5sZW5ndGggPT09IDAgJiYgIW5vUmVzdWx0c1RlbXBsYXRlXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LW5vLXJlc3VsdHNcIj5cbiAgICAgICAgICBTaG93aW5nIDxzdHJvbmc+bm8gcmVzdWx0czwvc3Ryb25nPiBmb3JcbiAgICAgICAgICA8c3Ryb25nPlwie3sgc2VhcmNoVGVybSB9fVwiPC9zdHJvbmc+XG4gICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhZGF0YT8uc3BlbGxpbmdTdWdnZXN0aW9uXCJcbiAgICAgICAgICAgID4mbmJzcDtEaWQgeW91IG1lYW5cbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzZWFyY2hzdGF4LXN1Z2dlc3Rpb24tdGVybVwiPnt7XG4gICAgICAgICAgICAgIG1ldGFkYXRhPy5zcGVsbGluZ1N1Z2dlc3Rpb25cbiAgICAgICAgICAgIH19PC9hXG4gICAgICAgICAgICA+Pzwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICBUcnkgc2VhcmNoaW5nIGZvciBzZWFyY2ggcmVsYXRlZCB0ZXJtcyBvciB0b3BpY3MuIFdlIG9mZmVyIGEgd2lkZVxuICAgICAgICAgICAgdmFyaWV0eSBvZiBjb250ZW50IHRvIGhlbHAgeW91IGdldCB0aGUgaW5mb3JtYXRpb24geW91IG5lZWQuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPkxvc3Q/IENsaWNrIG9uIHRoZSDigJhY4oCdIGluIHRoZSBTZWFyY2ggQm94IHRvIHJlc2V0IHlvdXIgc2VhcmNoLjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJzZWFyY2hSZXN1bHRzICYmIHNlYXJjaFJlc3VsdHMubGVuZ3RoID09PSAwICYmIG5vUmVzdWx0c1RlbXBsYXRlXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9SZXN1bHRzVGVtcGxhdGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdHNcIlxuICAgICAgICAqbmdJZj1cInNlYXJjaFJlc3VsdHMgJiYgc2VhcmNoUmVzdWx0cy5sZW5ndGggJiYgIXJlc3VsdHNUZW1wbGF0ZVwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaGFzLXRodW1ibmFpbCc6IHNlYXJjaFJlc3VsdC50aHVtYm5haWwgfVwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHNlYXJjaFJlc3VsdCBvZiBzZWFyY2hSZXN1bHRzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0LnByb21vdGVkXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LXByb21vdGVkXCJcbiAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0LnVybFwiXG4gICAgICAgICAgICBbaHJlZl09XCJzZWFyY2hSZXN1bHQudXJsXCJcbiAgICAgICAgICAgIGF0dHIuZGF0YS1zZWFyY2hzdGF4LXVuaXF1ZS1yZXN1bHQtaWQ9XCJzZWFyY2hSZXN1bHQudW5pcXVlSWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlc3VsdENsaWNrZWQoc2VhcmNoUmVzdWx0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1yZXN1bHQtaXRlbS1saW5rXCJcbiAgICAgICAgICA+PC9hPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0LnJpYmJvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1yaWJib25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHNlYXJjaFJlc3VsdC5yaWJib24gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAqbmdJZj1cInNlYXJjaFJlc3VsdC50aHVtYm5haWxcIlxuICAgICAgICAgICAgW3NyY109XCJzZWFyY2hSZXN1bHQudGh1bWJuYWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC10aHVtYm5haWxcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LXRpdGxlXCI+e3tcbiAgICAgICAgICAgICAgc2VhcmNoUmVzdWx0LnRpdGxlXG4gICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cCAqbmdJZj1cInNlYXJjaFJlc3VsdC5wYXRoc1wiIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LWNvbW1vblwiPlxuICAgICAgICAgICAge3sgc2VhcmNoUmVzdWx0LnBhdGhzIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwXG4gICAgICAgICAgICAqbmdJZj1cInNlYXJjaFJlc3VsdC5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1kZXNjcmlwdGlvbiBzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtY29tbW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBzZWFyY2hSZXN1bHQuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdW5tYXBwZWRGaWVsZCBvZiBzZWFyY2hSZXN1bHQudW5tYXBwZWRGaWVsZHNcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc0ltYWdlKHVubWFwcGVkRmllbGQpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtaW1hZ2UtY29udGFpbmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIFtzcmNdPVwidW5tYXBwZWRGaWVsZC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXJlc3VsdC1pbWFnZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNJbWFnZSh1bm1hcHBlZEZpZWxkKVwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1jb21tb25cIj5cbiAgICAgICAgICAgICAgICB7eyB1bm1hcHBlZEZpZWxkLnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwic2VhcmNoUmVzdWx0cyAmJiBzZWFyY2hSZXN1bHRzLmxlbmd0aCAmJiByZXN1bHRzVGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVzdWx0c1RlbXBsYXRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
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
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
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
|