@searchspring/snap-controller 0.62.0 → 0.63.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Search/SearchController.d.ts +0 -1
- package/dist/cjs/Search/SearchController.d.ts.map +1 -1
- package/dist/cjs/Search/SearchController.js +27 -44
- package/dist/esm/Search/SearchController.d.ts +0 -1
- package/dist/esm/Search/SearchController.d.ts.map +1 -1
- package/dist/esm/Search/SearchController.js +3 -11
- package/package.json +10 -10
|
@@ -15,7 +15,6 @@ export declare class SearchController extends AbstractController {
|
|
|
15
15
|
store: SearchStore;
|
|
16
16
|
config: SearchControllerConfig;
|
|
17
17
|
storage: StorageStore;
|
|
18
|
-
private previousResults;
|
|
19
18
|
constructor(config: SearchControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
20
19
|
track: SearchTrackMethods;
|
|
21
20
|
get params(): SearchRequestModel;
|
|
@@ -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,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,EAGtB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,kBAAkB,EAKlB,MAAM,2BAA2B,CAAC;AAmBnC,KAAK,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;
|
|
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,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,EAGtB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,kBAAkB,EAKlB,MAAM,2BAA2B,CAAC;AAmBnC,KAAK,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;gBAGrB,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;IAsJ3B,KAAK,EAAE,kBAAkB,CA+CvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAiD/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CA2M9B;CACF;AAED,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"}
|
|
@@ -61,15 +61,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
61
61
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
65
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
66
|
-
if (ar || !(i in from)) {
|
|
67
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
68
|
-
ar[i] = from[i];
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
72
|
-
};
|
|
73
64
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
74
65
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
75
66
|
};
|
|
@@ -104,7 +95,6 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
104
95
|
var _b, _c, _d, _e, _f;
|
|
105
96
|
var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }, context) || this;
|
|
106
97
|
_this.type = types_1.ControllerTypes.search;
|
|
107
|
-
_this.previousResults = [];
|
|
108
98
|
_this.track = {
|
|
109
99
|
product: {
|
|
110
100
|
click: function (e, result) {
|
|
@@ -151,16 +141,16 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
151
141
|
var params_1, err_1, stringyParams, prevStringyParams, searchProfile, meta, response, preventBackfill, dontBackfill, backfillRequests, backfillResponses, backfillResults, afterSearchProfile, err_2, afterStoreProfile, err_3, err_4;
|
|
152
142
|
var _a, _b;
|
|
153
143
|
var _this = this;
|
|
154
|
-
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m
|
|
155
|
-
return __generator(this, function (
|
|
156
|
-
switch (
|
|
144
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
145
|
+
return __generator(this, function (_o) {
|
|
146
|
+
switch (_o.label) {
|
|
157
147
|
case 0:
|
|
158
|
-
|
|
148
|
+
_o.trys.push([0, 22, 23, 24]);
|
|
159
149
|
if (!!this.initialized) return [3 /*break*/, 2];
|
|
160
150
|
return [4 /*yield*/, this.init()];
|
|
161
151
|
case 1:
|
|
162
|
-
|
|
163
|
-
|
|
152
|
+
_o.sent();
|
|
153
|
+
_o.label = 2;
|
|
164
154
|
case 2:
|
|
165
155
|
params_1 = this.params;
|
|
166
156
|
if (((_d = (_c = this.params.search) === null || _c === void 0 ? void 0 : _c.query) === null || _d === void 0 ? void 0 : _d.string) && ((_f = (_e = this.params.search) === null || _e === void 0 ? void 0 : _e.query) === null || _f === void 0 ? void 0 : _f.string.length)) {
|
|
@@ -168,18 +158,18 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
168
158
|
this.store.history.save(this.params.search.query.string);
|
|
169
159
|
}
|
|
170
160
|
this.store.loading = true;
|
|
171
|
-
|
|
161
|
+
_o.label = 3;
|
|
172
162
|
case 3:
|
|
173
|
-
|
|
163
|
+
_o.trys.push([3, 5, , 6]);
|
|
174
164
|
return [4 /*yield*/, this.eventManager.fire('beforeSearch', {
|
|
175
165
|
controller: this,
|
|
176
166
|
request: params_1,
|
|
177
167
|
})];
|
|
178
168
|
case 4:
|
|
179
|
-
|
|
169
|
+
_o.sent();
|
|
180
170
|
return [3 /*break*/, 6];
|
|
181
171
|
case 5:
|
|
182
|
-
err_1 =
|
|
172
|
+
err_1 = _o.sent();
|
|
183
173
|
if ((err_1 === null || err_1 === void 0 ? void 0 : err_1.message) == 'cancelled') {
|
|
184
174
|
this.log.warn("'beforeSearch' middleware cancelled");
|
|
185
175
|
return [2 /*return*/];
|
|
@@ -208,7 +198,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
208
198
|
this.urlManager.set('page', 1).go();
|
|
209
199
|
return [2 /*return*/];
|
|
210
200
|
}
|
|
211
|
-
if (!(((_l = this.config.settings) === null || _l === void 0 ? void 0 : _l.infinite.backfill) && !this.
|
|
201
|
+
if (!(((_l = this.config.settings) === null || _l === void 0 ? void 0 : _l.infinite.backfill) && !this.store.loaded)) return [3 /*break*/, 8];
|
|
212
202
|
backfillRequests = Array(params_1.pagination.page)
|
|
213
203
|
.fill('backfill')
|
|
214
204
|
.map(function (v, i) {
|
|
@@ -227,7 +217,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
227
217
|
});
|
|
228
218
|
return [4 /*yield*/, Promise.all(backfillRequests)];
|
|
229
219
|
case 7:
|
|
230
|
-
backfillResponses =
|
|
220
|
+
backfillResponses = _o.sent();
|
|
231
221
|
// backfillResponses are [meta, searchResponse][]
|
|
232
222
|
// set the meta and response to the first page of backfillResponses
|
|
233
223
|
meta = backfillResponses[0][0];
|
|
@@ -245,16 +235,14 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
245
235
|
case 8: return [4 /*yield*/, this.client.search(params_1)];
|
|
246
236
|
case 9:
|
|
247
237
|
// infinite with no backfills.
|
|
248
|
-
_a =
|
|
249
|
-
|
|
250
|
-
response.results = __spreadArray(__spreadArray([], this.previousResults, true), (response.results || []), true);
|
|
251
|
-
_p.label = 10;
|
|
238
|
+
_a = _o.sent(), meta = _a[0], response = _a[1];
|
|
239
|
+
_o.label = 10;
|
|
252
240
|
case 10: return [3 /*break*/, 13];
|
|
253
241
|
case 11: return [4 /*yield*/, this.client.search(params_1)];
|
|
254
242
|
case 12:
|
|
255
|
-
//
|
|
256
|
-
_b =
|
|
257
|
-
|
|
243
|
+
// normal request for next page
|
|
244
|
+
_b = _o.sent(), meta = _b[0], response = _b[1];
|
|
245
|
+
_o.label = 13;
|
|
258
246
|
case 13:
|
|
259
247
|
// MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
|
|
260
248
|
if (!response.meta) {
|
|
@@ -263,19 +251,19 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
263
251
|
searchProfile.stop();
|
|
264
252
|
this.log.profile(searchProfile);
|
|
265
253
|
afterSearchProfile = this.profiler.create({ type: 'event', name: 'afterSearch', context: params_1 }).start();
|
|
266
|
-
|
|
254
|
+
_o.label = 14;
|
|
267
255
|
case 14:
|
|
268
|
-
|
|
256
|
+
_o.trys.push([14, 16, , 17]);
|
|
269
257
|
return [4 /*yield*/, this.eventManager.fire('afterSearch', {
|
|
270
258
|
controller: this,
|
|
271
259
|
request: params_1,
|
|
272
260
|
response: response,
|
|
273
261
|
})];
|
|
274
262
|
case 15:
|
|
275
|
-
|
|
263
|
+
_o.sent();
|
|
276
264
|
return [3 /*break*/, 17];
|
|
277
265
|
case 16:
|
|
278
|
-
err_2 =
|
|
266
|
+
err_2 = _o.sent();
|
|
279
267
|
if ((err_2 === null || err_2 === void 0 ? void 0 : err_2.message) == 'cancelled') {
|
|
280
268
|
this.log.warn("'afterSearch' middleware cancelled");
|
|
281
269
|
afterSearchProfile.stop();
|
|
@@ -289,26 +277,22 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
289
277
|
case 17:
|
|
290
278
|
afterSearchProfile.stop();
|
|
291
279
|
this.log.profile(afterSearchProfile);
|
|
292
|
-
// store previous results for infinite usage
|
|
293
|
-
if ((_o = this.config.settings) === null || _o === void 0 ? void 0 : _o.infinite) {
|
|
294
|
-
this.previousResults = JSON.parse(JSON.stringify(response.results));
|
|
295
|
-
}
|
|
296
280
|
// update the store
|
|
297
281
|
this.store.update(response);
|
|
298
282
|
afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params_1 }).start();
|
|
299
|
-
|
|
283
|
+
_o.label = 18;
|
|
300
284
|
case 18:
|
|
301
|
-
|
|
285
|
+
_o.trys.push([18, 20, , 21]);
|
|
302
286
|
return [4 /*yield*/, this.eventManager.fire('afterStore', {
|
|
303
287
|
controller: this,
|
|
304
288
|
request: params_1,
|
|
305
289
|
response: response,
|
|
306
290
|
})];
|
|
307
291
|
case 19:
|
|
308
|
-
|
|
292
|
+
_o.sent();
|
|
309
293
|
return [3 /*break*/, 21];
|
|
310
294
|
case 20:
|
|
311
|
-
err_3 =
|
|
295
|
+
err_3 = _o.sent();
|
|
312
296
|
if ((err_3 === null || err_3 === void 0 ? void 0 : err_3.message) == 'cancelled') {
|
|
313
297
|
this.log.warn("'afterStore' middleware cancelled");
|
|
314
298
|
afterStoreProfile.stop();
|
|
@@ -324,7 +308,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
324
308
|
this.log.profile(afterStoreProfile);
|
|
325
309
|
return [3 /*break*/, 24];
|
|
326
310
|
case 22:
|
|
327
|
-
err_4 =
|
|
311
|
+
err_4 = _o.sent();
|
|
328
312
|
if (err_4) {
|
|
329
313
|
if (err_4.err && err_4.fetchDetails) {
|
|
330
314
|
switch (err_4.fetchDetails.status) {
|
|
@@ -403,8 +387,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
403
387
|
if (((_k = (_j = config === null || config === void 0 ? void 0 : config.settings) === null || _j === void 0 ? void 0 : _j.redirects) === null || _k === void 0 ? void 0 : _k.singleResult) &&
|
|
404
388
|
((_m = (_l = search === null || search === void 0 ? void 0 : search.response) === null || _l === void 0 ? void 0 : _l.search) === null || _m === void 0 ? void 0 : _m.query) &&
|
|
405
389
|
((_p = (_o = search === null || search === void 0 ? void 0 : search.response) === null || _o === void 0 ? void 0 : _o.pagination) === null || _p === void 0 ? void 0 : _p.totalResults) === 1 &&
|
|
406
|
-
!(nonBackgroundFilters === null || nonBackgroundFilters === void 0 ? void 0 : nonBackgroundFilters.length)
|
|
407
|
-
!search.controller.previousResults.length) {
|
|
390
|
+
!(nonBackgroundFilters === null || nonBackgroundFilters === void 0 ? void 0 : nonBackgroundFilters.length)) {
|
|
408
391
|
window.location.replace(search === null || search === void 0 ? void 0 : search.response.results[0].mappings.core.url);
|
|
409
392
|
return [2 /*return*/, false];
|
|
410
393
|
}
|
|
@@ -15,7 +15,6 @@ export declare class SearchController extends AbstractController {
|
|
|
15
15
|
store: SearchStore;
|
|
16
16
|
config: SearchControllerConfig;
|
|
17
17
|
storage: StorageStore;
|
|
18
|
-
private previousResults;
|
|
19
18
|
constructor(config: SearchControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
20
19
|
track: SearchTrackMethods;
|
|
21
20
|
get params(): SearchRequestModel;
|
|
@@ -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,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,EAGtB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,kBAAkB,EAKlB,MAAM,2BAA2B,CAAC;AAmBnC,KAAK,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;
|
|
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,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,EAGtB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,kBAAkB,EAKlB,MAAM,2BAA2B,CAAC;AAmBnC,KAAK,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;gBAGrB,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;IAsJ3B,KAAK,EAAE,kBAAkB,CA+CvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAiD/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CA2M9B;CACF;AAED,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"}
|
|
@@ -24,7 +24,6 @@ export class SearchController extends AbstractController {
|
|
|
24
24
|
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context) {
|
|
25
25
|
super(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context);
|
|
26
26
|
this.type = ControllerTypes.search;
|
|
27
|
-
this.previousResults = [];
|
|
28
27
|
this.track = {
|
|
29
28
|
product: {
|
|
30
29
|
click: (e, result) => {
|
|
@@ -113,7 +112,7 @@ export class SearchController extends AbstractController {
|
|
|
113
112
|
return;
|
|
114
113
|
}
|
|
115
114
|
// infinite backfill is enabled AND we have not yet fetched any results
|
|
116
|
-
if (this.config.settings?.infinite.backfill && !this.
|
|
115
|
+
if (this.config.settings?.infinite.backfill && !this.store.loaded) {
|
|
117
116
|
// create requests for all missing pages (using Arrray(page).fill() to populate an array to map)
|
|
118
117
|
const backfillRequests = Array(params.pagination.page)
|
|
119
118
|
.fill('backfill')
|
|
@@ -149,12 +148,10 @@ export class SearchController extends AbstractController {
|
|
|
149
148
|
else {
|
|
150
149
|
// infinite with no backfills.
|
|
151
150
|
[meta, response] = await this.client.search(params);
|
|
152
|
-
// append new results to previous results
|
|
153
|
-
response.results = [...this.previousResults, ...(response.results || [])];
|
|
154
151
|
}
|
|
155
152
|
}
|
|
156
153
|
else {
|
|
157
|
-
//
|
|
154
|
+
// normal request for next page
|
|
158
155
|
[meta, response] = await this.client.search(params);
|
|
159
156
|
}
|
|
160
157
|
// MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
|
|
@@ -184,10 +181,6 @@ export class SearchController extends AbstractController {
|
|
|
184
181
|
}
|
|
185
182
|
afterSearchProfile.stop();
|
|
186
183
|
this.log.profile(afterSearchProfile);
|
|
187
|
-
// store previous results for infinite usage
|
|
188
|
-
if (this.config.settings?.infinite) {
|
|
189
|
-
this.previousResults = JSON.parse(JSON.stringify(response.results));
|
|
190
|
-
}
|
|
191
184
|
// update the store
|
|
192
185
|
this.store.update(response);
|
|
193
186
|
const afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
|
|
@@ -283,8 +276,7 @@ export class SearchController extends AbstractController {
|
|
|
283
276
|
if (config?.settings?.redirects?.singleResult &&
|
|
284
277
|
search?.response?.search?.query &&
|
|
285
278
|
search?.response?.pagination?.totalResults === 1 &&
|
|
286
|
-
!nonBackgroundFilters?.length
|
|
287
|
-
!search.controller.previousResults.length) {
|
|
279
|
+
!nonBackgroundFilters?.length) {
|
|
288
280
|
window.location.replace(search?.response.results[0].mappings.core.url);
|
|
289
281
|
return false;
|
|
290
282
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchspring/snap-controller",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.63.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.
|
|
23
|
+
"@searchspring/snap-toolbox": "^0.63.1",
|
|
24
24
|
"css.escape": "1.5.1",
|
|
25
25
|
"deepmerge": "4.3.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@searchspring/snap-client": "^0.
|
|
29
|
-
"@searchspring/snap-event-manager": "^0.
|
|
30
|
-
"@searchspring/snap-logger": "^0.
|
|
31
|
-
"@searchspring/snap-profiler": "^0.
|
|
32
|
-
"@searchspring/snap-store-mobx": "^0.
|
|
33
|
-
"@searchspring/snap-tracker": "^0.
|
|
34
|
-
"@searchspring/snap-url-manager": "^0.
|
|
28
|
+
"@searchspring/snap-client": "^0.63.1",
|
|
29
|
+
"@searchspring/snap-event-manager": "^0.63.1",
|
|
30
|
+
"@searchspring/snap-logger": "^0.63.1",
|
|
31
|
+
"@searchspring/snap-profiler": "^0.63.1",
|
|
32
|
+
"@searchspring/snap-store-mobx": "^0.63.1",
|
|
33
|
+
"@searchspring/snap-tracker": "^0.63.1",
|
|
34
|
+
"@searchspring/snap-url-manager": "^0.63.1"
|
|
35
35
|
},
|
|
36
36
|
"sideEffects": false,
|
|
37
37
|
"files": [
|
|
38
38
|
"dist/**/*"
|
|
39
39
|
],
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "2feab8c22416a48cb0c9b76b9413c6a0e3ba774c"
|
|
41
41
|
}
|