@searchspring/snap-controller 0.43.1 → 0.44.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/Abstract/AbstractController.d.ts +3 -1
- package/dist/cjs/Abstract/AbstractController.d.ts.map +1 -1
- package/dist/cjs/Abstract/AbstractController.js +12 -4
- package/dist/cjs/Autocomplete/AutocompleteController.d.ts.map +1 -1
- package/dist/cjs/Autocomplete/AutocompleteController.js +44 -34
- package/dist/cjs/Finder/FinderController.d.ts.map +1 -1
- package/dist/cjs/Finder/FinderController.js +36 -21
- package/dist/cjs/Recommendation/RecommendationController.d.ts.map +1 -1
- package/dist/cjs/Recommendation/RecommendationController.js +36 -21
- package/dist/cjs/Search/SearchController.d.ts +1 -0
- package/dist/cjs/Search/SearchController.d.ts.map +1 -1
- package/dist/cjs/Search/SearchController.js +81 -39
- package/dist/cjs/types.d.ts +3 -3
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/Abstract/AbstractController.d.ts +3 -1
- package/dist/esm/Abstract/AbstractController.d.ts.map +1 -1
- package/dist/esm/Abstract/AbstractController.js +12 -4
- package/dist/esm/Autocomplete/AutocompleteController.d.ts.map +1 -1
- package/dist/esm/Autocomplete/AutocompleteController.js +44 -34
- package/dist/esm/Finder/FinderController.d.ts.map +1 -1
- package/dist/esm/Finder/FinderController.js +36 -21
- package/dist/esm/Recommendation/RecommendationController.d.ts.map +1 -1
- package/dist/esm/Recommendation/RecommendationController.js +36 -21
- package/dist/esm/Search/SearchController.d.ts +1 -0
- package/dist/esm/Search/SearchController.d.ts.map +1 -1
- package/dist/esm/Search/SearchController.js +79 -38
- package/dist/esm/types.d.ts +3 -3
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +11 -10
|
@@ -25,7 +25,9 @@ export declare abstract class AbstractController {
|
|
|
25
25
|
};
|
|
26
26
|
protected _initialized: boolean;
|
|
27
27
|
get initialized(): boolean;
|
|
28
|
-
handleError: (err: unknown
|
|
28
|
+
handleError: (err: unknown, details?: {
|
|
29
|
+
[any: string]: unknown;
|
|
30
|
+
} | undefined) => void;
|
|
29
31
|
constructor(config: ControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
30
32
|
createTargeter(target: Target, onTarget: OnTarget, document?: Document): DomTargeter | undefined;
|
|
31
33
|
addTargeter(target: DomTargeter): DomTargeter | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractController.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEpH,8BAAsB,kBAAkB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,SAAc;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,gBAAgB,CAAC;IAE1B,SAAS,EAAE;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;KAC3B,CAAM;IAEP,SAAS,CAAC,YAAY,UAAS;IAE/B,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEM,WAAW,QAAS,OAAO,
|
|
1
|
+
{"version":3,"file":"AbstractController.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEpH,8BAAsB,kBAAkB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,SAAc;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,gBAAgB,CAAC;IAE1B,SAAS,EAAE;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;KAC3B,CAAM;IAEP,SAAS,CAAC,YAAY,UAAS;IAE/B,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEM,WAAW,QAAS,OAAO;;sBAAyC,IAAI,CAoD7E;gBAGD,MAAM,EAAE,gBAAgB,EACxB,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,GAAE,gBAAqB;IA2DxB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS;IAIhG,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS;IASnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD3B,QAAQ,IAAI,IAAI;aAMP,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1B,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI;IAIpD,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;CAoC1C"}
|
|
@@ -55,7 +55,7 @@ var AbstractController = /** @class */ (function () {
|
|
|
55
55
|
this.type = 'abstract';
|
|
56
56
|
this.targeters = {};
|
|
57
57
|
this._initialized = false;
|
|
58
|
-
this.handleError = function (err) {
|
|
58
|
+
this.handleError = function (err, details) {
|
|
59
59
|
var event;
|
|
60
60
|
if (err instanceof ErrorEvent) {
|
|
61
61
|
event = err;
|
|
@@ -63,11 +63,12 @@ var AbstractController = /** @class */ (function () {
|
|
|
63
63
|
else if (err instanceof Error) {
|
|
64
64
|
event = new ErrorEvent('error', {
|
|
65
65
|
error: err,
|
|
66
|
+
message: err.message,
|
|
66
67
|
});
|
|
67
68
|
}
|
|
68
|
-
else if (typeof err === 'string') {
|
|
69
|
+
else if (typeof err === 'string' || typeof err == 'number') {
|
|
69
70
|
event = new ErrorEvent('error', {
|
|
70
|
-
error: new Error(err),
|
|
71
|
+
error: new Error(err.toString()),
|
|
71
72
|
});
|
|
72
73
|
}
|
|
73
74
|
else if (typeof err === 'object' && Object.keys(err).length) {
|
|
@@ -81,12 +82,19 @@ var AbstractController = /** @class */ (function () {
|
|
|
81
82
|
if (event) {
|
|
82
83
|
var filename = event.filename, colno = event.colno, lineno = event.lineno, stack = event.error.stack, message = event.message, timeStamp = event.timeStamp;
|
|
83
84
|
var beaconPayload = {
|
|
84
|
-
filename: filename
|
|
85
|
+
filename: filename,
|
|
85
86
|
stack: stack,
|
|
86
87
|
message: message,
|
|
87
88
|
colno: colno,
|
|
88
89
|
lineno: lineno,
|
|
89
90
|
errortimestamp: timeStamp,
|
|
91
|
+
details: details,
|
|
92
|
+
context: {
|
|
93
|
+
controller: {
|
|
94
|
+
id: _this.id,
|
|
95
|
+
type: _this.type,
|
|
96
|
+
},
|
|
97
|
+
},
|
|
90
98
|
};
|
|
91
99
|
_this.tracker.track.error(beaconPayload);
|
|
92
100
|
_this.eventManager.fire('error', { controller: _this, error: err });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,4BAA4B,EAAkD,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEnJ,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AA0B/B,aAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;KAC5C,CAAC;CACF,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;gBAG5B,MAAM,EAAE,4BAA4B,EACpC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA6D3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA0CrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,KAAK,IAAI,IAAI;IASb,QAAQ;;0BAEc,aAAa,KAAG,QAAQ,OAAO,GAAG,SAAS,CAAC;wBAkDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCAgDhD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,aAAa,KAAG,IAAI;;;;
|
|
1
|
+
{"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,4BAA4B,EAAkD,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEnJ,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AA0B/B,aAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;KAC5C,CAAC;CACF,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;gBAG5B,MAAM,EAAE,4BAA4B,EACpC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA6D3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA0CrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,KAAK,IAAI,IAAI;IASb,QAAQ;;0BAEc,aAAa,KAAG,QAAQ,OAAO,GAAG,SAAS,CAAC;wBAkDpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;mCAgDhD,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,IAAI;uBAqBtD,aAAa,KAAG,IAAI;;;;uBAwDpB,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAgBR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6E3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAwBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAmI9B;CACF"}
|
|
@@ -139,9 +139,9 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
139
139
|
return [3 /*break*/, 2];
|
|
140
140
|
case 4:
|
|
141
141
|
if (this.config.settings.integratedSpellCorrection) {
|
|
142
|
-
//
|
|
143
|
-
if (
|
|
144
|
-
actionUrl = actionUrl === null || actionUrl === void 0 ? void 0 : actionUrl.set(PARAM_FALLBACK_QUERY, this.store.
|
|
142
|
+
//set fallbackQuery to the correctedQuery
|
|
143
|
+
if (this.store.search.correctedQuery) {
|
|
144
|
+
actionUrl = actionUrl === null || actionUrl === void 0 ? void 0 : actionUrl.set(PARAM_FALLBACK_QUERY, this.store.search.correctedQuery.string);
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
else if (this.store.search.originalQuery) {
|
|
@@ -219,9 +219,9 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
219
219
|
return [3 /*break*/, 2];
|
|
220
220
|
case 4:
|
|
221
221
|
if (this.config.settings.integratedSpellCorrection) {
|
|
222
|
-
//
|
|
223
|
-
if (
|
|
224
|
-
addHiddenFormInput(form, PARAM_FALLBACK_QUERY, this.store.
|
|
222
|
+
//set fallbackQuery to the correctedQuery
|
|
223
|
+
if (this.store.search.correctedQuery) {
|
|
224
|
+
addHiddenFormInput(form, PARAM_FALLBACK_QUERY, this.store.search.correctedQuery.string);
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
else if (this.store.search.originalQuery) {
|
|
@@ -302,10 +302,10 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
302
302
|
clearTimeout(_this.handlers.input.timeoutDelay);
|
|
303
303
|
var trendingResultsEnabled = ((_c = _this.store.trending) === null || _c === void 0 ? void 0 : _c.length) && ((_e = (_d = _this.config.settings) === null || _d === void 0 ? void 0 : _d.trending) === null || _e === void 0 ? void 0 : _e.showResults);
|
|
304
304
|
var historyResultsEnabled = ((_f = _this.store.history) === null || _f === void 0 ? void 0 : _f.length) && ((_h = (_g = _this.config.settings) === null || _g === void 0 ? void 0 : _g.history) === null || _h === void 0 ? void 0 : _h.showResults);
|
|
305
|
+
_this.urlManager.reset().go();
|
|
305
306
|
if (!value) {
|
|
306
|
-
// there is no input value - reset state of store
|
|
307
|
+
// there is no input value - reset state of store
|
|
307
308
|
_this.store.reset();
|
|
308
|
-
_this.urlManager.reset().go();
|
|
309
309
|
// show results for trending or history (if configured) - trending has priority
|
|
310
310
|
if (trendingResultsEnabled) {
|
|
311
311
|
_this.store.trending[0].preview();
|
|
@@ -316,14 +316,9 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
316
316
|
}
|
|
317
317
|
else {
|
|
318
318
|
// new query in the input - trigger a new search via UrlManager
|
|
319
|
-
_this.store.resetTerms();
|
|
320
319
|
_this.handlers.input.timeoutDelay = setTimeout(function () {
|
|
321
320
|
_this.store.state.locks.terms.unlock();
|
|
322
321
|
_this.store.state.locks.facets.unlock();
|
|
323
|
-
// must reset query to ensure funcitonality when trending/history term is equal to the typed term
|
|
324
|
-
if (trendingResultsEnabled || historyResultsEnabled) {
|
|
325
|
-
_this.urlManager.set({ query: '' }).go();
|
|
326
|
-
}
|
|
327
322
|
_this.urlManager.set({ query: _this.store.state.input }).go();
|
|
328
323
|
}, exports.INPUT_DELAY);
|
|
329
324
|
}
|
|
@@ -484,29 +479,44 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
484
479
|
case 15:
|
|
485
480
|
err_6 = _d.sent();
|
|
486
481
|
if (err_6) {
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
482
|
+
if (err_6.err && err_6.fetchDetails) {
|
|
483
|
+
switch (err_6.fetchDetails.status) {
|
|
484
|
+
case 429: {
|
|
485
|
+
this.store.error = {
|
|
486
|
+
code: 429,
|
|
487
|
+
type: snap_store_mobx_1.ErrorType.WARNING,
|
|
488
|
+
message: 'Too many requests try again later',
|
|
489
|
+
};
|
|
490
|
+
break;
|
|
491
|
+
}
|
|
492
|
+
case 500: {
|
|
493
|
+
this.store.error = {
|
|
494
|
+
code: 500,
|
|
495
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
496
|
+
message: 'Invalid Search Request or Service Unavailable',
|
|
497
|
+
};
|
|
498
|
+
break;
|
|
499
|
+
}
|
|
500
|
+
default: {
|
|
501
|
+
this.store.error = {
|
|
502
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
503
|
+
message: err_6.err.message,
|
|
504
|
+
};
|
|
505
|
+
break;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
this.log.error(this.store.error);
|
|
509
|
+
this.handleError(err_6.err, err_6.fetchDetails);
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
this.store.error = {
|
|
513
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
514
|
+
message: "Something went wrong... - ".concat(err_6),
|
|
515
|
+
};
|
|
516
|
+
this.log.error(err_6);
|
|
517
|
+
this.handleError(err_6);
|
|
507
518
|
}
|
|
508
519
|
this.store.loading = false;
|
|
509
|
-
this.handleError(err_6);
|
|
510
520
|
}
|
|
511
521
|
return [3 /*break*/, 16];
|
|
512
522
|
case 16: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FinderController.d.ts","sourceRoot":"","sources":["../../../src/Finder/FinderController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAmC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB9H,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;gBAGtC,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA2C3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAe5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"FinderController.d.ts","sourceRoot":"","sources":["../../../src/Finder/FinderController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAmC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB9H,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;gBAGtC,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA2C3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+BhC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAe5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAkI9B;CACF"}
|
|
@@ -238,29 +238,44 @@ var FinderController = /** @class */ (function (_super) {
|
|
|
238
238
|
case 17:
|
|
239
239
|
err_5 = _b.sent();
|
|
240
240
|
if (err_5) {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
241
|
+
if (err_5.err && err_5.fetchDetails) {
|
|
242
|
+
switch (err_5.fetchDetails.status) {
|
|
243
|
+
case 429: {
|
|
244
|
+
this.store.error = {
|
|
245
|
+
code: 429,
|
|
246
|
+
type: snap_store_mobx_1.ErrorType.WARNING,
|
|
247
|
+
message: 'Too many requests try again later',
|
|
248
|
+
};
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
case 500: {
|
|
252
|
+
this.store.error = {
|
|
253
|
+
code: 500,
|
|
254
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
255
|
+
message: 'Invalid Search Request or Service Unavailable',
|
|
256
|
+
};
|
|
257
|
+
break;
|
|
258
|
+
}
|
|
259
|
+
default: {
|
|
260
|
+
this.store.error = {
|
|
261
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
262
|
+
message: err_5.err.message,
|
|
263
|
+
};
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
this.log.error(this.store.error);
|
|
268
|
+
this.handleError(err_5.err, err_5.fetchDetails);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
this.store.error = {
|
|
272
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
273
|
+
message: "Something went wrong... - ".concat(err_5),
|
|
274
|
+
};
|
|
275
|
+
this.log.error(err_5);
|
|
276
|
+
this.handleError(err_5);
|
|
261
277
|
}
|
|
262
278
|
this.store.loading = false;
|
|
263
|
-
this.handleError(err_5);
|
|
264
279
|
}
|
|
265
280
|
return [3 /*break*/, 18];
|
|
266
281
|
case 18: return [2 /*return*/];
|
|
@@ -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,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,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;CACzD,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,CAiM5B;IAEL,IAAI,MAAM,IAAI,6BAA6B,CA0B1C;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,
|
|
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,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,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,WAAW,GAAG,SAAS,CAAC;CACzD,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,CAiM5B;IAEL,IAAI,MAAM,IAAI,6BAA6B,CA0B1C;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuH9B;CACF"}
|
|
@@ -387,29 +387,44 @@ var RecommendationController = /** @class */ (function (_super) {
|
|
|
387
387
|
case 17:
|
|
388
388
|
err_4 = _a.sent();
|
|
389
389
|
if (err_4) {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
390
|
+
if (err_4.err && err_4.fetchDetails) {
|
|
391
|
+
switch (err_4.fetchDetails.status) {
|
|
392
|
+
case 429: {
|
|
393
|
+
this.store.error = {
|
|
394
|
+
code: 429,
|
|
395
|
+
type: snap_store_mobx_1.ErrorType.WARNING,
|
|
396
|
+
message: 'Too many requests try again later',
|
|
397
|
+
};
|
|
398
|
+
break;
|
|
399
|
+
}
|
|
400
|
+
case 500: {
|
|
401
|
+
this.store.error = {
|
|
402
|
+
code: 500,
|
|
403
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
404
|
+
message: 'Invalid Search Request or Service Unavailable',
|
|
405
|
+
};
|
|
406
|
+
break;
|
|
407
|
+
}
|
|
408
|
+
default: {
|
|
409
|
+
this.store.error = {
|
|
410
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
411
|
+
message: err_4.err.message,
|
|
412
|
+
};
|
|
413
|
+
break;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
this.log.error(this.store.error);
|
|
417
|
+
this.handleError(err_4.err, err_4.fetchDetails);
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
this.store.error = {
|
|
421
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
422
|
+
message: "Something went wrong... - ".concat(err_4),
|
|
423
|
+
};
|
|
424
|
+
this.log.error(err_4);
|
|
425
|
+
this.handleError(err_4);
|
|
410
426
|
}
|
|
411
427
|
this.store.loading = false;
|
|
412
|
-
this.handleError(err_4);
|
|
413
428
|
}
|
|
414
429
|
return [3 /*break*/, 18];
|
|
415
430
|
case 18: return [2 /*return*/];
|
|
@@ -22,5 +22,6 @@ export declare class SearchController extends AbstractController {
|
|
|
22
22
|
search: () => Promise<void>;
|
|
23
23
|
}
|
|
24
24
|
export declare function getStorableRequestParams(request: SearchRequestModel): SearchRequestModel;
|
|
25
|
+
export declare function generateHrefSelector(element: HTMLElement, href: string, levels?: number): string | undefined;
|
|
25
26
|
export {};
|
|
26
27
|
//# sourceMappingURL=SearchController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"
|
|
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,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EACX,sBAAsB,EAItB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,kBAAkB,EAA2E,MAAM,2BAA2B,CAAC;AAqB7I,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;KAC/D,CAAC;CACF,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,eAAe,CAAwC;gBAG9D,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA2I3B,KAAK,EAAE,kBAAkB,CA8CvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAgD/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAwO9B;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"}
|
|
@@ -74,8 +74,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
74
74
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
75
75
|
};
|
|
76
76
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
77
|
-
exports.getStorableRequestParams = exports.SearchController = void 0;
|
|
77
|
+
exports.generateHrefSelector = exports.getStorableRequestParams = exports.SearchController = void 0;
|
|
78
78
|
var deepmerge_1 = __importDefault(require("deepmerge"));
|
|
79
|
+
var css_escape_1 = __importDefault(require("css.escape"));
|
|
79
80
|
var AbstractController_1 = require("../Abstract/AbstractController");
|
|
80
81
|
var snap_store_mobx_1 = require("@searchspring/snap-store-mobx");
|
|
81
82
|
var getParams_1 = require("../utils/getParams");
|
|
@@ -111,17 +112,26 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
111
112
|
click: function (e, result) {
|
|
112
113
|
var _a, _b;
|
|
113
114
|
var target = e.target;
|
|
114
|
-
var
|
|
115
|
+
var resultHref = (_a = result.mappings.core) === null || _a === void 0 ? void 0 : _a.url;
|
|
116
|
+
var elemHref = target === null || target === void 0 ? void 0 : target.getAttribute('href');
|
|
117
|
+
// the href that should be used for restoration - if the elemHref contains the resultHref - use resultHref
|
|
118
|
+
var storedHref = (elemHref === null || elemHref === void 0 ? void 0 : elemHref.indexOf(resultHref)) != -1 ? resultHref : elemHref || resultHref;
|
|
115
119
|
var scrollMap = {};
|
|
116
120
|
// generate the selector using element class and parent classes
|
|
117
|
-
var selector = generateHrefSelector(target,
|
|
121
|
+
var selector = generateHrefSelector(target, storedHref);
|
|
118
122
|
var domRect = selector ? (_b = document === null || document === void 0 ? void 0 : document.querySelector(selector)) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect() : undefined;
|
|
119
123
|
// store element position data to scrollMap
|
|
120
|
-
if (selector
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
124
|
+
if (selector || storedHref || domRect) {
|
|
125
|
+
try {
|
|
126
|
+
var stringyParams = JSON.parse(_this.storage.get('lastStringyParams'));
|
|
127
|
+
var storableRequestParams = getStorableRequestParams(stringyParams);
|
|
128
|
+
var storableStringyParams = JSON.stringify(storableRequestParams);
|
|
129
|
+
scrollMap[storableStringyParams] = { domRect: domRect, href: storedHref, selector: selector };
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
// failed to get lastStringParams
|
|
133
|
+
_this.log.warn('Failed to save scollMap!', err);
|
|
134
|
+
}
|
|
125
135
|
}
|
|
126
136
|
// store position data or empty object
|
|
127
137
|
_this.storage.set('scrollMap', scrollMap);
|
|
@@ -130,7 +140,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
130
140
|
var event = _this.tracker.track.product.click({
|
|
131
141
|
intellisuggestData: intellisuggestData,
|
|
132
142
|
intellisuggestSignature: intellisuggestSignature,
|
|
133
|
-
href:
|
|
143
|
+
href: elemHref || resultHref,
|
|
134
144
|
});
|
|
135
145
|
_this.eventManager.fire('track.product.click', { controller: _this, event: e, result: result, trackEvent: event });
|
|
136
146
|
return event;
|
|
@@ -337,29 +347,44 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
337
347
|
case 26:
|
|
338
348
|
err_4 = _x.sent();
|
|
339
349
|
if (err_4) {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
350
|
+
if (err_4.err && err_4.fetchDetails) {
|
|
351
|
+
switch (err_4.fetchDetails.status) {
|
|
352
|
+
case 429: {
|
|
353
|
+
this.store.error = {
|
|
354
|
+
code: 429,
|
|
355
|
+
type: snap_store_mobx_1.ErrorType.WARNING,
|
|
356
|
+
message: 'Too many requests try again later',
|
|
357
|
+
};
|
|
358
|
+
break;
|
|
359
|
+
}
|
|
360
|
+
case 500: {
|
|
361
|
+
this.store.error = {
|
|
362
|
+
code: 500,
|
|
363
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
364
|
+
message: 'Invalid Search Request or Service Unavailable',
|
|
365
|
+
};
|
|
366
|
+
break;
|
|
367
|
+
}
|
|
368
|
+
default: {
|
|
369
|
+
this.store.error = {
|
|
370
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
371
|
+
message: err_4.err.message,
|
|
372
|
+
};
|
|
373
|
+
break;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
this.log.error(this.store.error);
|
|
377
|
+
this.handleError(err_4.err, err_4.fetchDetails);
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
this.store.error = {
|
|
381
|
+
type: snap_store_mobx_1.ErrorType.ERROR,
|
|
382
|
+
message: "Something went wrong... - ".concat(err_4),
|
|
383
|
+
};
|
|
384
|
+
this.log.error(err_4);
|
|
385
|
+
this.handleError(err_4);
|
|
360
386
|
}
|
|
361
387
|
this.store.loading = false;
|
|
362
|
-
this.handleError(err_4);
|
|
363
388
|
}
|
|
364
389
|
return [3 /*break*/, 27];
|
|
365
390
|
case 27: return [2 /*return*/];
|
|
@@ -459,7 +484,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
459
484
|
case 0:
|
|
460
485
|
scrollToPosition = function () {
|
|
461
486
|
return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
|
|
462
|
-
var offset, maxCheckTime, checkTime, maxScrolls, maxCheckCount, scrollBackCount, scrolledElem, checkAndScroll;
|
|
487
|
+
var offset, maxCheckTime, checkTime, maxScrolls, maxCheckCount, scrollBackCount, checkCount, scrolledElem, checkAndScroll;
|
|
463
488
|
var _a;
|
|
464
489
|
return __generator(this, function (_b) {
|
|
465
490
|
switch (_b.label) {
|
|
@@ -468,15 +493,21 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
468
493
|
maxCheckTime = 500;
|
|
469
494
|
checkTime = 50;
|
|
470
495
|
maxScrolls = Math.ceil(maxCheckTime / checkTime);
|
|
471
|
-
maxCheckCount = maxScrolls +
|
|
496
|
+
maxCheckCount = maxScrolls + 2;
|
|
472
497
|
scrollBackCount = 0;
|
|
498
|
+
checkCount = 0;
|
|
473
499
|
scrolledElem = undefined;
|
|
474
500
|
checkAndScroll = function () {
|
|
475
501
|
var elem = document.querySelector(element === null || element === void 0 ? void 0 : element.selector);
|
|
476
|
-
if (elem)
|
|
502
|
+
if (elem) {
|
|
477
503
|
scrollBackCount++;
|
|
478
|
-
|
|
504
|
+
}
|
|
505
|
+
else {
|
|
506
|
+
checkCount++;
|
|
507
|
+
}
|
|
508
|
+
if (elem) {
|
|
479
509
|
var y = elem.getBoundingClientRect().y;
|
|
510
|
+
// if the offset is off, we need to scroll into position (can be caused by lazy loaded images)
|
|
480
511
|
if (y > offset + 1 || y < offset - 1) {
|
|
481
512
|
elem.scrollIntoView();
|
|
482
513
|
// after scrolling into view, use top value with offset (for when element at bottom)
|
|
@@ -490,7 +521,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
490
521
|
};
|
|
491
522
|
_b.label = 1;
|
|
492
523
|
case 1:
|
|
493
|
-
if (!(checkAndScroll() || scrollBackCount <= maxScrolls)) return [3 /*break*/, 3];
|
|
524
|
+
if (!(checkAndScroll() || (scrollBackCount <= maxScrolls && checkCount <= maxCheckCount))) return [3 /*break*/, 3];
|
|
494
525
|
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, checkTime); })];
|
|
495
526
|
case 2:
|
|
496
527
|
_b.sent();
|
|
@@ -598,17 +629,28 @@ function generateHrefSelector(element, href, levels) {
|
|
|
598
629
|
if (levels === void 0) { levels = 7; }
|
|
599
630
|
var level = 0;
|
|
600
631
|
var elem = element;
|
|
601
|
-
while (elem && level
|
|
632
|
+
while (elem && level <= levels) {
|
|
602
633
|
// check within
|
|
603
|
-
var
|
|
604
|
-
if (
|
|
605
|
-
|
|
634
|
+
var innerHrefElem = elem.querySelector("[href*=\"".concat(href, "\"]"));
|
|
635
|
+
if (innerHrefElem) {
|
|
636
|
+
// innerHrefElem was found! now get selectors up to elem that contained it
|
|
637
|
+
var selector = '';
|
|
638
|
+
var parentElem = innerHrefElem;
|
|
639
|
+
while (parentElem && parentElem != elem.parentElement) {
|
|
640
|
+
var classNames = parentElem.classList.value.trim().split(' ');
|
|
641
|
+
// document.querySelector does not appreciate special characters - must escape them
|
|
642
|
+
var escapedClassSelector = classNames.reduce(function (classes, classname) { return (classname.trim() ? "".concat(classes, ".").concat((0, css_escape_1.default)(classname.trim())) : classes); }, '');
|
|
643
|
+
selector = "".concat(parentElem.tagName).concat(escapedClassSelector).concat(selector ? " ".concat(selector) : '');
|
|
644
|
+
parentElem = parentElem.parentElement;
|
|
645
|
+
}
|
|
646
|
+
return "".concat(selector, "[href*=\"").concat(href, "\"]");
|
|
606
647
|
}
|
|
607
648
|
elem = elem.parentElement;
|
|
608
649
|
level++;
|
|
609
650
|
}
|
|
610
651
|
return;
|
|
611
652
|
}
|
|
653
|
+
exports.generateHrefSelector = generateHrefSelector;
|
|
612
654
|
function backFillSize(pages, pageSize) {
|
|
613
655
|
var totalResults = pages * pageSize;
|
|
614
656
|
var numPages = Math.ceil(totalResults / API_LIMIT);
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -28,9 +28,9 @@ export declare type RestorePositionObj = {
|
|
|
28
28
|
element?: ElementPositionObj;
|
|
29
29
|
};
|
|
30
30
|
export declare type ElementPositionObj = {
|
|
31
|
-
href
|
|
32
|
-
selector
|
|
33
|
-
domRect
|
|
31
|
+
href?: string;
|
|
32
|
+
selector?: string;
|
|
33
|
+
domRect?: DOMRect;
|
|
34
34
|
};
|
|
35
35
|
export declare enum ControllerTypes {
|
|
36
36
|
search = "search",
|
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,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACxI,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,kBAAkB,GAAG;IAChC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,9 @@ export declare abstract class AbstractController {
|
|
|
25
25
|
};
|
|
26
26
|
protected _initialized: boolean;
|
|
27
27
|
get initialized(): boolean;
|
|
28
|
-
handleError: (err: unknown
|
|
28
|
+
handleError: (err: unknown, details?: {
|
|
29
|
+
[any: string]: unknown;
|
|
30
|
+
} | undefined) => void;
|
|
29
31
|
constructor(config: ControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
30
32
|
createTargeter(target: Target, onTarget: OnTarget, document?: Document): DomTargeter | undefined;
|
|
31
33
|
addTargeter(target: DomTargeter): DomTargeter | undefined;
|