@searchspring/snap-controller 0.68.0 → 0.69.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.
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAa,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,4BAA4B,EAAiC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElI,OAAO,KAAK,EAAE,wBAAwB,EAAgE,MAAM,2BAA2B,CAAC;AAexI,eAAO,MAAM,WAAW,MAAM,CAAC;AA+B/B,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;IAE7B,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CACd,MAAM,EACN;YACC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,MAAM,CAAC,EAAE,OAAO,CAAC;SACjB,CACD,CAAC;KACF,CAEC;gBAGD,MAAM,EAAE,4BAA4B,EACpC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAkF3B,KAAK,EAAE,wBAAwB,CA0D7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CAwCrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,KAAK,IAAI,IAAI;IASb,QAAQ;;0BAEc,aAAa,KAAG,QAAQ,OAAO,GAAG,SAAS,CAAC;wBAiDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCA+ChD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,KAAK;;;;uBAyDL,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgF3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6I9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
1
+ {"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAa,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,4BAA4B,EAA6C,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE9I,OAAO,KAAK,EAAE,wBAAwB,EAAgE,MAAM,2BAA2B,CAAC;AAexI,eAAO,MAAM,WAAW,MAAM,CAAC;AA+B/B,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;IAE7B,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CACd,MAAM,EACN;YACC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,MAAM,CAAC,EAAE,OAAO,CAAC;SACjB,CACD,CAAC;KACF,CAEC;gBAGD,MAAM,EAAE,4BAA4B,EACpC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAsF3B,KAAK,EAAE,wBAAwB,CA0D7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CAwCrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,KAAK,IAAI,IAAI;IASb,QAAQ;;0BAEc,aAAa,KAAG,QAAQ,OAAO,GAAG,SAAS,CAAC;wBAiDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCA+ChD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,KAAK;;;;uBAyDL,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgF3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6I9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
@@ -120,10 +120,10 @@ var AutocompleteController = /** @class */ (function (_super) {
120
120
  return;
121
121
  }
122
122
  var data = getAutocompleteSchemaData({ params: _this.params, store: _this.store, results: [result] });
123
+ _this.eventManager.fire('track.product.clickThrough', { controller: _this, event: e, product: result, trackEvent: data });
123
124
  _this.tracker.events.autocomplete.clickThrough({ data: data, siteId: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId });
124
125
  _this.events.product[result.id] = _this.events.product[result.id] || {};
125
126
  _this.events.product[result.id].clickThrough = true;
126
- _this.eventManager.fire('track.product.clickThrough', { controller: _this, event: e, product: result, trackEvent: data });
127
127
  },
128
128
  click: function (e, result) {
129
129
  var _a;
@@ -145,33 +145,33 @@ var AutocompleteController = /** @class */ (function (_super) {
145
145
  if ((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.render)
146
146
  return;
147
147
  var data = getAutocompleteSchemaData({ params: _this.params, store: _this.store, results: result ? [result] : [] });
148
+ _this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data });
148
149
  _this.tracker.events.autocomplete.render({ data: data, siteId: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId });
149
150
  _this.events.product[result.id] = _this.events.product[result.id] || {};
150
151
  _this.events.product[result.id].render = true;
151
- _this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data });
152
152
  },
