@searchspring/snap-controller 0.59.0 → 0.60.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.
@@ -3,7 +3,7 @@ import { BeaconEvent } from '@searchspring/snap-tracker';
3
3
  import { AbstractController } from '../Abstract/AbstractController';
4
4
  import { ControllerTypes } from '../types';
5
5
  import type { RecommendationStore } from '@searchspring/snap-store-mobx';
6
- import type { RecommendCombinedRequestModel } from '@searchspring/snap-client';
6
+ import type { RecommendRequestModel } from '@searchspring/snap-client';
7
7
  import type { RecommendationControllerConfig, ControllerServices, ContextVariables } from '../types';
8
8
  type RecommendationTrackMethods = {
9
9
  product: {
@@ -33,7 +33,7 @@ export declare class RecommendationController extends AbstractController {
33
33
  };
34
34
  constructor(config: RecommendationControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
35
35
  track: RecommendationTrackMethods;
36
- get params(): RecommendCombinedRequestModel;
36
+ get params(): RecommendRequestModel;
37
37
  search: () => Promise<void>;
38
38
  }
39
39
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAErI,KAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACnE,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACrD,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QAChE,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;KAC5D,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,WAAW,GAAG,SAAS,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;IAC1E,UAAU,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;CACzD,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,kBAAkC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IAE/C,MAAM,EAAE;QACP,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,UAAU,CAAC,EAAE,WAAW,CAAC;QACzB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,UAAU,CAAC,EAAE,WAAW,CAAC;YAAC,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;KAC7E,CAKC;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;IA2C3B,KAAK,EAAE,0BAA0B,CAwS5B;IAEL,IAAI,MAAM,IAAI,6BAA6B,CA2B1C;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuH9B;CACF"}
1
+ {"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAErI,KAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACnE,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACrD,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QAChE,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;KAC5D,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,WAAW,GAAG,SAAS,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;IAC1E,UAAU,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;CACzD,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,kBAAkC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IAE/C,MAAM,EAAE;QACP,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,UAAU,CAAC,EAAE,WAAW,CAAC;QACzB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,UAAU,CAAC,EAAE,WAAW,CAAC;YAAC,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;KAC7E,CAKC;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;IA2C3B,KAAK,EAAE,0BAA0B,CAwS5B;IAEL,IAAI,MAAM,IAAI,qBAAqB,CA2BlC;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuH9B;CACF"}
@@ -92,14 +92,15 @@ var RecommendationController = /** @class */ (function (_super) {
92
92
  };
93
93
  _this.track = (function () {
94
94
  var getSeed = function () {
95
+ var _a, _b, _c, _d;
95
96
  var skus = [];
96
97
  switch (_this.store.profile.placement) {
97
98
  case snap_tracker_1.ProfilePlacement.PRODUCTPAGE:
98
- if (_this.config.globals.product) {
99
- skus = [_this.config.globals.product];
99
+ if ((_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.product) {
100
+ skus = [(_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.product];
100
101
  }
101
- else if (_this.config.globals.products) {
102
- skus = _this.config.globals.products;
102
+ else if ((_c = _this.config.globals) === null || _c === void 0 ? void 0 : _c.products) {
103
+ skus = (_d = _this.config.globals) === null || _d === void 0 ? void 0 : _d.products;
103
104
  }
104
105
  break;
105
106
  case snap_tracker_1.ProfilePlacement.BASKETPAGE:
@@ -117,7 +118,7 @@ var RecommendationController = /** @class */ (function (_super) {
117
118
  return {
118
119
  product: {
119
120
  click: function (e, result) {
120
- var _a;
121
+ var _a, _b, _c;
121
122
  if (!_this.store.profile.tag || !result)
122
123
  return;
123
124
  //set the profile click every time
@@ -125,7 +126,7 @@ var RecommendationController = /** @class */ (function (_super) {
125
126
  var payload = {
126
127
  type: snap_tracker_1.BeaconType.PROFILE_PRODUCT_CLICK,
127
128
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
128
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
129
+ context: ((_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId) ? { website: { trackingCode: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId } } : undefined,
129
130
  event: {
130
131
  context: {
131
132
  action: 'navigate',
@@ -141,20 +142,20 @@ var RecommendationController = /** @class */ (function (_super) {
141
142
  seed: getSeed(),
142
143
  },
143
144
  },
144
- pid: (_a = _this.events.click) === null || _a === void 0 ? void 0 : _a.id,
145
+ pid: (_c = _this.events.click) === null || _c === void 0 ? void 0 : _c.id,
145
146
  };
146
147
  var event = _this.tracker.track.event(payload);
147
148
  _this.eventManager.fire('track.product.click', { controller: _this, event: e, result: result, trackEvent: event });
148
149
  return event;
149
150
  },
150
151
  impression: function (result) {
151
- var _a;
152
+ var _a, _b, _c;
152
153
  if (!_this.store.profile.tag || !result || !_this.events.impression || (_this.events.product && ((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.impression)))
153
154
  return;
154
155
  var payload = {
155
156
  type: snap_tracker_1.BeaconType.PROFILE_PRODUCT_IMPRESSION,
156
157
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
157
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
158
+ context: ((_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId) ? { website: { trackingCode: (_c = _this.config.globals) === null || _c === void 0 ? void 0 : _c.siteId } } : undefined,
158
159
  event: {
159
160
  context: {
160
161
  placement: _this.store.profile.placement,
@@ -177,13 +178,13 @@ var RecommendationController = /** @class */ (function (_super) {
177
178
  return event;
178
179
  },
179
180
  render: function (result) {
180
- var _a;
181
+ var _a, _b, _c;
181
182
  if (!_this.store.profile.tag || !result || !_this.events.render || ((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.render))
182
183
  return;
183
184
  var payload = {
184
185
  type: snap_tracker_1.BeaconType.PROFILE_PRODUCT_RENDER,
185
186
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
186
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
187
+ context: ((_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId) ? { website: { trackingCode: (_c = _this.config.globals) === null || _c === void 0 ? void 0 : _c.siteId } } : undefined,
187
188
  event: {
188
189
  context: {
189
190
  placement: _this.store.profile.placement,
@@ -206,7 +207,7 @@ var RecommendationController = /** @class */ (function (_super) {
206
207
  return event;
207
208
  },
208
209
  removedFromBundle: function (result) {
209
- var _a, _b;
210
+ var _a, _b, _c, _d;
210
211
  if (!_this.store.profile.tag ||
211
212
  !result ||
212
213
  !_this.events.render ||
@@ -216,7 +217,7 @@ var RecommendationController = /** @class */ (function (_super) {
216
217
  var payload = {
217
218
  type: snap_tracker_1.BeaconType.PROFILE_PRODUCT_REMOVEDFROMBUNDLE,
218
219
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
219
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
220
+ context: ((_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId) ? { website: { trackingCode: (_c = _this.config.globals) === null || _c === void 0 ? void 0 : _c.siteId } } : undefined,
220
221
  event: {
221
222
  context: {
222
223
  placement: _this.store.profile.placement,
@@ -231,7 +232,7 @@ var RecommendationController = /** @class */ (function (_super) {
231
232
  seed: getSeed(),
232
233
  },
233
234
  },
234
- pid: (_b = _this.events.click) === null || _b === void 0 ? void 0 : _b.id,
235
+ pid: (_d = _this.events.click) === null || _d === void 0 ? void 0 : _d.id,
235
236
  };
236
237
  _this.events.product[result.id] = _this.events.product[result.id] || {};
237
238
  var event = (_this.events.product[result.id].render = _this.tracker.track.event(payload));
@@ -239,7 +240,7 @@ var RecommendationController = /** @class */ (function (_super) {
239
240
  return event;
240
241
  },
241
242
  addedToBundle: function (result) {
242
- var _a, _b;
243
+ var _a, _b, _c, _d;
243
244
  if (!_this.store.profile.tag ||
244
245
  !result ||
245
246
  !_this.events.render ||
@@ -249,7 +250,7 @@ var RecommendationController = /** @class */ (function (_super) {
249
250
  var payload = {
250
251
  type: snap_tracker_1.BeaconType.PROFILE_PRODUCT_ADDEDTOBUNDLE,
251
252
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
252
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
253
+ context: ((_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId) ? { website: { trackingCode: (_c = _this.config.globals) === null || _c === void 0 ? void 0 : _c.siteId } } : undefined,
253
254
  event: {
254
255
  context: {
255
256
  placement: _this.store.profile.placement,
@@ -264,7 +265,7 @@ var RecommendationController = /** @class */ (function (_super) {
264
265
  seed: getSeed(),
265
266
  },
266
267
  },
267
- pid: (_b = _this.events.click) === null || _b === void 0 ? void 0 : _b.id,
268
+ pid: (_d = _this.events.click) === null || _d === void 0 ? void 0 : _d.id,
268
269
  };
269
270
  _this.events.product[result.id] = _this.events.product[result.id] || {};
270
271
  var event = (_this.events.product[result.id].render = _this.tracker.track.event(payload));
@@ -273,12 +274,13 @@ var RecommendationController = /** @class */ (function (_super) {
273
274
  },
274
275
  },
275
276
  addBundle: function (e, results) {
277
+ var _a, _b;
276
278
  if (!results.length || !_this.store.profile.tag || _this.store.profile.type != 'bundle')
277
279
  return;
278
280
  var event = _this.tracker.track.event({
279
281
  type: snap_tracker_1.BeaconType.PROFILE_ADDBUNDLE,
280
282
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
281
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
283
+ context: ((_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId) ? { website: { trackingCode: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId } } : undefined,
282
284
  event: {
283
285
  context: {
284
286
  placement: _this.store.profile.placement,
@@ -305,12 +307,13 @@ var RecommendationController = /** @class */ (function (_super) {
305
307
  return event;
306
308
  },
307
309
  click: function (e) {
310
+ var _a, _b;
308
311
  if (!_this.store.profile.tag)
309
312
  return;
310
313
  var event = _this.tracker.track.event({
311
314
  type: snap_tracker_1.BeaconType.PROFILE_CLICK,
312
315
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
313
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
316
+ context: ((_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId) ? { website: { trackingCode: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId } } : undefined,
314
317
  event: {
315
318
  context: {
316
319
  action: 'navigate',
@@ -332,12 +335,13 @@ var RecommendationController = /** @class */ (function (_super) {
332
335
  return event;
333
336
  },
334
337
  impression: function () {
338
+ var _a, _b;
335
339
  if (!_this.store.profile.tag || _this.events.impression)
336
340
  return;
337
341
  var event = _this.tracker.track.event({
338
342
  type: snap_tracker_1.BeaconType.PROFILE_IMPRESSION,
339
343
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
340
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
344
+ context: ((_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId) ? { website: { trackingCode: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId } } : undefined,
341
345
  event: {
342
346
  context: {
343
347
  placement: _this.store.profile.placement,
@@ -358,12 +362,13 @@ var RecommendationController = /** @class */ (function (_super) {
358
362
  return event;
359
363
  },
360
364
  render: function () {
365
+ var _a, _b;
361
366
  if (!_this.store.profile.tag || _this.events.render)
362
367
  return;
363
368
  var event = _this.tracker.track.event({
364
369
  type: snap_tracker_1.BeaconType.PROFILE_RENDER,
365
370
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
366
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
371
+ context: ((_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId) ? { website: { trackingCode: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId } } : undefined,
367
372
  event: {
368
373
  context: {
369
374
  placement: _this.store.profile.placement,
@@ -584,8 +589,7 @@ var RecommendationController = /** @class */ (function (_super) {
584
589
  }
585
590
  Object.defineProperty(RecommendationController.prototype, "params", {
586
591
  get: function () {
587
- var _a, _b;
588
- var params = __assign({ tag: this.config.tag, batched: this.config.batched, branch: this.config.branch || 'production', order: (_b = (_a = this.context) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.order }, this.config.globals);
592
+ var params = __assign({ tag: this.config.tag, batched: this.config.batched, branch: this.config.branch || 'production', batchId: this.config.batchId }, this.config.globals);
589
593
  var shopperId = this.tracker.getContext().shopperId;
590
594
  var cart = this.tracker.cookies.cart.get();
591
595
  var lastViewed = this.tracker.cookies.viewed.get();
@@ -3,7 +3,7 @@ import { BeaconEvent } from '@searchspring/snap-tracker';
3
3
  import { AbstractController } from '../Abstract/AbstractController';
4
4
  import { ControllerTypes } from '../types';
5
5
  import type { RecommendationStore } from '@searchspring/snap-store-mobx';
6
- import type { RecommendCombinedRequestModel } from '@searchspring/snap-client';
6
+ import type { RecommendRequestModel } from '@searchspring/snap-client';
7
7
  import type { RecommendationControllerConfig, ControllerServices, ContextVariables } from '../types';
8
8
  type RecommendationTrackMethods = {
9
9
  product: {
@@ -33,7 +33,7 @@ export declare class RecommendationController extends AbstractController {
33
33
  };
34
34
  constructor(config: RecommendationControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
35
35
  track: RecommendationTrackMethods;
36
- get params(): RecommendCombinedRequestModel;
36
+ get params(): RecommendRequestModel;
37
37
  search: () => Promise<void>;
38
38
  }
39
39
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAErI,KAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACnE,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACrD,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QAChE,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;KAC5D,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,WAAW,GAAG,SAAS,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;IAC1E,UAAU,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;CACzD,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,kBAAkC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IAE/C,MAAM,EAAE;QACP,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,UAAU,CAAC,EAAE,WAAW,CAAC;QACzB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,UAAU,CAAC,EAAE,WAAW,CAAC;YAAC,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;KAC7E,CAKC;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;IA2C3B,KAAK,EAAE,0BAA0B,CAwS5B;IAEL,IAAI,MAAM,IAAI,6BAA6B,CA2B1C;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuH9B;CACF"}
1
+ {"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAErI,KAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACnE,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACrD,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QAChE,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;KAC5D,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,WAAW,GAAG,SAAS,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;IAC1E,UAAU,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;CACzD,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,kBAAkC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IAE/C,MAAM,EAAE;QACP,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,UAAU,CAAC,EAAE,WAAW,CAAC;QACzB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,UAAU,CAAC,EAAE,WAAW,CAAC;YAAC,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;KAC7E,CAKC;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;IA2C3B,KAAK,EAAE,0BAA0B,CAwS5B;IAEL,IAAI,MAAM,IAAI,qBAAqB,CA2BlC;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuH9B;CACF"}
@@ -25,11 +25,11 @@ export class RecommendationController extends AbstractController {
25
25
  let skus = [];
26
26
  switch (this.store.profile.placement) {
27
27
  case ProfilePlacement.PRODUCTPAGE:
28
- if (this.config.globals.product) {
29
- skus = [this.config.globals.product];
28
+ if (this.config.globals?.product) {
29
+ skus = [this.config.globals?.product];
30
30
  }
31
- else if (this.config.globals.products) {
32
- skus = this.config.globals.products;
31
+ else if (this.config.globals?.products) {
32
+ skus = this.config.globals?.products;
33
33
  }
34
34
  break;
35
35
  case ProfilePlacement.BASKETPAGE:
@@ -54,7 +54,7 @@ export class RecommendationController extends AbstractController {
54
54
  const payload = {
55
55
  type: BeaconType.PROFILE_PRODUCT_CLICK,
56
56
  category: BeaconCategory.RECOMMENDATIONS,
57
- context: this.config.globals.siteId ? { website: { trackingCode: this.config.globals.siteId } } : undefined,
57
+ context: this.config.globals?.siteId ? { website: { trackingCode: this.config.globals?.siteId } } : undefined,
58
58
  event: {
59
59
  context: {
60
60
  action: 'navigate',
@@ -82,7 +82,7 @@ export class RecommendationController extends AbstractController {
82
82
  const payload = {
83
83
  type: BeaconType.PROFILE_PRODUCT_IMPRESSION,
84
84
  category: BeaconCategory.RECOMMENDATIONS,
85
- context: this.config.globals.siteId ? { website: { trackingCode: this.config.globals.siteId } } : undefined,
85
+ context: this.config.globals?.siteId ? { website: { trackingCode: this.config.globals?.siteId } } : undefined,
86
86
  event: {
87
87
  context: {
88
88
  placement: this.store.profile.placement,
@@ -110,7 +110,7 @@ export class RecommendationController extends AbstractController {
110
110
  const payload = {
111
111
  type: BeaconType.PROFILE_PRODUCT_RENDER,
112
112
  category: BeaconCategory.RECOMMENDATIONS,
113
- context: this.config.globals.siteId ? { website: { trackingCode: this.config.globals.siteId } } : undefined,
113
+ context: this.config.globals?.siteId ? { website: { trackingCode: this.config.globals?.siteId } } : undefined,
114
114
  event: {
115
115
  context: {
116
116
  placement: this.store.profile.placement,
@@ -142,7 +142,7 @@ export class RecommendationController extends AbstractController {
142
142
  const payload = {
143
143
  type: BeaconType.PROFILE_PRODUCT_REMOVEDFROMBUNDLE,
144
144
  category: BeaconCategory.RECOMMENDATIONS,
145
- context: this.config.globals.siteId ? { website: { trackingCode: this.config.globals.siteId } } : undefined,
145
+ context: this.config.globals?.siteId ? { website: { trackingCode: this.config.globals?.siteId } } : undefined,
146
146
  event: {
147
147
  context: {
148
148
  placement: this.store.profile.placement,
@@ -174,7 +174,7 @@ export class RecommendationController extends AbstractController {
174
174
  const payload = {
175
175
  type: BeaconType.PROFILE_PRODUCT_ADDEDTOBUNDLE,
176
176
  category: BeaconCategory.RECOMMENDATIONS,
177
- context: this.config.globals.siteId ? { website: { trackingCode: this.config.globals.siteId } } : undefined,
177
+ context: this.config.globals?.siteId ? { website: { trackingCode: this.config.globals?.siteId } } : undefined,
178
178
  event: {
179
179
  context: {
180
180
  placement: this.store.profile.placement,
@@ -203,7 +203,7 @@ export class RecommendationController extends AbstractController {
203
203
  const event = this.tracker.track.event({
204
204
  type: BeaconType.PROFILE_ADDBUNDLE,
205
205
  category: BeaconCategory.RECOMMENDATIONS,
206
- context: this.config.globals.siteId ? { website: { trackingCode: this.config.globals.siteId } } : undefined,
206
+ context: this.config.globals?.siteId ? { website: { trackingCode: this.config.globals?.siteId } } : undefined,
207
207
  event: {
208
208
  context: {
209
209
  placement: this.store.profile.placement,
@@ -235,7 +235,7 @@ export class RecommendationController extends AbstractController {
235
235
  const event = this.tracker.track.event({
236
236
  type: BeaconType.PROFILE_CLICK,
237
237
  category: BeaconCategory.RECOMMENDATIONS,
238
- context: this.config.globals.siteId ? { website: { trackingCode: this.config.globals.siteId } } : undefined,
238
+ context: this.config.globals?.siteId ? { website: { trackingCode: this.config.globals?.siteId } } : undefined,
239
239
  event: {
240
240
  context: {
241
241
  action: 'navigate',
@@ -262,7 +262,7 @@ export class RecommendationController extends AbstractController {
262
262
  const event = this.tracker.track.event({
263
263
  type: BeaconType.PROFILE_IMPRESSION,
264
264
  category: BeaconCategory.RECOMMENDATIONS,
265
- context: this.config.globals.siteId ? { website: { trackingCode: this.config.globals.siteId } } : undefined,
265
+ context: this.config.globals?.siteId ? { website: { trackingCode: this.config.globals?.siteId } } : undefined,
266
266
  event: {
267
267
  context: {
268
268
  placement: this.store.profile.placement,
@@ -288,7 +288,7 @@ export class RecommendationController extends AbstractController {
288
288
  const event = this.tracker.track.event({
289
289
  type: BeaconType.PROFILE_RENDER,
290
290
  category: BeaconCategory.RECOMMENDATIONS,
291
- context: this.config.globals.siteId ? { website: { trackingCode: this.config.globals.siteId } } : undefined,
291
+ context: this.config.globals?.siteId ? { website: { trackingCode: this.config.globals?.siteId } } : undefined,
292
292
  event: {
293
293
  context: {
294
294
  placement: this.store.profile.placement,
@@ -459,7 +459,7 @@ export class RecommendationController extends AbstractController {
459
459
  tag: this.config.tag,
460
460
  batched: this.config.batched,
461
461
  branch: this.config.branch || 'production',
462
- order: this.context?.options?.order,
462
+ batchId: this.config.batchId,
463
463
  ...this.config.globals,
464
464
  };
465
465
  const shopperId = this.tracker.getContext().shopperId;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-controller",
3
- "version": "0.59.0",
3
+ "version": "0.60.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.59.0",
23
+ "@searchspring/snap-toolbox": "^0.60.1",
24
24
  "css.escape": "1.5.1",
25
25
  "deepmerge": "4.3.1"
26
26
  },
27
27
  "devDependencies": {
28
- "@searchspring/snap-client": "^0.59.0",
29
- "@searchspring/snap-event-manager": "^0.59.0",
30
- "@searchspring/snap-logger": "^0.59.0",
31
- "@searchspring/snap-profiler": "^0.59.0",
32
- "@searchspring/snap-store-mobx": "^0.59.0",
33
- "@searchspring/snap-tracker": "^0.59.0",
34
- "@searchspring/snap-url-manager": "^0.59.0"
28
+ "@searchspring/snap-client": "^0.60.1",
29
+ "@searchspring/snap-event-manager": "^0.60.1",
30
+ "@searchspring/snap-logger": "^0.60.1",
31
+ "@searchspring/snap-profiler": "^0.60.1",
32
+ "@searchspring/snap-store-mobx": "^0.60.1",
33
+ "@searchspring/snap-tracker": "^0.60.1",
34
+ "@searchspring/snap-url-manager": "^0.60.1"
35
35
  },
36
36
  "sideEffects": false,
37
37
  "files": [
38
38
  "dist/**/*"
39
39
  ],
40
- "gitHead": "3106e08ab0114c0bb0de8f7d7beb6f65968f9c75"
40
+ "gitHead": "94761345dd36b121494c165d9844a27086085dc9"
41
41
  }