@searchspring/snap-store-mobx 0.54.0 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Autocomplete/AutocompleteStore.d.ts +2 -1
- package/dist/cjs/Autocomplete/AutocompleteStore.d.ts.map +1 -1
- package/dist/cjs/Autocomplete/AutocompleteStore.js +8 -7
- package/dist/cjs/Cart/CartStore.js +2 -2
- package/dist/cjs/Finder/FinderStore.d.ts +3 -2
- package/dist/cjs/Finder/FinderStore.d.ts.map +1 -1
- package/dist/cjs/Finder/FinderStore.js +5 -5
- package/dist/cjs/Meta/MetaStore.d.ts +15 -0
- package/dist/cjs/Meta/MetaStore.d.ts.map +1 -0
- package/dist/cjs/Meta/MetaStore.js +54 -0
- package/dist/cjs/Recommendation/RecommendationStore.d.ts +6 -1
- package/dist/cjs/Recommendation/RecommendationStore.d.ts.map +1 -1
- package/dist/cjs/Recommendation/RecommendationStore.js +4 -2
- package/dist/cjs/Search/SearchStore.d.ts +2 -1
- package/dist/cjs/Search/SearchStore.d.ts.map +1 -1
- package/dist/cjs/Search/SearchStore.js +8 -7
- package/dist/cjs/Search/Stores/SearchHistoryStore.js +1 -1
- package/dist/cjs/Search/Stores/SearchResultStore.d.ts +19 -9
- package/dist/cjs/Search/Stores/SearchResultStore.d.ts.map +1 -1
- package/dist/cjs/Search/Stores/SearchResultStore.js +180 -40
- package/dist/cjs/Search/Stores/index.d.ts +1 -1
- package/dist/cjs/Search/Stores/index.d.ts.map +1 -1
- package/dist/cjs/Search/Stores/index.js +2 -1
- package/dist/cjs/Storage/StorageStore.d.ts +5 -5
- package/dist/cjs/Storage/StorageStore.d.ts.map +1 -1
- package/dist/cjs/Storage/StorageStore.js +17 -17
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/types.d.ts +23 -8
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/Autocomplete/AutocompleteStore.d.ts +2 -1
- package/dist/esm/Autocomplete/AutocompleteStore.d.ts.map +1 -1
- package/dist/esm/Autocomplete/AutocompleteStore.js +8 -7
- package/dist/esm/Cart/CartStore.js +2 -2
- package/dist/esm/Finder/FinderStore.d.ts +3 -2
- package/dist/esm/Finder/FinderStore.d.ts.map +1 -1
- package/dist/esm/Finder/FinderStore.js +6 -6
- package/dist/esm/Meta/MetaStore.d.ts +15 -0
- package/dist/esm/Meta/MetaStore.d.ts.map +1 -0
- package/dist/esm/Meta/MetaStore.js +44 -0
- package/dist/esm/Recommendation/RecommendationStore.d.ts +6 -1
- package/dist/esm/Recommendation/RecommendationStore.d.ts.map +1 -1
- package/dist/esm/Recommendation/RecommendationStore.js +4 -2
- package/dist/esm/Search/SearchStore.d.ts +2 -1
- package/dist/esm/Search/SearchStore.d.ts.map +1 -1
- package/dist/esm/Search/SearchStore.js +8 -7
- package/dist/esm/Search/Stores/SearchHistoryStore.js +2 -2
- package/dist/esm/Search/Stores/SearchResultStore.d.ts +19 -9
- package/dist/esm/Search/Stores/SearchResultStore.d.ts.map +1 -1
- package/dist/esm/Search/Stores/SearchResultStore.js +159 -36
- package/dist/esm/Search/Stores/index.d.ts +1 -1
- package/dist/esm/Search/Stores/index.d.ts.map +1 -1
- package/dist/esm/Search/Stores/index.js +1 -1
- package/dist/esm/Storage/StorageStore.d.ts +5 -5
- package/dist/esm/Storage/StorageStore.d.ts.map +1 -1
- package/dist/esm/Storage/StorageStore.js +17 -17
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/types.d.ts +23 -8
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -6,9 +6,10 @@ import { AutocompleteStateStore, AutocompleteTermStore, AutocompleteQueryStore,
|
|
|
6
6
|
import type { AutocompleteResponseModel, MetaResponseModel } from '@searchspring/snapi-types';
|
|
7
7
|
import type { TrendingResponseModel } from '@searchspring/snap-client';
|
|
8
8
|
import type { AutocompleteStoreConfig, StoreServices } from '../types';
|
|
9
|
+
import { MetaStore } from '../Meta/MetaStore';
|
|
9
10
|
export declare class AutocompleteStore extends AbstractStore {
|
|
10
11
|
services: StoreServices;
|
|
11
|
-
meta:
|
|
12
|
+
meta: MetaStore;
|
|
12
13
|
merchandising: SearchMerchandisingStore;
|
|
13
14
|
search: AutocompleteQueryStore;
|
|
14
15
|
terms: AutocompleteTermStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteStore.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"AutocompleteStore.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,qBAAa,iBAAkB,SAAQ,aAAa;IAC5C,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAG,SAAS,CAAC;IACjB,aAAa,EAAG,wBAAwB,CAAC;IACzC,MAAM,EAAG,sBAAsB,CAAC;IAChC,KAAK,EAAG,qBAAqB,CAAC;IAC9B,MAAM,EAAG,sBAAsB,CAAC;IAChC,OAAO,EAAG,iBAAiB,CAAC;IAC5B,OAAO,EAAG,iBAAiB,CAAC;IAC5B,UAAU,EAAG,qBAAqB,CAAC;IACnC,OAAO,EAAG,kBAAkB,CAAC;IAC7B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,yBAAyB,CAAC;IACpC,OAAO,EAAE,wBAAwB,CAAC;gBAE7B,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,aAAa;IAiC7D,KAAK,IAAI,IAAI;IAMb,WAAW,IAAI,IAAI;IAgBnB,UAAU,IAAI,IAAI;IAMlB,gBAAgB,IAAI,IAAI;IAIxB,aAAa,IAAI,IAAI;IAIrB,YAAY,IAAI,IAAI;IAIpB,UAAU,CAAC,IAAI,EAAE,MAAM,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAUhE,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAWtD,MAAM,CAAC,IAAI,GAAE,yBAAyB,GAAG;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;KAAO,GAAG,IAAI;CAoExF"}
|
|
@@ -21,6 +21,7 @@ var AbstractStore_1 = require("../Abstract/AbstractStore");
|
|
|
21
21
|
var Stores_1 = require("../Search/Stores");
|
|
22
22
|
var StorageStore_1 = require("../Storage/StorageStore");
|
|
23
23
|
var Stores_2 = require("./Stores");
|
|
24
|
+
var MetaStore_1 = require("../Meta/MetaStore");
|
|
24
25
|
var AutocompleteStore = /** @class */ (function (_super) {
|
|
25
26
|
__extends(AutocompleteStore, _super);
|
|
26
27
|
function AutocompleteStore(config, services) {
|
|
@@ -105,8 +106,7 @@ var AutocompleteStore = /** @class */ (function (_super) {
|
|
|
105
106
|
if (!data)
|
|
106
107
|
return;
|
|
107
108
|
this.error = undefined;
|
|
108
|
-
this.
|
|
109
|
-
this.meta = data.meta || {};
|
|
109
|
+
this.meta = new MetaStore_1.MetaStore(data.meta);
|
|
110
110
|
// set the query to match the actual queried term and not the input query
|
|
111
111
|
if (data.search) {
|
|
112
112
|
this.state.url = this.services.urlManager = this.services.urlManager.set('query', data.search.query);
|
|
@@ -123,17 +123,18 @@ var AutocompleteStore = /** @class */ (function (_super) {
|
|
|
123
123
|
this.search = new Stores_2.AutocompleteQueryStore(this.services, data.autocomplete || {}, data.search || {}, this.config);
|
|
124
124
|
// only run if we want to update the facets (not locked)
|
|
125
125
|
if (!this.state.locks.facets.locked) {
|
|
126
|
-
this.facets = new Stores_2.AutocompleteFacetStore(this.config, this.services, this.storage, data.facets || [], data.pagination || {}, this.meta, this.state, data.merchandising || {});
|
|
126
|
+
this.facets = new Stores_2.AutocompleteFacetStore(this.config, this.services, this.storage, data.facets || [], data.pagination || {}, this.meta.data, this.state, data.merchandising || {});
|
|
127
127
|
}
|
|
128
|
-
this.filters = new Stores_1.SearchFilterStore(this.services, data.filters, this.meta);
|
|
129
|
-
this.results = new Stores_1.SearchResultStore(this.config, this.services, data.results || [], data.pagination, data.merchandising);
|
|
128
|
+
this.filters = new Stores_1.SearchFilterStore(this.services, data.filters, this.meta.data);
|
|
129
|
+
this.results = new Stores_1.SearchResultStore(this.config, this.services, this.meta.data, data.results || [], data.pagination, data.merchandising, this.loaded);
|
|
130
130
|
if ((this.results.length === 0 && !this.trending.filter(function (term) { return term.active; }).length) || ((_a = this.terms) === null || _a === void 0 ? void 0 : _a.filter(function (term) { return term.active; }).length)) {
|
|
131
131
|
// if a trending term was selected and then a subsequent search yields no results, reset trending terms to remove active state
|
|
132
132
|
// OR if any terms are active, also reset to ensure only a single term or trending term is active
|
|
133
133
|
this.resetTrending();
|
|
134
134
|
}
|
|
135
|
-
this.pagination = new Stores_1.SearchPaginationStore(this.config, this.services, data.pagination, this.meta);
|
|
136
|
-
this.sorting = new Stores_1.SearchSortingStore(this.services, data.sorting || [], data.search || {}, this.meta);
|
|
135
|
+
this.pagination = new Stores_1.SearchPaginationStore(this.config, this.services, data.pagination, this.meta.data);
|
|
136
|
+
this.sorting = new Stores_1.SearchSortingStore(this.services, data.sorting || [], data.search || {}, this.meta.data);
|
|
137
|
+
this.loaded = !!data.pagination;
|
|
137
138
|
};
|
|
138
139
|
return AutocompleteStore;
|
|
139
140
|
}(AbstractStore_1.AbstractStore));
|
|
@@ -47,7 +47,7 @@ var CartStore = /** @class */ (function () {
|
|
|
47
47
|
var price = 0;
|
|
48
48
|
this.items.forEach(function (item) {
|
|
49
49
|
var _a;
|
|
50
|
-
price += (((_a = item.display.mappings.core) === null || _a === void 0 ? void 0 : _a.price) || 0) * item.quantity;
|
|
50
|
+
price += +(((_a = item.display.mappings.core) === null || _a === void 0 ? void 0 : _a.price) || 0) * item.quantity;
|
|
51
51
|
});
|
|
52
52
|
return price;
|
|
53
53
|
},
|
|
@@ -59,7 +59,7 @@ var CartStore = /** @class */ (function () {
|
|
|
59
59
|
var price = 0;
|
|
60
60
|
this.items.forEach(function (item) {
|
|
61
61
|
var _a, _b;
|
|
62
|
-
price += (((_a = item.display.mappings.core) === null || _a === void 0 ? void 0 : _a.msrp) || ((_b = item.display.mappings.core) === null || _b === void 0 ? void 0 : _b.price) || 0) * item.quantity;
|
|
62
|
+
price += (+(((_a = item.display.mappings.core) === null || _a === void 0 ? void 0 : _a.msrp) || 0) || +(((_b = item.display.mappings.core) === null || _b === void 0 ? void 0 : _b.price) || 0) || 0) * item.quantity;
|
|
63
63
|
});
|
|
64
64
|
return price;
|
|
65
65
|
},
|
|
@@ -5,10 +5,11 @@ import { StorageStore } from '../Storage/StorageStore';
|
|
|
5
5
|
import { FinderSelectionStore } from './Stores';
|
|
6
6
|
import type { FinderStoreConfig, StoreServices, SelectedSelection, FinderStoreState } from '../types';
|
|
7
7
|
import { UrlManager } from '@searchspring/snap-url-manager';
|
|
8
|
+
import { MetaStore } from '../Meta/MetaStore';
|
|
8
9
|
export declare class FinderStore extends AbstractStore {
|
|
9
10
|
services: StoreServices;
|
|
10
11
|
config: FinderStoreConfig;
|
|
11
|
-
meta:
|
|
12
|
+
meta: MetaStore;
|
|
12
13
|
storage: StorageStore;
|
|
13
14
|
persistedStorage: StorageStore;
|
|
14
15
|
pagination: SearchPaginationStore;
|
|
@@ -20,7 +21,7 @@ export declare class FinderStore extends AbstractStore {
|
|
|
20
21
|
reset: () => void;
|
|
21
22
|
loadPersisted(): void;
|
|
22
23
|
update(data: SearchResponseModel & {
|
|
23
|
-
meta
|
|
24
|
+
meta?: MetaResponseModel;
|
|
24
25
|
}, selectedSelections?: SelectedSelection[]): void;
|
|
25
26
|
}
|
|
26
27
|
//# sourceMappingURL=FinderStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FinderStore.d.ts","sourceRoot":"","sources":["../../../src/Finder/FinderStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"FinderStore.d.ts","sourceRoot":"","sources":["../../../src/Finder/FinderStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,qBAAa,WAAY,SAAQ,aAAa;IACtC,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAG,iBAAiB,CAAC;IAC3B,IAAI,EAAG,SAAS,CAAC;IACjB,OAAO,EAAE,YAAY,CAAC;IACtB,gBAAgB,EAAG,YAAY,CAAC;IAChC,UAAU,EAAG,qBAAqB,CAAC;IACnC,UAAU,EAAG,oBAAoB,CAAC;IAClC,KAAK,EAAE,gBAAgB,CAE5B;gBAEU,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa;IA0BvD,UAAU,CAAC,IAAI,EAAE,MAAM,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAQhE,IAAI,EAAE,MAAM,IAAI,CAAY;IAE5B,KAAK,QAAO,IAAI,CAWrB;IAEK,aAAa,IAAI,IAAI;IAyBrB,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;KAAE,EAAE,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,GAAG,IAAI;CAiCvH"}
|
|
@@ -32,12 +32,12 @@ var AbstractStore_1 = require("../Abstract/AbstractStore");
|
|
|
32
32
|
var Stores_1 = require("../Search/Stores");
|
|
33
33
|
var StorageStore_1 = require("../Storage/StorageStore");
|
|
34
34
|
var Stores_2 = require("./Stores");
|
|
35
|
+
var MetaStore_1 = require("../Meta/MetaStore");
|
|
35
36
|
var FinderStore = /** @class */ (function (_super) {
|
|
36
37
|
__extends(FinderStore, _super);
|
|
37
38
|
function FinderStore(config, services) {
|
|
38
39
|
var _a, _b;
|
|
39
40
|
var _this = _super.call(this, config) || this;
|
|
40
|
-
_this.meta = {};
|
|
41
41
|
_this.state = {
|
|
42
42
|
persisted: false,
|
|
43
43
|
};
|
|
@@ -62,7 +62,7 @@ var FinderStore = /** @class */ (function (_super) {
|
|
|
62
62
|
_this.services = services;
|
|
63
63
|
if ((_b = config.persist) === null || _b === void 0 ? void 0 : _b.enabled) {
|
|
64
64
|
_this.persistedStorage = new StorageStore_1.StorageStore({
|
|
65
|
-
type:
|
|
65
|
+
type: 'local',
|
|
66
66
|
key: "ss-".concat(config.id, "-persisted"),
|
|
67
67
|
});
|
|
68
68
|
}
|
|
@@ -107,12 +107,12 @@ var FinderStore = /** @class */ (function (_super) {
|
|
|
107
107
|
var _this = this;
|
|
108
108
|
this.error = undefined;
|
|
109
109
|
this.loaded = !!data.pagination;
|
|
110
|
-
this.meta = data.meta;
|
|
111
|
-
this.pagination = new Stores_1.SearchPaginationStore(this.config, this.services, data.pagination, this.meta);
|
|
110
|
+
this.meta = new MetaStore_1.MetaStore(data.meta);
|
|
111
|
+
this.pagination = new Stores_1.SearchPaginationStore(this.config, this.services, data.pagination, this.meta.data);
|
|
112
112
|
this.selections = new Stores_2.FinderSelectionStore(this.config, this.services, {
|
|
113
113
|
state: this.state,
|
|
114
114
|
facets: data.facets || [],
|
|
115
|
-
meta: this.meta,
|
|
115
|
+
meta: this.meta.data,
|
|
116
116
|
loading: this.loading,
|
|
117
117
|
storage: this.storage,
|
|
118
118
|
selections: selectedSelections || [],
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { MetaResponseModel } from '@searchspring/snapi-types';
|
|
2
|
+
export declare class MetaStore {
|
|
3
|
+
data: MetaResponseModel;
|
|
4
|
+
badges: MetaBadges;
|
|
5
|
+
constructor(metaData?: MetaResponseModel);
|
|
6
|
+
}
|
|
7
|
+
declare class MetaBadges {
|
|
8
|
+
groups: Record<string, {
|
|
9
|
+
sections: string[];
|
|
10
|
+
grid: string[][];
|
|
11
|
+
}>;
|
|
12
|
+
constructor(metaData?: MetaResponseModel);
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=MetaStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetaStore.d.ts","sourceRoot":"","sources":["../../../src/Meta/MetaStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,qBAAa,SAAS;IACd,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;gBAEd,QAAQ,CAAC,EAAE,iBAAiB;CAIxC;AAED,cAAM,UAAU;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;KAAE,CAAC,CAAM;gBAEjE,QAAQ,CAAC,EAAE,iBAAiB;CA8BxC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetaStore = void 0;
|
|
4
|
+
var MetaStore = /** @class */ (function () {
|
|
5
|
+
function MetaStore(metaData) {
|
|
6
|
+
this.data = metaData !== null && metaData !== void 0 ? metaData : {};
|
|
7
|
+
this.badges = new MetaBadges(this.data);
|
|
8
|
+
}
|
|
9
|
+
return MetaStore;
|
|
10
|
+
}());
|
|
11
|
+
exports.MetaStore = MetaStore;
|
|
12
|
+
var MetaBadges = /** @class */ (function () {
|
|
13
|
+
function MetaBadges(metaData) {
|
|
14
|
+
var _this = this;
|
|
15
|
+
this.groups = {};
|
|
16
|
+
// 'overlay' group is created by default - could support additional groups via config in the future
|
|
17
|
+
var groups = { overlay: { sections: ['left', 'right'] } };
|
|
18
|
+
// process groups - create the grid for each group
|
|
19
|
+
Object.keys(groups).map(function (name) {
|
|
20
|
+
var group = groups[name];
|
|
21
|
+
var sections = group.sections.map(function (section) {
|
|
22
|
+
var _a, _b, _c;
|
|
23
|
+
return ({
|
|
24
|
+
areas: ((_c = (_b = (_a = metaData === null || metaData === void 0 ? void 0 : metaData.badges) === null || _a === void 0 ? void 0 : _a.locations) === null || _b === void 0 ? void 0 : _b[section]) === null || _c === void 0 ? void 0 : _c.map(function (area) { return area.tag; })) || [],
|
|
25
|
+
grid: [],
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
// find lcm of sections
|
|
29
|
+
var lcmSections = sections.map(function (section) { return section.areas.length; }).reduce(lcm);
|
|
30
|
+
sections.forEach(function (section) {
|
|
31
|
+
section.grid = Array.from({ length: lcmSections }).map(function (_, index) { return section.areas[Math.floor(index / (lcmSections / section.areas.length))]; });
|
|
32
|
+
});
|
|
33
|
+
// set the grid by creating rows of columns
|
|
34
|
+
var grid = Array.from({ length: lcmSections }).map(function (_, i) {
|
|
35
|
+
return sections.map(function (section) { return section.grid[i]; });
|
|
36
|
+
});
|
|
37
|
+
_this.groups[name] = {
|
|
38
|
+
sections: group.sections,
|
|
39
|
+
grid: grid,
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return MetaBadges;
|
|
44
|
+
}());
|
|
45
|
+
function gcd(a, b) {
|
|
46
|
+
if (!b) {
|
|
47
|
+
return a;
|
|
48
|
+
}
|
|
49
|
+
return gcd(b, a % b);
|
|
50
|
+
}
|
|
51
|
+
function lcm(a, b) {
|
|
52
|
+
var gcdValue = gcd(a, b);
|
|
53
|
+
return (a * b) / gcdValue;
|
|
54
|
+
}
|
|
@@ -4,14 +4,19 @@ import { CartStore } from '../Cart/CartStore';
|
|
|
4
4
|
import { RecommendationProfileStore } from './Stores';
|
|
5
5
|
import type { RecommendationStoreConfig, StoreServices } from '../types';
|
|
6
6
|
import type { RecommendCombinedResponseModel } from '@searchspring/snap-client';
|
|
7
|
+
import { MetaResponseModel } from '@searchspring/snapi-types';
|
|
8
|
+
import { MetaStore } from '../Meta/MetaStore';
|
|
7
9
|
export declare class RecommendationStore extends AbstractStore {
|
|
8
10
|
services: StoreServices;
|
|
11
|
+
meta: MetaStore;
|
|
9
12
|
loaded: boolean;
|
|
10
13
|
profile: RecommendationProfileStore;
|
|
11
14
|
results: Product[];
|
|
12
15
|
cart: CartStore;
|
|
13
16
|
constructor(config: RecommendationStoreConfig, services: StoreServices);
|
|
14
17
|
reset(): void;
|
|
15
|
-
update(data?: RecommendCombinedResponseModel
|
|
18
|
+
update(data?: RecommendCombinedResponseModel & {
|
|
19
|
+
meta?: MetaResponseModel;
|
|
20
|
+
}): void;
|
|
16
21
|
}
|
|
17
22
|
//# sourceMappingURL=RecommendationStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendationStore.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAqB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"RecommendationStore.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAqB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,qBAAa,mBAAoB,SAAQ,aAAa;IAC9C,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAG,SAAS,CAAC;IACjB,MAAM,UAAS;IACf,OAAO,EAAG,0BAA0B,CAAC;IACrC,OAAO,EAAG,OAAO,EAAE,CAAC;IACpB,IAAI,EAAG,SAAS,CAAC;gBAEZ,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,aAAa;IAiB/D,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,IAAI,CAAC,EAAE,8BAA8B,GAAG;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;KAAE,GAAG,IAAI;CAazF"}
|
|
@@ -21,6 +21,7 @@ var AbstractStore_1 = require("../Abstract/AbstractStore");
|
|
|
21
21
|
var Stores_1 = require("../Search/Stores");
|
|
22
22
|
var CartStore_1 = require("../Cart/CartStore");
|
|
23
23
|
var Stores_2 = require("./Stores");
|
|
24
|
+
var MetaStore_1 = require("../Meta/MetaStore");
|
|
24
25
|
var RecommendationStore = /** @class */ (function (_super) {
|
|
25
26
|
__extends(RecommendationStore, _super);
|
|
26
27
|
function RecommendationStore(config, services) {
|
|
@@ -43,13 +44,14 @@ var RecommendationStore = /** @class */ (function (_super) {
|
|
|
43
44
|
};
|
|
44
45
|
RecommendationStore.prototype.update = function (data) {
|
|
45
46
|
this.error = undefined;
|
|
46
|
-
this.
|
|
47
|
+
this.meta = new MetaStore_1.MetaStore(data === null || data === void 0 ? void 0 : data.meta);
|
|
47
48
|
this.profile = new Stores_2.RecommendationProfileStore(this.services, data);
|
|
48
|
-
this.results = new Stores_1.SearchResultStore(this.config, this.services, data === null || data === void 0 ? void 0 : data.results);
|
|
49
|
+
this.results = new Stores_1.SearchResultStore(this.config, this.services, this.meta.data, data === null || data === void 0 ? void 0 : data.results, undefined, undefined, this.loaded);
|
|
49
50
|
// only create a cart store when type is bundle
|
|
50
51
|
if (this.profile.type == 'bundle') {
|
|
51
52
|
this.cart = new CartStore_1.CartStore();
|
|
52
53
|
}
|
|
54
|
+
this.loaded = !!(data === null || data === void 0 ? void 0 : data.profile);
|
|
53
55
|
};
|
|
54
56
|
return RecommendationStore;
|
|
55
57
|
}(AbstractStore_1.AbstractStore));
|
|
@@ -3,9 +3,10 @@ import type { SearchStoreConfig, StoreServices } from '../types';
|
|
|
3
3
|
import { SearchMerchandisingStore, SearchFacetStore, SearchFilterStore, SearchResultStore, SearchPaginationStore, SearchSortingStore, SearchQueryStore, SearchHistoryStore } from './Stores';
|
|
4
4
|
import { AbstractStore } from '../Abstract/AbstractStore';
|
|
5
5
|
import { StorageStore } from '../Storage/StorageStore';
|
|
6
|
+
import { MetaStore } from '../Meta/MetaStore';
|
|
6
7
|
export declare class SearchStore extends AbstractStore {
|
|
7
8
|
services: StoreServices;
|
|
8
|
-
meta:
|
|
9
|
+
meta: MetaStore;
|
|
9
10
|
merchandising: SearchMerchandisingStore;
|
|
10
11
|
search: SearchQueryStore;
|
|
11
12
|
facets: SearchFacetStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchStore.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"SearchStore.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,qBAAa,WAAY,SAAQ,aAAa;IACtC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAG,SAAS,CAAC;IACjB,aAAa,EAAG,wBAAwB,CAAC;IACzC,MAAM,EAAG,gBAAgB,CAAC;IAC1B,MAAM,EAAG,gBAAgB,CAAC;IAC1B,OAAO,EAAG,iBAAiB,CAAC;IAC5B,OAAO,EAAG,iBAAiB,CAAC;IAC5B,UAAU,EAAG,qBAAqB,CAAC;IACnC,OAAO,EAAG,kBAAkB,CAAC;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,kBAAkB,CAAC;gBAEvB,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa;IAiDvD,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,IAAI,GAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;KAAO,GAAG,IAAI;CA6BlF"}
|
|
@@ -20,6 +20,7 @@ var mobx_1 = require("mobx");
|
|
|
20
20
|
var Stores_1 = require("./Stores");
|
|
21
21
|
var AbstractStore_1 = require("../Abstract/AbstractStore");
|
|
22
22
|
var StorageStore_1 = require("../Storage/StorageStore");
|
|
23
|
+
var MetaStore_1 = require("../Meta/MetaStore");
|
|
23
24
|
var SearchStore = /** @class */ (function (_super) {
|
|
24
25
|
__extends(SearchStore, _super);
|
|
25
26
|
function SearchStore(config, services) {
|
|
@@ -69,15 +70,15 @@ var SearchStore = /** @class */ (function (_super) {
|
|
|
69
70
|
SearchStore.prototype.update = function (data) {
|
|
70
71
|
if (data === void 0) { data = {}; }
|
|
71
72
|
this.error = undefined;
|
|
72
|
-
this.
|
|
73
|
-
this.meta = data.meta || {};
|
|
73
|
+
this.meta = new MetaStore_1.MetaStore(data.meta);
|
|
74
74
|
this.merchandising = new Stores_1.SearchMerchandisingStore(this.services, (data === null || data === void 0 ? void 0 : data.merchandising) || {});
|
|
75
75
|
this.search = new Stores_1.SearchQueryStore(this.services, (data === null || data === void 0 ? void 0 : data.search) || {});
|
|
76
|
-
this.facets = new Stores_1.SearchFacetStore(this.config, this.services, this.storage, data.facets, (data === null || data === void 0 ? void 0 : data.pagination) || {}, this.meta, (data === null || data === void 0 ? void 0 : data.merchandising) || {});
|
|
77
|
-
this.filters = new Stores_1.SearchFilterStore(this.services, data.filters, this.meta);
|
|
78
|
-
this.results = new Stores_1.SearchResultStore(this.config, this.services, (data === null || data === void 0 ? void 0 : data.results) || [], data.pagination, data.merchandising);
|
|
79
|
-
this.pagination = new Stores_1.SearchPaginationStore(this.config, this.services, data.pagination, this.meta);
|
|
80
|
-
this.sorting = new Stores_1.SearchSortingStore(this.services, (data === null || data === void 0 ? void 0 : data.sorting) || [], (data === null || data === void 0 ? void 0 : data.search) || {}, this.meta);
|
|
76
|
+
this.facets = new Stores_1.SearchFacetStore(this.config, this.services, this.storage, data.facets, (data === null || data === void 0 ? void 0 : data.pagination) || {}, this.meta.data, (data === null || data === void 0 ? void 0 : data.merchandising) || {});
|
|
77
|
+
this.filters = new Stores_1.SearchFilterStore(this.services, data.filters, this.meta.data);
|
|
78
|
+
this.results = new Stores_1.SearchResultStore(this.config, this.services, this.meta.data, (data === null || data === void 0 ? void 0 : data.results) || [], data.pagination, data.merchandising, this.loaded);
|
|
79
|
+
this.pagination = new Stores_1.SearchPaginationStore(this.config, this.services, data.pagination, this.meta.data);
|
|
80
|
+
this.sorting = new Stores_1.SearchSortingStore(this.services, (data === null || data === void 0 ? void 0 : data.sorting) || [], (data === null || data === void 0 ? void 0 : data.search) || {}, this.meta.data);
|
|
81
|
+
this.loaded = !!data.pagination;
|
|
81
82
|
};
|
|
82
83
|
return SearchStore;
|
|
83
84
|
}(AbstractStore_1.AbstractStore));
|
|
@@ -28,7 +28,7 @@ var SearchHistoryStore = /** @class */ (function () {
|
|
|
28
28
|
this.config.max = 25;
|
|
29
29
|
}
|
|
30
30
|
this.storage = new StorageStore_1.StorageStore({
|
|
31
|
-
type:
|
|
31
|
+
type: 'local',
|
|
32
32
|
key: "ss-history".concat(this.config.siteId ? "-".concat(this.config.siteId) : ""),
|
|
33
33
|
});
|
|
34
34
|
// reset to zero to clear any potentially existing terms
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { StoreServices, StoreConfigs,
|
|
2
|
-
import type { SearchResponseModelResult, SearchResponseModelPagination, SearchResponseModelMerchandising, SearchResponseModelResultMappings, SearchResponseModelMerchandisingContentInline, SearchResponseModelMerchandisingContentConfig } from '@searchspring/snapi-types';
|
|
1
|
+
import type { StoreServices, StoreConfigs, ResultBadge, VariantOptionConfig, VariantConfig } from '../../types';
|
|
2
|
+
import type { SearchResponseModelResult, SearchResponseModelPagination, SearchResponseModelMerchandising, SearchResponseModelResultMappings, SearchResponseModelMerchandisingContentInline, SearchResponseModelMerchandisingContentConfig, MetaResponseModel } from '@searchspring/snapi-types';
|
|
3
3
|
export declare class SearchResultStore extends Array<Product | Banner> {
|
|
4
4
|
static get [Symbol.species](): ArrayConstructor;
|
|
5
|
-
constructor(config: StoreConfigs, services: StoreServices, resultData?: SearchResponseModelResult[], paginationData?: SearchResponseModelPagination, merchData?: SearchResponseModelMerchandising);
|
|
5
|
+
constructor(config: StoreConfigs, services: StoreServices, metaData: MetaResponseModel, resultData?: SearchResponseModelResult[], paginationData?: SearchResponseModelPagination, merchData?: SearchResponseModelMerchandising, loaded?: boolean);
|
|
6
6
|
}
|
|
7
7
|
export declare class Banner {
|
|
8
8
|
type: string;
|
|
@@ -35,12 +35,20 @@ export declare class Product {
|
|
|
35
35
|
mappings: SearchResponseModelResultMappings;
|
|
36
36
|
custom: {};
|
|
37
37
|
children?: Array<Child>;
|
|
38
|
+
badges: Badges;
|
|
38
39
|
quantity: number;
|
|
39
40
|
mask: ProductMask;
|
|
40
41
|
variants?: Variants;
|
|
41
|
-
constructor(services: StoreServices, result: SearchResponseModelResult, config?: StoreConfigs);
|
|
42
|
+
constructor(services: StoreServices, result: SearchResponseModelResult, metaData: MetaResponseModel, config?: StoreConfigs);
|
|
42
43
|
get display(): ProductMinimal;
|
|
43
44
|
}
|
|
45
|
+
export declare class Badges {
|
|
46
|
+
all: ResultBadge[];
|
|
47
|
+
constructor(result: SearchResponseModelResult, metaData: MetaResponseModel);
|
|
48
|
+
atLocation(location?: string[] | string): ResultBadge[];
|
|
49
|
+
get tags(): Record<string, ResultBadge>;
|
|
50
|
+
get locations(): Record<string, Record<string, ResultBadge[]>>;
|
|
51
|
+
}
|
|
44
52
|
export declare class ProductMask {
|
|
45
53
|
data: Partial<Product>;
|
|
46
54
|
constructor();
|
|
@@ -59,21 +67,23 @@ export declare class Variants {
|
|
|
59
67
|
makeSelections(options?: Record<string, string[]>): void;
|
|
60
68
|
refineSelections(fromSelection: VariantSelection): void;
|
|
61
69
|
}
|
|
62
|
-
type
|
|
70
|
+
export type VariantSelectionValue = {
|
|
63
71
|
value: string;
|
|
64
72
|
label?: string;
|
|
65
73
|
thumbnailImageUrl?: string;
|
|
74
|
+
backgroundImageUrl?: string;
|
|
66
75
|
background?: string;
|
|
67
76
|
available?: boolean;
|
|
68
77
|
};
|
|
69
78
|
export declare class VariantSelection {
|
|
70
79
|
field: string;
|
|
71
80
|
label: string;
|
|
72
|
-
selected?:
|
|
73
|
-
previouslySelected?:
|
|
74
|
-
values:
|
|
81
|
+
selected?: VariantSelectionValue;
|
|
82
|
+
previouslySelected?: VariantSelectionValue;
|
|
83
|
+
values: VariantSelectionValue[];
|
|
84
|
+
private config;
|
|
75
85
|
private variantsUpdate;
|
|
76
|
-
constructor(variants: Variants,
|
|
86
|
+
constructor(variants: Variants, selectorField: string, variantConfig?: VariantOptionConfig);
|
|
77
87
|
refineValues(variants: Variants): void;
|
|
78
88
|
reset(): void;
|
|
79
89
|
select(value: string, internalSelection?: boolean): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchResultStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchResultStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"SearchResultStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchResultStore.ts"],"names":[],"mappings":"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"}
|