@searchspring/snap-controller 0.20.4 → 0.20.5
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/README.md +10 -0
- package/dist/cjs/Abstract/AbstractController.d.ts +3 -2
- package/dist/cjs/Abstract/AbstractController.d.ts.map +1 -1
- package/dist/cjs/Abstract/AbstractController.js +3 -1
- package/dist/cjs/Autocomplete/AutocompleteController.d.ts +3 -2
- package/dist/cjs/Autocomplete/AutocompleteController.d.ts.map +1 -1
- package/dist/cjs/Autocomplete/AutocompleteController.js +9 -9
- package/dist/cjs/Finder/FinderController.d.ts +2 -2
- package/dist/cjs/Finder/FinderController.d.ts.map +1 -1
- package/dist/cjs/Finder/FinderController.js +2 -2
- package/dist/cjs/Recommendation/RecommendationController.d.ts +2 -2
- package/dist/cjs/Recommendation/RecommendationController.d.ts.map +1 -1
- package/dist/cjs/Recommendation/RecommendationController.js +2 -2
- package/dist/cjs/Search/SearchController.d.ts +2 -2
- package/dist/cjs/Search/SearchController.d.ts.map +1 -1
- package/dist/cjs/Search/SearchController.js +2 -2
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/types.d.ts +9 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/Abstract/AbstractController.d.ts +3 -2
- package/dist/esm/Abstract/AbstractController.d.ts.map +1 -1
- package/dist/esm/Abstract/AbstractController.js +2 -1
- package/dist/esm/Autocomplete/AutocompleteController.d.ts +3 -2
- package/dist/esm/Autocomplete/AutocompleteController.d.ts.map +1 -1
- package/dist/esm/Autocomplete/AutocompleteController.js +3 -3
- package/dist/esm/Finder/FinderController.d.ts +2 -2
- package/dist/esm/Finder/FinderController.d.ts.map +1 -1
- package/dist/esm/Finder/FinderController.js +2 -2
- package/dist/esm/Recommendation/RecommendationController.d.ts +2 -2
- package/dist/esm/Recommendation/RecommendationController.d.ts.map +1 -1
- package/dist/esm/Recommendation/RecommendationController.js +2 -2
- package/dist/esm/Search/SearchController.d.ts +2 -2
- package/dist/esm/Search/SearchController.d.ts.map +1 -1
- package/dist/esm/Search/SearchController.js +2 -2
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/types.d.ts +9 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -89,6 +89,16 @@ Controllers may need to know how long a certain event took, the `profiler` servi
|
|
|
89
89
|
### logger
|
|
90
90
|
The `logger` service provides logging functionality to a controller. Each controller logs when errors in middleware and when controller events occur. The logger is responsible for sending this information to the developer console. In addition the logger may provide additional emoji or colors to use. This service is exposed as `controller.log`.
|
|
91
91
|
|
|
92
|
+
|
|
93
|
+
## Context
|
|
94
|
+
Each Controller can optionally take a 3rd parameter for `Context`. This is to allow each individual controller to have its own individual context if so desired.
|
|
95
|
+
|
|
96
|
+
The context is exposed as `controller.context`
|
|
97
|
+
```typescript
|
|
98
|
+
controller.context;
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
|
|
92
102
|
## Initialization
|
|
93
103
|
Invoking the `init` method is required to subscribe to changes that occur in the UrlManager. It also fires the `init` event which executes attached middleware. This can be fired manually as needed; if it was not manually fired it will happen automatically on the first call to the controller `search` method.
|
|
94
104
|
|
|
@@ -7,7 +7,7 @@ import type { Profiler } from '@searchspring/snap-profiler';
|
|
|
7
7
|
import type { Logger } from '@searchspring/snap-logger';
|
|
8
8
|
import type { Tracker } from '@searchspring/snap-tracker';
|
|
9
9
|
import type { Target, OnTarget } from '@searchspring/snap-toolbox';
|
|
10
|
-
import type { ControllerServices, ControllerConfig, Attachments } from '../types';
|
|
10
|
+
import type { ControllerServices, ControllerConfig, Attachments, ContextVariables } from '../types';
|
|
11
11
|
export declare abstract class AbstractController {
|
|
12
12
|
id: string;
|
|
13
13
|
type: string;
|
|
@@ -19,13 +19,14 @@ export declare abstract class AbstractController {
|
|
|
19
19
|
profiler: Profiler;
|
|
20
20
|
log: Logger;
|
|
21
21
|
tracker: Tracker;
|
|
22
|
+
context: ContextVariables;
|
|
22
23
|
targeters: {
|
|
23
24
|
[key: string]: DomTargeter;
|
|
24
25
|
};
|
|
25
26
|
private _initialized;
|
|
26
27
|
private _environment;
|
|
27
28
|
get initialized(): boolean;
|
|
28
|
-
constructor(config: ControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices);
|
|
29
|
+
constructor(config: ControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
29
30
|
createTargeter(target: Target, onTarget: OnTarget, document?: Document): DomTargeter;
|
|
30
31
|
addTargeter(target: DomTargeter): DomTargeter;
|
|
31
32
|
set environment(env: LogMode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractController.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAgB,MAAM,4BAA4B,CAAC;AAGvE,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,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"AbstractController.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAgB,MAAM,4BAA4B,CAAC;AAGvE,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,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGpG,8BAAsB,kBAAkB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,SAAc;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,MAAC;IACP,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,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAsB;IAE1C,IAAI,WAAW,IAAI,OAAO,CAEzB;gBAGA,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;IA2ExB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW;IAIpF,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW;IASpD,IAAW,WAAW,CAAC,GAAG,EAAE,OAAO,EAKlC;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAEY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C3B,QAAQ,IAAI,IAAI;aAMP,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1B,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,OAAA,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7G,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"}
|
|
@@ -50,8 +50,9 @@ var snap_logger_1 = require("@searchspring/snap-logger");
|
|
|
50
50
|
var snap_toolbox_1 = require("@searchspring/snap-toolbox");
|
|
51
51
|
var SS_DEV_COOKIE = 'ssDev';
|
|
52
52
|
var AbstractController = /** @class */ (function () {
|
|
53
|
-
function AbstractController(config, _a) {
|
|
53
|
+
function AbstractController(config, _a, context) {
|
|
54
54
|
var client = _a.client, store = _a.store, urlManager = _a.urlManager, eventManager = _a.eventManager, profiler = _a.profiler, logger = _a.logger, tracker = _a.tracker;
|
|
55
|
+
if (context === void 0) { context = {}; }
|
|
55
56
|
var _b, _c, _d;
|
|
56
57
|
this.type = 'abstract';
|
|
57
58
|
this.targeters = {};
|
|
@@ -102,6 +103,7 @@ var AbstractController = /** @class */ (function () {
|
|
|
102
103
|
this.profiler = profiler;
|
|
103
104
|
this.log = logger;
|
|
104
105
|
this.tracker = tracker;
|
|
106
|
+
this.context = context;
|
|
105
107
|
// configure the logger
|
|
106
108
|
this.log.setNamespace(this.config.id);
|
|
107
109
|
// set namespaces
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { StorageStore } from '@searchspring/snap-store-mobx';
|
|
2
2
|
import { AbstractController } from '../Abstract/AbstractController';
|
|
3
3
|
import type { AutocompleteStore } from '@searchspring/snap-store-mobx';
|
|
4
|
-
import type { AutocompleteControllerConfig, ControllerServices } from '../types';
|
|
4
|
+
import type { AutocompleteControllerConfig, ControllerServices, ContextVariables } from '../types';
|
|
5
5
|
import type { AutocompleteRequestModel } from '@searchspring/snapi-types';
|
|
6
|
+
export declare const INPUT_DELAY = 200;
|
|
6
7
|
declare type AutocompleteTrackMethods = {
|
|
7
8
|
product: {
|
|
8
9
|
click: (e: any, result: any) => void;
|
|
@@ -13,7 +14,7 @@ export declare class AutocompleteController extends AbstractController {
|
|
|
13
14
|
store: AutocompleteStore;
|
|
14
15
|
config: AutocompleteControllerConfig;
|
|
15
16
|
storage: StorageStore;
|
|
16
|
-
constructor(config: AutocompleteControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices);
|
|
17
|
+
constructor(config: AutocompleteControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
17
18
|
track: AutocompleteTrackMethods;
|
|
18
19
|
get params(): AutocompleteRequestModel;
|
|
19
20
|
setFocused(inputElement?: HTMLInputElement): Promise<void>;
|
|
@@ -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;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EACX,4BAA4B,EAI5B,kBAAkB,EAElB,gBAAgB,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AAoB/B,aAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAA,EAAE,MAAM,KAAA,KAAK,IAAI,CAAC;KAC3B,CAAC;CACF,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,SAAkB;IACtB,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACrC,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;IAmD3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA+BrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,KAAK,IAAI,IAAI;IASb,QAAQ;;0BAEc,aAAa,KAAG,QAAQ,IAAI,CAAC;wBA6CrC,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;oCAQL,QAAQ,IAAI,CAAC;uBAwCzB,aAAa,KAAG,IAAI;;;;uBA0CpB,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAYR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgE3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAsBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6G9B;CACF"}
|
|
@@ -65,14 +65,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
65
65
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
66
66
|
};
|
|
67
67
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
68
|
-
exports.AutocompleteController = void 0;
|
|
68
|
+
exports.AutocompleteController = exports.INPUT_DELAY = void 0;
|
|
69
69
|
var deepmerge_1 = __importDefault(require("deepmerge"));
|
|
70
70
|
var snap_store_mobx_1 = require("@searchspring/snap-store-mobx");
|
|
71
71
|
var snap_toolbox_1 = require("@searchspring/snap-toolbox");
|
|
72
72
|
var AbstractController_1 = require("../Abstract/AbstractController");
|
|
73
73
|
var getParams_1 = require("../utils/getParams");
|
|
74
74
|
var INPUT_ATTRIBUTE = 'ss-autocomplete-input';
|
|
75
|
-
|
|
75
|
+
exports.INPUT_DELAY = 200;
|
|
76
76
|
var KEY_ENTER = 13;
|
|
77
77
|
var KEY_ESCAPE = 27;
|
|
78
78
|
var PARAM_ORIGINAL_QUERY = 'oq';
|
|
@@ -92,9 +92,9 @@ var defaultConfig = {
|
|
|
92
92
|
};
|
|
93
93
|
var AutocompleteController = /** @class */ (function (_super) {
|
|
94
94
|
__extends(AutocompleteController, _super);
|
|
95
|
-
function AutocompleteController(config, _a) {
|
|
95
|
+
function AutocompleteController(config, _a, context) {
|
|
96
96
|
var client = _a.client, store = _a.store, urlManager = _a.urlManager, eventManager = _a.eventManager, profiler = _a.profiler, logger = _a.logger, tracker = _a.tracker;
|
|
97
|
-
var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }) || this;
|
|
97
|
+
var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }, context) || this;
|
|
98
98
|
_this.type = 'autocomplete';
|
|
99
99
|
_this.track = {
|
|
100
100
|
// TODO: add in future when autocomplete supports result click tracking
|
|
@@ -118,7 +118,7 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
118
118
|
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*/, 5];
|
|
119
119
|
// wait until loading is complete before submission
|
|
120
120
|
// TODO make this better
|
|
121
|
-
return [4 /*yield*/, timeout(INPUT_DELAY + 1)];
|
|
121
|
+
return [4 /*yield*/, timeout(exports.INPUT_DELAY + 1)];
|
|
122
122
|
case 1:
|
|
123
123
|
// wait until loading is complete before submission
|
|
124
124
|
// TODO make this better
|
|
@@ -126,7 +126,7 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
126
126
|
_d.label = 2;
|
|
127
127
|
case 2:
|
|
128
128
|
if (!this.store.loading) return [3 /*break*/, 4];
|
|
129
|
-
return [4 /*yield*/, timeout(INPUT_DELAY)];
|
|
129
|
+
return [4 /*yield*/, timeout(exports.INPUT_DELAY)];
|
|
130
130
|
case 3:
|
|
131
131
|
_d.sent();
|
|
132
132
|
return [3 /*break*/, 2];
|
|
@@ -194,7 +194,7 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
194
194
|
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*/, 5];
|
|
195
195
|
// wait until loading is complete before submission
|
|
196
196
|
// TODO make this better
|
|
197
|
-
return [4 /*yield*/, timeout(INPUT_DELAY + 1)];
|
|
197
|
+
return [4 /*yield*/, timeout(exports.INPUT_DELAY + 1)];
|
|
198
198
|
case 1:
|
|
199
199
|
// wait until loading is complete before submission
|
|
200
200
|
// TODO make this better
|
|
@@ -202,7 +202,7 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
202
202
|
_d.label = 2;
|
|
203
203
|
case 2:
|
|
204
204
|
if (!this.store.loading) return [3 /*break*/, 4];
|
|
205
|
-
return [4 /*yield*/, timeout(INPUT_DELAY)];
|
|
205
|
+
return [4 /*yield*/, timeout(exports.INPUT_DELAY)];
|
|
206
206
|
case 3:
|
|
207
207
|
_d.sent();
|
|
208
208
|
return [3 /*break*/, 2];
|
|
@@ -269,7 +269,7 @@ var AutocompleteController = /** @class */ (function (_super) {
|
|
|
269
269
|
_this.store.state.locks.terms.unlock();
|
|
270
270
|
_this.store.state.locks.facets.unlock();
|
|
271
271
|
_this.urlManager.set({ query: _this.store.state.input }).go();
|
|
272
|
-
}, INPUT_DELAY);
|
|
272
|
+
}, exports.INPUT_DELAY);
|
|
273
273
|
}
|
|
274
274
|
},
|
|
275
275
|
timeoutDelay: undefined,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AbstractController } from '../Abstract/AbstractController';
|
|
2
2
|
import type { FinderStore } from '@searchspring/snap-store-mobx';
|
|
3
|
-
import type { FinderControllerConfig, ControllerServices } from '../types';
|
|
3
|
+
import type { FinderControllerConfig, ControllerServices, ContextVariables } from '../types';
|
|
4
4
|
export declare class FinderController extends AbstractController {
|
|
5
5
|
type: string;
|
|
6
6
|
store: FinderStore;
|
|
7
7
|
config: FinderControllerConfig;
|
|
8
|
-
constructor(config: FinderControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices);
|
|
8
|
+
constructor(config: FinderControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
9
9
|
get params(): Record<string, any>;
|
|
10
10
|
find: () => void;
|
|
11
11
|
reset: () => void;
|
|
@@ -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,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAmC,kBAAkB,EAAa,MAAM,UAAU,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,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAmC,kBAAkB,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAQzI,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,SAAY;IAChB,KAAK,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;gBAG9B,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;IAqC3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAUhC;IAED,IAAI,QAAO,IAAI,CAEb;IAEF,KAAK,QAAO,IAAI,CAMd;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6G9B;CACF"}
|
|
@@ -77,9 +77,9 @@ var defaultConfig = {
|
|
|
77
77
|
};
|
|
78
78
|
var FinderController = /** @class */ (function (_super) {
|
|
79
79
|
__extends(FinderController, _super);
|
|
80
|
-
function FinderController(config, _a) {
|
|
80
|
+
function FinderController(config, _a, context) {
|
|
81
81
|
var client = _a.client, store = _a.store, urlManager = _a.urlManager, eventManager = _a.eventManager, profiler = _a.profiler, logger = _a.logger, tracker = _a.tracker;
|
|
82
|
-
var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }) || this;
|
|
82
|
+
var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }, context) || this;
|
|
83
83
|
_this.type = 'finder';
|
|
84
84
|
_this.find = function () {
|
|
85
85
|
window.location.href = _this.urlManager.href;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AbstractController } from '../Abstract/AbstractController';
|
|
2
2
|
import type { BeaconEvent } from '@searchspring/snap-tracker';
|
|
3
3
|
import type { RecommendationStore } from '@searchspring/snap-store-mobx';
|
|
4
|
-
import type { RecommendationControllerConfig, ControllerServices } from '../types';
|
|
4
|
+
import type { RecommendationControllerConfig, ControllerServices, ContextVariables } from '../types';
|
|
5
5
|
declare type RecommendationTrackMethods = {
|
|
6
6
|
product: {
|
|
7
7
|
click: (e: any, result: any) => BeaconEvent;
|
|
@@ -22,7 +22,7 @@ export declare class RecommendationController extends AbstractController {
|
|
|
22
22
|
render: any;
|
|
23
23
|
product: {};
|
|
24
24
|
};
|
|
25
|
-
constructor(config: RecommendationControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices);
|
|
25
|
+
constructor(config: RecommendationControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
26
26
|
track: RecommendationTrackMethods;
|
|
27
27
|
get params(): Record<string, any>;
|
|
28
28
|
search: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAa,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEhJ,aAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAA,EAAE,MAAM,KAAA,KAAK,WAAW,CAAC;QAClC,MAAM,EAAE,CAAC,MAAM,KAAA,KAAK,WAAW,CAAC;QAChC,UAAU,EAAE,CAAC,MAAM,KAAA,KAAK,WAAW,CAAC;KACpC,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,KAAA,KAAK,WAAW,CAAC;IAC1B,UAAU,EAAE,MAAM,WAAW,CAAC;IAC9B,MAAM,EAAE,MAAM,WAAW,CAAC;CAC1B,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,SAAoB;IACxB,KAAK,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,8BAA8B,CAAC;IACvC,MAAM;;;;;MAKJ;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,CAoK/B;IAEF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAyBhC;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAqG9B;CACF"}
|
|
@@ -80,9 +80,9 @@ var defaultConfig = {
|
|
|
80
80
|
};
|
|
81
81
|
var RecommendationController = /** @class */ (function (_super) {
|
|
82
82
|
__extends(RecommendationController, _super);
|
|
83
|
-
function RecommendationController(config, _a) {
|
|
83
|
+
function RecommendationController(config, _a, context) {
|
|
84
84
|
var client = _a.client, store = _a.store, urlManager = _a.urlManager, eventManager = _a.eventManager, profiler = _a.profiler, logger = _a.logger, tracker = _a.tracker;
|
|
85
|
-
var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }) || this;
|
|
85
|
+
var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }, context) || this;
|
|
86
86
|
_this.type = 'recommendation';
|
|
87
87
|
_this.events = {
|
|
88
88
|
click: null,
|
|
@@ -2,7 +2,7 @@ import { AbstractController } from '../Abstract/AbstractController';
|
|
|
2
2
|
import { StorageStore } from '@searchspring/snap-store-mobx';
|
|
3
3
|
import type { BeaconEvent } from '@searchspring/snap-tracker';
|
|
4
4
|
import type { SearchStore } from '@searchspring/snap-store-mobx';
|
|
5
|
-
import type { SearchControllerConfig, ControllerServices } from '../types';
|
|
5
|
+
import type { SearchControllerConfig, ControllerServices, ContextVariables } from '../types';
|
|
6
6
|
import type { SearchRequestModel } from '@searchspring/snapi-types';
|
|
7
7
|
declare type SearchTrackMethods = {
|
|
8
8
|
product: {
|
|
@@ -14,7 +14,7 @@ export declare class SearchController extends AbstractController {
|
|
|
14
14
|
store: SearchStore;
|
|
15
15
|
config: SearchControllerConfig;
|
|
16
16
|
storage: StorageStore;
|
|
17
|
-
constructor(config: SearchControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices);
|
|
17
|
+
constructor(config: SearchControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
18
18
|
track: SearchTrackMethods;
|
|
19
19
|
get params(): SearchRequestModel;
|
|
20
20
|
search: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAGrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAGrF,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,EAElB,gBAAgB,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,kBAAkB,EAAgD,MAAM,2BAA2B,CAAC;AAmBlH,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAA,EAAE,MAAM,KAAA,KAAK,WAAW,CAAC;KAClC,CAAC;CACF,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,SAAY;IAChB,KAAK,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,YAAY,CAAC;gBAGrB,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;IAkF3B,KAAK,EAAE,kBAAkB,CA0BvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAsC/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuJ9B;CACF"}
|
|
@@ -96,9 +96,9 @@ var defaultConfig = {
|
|
|
96
96
|
};
|
|
97
97
|
var SearchController = /** @class */ (function (_super) {
|
|
98
98
|
__extends(SearchController, _super);
|
|
99
|
-
function SearchController(config, _a) {
|
|
99
|
+
function SearchController(config, _a, context) {
|
|
100
100
|
var client = _a.client, store = _a.store, urlManager = _a.urlManager, eventManager = _a.eventManager, profiler = _a.profiler, logger = _a.logger, tracker = _a.tracker;
|
|
101
|
-
var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }) || this;
|
|
101
|
+
var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }, context) || this;
|
|
102
102
|
_this.type = 'search';
|
|
103
103
|
_this.track = {
|
|
104
104
|
product: {
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { FinderController } from './Finder/FinderController';
|
|
2
2
|
export { SearchController } from './Search/SearchController';
|
|
3
|
-
export { AutocompleteController } from './Autocomplete/AutocompleteController';
|
|
3
|
+
export { AutocompleteController, INPUT_DELAY } from './Autocomplete/AutocompleteController';
|
|
4
4
|
export { RecommendationController } from './Recommendation/RecommendationController';
|
|
5
5
|
export { AbstractController } from './Abstract/AbstractController';
|
|
6
6
|
export * from './types';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,cAAc,SAAS,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -10,13 +10,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.AbstractController = exports.RecommendationController = exports.AutocompleteController = exports.SearchController = exports.FinderController = void 0;
|
|
13
|
+
exports.AbstractController = exports.RecommendationController = exports.INPUT_DELAY = exports.AutocompleteController = exports.SearchController = exports.FinderController = void 0;
|
|
14
14
|
var FinderController_1 = require("./Finder/FinderController");
|
|
15
15
|
Object.defineProperty(exports, "FinderController", { enumerable: true, get: function () { return FinderController_1.FinderController; } });
|
|
16
16
|
var SearchController_1 = require("./Search/SearchController");
|
|
17
17
|
Object.defineProperty(exports, "SearchController", { enumerable: true, get: function () { return SearchController_1.SearchController; } });
|
|
18
18
|
var AutocompleteController_1 = require("./Autocomplete/AutocompleteController");
|
|
19
19
|
Object.defineProperty(exports, "AutocompleteController", { enumerable: true, get: function () { return AutocompleteController_1.AutocompleteController; } });
|
|
20
|
+
Object.defineProperty(exports, "INPUT_DELAY", { enumerable: true, get: function () { return AutocompleteController_1.INPUT_DELAY; } });
|
|
20
21
|
var RecommendationController_1 = require("./Recommendation/RecommendationController");
|
|
21
22
|
Object.defineProperty(exports, "RecommendationController", { enumerable: true, get: function () { return RecommendationController_1.RecommendationController; } });
|
|
22
23
|
var AbstractController_1 = require("./Abstract/AbstractController");
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { AbstractController } from './Abstract/AbstractController';
|
|
|
2
2
|
import type { EventManager, Middleware, Next } from '@searchspring/snap-event-manager';
|
|
3
3
|
import type { Client } from '@searchspring/snap-client';
|
|
4
4
|
import type { AbstractStore, StoreConfig, SearchStoreConfig, FinderStoreConfig, AutocompleteStoreConfig, RecommendationStoreConfig } from '@searchspring/snap-store-mobx';
|
|
5
|
-
import type { Tracker } from '@searchspring/snap-tracker';
|
|
5
|
+
import type { Tracker, ProductViewEvent } from '@searchspring/snap-tracker';
|
|
6
6
|
import type { Profiler } from '@searchspring/snap-profiler';
|
|
7
7
|
import type { UrlManager } from '@searchspring/snap-url-manager';
|
|
8
8
|
import type { Logger } from '@searchspring/snap-logger';
|
|
@@ -43,6 +43,14 @@ export declare type Attachments = {
|
|
|
43
43
|
plugins?: PluginGrouping[];
|
|
44
44
|
[any: string]: unknown;
|
|
45
45
|
};
|
|
46
|
+
export declare type ContextVariables = {
|
|
47
|
+
shopper?: {
|
|
48
|
+
id: string;
|
|
49
|
+
cart?: ProductViewEvent[];
|
|
50
|
+
[variable: string]: any;
|
|
51
|
+
};
|
|
52
|
+
[variable: string]: any;
|
|
53
|
+
};
|
|
46
54
|
export declare type ControllerConfig = StoreConfig & Attachments;
|
|
47
55
|
export declare type SearchControllerConfig = ControllerConfig & SearchStoreConfig;
|
|
48
56
|
export declare 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":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import type { Profiler } from '@searchspring/snap-profiler';
|
|
|
7
7
|
import type { Logger } from '@searchspring/snap-logger';
|
|
8
8
|
import type { Tracker } from '@searchspring/snap-tracker';
|
|
9
9
|
import type { Target, OnTarget } from '@searchspring/snap-toolbox';
|
|
10
|
-
import type { ControllerServices, ControllerConfig, Attachments } from '../types';
|
|
10
|
+
import type { ControllerServices, ControllerConfig, Attachments, ContextVariables } from '../types';
|
|
11
11
|
export declare abstract class AbstractController {
|
|
12
12
|
id: string;
|
|
13
13
|
type: string;
|
|
@@ -19,13 +19,14 @@ export declare abstract class AbstractController {
|
|
|
19
19
|
profiler: Profiler;
|
|
20
20
|
log: Logger;
|
|
21
21
|
tracker: Tracker;
|
|
22
|
+
context: ContextVariables;
|
|
22
23
|
targeters: {
|
|
23
24
|
[key: string]: DomTargeter;
|
|
24
25
|
};
|
|
25
26
|
private _initialized;
|
|
26
27
|
private _environment;
|
|
27
28
|
get initialized(): boolean;
|
|
28
|
-
constructor(config: ControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices);
|
|
29
|
+
constructor(config: ControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
29
30
|
createTargeter(target: Target, onTarget: OnTarget, document?: Document): DomTargeter;
|
|
30
31
|
addTargeter(target: DomTargeter): DomTargeter;
|
|
31
32
|
set environment(env: LogMode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractController.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAgB,MAAM,4BAA4B,CAAC;AAGvE,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,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"AbstractController.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAgB,MAAM,4BAA4B,CAAC;AAGvE,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,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGpG,8BAAsB,kBAAkB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,SAAc;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,MAAC;IACP,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,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAsB;IAE1C,IAAI,WAAW,IAAI,OAAO,CAEzB;gBAGA,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;IA2ExB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW;IAIpF,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW;IASpD,IAAW,WAAW,CAAC,GAAG,EAAE,OAAO,EAKlC;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAEY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C3B,QAAQ,IAAI,IAAI;aAMP,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1B,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,OAAA,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7G,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"}
|
|
@@ -2,7 +2,7 @@ import { LogMode } from '@searchspring/snap-logger';
|
|
|
2
2
|
import { DomTargeter, cookies, url } from '@searchspring/snap-toolbox';
|
|
3
3
|
const SS_DEV_COOKIE = 'ssDev';
|
|
4
4
|
export class AbstractController {
|
|
5
|
-
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }) {
|
|
5
|
+
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context = {}) {
|
|
6
6
|
this.type = 'abstract';
|
|
7
7
|
this.targeters = {};
|
|
8
8
|
this._initialized = false;
|
|
@@ -52,6 +52,7 @@ export class AbstractController {
|
|
|
52
52
|
this.profiler = profiler;
|
|
53
53
|
this.log = logger;
|
|
54
54
|
this.tracker = tracker;
|
|
55
|
+
this.context = context;
|
|
55
56
|
// configure the logger
|
|
56
57
|
this.log.setNamespace(this.config.id);
|
|
57
58
|
// set namespaces
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { StorageStore } from '@searchspring/snap-store-mobx';
|
|
2
2
|
import { AbstractController } from '../Abstract/AbstractController';
|
|
3
3
|
import type { AutocompleteStore } from '@searchspring/snap-store-mobx';
|
|
4
|
-
import type { AutocompleteControllerConfig, ControllerServices } from '../types';
|
|
4
|
+
import type { AutocompleteControllerConfig, ControllerServices, ContextVariables } from '../types';
|
|
5
5
|
import type { AutocompleteRequestModel } from '@searchspring/snapi-types';
|
|
6
|
+
export declare const INPUT_DELAY = 200;
|
|
6
7
|
declare type AutocompleteTrackMethods = {
|
|
7
8
|
product: {
|
|
8
9
|
click: (e: any, result: any) => void;
|
|
@@ -13,7 +14,7 @@ export declare class AutocompleteController extends AbstractController {
|
|
|
13
14
|
store: AutocompleteStore;
|
|
14
15
|
config: AutocompleteControllerConfig;
|
|
15
16
|
storage: StorageStore;
|
|
16
|
-
constructor(config: AutocompleteControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices);
|
|
17
|
+
constructor(config: AutocompleteControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
17
18
|
track: AutocompleteTrackMethods;
|
|
18
19
|
get params(): AutocompleteRequestModel;
|
|
19
20
|
setFocused(inputElement?: HTMLInputElement): Promise<void>;
|
|
@@ -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;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EACX,4BAA4B,EAI5B,kBAAkB,EAElB,gBAAgB,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AAoB/B,aAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAA,EAAE,MAAM,KAAA,KAAK,IAAI,CAAC;KAC3B,CAAC;CACF,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,SAAkB;IACtB,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACrC,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;IAmD3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA+BrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,KAAK,IAAI,IAAI;IASb,QAAQ;;0BAEc,aAAa,KAAG,QAAQ,IAAI,CAAC;wBA6CrC,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;oCAQL,QAAQ,IAAI,CAAC;uBAwCzB,aAAa,KAAG,IAAI;;;;uBA0CpB,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAYR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgE3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAsBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6G9B;CACF"}
|
|
@@ -4,7 +4,7 @@ import { url } from '@searchspring/snap-toolbox';
|
|
|
4
4
|
import { AbstractController } from '../Abstract/AbstractController';
|
|
5
5
|
import { getSearchParams } from '../utils/getParams';
|
|
6
6
|
const INPUT_ATTRIBUTE = 'ss-autocomplete-input';
|
|
7
|
-
const INPUT_DELAY = 200;
|
|
7
|
+
export const INPUT_DELAY = 200;
|
|
8
8
|
const KEY_ENTER = 13;
|
|
9
9
|
const KEY_ESCAPE = 27;
|
|
10
10
|
const PARAM_ORIGINAL_QUERY = 'oq';
|
|
@@ -23,8 +23,8 @@ const defaultConfig = {
|
|
|
23
23
|
},
|
|
24
24
|
};
|
|
25
25
|
export class AutocompleteController extends AbstractController {
|
|
26
|
-
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }) {
|
|
27
|
-
super(config, { client, store, urlManager, eventManager, profiler, logger, tracker });
|
|
26
|
+
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context) {
|
|
27
|
+
super(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context);
|
|
28
28
|
this.type = 'autocomplete';
|
|
29
29
|
this.track = {
|
|
30
30
|
// TODO: add in future when autocomplete supports result click tracking
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AbstractController } from '../Abstract/AbstractController';
|
|
2
2
|
import type { FinderStore } from '@searchspring/snap-store-mobx';
|
|
3
|
-
import type { FinderControllerConfig, ControllerServices } from '../types';
|
|
3
|
+
import type { FinderControllerConfig, ControllerServices, ContextVariables } from '../types';
|
|
4
4
|
export declare class FinderController extends AbstractController {
|
|
5
5
|
type: string;
|
|
6
6
|
store: FinderStore;
|
|
7
7
|
config: FinderControllerConfig;
|
|
8
|
-
constructor(config: FinderControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices);
|
|
8
|
+
constructor(config: FinderControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
9
9
|
get params(): Record<string, any>;
|
|
10
10
|
find: () => void;
|
|
11
11
|
reset: () => void;
|
|
@@ -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,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAmC,kBAAkB,EAAa,MAAM,UAAU,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,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAmC,kBAAkB,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAQzI,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,SAAY;IAChB,KAAK,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;gBAG9B,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;IAqC3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAUhC;IAED,IAAI,QAAO,IAAI,CAEb;IAEF,KAAK,QAAO,IAAI,CAMd;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6G9B;CACF"}
|
|
@@ -8,8 +8,8 @@ const defaultConfig = {
|
|
|
8
8
|
fields: [],
|
|
9
9
|
};
|
|
10
10
|
export class FinderController extends AbstractController {
|
|
11
|
-
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }) {
|
|
12
|
-
super(config, { client, store, urlManager, eventManager, profiler, logger, tracker });
|
|
11
|
+
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context) {
|
|
12
|
+
super(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context);
|
|
13
13
|
this.type = 'finder';
|
|
14
14
|
this.find = () => {
|
|
15
15
|
window.location.href = this.urlManager.href;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AbstractController } from '../Abstract/AbstractController';
|
|
2
2
|
import type { BeaconEvent } from '@searchspring/snap-tracker';
|
|
3
3
|
import type { RecommendationStore } from '@searchspring/snap-store-mobx';
|
|
4
|
-
import type { RecommendationControllerConfig, ControllerServices } from '../types';
|
|
4
|
+
import type { RecommendationControllerConfig, ControllerServices, ContextVariables } from '../types';
|
|
5
5
|
declare type RecommendationTrackMethods = {
|
|
6
6
|
product: {
|
|
7
7
|
click: (e: any, result: any) => BeaconEvent;
|
|
@@ -22,7 +22,7 @@ export declare class RecommendationController extends AbstractController {
|
|
|
22
22
|
render: any;
|
|
23
23
|
product: {};
|
|
24
24
|
};
|
|
25
|
-
constructor(config: RecommendationControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices);
|
|
25
|
+
constructor(config: RecommendationControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
26
26
|
track: RecommendationTrackMethods;
|
|
27
27
|
get params(): Record<string, any>;
|
|
28
28
|
search: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAa,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEhJ,aAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAA,EAAE,MAAM,KAAA,KAAK,WAAW,CAAC;QAClC,MAAM,EAAE,CAAC,MAAM,KAAA,KAAK,WAAW,CAAC;QAChC,UAAU,EAAE,CAAC,MAAM,KAAA,KAAK,WAAW,CAAC;KACpC,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,KAAA,KAAK,WAAW,CAAC;IAC1B,UAAU,EAAE,MAAM,WAAW,CAAC;IAC9B,MAAM,EAAE,MAAM,WAAW,CAAC;CAC1B,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,SAAoB;IACxB,KAAK,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,8BAA8B,CAAC;IACvC,MAAM;;;;;MAKJ;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,CAoK/B;IAEF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAyBhC;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAqG9B;CACF"}
|
|
@@ -11,8 +11,8 @@ const defaultConfig = {
|
|
|
11
11
|
globals: {},
|
|
12
12
|
};
|
|
13
13
|
export class RecommendationController extends AbstractController {
|
|
14
|
-
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }) {
|
|
15
|
-
super(config, { client, store, urlManager, eventManager, profiler, logger, tracker });
|
|
14
|
+
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context) {
|
|
15
|
+
super(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context);
|
|
16
16
|
this.type = 'recommendation';
|
|
17
17
|
this.events = {
|
|
18
18
|
click: null,
|
|
@@ -2,7 +2,7 @@ import { AbstractController } from '../Abstract/AbstractController';
|
|
|
2
2
|
import { StorageStore } from '@searchspring/snap-store-mobx';
|
|
3
3
|
import type { BeaconEvent } from '@searchspring/snap-tracker';
|
|
4
4
|
import type { SearchStore } from '@searchspring/snap-store-mobx';
|
|
5
|
-
import type { SearchControllerConfig, ControllerServices } from '../types';
|
|
5
|
+
import type { SearchControllerConfig, ControllerServices, ContextVariables } from '../types';
|
|
6
6
|
import type { SearchRequestModel } from '@searchspring/snapi-types';
|
|
7
7
|
declare type SearchTrackMethods = {
|
|
8
8
|
product: {
|
|
@@ -14,7 +14,7 @@ export declare class SearchController extends AbstractController {
|
|
|
14
14
|
store: SearchStore;
|
|
15
15
|
config: SearchControllerConfig;
|
|
16
16
|
storage: StorageStore;
|
|
17
|
-
constructor(config: SearchControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices);
|
|
17
|
+
constructor(config: SearchControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
|
|
18
18
|
track: SearchTrackMethods;
|
|
19
19
|
get params(): SearchRequestModel;
|
|
20
20
|
search: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAGrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAGrF,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,EAElB,gBAAgB,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,kBAAkB,EAAgD,MAAM,2BAA2B,CAAC;AAmBlH,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAA,EAAE,MAAM,KAAA,KAAK,WAAW,CAAC;KAClC,CAAC;CACF,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,SAAY;IAChB,KAAK,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,YAAY,CAAC;gBAGrB,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;IAkF3B,KAAK,EAAE,kBAAkB,CA0BvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAsC/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuJ9B;CACF"}
|
|
@@ -18,8 +18,8 @@ const defaultConfig = {
|
|
|
18
18
|
},
|
|
19
19
|
};
|
|
20
20
|
export class SearchController extends AbstractController {
|
|
21
|
-
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }) {
|
|
22
|
-
super(config, { client, store, urlManager, eventManager, profiler, logger, tracker });
|
|
21
|
+
constructor(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context) {
|
|
22
|
+
super(config, { client, store, urlManager, eventManager, profiler, logger, tracker }, context);
|
|
23
23
|
this.type = 'search';
|
|
24
24
|
this.track = {
|
|
25
25
|
product: {
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { FinderController } from './Finder/FinderController';
|
|
2
2
|
export { SearchController } from './Search/SearchController';
|
|
3
|
-
export { AutocompleteController } from './Autocomplete/AutocompleteController';
|
|
3
|
+
export { AutocompleteController, INPUT_DELAY } from './Autocomplete/AutocompleteController';
|
|
4
4
|
export { RecommendationController } from './Recommendation/RecommendationController';
|
|
5
5
|
export { AbstractController } from './Abstract/AbstractController';
|
|
6
6
|
export * from './types';
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,cAAc,SAAS,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { FinderController } from './Finder/FinderController';
|
|
2
2
|
export { SearchController } from './Search/SearchController';
|
|
3
|
-
export { AutocompleteController } from './Autocomplete/AutocompleteController';
|
|
3
|
+
export { AutocompleteController, INPUT_DELAY } from './Autocomplete/AutocompleteController';
|
|
4
4
|
export { RecommendationController } from './Recommendation/RecommendationController';
|
|
5
5
|
export { AbstractController } from './Abstract/AbstractController';
|
|
6
6
|
export * from './types';
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { AbstractController } from './Abstract/AbstractController';
|
|
|
2
2
|
import type { EventManager, Middleware, Next } from '@searchspring/snap-event-manager';
|
|
3
3
|
import type { Client } from '@searchspring/snap-client';
|
|
4
4
|
import type { AbstractStore, StoreConfig, SearchStoreConfig, FinderStoreConfig, AutocompleteStoreConfig, RecommendationStoreConfig } from '@searchspring/snap-store-mobx';
|
|
5
|
-
import type { Tracker } from '@searchspring/snap-tracker';
|
|
5
|
+
import type { Tracker, ProductViewEvent } from '@searchspring/snap-tracker';
|
|
6
6
|
import type { Profiler } from '@searchspring/snap-profiler';
|
|
7
7
|
import type { UrlManager } from '@searchspring/snap-url-manager';
|
|
8
8
|
import type { Logger } from '@searchspring/snap-logger';
|
|
@@ -43,6 +43,14 @@ export declare type Attachments = {
|
|
|
43
43
|
plugins?: PluginGrouping[];
|
|
44
44
|
[any: string]: unknown;
|
|
45
45
|
};
|
|
46
|
+
export declare type ContextVariables = {
|
|
47
|
+
shopper?: {
|
|
48
|
+
id: string;
|
|
49
|
+
cart?: ProductViewEvent[];
|
|
50
|
+
[variable: string]: any;
|
|
51
|
+
};
|
|
52
|
+
[variable: string]: any;
|
|
53
|
+
};
|
|
46
54
|
export declare type ControllerConfig = StoreConfig & Attachments;
|
|
47
55
|
export declare type SearchControllerConfig = ControllerConfig & SearchStoreConfig;
|
|
48
56
|
export declare 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":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;
|
|
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.20.
|
|
3
|
+
"version": "0.20.5",
|
|
4
4
|
"description": "Snap Controllers",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -20,21 +20,21 @@
|
|
|
20
20
|
"test:watch": "jest --watch"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@searchspring/snap-toolbox": "^0.20.
|
|
23
|
+
"@searchspring/snap-toolbox": "^0.20.5",
|
|
24
24
|
"deepmerge": "^4.2.2"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@searchspring/snap-client": "^0.20.
|
|
28
|
-
"@searchspring/snap-event-manager": "^0.20.
|
|
29
|
-
"@searchspring/snap-logger": "^0.20.
|
|
30
|
-
"@searchspring/snap-profiler": "^0.20.
|
|
31
|
-
"@searchspring/snap-store-mobx": "^0.20.
|
|
32
|
-
"@searchspring/snap-tracker": "^0.20.
|
|
33
|
-
"@searchspring/snap-url-manager": "^0.20.
|
|
27
|
+
"@searchspring/snap-client": "^0.20.5",
|
|
28
|
+
"@searchspring/snap-event-manager": "^0.20.5",
|
|
29
|
+
"@searchspring/snap-logger": "^0.20.5",
|
|
30
|
+
"@searchspring/snap-profiler": "^0.20.5",
|
|
31
|
+
"@searchspring/snap-store-mobx": "^0.20.5",
|
|
32
|
+
"@searchspring/snap-tracker": "^0.20.5",
|
|
33
|
+
"@searchspring/snap-url-manager": "^0.20.5"
|
|
34
34
|
},
|
|
35
35
|
"sideEffects": false,
|
|
36
36
|
"files": [
|
|
37
37
|
"dist/**/*"
|
|
38
38
|
],
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "37807cdbe3906c03227d32023a119d0bf8892f84"
|
|
40
40
|
}
|