@searchspring/snap-controller 0.39.2 → 0.40.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 +5 -1
- package/dist/cjs/Recommendation/RecommendationController.d.ts +1 -1
- package/dist/cjs/Recommendation/RecommendationController.d.ts.map +1 -1
- package/dist/cjs/Recommendation/RecommendationController.js +154 -129
- package/dist/cjs/Search/SearchController.d.ts.map +1 -1
- package/dist/cjs/Search/SearchController.js +78 -74
- package/dist/cjs/types.d.ts +2 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/Autocomplete/AutocompleteController.d.ts.map +1 -1
- package/dist/esm/Autocomplete/AutocompleteController.js +4 -0
- package/dist/esm/Recommendation/RecommendationController.d.ts +1 -1
- package/dist/esm/Recommendation/RecommendationController.d.ts.map +1 -1
- package/dist/esm/Recommendation/RecommendationController.js +153 -128
- package/dist/esm/Search/SearchController.d.ts.map +1 -1
- package/dist/esm/Search/SearchController.js +44 -42
- package/dist/esm/types.d.ts +2 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +10 -10
|
@@ -81,6 +81,7 @@ 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
83
|
var HEIGHT_CHECK_INTERVAL = 50;
|
|
84
|
+
var API_LIMIT = 500;
|
|
84
85
|
var defaultConfig = {
|
|
85
86
|
id: 'search',
|
|
86
87
|
globals: {},
|
|
@@ -135,34 +136,38 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
135
136
|
},
|
|
136
137
|
};
|
|
137
138
|
_this.search = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
138
|
-
var params, err_1, stringyParams, prevStringyParams, searchProfile, meta_1, response_1, preventBackfill, dontBackfill,
|
|
139
|
-
var
|
|
140
|
-
var
|
|
141
|
-
return __generator(this, function (
|
|
142
|
-
switch (
|
|
139
|
+
var params, err_1, stringyParams, prevStringyParams, searchProfile, meta_1, response_1, preventBackfill, dontBackfill, backfills, pageSize, meta_2, pagesNeeded, _a, backFillPageSize, backFillPages, i, backfillParams, backfillResults_1, backfillResponses, afterSearchProfile, err_2, afterStoreProfile, err_3, err_4;
|
|
140
|
+
var _b, _c;
|
|
141
|
+
var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
|
142
|
+
return __generator(this, function (_x) {
|
|
143
|
+
switch (_x.label) {
|
|
143
144
|
case 0:
|
|
144
145
|
if (!!this.initialized) return [3 /*break*/, 2];
|
|
145
146
|
return [4 /*yield*/, this.init()];
|
|
146
147
|
case 1:
|
|
147
|
-
|
|
148
|
-
|
|
148
|
+
_x.sent();
|
|
149
|
+
_x.label = 2;
|
|
149
150
|
case 2:
|
|
150
151
|
params = this.params;
|
|
151
|
-
|
|
152
|
+
if (((_e = (_d = this.params.search) === null || _d === void 0 ? void 0 : _d.query) === null || _e === void 0 ? void 0 : _e.string) && ((_g = (_f = this.params.search) === null || _f === void 0 ? void 0 : _f.query) === null || _g === void 0 ? void 0 : _g.string.length)) {
|
|
153
|
+
// save it to the history store
|
|
154
|
+
this.store.history.save(this.params.search.query.string);
|
|
155
|
+
}
|
|
156
|
+
_x.label = 3;
|
|
152
157
|
case 3:
|
|
153
|
-
|
|
154
|
-
|
|
158
|
+
_x.trys.push([3, 26, , 27]);
|
|
159
|
+
_x.label = 4;
|
|
155
160
|
case 4:
|
|
156
|
-
|
|
161
|
+
_x.trys.push([4, 6, , 7]);
|
|
157
162
|
return [4 /*yield*/, this.eventManager.fire('beforeSearch', {
|
|
158
163
|
controller: this,
|
|
159
164
|
request: params,
|
|
160
165
|
})];
|
|
161
166
|
case 5:
|
|
162
|
-
|
|
167
|
+
_x.sent();
|
|
163
168
|
return [3 /*break*/, 7];
|
|
164
169
|
case 6:
|
|
165
|
-
err_1 =
|
|
170
|
+
err_1 = _x.sent();
|
|
166
171
|
if ((err_1 === null || err_1 === void 0 ? void 0 : err_1.message) == 'cancelled') {
|
|
167
172
|
this.log.warn("'beforeSearch' middleware cancelled");
|
|
168
173
|
return [2 /*return*/];
|
|
@@ -180,65 +185,61 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
180
185
|
return [2 /*return*/];
|
|
181
186
|
}
|
|
182
187
|
searchProfile = this.profiler.create({ type: 'event', name: 'search', context: params }).start();
|
|
183
|
-
if (!(((
|
|
184
|
-
preventBackfill = ((
|
|
185
|
-
dontBackfill = !((
|
|
186
|
-
//if the page is higher than the backfill setting redirect back to page 1
|
|
188
|
+
if (!(((_h = this.config.settings) === null || _h === void 0 ? void 0 : _h.infinite) && ((_j = params.pagination) === null || _j === void 0 ? void 0 : _j.page) && params.pagination.page > 1)) return [3 /*break*/, 15];
|
|
189
|
+
preventBackfill = ((_k = this.config.settings.infinite) === null || _k === void 0 ? void 0 : _k.backfill) && !this.store.results.length && params.pagination.page > this.config.settings.infinite.backfill;
|
|
190
|
+
dontBackfill = !((_l = this.config.settings.infinite) === null || _l === void 0 ? void 0 : _l.backfill) && !this.store.results.length;
|
|
191
|
+
// if the page is higher than the backfill setting redirect back to page 1
|
|
187
192
|
if (preventBackfill || dontBackfill) {
|
|
188
193
|
this.storage.set('scrollMap', {});
|
|
189
194
|
this.urlManager.set('page', 1).go();
|
|
190
195
|
return [2 /*return*/];
|
|
191
196
|
}
|
|
192
|
-
previousResults = this.previousResults;
|
|
193
197
|
backfills = [];
|
|
194
|
-
pageSize = ((
|
|
195
|
-
if (!(((
|
|
198
|
+
pageSize = ((_m = params.pagination) === null || _m === void 0 ? void 0 : _m.pageSize) || this.store.pagination.pageSize || this.store.pagination.defaultPageSize;
|
|
199
|
+
if (!(((_o = this.config.settings) === null || _o === void 0 ? void 0 : _o.infinite.backfill) && !this.previousResults.length)) return [3 /*break*/, 10];
|
|
196
200
|
if (!!pageSize) return [3 /*break*/, 9];
|
|
197
201
|
return [4 /*yield*/, this.client.meta()];
|
|
198
202
|
case 8:
|
|
199
|
-
meta_2 =
|
|
200
|
-
pageSize = (
|
|
201
|
-
|
|
203
|
+
meta_2 = _x.sent();
|
|
204
|
+
pageSize = (_p = meta_2.pagination) === null || _p === void 0 ? void 0 : _p.defaultPageSize;
|
|
205
|
+
_x.label = 9;
|
|
202
206
|
case 9:
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
backfillParams = (0, deepmerge_1.default)(__assign({}, params), { pagination: { pageSize: totalResultsNeeded, page: 1 } });
|
|
207
|
+
// restricting pageSize to the limit
|
|
208
|
+
pageSize = pageSize > API_LIMIT ? API_LIMIT : pageSize;
|
|
209
|
+
pagesNeeded = ((_q = params.pagination) === null || _q === void 0 ? void 0 : _q.page) && ((_r = params.pagination) === null || _r === void 0 ? void 0 : _r.page) > ((_s = this.config.settings) === null || _s === void 0 ? void 0 : _s.infinite.backfill)
|
|
210
|
+
? (_t = this.config.settings) === null || _t === void 0 ? void 0 : _t.infinite.backfill
|
|
211
|
+
: (_u = params.pagination) === null || _u === void 0 ? void 0 : _u.page;
|
|
212
|
+
_a = backFillSize(pagesNeeded, pageSize), backFillPageSize = _a.size, backFillPages = _a.pages;
|
|
213
|
+
for (i = 1; i <= backFillPages; i++) {
|
|
214
|
+
backfillParams = (0, deepmerge_1.default)(__assign({}, params), { pagination: { pageSize: backFillPageSize, page: i } });
|
|
212
215
|
backfills.push(this.client.search(backfillParams));
|
|
213
216
|
}
|
|
214
|
-
|
|
215
|
-
pagesNeeded = Math.ceil(totalResultsNeeded / apiLimit);
|
|
216
|
-
lastPageCount = apiLimit - (pagesNeeded * apiLimit - totalResultsNeeded);
|
|
217
|
-
for (i = 1; i <= pagesNeeded; i++) {
|
|
218
|
-
backfillParams = (0, deepmerge_1.default)(__assign({}, params), { pagination: { pageSize: i < pagesNeeded ? apiLimit : lastPageCount, page: i } });
|
|
219
|
-
backfills.push(this.client.search(backfillParams));
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
_u.label = 10;
|
|
217
|
+
_x.label = 10;
|
|
223
218
|
case 10:
|
|
224
219
|
if (!(backfills && backfills.length)) return [3 /*break*/, 12];
|
|
225
220
|
backfillResults_1 = [];
|
|
226
221
|
return [4 /*yield*/, Promise.all(backfills)];
|
|
227
222
|
case 11:
|
|
228
|
-
backfillResponses =
|
|
223
|
+
backfillResponses = _x.sent();
|
|
229
224
|
backfillResponses.map(function (_a) {
|
|
230
|
-
var
|
|
225
|
+
var metaBackfill = _a[0], responseBackfill = _a[1];
|
|
231
226
|
if (!meta_1) {
|
|
232
|
-
meta_1 =
|
|
227
|
+
meta_1 = metaBackfill;
|
|
233
228
|
}
|
|
234
229
|
if (!response_1) {
|
|
235
|
-
response_1 =
|
|
236
|
-
backfillResults_1 = response_1.results;
|
|
230
|
+
response_1 = responseBackfill;
|
|
237
231
|
}
|
|
238
|
-
|
|
239
|
-
|
|
232
|
+
// push results to array
|
|
233
|
+
if (responseBackfill.results) {
|
|
234
|
+
backfillResults_1.push.apply(backfillResults_1, responseBackfill.results);
|
|
240
235
|
}
|
|
241
236
|
});
|
|
237
|
+
// overwrite pagination params to expected state
|
|
238
|
+
response_1.pagination.pageSize = pageSize;
|
|
239
|
+
response_1.pagination.totalPages = Math.ceil(response_1.pagination.totalResults / response_1.pagination.pageSize);
|
|
240
|
+
response_1.pagination.page = (_v = params.pagination) === null || _v === void 0 ? void 0 : _v.page;
|
|
241
|
+
// set the response results with results from backfill responses
|
|
242
|
+
response_1.results = backfillResults_1;
|
|
242
243
|
if (!response_1.meta) {
|
|
243
244
|
/**
|
|
244
245
|
* MockClient will overwrite the client search() method and use
|
|
@@ -247,17 +248,11 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
247
248
|
// @ts-ignore
|
|
248
249
|
response_1.meta = meta_1;
|
|
249
250
|
}
|
|
250
|
-
//we need to overwrite the pagination params so the ui doesnt get confused.
|
|
251
|
-
response_1.pagination.pageSize = pageSize;
|
|
252
|
-
response_1.pagination.totalPages = Math.ceil(response_1.pagination.totalResults / response_1.pagination.pageSize);
|
|
253
|
-
response_1.pagination.page = (_s = params.pagination) === null || _s === void 0 ? void 0 : _s.page;
|
|
254
|
-
//set the response results after all backfill promises are resolved.
|
|
255
|
-
response_1.results = backfillResults_1;
|
|
256
251
|
return [3 /*break*/, 14];
|
|
257
252
|
case 12: return [4 /*yield*/, this.client.search(params)];
|
|
258
253
|
case 13:
|
|
259
254
|
// infinite with no backfills.
|
|
260
|
-
|
|
255
|
+
_b = _x.sent(), meta_1 = _b[0], response_1 = _b[1];
|
|
261
256
|
// @ts-ignore
|
|
262
257
|
if (!response_1.meta) {
|
|
263
258
|
/**
|
|
@@ -268,13 +263,13 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
268
263
|
response_1.meta = meta_1;
|
|
269
264
|
}
|
|
270
265
|
//append new results to previous results
|
|
271
|
-
response_1.results = __spreadArray(__spreadArray([], previousResults, true), (response_1.results || []), true);
|
|
272
|
-
|
|
266
|
+
response_1.results = __spreadArray(__spreadArray([], this.previousResults, true), (response_1.results || []), true);
|
|
267
|
+
_x.label = 14;
|
|
273
268
|
case 14: return [3 /*break*/, 17];
|
|
274
269
|
case 15: return [4 /*yield*/, this.client.search(params)];
|
|
275
270
|
case 16:
|
|
276
271
|
//standard.
|
|
277
|
-
|
|
272
|
+
_c = _x.sent(), meta_1 = _c[0], response_1 = _c[1];
|
|
278
273
|
// @ts-ignore
|
|
279
274
|
if (!response_1.meta) {
|
|
280
275
|
/**
|
|
@@ -284,24 +279,24 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
284
279
|
// @ts-ignore
|
|
285
280
|
response_1.meta = meta_1;
|
|
286
281
|
}
|
|
287
|
-
|
|
282
|
+
_x.label = 17;
|
|
288
283
|
case 17:
|
|
289
284
|
searchProfile.stop();
|
|
290
285
|
this.log.profile(searchProfile);
|
|
291
286
|
afterSearchProfile = this.profiler.create({ type: 'event', name: 'afterSearch', context: params }).start();
|
|
292
|
-
|
|
287
|
+
_x.label = 18;
|
|
293
288
|
case 18:
|
|
294
|
-
|
|
289
|
+
_x.trys.push([18, 20, , 21]);
|
|
295
290
|
return [4 /*yield*/, this.eventManager.fire('afterSearch', {
|
|
296
291
|
controller: this,
|
|
297
292
|
request: params,
|
|
298
293
|
response: response_1,
|
|
299
294
|
})];
|
|
300
295
|
case 19:
|
|
301
|
-
|
|
296
|
+
_x.sent();
|
|
302
297
|
return [3 /*break*/, 21];
|
|
303
298
|
case 20:
|
|
304
|
-
err_2 =
|
|
299
|
+
err_2 = _x.sent();
|
|
305
300
|
if ((err_2 === null || err_2 === void 0 ? void 0 : err_2.message) == 'cancelled') {
|
|
306
301
|
this.log.warn("'afterSearch' middleware cancelled");
|
|
307
302
|
afterSearchProfile.stop();
|
|
@@ -316,25 +311,25 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
316
311
|
afterSearchProfile.stop();
|
|
317
312
|
this.log.profile(afterSearchProfile);
|
|
318
313
|
// store previous results for infinite usage
|
|
319
|
-
if ((
|
|
314
|
+
if ((_w = this.config.settings) === null || _w === void 0 ? void 0 : _w.infinite) {
|
|
320
315
|
this.previousResults = JSON.parse(JSON.stringify(response_1.results));
|
|
321
316
|
}
|
|
322
317
|
// update the store
|
|
323
318
|
this.store.update(response_1);
|
|
324
319
|
afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
|
|
325
|
-
|
|
320
|
+
_x.label = 22;
|
|
326
321
|
case 22:
|
|
327
|
-
|
|
322
|
+
_x.trys.push([22, 24, , 25]);
|
|
328
323
|
return [4 /*yield*/, this.eventManager.fire('afterStore', {
|
|
329
324
|
controller: this,
|
|
330
325
|
request: params,
|
|
331
326
|
response: response_1,
|
|
332
327
|
})];
|
|
333
328
|
case 23:
|
|
334
|
-
|
|
329
|
+
_x.sent();
|
|
335
330
|
return [3 /*break*/, 25];
|
|
336
331
|
case 24:
|
|
337
|
-
err_3 =
|
|
332
|
+
err_3 = _x.sent();
|
|
338
333
|
if ((err_3 === null || err_3 === void 0 ? void 0 : err_3.message) == 'cancelled') {
|
|
339
334
|
this.log.warn("'afterStore' middleware cancelled");
|
|
340
335
|
afterStoreProfile.stop();
|
|
@@ -350,7 +345,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
350
345
|
this.log.profile(afterStoreProfile);
|
|
351
346
|
return [3 /*break*/, 27];
|
|
352
347
|
case 26:
|
|
353
|
-
err_4 =
|
|
348
|
+
err_4 = _x.sent();
|
|
354
349
|
if (err_4) {
|
|
355
350
|
switch (err_4) {
|
|
356
351
|
case 429:
|
|
@@ -408,7 +403,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
408
403
|
}); });
|
|
409
404
|
// add 'afterSearch' middleware
|
|
410
405
|
_this.eventManager.on('afterSearch', function (search, next) { return __awaiter(_this, void 0, void 0, function () {
|
|
411
|
-
var config, redirectURL, searchStore;
|
|
406
|
+
var config, redirectURL, searchStore, nonBackgroundFilters;
|
|
412
407
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
413
408
|
return __generator(this, function (_q) {
|
|
414
409
|
switch (_q.label) {
|
|
@@ -420,10 +415,12 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
420
415
|
window.location.replace(redirectURL);
|
|
421
416
|
return [2 /*return*/, false];
|
|
422
417
|
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
((_m = (_l = search === null || search === void 0 ? void 0 : search.response) === null || _l === void 0 ? void 0 : _l.
|
|
426
|
-
|
|
418
|
+
nonBackgroundFilters = (_h = (_g = search === null || search === void 0 ? void 0 : search.request) === null || _g === void 0 ? void 0 : _g.filters) === null || _h === void 0 ? void 0 : _h.filter(function (filter) { return !filter.background; });
|
|
419
|
+
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) &&
|
|
420
|
+
((_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) &&
|
|
421
|
+
((_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 &&
|
|
422
|
+
!(nonBackgroundFilters === null || nonBackgroundFilters === void 0 ? void 0 : nonBackgroundFilters.length) &&
|
|
423
|
+
!search.controller.previousResults.length) {
|
|
427
424
|
window.location.replace(search === null || search === void 0 ? void 0 : search.response.results[0].mappings.core.url);
|
|
428
425
|
return [2 /*return*/, false];
|
|
429
426
|
}
|
|
@@ -542,3 +539,10 @@ function getStorableRequestParams(request) {
|
|
|
542
539
|
};
|
|
543
540
|
}
|
|
544
541
|
exports.getStorableRequestParams = getStorableRequestParams;
|
|
542
|
+
function backFillSize(pages, pageSize) {
|
|
543
|
+
var totalResults = pages * pageSize;
|
|
544
|
+
var numPages = Math.ceil(totalResults / API_LIMIT);
|
|
545
|
+
while (totalResults % numPages)
|
|
546
|
+
numPages++;
|
|
547
|
+
return { size: totalResults / numPages, pages: numPages };
|
|
548
|
+
}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { Tracker, ProductViewEvent } from '@searchspring/snap-tracker';
|
|
|
6
6
|
import type { Profiler } from '@searchspring/snap-profiler';
|
|
7
7
|
import type { UrlManager } from '@searchspring/snap-url-manager';
|
|
8
8
|
import type { Logger } from '@searchspring/snap-logger';
|
|
9
|
+
import type { SearchRequestModel } from '@searchspring/snapi-types';
|
|
9
10
|
export declare type PluginFunction = (cntrlr: AbstractController, ...args: any) => Promise<void> | void;
|
|
10
11
|
export declare type PluginGrouping = [func: PluginFunction, ...args: unknown[]];
|
|
11
12
|
export declare type BeforeSearchObj = {
|
|
@@ -15,6 +16,7 @@ export declare type BeforeSearchObj = {
|
|
|
15
16
|
export declare type AfterSearchObj = {
|
|
16
17
|
controller: AbstractController;
|
|
17
18
|
response: any;
|
|
19
|
+
request: SearchRequestModel;
|
|
18
20
|
};
|
|
19
21
|
export declare type AfterStoreObj = {
|
|
20
22
|
controller: AbstractController;
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,oBAAY,cAAc,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChG,oBAAY,cAAc,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAExE,oBAAY,eAAe,GAAG;IAC7B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,oBAAY,cAAc,GAAG;IAC5B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC3B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,oBAAY,eAAe;IAC1B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,cAAc,mBAAmB;CACjC;AAED,oBAAY,kBAAkB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,GAAG,iBAAiB,GAAG,WAAW,GAAG,mBAAmB,CAAC;IAC3E,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,oBAAY,WAAW,GAAG;IACzB,UAAU,CAAC,EAAE;QACZ,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;KACzD,CAAC;IACF,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC9B,OAAO,CAAC,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC1B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;KACxB,CAAC;IACF,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CACxB,CAAC;AAEF,oBAAY,gBAAgB,GAAG,WAAW,GAAG,WAAW,CAAC;AAGzD,oBAAY,sBAAsB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAE1E,oBAAY,sBAAsB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAE1E,oBAAY,4BAA4B,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAEtF,oBAAY,8BAA8B,GAAG,gBAAgB,GAAG,yBAAyB,CAAC;AAE1F,oBAAY,iBAAiB,GAAG,sBAAsB,GAAG,4BAA4B,GAAG,sBAAsB,GAAG,8BAA8B,CAAC"}
|
|
@@ -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,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;AAuB/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;IAoD3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA0CrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsChE,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;IAwE3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAiH9B;CACF"}
|
|
@@ -189,8 +189,12 @@ export class AutocompleteController extends AbstractController {
|
|
|
189
189
|
if (this.store.trending?.length && this.config.settings?.trending?.showResults) {
|
|
190
190
|
this.store.trending[0].preview();
|
|
191
191
|
}
|
|
192
|
+
else if (this.store.history?.length && this.config.settings?.history?.showResults) {
|
|
193
|
+
this.store.history[0].preview();
|
|
194
|
+
}
|
|
192
195
|
}
|
|
193
196
|
else {
|
|
197
|
+
this.store.resetTerms();
|
|
194
198
|
this.handlers.input.timeoutDelay = setTimeout(() => {
|
|
195
199
|
this.store.state.locks.terms.unlock();
|
|
196
200
|
this.store.state.locks.facets.unlock();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { BeaconEvent } from '@searchspring/snap-tracker';
|
|
1
2
|
import { AbstractController } from '../Abstract/AbstractController';
|
|
2
3
|
import { ControllerTypes } from '../types';
|
|
3
|
-
import { BeaconEvent } from '@searchspring/snap-tracker';
|
|
4
4
|
import type { RecommendationStore } from '@searchspring/snap-store-mobx';
|
|
5
5
|
import type { RecommendationControllerConfig, ControllerServices, ContextVariables } from '../types';
|
|
6
6
|
declare type RecommendationTrackMethods = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAErI,aAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;QAC/D,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;QACjD,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;KACrD,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,WAAW,GAAG,SAAS,CAAC;IAClD,UAAU,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,aAAK,6BAA6B,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,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;IA8B3B,KAAK,EAAE,0BAA0B,CAgM5B;IAEL,IAAI,MAAM,IAAI,6BAA6B,CA0B1C;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAsG9B;CACF"}
|