@searchspring/snap-controller 0.70.0 → 0.71.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 +1 -0
- package/dist/cjs/Autocomplete/AutocompleteController.d.ts.map +1 -1
- package/dist/cjs/Autocomplete/AutocompleteController.js +35 -22
- package/dist/cjs/Search/SearchController.d.ts.map +1 -1
- package/dist/cjs/Search/SearchController.js +5 -5
- package/dist/esm/Autocomplete/AutocompleteController.d.ts +1 -0
- package/dist/esm/Autocomplete/AutocompleteController.d.ts.map +1 -1
- package/dist/esm/Autocomplete/AutocompleteController.js +13 -1
- package/dist/esm/Search/SearchController.d.ts.map +1 -1
- package/dist/esm/Search/SearchController.js +5 -5
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAa,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACzF,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,EAA6C,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE9I,OAAO,KAAK,EAAE,wBAAwB,EAAgE,MAAM,2BAA2B,CAAC;AAexI,eAAO,MAAM,WAAW,MAAM,CAAC;AA+B/B,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAa,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACzF,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,EAA6C,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE9I,OAAO,KAAK,EAAE,wBAAwB,EAAgE,MAAM,2BAA2B,CAAC;AAexI,eAAO,MAAM,WAAW,MAAM,CAAC;AA+B/B,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;IAC7B,OAAO,CAAC,eAAe,CAAqB;IAE5C,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CACd,MAAM,EACN;YACC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,MAAM,CAAC,EAAE,OAAO,CAAC;SACjB,CACD,CAAC;KACF,CAEC;gBAGD,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;IAsF3B,KAAK,EAAE,wBAAwB,CA0D7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CAwCrC;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;wBAiDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCA+ChD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,KAAK;;;;uBAyDL,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgF3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAyJ9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
|
|
@@ -433,17 +433,18 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
433
433
|
});
|
|
434
434
|
}); };
|
|
435
435
|
_this.search = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
436
|
-
var params, err_3, searchProfile, _a, meta, response, afterSearchProfile, err_4, afterStoreProfile, err_5, err_6;
|
|
437
|
-
var
|
|
438
|
-
|
|
439
|
-
|
|
436
|
+
var params, err_3, searchProfile, _a, meta, response, impressedResultIds, afterSearchProfile, err_4, afterStoreProfile, err_5, err_6;
|
|
437
|
+
var _this = this;
|
|
438
|
+
var _b, _c, _d, _e;
|
|
439
|
+
return __generator(this, function (_f) {
|
|
440
|
+
switch (_f.label) {
|
|
440
441
|
case 0:
|
|
441
|
-
|
|
442
|
+
_f.trys.push([0, 16, 17, 18]);
|
|
442
443
|
if (!!this.initialized) return [3 /*break*/, 2];
|
|
443
444
|
return [4 /*yield*/, this.init()];
|
|
444
445
|
case 1:
|
|
445
|
-
|
|
446
|
-
|
|
446
|
+
_f.sent();
|
|
447
|
+
_f.label = 2;
|
|
447
448
|
case 2:
|
|
448
449
|
// if urlManager has no query, there will be no need to get params and no query
|
|
449
450
|
if (!this.urlManager.state.query) {
|
|
@@ -457,18 +458,18 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
457
458
|
this.store.loading = true;
|
|
458
459
|
// clear the redirect URL until proper abort functionality is implemented
|
|
459
460
|
this.store.merchandising.redirect = '';
|
|
460
|
-
|
|
461
|
+
_f.label = 3;
|
|
461
462
|
case 3:
|
|
462
|
-
|
|
463
|
+
_f.trys.push([3, 5, , 6]);
|
|
463
464
|
return [4 /*yield*/, this.eventManager.fire('beforeSearch', {
|
|
464
465
|
controller: this,
|
|
465
466
|
request: params,
|
|
466
467
|
})];
|
|
467
468
|
case 4:
|
|
468
|
-
|
|
469
|
+
_f.sent();
|
|
469
470
|
return [3 /*break*/, 6];
|
|
470
471
|
case 5:
|
|
471
|
-
err_3 =
|
|
472
|
+
err_3 = _f.sent();
|
|
472
473
|
if ((err_3 === null || err_3 === void 0 ? void 0 : err_3.message) == 'cancelled') {
|
|
473
474
|
this.log.warn("'beforeSearch' middleware cancelled");
|
|
474
475
|
return [2 /*return*/];
|
|
@@ -480,10 +481,9 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
480
481
|
return [3 /*break*/, 6];
|
|
481
482
|
case 6:
|
|
482
483
|
searchProfile = this.profiler.create({ type: 'event', name: 'search', context: params }).start();
|
|
483
|
-
this.events = { product: {} };
|
|
484
484
|
return [4 /*yield*/, this.client.autocomplete(params)];
|
|
485
485
|
case 7:
|
|
486
|
-
_a =
|
|
486
|
+
_a = _f.sent(), meta = _a[0], response = _a[1];
|
|
487
487
|
// @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
|
|
488
488
|
if (!response.meta) {
|
|
489
489
|
// @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
|
|
@@ -491,20 +491,33 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
491
491
|
}
|
|
492
492
|
searchProfile.stop();
|
|
493
493
|
this.log.profile(searchProfile);
|
|
494
|
+
if (((_d = response.search) === null || _d === void 0 ? void 0 : _d.query) === this.lastSearchQuery) {
|
|
495
|
+
impressedResultIds = Object.keys(this.events.product).filter(function (resultId) { var _a; return (_a = _this.events.product[resultId]) === null || _a === void 0 ? void 0 : _a.impression; });
|
|
496
|
+
this.events = {
|
|
497
|
+
product: impressedResultIds.reduce(function (acc, resultId) {
|
|
498
|
+
acc[resultId] = { impression: true };
|
|
499
|
+
return acc;
|
|
500
|
+
}, {}),
|
|
501
|
+
};
|
|
502
|
+
}
|
|
503
|
+
else {
|
|
504
|
+
this.events = { product: {} };
|
|
505
|
+
this.lastSearchQuery = (_e = response.search) === null || _e === void 0 ? void 0 : _e.query;
|
|
506
|
+
}
|
|
494
507
|
afterSearchProfile = this.profiler.create({ type: 'event', name: 'afterSearch', context: params }).start();
|
|
495
|
-
|
|
508
|
+
_f.label = 8;
|
|
496
509
|
case 8:
|
|
497
|
-
|
|
510
|
+
_f.trys.push([8, 10, , 11]);
|
|
498
511
|
return [4 /*yield*/, this.eventManager.fire('afterSearch', {
|
|
499
512
|
controller: this,
|
|
500
513
|
request: params,
|
|
501
514
|
response: response,
|
|
502
515
|
})];
|
|
503
516
|
case 9:
|
|
504
|
-
|
|
517
|
+
_f.sent();
|
|
505
518
|
return [3 /*break*/, 11];
|
|
506
519
|
case 10:
|
|
507
|
-
err_4 =
|
|
520
|
+
err_4 = _f.sent();
|
|
508
521
|
if ((err_4 === null || err_4 === void 0 ? void 0 : err_4.message) == 'cancelled') {
|
|
509
522
|
this.log.warn("'afterSearch' middleware cancelled");
|
|
510
523
|
afterSearchProfile.stop();
|
|
@@ -521,19 +534,19 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
521
534
|
// update the store
|
|
522
535
|
this.store.update(response);
|
|
523
536
|
afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
|
|
524
|
-
|
|
537
|
+
_f.label = 12;
|
|
525
538
|
case 12:
|
|
526
|
-
|
|
539
|
+
_f.trys.push([12, 14, , 15]);
|
|
527
540
|
return [4 /*yield*/, this.eventManager.fire('afterStore', {
|
|
528
541
|
controller: this,
|
|
529
542
|
request: params,
|
|
530
543
|
response: response,
|
|
531
544
|
})];
|
|
532
545
|
case 13:
|
|
533
|
-
|
|
546
|
+
_f.sent();
|
|
534
547
|
return [3 /*break*/, 15];
|
|
535
548
|
case 14:
|
|
536
|
-
err_5 =
|
|
549
|
+
err_5 = _f.sent();
|
|
537
550
|
if ((err_5 === null || err_5 === void 0 ? void 0 : err_5.message) == 'cancelled') {
|
|
538
551
|
this.log.warn("'afterStore' middleware cancelled");
|
|
539
552
|
afterStoreProfile.stop();
|
|
@@ -549,7 +562,7 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
549
562
|
this.log.profile(afterStoreProfile);
|
|
550
563
|
return [3 /*break*/, 18];
|
|
551
564
|
case 16:
|
|
552
|
-
err_6 =
|
|
565
|
+
err_6 = _f.sent();
|
|
553
566
|
if (err_6) {
|
|
554
567
|
if (err_6.err && err_6.fetchDetails) {
|
|
555
568
|
switch (err_6.fetchDetails.status) {
|
|
@@ -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,EAAuB,MAAM,UAAU,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EACX,sBAAsB,EAGtB,kBAAkB,EAClB,gBAAgB,EAIhB,MAAM,UAAU,CAAC;AAElB,OAAO,EACN,KAAK,kBAAkB,EAYvB,MAAM,2BAA2B,CAAC;AAmCnC,KAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAGF,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;IAC/D,OAAO,CAAC,IAAI,CAEV;IACF,OAAO,CAAC,MAAM,CAUM;gBAGnB,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;
|
|
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,EAAuB,MAAM,UAAU,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EACX,sBAAsB,EAGtB,kBAAkB,EAClB,gBAAgB,EAIhB,MAAM,UAAU,CAAC;AAElB,OAAO,EACN,KAAK,kBAAkB,EAYvB,MAAM,2BAA2B,CAAC;AAmCnC,KAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAGF,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;IAC/D,OAAO,CAAC,IAAI,CAEV;IACF,OAAO,CAAC,MAAM,CAUM;gBAGnB,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;IAmQ3B,KAAK,EAAE,kBAAkB,CA+FvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CA8C/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAyN9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF;AAwBD,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"}
|
|
@@ -252,7 +252,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
252
252
|
case 6:
|
|
253
253
|
stringyParams = JSON.stringify(getStorableRequestParams(params_1));
|
|
254
254
|
prevStringyParams = this.storage.get('lastStringyParams');
|
|
255
|
-
if (stringyParams
|
|
255
|
+
if (this.store.loaded && stringyParams === prevStringyParams) {
|
|
256
256
|
// no param change - not searching
|
|
257
257
|
return [2 /*return*/];
|
|
258
258
|
}
|
|
@@ -464,8 +464,6 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
464
464
|
type: 'session',
|
|
465
465
|
key: "ss-controller-".concat(_this.config.id),
|
|
466
466
|
});
|
|
467
|
-
// set last params to undefined for compare in search
|
|
468
|
-
_this.storage.set('lastStringyParams', undefined);
|
|
469
467
|
if (typeof ((_c = _this.context) === null || _c === void 0 ? void 0 : _c.page) === 'object' && ['search', 'category'].includes(_this.context.page.type)) {
|
|
470
468
|
_this.page = (0, deepmerge_1.default)(_this.page, _this.context.page);
|
|
471
469
|
}
|
|
@@ -737,8 +735,10 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
737
735
|
});
|
|
738
736
|
// fire restorePosition event on 'pageshow' when setting is enabled
|
|
739
737
|
if ((_j = (_h = _this.config.settings) === null || _h === void 0 ? void 0 : _h.restorePosition) === null || _j === void 0 ? void 0 : _j.onPageShow) {
|
|
740
|
-
window.addEventListener('pageshow', function () {
|
|
741
|
-
|
|
738
|
+
window.addEventListener('pageshow', function (e) {
|
|
739
|
+
if (e.persisted && _this.store.loaded) {
|
|
740
|
+
_this.eventManager.fire('restorePosition', { controller: _this, element: {} });
|
|
741
|
+
}
|
|
742
742
|
});
|
|
743
743
|
}
|
|
744
744
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAa,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACzF,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,EAA6C,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE9I,OAAO,KAAK,EAAE,wBAAwB,EAAgE,MAAM,2BAA2B,CAAC;AAexI,eAAO,MAAM,WAAW,MAAM,CAAC;AA+B/B,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAa,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACzF,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,EAA6C,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE9I,OAAO,KAAK,EAAE,wBAAwB,EAAgE,MAAM,2BAA2B,CAAC;AAexI,eAAO,MAAM,WAAW,MAAM,CAAC;AA+B/B,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;IAC7B,OAAO,CAAC,eAAe,CAAqB;IAE5C,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CACd,MAAM,EACN;YACC,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,UAAU,CAAC,EAAE,OAAO,CAAC;YACrB,MAAM,CAAC,EAAE,OAAO,CAAC;SACjB,CACD,CAAC;KACF,CAEC;gBAGD,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;IAsF3B,KAAK,EAAE,wBAAwB,CA0D7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CAwCrC;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;wBAiDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCA+ChD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,KAAK;;;;uBAyDL,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgF3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAyJ9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
|
|
@@ -337,7 +337,6 @@ export class AutocompleteController extends AbstractController {
|
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
339
|
const searchProfile = this.profiler.create({ type: 'event', name: 'search', context: params }).start();
|
|
340
|
-
this.events = { product: {} };
|
|
341
340
|
const [meta, response] = await this.client.autocomplete(params);
|
|
342
341
|
// @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
|
|
343
342
|
if (!response.meta) {
|
|
@@ -346,6 +345,19 @@ export class AutocompleteController extends AbstractController {
|
|
|
346
345
|
}
|
|
347
346
|
searchProfile.stop();
|
|
348
347
|
this.log.profile(searchProfile);
|
|
348
|
+
if (response.search?.query === this.lastSearchQuery) {
|
|
349
|
+
const impressedResultIds = Object.keys(this.events.product).filter((resultId) => this.events.product[resultId]?.impression);
|
|
350
|
+
this.events = {
|
|
351
|
+
product: impressedResultIds.reduce((acc, resultId) => {
|
|
352
|
+
acc[resultId] = { impression: true };
|
|
353
|
+
return acc;
|
|
354
|
+
}, {}),
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
this.events = { product: {} };
|
|
359
|
+
this.lastSearchQuery = response.search?.query;
|
|
360
|
+
}
|
|
349
361
|
const afterSearchProfile = this.profiler.create({ type: 'event', name: 'afterSearch', context: params }).start();
|
|
350
362
|
try {
|
|
351
363
|
await this.eventManager.fire('afterSearch', {
|
|
@@ -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,EAAuB,MAAM,UAAU,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EACX,sBAAsB,EAGtB,kBAAkB,EAClB,gBAAgB,EAIhB,MAAM,UAAU,CAAC;AAElB,OAAO,EACN,KAAK,kBAAkB,EAYvB,MAAM,2BAA2B,CAAC;AAmCnC,KAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAGF,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;IAC/D,OAAO,CAAC,IAAI,CAEV;IACF,OAAO,CAAC,MAAM,CAUM;gBAGnB,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;
|
|
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,EAAuB,MAAM,UAAU,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EACX,sBAAsB,EAGtB,kBAAkB,EAClB,gBAAgB,EAIhB,MAAM,UAAU,CAAC;AAElB,OAAO,EACN,KAAK,kBAAkB,EAYvB,MAAM,2BAA2B,CAAC;AAmCnC,KAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAGF,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;IAC/D,OAAO,CAAC,IAAI,CAEV;IACF,OAAO,CAAC,MAAM,CAUM;gBAGnB,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;IAmQ3B,KAAK,EAAE,kBAAkB,CA+FvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CA8C/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAyN9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF;AAwBD,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"}
|
|
@@ -150,7 +150,7 @@ export class SearchController extends AbstractController {
|
|
|
150
150
|
}
|
|
151
151
|
const stringyParams = JSON.stringify(getStorableRequestParams(params));
|
|
152
152
|
const prevStringyParams = this.storage.get('lastStringyParams');
|
|
153
|
-
if (stringyParams
|
|
153
|
+
if (this.store.loaded && stringyParams === prevStringyParams) {
|
|
154
154
|
// no param change - not searching
|
|
155
155
|
return;
|
|
156
156
|
}
|
|
@@ -338,8 +338,6 @@ export class SearchController extends AbstractController {
|
|
|
338
338
|
type: 'session',
|
|
339
339
|
key: `ss-controller-${this.config.id}`,
|
|
340
340
|
});
|
|
341
|
-
// set last params to undefined for compare in search
|
|
342
|
-
this.storage.set('lastStringyParams', undefined);
|
|
343
341
|
if (typeof this.context?.page === 'object' && ['search', 'category'].includes(this.context.page.type)) {
|
|
344
342
|
this.page = deepmerge(this.page, this.context.page);
|
|
345
343
|
}
|
|
@@ -535,8 +533,10 @@ export class SearchController extends AbstractController {
|
|
|
535
533
|
});
|
|
536
534
|
// fire restorePosition event on 'pageshow' when setting is enabled
|
|
537
535
|
if (this.config.settings?.restorePosition?.onPageShow) {
|
|
538
|
-
window.addEventListener('pageshow', () => {
|
|
539
|
-
|
|
536
|
+
window.addEventListener('pageshow', (e) => {
|
|
537
|
+
if (e.persisted && this.store.loaded) {
|
|
538
|
+
this.eventManager.fire('restorePosition', { controller: this, element: {} });
|
|
539
|
+
}
|
|
540
540
|
});
|
|
541
541
|
}
|
|
542
542
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchspring/snap-controller",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.71.0",
|
|
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.71.0",
|
|
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.71.0",
|
|
29
|
+
"@searchspring/snap-event-manager": "0.71.0",
|
|
30
|
+
"@searchspring/snap-logger": "0.71.0",
|
|
31
|
+
"@searchspring/snap-profiler": "0.71.0",
|
|
32
|
+
"@searchspring/snap-store-mobx": "0.71.0",
|
|
33
|
+
"@searchspring/snap-tracker": "0.71.0",
|
|
34
|
+
"@searchspring/snap-url-manager": "0.71.0"
|
|
35
35
|
},
|
|
36
36
|
"sideEffects": false,
|
|
37
37
|
"files": [
|
|
38
38
|
"dist/**/*"
|
|
39
39
|
],
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "86eb6dec8c57def5b869157dc00bbb9b6e793619"
|
|
41
41
|
}
|