@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.
- package/dist/cjs/Autocomplete/AutocompleteController.d.ts.map +1 -1
- package/dist/cjs/Autocomplete/AutocompleteController.js +9 -9
- package/dist/cjs/Finder/FinderController.d.ts.map +1 -1
- package/dist/cjs/Finder/FinderController.js +3 -7
- package/dist/cjs/Search/SearchController.d.ts.map +1 -1
- package/dist/cjs/Search/SearchController.js +5 -18
- package/dist/esm/Autocomplete/AutocompleteController.d.ts.map +1 -1
- package/dist/esm/Autocomplete/AutocompleteController.js +9 -9
- package/dist/esm/Finder/FinderController.d.ts.map +1 -1
- package/dist/esm/Finder/FinderController.js +4 -8
- package/dist/esm/Search/SearchController.d.ts.map +1 -1
- package/dist/esm/Search/SearchController.js +6 -19
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,
|
|
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 (
|
|
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,
|
|
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;
|
|
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,
|
|
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: (
|
|
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,
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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.
|
|
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.
|
|
24
|
-
"deepmerge": "4.
|
|
23
|
+
"@searchspring/snap-toolbox": "^0.43.0",
|
|
24
|
+
"deepmerge": "4.3.1"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@searchspring/snap-client": "^0.
|
|
28
|
-
"@searchspring/snap-event-manager": "^0.
|
|
29
|
-
"@searchspring/snap-logger": "^0.
|
|
30
|
-
"@searchspring/snap-profiler": "^0.
|
|
31
|
-
"@searchspring/snap-store-mobx": "^0.
|
|
32
|
-
"@searchspring/snap-tracker": "^0.
|
|
33
|
-
"@searchspring/snap-url-manager": "^0.
|
|
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": "
|
|
39
|
+
"gitHead": "60b06644edb6f2f8258334321e15cafb5d7d4888"
|
|
40
40
|
}
|