153
153
  impression: function (result) {
154
154
  var _a, _b, _c;
155
155
  if (((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.impression) || !((_b = _this.events.product[result.id]) === null || _b === void 0 ? void 0 : _b.render))
156
156
  return;
157
157
  var data = getAutocompleteSchemaData({ params: _this.params, store: _this.store, results: [result] });
158
+ _this.eventManager.fire('track.product.impression', { controller: _this, product: result, trackEvent: data });
158
159
  _this.tracker.events.autocomplete.impression({ data: data, siteId: (_c = _this.config.globals) === null || _c === void 0 ? void 0 : _c.siteId });
159
160
  _this.events.product[result.id] = _this.events.product[result.id] || {};
160
161
  _this.events.product[result.id].impression = true;
161
- _this.eventManager.fire('track.product.impression', { controller: _this, product: result, trackEvent: data });
162
162
  },
163
163
  addToCart: function (result) {
164
164
  var _a;
165
165
  var data = getAutocompleteAddtocartSchemaData({ params: _this.params, store: _this.store, results: [result] });
166
- _this.tracker.events.autocomplete.addToCart({ data: data, siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
167
166
  _this.eventManager.fire('track.product.addToCart', { controller: _this, product: result, trackEvent: data });
167
+ _this.tracker.events.autocomplete.addToCart({ data: data, siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
168
168
  },
169
169
  },
170
170
  redirect: function (redirectURL) {
171
171
  var _a;
172
172
  var data = getAutocompleteRedirectSchemaData({ redirectURL: redirectURL });
173
- _this.tracker.events.autocomplete.redirect({ data: data, siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
174
173
  _this.eventManager.fire('track.redirect', { controller: _this, redirectURL: redirectURL, trackEvent: data });
174
+ _this.tracker.events.autocomplete.redirect({ data: data, siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
175
175
  },
176
176
  };
177
177
  _this.handlers = {
@@ -627,7 +627,7 @@ var AutocompleteController = /** @class */ (function (_super) {
627
627
  key: "ss-controller-".concat(_this.config.id),
628
628
  });
629
629
  _this.eventManager.on('afterStore', function (search, next) { return __awaiter(_this, void 0, void 0, function () {
630
- var controller, products, results, data_1;
630
+ var controller, products, data;
631
631
  var _this = this;
632
632
  var _a;
633
633
  return __generator(this, function (_b) {
@@ -638,16 +638,18 @@ var AutocompleteController = /** @class */ (function (_super) {
638
638
  controller = search.controller;
639
639
  if (controller.store.loaded && !controller.store.error) {
640
640
  products = controller.store.results.filter(function (result) { return result.type === 'product'; });
641
- results = products.length === 0 ? [] : products;
642
- data_1 = getAutocompleteSchemaData({ params: search.request, store: this.store, results: results });
643
- if (!search.response._cached) {
644
- this.tracker.events.autocomplete.render({ data: data_1, siteId: (_a = this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
641
+ if (products.length === 0 && !search.response._cached) {
642
+ data = getAutocompleteSchemaData({ params: search.request, store: this.store });
643
+ this.eventManager.fire('track.product.render', { controller: this, trackEvent: data });
644
+ this.tracker.events.autocomplete.render({ data: data, siteId: (_a = this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
645
645
  }
646
646
  products.forEach(function (result) {
647
- _this.events.product[result.id] = _this.events.product[result.id] || {};
648
- _this.events.product[result.id].render = true;
649
647
  if (!search.response._cached) {
650
- _this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data_1 });
648
+ _this.track.product.render(result);
649
+ }
650
+ else {
651
+ _this.events.product[result.id] = _this.events.product[result.id] || {};
652
+ _this.events.product[result.id].render = true;
651
653
  }
652
654
  });
653
655
  }
@@ -657,13 +659,14 @@ var AutocompleteController = /** @class */ (function (_super) {
657
659
  }); });
658
660
  // add 'afterSearch' middleware
659
661
  _this.eventManager.on('afterSearch', function (ac, next) { return __awaiter(_this, void 0, void 0, function () {
660
- return __generator(this, function (_a) {
661
- switch (_a.label) {
662
+ var _a;
663
+ return __generator(this, function (_b) {
664
+ switch (_b.label) {
662
665
  case 0: return [4 /*yield*/, next()];
663
666
  case 1:
664
- _a.sent();
667
+ _b.sent();
665
668
  // cancel search if no input or query doesn't match current urlState
666
- if (ac.response.autocomplete.query != ac.controller.urlManager.state.query) {
669
+ if (((_a = ac.response.autocomplete) === null || _a === void 0 ? void 0 : _a.query) != ac.controller.urlManager.state.query) {
667
670
  return [2 /*return*/, false];
668
671
  }
669
672
  return [2 /*return*/];
@@ -1 +1 @@
1
- {"version":3,"file":"FinderController.d.ts","sourceRoot":"","sources":["../../../src/Finder/FinderController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAkB,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB7G,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;gBAGtC,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA+B3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA6BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAkB5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAoI9B;CACF"}
1
+ {"version":3,"file":"FinderController.d.ts","sourceRoot":"","sources":["../../../src/Finder/FinderController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAwB,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiBnH,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;gBAGtC,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA+B3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA6BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAkB5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAoI9B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAQ3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,gBAAgB,EAAiB,MAAM,UAAU,CAAC;AAIpH,KAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAChD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;KACrC,CAAC;CACF,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,kBAAkC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IAE/C,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CACd,MAAM,EACN;YACC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,MAAM,CAAC,EAAE,OAAO,CAAC;SACjB,CACD,CAAC;KACF,CAEC;gBAGD,MAAM,EAAE,8BAA8B,EACtC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA4D3B,KAAK,EAAE,0BAA0B,CAuD/B;IAEF,IAAI,MAAM,IAAI,qBAAqB,CA4BlC;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6H9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
1
+ {"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAQ3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,gBAAgB,EAAiB,MAAM,UAAU,CAAC;AAIpH,KAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAChD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;KACrC,CAAC;CACF,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,kBAAkC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IAE/C,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CACd,MAAM,EACN;YACC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,MAAM,CAAC,EAAE,OAAO,CAAC;SACjB,CACD,CAAC;KACF,CAEC;gBAGD,MAAM,EAAE,8BAA8B,EACtC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAgE3B,KAAK,EAAE,0BAA0B,CAuD/B;IAEF,IAAI,MAAM,IAAI,qBAAqB,CA4BlC;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6H9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
@@ -96,10 +96,10 @@ var RecommendationController = /** @class */ (function (_super) {
96
96
  if ((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.clickThrough)
97
97
  return;
98
98
  var data = getRecommendationsSchemaData({ store: _this.store, results: [result] });
99
+ _this.eventManager.fire('track.product.clickThrough', { controller: _this, event: e, product: result, trackEvent: data });
99
100
  _this.tracker.events.recommendations.clickThrough({ data: data, siteId: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId });
100
101
  _this.events.product[result.id] = _this.events.product[result.id] || {};
101
102
  _this.events.product[result.id].clickThrough = true;
102
- _this.eventManager.fire('track.product.clickThrough', { controller: _this, event: e, product: result, trackEvent: data });
103
103
  },
104
104
  click: function (e, result) {
105
105
  var _a;
@@ -121,10 +121,10 @@ var RecommendationController = /** @class */ (function (_super) {
121
121
  if (((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.impression) || !((_b = _this.events.product[result.id]) === null || _b === void 0 ? void 0 : _b.render))
122
122
  return;
123
123
  var data = getRecommendationsSchemaData({ store: _this.store, results: [result] });
124
+ _this.eventManager.fire('track.product.impression', { controller: _this, product: result, trackEvent: data });
124
125
  _this.tracker.events.recommendations.impression({ data: data, siteId: (_c = _this.config.globals) === null || _c === void 0 ? void 0 : _c.siteId });
125
126
  _this.events.product[result.id] = _this.events.product[result.id] || {};
126
127
  _this.events.product[result.id].impression = true;
127
- _this.eventManager.fire('track.product.impression', { controller: _this, product: result, trackEvent: data });
128
128
  return data;
129
129
  },
130
130
  render: function (result) {
@@ -132,17 +132,17 @@ var RecommendationController = /** @class */ (function (_super) {
132
132
  if ((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.render)
133
133
  return;
134
134
  var data = getRecommendationsSchemaData({ store: _this.store, results: [result] });
135
+ _this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data });
135
136
  _this.tracker.events.recommendations.render({ data: data, siteId: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId });
136
137
  _this.events.product[result.id] = _this.events.product[result.id] || {};
137
138
  _this.events.product[result.id].render = true;
138
- _this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data });
139
139
  return data;
140
140
  },
141
141
  addToCart: function (result) {
142
142
  var _a;
143
143
  var data = getRecommendationsAddtocartSchemaData({ store: _this.store, results: [result] });
144
- _this.tracker.events.recommendations.addToCart({ data: data, siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
145
144
  _this.eventManager.fire('track.product.addToCart', { controller: _this, product: result, trackEvent: data });
145
+ _this.tracker.events.recommendations.addToCart({ data: data, siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
146
146
  return data;
147
147
  },
148
148
  },
@@ -327,7 +327,7 @@ var RecommendationController = /** @class */ (function (_super) {
327
327
  _this.config = (0, deepmerge_1.default)(defaultConfig, _this.config);
328
328
  _this.store.setConfig(_this.config);
329
329
  _this.eventManager.on('afterStore', function (search, next) { return __awaiter(_this, void 0, void 0, function () {
330
- var controller, products, results, data_1;
330
+ var controller, products, data;
331
331
  var _this = this;
332
332
  var _a;
333
333
  return __generator(this, function (_b) {
@@ -338,16 +338,18 @@ var RecommendationController = /** @class */ (function (_super) {
338
338
  controller = search.controller;
339
339
  if (controller.store.loaded && !controller.store.error) {
340
340
  products = controller.store.results.filter(function (result) { return result.type === 'product'; });
341
- results = products.length === 0 ? [] : products;
342
- data_1 = getRecommendationsSchemaData({ store: this.store, results: results });
343
- if (!search.response._cached) {
344
- this.tracker.events.recommendations.render({ data: data_1, siteId: (_a = this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
341
+ if (products.length === 0 && !search.response._cached) {
342
+ data = getRecommendationsSchemaData({ store: this.store });
343
+ this.eventManager.fire('track.product.render', { controller: this, trackEvent: data });
344
+ this.tracker.events.recommendations.render({ data: data, siteId: (_a = this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
345
345
  }
346
346
  products.forEach(function (result) {
347
- _this.events.product[result.id] = _this.events.product[result.id] || {};
348
- _this.events.product[result.id].render = true;
349
347
  if (!search.response._cached) {
350
- _this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data_1 });
348
+ _this.track.product.render(result);
349
+ }
350
+ else {
351
+ _this.events.product[result.id] = _this.events.product[result.id] || {};
352
+ _this.events.product[result.id].render = true;
351
353
  }
352
354
  });
353
355
  }
@@ -3,7 +3,7 @@ import { StorageStore } from '@searchspring/snap-store-mobx';
3
3
  import { ControllerTypes } from '../types';
4
4
  import type { Product, Banner, SearchStore } from '@searchspring/snap-store-mobx';
5
5
  import type { SearchControllerConfig, ControllerServices, ContextVariables } from '../types';
6
- import type { SearchRequestModel } from '@searchspring/snapi-types';
6
+ import { type SearchRequestModel } from '@searchspring/snapi-types';
7
7
  type SearchTrackMethods = {
8
8
  product: {
9
9
  clickThrough: (e: MouseEvent, result: Product) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAa,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,eAAe,EAAuB,MAAM,UAAU,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,KAAK,EACX,sBAAsB,EAGtB,kBAAkB,EAClB,gBAAgB,EAIhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,kBAAkB,EAQlB,MAAM,2BAA2B,CAAC;AAkCnC,KAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAGF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,IAAI,CAEV;IACF,OAAO,CAAC,MAAM,CAUM;gBAGnB,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAwN3B,KAAK,EAAE,kBAAkB,CA+FvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CA8C/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAyN9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF;AAwBD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAiBxF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,GAAG,SAAS,CAgCvG"}
1
+ {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAa,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,eAAe,EAAuB,MAAM,UAAU,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EACX,sBAAsB,EAGtB,kBAAkB,EAClB,gBAAgB,EAIhB,MAAM,UAAU,CAAC;AAElB,OAAO,EACN,KAAK,kBAAkB,EAYvB,MAAM,2BAA2B,CAAC;AAmCnC,KAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAGF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,IAAI,CAEV;IACF,OAAO,CAAC,MAAM,CAUM;gBAGnB,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAoQ3B,KAAK,EAAE,kBAAkB,CA+FvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CA8C/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAyN9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF;AAwBD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAiBxF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,GAAG,SAAS,CAgCvG"}
@@ -83,7 +83,7 @@ var getParams_1 = require("../utils/getParams");
83
83
  var types_1 = require("../types");
84
84
  var beacon_1 = require("@searchspring/beacon");
85
85
  var isClickWithinProductLink_1 = require("../utils/isClickWithinProductLink");
86
- var BACKGROUND_FILTER_FIELD_MATCHES = ['collection', 'category', 'categories', 'hierarchy'];
86
+ var BACKGROUND_FILTER_FIELD_MATCHES = ['collection', 'category', 'categories', 'hierarchy', 'brand', 'manufacturer'];
87
87
  var BACKGROUND_FILTERS_VALUE_FLAGS = [1, 0, '1', '0', 'true', 'false', true, false];
88
88
  var defaultConfig = {
89
89
  id: 'search',
@@ -106,7 +106,7 @@ var SearchController = /** @class */ (function (_super) {
106
106
  __extends(SearchController, _super);
107
107
  function SearchController(config, _a, context) {
108
108
  var client = _a.client, store = _a.store, urlManager = _a.urlManager, eventManager = _a.eventManager, profiler = _a.profiler, logger = _a.logger, tracker = _a.tracker;
109
- var _b, _c, _d, _e, _f, _g;
109
+ var _b, _c, _d, _e, _f, _g, _h, _j;
110
110
  var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }, context) || this;
111
111
  _this.type = types_1.ControllerTypes.search;
112
112
  _this.previousResults = [];
@@ -148,10 +148,10 @@ var SearchController = /** @class */ (function (_super) {
148
148
  // store position data or empty object
149
149
  _this.storage.set('scrollMap', scrollMap);
150
150
  var data = schemaMap[result.id];
151
+ _this.eventManager.fire('track.product.clickThrough', { controller: _this, event: e, product: result, trackEvent: data });
151
152
  _this.tracker.events[_this.page.type].clickThrough({ data: data, siteId: (_f = _this.config.globals) === null || _f === void 0 ? void 0 : _f.siteId });
152
153
  _this.events.product[result.id] = _this.events.product[result.id] || {};
153
154
  _this.events.product[result.id].clickThrough = true;
154
- _this.eventManager.fire('track.product.clickThrough', { controller: _this, event: e, product: result, trackEvent: data });
155
155
  },
156
156
  click: function (e, result) {
157
157
  var _a;
@@ -174,10 +174,10 @@ var SearchController = /** @class */ (function (_super) {
174
174
  return;
175
175
  }
176
176
  var data = schemaMap[result.id];
177
+ _this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data });
177
178
  _this.tracker.events[_this.page.type].render({ data: data, siteId: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId });
178
179
  _this.events.product[result.id] = _this.events.product[result.id] || {};
179
180
  _this.events.product[result.id].render = true;
180
- _this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data });
181
181
  },
182
182
  impression: function (result) {
183
183
  var _a, _b, _c;
@@ -185,26 +185,26 @@ var SearchController = /** @class */ (function (_super) {
185
185
  return;
186
186
  }
187
187
  var data = schemaMap[result.id];
188
+ _this.eventManager.fire('track.product.impression', { controller: _this, product: result, trackEvent: data });
188
189
  _this.tracker.events[_this.page.type].impression({ data: data, siteId: (_c = _this.config.globals) === null || _c === void 0 ? void 0 : _c.siteId });
189
190
  _this.events.product[result.id] = _this.events.product[result.id] || {};
190
191
  _this.events.product[result.id].impression = true;
191
- _this.eventManager.fire('track.product.impression', { controller: _this, product: result, trackEvent: data });
192
192
  },
193
193
  addToCart: function (result) {
194
194
  var _a;
195
195
  var data = getSearchAddtocartSchemaData({ searchSchemaData: schemaMap[result.id], results: [result] });
196
+ _this.eventManager.fire('track.product.addToCart', { controller: _this, product: result, trackEvent: data });
196
197
  _this.tracker.events[_this.page.type].addToCart({
197
198
  data: data,
198
199
  siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId,
199
200
  });
200
- _this.eventManager.fire('track.product.addToCart', { controller: _this, product: result, trackEvent: data });
201
201
  },
202
202
  },
203
203
  redirect: function (redirectURL) {
204
204
  var _a;
205
205
  var data = getSearchRedirectSchemaData({ redirectURL: redirectURL });
206
- _this.tracker.events.search.redirect({ data: data, siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
207
206
  _this.eventManager.fire('track.product.redirect', { controller: _this, redirectURL: redirectURL, trackEvent: data });
207
+ _this.tracker.events.search.redirect({ data: data, siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
208
208
  },
209
209
  };
210
210
  _this.search = function () { return __awaiter(_this, void 0, void 0, function () {
@@ -558,6 +558,52 @@ var SearchController = /** @class */ (function (_super) {
558
558
  }
559
559
  });
560
560
  }); });
561
+ var hierarchySettings = (_e = (_d = _this.config.settings) === null || _d === void 0 ? void 0 : _d.filters) === null || _e === void 0 ? void 0 : _e.hierarchy;
562
+ if (hierarchySettings && hierarchySettings.enabled) {
563
+ _this.eventManager.on('afterSearch', function (search, next) { return __awaiter(_this, void 0, void 0, function () {
564
+ var displayDelimiter, showFullPath, facets;
565
+ var _a, _b;
566
+ return __generator(this, function (_c) {
567
+ switch (_c.label) {
568
+ case 0: return [4 /*yield*/, next()];
569
+ case 1:
570
+ _c.sent();
571
+ displayDelimiter = (_a = hierarchySettings.displayDelimiter) !== null && _a !== void 0 ? _a : ' / ';
572
+ showFullPath = (_b = hierarchySettings.showFullPath) !== null && _b !== void 0 ? _b : false;
573
+ facets = search.response.facets;
574
+ if (facets) {
575
+ facets.forEach(function (facet) {
576
+ var _a, _b, _c, _d, _e;
577
+ if (((_a = search.response.meta) === null || _a === void 0 ? void 0 : _a.facets) && facet.field) {
578
+ var metaFacet = search.response.meta.facets[facet.field];
579
+ var dataDelimiter = (metaFacet === null || metaFacet === void 0 ? void 0 : metaFacet.hierarchyDelimiter) || ' / ';
580
+ if (metaFacet && metaFacet.display === 'hierarchy' && facet.filtered && ((_b = facet.values) === null || _b === void 0 ? void 0 : _b.length) > 0) {
581
+ var filteredValues = (_c = facet.values) === null || _c === void 0 ? void 0 : _c.filter(function (val) { return (val === null || val === void 0 ? void 0 : val.filtered) === true; });
582
+ if (filteredValues && filteredValues.length) {
583
+ var filterToAdd = {
584
+ field: facet.field,
585
+ //escape special charactors used in regex
586
+ label: showFullPath
587
+ ? ((_e = (_d = filteredValues[0].value) !== null && _d !== void 0 ? _d : filteredValues[0].label) !== null && _e !== void 0 ? _e : '').replace(new RegExp(dataDelimiter.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), displayDelimiter)
588
+ : filteredValues[0].label,
589
+ type: 'value',
590
+ };
591
+ if (search.response.filters) {
592
+ search.response.filters.push(filterToAdd);
593
+ }
594
+ else {
595
+ search.response.filters = [filterToAdd];
596
+ }
597
+ }
598
+ }
599
+ }
600
+ });
601
+ }
602
+ return [2 /*return*/];
603
+ }
604
+ });
605
+ }); });
606
+ }
561
607
  _this.eventManager.on('afterStore', function (search, next) { return __awaiter(_this, void 0, void 0, function () {
562
608
  var controller, products, data, config_1, nonBackgroundFilters;
563
609
  var _this = this;
@@ -572,14 +618,12 @@ var SearchController = /** @class */ (function (_super) {
572
618
  products = controller.store.results.filter(function (result) { var _a; return result.type === 'product' && !((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.render); });
573
619
  if (products.length === 0 && !search.response._cached) {
574
620
  data = getSearchSchemaData({ params: search.request, response: search.response });
621
+ this.eventManager.fire('track.product.render', { controller: this, trackEvent: data });
575
622
  this.tracker.events[this.page.type].render({ data: data, siteId: (_a = this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
576
623
  }
577
624
  products.forEach(function (result) {
578
- var _a;
579
625
  if (!search.response._cached) {
580
- var data = schemaMap[result.id];
581
- _this.tracker.events[_this.page.type].render({ data: data, siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
582
- _this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data });
626
+ _this.track.product.render(result);
583
627
  }
584
628
  _this.events.product[result.id] = _this.events.product[result.id] || {};
585
629
  _this.events.product[result.id].render = true;
@@ -599,7 +643,7 @@ var SearchController = /** @class */ (function (_super) {
599
643
  });
600
644
  }); });
601
645
  // restore position
602
- if ((_e = (_d = _this.config.settings) === null || _d === void 0 ? void 0 : _d.restorePosition) === null || _e === void 0 ? void 0 : _e.enabled) {
646
+ if ((_g = (_f = _this.config.settings) === null || _f === void 0 ? void 0 : _f.restorePosition) === null || _g === void 0 ? void 0 : _g.enabled) {
603
647
  _this.eventManager.on('restorePosition', function (_a, next) {
604
648
  var controller = _a.controller, element = _a.element;
605
649
  return __awaiter(_this, void 0, void 0, function () {
@@ -692,7 +736,7 @@ var SearchController = /** @class */ (function (_super) {
692
736
  });
693
737
  });
694
738
  // fire restorePosition event on 'pageshow' when setting is enabled
695
- if ((_g = (_f = _this.config.settings) === null || _f === void 0 ? void 0 : _f.restorePosition) === null || _g === void 0 ? void 0 : _g.onPageShow) {
739
+ if ((_j = (_h = _this.config.settings) === null || _h === void 0 ? void 0 : _h.restorePosition) === null || _j === void 0 ? void 0 : _j.onPageShow) {
696
740
  window.addEventListener('pageshow', function () {
697
741
  _this.eventManager.fire('restorePosition', { controller: _this, element: {} });
698
742
  });
@@ -6,18 +6,35 @@ import type { Tracker, ProductViewEvent } from '@searchspring/snap-tracker';
6
6
  import type { Profiler } from '@searchspring/snap-profiler';
7
7
  import type { UrlManager } from '@searchspring/snap-url-manager';
8
8
  import type { Logger } from '@searchspring/snap-logger';
9
- import type { SearchRequestModel } from '@searchspring/snapi-types';
9
+ import type { AutocompleteRequestModel, AutocompleteResponseModel, MetaResponseModel, SearchRequestModel, SearchResponseModel } from '@searchspring/snapi-types';
10
10
  export type PluginFunction = (cntrlr: AbstractController, ...args: any) => Promise<void> | void;
11
11
  export type PluginGrouping = [func: PluginFunction, ...args: unknown[]];
12
12
  export type BeforeSearchObj = {
13
13
  controller: AbstractController;
14
14
  request: any;
15
15
  };
16
- export type AfterSearchObj = {
17
- controller: AbstractController;
18
- response: any;
16
+ export type SearchAfterSearchObj = {
17
+ controller: SearchController;
18
+ response: SearchResponseModel & {
19
+ meta?: MetaResponseModel;
20
+ };
21
+ request: SearchRequestModel;
22
+ };
23
+ export type AutocompleteAfterSearchObj = {
24
+ controller: AutocompleteController;
25
+ response: AutocompleteResponseModel & {
26
+ meta?: MetaResponseModel;
27
+ };
28
+ request: AutocompleteRequestModel;
29
+ };
30
+ export type FinderAfterSearchObj = {
31
+ controller: FinderController;
32
+ response: SearchResponseModel & {
33
+ meta?: MetaResponseModel;
34
+ };
19
35
  request: SearchRequestModel;
20
36
  };
37
+ export type AfterSearchObj = SearchAfterSearchObj | AutocompleteAfterSearchObj | FinderAfterSearchObj;
21
38
  export type AfterStoreObj = {
22
39
  controller: AbstractController;
23
40
  request: any;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACxI,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChG,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAExE,MAAM,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,eAAe;IAC1B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,cAAc,mBAAmB;CACjC;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,gBAAgB,GAAG,wBAAwB,CAAC;AAElH,MAAM,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,GAAG,iBAAiB,GAAG,WAAW,GAAG,mBAAmB,CAAC;IAC3E,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACzB,UAAU,CAAC,EAAE;QACZ,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;KACzD,CAAC;IACF,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,OAAO,CAAC,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC1B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,WAAW,CAAC;AAGzD,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAE1E,MAAM,MAAM,4BAA4B,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAEtF,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,GAAG,yBAAyB,CAAC;AAE1F,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,GAAG,4BAA4B,GAAG,sBAAsB,GAAG,8BAA8B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAa,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,4BAA4B,EAAiC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElI,OAAO,KAAK,EAAE,wBAAwB,EAAgE,MAAM,2BAA2B,CAAC;AAexI,eAAO,MAAM,WAAW,MAAM,CAAC;AA+B/B,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;IAE7B,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CACd,MAAM,EACN;YACC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,MAAM,CAAC,EAAE,OAAO,CAAC;SACjB,CACD,CAAC;KACF,CAEC;gBAGD,MAAM,EAAE,4BAA4B,EACpC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAkF3B,KAAK,EAAE,wBAAwB,CA0D7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CAwCrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,KAAK,IAAI,IAAI;IASb,QAAQ;;0BAEc,aAAa,KAAG,QAAQ,OAAO,GAAG,SAAS,CAAC;wBAiDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCA+ChD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,KAAK;;;;uBAyDL,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgF3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6I9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
1
+ {"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAa,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,4BAA4B,EAA6C,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE9I,OAAO,KAAK,EAAE,wBAAwB,EAAgE,MAAM,2BAA2B,CAAC;AAexI,eAAO,MAAM,WAAW,MAAM,CAAC;AA+B/B,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;IAE7B,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CACd,MAAM,EACN;YACC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,MAAM,CAAC,EAAE,OAAO,CAAC;SACjB,CACD,CAAC;KACF,CAEC;gBAGD,MAAM,EAAE,4BAA4B,EACpC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAsF3B,KAAK,EAAE,wBAAwB,CA0D7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CAwCrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,KAAK,IAAI,IAAI;IASb,QAAQ;;0BAEc,aAAa,KAAG,QAAQ,OAAO,GAAG,SAAS,CAAC;wBAiDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCA+ChD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,KAAK;;;;uBAyDL,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgF3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6I9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
@@ -49,10 +49,10 @@ export class AutocompleteController extends AbstractController {
49
49
  return;
50
50
  }
51
51
  const data = getAutocompleteSchemaData({ params: this.params, store: this.store, results: [result] });
52
+ this.eventManager.fire('track.product.clickThrough', { controller: this, event: e, product: result, trackEvent: data });
52
53
  this.tracker.events.autocomplete.clickThrough({ data, siteId: this.config.globals?.siteId });
53
54
  this.events.product[result.id] = this.events.product[result.id] || {};
54
55
  this.events.product[result.id].clickThrough = true;
55
- this.eventManager.fire('track.product.clickThrough', { controller: this, event: e, product: result, trackEvent: data });
56
56
  },
57
57
  click: (e, result) => {
58
58
  if (this.events.product[result.id]?.click) {
@@ -72,30 +72,30 @@ export class AutocompleteController extends AbstractController {
72
72
  if (this.events.product[result.id]?.render)
73
73
  return;
74
74
  const data = getAutocompleteSchemaData({ params: this.params, store: this.store, results: result ? [result] : [] });
75
+ this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
75
76
  this.tracker.events.autocomplete.render({ data, siteId: this.config.globals?.siteId });
76
77
  this.events.product[result.id] = this.events.product[result.id] || {};
77
78
  this.events.product[result.id].render = true;
78
- this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
79
79
  },
80
80
  impression: (result) => {
81
81
  if (this.events.product[result.id]?.impression || !this.events.product[result.id]?.render)
82
82
  return;
83
83
  const data = getAutocompleteSchemaData({ params: this.params, store: this.store, results: [result] });
84
+ this.eventManager.fire('track.product.impression', { controller: this, product: result, trackEvent: data });
84
85
  this.tracker.events.autocomplete.impression({ data, siteId: this.config.globals?.siteId });
85
86
  this.events.product[result.id] = this.events.product[result.id] || {};
86
87
  this.events.product[result.id].impression = true;
87
- this.eventManager.fire('track.product.impression', { controller: this, product: result, trackEvent: data });
88
88
  },
89
89
  addToCart: (result) => {
90
90
  const data = getAutocompleteAddtocartSchemaData({ params: this.params, store: this.store, results: [result] });
91
- this.tracker.events.autocomplete.addToCart({ data, siteId: this.config.globals?.siteId });
92
91
  this.eventManager.fire('track.product.addToCart', { controller: this, product: result, trackEvent: data });
92
+ this.tracker.events.autocomplete.addToCart({ data, siteId: this.config.globals?.siteId });
93
93
  },
94
94
  },
95
95
  redirect: (redirectURL) => {
96
96
  const data = getAutocompleteRedirectSchemaData({ redirectURL });
97
- this.tracker.events.autocomplete.redirect({ data, siteId: this.config.globals?.siteId });
98
97
  this.eventManager.fire('track.redirect', { controller: this, redirectURL, trackEvent: data });
98
+ this.tracker.events.autocomplete.redirect({ data, siteId: this.config.globals?.siteId });
99
99
  },
100
100
  };
101
101
  this.handlers = {
@@ -465,16 +465,19 @@ export class AutocompleteController extends AbstractController {
465
465
  const controller = search.controller;
466
466
  if (controller.store.loaded && !controller.store.error) {
467
467
  const products = controller.store.results.filter((result) => result.type === 'product');
468
- const results = products.length === 0 ? [] : products;
469
- const data = getAutocompleteSchemaData({ params: search.request, store: this.store, results });
470
- if (!search.response._cached) {
468
+ if (products.length === 0 && !search.response._cached) {
469
+ // handle no results
470
+ const data = getAutocompleteSchemaData({ params: search.request, store: this.store });
471
+ this.eventManager.fire('track.product.render', { controller: this, trackEvent: data });
471
472
  this.tracker.events.autocomplete.render({ data, siteId: this.config.globals?.siteId });
472
473
  }
473
474
  products.forEach((result) => {
474
- this.events.product[result.id] = this.events.product[result.id] || {};
475
- this.events.product[result.id].render = true;
476
475
  if (!search.response._cached) {
477
- this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
476
+ this.track.product.render(result);
477
+ }
478
+ else {
479
+ this.events.product[result.id] = this.events.product[result.id] || {};
480
+ this.events.product[result.id].render = true;
478
481
  }
479
482
  });
480
483
  }
@@ -483,7 +486,7 @@ export class AutocompleteController extends AbstractController {
483
486
  this.eventManager.on('afterSearch', async (ac, next) => {
484
487
  await next();
485
488
  // cancel search if no input or query doesn't match current urlState
486
- if (ac.response.autocomplete.query != ac.controller.urlManager.state.query) {
489
+ if (ac.response.autocomplete?.query != ac.controller.urlManager.state.query) {
487
490
  return false;
488
491
  }
489
492
  });
@@ -1 +1 @@
1
- {"version":3,"file":"FinderController.d.ts","sourceRoot":"","sources":["../../../src/Finder/FinderController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAkB,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB7G,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;gBAGtC,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA+B3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA6BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAkB5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAoI9B;CACF"}
1
+ {"version":3,"file":"FinderController.d.ts","sourceRoot":"","sources":["../../../src/Finder/FinderController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAwB,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiBnH,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;gBAGtC,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA+B3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA6BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAkB5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAoI9B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAQ3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,gBAAgB,EAAiB,MAAM,UAAU,CAAC;AAIpH,KAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAChD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;KACrC,CAAC;CACF,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,kBAAkC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IAE/C,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CACd,MAAM,EACN;YACC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,MAAM,CAAC,EAAE,OAAO,CAAC;SACjB,CACD,CAAC;KACF,CAEC;gBAGD,MAAM,EAAE,8BAA8B,EACtC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA4D3B,KAAK,EAAE,0BAA0B,CAuD/B;IAEF,IAAI,MAAM,IAAI,qBAAqB,CA4BlC;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6H9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
1
+ {"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAQ3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,gBAAgB,EAAiB,MAAM,UAAU,CAAC;AAIpH,KAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAChD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;KACrC,CAAC;CACF,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,kBAAkC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IAE/C,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CACd,MAAM,EACN;YACC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,MAAM,CAAC,EAAE,OAAO,CAAC;SACjB,CACD,CAAC;KACF,CAEC;gBAGD,MAAM,EAAE,8BAA8B,EACtC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAgE3B,KAAK,EAAE,0BAA0B,CAuD/B;IAEF,IAAI,MAAM,IAAI,qBAAqB,CA4BlC;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6H9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
@@ -24,10 +24,10 @@ export class RecommendationController extends AbstractController {
24
24
  if (this.events.product[result.id]?.clickThrough)
25
25
  return;
26
26
  const data = getRecommendationsSchemaData({ store: this.store, results: [result] });
27
+ this.eventManager.fire('track.product.clickThrough', { controller: this, event: e, product: result, trackEvent: data });
27
28
  this.tracker.events.recommendations.clickThrough({ data, siteId: this.config.globals?.siteId });
28
29
  this.events.product[result.id] = this.events.product[result.id] || {};
29
30
  this.events.product[result.id].clickThrough = true;
30
- this.eventManager.fire('track.product.clickThrough', { controller: this, event: e, product: result, trackEvent: data });
31
31
  },
32
32
  click: (e, result) => {
33
33
  if (this.events.product[result.id]?.click) {
@@ -47,26 +47,26 @@ export class RecommendationController extends AbstractController {
47
47
  if (this.events.product[result.id]?.impression || !this.events.product[result.id]?.render)
48
48
  return;
49
49
  const data = getRecommendationsSchemaData({ store: this.store, results: [result] });
50
+ this.eventManager.fire('track.product.impression', { controller: this, product: result, trackEvent: data });
50
51
  this.tracker.events.recommendations.impression({ data, siteId: this.config.globals?.siteId });
51
52
  this.events.product[result.id] = this.events.product[result.id] || {};
52
53
  this.events.product[result.id].impression = true;
53
- this.eventManager.fire('track.product.impression', { controller: this, product: result, trackEvent: data });
54
54
  return data;
55
55
  },
56
56
  render: (result) => {
57
57
  if (this.events.product[result.id]?.render)
58
58
  return;
59
59
  const data = getRecommendationsSchemaData({ store: this.store, results: [result] });
60
+ this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
60
61
  this.tracker.events.recommendations.render({ data, siteId: this.config.globals?.siteId });
61
62
  this.events.product[result.id] = this.events.product[result.id] || {};
62
63
  this.events.product[result.id].render = true;
63
- this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
64
64
  return data;
65
65
  },
66
66
  addToCart: (result) => {
67
67
  const data = getRecommendationsAddtocartSchemaData({ store: this.store, results: [result] });
68
- this.tracker.events.recommendations.addToCart({ data, siteId: this.config.globals?.siteId });
69
68
  this.eventManager.fire('track.product.addToCart', { controller: this, product: result, trackEvent: data });
69
+ this.tracker.events.recommendations.addToCart({ data, siteId: this.config.globals?.siteId });
70
70
  return data;
71
71
  },
72
72
  },
@@ -219,16 +219,19 @@ export class RecommendationController extends AbstractController {
219
219
  const controller = search.controller;
220
220
  if (controller.store.loaded && !controller.store.error) {
221
221
  const products = controller.store.results.filter((result) => result.type === 'product');
222
- const results = products.length === 0 ? [] : products;
223
- const data = getRecommendationsSchemaData({ store: this.store, results });
224
- if (!search.response._cached) {
222
+ if (products.length === 0 && !search.response._cached) {
223
+ // handle no results
224
+ const data = getRecommendationsSchemaData({ store: this.store });
225
+ this.eventManager.fire('track.product.render', { controller: this, trackEvent: data });
225
226
  this.tracker.events.recommendations.render({ data, siteId: this.config.globals?.siteId });
226
227
  }
227
228
  products.forEach((result) => {
228
- this.events.product[result.id] = this.events.product[result.id] || {};
229
- this.events.product[result.id].render = true;
230
229
  if (!search.response._cached) {
231
- this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
230
+ this.track.product.render(result);
231
+ }
232
+ else {
233
+ this.events.product[result.id] = this.events.product[result.id] || {};
234
+ this.events.product[result.id].render = true;
232
235
  }
233
236
  });
234
237
  }
@@ -3,7 +3,7 @@ import { StorageStore } from '@searchspring/snap-store-mobx';
3
3
  import { ControllerTypes } from '../types';
4
4
  import type { Product, Banner, SearchStore } from '@searchspring/snap-store-mobx';
5
5
  import type { SearchControllerConfig, ControllerServices, ContextVariables } from '../types';
6
- import type { SearchRequestModel } from '@searchspring/snapi-types';
6
+ import { type SearchRequestModel } from '@searchspring/snapi-types';
7
7
  type SearchTrackMethods = {
8
8
  product: {
9
9
  clickThrough: (e: MouseEvent, result: Product) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAa,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,eAAe,EAAuB,MAAM,UAAU,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,KAAK,EACX,sBAAsB,EAGtB,kBAAkB,EAClB,gBAAgB,EAIhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,kBAAkB,EAQlB,MAAM,2BAA2B,CAAC;AAkCnC,KAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAGF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,IAAI,CAEV;IACF,OAAO,CAAC,MAAM,CAUM;gBAGnB,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAwN3B,KAAK,EAAE,kBAAkB,CA+FvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CA8C/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAyN9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF;AAwBD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAiBxF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,GAAG,SAAS,CAgCvG"}
1
+ {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAa,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,eAAe,EAAuB,MAAM,UAAU,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EACX,sBAAsB,EAGtB,kBAAkB,EAClB,gBAAgB,EAIhB,MAAM,UAAU,CAAC;AAElB,OAAO,EACN,KAAK,kBAAkB,EAYvB,MAAM,2BAA2B,CAAC;AAmCnC,KAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAGF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,IAAI,CAEV;IACF,OAAO,CAAC,MAAM,CAUM;gBAGnB,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAoQ3B,KAAK,EAAE,kBAAkB,CA+FvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CA8C/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAyN9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF;AAwBD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAiBxF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,GAAG,SAAS,CAgCvG"}
@@ -6,7 +6,7 @@ import { getSearchParams } from '../utils/getParams';
6
6
  import { ControllerTypes } from '../types';
7
7
  import { ItemTypeEnum, } from '@searchspring/beacon';
8
8
  import { CLICK_DUPLICATION_TIMEOUT, isClickWithinProductLink } from '../utils/isClickWithinProductLink';
9
- const BACKGROUND_FILTER_FIELD_MATCHES = ['collection', 'category', 'categories', 'hierarchy'];
9
+ const BACKGROUND_FILTER_FIELD_MATCHES = ['collection', 'category', 'categories', 'hierarchy', 'brand', 'manufacturer'];
10
10
  const BACKGROUND_FILTERS_VALUE_FLAGS = [1, 0, '1', '0', 'true', 'false', true, false];
11
11
  const defaultConfig = {
12
12
  id: 'search',
@@ -67,10 +67,10 @@ export class SearchController extends AbstractController {
67
67
  // store position data or empty object
68
68
  this.storage.set('scrollMap', scrollMap);
69
69
  const data = schemaMap[result.id];
70
+ this.eventManager.fire('track.product.clickThrough', { controller: this, event: e, product: result, trackEvent: data });
70
71
  this.tracker.events[this.page.type].clickThrough({ data, siteId: this.config.globals?.siteId });
71
72
  this.events.product[result.id] = this.events.product[result.id] || {};
72
73
  this.events.product[result.id].clickThrough = true;
73
- this.eventManager.fire('track.product.clickThrough', { controller: this, event: e, product: result, trackEvent: data });
74
74
  },
75
75
  click: (e, result) => {
76
76
  if (this.events.product[result.id]?.click) {
@@ -91,34 +91,34 @@ export class SearchController extends AbstractController {
91
91
  return;
92
92
  }
93
93
  const data = schemaMap[result.id];
94
+ this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
94
95
  this.tracker.events[this.page.type].render({ data, siteId: this.config.globals?.siteId });
95
96
  this.events.product[result.id] = this.events.product[result.id] || {};
96
97
  this.events.product[result.id].render = true;
97
- this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
98
98
  },
99
99
  impression: (result) => {
100
100
  if (this.events.product[result.id]?.impression || !this.events.product[result.id]?.render) {
101
101
  return;
102
102
  }
103
103
  const data = schemaMap[result.id];
104
+ this.eventManager.fire('track.product.impression', { controller: this, product: result, trackEvent: data });
104
105
  this.tracker.events[this.page.type].impression({ data, siteId: this.config.globals?.siteId });
105
106
  this.events.product[result.id] = this.events.product[result.id] || {};
106
107
  this.events.product[result.id].impression = true;
107
- this.eventManager.fire('track.product.impression', { controller: this, product: result, trackEvent: data });
108
108
  },
109
109
  addToCart: (result) => {
110
110
  const data = getSearchAddtocartSchemaData({ searchSchemaData: schemaMap[result.id], results: [result] });
111
+ this.eventManager.fire('track.product.addToCart', { controller: this, product: result, trackEvent: data });
111
112
  this.tracker.events[this.page.type].addToCart({
112
113
  data,
113
114
  siteId: this.config.globals?.siteId,
114
115
  });
115
- this.eventManager.fire('track.product.addToCart', { controller: this, product: result, trackEvent: data });
116
116
  },
117
117
  },
118
118
  redirect: (redirectURL) => {
119
119
  const data = getSearchRedirectSchemaData({ redirectURL });
120
- this.tracker.events.search.redirect({ data, siteId: this.config.globals?.siteId });
121
120
  this.eventManager.fire('track.product.redirect', { controller: this, redirectURL, trackEvent: data });
121
+ this.tracker.events.search.redirect({ data, siteId: this.config.globals?.siteId });
122
122
  },
123
123
  };
124
124
  this.search = async () => {
@@ -403,6 +403,43 @@ export class SearchController extends AbstractController {
403
403
  // not awaiting this event as it relies on render, and render is blocked by afterStore event
404
404
  this.eventManager.fire('restorePosition', { controller: this, element: elementPosition });
405
405
  });
406
+ const hierarchySettings = this.config.settings?.filters?.hierarchy;
407
+ if (hierarchySettings && hierarchySettings.enabled) {
408
+ this.eventManager.on('afterSearch', async (search, next) => {
409
+ await next();
410
+ const displayDelimiter = hierarchySettings.displayDelimiter ?? ' / '; // choose delimiter for label
411
+ const showFullPath = hierarchySettings.showFullPath ?? false; // display full hierarchy path or just the current level
412
+ // add hierarchy filter to filter summary
413
+ const facets = search.response.facets;
414
+ if (facets) {
415
+ facets.forEach((facet) => {
416
+ if (search.response.meta?.facets && facet.field) {
417
+ const metaFacet = search.response.meta.facets[facet.field];
418
+ const dataDelimiter = metaFacet?.hierarchyDelimiter || ' / ';
419
+ if (metaFacet && metaFacet.display === 'hierarchy' && facet.filtered && facet.values?.length > 0) {
420
+ const filteredValues = facet.values?.filter((val) => val?.filtered === true);
421
+ if (filteredValues && filteredValues.length) {
422
+ const filterToAdd = {
423
+ field: facet.field,
424
+ //escape special charactors used in regex
425
+ label: showFullPath
426
+ ? (filteredValues[0].value ?? filteredValues[0].label ?? '').replace(new RegExp(dataDelimiter.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), displayDelimiter)
427
+ : filteredValues[0].label,
428
+ type: 'value',
429
+ };
430
+ if (search.response.filters) {
431
+ search.response.filters.push(filterToAdd);
432
+ }
433
+ else {
434
+ search.response.filters = [filterToAdd];
435
+ }
436
+ }
437
+ }
438
+ }
439
+ });
440
+ }
441
+ });
442
+ }
406
443
  this.eventManager.on('afterStore', async (search, next) => {
407
444
  await next();
408
445
  const controller = search.controller;
@@ -411,13 +448,12 @@ export class SearchController extends AbstractController {
411
448
  if (products.length === 0 && !search.response._cached) {
412
449
  // handle no results
413
450
  const data = getSearchSchemaData({ params: search.request, response: search.response });
451
+ this.eventManager.fire('track.product.render', { controller: this, trackEvent: data });
414
452
  this.tracker.events[this.page.type].render({ data, siteId: this.config.globals?.siteId });
415
453
  }
416
454
  products.forEach((result) => {
417
455
  if (!search.response._cached) {
418
- const data = schemaMap[result.id];
419
- this.tracker.events[this.page.type].render({ data, siteId: this.config.globals?.siteId });
420
- this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
456
+ this.track.product.render(result);
421
457
  }
422
458
  this.events.product[result.id] = this.events.product[result.id] || {};
423
459
  this.events.product[result.id].render = true;
@@ -6,18 +6,35 @@ import type { Tracker, ProductViewEvent } from '@searchspring/snap-tracker';
6
6
  import type { Profiler } from '@searchspring/snap-profiler';
7
7
  import type { UrlManager } from '@searchspring/snap-url-manager';
8
8
  import type { Logger } from '@searchspring/snap-logger';
9
- import type { SearchRequestModel } from '@searchspring/snapi-types';
9
+ import type { AutocompleteRequestModel, AutocompleteResponseModel, MetaResponseModel, SearchRequestModel, SearchResponseModel } from '@searchspring/snapi-types';
10
10
  export type PluginFunction = (cntrlr: AbstractController, ...args: any) => Promise<void> | void;
11
11
  export type PluginGrouping = [func: PluginFunction, ...args: unknown[]];
12
12
  export type BeforeSearchObj = {
13
13
  controller: AbstractController;
14
14
  request: any;
15
15
  };
16
- export type AfterSearchObj = {
17
- controller: AbstractController;
18
- response: any;
16
+ export type SearchAfterSearchObj = {
17
+ controller: SearchController;
18
+ response: SearchResponseModel & {
19
+ meta?: MetaResponseModel;
20
+ };
21
+ request: SearchRequestModel;
22
+ };
23
+ export type AutocompleteAfterSearchObj = {
24
+ controller: AutocompleteController;
25
+ response: AutocompleteResponseModel & {
26
+ meta?: MetaResponseModel;
27
+ };
28
+ request: AutocompleteRequestModel;
29
+ };
30
+ export type FinderAfterSearchObj = {
31
+ controller: FinderController;
32
+ response: SearchResponseModel & {
33
+ meta?: MetaResponseModel;
34
+ };
19
35
  request: SearchRequestModel;
20
36
  };
37
+ export type AfterSearchObj = SearchAfterSearchObj | AutocompleteAfterSearchObj | FinderAfterSearchObj;
21
38
  export type AfterStoreObj = {
22
39
  controller: AbstractController;
23
40
  request: any;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-controller",
3
- "version": "0.68.0",
3
+ "version": "0.69.1",
4
4
  "description": "Snap Controllers",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -20,22 +20,22 @@
20
20
  "test:watch": "jest --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@searchspring/snap-toolbox": "0.68.0",
23
+ "@searchspring/snap-toolbox": "0.69.1",
24
24
  "css.escape": "1.5.1",
25
25
  "deepmerge": "4.3.1"
26
26
  },
27
27
  "devDependencies": {
28
- "@searchspring/snap-client": "0.68.0",
29
- "@searchspring/snap-event-manager": "0.68.0",
30
- "@searchspring/snap-logger": "0.68.0",
31
- "@searchspring/snap-profiler": "0.68.0",
32
- "@searchspring/snap-store-mobx": "0.68.0",
33
- "@searchspring/snap-tracker": "0.68.0",
34
- "@searchspring/snap-url-manager": "0.68.0"
28
+ "@searchspring/snap-client": "0.69.1",
29
+ "@searchspring/snap-event-manager": "0.69.1",
30
+ "@searchspring/snap-logger": "0.69.1",
31
+ "@searchspring/snap-profiler": "0.69.1",
32
+ "@searchspring/snap-store-mobx": "0.69.1",
33
+ "@searchspring/snap-tracker": "0.69.1",
34
+ "@searchspring/snap-url-manager": "0.69.1"
35
35
  },
36
36
  "sideEffects": false,
37
37
  "files": [
38
38
  "dist/**/*"
39
39
  ],
40
- "gitHead": "4b0e2291cc4e6cef4f0357f376fb7403c651701e"
40
+ "gitHead": "a5c1359c6b56d5e28ea3266cf0233e621aa06e47"
41
41
  }