@searchspring/snap-controller 0.42.2 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAA8C,MAAM,+BAA+B,CAAC;AACzG,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,EAAkD,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEnJ,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AA0B/B,aAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;KAC5C,CAAC;CACF,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;gBAG5B,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;IA6D3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA0CrC;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;wBAkDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCAgDhD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,aAAa,KAAG,IAAI;;;;uBAiDpB,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0E3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAiH9B;CACF"}
1
+ {"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AACrF,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,EAAkD,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEnJ,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AA0B/B,aAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;KAC5C,CAAC;CACF,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;gBAG5B,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;IA6D3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA0CrC;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;wBAkDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCAgDhD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,aAAa,KAAG,IAAI;;;;uBAsDpB,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0E3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA4G9B;CACF"}
@@ -105,7 +105,7 @@ var AutocompleteController = /** @class */ (function (_super) {
105
105
  _this.track = {
106
106
  // TODO: add in future when autocomplete supports result click tracking
107
107
  product: {
108
- click: function (e, result) {
108
+ click: function () {
109
109
  _this.log.warn('product.click tracking is not currently supported in this controller type');
110
110
  },
111
111
  },
@@ -299,16 +299,21 @@ var AutocompleteController = /** @class */ (function (_super) {
299
299
  });
300
300
  }
301
301
  clearTimeout(_this.handlers.input.timeoutDelay);
302
+ // input is empty
302
303
  if (!value) {
303
304
  // TODO cancel any current requests?
305
+ // reset the store (in case input was just cleared)
304
306
  _this.store.reset();
305
- _this.urlManager.reset().go();
306
307
  if (((_c = _this.store.trending) === null || _c === void 0 ? void 0 : _c.length) && ((_e = (_d = _this.config.settings) === null || _d === void 0 ? void 0 : _d.trending) === null || _e === void 0 ? void 0 : _e.showResults)) {
307
308
  _this.store.trending[0].preview();
308
309
  }
309
310
  else if (((_f = _this.store.history) === null || _f === void 0 ? void 0 : _f.length) && ((_h = (_g = _this.config.settings) === null || _g === void 0 ? void 0 : _g.history) === null || _h === void 0 ? void 0 : _h.showResults)) {
310
311
  _this.store.history[0].preview();
311
312
  }
313
+ else {
314
+ // reset urlManager when a preview is not available to do so
315
+ _this.urlManager.reset().go();
316
+ }
312
317
  }
313
318
  else {
314
319
  _this.store.resetTerms();
@@ -403,13 +408,9 @@ var AutocompleteController = /** @class */ (function (_super) {
403
408
  return [4 /*yield*/, this.client.autocomplete(params)];
404
409
  case 6:
405
410
  _a = _d.sent(), meta = _a[0], response = _a[1];
406
- // @ts-ignore
411
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
407
412
  if (!response.meta) {
408
- /**
409
- * MockClient will overwrite the client search() method and use
410
- * SearchData to return mock data which already contains meta data
411
- */
412
- // @ts-ignore
413
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
413
414
  response.meta = meta;
414
415
  }
415
416
  searchProfile.stop();
@@ -442,7 +443,6 @@ var AutocompleteController = /** @class */ (function (_super) {
442
443
  afterSearchProfile.stop();
443
444
  this.log.profile(afterSearchProfile);
444
445
  // update the store
445
- // @ts-ignore
446
446
  this.store.update(response);
447
447
  afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
448
448
  _d.label = 11;
@@ -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,EAAmC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB9H,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;IA2C3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAe5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAqH9B;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,EAAmC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB9H,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;IA2C3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAe5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAiH9B;CACF"}
@@ -170,13 +170,9 @@ var FinderController = /** @class */ (function (_super) {
170
170
  return [4 /*yield*/, this.client.finder(params)];
171
171
  case 8:
172
172
  _a = _b.sent(), meta = _a[0], response = _a[1];
173
- // @ts-ignore
173
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
174
174
  if (!response.meta) {
175
- /**
176
- * MockClient will overwrite the client search() method and use
177
- * SearchData to return mock data which already contains meta data
178
- */
179
- // @ts-ignore
175
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
180
176
  response.meta = meta;
181
177
  }
182
178
  searchProfile.stop();
@@ -209,7 +205,7 @@ var FinderController = /** @class */ (function (_super) {
209
205
  afterSearchProfile.stop();
210
206
  this.log.profile(afterSearchProfile);
211
207
  // update the store
212
- // @ts-ignore
208
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
213
209
  this.store.update(response);
214
210
  afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
215
211
  _b.label = 13;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EACX,sBAAsB,EAItB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,kBAAkB,EAA2E,MAAM,2BAA2B,CAAC;AAsB7I,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;KAC/D,CAAC;CACF,CAAC;AAEF,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;gBAG9D,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;IAqI3B,KAAK,EAAE,kBAAkB,CAoCvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAgD/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAmO9B;CACF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAiBxF"}
1
+ {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EACX,sBAAsB,EAItB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,kBAAkB,EAA2E,MAAM,2BAA2B,CAAC;AAqB7I,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;KAC/D,CAAC;CACF,CAAC;AAEF,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;gBAG9D,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;IAqI3B,KAAK,EAAE,kBAAkB,CAoCvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAgD/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuN9B;CACF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAiBxF"}
@@ -80,7 +80,6 @@ var AbstractController_1 = require("../Abstract/AbstractController");
80
80
  var snap_store_mobx_1 = require("@searchspring/snap-store-mobx");
81
81
  var getParams_1 = require("../utils/getParams");
82
82
  var types_1 = require("../types");
83
- var HEIGHT_CHECK_INTERVAL = 50;
84
83
  var API_LIMIT = 500;
85
84
  var defaultConfig = {
86
85
  id: 'search',
@@ -244,11 +243,7 @@ var SearchController = /** @class */ (function (_super) {
244
243
  // set the response results with results from backfill responses
245
244
  response_1.results = backfillResults_1;
246
245
  if (!response_1.meta) {
247
- /**
248
- * MockClient will overwrite the client search() method and use
249
- * SearchData to return mock data which already contains meta data
250
- */
251
- // @ts-ignore
246
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
252
247
  response_1.meta = meta_1;
253
248
  }
254
249
  return [3 /*break*/, 14];
@@ -256,13 +251,9 @@ var SearchController = /** @class */ (function (_super) {
256
251
  case 13:
257
252
  // infinite with no backfills.
258
253
  _b = _x.sent(), meta_1 = _b[0], response_1 = _b[1];
259
- // @ts-ignore
254
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
260
255
  if (!response_1.meta) {
261
- /**
262
- * MockClient will overwrite the client search() method and use
263
- * SearchData to return mock data which already contains meta data
264
- */
265
- // @ts-ignore
256
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
266
257
  response_1.meta = meta_1;
267
258
  }
268
259
  //append new results to previous results
@@ -273,13 +264,9 @@ var SearchController = /** @class */ (function (_super) {
273
264
  case 16:
274
265
  //standard.
275
266
  _c = _x.sent(), meta_1 = _c[0], response_1 = _c[1];
276
- // @ts-ignore
267
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
277
268
  if (!response_1.meta) {
278
- /**
279
- * MockClient will overwrite the client search() method and use
280
- * SearchData to return mock data which already contains meta data
281
- */
282
- // @ts-ignore
269
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
283
270
  response_1.meta = meta_1;
284
271
  }
285
272
  _x.label = 17;
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAA8C,MAAM,+BAA+B,CAAC;AACzG,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,EAAkD,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEnJ,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AA0B/B,aAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;KAC5C,CAAC;CACF,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;gBAG5B,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;IA6D3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA0CrC;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;wBAkDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCAgDhD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,aAAa,KAAG,IAAI;;;;uBAiDpB,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0E3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAiH9B;CACF"}
1
+ {"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AACrF,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,EAAkD,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEnJ,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AA0B/B,aAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;KAC5C,CAAC;CACF,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;gBAG5B,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;IA6D3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA0CrC;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;wBAkDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCAgDhD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,aAAa,KAAG,IAAI;;;;uBAsDpB,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0E3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA4G9B;CACF"}
@@ -35,7 +35,7 @@ export class AutocompleteController extends AbstractController {
35
35
  this.track = {
36
36
  // TODO: add in future when autocomplete supports result click tracking
37
37
  product: {
38
- click: (e, result) => {
38
+ click: () => {
39
39
  this.log.warn('product.click tracking is not currently supported in this controller type');
40
40
  },
41
41
  },
@@ -185,16 +185,21 @@ export class AutocompleteController extends AbstractController {
185
185
  });
186
186
  }
187
187
  clearTimeout(this.handlers.input.timeoutDelay);
188
+ // input is empty
188
189
  if (!value) {
189
190
  // TODO cancel any current requests?
191
+ // reset the store (in case input was just cleared)
190
192
  this.store.reset();
191
- this.urlManager.reset().go();
192
193
  if (this.store.trending?.length && this.config.settings?.trending?.showResults) {
193
194
  this.store.trending[0].preview();
194
195
  }
195
196
  else if (this.store.history?.length && this.config.settings?.history?.showResults) {
196
197
  this.store.history[0].preview();
197
198
  }
199
+ else {
200
+ // reset urlManager when a preview is not available to do so
201
+ this.urlManager.reset().go();
202
+ }
198
203
  }
199
204
  else {
200
205
  this.store.resetTerms();
@@ -265,13 +270,9 @@ export class AutocompleteController extends AbstractController {
265
270
  }
266
271
  const searchProfile = this.profiler.create({ type: 'event', name: 'search', context: params }).start();
267
272
  const [meta, response] = await this.client.autocomplete(params);
268
- // @ts-ignore
273
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
269
274
  if (!response.meta) {
270
- /**
271
- * MockClient will overwrite the client search() method and use
272
- * SearchData to return mock data which already contains meta data
273
- */
274
- // @ts-ignore
275
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
275
276
  response.meta = meta;
276
277
  }
277
278
  searchProfile.stop();
@@ -298,7 +299,6 @@ export class AutocompleteController extends AbstractController {
298
299
  afterSearchProfile.stop();
299
300
  this.log.profile(afterSearchProfile);
300
301
  // update the store
301
- // @ts-ignore
302
302
  this.store.update(response);
303
303
  const afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
304
304
  try {
@@ -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,EAAmC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB9H,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;IA2C3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAe5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAqH9B;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,EAAmC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB9H,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;IA2C3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAe5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAiH9B;CACF"}
@@ -70,13 +70,9 @@ export class FinderController extends AbstractController {
70
70
  }
71
71
  const searchProfile = this.profiler.create({ type: 'event', name: 'search', context: params }).start();
72
72
  const [meta, response] = await this.client.finder(params);
73
- // @ts-ignore
73
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
74
74
  if (!response.meta) {
75
- /**
76
- * MockClient will overwrite the client search() method and use
77
- * SearchData to return mock data which already contains meta data
78
- */
79
- // @ts-ignore
75
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
80
76
  response.meta = meta;
81
77
  }
82
78
  searchProfile.stop();
@@ -103,7 +99,7 @@ export class FinderController extends AbstractController {
103
99
  afterSearchProfile.stop();
104
100
  this.log.profile(afterSearchProfile);
105
101
  // update the store
106
- // @ts-ignore
102
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
107
103
  this.store.update(response);
108
104
  const afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
109
105
  try {
@@ -189,7 +185,7 @@ export class FinderController extends AbstractController {
189
185
  const userId = this.tracker.getUserId();
190
186
  const sessionId = this.tracker.getContext().sessionId;
191
187
  const pageLoadId = this.tracker.getContext().pageLoadId;
192
- let tracking = {};
188
+ const tracking = {};
193
189
  if (userId) {
194
190
  tracking.userId = userId;
195
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EACX,sBAAsB,EAItB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,kBAAkB,EAA2E,MAAM,2BAA2B,CAAC;AAsB7I,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;KAC/D,CAAC;CACF,CAAC;AAEF,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;gBAG9D,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;IAqI3B,KAAK,EAAE,kBAAkB,CAoCvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAgD/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAmO9B;CACF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAiBxF"}
1
+ {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EACX,sBAAsB,EAItB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,kBAAkB,EAA2E,MAAM,2BAA2B,CAAC;AAqB7I,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;KAC/D,CAAC;CACF,CAAC;AAEF,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;gBAG9D,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;IAqI3B,KAAK,EAAE,kBAAkB,CAoCvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAgD/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuN9B;CACF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAiBxF"}
@@ -3,7 +3,6 @@ import { AbstractController } from '../Abstract/AbstractController';
3
3
  import { StorageStore, StorageType, ErrorType } from '@searchspring/snap-store-mobx';
4
4
  import { getSearchParams } from '../utils/getParams';
5
5
  import { ControllerTypes } from '../types';
6
- const HEIGHT_CHECK_INTERVAL = 50;
7
6
  const API_LIMIT = 500;
8
7
  const defaultConfig = {
9
8
  id: 'search',
@@ -126,7 +125,7 @@ export class SearchController extends AbstractController {
126
125
  // infinite backfill results
127
126
  if (backfills && backfills.length) {
128
127
  // array to hold all results from backfill responses
129
- let backfillResults = [];
128
+ const backfillResults = [];
130
129
  const backfillResponses = await Promise.all(backfills);
131
130
  backfillResponses.map(([metaBackfill, responseBackfill]) => {
132
131
  if (!meta) {
@@ -147,24 +146,16 @@ export class SearchController extends AbstractController {
147
146
  // set the response results with results from backfill responses
148
147
  response.results = backfillResults;
149
148
  if (!response.meta) {
150
- /**
151
- * MockClient will overwrite the client search() method and use
152
- * SearchData to return mock data which already contains meta data
153
- */
154
- // @ts-ignore
149
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
155
150
  response.meta = meta;
156
151
  }
157
152
  }
158
153
  else {
159
154
  // infinite with no backfills.
160
155
  [meta, response] = await this.client.search(params);
161
- // @ts-ignore
156
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
162
157
  if (!response.meta) {
163
- /**
164
- * MockClient will overwrite the client search() method and use
165
- * SearchData to return mock data which already contains meta data
166
- */
167
- // @ts-ignore
158
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
168
159
  response.meta = meta;
169
160
  }
170
161
  //append new results to previous results
@@ -174,13 +165,9 @@ export class SearchController extends AbstractController {
174
165
  else {
175
166
  //standard.
176
167
  [meta, response] = await this.client.search(params);
177
- // @ts-ignore
168
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
178
169
  if (!response.meta) {
179
- /**
180
- * MockClient will overwrite the client search() method and use
181
- * SearchData to return mock data which already contains meta data
182
- */
183
- // @ts-ignore
170
+ // @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
184
171
  response.meta = meta;
185
172
  }
186
173
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-controller",
3
- "version": "0.42.2",
3
+ "version": "0.43.0",
4
4
  "description": "Snap Controllers",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -20,21 +20,21 @@
20
20
  "test:watch": "jest --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@searchspring/snap-toolbox": "^0.42.2",
24
- "deepmerge": "4.2.2"
23
+ "@searchspring/snap-toolbox": "^0.43.0",
24
+ "deepmerge": "4.3.1"
25
25
  },
26
26
  "devDependencies": {
27
- "@searchspring/snap-client": "^0.42.2",
28
- "@searchspring/snap-event-manager": "^0.42.2",
29
- "@searchspring/snap-logger": "^0.42.2",
30
- "@searchspring/snap-profiler": "^0.42.2",
31
- "@searchspring/snap-store-mobx": "^0.42.2",
32
- "@searchspring/snap-tracker": "^0.42.2",
33
- "@searchspring/snap-url-manager": "^0.42.2"
27
+ "@searchspring/snap-client": "^0.43.0",
28
+ "@searchspring/snap-event-manager": "^0.43.0",
29
+ "@searchspring/snap-logger": "^0.43.0",
30
+ "@searchspring/snap-profiler": "^0.43.0",
31
+ "@searchspring/snap-store-mobx": "^0.43.0",
32
+ "@searchspring/snap-tracker": "^0.43.0",
33
+ "@searchspring/snap-url-manager": "^0.43.0"
34
34
  },
35
35
  "sideEffects": false,
36
36
  "files": [
37
37
  "dist/**/*"
38
38
  ],
39
- "gitHead": "eb4b7f79368a577a88a310f3627f70cea01d94cb"
39
+ "gitHead": "60b06644edb6f2f8258334321e15cafb5d7d4888"
40
40
  }