@searchspring/snap-controller 0.61.4 → 0.62.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 +52 -65
- package/dist/cjs/Finder/FinderController.d.ts.map +1 -1
- package/dist/cjs/Finder/FinderController.js +30 -41
- package/dist/cjs/Recommendation/RecommendationController.d.ts.map +1 -1
- package/dist/cjs/Recommendation/RecommendationController.js +45 -48
- package/dist/cjs/Search/SearchController.d.ts.map +1 -1
- package/dist/cjs/Search/SearchController.js +53 -66
- package/dist/esm/Autocomplete/AutocompleteController.d.ts.map +1 -1
- package/dist/esm/Autocomplete/AutocompleteController.js +25 -24
- package/dist/esm/Finder/FinderController.d.ts.map +1 -1
- package/dist/esm/Finder/FinderController.js +12 -13
- package/dist/esm/Recommendation/RecommendationController.d.ts.map +1 -1
- package/dist/esm/Recommendation/RecommendationController.js +23 -17
- package/dist/esm/Search/SearchController.d.ts.map +1 -1
- package/dist/esm/Search/SearchController.js +12 -15
- 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,MAAM,+BAA+B,CAAC;AACxE,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,
|
|
1
|
+
{"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAa,MAAM,+BAA+B,CAAC;AACxE,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,EAAiC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElI,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AA+B/B,KAAK,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;IAwD3B,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,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,CA0I9B;CACF"}
|
|
@@ -95,6 +95,10 @@ var defaultConfig = {
|
|
|
95
95
|
merchandising: true,
|
|
96
96
|
singleResult: false,
|
|
97
97
|
},
|
|
98
|
+
bind: {
|
|
99
|
+
input: true,
|
|
100
|
+
submit: true,
|
|
101
|
+
},
|
|
98
102
|
},
|
|
99
103
|
};
|
|
100
104
|
var AutocompleteController = /** @class */ (function (_super) {
|
|
@@ -290,6 +294,8 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
290
294
|
return;
|
|
291
295
|
}
|
|
292
296
|
_this.store.state.input = value;
|
|
297
|
+
// remove merch redirect to prevent race condition
|
|
298
|
+
_this.store.merchandising.redirect = '';
|
|
293
299
|
if ((_b = (_a = _this.config) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.syncInputs) {
|
|
294
300
|
var inputs = document.querySelectorAll(_this.config.selector);
|
|
295
301
|
inputs.forEach(function (input) {
|
|
@@ -375,6 +381,13 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
375
381
|
return __generator(this, function (_d) {
|
|
376
382
|
switch (_d.label) {
|
|
377
383
|
case 0:
|
|
384
|
+
_d.trys.push([0, 16, 17, 18]);
|
|
385
|
+
if (!!this.initialized) return [3 /*break*/, 2];
|
|
386
|
+
return [4 /*yield*/, this.init()];
|
|
387
|
+
case 1:
|
|
388
|
+
_d.sent();
|
|
389
|
+
_d.label = 2;
|
|
390
|
+
case 2:
|
|
378
391
|
// if urlManager has no query, there will be no need to get params and no query
|
|
379
392
|
if (!this.urlManager.state.query) {
|
|
380
393
|
return [2 /*return*/];
|
|
@@ -384,20 +397,18 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
384
397
|
if (!((_c = (_b = params === null || params === void 0 ? void 0 : params.search) === null || _b === void 0 ? void 0 : _b.query) === null || _c === void 0 ? void 0 : _c.string)) {
|
|
385
398
|
return [2 /*return*/];
|
|
386
399
|
}
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
_d.
|
|
391
|
-
case 2:
|
|
392
|
-
_d.trys.push([2, 4, , 5]);
|
|
400
|
+
this.store.loading = true;
|
|
401
|
+
_d.label = 3;
|
|
402
|
+
case 3:
|
|
403
|
+
_d.trys.push([3, 5, , 6]);
|
|
393
404
|
return [4 /*yield*/, this.eventManager.fire('beforeSearch', {
|
|
394
405
|
controller: this,
|
|
395
406
|
request: params,
|
|
396
407
|
})];
|
|
397
|
-
case 3:
|
|
398
|
-
_d.sent();
|
|
399
|
-
return [3 /*break*/, 5];
|
|
400
408
|
case 4:
|
|
409
|
+
_d.sent();
|
|
410
|
+
return [3 /*break*/, 6];
|
|
411
|
+
case 5:
|
|
401
412
|
err_3 = _d.sent();
|
|
402
413
|
if ((err_3 === null || err_3 === void 0 ? void 0 : err_3.message) == 'cancelled') {
|
|
403
414
|
this.log.warn("'beforeSearch' middleware cancelled");
|
|
@@ -407,11 +418,11 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
407
418
|
this.log.error("error in 'beforeSearch' middleware");
|
|
408
419
|
throw err_3;
|
|
409
420
|
}
|
|
410
|
-
return [3 /*break*/,
|
|
411
|
-
case
|
|
421
|
+
return [3 /*break*/, 6];
|
|
422
|
+
case 6:
|
|
412
423
|
searchProfile = this.profiler.create({ type: 'event', name: 'search', context: params }).start();
|
|
413
424
|
return [4 /*yield*/, this.client.autocomplete(params)];
|
|
414
|
-
case
|
|
425
|
+
case 7:
|
|
415
426
|
_a = _d.sent(), meta = _a[0], response = _a[1];
|
|
416
427
|
// @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
|
|
417
428
|
if (!response.meta) {
|
|
@@ -421,18 +432,18 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
421
432
|
searchProfile.stop();
|
|
422
433
|
this.log.profile(searchProfile);
|
|
423
434
|
afterSearchProfile = this.profiler.create({ type: 'event', name: 'afterSearch', context: params }).start();
|
|
424
|
-
_d.label =
|
|
425
|
-
case
|
|
426
|
-
_d.trys.push([
|
|
435
|
+
_d.label = 8;
|
|
436
|
+
case 8:
|
|
437
|
+
_d.trys.push([8, 10, , 11]);
|
|
427
438
|
return [4 /*yield*/, this.eventManager.fire('afterSearch', {
|
|
428
439
|
controller: this,
|
|
429
440
|
request: params,
|
|
430
441
|
response: response,
|
|
431
442
|
})];
|
|
432
|
-
case 8:
|
|
433
|
-
_d.sent();
|
|
434
|
-
return [3 /*break*/, 10];
|
|
435
443
|
case 9:
|
|
444
|
+
_d.sent();
|
|
445
|
+
return [3 /*break*/, 11];
|
|
446
|
+
case 10:
|
|
436
447
|
err_4 = _d.sent();
|
|
437
448
|
if ((err_4 === null || err_4 === void 0 ? void 0 : err_4.message) == 'cancelled') {
|
|
438
449
|
this.log.warn("'afterSearch' middleware cancelled");
|
|
@@ -443,25 +454,25 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
443
454
|
this.log.error("error in 'afterSearch' middleware");
|
|
444
455
|
throw err_4;
|
|
445
456
|
}
|
|
446
|
-
return [3 /*break*/,
|
|
447
|
-
case
|
|
457
|
+
return [3 /*break*/, 11];
|
|
458
|
+
case 11:
|
|
448
459
|
afterSearchProfile.stop();
|
|
449
460
|
this.log.profile(afterSearchProfile);
|
|
450
461
|
// update the store
|
|
451
462
|
this.store.update(response);
|
|
452
463
|
afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
|
|
453
|
-
_d.label =
|
|
454
|
-
case
|
|
455
|
-
_d.trys.push([
|
|
464
|
+
_d.label = 12;
|
|
465
|
+
case 12:
|
|
466
|
+
_d.trys.push([12, 14, , 15]);
|
|
456
467
|
return [4 /*yield*/, this.eventManager.fire('afterStore', {
|
|
457
468
|
controller: this,
|
|
458
469
|
request: params,
|
|
459
470
|
response: response,
|
|
460
471
|
})];
|
|
461
|
-
case 12:
|
|
462
|
-
_d.sent();
|
|
463
|
-
return [3 /*break*/, 14];
|
|
464
472
|
case 13:
|
|
473
|
+
_d.sent();
|
|
474
|
+
return [3 /*break*/, 15];
|
|
475
|
+
case 14:
|
|
465
476
|
err_5 = _d.sent();
|
|
466
477
|
if ((err_5 === null || err_5 === void 0 ? void 0 : err_5.message) == 'cancelled') {
|
|
467
478
|
this.log.warn("'afterStore' middleware cancelled");
|
|
@@ -472,12 +483,12 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
472
483
|
this.log.error("error in 'afterStore' middleware");
|
|
473
484
|
throw err_5;
|
|
474
485
|
}
|
|
475
|
-
return [3 /*break*/,
|
|
476
|
-
case
|
|
486
|
+
return [3 /*break*/, 15];
|
|
487
|
+
case 15:
|
|
477
488
|
afterStoreProfile.stop();
|
|
478
489
|
this.log.profile(afterStoreProfile);
|
|
479
|
-
return [3 /*break*/,
|
|
480
|
-
case
|
|
490
|
+
return [3 /*break*/, 18];
|
|
491
|
+
case 16:
|
|
481
492
|
err_6 = _d.sent();
|
|
482
493
|
if (err_6) {
|
|
483
494
|
if (err_6.err && err_6.fetchDetails) {
|
|
@@ -517,10 +528,12 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
517
528
|
this.log.error(err_6);
|
|
518
529
|
this.handleError(err_6);
|
|
519
530
|
}
|
|
520
|
-
this.store.loading = false;
|
|
521
531
|
}
|
|
522
|
-
return [3 /*break*/,
|
|
523
|
-
case
|
|
532
|
+
return [3 /*break*/, 18];
|
|
533
|
+
case 17:
|
|
534
|
+
this.store.loading = false;
|
|
535
|
+
return [7 /*endfinally*/];
|
|
536
|
+
case 18: return [2 /*return*/];
|
|
524
537
|
}
|
|
525
538
|
});
|
|
526
539
|
}); };
|
|
@@ -539,19 +552,6 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
539
552
|
type: 'session',
|
|
540
553
|
key: "ss-controller-".concat(_this.config.id),
|
|
541
554
|
});
|
|
542
|
-
// add 'beforeSearch' middleware
|
|
543
|
-
_this.eventManager.on('beforeSearch', function (ac, next) { return __awaiter(_this, void 0, void 0, function () {
|
|
544
|
-
return __generator(this, function (_a) {
|
|
545
|
-
switch (_a.label) {
|
|
546
|
-
case 0:
|
|
547
|
-
ac.controller.store.loading = true;
|
|
548
|
-
return [4 /*yield*/, next()];
|
|
549
|
-
case 1:
|
|
550
|
-
_a.sent();
|
|
551
|
-
return [2 /*return*/];
|
|
552
|
-
}
|
|
553
|
-
});
|
|
554
|
-
}); });
|
|
555
555
|
// add 'afterSearch' middleware
|
|
556
556
|
_this.eventManager.on('afterSearch', function (ac, next) { return __awaiter(_this, void 0, void 0, function () {
|
|
557
557
|
return __generator(this, function (_a) {
|
|
@@ -561,25 +561,12 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
561
561
|
_a.sent();
|
|
562
562
|
// cancel search if no input or query doesn't match current urlState
|
|
563
563
|
if (ac.response.autocomplete.query != ac.controller.urlManager.state.query) {
|
|
564
|
-
ac.controller.store.loading = false;
|
|
565
564
|
return [2 /*return*/, false];
|
|
566
565
|
}
|
|
567
566
|
return [2 /*return*/];
|
|
568
567
|
}
|
|
569
568
|
});
|
|
570
569
|
}); });
|
|
571
|
-
// add 'afterStore' middleware
|
|
572
|
-
_this.eventManager.on('afterStore', function (ac, next) { return __awaiter(_this, void 0, void 0, function () {
|
|
573
|
-
return __generator(this, function (_a) {
|
|
574
|
-
switch (_a.label) {
|
|
575
|
-
case 0: return [4 /*yield*/, next()];
|
|
576
|
-
case 1:
|
|
577
|
-
_a.sent();
|
|
578
|
-
ac.controller.store.loading = false;
|
|
579
|
-
return [2 /*return*/];
|
|
580
|
-
}
|
|
581
|
-
});
|
|
582
|
-
}); });
|
|
583
570
|
_this.eventManager.on('beforeSubmit', function (ac, next) { return __awaiter(_this, void 0, void 0, function () {
|
|
584
571
|
var redirectURL, results, singleResultUrl;
|
|
585
572
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -734,14 +721,14 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
734
721
|
this.unbind();
|
|
735
722
|
inputs = document.querySelectorAll(this.config.selector);
|
|
736
723
|
inputs.forEach(function (input) {
|
|
737
|
-
var _a, _b, _c;
|
|
724
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
738
725
|
input.setAttribute('spellcheck', 'false');
|
|
739
726
|
input.setAttribute('autocomplete', 'off');
|
|
740
727
|
input.setAttribute('autocorrect', 'off');
|
|
741
728
|
input.setAttribute('autocapitalize', 'none');
|
|
742
729
|
input.setAttribute(INPUT_ATTRIBUTE, '');
|
|
743
|
-
input.addEventListener('input', _this.handlers.input.input);
|
|
744
|
-
if (((
|
|
730
|
+
((_b = (_a = _this.config.settings) === null || _a === void 0 ? void 0 : _a.bind) === null || _b === void 0 ? void 0 : _b.input) && input.addEventListener('input', _this.handlers.input.input);
|
|
731
|
+
if (((_d = (_c = _this.config) === null || _c === void 0 ? void 0 : _c.settings) === null || _d === void 0 ? void 0 : _d.initializeFromUrl) && !input.value && _this.store.state.input) {
|
|
745
732
|
input.value = _this.store.state.input;
|
|
746
733
|
}
|
|
747
734
|
input.addEventListener('focus', _this.handlers.input.focus);
|
|
@@ -749,14 +736,14 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
749
736
|
var form = input.form;
|
|
750
737
|
var formActionUrl;
|
|
751
738
|
if (_this.config.action) {
|
|
752
|
-
input.addEventListener('keydown', _this.handlers.input.enterKey);
|
|
739
|
+
((_f = (_e = _this.config.settings) === null || _e === void 0 ? void 0 : _e.bind) === null || _f === void 0 ? void 0 : _f.submit) && input.addEventListener('keydown', _this.handlers.input.enterKey);
|
|
753
740
|
formActionUrl = _this.config.action;
|
|
754
741
|
}
|
|
755
742
|
else if (form) {
|
|
756
|
-
form.addEventListener('submit', _this.handlers.input.formSubmit);
|
|
743
|
+
((_h = (_g = _this.config.settings) === null || _g === void 0 ? void 0 : _g.bind) === null || _h === void 0 ? void 0 : _h.submit) && form.addEventListener('submit', _this.handlers.input.formSubmit);
|
|
757
744
|
formActionUrl = form.action || '';
|
|
758
745
|
// serializeForm will include additional form element in our urlManager as globals
|
|
759
|
-
if ((
|
|
746
|
+
if ((_j = _this.config.settings) === null || _j === void 0 ? void 0 : _j.serializeForm) {
|
|
760
747
|
bindFormParameters(form, _this.handlers.input.formElementChange, function (elem) {
|
|
761
748
|
return elem != input;
|
|
762
749
|
});
|
|
@@ -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,
|
|
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,EAAkB,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB7G,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;IA+B3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAkB5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAoI9B;CACF"}
|
|
@@ -133,6 +133,7 @@ var FinderController = /** @class */ (function (_super) {
|
|
|
133
133
|
return __generator(this, function (_b) {
|
|
134
134
|
switch (_b.label) {
|
|
135
135
|
case 0:
|
|
136
|
+
_b.trys.push([0, 16, 17, 18]);
|
|
136
137
|
if (!!this.initialized) return [3 /*break*/, 2];
|
|
137
138
|
return [4 /*yield*/, this.init()];
|
|
138
139
|
case 1:
|
|
@@ -143,20 +144,18 @@ var FinderController = /** @class */ (function (_super) {
|
|
|
143
144
|
return [2 /*return*/];
|
|
144
145
|
}
|
|
145
146
|
params = this.params;
|
|
147
|
+
this.store.loading = true;
|
|
146
148
|
_b.label = 3;
|
|
147
149
|
case 3:
|
|
148
|
-
_b.trys.push([3,
|
|
149
|
-
_b.label = 4;
|
|
150
|
-
case 4:
|
|
151
|
-
_b.trys.push([4, 6, , 7]);
|
|
150
|
+
_b.trys.push([3, 5, , 6]);
|
|
152
151
|
return [4 /*yield*/, this.eventManager.fire('beforeSearch', {
|
|
153
152
|
controller: this,
|
|
154
153
|
request: params,
|
|
155
154
|
})];
|
|
156
|
-
case
|
|
155
|
+
case 4:
|
|
157
156
|
_b.sent();
|
|
158
|
-
return [3 /*break*/,
|
|
159
|
-
case
|
|
157
|
+
return [3 /*break*/, 6];
|
|
158
|
+
case 5:
|
|
160
159
|
err_2 = _b.sent();
|
|
161
160
|
if ((err_2 === null || err_2 === void 0 ? void 0 : err_2.message) == 'cancelled') {
|
|
162
161
|
this.log.warn("'beforeSearch' middleware cancelled");
|
|
@@ -166,11 +165,11 @@ var FinderController = /** @class */ (function (_super) {
|
|
|
166
165
|
this.log.error("error in 'beforeSearch' middleware");
|
|
167
166
|
throw err_2;
|
|
168
167
|
}
|
|
169
|
-
return [3 /*break*/,
|
|
170
|
-
case
|
|
168
|
+
return [3 /*break*/, 6];
|
|
169
|
+
case 6:
|
|
171
170
|
searchProfile = this.profiler.create({ type: 'event', name: 'search', context: params }).start();
|
|
172
171
|
return [4 /*yield*/, this.client.finder(params)];
|
|
173
|
-
case
|
|
172
|
+
case 7:
|
|
174
173
|
_a = _b.sent(), meta = _a[0], response = _a[1];
|
|
175
174
|
// @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
|
|
176
175
|
if (!response.meta) {
|
|
@@ -180,18 +179,18 @@ var FinderController = /** @class */ (function (_super) {
|
|
|
180
179
|
searchProfile.stop();
|
|
181
180
|
this.log.profile(searchProfile);
|
|
182
181
|
afterSearchProfile = this.profiler.create({ type: 'event', name: 'afterSearch', context: params }).start();
|
|
183
|
-
_b.label =
|
|
184
|
-
case
|
|
185
|
-
_b.trys.push([
|
|
182
|
+
_b.label = 8;
|
|
183
|
+
case 8:
|
|
184
|
+
_b.trys.push([8, 10, , 11]);
|
|
186
185
|
return [4 /*yield*/, this.eventManager.fire('afterSearch', {
|
|
187
186
|
controller: this,
|
|
188
187
|
request: params,
|
|
189
188
|
response: response,
|
|
190
189
|
})];
|
|
191
|
-
case
|
|
190
|
+
case 9:
|
|
192
191
|
_b.sent();
|
|
193
|
-
return [3 /*break*/,
|
|
194
|
-
case
|
|
192
|
+
return [3 /*break*/, 11];
|
|
193
|
+
case 10:
|
|
195
194
|
err_3 = _b.sent();
|
|
196
195
|
if ((err_3 === null || err_3 === void 0 ? void 0 : err_3.message) == 'cancelled') {
|
|
197
196
|
this.log.warn("'afterSearch' middleware cancelled");
|
|
@@ -202,26 +201,26 @@ var FinderController = /** @class */ (function (_super) {
|
|
|
202
201
|
this.log.error("error in 'afterSearch' middleware");
|
|
203
202
|
throw err_3;
|
|
204
203
|
}
|
|
205
|
-
return [3 /*break*/,
|
|
206
|
-
case
|
|
204
|
+
return [3 /*break*/, 11];
|
|
205
|
+
case 11:
|
|
207
206
|
afterSearchProfile.stop();
|
|
208
207
|
this.log.profile(afterSearchProfile);
|
|
209
208
|
// update the store
|
|
210
209
|
// @ts-ignore : MockClient will overwrite the client search() method and use SearchData to return mock data which already contains meta data
|
|
211
210
|
this.store.update(response);
|
|
212
211
|
afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
|
|
213
|
-
_b.label =
|
|
214
|
-
case
|
|
215
|
-
_b.trys.push([
|
|
212
|
+
_b.label = 12;
|
|
213
|
+
case 12:
|
|
214
|
+
_b.trys.push([12, 14, , 15]);
|
|
216
215
|
return [4 /*yield*/, this.eventManager.fire('afterStore', {
|
|
217
216
|
controller: this,
|
|
218
217
|
request: params,
|
|
219
218
|
response: response,
|
|
220
219
|
})];
|
|
221
|
-
case
|
|
220
|
+
case 13:
|
|
222
221
|
_b.sent();
|
|
223
|
-
return [3 /*break*/,
|
|
224
|
-
case
|
|
222
|
+
return [3 /*break*/, 15];
|
|
223
|
+
case 14:
|
|
225
224
|
err_4 = _b.sent();
|
|
226
225
|
if ((err_4 === null || err_4 === void 0 ? void 0 : err_4.message) == 'cancelled') {
|
|
227
226
|
this.log.warn("'afterStore' middleware cancelled");
|
|
@@ -232,12 +231,12 @@ var FinderController = /** @class */ (function (_super) {
|
|
|
232
231
|
this.log.error("error in 'afterStore' middleware");
|
|
233
232
|
throw err_4;
|
|
234
233
|
}
|
|
235
|
-
return [3 /*break*/,
|
|
236
|
-
case
|
|
234
|
+
return [3 /*break*/, 15];
|
|
235
|
+
case 15:
|
|
237
236
|
afterStoreProfile.stop();
|
|
238
237
|
this.log.profile(afterStoreProfile);
|
|
239
238
|
return [3 /*break*/, 18];
|
|
240
|
-
case
|
|
239
|
+
case 16:
|
|
241
240
|
err_5 = _b.sent();
|
|
242
241
|
if (err_5) {
|
|
243
242
|
if (err_5.err && err_5.fetchDetails) {
|
|
@@ -277,9 +276,11 @@ var FinderController = /** @class */ (function (_super) {
|
|
|
277
276
|
this.log.error(err_5);
|
|
278
277
|
this.handleError(err_5);
|
|
279
278
|
}
|
|
280
|
-
this.store.loading = false;
|
|
281
279
|
}
|
|
282
280
|
return [3 /*break*/, 18];
|
|
281
|
+
case 17:
|
|
282
|
+
this.store.loading = false;
|
|
283
|
+
return [7 /*endfinally*/];
|
|
283
284
|
case 18: return [2 /*return*/];
|
|
284
285
|
}
|
|
285
286
|
});
|
|
@@ -293,19 +294,7 @@ var FinderController = /** @class */ (function (_super) {
|
|
|
293
294
|
return __assign(__assign({}, translatorConfig), { urlRoot: _this.config.url });
|
|
294
295
|
});
|
|
295
296
|
}
|
|
296
|
-
|
|
297
|
-
return __generator(this, function (_a) {
|
|
298
|
-
switch (_a.label) {
|
|
299
|
-
case 0:
|
|
300
|
-
finder.controller.store.loading = true;
|
|
301
|
-
return [4 /*yield*/, next()];
|
|
302
|
-
case 1:
|
|
303
|
-
_a.sent();
|
|
304
|
-
return [2 /*return*/];
|
|
305
|
-
}
|
|
306
|
-
});
|
|
307
|
-
}); });
|
|
308
|
-
// TODO: move this to afterStore
|
|
297
|
+
// TODO: remove this aftersearch when store interface changes
|
|
309
298
|
_this.eventManager.on('afterSearch', function (finder, next) { return __awaiter(_this, void 0, void 0, function () {
|
|
310
299
|
return __generator(this, function (_a) {
|
|
311
300
|
switch (_a.label) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,8BAA8B,
|
|
1
|
+
{"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,8BAA8B,EAAiB,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEpH,KAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACnE,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACrD,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;QAChE,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,SAAS,CAAC;KAC5D,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,WAAW,GAAG,SAAS,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;IAC1E,UAAU,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;CACzD,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;IA4C3B,KAAK,EAAE,0BAA0B,CAwS5B;IAEL,IAAI,MAAM,IAAI,qBAAqB,CA2BlC;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CA0H9B;CACF"}
|