@searchstax-inc/searchstudio-ux-angular 4.1.0 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/searchstax-input/searchstax-input.component.mjs +81 -0
- package/esm2022/lib/components/searchstax-results/searchstax-results.component.mjs +88 -0
- package/esm2022/lib/components/searchstax-search-answer/searchstax-search-answer.component.mjs +47 -0
- package/esm2022/lib/components/searchstax-search-external/searchstax-search-external.component.mjs +41 -0
- package/esm2022/lib/components/searchstax-search-facets/searchstax-search-facets.component.mjs +114 -0
- package/esm2022/lib/components/searchstax-search-location/searchstax-search-location.component.mjs +92 -0
- package/esm2022/lib/components/searchstax-search-overview/searchstax-search-overview.component.mjs +42 -0
- package/esm2022/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.mjs +64 -0
- package/esm2022/lib/components/searchstax-search-related/searchstax-search-related.component.mjs +45 -0
- package/esm2022/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.mjs +46 -0
- package/esm2022/lib/components/searchstax-wrapper.component.mjs +93 -0
- package/esm2022/lib/components/templates/SearchstaxLocationWidgetTemplateConfig.mjs +91 -0
- package/esm2022/lib/components/templates/searchstax-search-answer-template.mjs +119 -0
- package/esm2022/lib/components/templates/searchstax-search-external-template.mjs +107 -0
- package/esm2022/lib/components/templates/searchstax-search-facet-desktop-template.mjs +207 -0
- package/esm2022/lib/components/templates/searchstax-search-facet-mobile-template.mjs +343 -0
- package/esm2022/lib/components/templates/searchstax-search-input-template.mjs +126 -0
- package/esm2022/lib/components/templates/searchstax-search-location-template.mjs +152 -0
- package/esm2022/lib/components/templates/searchstax-search-no-results-template.mjs +85 -0
- package/esm2022/lib/components/templates/searchstax-search-overview-template.mjs +87 -0
- package/esm2022/lib/components/templates/searchstax-search-pagination-infinite-template.mjs +60 -0
- package/esm2022/lib/components/templates/searchstax-search-pagination-template.mjs +96 -0
- package/esm2022/lib/components/templates/searchstax-search-related-template.mjs +81 -0
- package/esm2022/lib/components/templates/searchstax-search-results-template.mjs +175 -0
- package/esm2022/lib/components/templates/searchstax-search-sorting-template.mjs +76 -0
- package/esm2022/lib/searchstudio-ux-angular.module.mjs +138 -0
- package/esm2022/lib/services/store-service.service.mjs +17 -0
- package/esm2022/public-api.mjs +30 -0
- package/esm2022/searchstax-inc-searchstudio-ux-angular.mjs +5 -0
- package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs +2601 -0
- package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/searchstax-input/searchstax-input.component.d.ts +37 -0
- package/lib/components/searchstax-results/searchstax-results.component.d.ts +27 -0
- package/lib/components/searchstax-search-answer/searchstax-search-answer.component.d.ts +19 -0
- package/lib/components/searchstax-search-external/searchstax-search-external.component.d.ts +17 -0
- package/lib/components/searchstax-search-facets/searchstax-search-facets.component.d.ts +37 -0
- package/lib/components/searchstax-search-location/searchstax-search-location.component.d.ts +33 -0
- package/lib/components/searchstax-search-overview/searchstax-search-overview.component.d.ts +17 -0
- package/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.d.ts +21 -0
- package/lib/components/searchstax-search-related/searchstax-search-related.component.d.ts +19 -0
- package/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.d.ts +18 -0
- package/lib/components/searchstax-wrapper.component.d.ts +31 -0
- package/lib/components/templates/SearchstaxLocationWidgetTemplateConfig.d.ts +13 -0
- package/lib/components/templates/searchstax-search-answer-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-external-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-facet-desktop-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-facet-mobile-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-input-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-location-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-no-results-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-overview-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-pagination-infinite-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-pagination-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-related-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-results-template.d.ts +7 -0
- package/lib/components/templates/searchstax-search-sorting-template.d.ts +7 -0
- package/lib/searchstudio-ux-angular.module.d.ts +32 -0
- package/lib/services/store-service.service.d.ts +8 -0
- package/package.json +1 -4
- package/public-api.d.ts +26 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { locationWidgetConfig } from "../templates/SearchstaxLocationWidgetTemplateConfig";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/store-service.service";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "../templates/searchstax-search-input-template";
|
|
7
|
+
export class SearchstaxInputWidget {
|
|
8
|
+
constructor(storeServiceService) {
|
|
9
|
+
this.storeServiceService = storeServiceService;
|
|
10
|
+
this.searchInputId = "";
|
|
11
|
+
this.hooks = {};
|
|
12
|
+
this.suggestions = [];
|
|
13
|
+
this.context = this;
|
|
14
|
+
this.templateData = null;
|
|
15
|
+
this.locationWidgetConfig = locationWidgetConfig;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
if (this.storeServiceService.searchstax) {
|
|
19
|
+
this.attachObservables();
|
|
20
|
+
// const hooks: { [key: string]: (prop: any) => any } = {}
|
|
21
|
+
if (this.afterAutosuggest) {
|
|
22
|
+
this.hooks["afterAutosuggest"] = this.afterAutosuggest;
|
|
23
|
+
}
|
|
24
|
+
if (this.beforeAutosuggest) {
|
|
25
|
+
this.hooks["beforeAutosuggest"] = this.beforeAutosuggest;
|
|
26
|
+
}
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
this.storeServiceService.searchstax.addSearchInputWidget("searchstax-input-container", {
|
|
29
|
+
suggestAfterMinChars: this.suggestAfterMinChars,
|
|
30
|
+
hooks: this.hooks,
|
|
31
|
+
templates: {
|
|
32
|
+
mainTemplate: {
|
|
33
|
+
template: ``,
|
|
34
|
+
searchInputId: this.searchInputId ?? "searchstax-search-input",
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
this.storeServiceService.searchstax.dataLayer.setInputTemplateRendered(true);
|
|
39
|
+
}, 100);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
throw Error("Searchstax instance needs to be passed via props");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
onMouseLeave(context) {
|
|
46
|
+
context.storeServiceService.searchstax.searchInputWidget?.resetAutosuggestSelection();
|
|
47
|
+
context.storeServiceService.searchstax.searchInputWidget?.markActiveAutosuggestItem();
|
|
48
|
+
}
|
|
49
|
+
onMouseOver(suggestion, context) {
|
|
50
|
+
context.storeServiceService.searchstax.searchInputWidget?.onSuggestionEnter(suggestion);
|
|
51
|
+
}
|
|
52
|
+
onMouseClick(e, context) {
|
|
53
|
+
e.stopImmediatePropagation();
|
|
54
|
+
context.storeServiceService.searchstax.searchInputWidget?.suggestionChosen();
|
|
55
|
+
}
|
|
56
|
+
attachObservables() {
|
|
57
|
+
this.storeServiceService.searchstax.dataLayer.$autosuggestResults.subscribe((suggestions) => {
|
|
58
|
+
this.suggestions = suggestions?.suggestions ?? [];
|
|
59
|
+
});
|
|
60
|
+
this.storeServiceService.searchstax.dataLayer.$inputWidgetTemplateData.subscribe((data) => {
|
|
61
|
+
this.templateData = data;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxInputWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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\n class=\"searchstax-search-input-container searchstax-search-input-container-new\"\n [class]=\"{\n 'searchstax-alternative-render': !!templateData?.locationEnabled\n }\"\n >\n <ng-container *ngIf=\"!templateOverride\">\n <app-input-template #ref></app-input-template>\n <ng-template\n *ngTemplateOutlet=\"ref.inputTemplate; context: context\"\n ></ng-template>\n </ng-container>\n <ng-container *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.InputTemplateComponent, selector: "app-input-template" }] }); }
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxInputWidget, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: "app-searchstax-input", template: "<div id=\"searchstax-input-container\">\n <div\n class=\"searchstax-search-input-container searchstax-search-input-container-new\"\n [class]=\"{\n 'searchstax-alternative-render': !!templateData?.locationEnabled\n }\"\n >\n <ng-container *ngIf=\"!templateOverride\">\n <app-input-template #ref></app-input-template>\n <ng-template\n *ngTemplateOutlet=\"ref.inputTemplate; context: context\"\n ></ng-template>\n </ng-container>\n <ng-container *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </ng-container>\n </div>\n</div>\n" }]
|
|
70
|
+
}], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { afterAutosuggest: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], beforeAutosuggest: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], searchInputId: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], suggestAfterMinChars: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], templateOverride: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}] } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1pbnB1dC9zZWFyY2hzdGF4LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LWlucHV0L3NlYXJjaHN0YXgtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBVXRFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7OztBQU8zRixNQUFNLE9BQU8scUJBQXFCO0lBaUJoQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQVZuRCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUk1QixVQUFLLEdBQTBDLEVBQUUsQ0FBQztRQUNsRCxnQkFBVyxHQUE0QixFQUFFLENBQUM7UUFDMUMsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGlCQUFZLEdBQTRDLElBQUksQ0FBQztRQUM3RCx5QkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztJQUVtQixDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsMERBQTBEO1lBQzFELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQ3hEO1lBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDMUQ7WUFDRCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQ3RELDRCQUE0QixFQUM1QjtvQkFDRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CO29CQUMvQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7b0JBQ2pCLFNBQVMsRUFBRTt3QkFDVCxZQUFZLEVBQUU7NEJBQ1osUUFBUSxFQUFFLEVBQUU7NEJBQ1osYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUkseUJBQXlCO3lCQUMvRDtxQkFDRjtpQkFDRixDQUNGLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQ3BFLElBQUksQ0FDTCxDQUFDO1lBQ0osQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1Q7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7U0FDakU7SUFDSCxDQUFDO0lBR0QsWUFBWSxDQUFDLE9BQWE7UUFDeEIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSx5QkFBeUIsRUFBRSxDQUFDO1FBQ3RGLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztJQUN4RixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQWlDLEVBQUUsT0FBYTtRQUMxRCxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUN6RSxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUSxFQUFFLE9BQWE7UUFDbEMsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0lBQy9FLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQ3pFLENBQUMsV0FBeUMsRUFBRSxFQUFFO1lBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDcEQsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQzlFLENBQUMsSUFBNkMsRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzsrR0FqRlUscUJBQXFCO21HQUFyQixxQkFBcUIsMFFDakJsQywrcEJBb0JBOzs0RkRIYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usc0JBQXNCO3dGQUt2QixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSVNlYXJjaHN0YXhMb2NhdGlvbixcbiAgSVNlYXJjaHN0YXhTRUFSQ0hURVJNLFxuICBJU2VhcmNoc3RheFNlYXJjaElucHV0UmVuZGVyRGF0YSxcbiAgSVNlYXJjaHN0YXhTdWdnZXN0UHJvcHMsXG4gIElTZWFyY2hzdGF4U3VnZ2VzdFJlc3BvbnNlLFxuICBJU2VhcmNoc3RheFN1Z2dlc3Rpb24sXG59IGZyb20gXCJAc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWpzXCI7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZVwiO1xuaW1wb3J0IHsgbG9jYXRpb25XaWRnZXRDb25maWcgfSBmcm9tIFwiLi4vdGVtcGxhdGVzL1NlYXJjaHN0YXhMb2NhdGlvbldpZGdldFRlbXBsYXRlQ29uZmlnXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc2VhcmNoc3RheC1pbnB1dFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NlYXJjaHN0YXgtaW5wdXQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheElucHV0V2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYWZ0ZXJBdXRvc3VnZ2VzdD86IChcbiAgICByZXN1bHQ6IElTZWFyY2hzdGF4U3VnZ2VzdFJlc3BvbnNlXG4gICkgPT4gSVNlYXJjaHN0YXhTdWdnZXN0UmVzcG9uc2U7XG4gIEBJbnB1dCgpIGJlZm9yZUF1dG9zdWdnZXN0PzogKFxuICAgIHByb3BzOiBJU2VhcmNoc3RheFN1Z2dlc3RQcm9wc1xuICApID0+IElTZWFyY2hzdGF4U3VnZ2VzdFByb3BzIHwgbnVsbDtcbiAgQElucHV0KCkgc2VhcmNoSW5wdXRJZCA9IFwiXCI7XG4gIEBJbnB1dCgpIHN1Z2dlc3RBZnRlck1pbkNoYXJzPzogbnVtYmVyO1xuICBASW5wdXQoKSB0ZW1wbGF0ZU92ZXJyaWRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBob29rczogeyBba2V5OiBzdHJpbmddOiAocHJvcDogYW55KSA9PiBhbnkgfSA9IHt9O1xuICBzdWdnZXN0aW9uczogSVNlYXJjaHN0YXhTdWdnZXN0aW9uW10gPSBbXTtcbiAgY29udGV4dCA9IHRoaXM7XG4gIHRlbXBsYXRlRGF0YTogbnVsbCB8IElTZWFyY2hzdGF4U2VhcmNoSW5wdXRSZW5kZXJEYXRhID0gbnVsbDtcbiAgbG9jYXRpb25XaWRnZXRDb25maWcgPSBsb2NhdGlvbldpZGdldENvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG4gICAgICAvLyBjb25zdCBob29rczogeyBba2V5OiBzdHJpbmddOiAocHJvcDogYW55KSA9PiBhbnkgfSA9IHt9XG4gICAgICBpZiAodGhpcy5hZnRlckF1dG9zdWdnZXN0KSB7XG4gICAgICAgIHRoaXMuaG9va3NbXCJhZnRlckF1dG9zdWdnZXN0XCJdID0gdGhpcy5hZnRlckF1dG9zdWdnZXN0O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuYmVmb3JlQXV0b3N1Z2dlc3QpIHtcbiAgICAgICAgdGhpcy5ob29rc1tcImJlZm9yZUF1dG9zdWdnZXN0XCJdID0gdGhpcy5iZWZvcmVBdXRvc3VnZ2VzdDtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5hZGRTZWFyY2hJbnB1dFdpZGdldChcbiAgICAgICAgICBcInNlYXJjaHN0YXgtaW5wdXQtY29udGFpbmVyXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3VnZ2VzdEFmdGVyTWluQ2hhcnM6IHRoaXMuc3VnZ2VzdEFmdGVyTWluQ2hhcnMsXG4gICAgICAgICAgICBob29rczogdGhpcy5ob29rcyxcbiAgICAgICAgICAgIHRlbXBsYXRlczoge1xuICAgICAgICAgICAgICBtYWluVGVtcGxhdGU6IHtcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogYGAsXG4gICAgICAgICAgICAgICAgc2VhcmNoSW5wdXRJZDogdGhpcy5zZWFyY2hJbnB1dElkID8/IFwic2VhcmNoc3RheC1zZWFyY2gtaW5wdXRcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuc2V0SW5wdXRUZW1wbGF0ZVJlbmRlcmVkKFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzXCIpO1xuICAgIH1cbiAgfVxuXG5cbiAgb25Nb3VzZUxlYXZlKGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hJbnB1dFdpZGdldD8ucmVzZXRBdXRvc3VnZ2VzdFNlbGVjdGlvbigpO1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaElucHV0V2lkZ2V0Py5tYXJrQWN0aXZlQXV0b3N1Z2dlc3RJdGVtKCk7XG4gIH1cblxuICBvbk1vdXNlT3ZlcihzdWdnZXN0aW9uOiBJU2VhcmNoc3RheFN1Z2dlc3Rpb24sIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hJbnB1dFdpZGdldD8ub25TdWdnZXN0aW9uRW50ZXIoXG4gICAgICBzdWdnZXN0aW9uXG4gICAgKTtcbiAgfVxuXG4gIG9uTW91c2VDbGljayhlOiBFdmVudCwgY29udGV4dDogdGhpcykge1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoSW5wdXRXaWRnZXQ/LnN1Z2dlc3Rpb25DaG9zZW4oKTtcbiAgfVxuXG4gIGF0dGFjaE9ic2VydmFibGVzKCkge1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kYXV0b3N1Z2dlc3RSZXN1bHRzLnN1YnNjcmliZShcbiAgICAgIChzdWdnZXN0aW9uczogbnVsbCB8IElTZWFyY2hzdGF4U0VBUkNIVEVSTSkgPT4ge1xuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zID0gc3VnZ2VzdGlvbnM/LnN1Z2dlc3Rpb25zID8/IFtdO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJGlucHV0V2lkZ2V0VGVtcGxhdGVEYXRhLnN1YnNjcmliZShcbiAgICAgIChkYXRhOiBudWxsIHwgSVNlYXJjaHN0YXhTZWFyY2hJbnB1dFJlbmRlckRhdGEpID0+IHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZURhdGEgPSBkYXRhO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJzZWFyY2hzdGF4LWlucHV0LWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1pbnB1dC1jb250YWluZXIgc2VhcmNoc3RheC1zZWFyY2gtaW5wdXQtY29udGFpbmVyLW5ld1wiXG4gICAgW2NsYXNzXT1cIntcbiAgICAgICdzZWFyY2hzdGF4LWFsdGVybmF0aXZlLXJlbmRlcic6ICEhdGVtcGxhdGVEYXRhPy5sb2NhdGlvbkVuYWJsZWRcbiAgICB9XCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGVtcGxhdGVPdmVycmlkZVwiPlxuICAgICAgPGFwcC1pbnB1dC10ZW1wbGF0ZSAjcmVmPjwvYXBwLWlucHV0LXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVmLmlucHV0VGVtcGxhdGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlT3ZlcnJpZGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZU92ZXJyaWRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
import * as i3 from "../templates/searchstax-search-results-template";
|
|
6
|
+
import * as i4 from "../templates/searchstax-search-no-results-template";
|
|
7
|
+
export class SearchstaxResultsWidget {
|
|
8
|
+
get hooks() {
|
|
9
|
+
const hooks = {};
|
|
10
|
+
if (this.afterLinkClick) {
|
|
11
|
+
hooks['afterLinkClick'] = this.afterLinkClick;
|
|
12
|
+
}
|
|
13
|
+
return hooks;
|
|
14
|
+
}
|
|
15
|
+
constructor(storeServiceService) {
|
|
16
|
+
this.storeServiceService = storeServiceService;
|
|
17
|
+
this.searchResults = null;
|
|
18
|
+
this.metadata = null;
|
|
19
|
+
this.searchTerm = '';
|
|
20
|
+
this.context = this;
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
if (this.storeServiceService.searchstax) {
|
|
24
|
+
this.attachObservables();
|
|
25
|
+
setTimeout(() => {
|
|
26
|
+
this.storeServiceService.searchstax.addSearchResultsWidget('searchstax-results-container', {
|
|
27
|
+
templates: {},
|
|
28
|
+
hooks: this.hooks,
|
|
29
|
+
renderMethod: this.renderMethod ?? "pagination",
|
|
30
|
+
resultsPerPage: this.resultsPerPage,
|
|
31
|
+
});
|
|
32
|
+
}, 0);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
throw Error('Searchstax instance needs to be passed via props');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
executeSearch(term, event, context) {
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
context.storeServiceService.searchstax.executeSearch(term);
|
|
41
|
+
}
|
|
42
|
+
attachObservables() {
|
|
43
|
+
this.storeServiceService.searchstax.dataLayer.$searchResults.subscribe((results) => {
|
|
44
|
+
const current = this.searchResults ? [...this.searchResults] : [];
|
|
45
|
+
const newResults = results ?? [];
|
|
46
|
+
const resultsCombined = this.renderMethod === "infiniteScroll"
|
|
47
|
+
? [...current, ...newResults]
|
|
48
|
+
: results;
|
|
49
|
+
if (this.storeServiceService.searchstax.dataLayer.$searchObject.value?.page === 1) {
|
|
50
|
+
this.searchResults = newResults;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.searchResults = resultsCombined;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
this.storeServiceService.searchstax.dataLayer.$searchTermChange.subscribe((result) => {
|
|
57
|
+
this.searchTerm = result;
|
|
58
|
+
});
|
|
59
|
+
this.storeServiceService.searchstax.dataLayer.$searchResultsMetadata.subscribe((value) => {
|
|
60
|
+
this.metadata = value;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
resultClicked(result, event, context) {
|
|
64
|
+
event.preventDefault();
|
|
65
|
+
event.stopPropagation();
|
|
66
|
+
context.storeServiceService.searchstax.executeLinkClick(result.uniqueId);
|
|
67
|
+
}
|
|
68
|
+
isImage(field) {
|
|
69
|
+
return field.isImage && typeof field.value === 'string';
|
|
70
|
+
}
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxResultsWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxResultsWidget, selector: "app-searchstax-results", inputs: { afterLinkClick: "afterLinkClick", noResultsTemplate: "noResultsTemplate", resultsTemplate: "resultsTemplate", renderMethod: "renderMethod", resultsPerPage: "resultsPerPage" }, ngImport: i0, template: "<div id=\"searchstax-results-container\">\n <section aria-label=\"search results container\" tabindex=\"0\">\n <div\n class=\"searchstax-search-results-container\"\n id=\"searchstax-search-results-container\"\n >\n <div id=\"searchstax-result-container\">\n <div\n *ngIf=\"\n searchResults?.length === 0 &&\n searchTerm !== '' &&\n searchTerm !== '*' &&\n storeServiceService.searchstax.dataLayer.parsedData\n .firstSearchHappened &&\n !noResultsTemplate\n \"\n >\n <app-no-results-template #ref></app-no-results-template>\n <ng-template\n *ngTemplateOutlet=\"ref.noResultsTemplate; context: context\"\n ></ng-template>\n </div>\n <div\n *ngIf=\"\n searchResults?.length === 0 &&\n searchTerm !== '' &&\n searchTerm !== '*' &&\n storeServiceService.searchstax.dataLayer.parsedData\n .firstSearchHappened &&\n noResultsTemplate\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: context\"\n ></ng-container>\n </div>\n\n <ng-container\n *ngIf=\"searchResults && searchResults.length && !resultsTemplate\"\n >\n <app-results-template #ref></app-results-template>\n <ng-template\n *ngTemplateOutlet=\"ref.resultsTemplate; context: context\"\n ></ng-template>\n </ng-container>\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 </section>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ResultsTemplateComponent, selector: "app-results-template" }, { kind: "component", type: i4.NoResultsTemplateComponent, selector: "app-no-results-template" }] }); }
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxResultsWidget, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{ selector: 'app-searchstax-results', template: "<div id=\"searchstax-results-container\">\n <section aria-label=\"search results container\" tabindex=\"0\">\n <div\n class=\"searchstax-search-results-container\"\n id=\"searchstax-search-results-container\"\n >\n <div id=\"searchstax-result-container\">\n <div\n *ngIf=\"\n searchResults?.length === 0 &&\n searchTerm !== '' &&\n searchTerm !== '*' &&\n storeServiceService.searchstax.dataLayer.parsedData\n .firstSearchHappened &&\n !noResultsTemplate\n \"\n >\n <app-no-results-template #ref></app-no-results-template>\n <ng-template\n *ngTemplateOutlet=\"ref.noResultsTemplate; context: context\"\n ></ng-template>\n </div>\n <div\n *ngIf=\"\n searchResults?.length === 0 &&\n searchTerm !== '' &&\n searchTerm !== '*' &&\n storeServiceService.searchstax.dataLayer.parsedData\n .firstSearchHappened &&\n noResultsTemplate\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: context\"\n ></ng-container>\n </div>\n\n <ng-container\n *ngIf=\"searchResults && searchResults.length && !resultsTemplate\"\n >\n <app-results-template #ref></app-results-template>\n <ng-template\n *ngTemplateOutlet=\"ref.resultsTemplate; context: context\"\n ></ng-template>\n </ng-container>\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 </section>\n</div>\n" }]
|
|
77
|
+
}], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { afterLinkClick: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], noResultsTemplate: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], resultsTemplate: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], renderMethod: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], resultsPerPage: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}] } });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBWXRFLE1BQU0sT0FBTyx1QkFBdUI7SUFlbEMsSUFBSSxLQUFLO1FBQ1AsTUFBTSxLQUFLLEdBQTBDLEVBQUUsQ0FBQztRQUN4RCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUMvQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFlBQW1CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBYjNELGtCQUFhLEdBQXFDLElBQUksQ0FBQztRQUN2RCxhQUFRLEdBQXFDLElBQUksQ0FBQztRQUNsRCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFVK0MsQ0FBQztJQUUvRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBRXpCLFVBQVUs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cEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQge1xuICBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdCxcbiAgSVNlYXJjaHN0YXhTZWFyY2hNZXRhZGF0YSxcbn0gZnJvbSAnQHNlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1qcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWFyY2hzdGF4LXJlc3VsdHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheFJlc3VsdHNXaWRnZXQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBhZnRlckxpbmtDbGljaz86IChcbiAgICByZXN1bHRzOiBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdFxuICApID0+IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0O1xuXG4gIEBJbnB1dCgpIG5vUmVzdWx0c1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgcmVzdWx0c1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgcmVuZGVyTWV0aG9kPzogXCJpbmZpbml0ZVNjcm9sbFwiIHwgXCJwYWdpbmF0aW9uXCI7XG4gIEBJbnB1dCgpIHJlc3VsdHNQZXJQYWdlPzogbnVtYmVyO1xuXG4gIHNlYXJjaFJlc3VsdHM6IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0W10gfCBudWxsID0gbnVsbDtcbiAgbWV0YWRhdGE6IElTZWFyY2hzdGF4U2VhcmNoTWV0YWRhdGEgfCBudWxsID0gbnVsbDtcbiAgc2VhcmNoVGVybSA9ICcnO1xuICBjb250ZXh0ID0gdGhpcztcblxuICBnZXQgaG9va3MoKTogeyBba2V5OiBzdHJpbmddOiAocHJvcDogYW55KSA9PiBhbnkgfSB7XG4gICAgY29uc3QgaG9va3M6IHsgW2tleTogc3RyaW5nXTogKHByb3A6IGFueSkgPT4gYW55IH0gPSB7fTtcbiAgICBpZiAodGhpcy5hZnRlckxpbmtDbGljaykge1xuICAgICAgaG9va3NbJ2FmdGVyTGlua0NsaWNrJ10gPSB0aGlzLmFmdGVyTGlua0NsaWNrO1xuICAgIH1cbiAgICByZXR1cm4gaG9va3M7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RvcmVTZXJ2aWNlU2VydmljZTogU3RvcmVTZXJ2aWNlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXgpIHtcbiAgICAgIHRoaXMuYXR0YWNoT2JzZXJ2YWJsZXMoKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFkZFNlYXJjaFJlc3VsdHNXaWRnZXQoXG4gICAgICAgICAgJ3NlYXJjaHN0YXgtcmVzdWx0cy1jb250YWluZXInLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRlbXBsYXRlczoge30sXG4gICAgICAgICAgICBob29rczogdGhpcy5ob29rcyxcbiAgICAgICAgICAgIHJlbmRlck1ldGhvZDogdGhpcy5yZW5kZXJNZXRob2QgPz8gXCJwYWdpbmF0aW9uXCIsXG4gICAgICAgICAgICByZXN1bHRzUGVyUGFnZTogdGhpcy5yZXN1bHRzUGVyUGFnZSxcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoJ1NlYXJjaHN0YXggaW5zdGFuY2UgbmVlZHMgdG8gYmUgcGFzc2VkIHZpYSBwcm9wcycpO1xuICAgIH1cbiAgfVxuXG4gIGV4ZWN1dGVTZWFyY2godGVybTogc3RyaW5nLCBldmVudDogRXZlbnQsIGNvbnRleHQ6IHRoaXMpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmV4ZWN1dGVTZWFyY2godGVybSk7XG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaFJlc3VsdHMuc3Vic2NyaWJlKFxuICAgICAgKHJlc3VsdHM6IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0W10gfCBudWxsKSA9PiB7XG5cbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuc2VhcmNoUmVzdWx0cyA/IFsuLi50aGlzLnNlYXJjaFJlc3VsdHNdIDogW107XG4gICAgICAgIGNvbnN0IG5ld1Jlc3VsdHMgPSByZXN1bHRzID8/IFtdO1xuICAgICAgICBjb25zdCByZXN1bHRzQ29tYmluZWQgPVxuICAgICAgICAgIHRoaXMucmVuZGVyTWV0aG9kID09PSBcImluZmluaXRlU2Nyb2xsXCJcbiAgICAgICAgICAgID8gWy4uLmN1cnJlbnQsIC4uLm5ld1Jlc3VsdHNdXG4gICAgICAgICAgICA6IHJlc3VsdHM7XG4gICAgICAgIGlmICh0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaE9iamVjdC52YWx1ZT8ucGFnZSA9PT0gMSkge1xuICAgICAgICAgIHRoaXMuc2VhcmNoUmVzdWx0cyA9IG5ld1Jlc3VsdHM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzID0gcmVzdWx0c0NvbWJpbmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaFRlcm1DaGFuZ2Uuc3Vic2NyaWJlKFxuICAgICAgKHJlc3VsdDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGVybSA9IHJlc3VsdDtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRzZWFyY2hSZXN1bHRzTWV0YWRhdGEuc3Vic2NyaWJlKFxuICAgICAgKHZhbHVlOiBJU2VhcmNoc3RheFNlYXJjaE1ldGFkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMubWV0YWRhdGEgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcmVzdWx0Q2xpY2tlZChyZXN1bHQ6IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0LCBldmVudDogRXZlbnQsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmV4ZWN1dGVMaW5rQ2xpY2socmVzdWx0LnVuaXF1ZUlkKTtcbiAgfVxuXG4gIGlzSW1hZ2UoZmllbGQ6IGFueSl7XG4gICAgcmV0dXJuIGZpZWxkLmlzSW1hZ2UgJiYgdHlwZW9mIGZpZWxkLnZhbHVlID09PSAnc3RyaW5nJ1xuICB9XG59XG4iLCI8ZGl2IGlkPVwic2VhcmNoc3RheC1yZXN1bHRzLWNvbnRhaW5lclwiPlxuICA8c2VjdGlvbiBhcmlhLWxhYmVsPVwic2VhcmNoIHJlc3VsdHMgY29udGFpbmVyXCIgdGFiaW5kZXg9XCIwXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lclwiXG4gICAgICBpZD1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyXCJcbiAgICA+XG4gICAgICA8ZGl2IGlkPVwic2VhcmNoc3RheC1yZXN1bHQtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgc2VhcmNoUmVzdWx0cz8ubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgICBzZWFyY2hUZXJtICE9PSAnJyAmJlxuICAgICAgICAgICAgc2VhcmNoVGVybSAhPT0gJyonICYmXG4gICAgICAgICAgICBzdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLnBhcnNlZERhdGFcbiAgICAgICAgICAgICAgLmZpcnN0U2VhcmNoSGFwcGVuZWQgJiZcbiAgICAgICAgICAgICFub1Jlc3VsdHNUZW1wbGF0ZVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLW5vLXJlc3VsdHMtdGVtcGxhdGUgI3JlZj48L2FwcC1uby1yZXN1bHRzLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWYubm9SZXN1bHRzVGVtcGxhdGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBzZWFyY2hSZXN1bHRzPy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAgIHNlYXJjaFRlcm0gIT09ICcnICYmXG4gICAgICAgICAgICBzZWFyY2hUZXJtICE9PSAnKicgJiZcbiAgICAgICAgICAgIHN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIucGFyc2VkRGF0YVxuICAgICAgICAgICAgICAuZmlyc3RTZWFyY2hIYXBwZW5lZCAmJlxuICAgICAgICAgICAgbm9SZXN1bHRzVGVtcGxhdGVcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub1Jlc3VsdHNUZW1wbGF0ZTsgY29udGV4dDogY29udGV4dFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hSZXN1bHRzICYmIHNlYXJjaFJlc3VsdHMubGVuZ3RoICYmICFyZXN1bHRzVGVtcGxhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFwcC1yZXN1bHRzLXRlbXBsYXRlICNyZWY+PC9hcHAtcmVzdWx0cy10ZW1wbGF0ZT5cbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVmLnJlc3VsdHNUZW1wbGF0ZTsgY29udGV4dDogY29udGV4dFwiXG4gICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzZWFyY2hSZXN1bHRzICYmIHNlYXJjaFJlc3VsdHMubGVuZ3RoICYmIHJlc3VsdHNUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVzdWx0c1RlbXBsYXRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
|
package/esm2022/lib/components/searchstax-search-answer/searchstax-search-answer.component.mjs
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
import * as i3 from "../templates/searchstax-search-answer-template";
|
|
6
|
+
export class SearchstaxSearchAnswerWidget {
|
|
7
|
+
constructor(storeServiceService) {
|
|
8
|
+
this.storeServiceService = storeServiceService;
|
|
9
|
+
this.answerData = null;
|
|
10
|
+
this.rand = Math.random();
|
|
11
|
+
this.context = this;
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
if (this.storeServiceService.searchstax) {
|
|
15
|
+
this.attachObservables();
|
|
16
|
+
setTimeout(() => {
|
|
17
|
+
this.storeServiceService.searchstax.addAnswerWidget('searchstax-answer-container' + this.rand, { showMoreAfterWordCount: this.showMoreAfterWordCount, feedbackwidget: this.feedbackwidget });
|
|
18
|
+
}, 0);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
throw Error("Searchstax instance needs to be passed via props");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
showMore(event, context) {
|
|
25
|
+
if (context.storeServiceService.searchstax) {
|
|
26
|
+
context.storeServiceService.searchstax.answerWidget?.showMore(event);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
attachObservables() {
|
|
30
|
+
this.storeServiceService.searchstax.dataLayer.$answerData.subscribe((answerData) => {
|
|
31
|
+
this.answerData = answerData;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchAnswerWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchAnswerWidget, selector: "app-searchstax-answer", inputs: { templateOverride: "templateOverride", feedbackwidget: "feedbackwidget", showMoreAfterWordCount: "showMoreAfterWordCount" }, ngImport: i0, template: "<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <app-answer-template #ref></app-answer-template>\n <ng-template\n [ngTemplateOutlet]=\"ref.answerTemplate\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-template>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.AnswerTemplateComponent, selector: "app-answer-template" }] }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchAnswerWidget, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: "app-searchstax-answer", template: "<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <app-answer-template #ref></app-answer-template>\n <ng-template\n [ngTemplateOutlet]=\"ref.answerTemplate\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-template>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
|
|
40
|
+
}], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { templateOverride: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], feedbackwidget: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], showMoreAfterWordCount: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}] } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIvc2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIvc2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTdEUsTUFBTSxPQUFPLDRCQUE0QjtJQVF2QyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUg1RCxlQUFVLEdBQWlDLElBQUksQ0FBQztRQUNoRCxTQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFDZ0QsQ0FBQztJQUVoRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDLENBQUM7WUFDN0wsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7U0FDakU7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVksRUFBRSxPQUFhO1FBQ2xDLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRTtZQUMxQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckU7SUFDSCxDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FDakUsQ0FBQyxVQUF3QyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDL0IsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOytHQWxDVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixtTUNUekMsOHFCQTRCQTs7NEZEbkJhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSx1QkFBdUI7d0ZBS3hCLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSUZlZWRiYWNrV2lkZ2V0UHJvcGVydGllcywgSVNlYXJjaHN0YXhBbnN3ZXJEYXRhIH0gZnJvbSBcIkBzZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtanNcIjtcbmltcG9ydCB7IFN0b3JlU2VydmljZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmUtc2VydmljZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc2VhcmNoc3RheC1hbnN3ZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheFNlYXJjaEFuc3dlcldpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHRlbXBsYXRlT3ZlcnJpZGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBmZWVkYmFja3dpZGdldD86IElGZWVkYmFja1dpZGdldFByb3BlcnRpZXM7XG4gIEBJbnB1dCgpIHNob3dNb3JlQWZ0ZXJXb3JkQ291bnQ/OiBudW1iZXI7XG5cbiAgYW5zd2VyRGF0YTogbnVsbCB8IElTZWFyY2hzdGF4QW5zd2VyRGF0YSA9IG51bGw7XG4gIHJhbmQgPSBNYXRoLnJhbmRvbSgpO1xuICBjb250ZXh0ID0gdGhpcztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZVNlcnZpY2VTZXJ2aWNlOiBTdG9yZVNlcnZpY2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheCkge1xuICAgICAgdGhpcy5hdHRhY2hPYnNlcnZhYmxlcygpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFkZEFuc3dlcldpZGdldCgnc2VhcmNoc3RheC1hbnN3ZXItY29udGFpbmVyJyArIHRoaXMucmFuZCwge3Nob3dNb3JlQWZ0ZXJXb3JkQ291bnQ6IHRoaXMuc2hvd01vcmVBZnRlcldvcmRDb3VudCwgZmVlZGJhY2t3aWRnZXQ6IHRoaXMuZmVlZGJhY2t3aWRnZXR9KTtcbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihcIlNlYXJjaHN0YXggaW5zdGFuY2UgbmVlZHMgdG8gYmUgcGFzc2VkIHZpYSBwcm9wc1wiKTtcbiAgICB9XG4gIH1cblxuICBzaG93TW9yZShldmVudDogRXZlbnQsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBpZiAoY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXgpIHtcbiAgICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFuc3dlcldpZGdldD8uc2hvd01vcmUoZXZlbnQpXG4gICAgfVxuICB9XG5cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJGFuc3dlckRhdGEuc3Vic2NyaWJlKFxuICAgICAgKGFuc3dlckRhdGE6IG51bGwgfCBJU2VhcmNoc3RheEFuc3dlckRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5hbnN3ZXJEYXRhID0gYW5zd2VyRGF0YTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IFtpZF09XCInc2VhcmNoc3RheC1hbnN3ZXItY29udGFpbmVyJyArIHJhbmRcIj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICBhbnN3ZXJEYXRhICYmXG4gICAgICBhbnN3ZXJEYXRhPy5zZWFyY2hFeGVjdXRlZCAmJlxuICAgICAgYW5zd2VyRGF0YS5zaG91bGRTaG93QW5zd2VyICYmXG4gICAgICAhdGVtcGxhdGVPdmVycmlkZVxuICAgIFwiXG4gID5cbiAgICA8YXBwLWFuc3dlci10ZW1wbGF0ZSAjcmVmPjwvYXBwLWFuc3dlci10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlZi5hbnN3ZXJUZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiY29udGV4dFwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgKm5nSWY9XCJcbiAgICAgIGFuc3dlckRhdGEgJiZcbiAgICAgIGFuc3dlckRhdGE/LnNlYXJjaEV4ZWN1dGVkICYmXG4gICAgICBhbnN3ZXJEYXRhLnNob3VsZFNob3dBbnN3ZXIgJiZcbiAgICAgIHRlbXBsYXRlT3ZlcnJpZGVcbiAgICBcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZU92ZXJyaWRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
package/esm2022/lib/components/searchstax-search-external/searchstax-search-external.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
|
+
import * as i3 from "../templates/searchstax-search-external-template";
|
|
6
|
+
export class SearchstaxSearchExternalPromotionsWidget {
|
|
7
|
+
constructor(storeServiceService) {
|
|
8
|
+
this.storeServiceService = storeServiceService;
|
|
9
|
+
this.externalPromotionsData = null;
|
|
10
|
+
this.rand = Math.random();
|
|
11
|
+
this.context = this;
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
if (this.storeServiceService.searchstax) {
|
|
15
|
+
this.attachObservables();
|
|
16
|
+
setTimeout(() => {
|
|
17
|
+
this.storeServiceService.searchstax.addExternalPromotionsWidget("searchstax-external-promotions-layout-container" + this.rand, {});
|
|
18
|
+
}, 0);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
throw Error("Searchstax instance needs to be passed via props");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
trackClick(externalPromotion, event, context) {
|
|
25
|
+
context.storeServiceService.searchstax.externalPromotionsWidget?.trackClick(externalPromotion, event);
|
|
26
|
+
}
|
|
27
|
+
attachObservables() {
|
|
28
|
+
this.storeServiceService.searchstax.dataLayer.$searchExternalPromotionsData.subscribe((externalPromotionsData) => {
|
|
29
|
+
this.externalPromotionsData = externalPromotionsData;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchExternalPromotionsWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchExternalPromotionsWidget, selector: "app-searchstax-external-promotions", inputs: { templateOverride: "templateOverride" }, ngImport: i0, template: "<div [id]=\"'searchstax-external-promotions-layout-container' + rand\">\n <ng-container\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n !templateOverride\n \"\n >\n <app-external-template #ref></app-external-template>\n <ng-template\n *ngTemplateOutlet=\"ref.externalPromotionsTemplate; context: context\"\n ></ng-template>\n </ng-container>\n <div\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ExternalPromotionsTemplateComponent, selector: "app-external-template" }] }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchExternalPromotionsWidget, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: "app-searchstax-external-promotions", template: "<div [id]=\"'searchstax-external-promotions-layout-container' + rand\">\n <ng-container\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n !templateOverride\n \"\n >\n <app-external-template #ref></app-external-template>\n <ng-template\n *ngTemplateOutlet=\"ref.externalPromotionsTemplate; context: context\"\n ></ng-template>\n </ng-container>\n <div\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
|
|
38
|
+
}], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { templateOverride: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}] } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZXh0ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1leHRlcm5hbC9zZWFyY2hzdGF4LXNlYXJjaC1leHRlcm5hbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU3RFLE1BQU0sT0FBTyx3Q0FBd0M7SUFNbkQsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFINUQsMkJBQXNCLEdBQTZDLElBQUksQ0FBQztRQUN4RSxTQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFDZ0QsQ0FBQztJQUVoRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FDN0QsaURBQWlELEdBQUcsSUFBSSxDQUFDLElBQUksRUFDN0QsRUFBRSxDQUNILENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsaUJBQXFDLEVBQUUsS0FBWSxFQUFFLE9BQWE7UUFDM0UsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxVQUFVLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLFNBQVMsQ0FDbkYsQ0FBQyxzQkFBZ0UsRUFBRSxFQUFFO1lBQ25FLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztRQUN2RCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBaENVLHdDQUF3QzttR0FBeEMsd0NBQXdDLDRIQ1RyRCw0eEJBMkJBOzs0RkRsQmEsd0NBQXdDO2tCQUxwRCxTQUFTOytCQUNFLG9DQUFvQzt3RkFLckMsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJRXh0ZXJuYWxQcm9tb3Rpb24sIElTZWFyY2hzdGF4RXh0ZXJuYWxQcm9tb3Rpb25zRGF0YSB9IGZyb20gXCJAc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWpzXCI7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLXNlYXJjaHN0YXgtZXh0ZXJuYWwtcHJvbW90aW9uc1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaHN0YXhTZWFyY2hFeHRlcm5hbFByb21vdGlvbnNXaWRnZXQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0ZW1wbGF0ZU92ZXJyaWRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBleHRlcm5hbFByb21vdGlvbnNEYXRhOiBudWxsIHwgSVNlYXJjaHN0YXhFeHRlcm5hbFByb21vdGlvbnNEYXRhID0gbnVsbDtcbiAgcmFuZCA9IE1hdGgucmFuZG9tKCk7XG4gIGNvbnRleHQgPSB0aGlzO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguYWRkRXh0ZXJuYWxQcm9tb3Rpb25zV2lkZ2V0KFxuICAgICAgICAgIFwic2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb25zLWxheW91dC1jb250YWluZXJcIiArIHRoaXMucmFuZCxcbiAgICAgICAgICB7fVxuICAgICAgICApO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzXCIpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQ2xpY2soZXh0ZXJuYWxQcm9tb3Rpb246IElFeHRlcm5hbFByb21vdGlvbiwgZXZlbnQ6IEV2ZW50LCBjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZXh0ZXJuYWxQcm9tb3Rpb25zV2lkZ2V0Py50cmFja0NsaWNrKGV4dGVybmFsUHJvbW90aW9uLCBldmVudCk7XG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaEV4dGVybmFsUHJvbW90aW9uc0RhdGEuc3Vic2NyaWJlKFxuICAgICAgKGV4dGVybmFsUHJvbW90aW9uc0RhdGE6IG51bGwgfCBJU2VhcmNoc3RheEV4dGVybmFsUHJvbW90aW9uc0RhdGEpID0+IHtcbiAgICAgICAgdGhpcy5leHRlcm5hbFByb21vdGlvbnNEYXRhID0gZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IFtpZF09XCInc2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb25zLWxheW91dC1jb250YWluZXInICsgcmFuZFwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGV4dGVybmFsUHJvbW90aW9uc0RhdGEgJiZcbiAgICAgIGV4dGVybmFsUHJvbW90aW9uc0RhdGE/LnNlYXJjaEV4ZWN1dGVkICYmXG4gICAgICBleHRlcm5hbFByb21vdGlvbnNEYXRhPy5oYXNFeHRlcm5hbFByb21vdGlvbnMgJiZcbiAgICAgICF0ZW1wbGF0ZU92ZXJyaWRlXG4gICAgXCJcbiAgPlxuICAgIDxhcHAtZXh0ZXJuYWwtdGVtcGxhdGUgI3JlZj48L2FwcC1leHRlcm5hbC10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVmLmV4dGVybmFsUHJvbW90aW9uc1RlbXBsYXRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXZcbiAgICAqbmdJZj1cIlxuICAgICAgZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YSAmJlxuICAgICAgZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YT8uc2VhcmNoRXhlY3V0ZWQgJiZcbiAgICAgIGV4dGVybmFsUHJvbW90aW9uc0RhdGE/Lmhhc0V4dGVybmFsUHJvbW90aW9ucyAmJlxuICAgICAgdGVtcGxhdGVPdmVycmlkZVxuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlT3ZlcnJpZGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
package/esm2022/lib/components/searchstax-search-facets/searchstax-search-facets.component.mjs
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
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
|
+
import * as i3 from "../templates/searchstax-search-facet-desktop-template";
|
|
6
|
+
import * as i4 from "../templates/searchstax-search-facet-mobile-template";
|
|
7
|
+
export class SearchstaxSearchFacetsWidget {
|
|
8
|
+
// @ViewChildren("facetContainers") facetContainers: QueryList<ElementRef>;
|
|
9
|
+
constructor(storeServiceService) {
|
|
10
|
+
this.storeServiceService = storeServiceService;
|
|
11
|
+
this.facetsTemplateDataDesktop = null;
|
|
12
|
+
this.facetsTemplateDataMobile = null;
|
|
13
|
+
this.context = this;
|
|
14
|
+
this.selectedFacetsCheckboxes = [];
|
|
15
|
+
this.selectedFacetsRange = [];
|
|
16
|
+
this.rand = Math.random();
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
if (this.storeServiceService.searchstax) {
|
|
20
|
+
this.attachObservables();
|
|
21
|
+
setTimeout(() => {
|
|
22
|
+
this.addWidget();
|
|
23
|
+
}, 0);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
throw Error("Searchstax instance needs to be passed via props");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
addWidget() {
|
|
30
|
+
this.storeServiceService.searchstax.addFacetsWidget('searchstax-facets-container' + this.rand, {
|
|
31
|
+
facetingType: this.facetingType,
|
|
32
|
+
specificFacets: this.specificFacets,
|
|
33
|
+
itemsPerPageDesktop: this.itemsPerPageDesktop,
|
|
34
|
+
itemsPerPageMobile: this.itemsPerPageMobile
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
attachObservables() {
|
|
38
|
+
this.storeServiceService.searchstax.dataLayer.$facetsTemplateData.subscribe((data) => {
|
|
39
|
+
if (data?.isMobile) {
|
|
40
|
+
this.facetsTemplateDataMobile = data;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.facetsTemplateDataDesktop = data;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
this.storeServiceService.searchstax.dataLayer.$selectedFacetsTemplateData.subscribe((data) => {
|
|
47
|
+
const da = data ?? [];
|
|
48
|
+
this.selectedFacetsCheckboxes = da.filter((d) => d.type === 'checkbox');
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
unselectFacet(facet, context) {
|
|
52
|
+
context.storeServiceService.searchstax.searchFacetsWidget?.unselectFacet(facet);
|
|
53
|
+
}
|
|
54
|
+
unselectAll(context) {
|
|
55
|
+
context.storeServiceService.searchstax.searchFacetsWidget?.removeSelectedFacets();
|
|
56
|
+
}
|
|
57
|
+
isNotDeactivated(name, context) {
|
|
58
|
+
return !context.storeServiceService.searchstax.searchFacetsWidget?.deactivatedFacets[name];
|
|
59
|
+
}
|
|
60
|
+
toggleFacetGroup(name, context) {
|
|
61
|
+
if (context.storeServiceService.searchstax.searchFacetsWidget)
|
|
62
|
+
if (context.isNotDeactivated(name, context)) {
|
|
63
|
+
context.storeServiceService.searchstax.searchFacetsWidget.deactivatedFacets[name] = true;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
context.storeServiceService.searchstax.searchFacetsWidget.deactivatedFacets[name] = false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
isChecked(facetValue, context) {
|
|
70
|
+
return context.storeServiceService.searchstax.searchFacetsWidget?.isChecked(facetValue);
|
|
71
|
+
}
|
|
72
|
+
selectFacet(el, event, data, isInput, context) {
|
|
73
|
+
const wrapperDiv = document.createElement('div');
|
|
74
|
+
wrapperDiv.innerHTML = el.outerHTML;
|
|
75
|
+
context.storeServiceService.searchstax.searchFacetsWidget?.onFacetSelect(event, data, el, isInput);
|
|
76
|
+
}
|
|
77
|
+
showMoreLessDesktop(e, data, context) {
|
|
78
|
+
context.storeServiceService.searchstax.searchFacetsWidget?.onShowMoreLessClick(e, data, false);
|
|
79
|
+
}
|
|
80
|
+
showMoreLessMobile(e, data, context) {
|
|
81
|
+
context.storeServiceService.searchstax.searchFacetsWidget?.onShowMoreLessClick(e, data, true);
|
|
82
|
+
}
|
|
83
|
+
openOverlay(context) {
|
|
84
|
+
context.storeServiceService.searchstax.searchFacetsWidget?.openOverlay();
|
|
85
|
+
}
|
|
86
|
+
closeOverlay(context) {
|
|
87
|
+
context.storeServiceService.searchstax.searchFacetsWidget?.closeOverlay();
|
|
88
|
+
}
|
|
89
|
+
facetValues(facet) {
|
|
90
|
+
return facet.values;
|
|
91
|
+
}
|
|
92
|
+
facetMobileData(facet) {
|
|
93
|
+
return facet;
|
|
94
|
+
}
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchFacetsWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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 <ng-container\n *ngIf=\"\n facetsTemplateDataDesktop?.hasResultsOrExternalPromotions &&\n !templateOverrideDesktop\n \"\n >\n <app-facet-desktop-template #ref></app-facet-desktop-template>\n <ng-template\n *ngTemplateOutlet=\"ref.templateOverrideDesktop; context: context\"\n ></ng-template>\n </ng-container>\n\n <div\n *ngIf=\"\n facetsTemplateDataDesktop?.hasResultsOrExternalPromotions &&\n templateOverrideDesktop\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverrideDesktop; context: context\"\n ></ng-container>\n </div>\n\n <ng-container\n *ngIf=\"\n facetsTemplateDataMobile?.hasResultsOrExternalPromotions &&\n !templateOverrideMobile\n \"\n >\n <app-facet-mobile-template #ref></app-facet-mobile-template>\n <ng-template\n *ngTemplateOutlet=\"ref.templateOverrideMobile; context: context\"\n ></ng-template>\n </ng-container>\n\n <div\n *ngIf=\"\n facetsTemplateDataMobile?.hasResultsOrExternalPromotions &&\n templateOverrideMobile\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverrideMobile; context: context\"\n ></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.FacetDesktopTemplateComponent, selector: "app-facet-desktop-template" }, { kind: "component", type: i4.FacetMobileTemplateComponent, selector: "app-facet-mobile-template" }] }); }
|
|
97
|
+
}
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchFacetsWidget, decorators: [{
|
|
99
|
+
type: Component,
|
|
100
|
+
args: [{ selector: "app-searchstax-search-facets", template: "<div [id]=\"'searchstax-facets-container' + rand\">\n <ng-container\n *ngIf=\"\n facetsTemplateDataDesktop?.hasResultsOrExternalPromotions &&\n !templateOverrideDesktop\n \"\n >\n <app-facet-desktop-template #ref></app-facet-desktop-template>\n <ng-template\n *ngTemplateOutlet=\"ref.templateOverrideDesktop; context: context\"\n ></ng-template>\n </ng-container>\n\n <div\n *ngIf=\"\n facetsTemplateDataDesktop?.hasResultsOrExternalPromotions &&\n templateOverrideDesktop\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverrideDesktop; context: context\"\n ></ng-container>\n </div>\n\n <ng-container\n *ngIf=\"\n facetsTemplateDataMobile?.hasResultsOrExternalPromotions &&\n !templateOverrideMobile\n \"\n >\n <app-facet-mobile-template #ref></app-facet-mobile-template>\n <ng-template\n *ngTemplateOutlet=\"ref.templateOverrideMobile; context: context\"\n ></ng-template>\n </ng-container>\n\n <div\n *ngIf=\"\n facetsTemplateDataMobile?.hasResultsOrExternalPromotions &&\n templateOverrideMobile\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverrideMobile; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
|
|
101
|
+
}], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { templateOverrideMobile: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], templateOverrideDesktop: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], facetingType: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], itemsPerPageDesktop: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], itemsPerPageMobile: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], specificFacets: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}] } });
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHMvc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHMvc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUEyRCxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU3RILE1BQU0sT0FBTyw0QkFBNEI7SUFldkMsMkVBQTJFO0lBQzNFLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBUjVELDhCQUF5QixHQUErQixJQUFJLENBQUM7UUFDN0QsNkJBQXdCLEdBQStCLElBQUksQ0FBQztRQUM1RCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsNkJBQXdCLEdBQWtCLEVBQUUsQ0FBQztRQUM3Qyx3QkFBbUIsR0FBdUIsRUFBRSxDQUFDO1FBQzdDLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFHMEMsQ0FBQztJQUVoRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lB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RyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSUZhY2V0RGF0YSwgSUZhY2V0VmFsdWUsIElGYWNldFZhbHVlRGF0YSwgSUZhY2V0VmFsdWVSYW5nZSwgSUZhY2V0c1RlbXBsYXRlRGF0YSwgSVBhZ2luYXRpb25EYXRhLCBJU2VhcmNoT2JqZWN0IH0gZnJvbSBcIkBzZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtanNcIjtcbmltcG9ydCB7IFN0b3JlU2VydmljZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmUtc2VydmljZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaHN0YXhTZWFyY2hGYWNldHNXaWRnZXQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0ZW1wbGF0ZU92ZXJyaWRlTW9iaWxlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgdGVtcGxhdGVPdmVycmlkZURlc2t0b3A/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBmYWNldGluZ1R5cGUhOiBcImFuZFwiIHwgXCJvclwiIHwgXCJzaG93VW5hdmFpbGFibGVcIiB8IFwidGFic1wiO1xuICBASW5wdXQoKSBpdGVtc1BlclBhZ2VEZXNrdG9wITogbnVtYmVyO1xuICBASW5wdXQoKSBpdGVtc1BlclBhZ2VNb2JpbGUhOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNwZWNpZmljRmFjZXRzITogc3RyaW5nW107XG5cbiAgZmFjZXRzVGVtcGxhdGVEYXRhRGVza3RvcDogbnVsbCB8IElGYWNldHNUZW1wbGF0ZURhdGEgPSBudWxsO1xuICBmYWNldHNUZW1wbGF0ZURhdGFNb2JpbGU6IG51bGwgfCBJRmFjZXRzVGVtcGxhdGVEYXRhID0gbnVsbDtcbiAgY29udGV4dCA9IHRoaXM7XG4gIHNlbGVjdGVkRmFjZXRzQ2hlY2tib3hlczogSUZhY2V0VmFsdWVbXSA9IFtdO1xuICBzZWxlY3RlZEZhY2V0c1JhbmdlOiBJRmFjZXRWYWx1ZVJhbmdlW10gPSBbXTtcbiAgcmFuZCA9IE1hdGgucmFuZG9tKCk7XG5cbiAgLy8gQFZpZXdDaGlsZHJlbihcImZhY2V0Q29udGFpbmVyc1wiKSBmYWNldENvbnRhaW5lcnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZVNlcnZpY2VTZXJ2aWNlOiBTdG9yZVNlcnZpY2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheCkge1xuICAgICAgdGhpcy5hdHRhY2hPYnNlcnZhYmxlcygpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYWRkV2lkZ2V0KCk7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoXCJTZWFyY2hzdGF4IGluc3RhbmNlIG5lZWRzIHRvIGJlIHBhc3NlZCB2aWEgcHJvcHNcIik7XG4gICAgfVxuICB9XG5cbiAgYWRkV2lkZ2V0KCkge1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFkZEZhY2V0c1dpZGdldCgnc2VhcmNoc3RheC1mYWNldHMtY29udGFpbmVyJyArIHRoaXMucmFuZCwge1xuICAgICAgZmFjZXRpbmdUeXBlOiB0aGlzLmZhY2V0aW5nVHlwZSxcbiAgICAgIHNwZWNpZmljRmFjZXRzOiB0aGlzLnNwZWNpZmljRmFjZXRzLFxuICAgICAgaXRlbXNQZXJQYWdlRGVza3RvcDogdGhpcy5pdGVtc1BlclBhZ2VEZXNrdG9wLFxuICAgICAgaXRlbXNQZXJQYWdlTW9iaWxlOiB0aGlzLml0ZW1zUGVyUGFnZU1vYmlsZVxuICAgIH0pXG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJGZhY2V0c1RlbXBsYXRlRGF0YS5zdWJzY3JpYmUoXG4gICAgICAoZGF0YTogbnVsbCB8IElGYWNldHNUZW1wbGF0ZURhdGEpID0+IHtcbiAgICAgICAgaWYgKGRhdGE/LmlzTW9iaWxlKSB7XG4gICAgICAgICAgdGhpcy5mYWNldHNUZW1wbGF0ZURhdGFNb2JpbGUgPSBkYXRhO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mYWNldHNUZW1wbGF0ZURhdGFEZXNrdG9wID0gZGF0YTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlbGVjdGVkRmFjZXRzVGVtcGxhdGVEYXRhLnN1YnNjcmliZShcbiAgICAgIChkYXRhOiBudWxsIHwgKElGYWNldFZhbHVlIHwgSUZhY2V0VmFsdWVSYW5nZSlbXSkgPT4ge1xuICAgICAgICBjb25zdCBkYSA9IGRhdGEgPz8gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGYWNldHNDaGVja2JveGVzID0gZGEuZmlsdGVyKChkKSA9PiBkLnR5cGUgPT09ICdjaGVja2JveCcpIGFzIElGYWNldFZhbHVlW107XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG5cbiAgdW5zZWxlY3RGYWNldChmYWNldDogSUZhY2V0VmFsdWUsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQ/LnVuc2VsZWN0RmFjZXQoZmFjZXQpXG4gIH1cblxuICB1bnNlbGVjdEFsbChjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5yZW1vdmVTZWxlY3RlZEZhY2V0cygpXG4gIH1cblxuICBpc05vdERlYWN0aXZhdGVkKG5hbWU6IHN0cmluZywgY29udGV4dDogdGhpcykge1xuICAgIHJldHVybiAhY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5kZWFjdGl2YXRlZEZhY2V0c1tuYW1lXVxuICB9XG5cbiAgdG9nZ2xlRmFjZXRHcm91cChuYW1lOiBzdHJpbmcsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBpZihjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQpXG4gICAgaWYgKGNvbnRleHQuaXNOb3REZWFjdGl2YXRlZChuYW1lLCBjb250ZXh0KSkge1xuICAgICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0LmRlYWN0aXZhdGVkRmFjZXRzW25hbWVdID0gdHJ1ZVxuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQuZGVhY3RpdmF0ZWRGYWNldHNbbmFtZV0gPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGlzQ2hlY2tlZChmYWNldFZhbHVlOiBJRmFjZXRWYWx1ZURhdGEsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICByZXR1cm4gY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5pc0NoZWNrZWQoZmFjZXRWYWx1ZSlcbiAgfVxuXG4gIHNlbGVjdEZhY2V0KGVsOiBIVE1MRGl2RWxlbWVudCwgZXZlbnQ6IEV2ZW50LCBkYXRhOiBJRmFjZXRWYWx1ZURhdGEsIGlzSW5wdXQ6IGJvb2xlYW4sIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb25zdCB3cmFwcGVyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgd3JhcHBlckRpdi5pbm5lckhUTUwgPSBlbC5vdXRlckhUTUw7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5vbkZhY2V0U2VsZWN0KGV2ZW50LCBkYXRhLCBlbCwgaXNJbnB1dClcblxuICB9XG5cbiAgc2hvd01vcmVMZXNzRGVza3RvcChlOiBFdmVudCwgZGF0YTogSUZhY2V0RGF0YSwgY29udGV4dDogdGhpcykge1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8ub25TaG93TW9yZUxlc3NDbGljayhlLCBkYXRhLCBmYWxzZSlcbiAgfVxuXG4gIHNob3dNb3JlTGVzc01vYmlsZShlOiBFdmVudCwgZGF0YTogSUZhY2V0RGF0YSwgY29udGV4dDogdGhpcykge1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8ub25TaG93TW9yZUxlc3NDbGljayhlLCBkYXRhLCB0cnVlKVxuICB9XG5cbiAgb3Blbk92ZXJsYXkoY29udGV4dDogdGhpcykge1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8ub3Blbk92ZXJsYXkoKTtcbiAgfVxuXG4gIGNsb3NlT3ZlcmxheShjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5jbG9zZU92ZXJsYXkoKTtcbiAgfVxuXG4gIGZhY2V0VmFsdWVzKGZhY2V0OiBJRmFjZXREYXRhKSA6IElGYWNldFZhbHVlRGF0YVtdIHtcbiAgICByZXR1cm4gZmFjZXQudmFsdWVzIGFzIElGYWNldFZhbHVlRGF0YVtdO1xuICB9XG5cbiAgZmFjZXRNb2JpbGVEYXRhKGZhY2V0OiBJRmFjZXRzVGVtcGxhdGVEYXRhIHwgbnVsbCkgOiBhbnkge1xuICAgIHJldHVybiBmYWNldCBhcyBhbnlcbiAgfVxufVxuIiwiPGRpdiBbaWRdPVwiJ3NlYXJjaHN0YXgtZmFjZXRzLWNvbnRhaW5lcicgKyByYW5kXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgZmFjZXRzVGVtcGxhdGVEYXRhRGVza3RvcD8uaGFzUmVzdWx0c09yRXh0ZXJuYWxQcm9tb3Rpb25zICYmXG4gICAgICAhdGVtcGxhdGVPdmVycmlkZURlc2t0b3BcbiAgICBcIlxuICA+XG4gICAgPGFwcC1mYWNldC1kZXNrdG9wLXRlbXBsYXRlICNyZWY+PC9hcHAtZmFjZXQtZGVza3RvcC10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVmLnRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICBmYWNldHNUZW1wbGF0ZURhdGFEZXNrdG9wPy5oYXNSZXN1bHRzT3JFeHRlcm5hbFByb21vdGlvbnMgJiZcbiAgICAgIHRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wXG4gICAgXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVPdmVycmlkZURlc2t0b3A7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBmYWNldHNUZW1wbGF0ZURhdGFNb2JpbGU/Lmhhc1Jlc3VsdHNPckV4dGVybmFsUHJvbW90aW9ucyAmJlxuICAgICAgIXRlbXBsYXRlT3ZlcnJpZGVNb2JpbGVcbiAgICBcIlxuICA+XG4gICAgPGFwcC1mYWNldC1tb2JpbGUtdGVtcGxhdGUgI3JlZj48L2FwcC1mYWNldC1tb2JpbGUtdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInJlZi50ZW1wbGF0ZU92ZXJyaWRlTW9iaWxlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICBmYWNldHNUZW1wbGF0ZURhdGFNb2JpbGU/Lmhhc1Jlc3VsdHNPckV4dGVybmFsUHJvbW90aW9ucyAmJlxuICAgICAgdGVtcGxhdGVPdmVycmlkZU1vYmlsZVxuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlT3ZlcnJpZGVNb2JpbGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
package/esm2022/lib/components/searchstax-search-location/searchstax-search-location.component.mjs
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
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
|
+
import * as i3 from "../templates/searchstax-search-location-template";
|
|
6
|
+
export class SearchstaxSearchLocationWidget {
|
|
7
|
+
constructor(storeServiceService) {
|
|
8
|
+
this.storeServiceService = storeServiceService;
|
|
9
|
+
this.locationData = null;
|
|
10
|
+
this.inputValue = "";
|
|
11
|
+
this.selectValue = "";
|
|
12
|
+
this.locationAdded = false;
|
|
13
|
+
this.locationError = false;
|
|
14
|
+
this.rand = Math.random();
|
|
15
|
+
this.context = this;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
if (this.storeServiceService.searchstax) {
|
|
19
|
+
this.attachObservables();
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
this.addWidget();
|
|
22
|
+
}, 100);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
throw Error("Searchstax instance needs to be passed via props");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
locationBlur(context) {
|
|
29
|
+
context.storeServiceService.searchstax.searchLocationWidget?.triggerGeocoder(context.inputValue);
|
|
30
|
+
}
|
|
31
|
+
radiusChange(e, context) {
|
|
32
|
+
const target = e.target;
|
|
33
|
+
context.selectValue = target.value;
|
|
34
|
+
context.storeServiceService.searchstax.searchLocationWidget?.setRadiusValue(context.selectValue);
|
|
35
|
+
}
|
|
36
|
+
inputChange(e, context) {
|
|
37
|
+
const target = e.target;
|
|
38
|
+
context.inputValue = target.value;
|
|
39
|
+
}
|
|
40
|
+
getCurrentLocation(context) {
|
|
41
|
+
context.storeServiceService.searchstax.searchLocationWidget?.getCurrentLocation();
|
|
42
|
+
}
|
|
43
|
+
addWidget() {
|
|
44
|
+
if (!this.locationAdded &&
|
|
45
|
+
this.storeServiceService.searchstax.routerHelper) {
|
|
46
|
+
this.locationAdded = true;
|
|
47
|
+
this.storeServiceService.searchstax.addSearchLocationWidget("searchstax-location-container" + this.rand, {
|
|
48
|
+
hooks: {
|
|
49
|
+
locationDecode: this.locationDecode,
|
|
50
|
+
locationDecodeCoordinatesToAddress: this.locationDecodeCoordinatesToAddress,
|
|
51
|
+
},
|
|
52
|
+
locationSearchEnabled: this.locationSearchEnabled,
|
|
53
|
+
locationValuesOverride: this.locationValuesOverride,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
attachObservables() {
|
|
58
|
+
this.storeServiceService.searchstax.dataLayer.$locationWidgetTemplateData.subscribe((sortingData) => {
|
|
59
|
+
this.locationData = sortingData;
|
|
60
|
+
});
|
|
61
|
+
this.storeServiceService.searchstax.dataLayer.$searchObject.subscribe((result) => {
|
|
62
|
+
this.inputValue = result.location.address ?? "";
|
|
63
|
+
this.selectValue = result.location.radius || "";
|
|
64
|
+
});
|
|
65
|
+
this.storeServiceService.searchstax.dataLayer.$locationError.subscribe((locationError) => {
|
|
66
|
+
this.locationError = locationError;
|
|
67
|
+
});
|
|
68
|
+
this.storeServiceService.searchstax.dataLayer.$searchLocationChange.subscribe((location) => {
|
|
69
|
+
this.inputValue = location;
|
|
70
|
+
});
|
|
71
|
+
this.storeServiceService.searchstax.dataLayer.$searchRadiusChange.subscribe((radius) => {
|
|
72
|
+
this.selectValue = radius;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchLocationWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchLocationWidget, selector: "app-searchstax-search-location", inputs: { templateOverride: "templateOverride", locationSearchEnabled: "locationSearchEnabled", locationValuesOverride: "locationValuesOverride", locationDecode: "locationDecode", locationDecodeCoordinatesToAddress: "locationDecodeCoordinatesToAddress" }, ngImport: i0, template: "<div\n [id]=\"'searchstax-location-container' + rand\"\n class=\"searchstax-location-container\"\n>\n <div *ngIf=\"!!locationData && !templateOverride\">\n <app-location-template #ref></app-location-template>\n <ng-template\n *ngTemplateOutlet=\"ref.locationTemplate; context: context\"\n ></ng-template>\n </div>\n\n <div *ngIf=\"!!locationData && templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.LocationTemplateComponent, selector: "app-location-template" }] }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchLocationWidget, decorators: [{
|
|
79
|
+
type: Component,
|
|
80
|
+
args: [{ selector: "app-searchstax-search-location", template: "<div\n [id]=\"'searchstax-location-container' + rand\"\n class=\"searchstax-location-container\"\n>\n <div *ngIf=\"!!locationData && !templateOverride\">\n <app-location-template #ref></app-location-template>\n <ng-template\n *ngTemplateOutlet=\"ref.locationTemplate; context: context\"\n ></ng-template>\n </div>\n\n <div *ngIf=\"!!locationData && templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
|
|
81
|
+
}], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { templateOverride: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], locationSearchEnabled: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], locationValuesOverride: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], locationDecode: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], locationDecodeCoordinatesToAddress: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}] } });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaHN0YXgtc2VhcmNoLWxvY2F0aW9uL3NlYXJjaHN0YXgtc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1sb2NhdGlvbi9zZWFyY2hzdGF4LXNlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBWXRFLE1BQU0sT0FBTyw4QkFBOEI7SUF3QnpDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBUjVELGlCQUFZLEdBQXlDLElBQUksQ0FBQztRQUMxRCxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGdCQUFXLEdBQW9CLEVBQUUsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixTQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXJCLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFDZ0QsQ0FBQztJQUVoRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFD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QUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FDekUsQ0FBQyxNQUF1QixFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7UUFDNUIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOytHQTlHVSw4QkFBOEI7bUdBQTlCLDhCQUE4QixzVUNaM0Msa2dCQWlCQTs7NEZETGEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLGdDQUFnQzt3RkFLakMsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxrQ0FBa0M7c0JBQTFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIElTZWFyY2hzdGF4TG9jYXRpb24sXG4gIElTZWFyY2hzdGF4TG9jYXRpb25SZW5kZXJEYXRhLFxufSBmcm9tIFwiQHNlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1qc1wiO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zdG9yZS1zZXJ2aWNlLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFwcC1zZWFyY2hzdGF4LXNlYXJjaC1sb2NhdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NlYXJjaHN0YXgtc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaHN0YXhTZWFyY2hMb2NhdGlvbldpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHRlbXBsYXRlT3ZlcnJpZGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBsb2NhdGlvblNlYXJjaEVuYWJsZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBsb2NhdGlvblZhbHVlc092ZXJyaWRlPzoge1xuICAgIGxvY2F0aW9uRGlzdGFuY2VFbmFibGVkOiBib29sZWFuOyAvLyBpZiBzZXQgdG8gdHJ1ZSBsb2NhdGlvbiBkaXN0YW5jZSBkcm9wZG93biB3aWxsIGJlIHNob3duXG4gICAgZmlsdGVyVmFsdWVzOiBzdHJpbmdbXTsgLy8gYXJyYXkgb2YgbG9jYXRpb24gZmlsdGVyIHZhbHVlcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBvbmVzXG4gICAgZmlsdGVyVW5pdDogc3RyaW5nOyAvLyB1bml0IG9mIHRoZSBsb2NhdGlvbiBmaWx0ZXIgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgb25lXG4gIH1cbiAgQElucHV0KCkgbG9jYXRpb25EZWNvZGUhOiAoXG4gICAgbG9jYXRpb25OYW1lOiBzdHJpbmdcbiAgKSA9PiBQcm9taXNlPElTZWFyY2hzdGF4TG9jYXRpb24+O1xuICBASW5wdXQoKSBsb2NhdGlvbkRlY29kZUNvb3JkaW5hdGVzVG9BZGRyZXNzITogKFxuICAgIGxhdDogc3RyaW5nLFxuICAgIGxvbjogc3RyaW5nXG4gICkgPT4gUHJvbWlzZTxJU2VhcmNoc3RheExvY2F0aW9uPjtcblxuICBsb2NhdGlvbkRhdGE6IG51bGwgfCBJU2VhcmNoc3RheExvY2F0aW9uUmVuZGVyRGF0YSA9IG51bGw7XG4gIGlucHV0VmFsdWU6IHN0cmluZyA9IFwiXCI7XG4gIHNlbGVjdFZhbHVlOiBzdHJpbmcgfCBudW1iZXIgPSBcIlwiO1xuICBsb2NhdGlvbkFkZGVkID0gZmFsc2U7XG4gIGxvY2F0aW9uRXJyb3IgPSBmYWxzZTtcbiAgcmFuZCA9IE1hdGgucmFuZG9tKCk7XG5cbiAgY29udGV4dCA9IHRoaXM7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmVTZXJ2aWNlU2VydmljZTogU3RvcmVTZXJ2aWNlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXgpIHtcbiAgICAgIHRoaXMuYXR0YWNoT2JzZXJ2YWJsZXMoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmFkZFdpZGdldCgpO1xuICAgICAgfSwgMTAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoXCJTZWFyY2hzdGF4IGluc3RhbmNlIG5lZWRzIHRvIGJlIHBhc3NlZCB2aWEgcHJvcHNcIik7XG4gICAgfVxuICB9XG5cbiAgbG9jYXRpb25CbHVyKGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hMb2NhdGlvbldpZGdldD8udHJpZ2dlckdlb2NvZGVyKFxuICAgICAgY29udGV4dC5pbnB1dFZhbHVlXG4gICAgKTtcbiAgfVxuICByYWRpdXNDaGFuZ2UoZTogRXZlbnQsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudDtcbiAgICBjb250ZXh0LnNlbGVjdFZhbHVlID0gdGFyZ2V0LnZhbHVlO1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaExvY2F0aW9uV2lkZ2V0Py5zZXRSYWRpdXNWYWx1ZShcbiAgICAgIGNvbnRleHQuc2VsZWN0VmFsdWVcbiAgICApO1xuICB9XG4gIGlucHV0Q2hhbmdlKGU6IEV2ZW50LCBjb250ZXh0OiB0aGlzKSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb250ZXh0LmlucHV0VmFsdWUgPSB0YXJnZXQudmFsdWU7XG4gIH1cblxuICBnZXRDdXJyZW50TG9jYXRpb24oY29udGV4dDogdGhpcyl7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoTG9jYXRpb25XaWRnZXQ/LmdldEN1cnJlbnRMb2NhdGlvbigpO1xuICB9XG5cbiAgYWRkV2lkZ2V0KCkge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmxvY2F0aW9uQWRkZWQgJiZcbiAgICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnJvdXRlckhlbHBlclxuICAgICkge1xuICAgICAgdGhpcy5sb2NhdGlvbkFkZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFkZFNlYXJjaExvY2F0aW9uV2lkZ2V0KFxuICAgICAgICBcInNlYXJjaHN0YXgtbG9jYXRpb24tY29udGFpbmVyXCIgKyB0aGlzLnJhbmQsXG4gICAgICAgIHtcbiAgICAgICAgICBob29rczoge1xuICAgICAgICAgICAgbG9jYXRpb25EZWNvZGU6IHRoaXMubG9jYXRpb25EZWNvZGUsXG4gICAgICAgICAgICBsb2NhdGlvbkRlY29kZUNvb3JkaW5hdGVzVG9BZGRyZXNzOlxuICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uRGVjb2RlQ29vcmRpbmF0ZXNUb0FkZHJlc3MsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsb2NhdGlvblNlYXJjaEVuYWJsZWQ6IHRoaXMubG9jYXRpb25TZWFyY2hFbmFibGVkLFxuICAgICAgICAgIGxvY2F0aW9uVmFsdWVzT3ZlcnJpZGU6IHRoaXMubG9jYXRpb25WYWx1ZXNPdmVycmlkZSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJGxvY2F0aW9uV2lkZ2V0VGVtcGxhdGVEYXRhLnN1YnNjcmliZShcbiAgICAgIChzb3J0aW5nRGF0YTogbnVsbCB8IElTZWFyY2hzdGF4TG9jYXRpb25SZW5kZXJEYXRhKSA9PiB7XG4gICAgICAgIHRoaXMubG9jYXRpb25EYXRhID0gc29ydGluZ0RhdGE7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kc2VhcmNoT2JqZWN0LnN1YnNjcmliZShcbiAgICAgIChyZXN1bHQpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gcmVzdWx0LmxvY2F0aW9uLmFkZHJlc3MgPz8gXCJcIjtcbiAgICAgICAgdGhpcy5zZWxlY3RWYWx1ZSA9IHJlc3VsdC5sb2NhdGlvbi5yYWRpdXMgfHwgXCJcIjtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRsb2NhdGlvbkVycm9yLnN1YnNjcmliZShcbiAgICAgICAgKGxvY2F0aW9uRXJyb3I6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICB0aGlzLmxvY2F0aW9uRXJyb3IgPSBsb2NhdGlvbkVycm9yO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRzZWFyY2hMb2NhdGlvbkNoYW5nZS5zdWJzY3JpYmUoXG4gICAgICAobG9jYXRpb246IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSBsb2NhdGlvbjtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRzZWFyY2hSYWRpdXNDaGFuZ2Uuc3Vic2NyaWJlKFxuICAgICAgKHJhZGl1czogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0VmFsdWUgPSByYWRpdXM7XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdlxuICBbaWRdPVwiJ3NlYXJjaHN0YXgtbG9jYXRpb24tY29udGFpbmVyJyArIHJhbmRcIlxuICBjbGFzcz1cInNlYXJjaHN0YXgtbG9jYXRpb24tY29udGFpbmVyXCJcbj5cbiAgPGRpdiAqbmdJZj1cIiEhbG9jYXRpb25EYXRhICYmICF0ZW1wbGF0ZU92ZXJyaWRlXCI+XG4gICAgPGFwcC1sb2NhdGlvbi10ZW1wbGF0ZSAjcmVmPjwvYXBwLWxvY2F0aW9uLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWYubG9jYXRpb25UZW1wbGF0ZTsgY29udGV4dDogY29udGV4dFwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCIhIWxvY2F0aW9uRGF0YSAmJiB0ZW1wbGF0ZU92ZXJyaWRlXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZU92ZXJyaWRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|