@searchspring/snap-controller 0.67.2 → 0.67.4
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 +45 -41
- package/dist/cjs/Search/SearchController.d.ts +1 -1
- package/dist/cjs/Search/SearchController.d.ts.map +1 -1
- package/dist/cjs/Search/SearchController.js +29 -28
- package/dist/cjs/types.d.ts +4 -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 +12 -7
- package/dist/esm/Search/SearchController.d.ts +1 -1
- package/dist/esm/Search/SearchController.d.ts.map +1 -1
- package/dist/esm/Search/SearchController.js +14 -12
- package/dist/esm/types.d.ts +4 -0
- package/dist/esm/types.d.ts.map +1 -1
- 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,EAAiC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElI,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;IAE7B,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;
|
|
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,EAAiC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElI,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;IAE7B,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;IAkF3B,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,CA6I9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
|
|
@@ -186,22 +186,15 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
186
186
|
input = e.target;
|
|
187
187
|
actionUrl = this.store.services.urlManager;
|
|
188
188
|
e.preventDefault();
|
|
189
|
-
if (!((_c = (_b = (_a = this.config.globals) === null || _a === void 0 ? void 0 : _a.search) === null || _b === void 0 ? void 0 : _b.query) === null || _c === void 0 ? void 0 : _c.spellCorrection)) return [3 /*break*/,
|
|
190
|
-
|
|
191
|
-
// TODO make this better
|
|
192
|
-
return [4 /*yield*/, timeout(exports.INPUT_DELAY + 1)];
|
|
189
|
+
if (!((_c = (_b = (_a = this.config.globals) === null || _a === void 0 ? void 0 : _a.search) === null || _b === void 0 ? void 0 : _b.query) === null || _c === void 0 ? void 0 : _c.spellCorrection)) return [3 /*break*/, 4];
|
|
190
|
+
_e.label = 1;
|
|
193
191
|
case 1:
|
|
194
|
-
|
|
195
|
-
// TODO make this better
|
|
196
|
-
_e.sent();
|
|
197
|
-
_e.label = 2;
|
|
198
|
-
case 2:
|
|
199
|
-
if (!this.store.loading) return [3 /*break*/, 4];
|
|
192
|
+
if (!this.store.loading) return [3 /*break*/, 3];
|
|
200
193
|
return [4 /*yield*/, timeout(exports.INPUT_DELAY)];
|
|
201
|
-
case
|
|
194
|
+
case 2:
|
|
202
195
|
_e.sent();
|
|
203
|
-
return [3 /*break*/,
|
|
204
|
-
case
|
|
196
|
+
return [3 /*break*/, 1];
|
|
197
|
+
case 3:
|
|
205
198
|
if (this.config.settings.integratedSpellCorrection) {
|
|
206
199
|
//set fallbackQuery to the correctedQuery
|
|
207
200
|
if (this.store.search.correctedQuery) {
|
|
@@ -213,9 +206,14 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
213
206
|
input.value = (_d = this.store.search.query) === null || _d === void 0 ? void 0 : _d.string;
|
|
214
207
|
actionUrl = actionUrl === null || actionUrl === void 0 ? void 0 : actionUrl.set(PARAM_ORIGINAL_QUERY, this.store.search.originalQuery.string);
|
|
215
208
|
}
|
|
216
|
-
_e.label =
|
|
217
|
-
case
|
|
209
|
+
_e.label = 4;
|
|
210
|
+
case 4:
|
|
218
211
|
actionUrl = actionUrl === null || actionUrl === void 0 ? void 0 : actionUrl.set('query', input.value);
|
|
212
|
+
// wait for input delay
|
|
213
|
+
return [4 /*yield*/, timeout(exports.INPUT_DELAY + 1)];
|
|
214
|
+
case 5:
|
|
215
|
+
// wait for input delay
|
|
216
|
+
_e.sent();
|
|
219
217
|
_e.label = 6;
|
|
220
218
|
case 6:
|
|
221
219
|
_e.trys.push([6, 8, , 9]);
|
|
@@ -266,22 +264,15 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
266
264
|
form = e.target;
|
|
267
265
|
input = form.querySelector("input[".concat(INPUT_ATTRIBUTE, "]"));
|
|
268
266
|
e.preventDefault();
|
|
269
|
-
if (!((_c = (_b = (_a = this.config.globals) === null || _a === void 0 ? void 0 : _a.search) === null || _b === void 0 ? void 0 : _b.query) === null || _c === void 0 ? void 0 : _c.spellCorrection)) return [3 /*break*/,
|
|
270
|
-
|
|
271
|
-
// TODO make this better
|
|
272
|
-
return [4 /*yield*/, timeout(exports.INPUT_DELAY + 1)];
|
|
267
|
+
if (!((_c = (_b = (_a = this.config.globals) === null || _a === void 0 ? void 0 : _a.search) === null || _b === void 0 ? void 0 : _b.query) === null || _c === void 0 ? void 0 : _c.spellCorrection)) return [3 /*break*/, 4];
|
|
268
|
+
_e.label = 1;
|
|
273
269
|
case 1:
|
|
274
|
-
|
|
275
|
-
// TODO make this better
|
|
276
|
-
_e.sent();
|
|
277
|
-
_e.label = 2;
|
|
278
|
-
case 2:
|
|
279
|
-
if (!this.store.loading) return [3 /*break*/, 4];
|
|
270
|
+
if (!this.store.loading) return [3 /*break*/, 3];
|
|
280
271
|
return [4 /*yield*/, timeout(exports.INPUT_DELAY)];
|
|
281
|
-
case
|
|
272
|
+
case 2:
|
|
282
273
|
_e.sent();
|
|
283
|
-
return [3 /*break*/,
|
|
284
|
-
case
|
|
274
|
+
return [3 /*break*/, 1];
|
|
275
|
+
case 3:
|
|
285
276
|
if (this.config.settings.integratedSpellCorrection) {
|
|
286
277
|
//set fallbackQuery to the correctedQuery
|
|
287
278
|
if (this.store.search.correctedQuery) {
|
|
@@ -295,17 +286,24 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
295
286
|
}
|
|
296
287
|
addHiddenFormInput(form, PARAM_ORIGINAL_QUERY, this.store.search.originalQuery.string);
|
|
297
288
|
}
|
|
298
|
-
_e.label =
|
|
289
|
+
_e.label = 4;
|
|
290
|
+
case 4:
|
|
291
|
+
// wait for input delay
|
|
292
|
+
return [4 /*yield*/, timeout(exports.INPUT_DELAY + 1)];
|
|
299
293
|
case 5:
|
|
300
|
-
|
|
294
|
+
// wait for input delay
|
|
295
|
+
_e.sent();
|
|
296
|
+
_e.label = 6;
|
|
297
|
+
case 6:
|
|
298
|
+
_e.trys.push([6, 8, , 9]);
|
|
301
299
|
return [4 /*yield*/, this.eventManager.fire('beforeSubmit', {
|
|
302
300
|
controller: this,
|
|
303
301
|
input: input,
|
|
304
302
|
})];
|
|
305
|
-
case 6:
|
|
306
|
-
_e.sent();
|
|
307
|
-
return [3 /*break*/, 8];
|
|
308
303
|
case 7:
|
|
304
|
+
_e.sent();
|
|
305
|
+
return [3 /*break*/, 9];
|
|
306
|
+
case 8:
|
|
309
307
|
err_2 = _e.sent();
|
|
310
308
|
if ((err_2 === null || err_2 === void 0 ? void 0 : err_2.message) == 'cancelled') {
|
|
311
309
|
this.log.warn("'beforeSubmit' middleware cancelled");
|
|
@@ -315,8 +313,8 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
315
313
|
this.log.error("error in 'beforeSubmit' middleware");
|
|
316
314
|
console.error(err_2);
|
|
317
315
|
}
|
|
318
|
-
return [3 /*break*/,
|
|
319
|
-
case
|
|
316
|
+
return [3 /*break*/, 9];
|
|
317
|
+
case 9:
|
|
320
318
|
form.submit();
|
|
321
319
|
return [2 /*return*/];
|
|
322
320
|
}
|
|
@@ -457,6 +455,8 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
457
455
|
return [2 /*return*/];
|
|
458
456
|
}
|
|
459
457
|
this.store.loading = true;
|
|
458
|
+
// clear the redirect URL until proper abort functionality is implemented
|
|
459
|
+
this.store.merchandising.redirect = '';
|
|
460
460
|
_d.label = 3;
|
|
461
461
|
case 3:
|
|
462
462
|
_d.trys.push([3, 5, , 6]);
|
|
@@ -671,15 +671,19 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
671
671
|
});
|
|
672
672
|
}); });
|
|
673
673
|
_this.eventManager.on('beforeSubmit', function (ac, next) { return __awaiter(_this, void 0, void 0, function () {
|
|
674
|
-
var redirectURL, results, filteredResults, singleResultUrl;
|
|
674
|
+
var loading, inputState, redirectURL, results, filteredResults, singleResultUrl;
|
|
675
675
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
676
676
|
return __generator(this, function (_j) {
|
|
677
677
|
switch (_j.label) {
|
|
678
678
|
case 0: return [4 /*yield*/, next()];
|
|
679
679
|
case 1:
|
|
680
680
|
_j.sent();
|
|
681
|
+
loading = ac.controller.store.loading;
|
|
682
|
+
if (loading)
|
|
683
|
+
return [2 /*return*/];
|
|
684
|
+
inputState = ac.controller.store.state.input;
|
|
681
685
|
redirectURL = (_a = ac.controller.store.merchandising) === null || _a === void 0 ? void 0 : _a.redirect;
|
|
682
|
-
if (
|
|
686
|
+
if (((_d = (_c = (_b = this.config) === null || _b === void 0 ? void 0 : _b.settings) === null || _c === void 0 ? void 0 : _c.redirects) === null || _d === void 0 ? void 0 : _d.merchandising) && inputState && redirectURL) {
|
|
683
687
|
this.track.redirect(redirectURL);
|
|
684
688
|
window.location.href = redirectURL;
|
|
685
689
|
return [2 /*return*/, false];
|
|
@@ -966,7 +970,7 @@ function getAutocompleteAddtocartSchemaData(_a) {
|
|
|
966
970
|
})) || [] });
|
|
967
971
|
}
|
|
968
972
|
function getAutocompleteSchemaData(_a) {
|
|
969
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
973
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
970
974
|
var params = _a.params, store = _a.store, results = _a.results;
|
|
971
975
|
var filters = (_b = params.filters) === null || _b === void 0 ? void 0 : _b.reduce(function (acc, filter) {
|
|
972
976
|
var _a;
|
|
@@ -990,7 +994,7 @@ function getAutocompleteSchemaData(_a) {
|
|
|
990
994
|
}
|
|
991
995
|
return acc;
|
|
992
996
|
}, {});
|
|
993
|
-
return __assign(__assign({ q: ((_d = (_c = store.search) === null || _c === void 0 ? void 0 : _c.originalQuery) === null || _d === void 0 ? void 0 : _d.string) || ((_f = (_e = store.search) === null || _e === void 0 ? void 0 : _e.query) === null || _f === void 0 ? void 0 : _f.string) || '',
|
|
997
|
+
return __assign(__assign({ q: ((_d = (_c = store.search) === null || _c === void 0 ? void 0 : _c.originalQuery) === null || _d === void 0 ? void 0 : _d.string) || ((_f = (_e = store.search) === null || _e === void 0 ? void 0 : _e.query) === null || _f === void 0 ? void 0 : _f.string) || '', rq: ((_g = params.search) === null || _g === void 0 ? void 0 : _g.subQuery) ? (_h = params.search) === null || _h === void 0 ? void 0 : _h.subQuery : undefined, correctedQuery: ((_k = (_j = store.search) === null || _j === void 0 ? void 0 : _j.originalQuery) === null || _k === void 0 ? void 0 : _k.string) ? (_m = (_l = store.search) === null || _l === void 0 ? void 0 : _l.query) === null || _m === void 0 ? void 0 : _m.string : undefined, matchType: store.search.matchType }, filters), { sort: (_o = params.sorts) === null || _o === void 0 ? void 0 : _o.map(function (sort) {
|
|
994
998
|
return {
|
|
995
999
|
field: sort.field,
|
|
996
1000
|
dir: sort.direction,
|
|
@@ -1002,8 +1006,8 @@ function getAutocompleteSchemaData(_a) {
|
|
|
1002
1006
|
}, merchandising: {
|
|
1003
1007
|
personalized: store.merchandising.personalized,
|
|
1004
1008
|
redirect: store.merchandising.redirect,
|
|
1005
|
-
triggeredCampaigns: (((
|
|
1006
|
-
((
|
|
1009
|
+
triggeredCampaigns: (((_p = store.merchandising.campaigns) === null || _p === void 0 ? void 0 : _p.length) &&
|
|
1010
|
+
((_q = store.merchandising.campaigns) === null || _q === void 0 ? void 0 : _q.map(function (campaign) {
|
|
1007
1011
|
var experiement = store.merchandising.experiments.find(function (experiment) { return experiment.campaignId === campaign.id; });
|
|
1008
1012
|
return {
|
|
1009
1013
|
id: campaign.id,
|
|
@@ -20,7 +20,7 @@ export declare class SearchController extends AbstractController {
|
|
|
20
20
|
config: SearchControllerConfig;
|
|
21
21
|
storage: StorageStore;
|
|
22
22
|
private previousResults;
|
|
23
|
-
private
|
|
23
|
+
private page;
|
|
24
24
|
private events;
|
|
25
25
|
constructor(config: SearchControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
26
26
|
track: SearchTrackMethods;
|
|
@@ -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,
|
|
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,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,KAAK,EACX,sBAAsB,EAGtB,kBAAkB,EAClB,gBAAgB,EAIhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,kBAAkB,EAQlB,MAAM,2BAA2B,CAAC;AAkCnC,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;IAwN3B,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"}
|
|
@@ -106,11 +106,13 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
106
106
|
__extends(SearchController, _super);
|
|
107
107
|
function SearchController(config, _a, context) {
|
|
108
108
|
var client = _a.client, store = _a.store, urlManager = _a.urlManager, eventManager = _a.eventManager, profiler = _a.profiler, logger = _a.logger, tracker = _a.tracker;
|
|
109
|
-
var _b, _c, _d, _e, _f;
|
|
109
|
+
var _b, _c, _d, _e, _f, _g;
|
|
110
110
|
var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }, context) || this;
|
|
111
111
|
_this.type = types_1.ControllerTypes.search;
|
|
112
112
|
_this.previousResults = [];
|
|
113
|
-
_this.
|
|
113
|
+
_this.page = {
|
|
114
|
+
type: 'search',
|
|
115
|
+
};
|
|
114
116
|
_this.events = { product: {} };
|
|
115
117
|
_this.track = {
|
|
116
118
|
product: {
|
|
@@ -146,7 +148,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
146
148
|
// store position data or empty object
|
|
147
149
|
_this.storage.set('scrollMap', scrollMap);
|
|
148
150
|
var data = schemaMap[result.id];
|
|
149
|
-
_this.tracker.events[_this.
|
|
151
|
+
_this.tracker.events[_this.page.type].clickThrough({ data: data, siteId: (_f = _this.config.globals) === null || _f === void 0 ? void 0 : _f.siteId });
|
|
150
152
|
_this.events.product[result.id] = _this.events.product[result.id] || {};
|
|
151
153
|
_this.events.product[result.id].clickThrough = true;
|
|
152
154
|
_this.eventManager.fire('track.product.clickThrough', { controller: _this, event: e, product: result, trackEvent: data });
|
|
@@ -172,7 +174,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
172
174
|
return;
|
|
173
175
|
}
|
|
174
176
|
var data = schemaMap[result.id];
|
|
175
|
-
_this.tracker.events[_this.
|
|
177
|
+
_this.tracker.events[_this.page.type].render({ data: data, siteId: (_b = _this.config.globals) === null || _b === void 0 ? void 0 : _b.siteId });
|
|
176
178
|
_this.events.product[result.id] = _this.events.product[result.id] || {};
|
|
177
179
|
_this.events.product[result.id].render = true;
|
|
178
180
|
_this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data });
|
|
@@ -183,7 +185,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
183
185
|
return;
|
|
184
186
|
}
|
|
185
187
|
var data = schemaMap[result.id];
|
|
186
|
-
_this.tracker.events[_this.
|
|
188
|
+
_this.tracker.events[_this.page.type].impression({ data: data, siteId: (_c = _this.config.globals) === null || _c === void 0 ? void 0 : _c.siteId });
|
|
187
189
|
_this.events.product[result.id] = _this.events.product[result.id] || {};
|
|
188
190
|
_this.events.product[result.id].impression = true;
|
|
189
191
|
_this.eventManager.fire('track.product.impression', { controller: _this, product: result, trackEvent: data });
|
|
@@ -191,7 +193,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
191
193
|
addToCart: function (result) {
|
|
192
194
|
var _a;
|
|
193
195
|
var data = getSearchAddtocartSchemaData({ searchSchemaData: schemaMap[result.id], results: [result] });
|
|
194
|
-
_this.tracker.events[_this.
|
|
196
|
+
_this.tracker.events[_this.page.type].addToCart({
|
|
195
197
|
data: data,
|
|
196
198
|
siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId,
|
|
197
199
|
});
|
|
@@ -464,27 +466,26 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
464
466
|
});
|
|
465
467
|
// set last params to undefined for compare in search
|
|
466
468
|
_this.storage.set('lastStringyParams', undefined);
|
|
469
|
+
if (typeof ((_c = _this.context) === null || _c === void 0 ? void 0 : _c.page) === 'object' && ['search', 'category'].includes(_this.context.page.type)) {
|
|
470
|
+
_this.page = (0, deepmerge_1.default)(_this.page, _this.context.page);
|
|
471
|
+
}
|
|
467
472
|
_this.eventManager.on('beforeSearch', function (_a, next) {
|
|
468
473
|
var request = _a.request;
|
|
469
474
|
return __awaiter(_this, void 0, void 0, function () {
|
|
470
475
|
var req, query, hasCategoryBackgroundFilters;
|
|
471
|
-
var _b, _c
|
|
472
|
-
return __generator(this, function (
|
|
473
|
-
switch (
|
|
476
|
+
var _b, _c;
|
|
477
|
+
return __generator(this, function (_d) {
|
|
478
|
+
switch (_d.label) {
|
|
474
479
|
case 0:
|
|
475
480
|
// wait for other middleware to resolve
|
|
476
481
|
return [4 /*yield*/, next()];
|
|
477
482
|
case 1:
|
|
478
483
|
// wait for other middleware to resolve
|
|
479
|
-
|
|
480
|
-
if (((_b = this.context) === null || _b === void 0 ? void 0 : _b.pageType) === 'category') {
|
|
481
|
-
this.pageType = 'category';
|
|
482
|
-
return [2 /*return*/];
|
|
483
|
-
}
|
|
484
|
+
_d.sent();
|
|
484
485
|
req = request;
|
|
485
|
-
query = (
|
|
486
|
+
query = (_b = req.search) === null || _b === void 0 ? void 0 : _b.query;
|
|
486
487
|
if (!query) {
|
|
487
|
-
hasCategoryBackgroundFilters = (
|
|
488
|
+
hasCategoryBackgroundFilters = (_c = req.filters) === null || _c === void 0 ? void 0 : _c.filter(function (filter) { return filter.background; }).filter(function (filter) {
|
|
488
489
|
return BACKGROUND_FILTER_FIELD_MATCHES.find(function (bgFilter) {
|
|
489
490
|
var _a;
|
|
490
491
|
return (_a = filter.field) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(bgFilter);
|
|
@@ -503,7 +504,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
503
504
|
});
|
|
504
505
|
});
|
|
505
506
|
if (hasCategoryBackgroundFilters === null || hasCategoryBackgroundFilters === void 0 ? void 0 : hasCategoryBackgroundFilters.length) {
|
|
506
|
-
this.
|
|
507
|
+
this.page = (0, deepmerge_1.default)(this.page, { type: 'category' });
|
|
507
508
|
}
|
|
508
509
|
}
|
|
509
510
|
return [2 /*return*/];
|
|
@@ -571,13 +572,13 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
571
572
|
products = controller.store.results.filter(function (result) { var _a; return result.type === 'product' && !((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.render); });
|
|
572
573
|
if (products.length === 0 && !search.response._cached) {
|
|
573
574
|
data = getSearchSchemaData({ params: search.request, response: search.response });
|
|
574
|
-
this.tracker.events[this.
|
|
575
|
+
this.tracker.events[this.page.type].render({ data: data, siteId: (_a = this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
|
|
575
576
|
}
|
|
576
577
|
products.forEach(function (result) {
|
|
577
578
|
var _a;
|
|
578
579
|
if (!search.response._cached) {
|
|
579
580
|
var data = schemaMap[result.id];
|
|
580
|
-
_this.tracker.events[_this.
|
|
581
|
+
_this.tracker.events[_this.page.type].render({ data: data, siteId: (_a = _this.config.globals) === null || _a === void 0 ? void 0 : _a.siteId });
|
|
581
582
|
_this.eventManager.fire('track.product.render', { controller: _this, product: result, trackEvent: data });
|
|
582
583
|
}
|
|
583
584
|
_this.events.product[result.id] = _this.events.product[result.id] || {};
|
|
@@ -598,7 +599,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
598
599
|
});
|
|
599
600
|
}); });
|
|
600
601
|
// restore position
|
|
601
|
-
if ((
|
|
602
|
+
if ((_e = (_d = _this.config.settings) === null || _d === void 0 ? void 0 : _d.restorePosition) === null || _e === void 0 ? void 0 : _e.enabled) {
|
|
602
603
|
_this.eventManager.on('restorePosition', function (_a, next) {
|
|
603
604
|
var controller = _a.controller, element = _a.element;
|
|
604
605
|
return __awaiter(_this, void 0, void 0, function () {
|
|
@@ -691,7 +692,7 @@ var SearchController = /** @class */ (function (_super) {
|
|
|
691
692
|
});
|
|
692
693
|
});
|
|
693
694
|
// fire restorePosition event on 'pageshow' when setting is enabled
|
|
694
|
-
if ((
|
|
695
|
+
if ((_g = (_f = _this.config.settings) === null || _f === void 0 ? void 0 : _f.restorePosition) === null || _g === void 0 ? void 0 : _g.onPageShow) {
|
|
695
696
|
window.addEventListener('pageshow', function () {
|
|
696
697
|
_this.eventManager.fire('restorePosition', { controller: _this, element: {} });
|
|
697
698
|
});
|
|
@@ -832,7 +833,7 @@ function getSearchAddtocartSchemaData(_a) {
|
|
|
832
833
|
})) || [] });
|
|
833
834
|
}
|
|
834
835
|
function getSearchSchemaData(_a) {
|
|
835
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
836
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
836
837
|
var params = _a.params, response = _a.response;
|
|
837
838
|
var filters = (_b = params.filters) === null || _b === void 0 ? void 0 : _b.reduce(function (acc, filter) {
|
|
838
839
|
var _a;
|
|
@@ -862,18 +863,18 @@ function getSearchSchemaData(_a) {
|
|
|
862
863
|
}
|
|
863
864
|
var campaigns = ((_f = response === null || response === void 0 ? void 0 : response.merchandising) === null || _f === void 0 ? void 0 : _f.campaigns) || [];
|
|
864
865
|
var experiments = ((_g = response === null || response === void 0 ? void 0 : response.merchandising) === null || _g === void 0 ? void 0 : _g.experiments) || [];
|
|
865
|
-
return __assign(__assign({ q: ((_j = (_h = params.search) === null || _h === void 0 ? void 0 : _h.query) === null || _j === void 0 ? void 0 : _j.string) || '', correctedQuery: correctedQuery, matchType: (
|
|
866
|
+
return __assign(__assign({ q: ((_j = (_h = params.search) === null || _h === void 0 ? void 0 : _h.query) === null || _j === void 0 ? void 0 : _j.string) || '', rq: ((_k = params.search) === null || _k === void 0 ? void 0 : _k.subQuery) ? (_l = params.search) === null || _l === void 0 ? void 0 : _l.subQuery : undefined, correctedQuery: correctedQuery, matchType: (_m = response === null || response === void 0 ? void 0 : response.search) === null || _m === void 0 ? void 0 : _m.matchType }, filters), { sort: (_o = params.sorts) === null || _o === void 0 ? void 0 : _o.map(function (sort) {
|
|
866
867
|
return {
|
|
867
868
|
field: sort.field,
|
|
868
869
|
dir: sort.direction,
|
|
869
870
|
};
|
|
870
871
|
}), pagination: {
|
|
871
|
-
totalResults: (
|
|
872
|
-
page: (
|
|
873
|
-
resultsPerPage: (
|
|
872
|
+
totalResults: (_p = response === null || response === void 0 ? void 0 : response.pagination) === null || _p === void 0 ? void 0 : _p.totalResults,
|
|
873
|
+
page: (_q = response === null || response === void 0 ? void 0 : response.pagination) === null || _q === void 0 ? void 0 : _q.page,
|
|
874
|
+
resultsPerPage: (_r = response === null || response === void 0 ? void 0 : response.pagination) === null || _r === void 0 ? void 0 : _r.pageSize,
|
|
874
875
|
}, merchandising: {
|
|
875
|
-
personalized: (
|
|
876
|
-
redirect: (
|
|
876
|
+
personalized: (_s = response === null || response === void 0 ? void 0 : response.merchandising) === null || _s === void 0 ? void 0 : _s.personalized,
|
|
877
|
+
redirect: (_t = response === null || response === void 0 ? void 0 : response.merchandising) === null || _t === void 0 ? void 0 : _t.redirect,
|
|
877
878
|
triggeredCampaigns: (campaigns.length &&
|
|
878
879
|
campaigns.map(function (campaign) {
|
|
879
880
|
var experiement = experiments.find(function (experiment) { return experiment.campaignId === campaign.id; });
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -61,8 +61,12 @@ export type ContextVariables = {
|
|
|
61
61
|
cart?: ProductViewEvent[];
|
|
62
62
|
[variable: string]: any;
|
|
63
63
|
};
|
|
64
|
+
page?: PageContextVariable;
|
|
64
65
|
[variable: string]: any;
|
|
65
66
|
};
|
|
67
|
+
export type PageContextVariable = {
|
|
68
|
+
type: 'search' | 'category';
|
|
69
|
+
};
|
|
66
70
|
export type ControllerConfig = StoreConfig & Attachments;
|
|
67
71
|
export type SearchControllerConfig = ControllerConfig & SearchStoreConfig;
|
|
68
72
|
export type FinderControllerConfig = ControllerConfig & FinderStoreConfig;
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,EAAiC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElI,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;IAE7B,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;
|
|
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,EAAiC,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElI,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;IAE7B,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;IAkF3B,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,CA6I9B;IAEF,SAAS,cAAqB,OAAO,EAAE,GAAG,OAAO,KAAG,QAAQ,IAAI,CAAC,CAQ/D;CACF"}
|
|
@@ -108,8 +108,6 @@ export class AutocompleteController extends AbstractController {
|
|
|
108
108
|
// when spellCorrection is enabled
|
|
109
109
|
if (this.config.globals?.search?.query?.spellCorrection) {
|
|
110
110
|
// wait until loading is complete before submission
|
|
111
|
-
// TODO make this better
|
|
112
|
-
await timeout(INPUT_DELAY + 1);
|
|
113
111
|
while (this.store.loading) {
|
|
114
112
|
await timeout(INPUT_DELAY);
|
|
115
113
|
}
|
|
@@ -126,7 +124,8 @@ export class AutocompleteController extends AbstractController {
|
|
|
126
124
|
}
|
|
127
125
|
}
|
|
128
126
|
actionUrl = actionUrl?.set('query', input.value);
|
|
129
|
-
//
|
|
127
|
+
// wait for input delay
|
|
128
|
+
await timeout(INPUT_DELAY + 1);
|
|
130
129
|
try {
|
|
131
130
|
await this.eventManager.fire('beforeSubmit', {
|
|
132
131
|
controller: this,
|
|
@@ -166,8 +165,6 @@ export class AutocompleteController extends AbstractController {
|
|
|
166
165
|
// when spellCorrection is enabled
|
|
167
166
|
if (this.config.globals?.search?.query?.spellCorrection) {
|
|
168
167
|
// wait until loading is complete before submission
|
|
169
|
-
// TODO make this better
|
|
170
|
-
await timeout(INPUT_DELAY + 1);
|
|
171
168
|
while (this.store.loading) {
|
|
172
169
|
await timeout(INPUT_DELAY);
|
|
173
170
|
}
|
|
@@ -185,7 +182,8 @@ export class AutocompleteController extends AbstractController {
|
|
|
185
182
|
addHiddenFormInput(form, PARAM_ORIGINAL_QUERY, this.store.search.originalQuery.string);
|
|
186
183
|
}
|
|
187
184
|
}
|
|
188
|
-
//
|
|
185
|
+
// wait for input delay
|
|
186
|
+
await timeout(INPUT_DELAY + 1);
|
|
189
187
|
try {
|
|
190
188
|
await this.eventManager.fire('beforeSubmit', {
|
|
191
189
|
controller: this,
|
|
@@ -320,6 +318,8 @@ export class AutocompleteController extends AbstractController {
|
|
|
320
318
|
return;
|
|
321
319
|
}
|
|
322
320
|
this.store.loading = true;
|
|
321
|
+
// clear the redirect URL until proper abort functionality is implemented
|
|
322
|
+
this.store.merchandising.redirect = '';
|
|
323
323
|
try {
|
|
324
324
|
await this.eventManager.fire('beforeSearch', {
|
|
325
325
|
controller: this,
|
|
@@ -489,8 +489,12 @@ export class AutocompleteController extends AbstractController {
|
|
|
489
489
|
});
|
|
490
490
|
this.eventManager.on('beforeSubmit', async (ac, next) => {
|
|
491
491
|
await next();
|
|
492
|
+
const loading = ac.controller.store.loading;
|
|
493
|
+
if (loading)
|
|
494
|
+
return;
|
|
495
|
+
const inputState = ac.controller.store.state.input;
|
|
492
496
|
const redirectURL = ac.controller.store.merchandising?.redirect;
|
|
493
|
-
if (
|
|
497
|
+
if (this.config?.settings?.redirects?.merchandising && inputState && redirectURL) {
|
|
494
498
|
this.track.redirect(redirectURL);
|
|
495
499
|
window.location.href = redirectURL;
|
|
496
500
|
return false;
|
|
@@ -756,6 +760,7 @@ function getAutocompleteSchemaData({ params, store, results, }) {
|
|
|
756
760
|
}, {});
|
|
757
761
|
return {
|
|
758
762
|
q: store.search?.originalQuery?.string || store.search?.query?.string || '',
|
|
763
|
+
rq: params.search?.subQuery ? params.search?.subQuery : undefined,
|
|
759
764
|
correctedQuery: store.search?.originalQuery?.string ? store.search?.query?.string : undefined,
|
|
760
765
|
matchType: store.search.matchType,
|
|
761
766
|
...filters,
|
|
@@ -20,7 +20,7 @@ export declare class SearchController extends AbstractController {
|
|
|
20
20
|
config: SearchControllerConfig;
|
|
21
21
|
storage: StorageStore;
|
|
22
22
|
private previousResults;
|
|
23
|
-
private
|
|
23
|
+
private page;
|
|
24
24
|
private events;
|
|
25
25
|
constructor(config: SearchControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
26
26
|
track: SearchTrackMethods;
|
|
@@ -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,
|
|
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,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,KAAK,EACX,sBAAsB,EAGtB,kBAAkB,EAClB,gBAAgB,EAIhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,kBAAkB,EAQlB,MAAM,2BAA2B,CAAC;AAkCnC,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;IAwN3B,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"}
|
|
@@ -30,7 +30,9 @@ export class SearchController extends AbstractController {
|
|
|
30
30
|
super(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context);
|
|
31
31
|
this.type = ControllerTypes.search;
|
|
32
32
|
this.previousResults = [];
|
|
33
|
-
this.
|
|
33
|
+
this.page = {
|
|
34
|
+
type: 'search',
|
|
35
|
+
};
|
|
34
36
|
this.events = { product: {} };
|
|
35
37
|
this.track = {
|
|
36
38
|
product: {
|
|
@@ -65,7 +67,7 @@ export class SearchController extends AbstractController {
|
|
|
65
67
|
// store position data or empty object
|
|
66
68
|
this.storage.set('scrollMap', scrollMap);
|
|
67
69
|
const data = schemaMap[result.id];
|
|
68
|
-
this.tracker.events[this.
|
|
70
|
+
this.tracker.events[this.page.type].clickThrough({ data, siteId: this.config.globals?.siteId });
|
|
69
71
|
this.events.product[result.id] = this.events.product[result.id] || {};
|
|
70
72
|
this.events.product[result.id].clickThrough = true;
|
|
71
73
|
this.eventManager.fire('track.product.clickThrough', { controller: this, event: e, product: result, trackEvent: data });
|
|
@@ -89,7 +91,7 @@ export class SearchController extends AbstractController {
|
|
|
89
91
|
return;
|
|
90
92
|
}
|
|
91
93
|
const data = schemaMap[result.id];
|
|
92
|
-
this.tracker.events[this.
|
|
94
|
+
this.tracker.events[this.page.type].render({ data, siteId: this.config.globals?.siteId });
|
|
93
95
|
this.events.product[result.id] = this.events.product[result.id] || {};
|
|
94
96
|
this.events.product[result.id].render = true;
|
|
95
97
|
this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
|
|
@@ -99,14 +101,14 @@ export class SearchController extends AbstractController {
|
|
|
99
101
|
return;
|
|
100
102
|
}
|
|
101
103
|
const data = schemaMap[result.id];
|
|
102
|
-
this.tracker.events[this.
|
|
104
|
+
this.tracker.events[this.page.type].impression({ data, siteId: this.config.globals?.siteId });
|
|
103
105
|
this.events.product[result.id] = this.events.product[result.id] || {};
|
|
104
106
|
this.events.product[result.id].impression = true;
|
|
105
107
|
this.eventManager.fire('track.product.impression', { controller: this, product: result, trackEvent: data });
|
|
106
108
|
},
|
|
107
109
|
addToCart: (result) => {
|
|
108
110
|
const data = getSearchAddtocartSchemaData({ searchSchemaData: schemaMap[result.id], results: [result] });
|
|
109
|
-
this.tracker.events[this.
|
|
111
|
+
this.tracker.events[this.page.type].addToCart({
|
|
110
112
|
data,
|
|
111
113
|
siteId: this.config.globals?.siteId,
|
|
112
114
|
});
|
|
@@ -338,13 +340,12 @@ export class SearchController extends AbstractController {
|
|
|
338
340
|
});
|
|
339
341
|
// set last params to undefined for compare in search
|
|
340
342
|
this.storage.set('lastStringyParams', undefined);
|
|
343
|
+
if (typeof this.context?.page === 'object' && ['search', 'category'].includes(this.context.page.type)) {
|
|
344
|
+
this.page = deepmerge(this.page, this.context.page);
|
|
345
|
+
}
|
|
341
346
|
this.eventManager.on('beforeSearch', async ({ request }, next) => {
|
|
342
347
|
// wait for other middleware to resolve
|
|
343
348
|
await next();
|
|
344
|
-
if (this.context?.pageType === 'category') {
|
|
345
|
-
this.pageType = 'category';
|
|
346
|
-
return;
|
|
347
|
-
}
|
|
348
349
|
const req = request;
|
|
349
350
|
const query = req.search?.query;
|
|
350
351
|
if (!query) {
|
|
@@ -369,7 +370,7 @@ export class SearchController extends AbstractController {
|
|
|
369
370
|
});
|
|
370
371
|
});
|
|
371
372
|
if (hasCategoryBackgroundFilters?.length) {
|
|
372
|
-
this.
|
|
373
|
+
this.page = deepmerge(this.page, { type: 'category' });
|
|
373
374
|
}
|
|
374
375
|
}
|
|
375
376
|
});
|
|
@@ -410,12 +411,12 @@ export class SearchController extends AbstractController {
|
|
|
410
411
|
if (products.length === 0 && !search.response._cached) {
|
|
411
412
|
// handle no results
|
|
412
413
|
const data = getSearchSchemaData({ params: search.request, response: search.response });
|
|
413
|
-
this.tracker.events[this.
|
|
414
|
+
this.tracker.events[this.page.type].render({ data, siteId: this.config.globals?.siteId });
|
|
414
415
|
}
|
|
415
416
|
products.forEach((result) => {
|
|
416
417
|
if (!search.response._cached) {
|
|
417
418
|
const data = schemaMap[result.id];
|
|
418
|
-
this.tracker.events[this.
|
|
419
|
+
this.tracker.events[this.page.type].render({ data, siteId: this.config.globals?.siteId });
|
|
419
420
|
this.eventManager.fire('track.product.render', { controller: this, product: result, trackEvent: data });
|
|
420
421
|
}
|
|
421
422
|
this.events.product[result.id] = this.events.product[result.id] || {};
|
|
@@ -655,6 +656,7 @@ function getSearchSchemaData({ params, response }) {
|
|
|
655
656
|
const experiments = response?.merchandising?.experiments || [];
|
|
656
657
|
return {
|
|
657
658
|
q: params.search?.query?.string || '',
|
|
659
|
+
rq: params.search?.subQuery ? params.search?.subQuery : undefined,
|
|
658
660
|
correctedQuery,
|
|
659
661
|
matchType: response?.search?.matchType,
|
|
660
662
|
...filters,
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -61,8 +61,12 @@ export type ContextVariables = {
|
|
|
61
61
|
cart?: ProductViewEvent[];
|
|
62
62
|
[variable: string]: any;
|
|
63
63
|
};
|
|
64
|
+
page?: PageContextVariable;
|
|
64
65
|
[variable: string]: any;
|
|
65
66
|
};
|
|
67
|
+
export type PageContextVariable = {
|
|
68
|
+
type: 'search' | 'category';
|
|
69
|
+
};
|
|
66
70
|
export type ControllerConfig = StoreConfig & Attachments;
|
|
67
71
|
export type SearchControllerConfig = ControllerConfig & SearchStoreConfig;
|
|
68
72
|
export type FinderControllerConfig = ControllerConfig & FinderStoreConfig;
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchspring/snap-controller",
|
|
3
|
-
"version": "0.67.
|
|
3
|
+
"version": "0.67.4",
|
|
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.67.
|
|
23
|
+
"@searchspring/snap-toolbox": "0.67.4",
|
|
24
24
|
"css.escape": "1.5.1",
|
|
25
25
|
"deepmerge": "4.3.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@searchspring/snap-client": "0.67.
|
|
29
|
-
"@searchspring/snap-event-manager": "0.67.
|
|
30
|
-
"@searchspring/snap-logger": "0.67.
|
|
31
|
-
"@searchspring/snap-profiler": "0.67.
|
|
32
|
-
"@searchspring/snap-store-mobx": "0.67.
|
|
33
|
-
"@searchspring/snap-tracker": "0.67.
|
|
34
|
-
"@searchspring/snap-url-manager": "0.67.
|
|
28
|
+
"@searchspring/snap-client": "0.67.4",
|
|
29
|
+
"@searchspring/snap-event-manager": "0.67.4",
|
|
30
|
+
"@searchspring/snap-logger": "0.67.4",
|
|
31
|
+
"@searchspring/snap-profiler": "0.67.4",
|
|
32
|
+
"@searchspring/snap-store-mobx": "0.67.4",
|
|
33
|
+
"@searchspring/snap-tracker": "0.67.4",
|
|
34
|
+
"@searchspring/snap-url-manager": "0.67.4"
|
|
35
35
|
},
|
|
36
36
|
"sideEffects": false,
|
|
37
37
|
"files": [
|
|
38
38
|
"dist/**/*"
|
|
39
39
|
],
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "d633f577c8635101e322d589ba83cf45c4719bab"
|
|
41
41
|
}
|