@athoscommerce/snap-store-mobx 1.0.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/LICENSE +21 -0
- package/README.md +17 -0
- package/dist/cjs/Abstract/AbstractStore.d.ts +17 -0
- package/dist/cjs/Abstract/AbstractStore.d.ts.map +1 -0
- package/dist/cjs/Abstract/AbstractStore.js +28 -0
- package/dist/cjs/Autocomplete/AutocompleteStore.d.ts +40 -0
- package/dist/cjs/Autocomplete/AutocompleteStore.d.ts.map +1 -0
- package/dist/cjs/Autocomplete/AutocompleteStore.js +246 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.d.ts +13 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.d.ts.map +1 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.js +67 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteHistoryStore.d.ts +19 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteHistoryStore.d.ts.map +1 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteHistoryStore.js +57 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteQueryStore.d.ts +25 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteQueryStore.d.ts.map +1 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteQueryStore.js +34 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteStateStore.d.ts +29 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteStateStore.d.ts.map +1 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteStateStore.js +54 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteTermStore.d.ts +47 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteTermStore.d.ts.map +1 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteTermStore.js +102 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.d.ts +20 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.d.ts.map +1 -0
- package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.js +58 -0
- package/dist/cjs/Autocomplete/Stores/index.d.ts +7 -0
- package/dist/cjs/Autocomplete/Stores/index.d.ts.map +1 -0
- package/dist/cjs/Autocomplete/Stores/index.js +16 -0
- package/dist/cjs/Cart/CartStore.d.ts +15 -0
- package/dist/cjs/Cart/CartStore.d.ts.map +1 -0
- package/dist/cjs/Cart/CartStore.js +109 -0
- package/dist/cjs/Finder/FinderStore.d.ts +27 -0
- package/dist/cjs/Finder/FinderStore.d.ts.map +1 -0
- package/dist/cjs/Finder/FinderStore.js +156 -0
- package/dist/cjs/Finder/Stores/FinderSelectionStore.d.ts +73 -0
- package/dist/cjs/Finder/Stores/FinderSelectionStore.d.ts.map +1 -0
- package/dist/cjs/Finder/Stores/FinderSelectionStore.js +320 -0
- package/dist/cjs/Finder/Stores/index.d.ts +2 -0
- package/dist/cjs/Finder/Stores/index.d.ts.map +1 -0
- package/dist/cjs/Finder/Stores/index.js +5 -0
- package/dist/cjs/Meta/MetaStore.d.ts +20 -0
- package/dist/cjs/Meta/MetaStore.d.ts.map +1 -0
- package/dist/cjs/Meta/MetaStore.js +55 -0
- package/dist/cjs/Recommendation/RecommendationStore.d.ts +19 -0
- package/dist/cjs/Recommendation/RecommendationStore.d.ts.map +1 -0
- package/dist/cjs/Recommendation/RecommendationStore.js +97 -0
- package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.d.ts +15 -0
- package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.d.ts.map +1 -0
- package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.js +30 -0
- package/dist/cjs/Recommendation/Stores/index.d.ts +2 -0
- package/dist/cjs/Recommendation/Stores/index.d.ts.map +1 -0
- package/dist/cjs/Recommendation/Stores/index.js +5 -0
- package/dist/cjs/Search/SearchStore.d.ts +27 -0
- package/dist/cjs/Search/SearchStore.d.ts.map +1 -0
- package/dist/cjs/Search/SearchStore.js +125 -0
- package/dist/cjs/Search/Stores/SearchFacetStore.d.ts +89 -0
- package/dist/cjs/Search/Stores/SearchFacetStore.d.ts.map +1 -0
- package/dist/cjs/Search/Stores/SearchFacetStore.js +368 -0
- package/dist/cjs/Search/Stores/SearchFilterStore.d.ts +44 -0
- package/dist/cjs/Search/Stores/SearchFilterStore.d.ts.map +1 -0
- package/dist/cjs/Search/Stores/SearchFilterStore.js +102 -0
- package/dist/cjs/Search/Stores/SearchHistoryStore.d.ts +20 -0
- package/dist/cjs/Search/Stores/SearchHistoryStore.d.ts.map +1 -0
- package/dist/cjs/Search/Stores/SearchHistoryStore.js +106 -0
- package/dist/cjs/Search/Stores/SearchMerchandisingStore.d.ts +36 -0
- package/dist/cjs/Search/Stores/SearchMerchandisingStore.d.ts.map +1 -0
- package/dist/cjs/Search/Stores/SearchMerchandisingStore.js +90 -0
- package/dist/cjs/Search/Stores/SearchPaginationStore.d.ts +57 -0
- package/dist/cjs/Search/Stores/SearchPaginationStore.d.ts.map +1 -0
- package/dist/cjs/Search/Stores/SearchPaginationStore.js +212 -0
- package/dist/cjs/Search/Stores/SearchQueryStore.d.ts +23 -0
- package/dist/cjs/Search/Stores/SearchQueryStore.d.ts.map +1 -0
- package/dist/cjs/Search/Stores/SearchQueryStore.js +41 -0
- package/dist/cjs/Search/Stores/SearchResultStore.d.ts +175 -0
- package/dist/cjs/Search/Stores/SearchResultStore.d.ts.map +1 -0
- package/dist/cjs/Search/Stores/SearchResultStore.js +749 -0
- package/dist/cjs/Search/Stores/SearchSortingStore.d.ts +32 -0
- package/dist/cjs/Search/Stores/SearchSortingStore.d.ts.map +1 -0
- package/dist/cjs/Search/Stores/SearchSortingStore.js +77 -0
- package/dist/cjs/Search/Stores/index.d.ts +9 -0
- package/dist/cjs/Search/Stores/index.d.ts.map +1 -0
- package/dist/cjs/Search/Stores/index.js +30 -0
- package/dist/cjs/Storage/StorageStore.d.ts +27 -0
- package/dist/cjs/Storage/StorageStore.d.ts.map +1 -0
- package/dist/cjs/Storage/StorageStore.js +176 -0
- package/dist/cjs/index.d.ts +12 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/types.d.ts +170 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +9 -0
- package/dist/esm/Abstract/AbstractStore.d.ts +17 -0
- package/dist/esm/Abstract/AbstractStore.d.ts.map +1 -0
- package/dist/esm/Abstract/AbstractStore.js +22 -0
- package/dist/esm/Autocomplete/AutocompleteStore.d.ts +40 -0
- package/dist/esm/Autocomplete/AutocompleteStore.d.ts.map +1 -0
- package/dist/esm/Autocomplete/AutocompleteStore.js +210 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.d.ts +13 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.d.ts.map +1 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.js +35 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteHistoryStore.d.ts +19 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteHistoryStore.d.ts.map +1 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteHistoryStore.js +27 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteQueryStore.d.ts +25 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteQueryStore.d.ts.map +1 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteQueryStore.js +28 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteStateStore.d.ts +29 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteStateStore.d.ts.map +1 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteStateStore.js +42 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteTermStore.d.ts +47 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteTermStore.d.ts.map +1 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteTermStore.js +56 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.d.ts +20 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.d.ts.map +1 -0
- package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.js +27 -0
- package/dist/esm/Autocomplete/Stores/index.d.ts +7 -0
- package/dist/esm/Autocomplete/Stores/index.d.ts.map +1 -0
- package/dist/esm/Autocomplete/Stores/index.js +6 -0
- package/dist/esm/Cart/CartStore.d.ts +15 -0
- package/dist/esm/Cart/CartStore.d.ts.map +1 -0
- package/dist/esm/Cart/CartStore.js +74 -0
- package/dist/esm/Finder/FinderStore.d.ts +27 -0
- package/dist/esm/Finder/FinderStore.d.ts.map +1 -0
- package/dist/esm/Finder/FinderStore.js +118 -0
- package/dist/esm/Finder/Stores/FinderSelectionStore.d.ts +73 -0
- package/dist/esm/Finder/Stores/FinderSelectionStore.d.ts.map +1 -0
- package/dist/esm/Finder/Stores/FinderSelectionStore.js +258 -0
- package/dist/esm/Finder/Stores/index.d.ts +2 -0
- package/dist/esm/Finder/Stores/index.d.ts.map +1 -0
- package/dist/esm/Finder/Stores/index.js +1 -0
- package/dist/esm/Meta/MetaStore.d.ts +20 -0
- package/dist/esm/Meta/MetaStore.d.ts.map +1 -0
- package/dist/esm/Meta/MetaStore.js +45 -0
- package/dist/esm/Recommendation/RecommendationStore.d.ts +19 -0
- package/dist/esm/Recommendation/RecommendationStore.d.ts.map +1 -0
- package/dist/esm/Recommendation/RecommendationStore.js +71 -0
- package/dist/esm/Recommendation/Stores/RecommendationProfileStore.d.ts +15 -0
- package/dist/esm/Recommendation/Stores/RecommendationProfileStore.d.ts.map +1 -0
- package/dist/esm/Recommendation/Stores/RecommendationProfileStore.js +25 -0
- package/dist/esm/Recommendation/Stores/index.d.ts +2 -0
- package/dist/esm/Recommendation/Stores/index.d.ts.map +1 -0
- package/dist/esm/Recommendation/Stores/index.js +1 -0
- package/dist/esm/Search/SearchStore.d.ts +27 -0
- package/dist/esm/Search/SearchStore.d.ts.map +1 -0
- package/dist/esm/Search/SearchStore.js +102 -0
- package/dist/esm/Search/Stores/SearchFacetStore.d.ts +89 -0
- package/dist/esm/Search/Stores/SearchFacetStore.d.ts.map +1 -0
- package/dist/esm/Search/Stores/SearchFacetStore.js +292 -0
- package/dist/esm/Search/Stores/SearchFilterStore.d.ts +44 -0
- package/dist/esm/Search/Stores/SearchFilterStore.d.ts.map +1 -0
- package/dist/esm/Search/Stores/SearchFilterStore.js +70 -0
- package/dist/esm/Search/Stores/SearchHistoryStore.d.ts +20 -0
- package/dist/esm/Search/Stores/SearchHistoryStore.d.ts.map +1 -0
- package/dist/esm/Search/Stores/SearchHistoryStore.js +85 -0
- package/dist/esm/Search/Stores/SearchMerchandisingStore.d.ts +36 -0
- package/dist/esm/Search/Stores/SearchMerchandisingStore.d.ts.map +1 -0
- package/dist/esm/Search/Stores/SearchMerchandisingStore.js +61 -0
- package/dist/esm/Search/Stores/SearchPaginationStore.d.ts +57 -0
- package/dist/esm/Search/Stores/SearchPaginationStore.d.ts.map +1 -0
- package/dist/esm/Search/Stores/SearchPaginationStore.js +163 -0
- package/dist/esm/Search/Stores/SearchQueryStore.d.ts +23 -0
- package/dist/esm/Search/Stores/SearchQueryStore.d.ts.map +1 -0
- package/dist/esm/Search/Stores/SearchQueryStore.js +33 -0
- package/dist/esm/Search/Stores/SearchResultStore.d.ts +175 -0
- package/dist/esm/Search/Stores/SearchResultStore.d.ts.map +1 -0
- package/dist/esm/Search/Stores/SearchResultStore.js +648 -0
- package/dist/esm/Search/Stores/SearchSortingStore.d.ts +32 -0
- package/dist/esm/Search/Stores/SearchSortingStore.d.ts.map +1 -0
- package/dist/esm/Search/Stores/SearchSortingStore.js +67 -0
- package/dist/esm/Search/Stores/index.d.ts +9 -0
- package/dist/esm/Search/Stores/index.d.ts.map +1 -0
- package/dist/esm/Search/Stores/index.js +8 -0
- package/dist/esm/Storage/StorageStore.d.ts +27 -0
- package/dist/esm/Storage/StorageStore.d.ts.map +1 -0
- package/dist/esm/Storage/StorageStore.js +169 -0
- package/dist/esm/index.d.ts +12 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/types.d.ts +170 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +6 -0
- package/package.json +35 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { UrlManager } from '@athoscommerce/snap-url-manager';
|
|
2
|
+
import type { StoreServices } from '../../types';
|
|
3
|
+
import type { MetaResponseModel, MetaResponseModelSortOption, SearchResponseModel } from '@athoscommerce/snapi-types';
|
|
4
|
+
type MetaResponseModelSortOptionMutated = MetaResponseModelSortOption & {
|
|
5
|
+
active?: boolean;
|
|
6
|
+
default?: boolean;
|
|
7
|
+
};
|
|
8
|
+
type SearchSortingStoreConfig = {
|
|
9
|
+
services: StoreServices;
|
|
10
|
+
data: {
|
|
11
|
+
search?: SearchResponseModel;
|
|
12
|
+
meta: MetaResponseModel;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare class SearchSortingStore {
|
|
16
|
+
options: Option[];
|
|
17
|
+
constructor(params: SearchSortingStoreConfig);
|
|
18
|
+
get current(): Option | undefined;
|
|
19
|
+
}
|
|
20
|
+
declare class Option {
|
|
21
|
+
active: boolean;
|
|
22
|
+
default: boolean;
|
|
23
|
+
field: string;
|
|
24
|
+
label: string;
|
|
25
|
+
direction: string;
|
|
26
|
+
type: string;
|
|
27
|
+
value: string;
|
|
28
|
+
url: UrlManager;
|
|
29
|
+
constructor(services: StoreServices, option: MetaResponseModelSortOptionMutated, index: number);
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=SearchSortingStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchSortingStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchSortingStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtH,KAAK,kCAAkC,GAAG,2BAA2B,GAAG;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC/B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE;QACL,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,IAAI,EAAE,iBAAiB,CAAC;KACxB,CAAC;CACF,CAAC;AAEF,qBAAa,kBAAkB;IACvB,OAAO,EAAE,MAAM,EAAE,CAAM;gBAElB,MAAM,EAAE,wBAAwB;IA0C5C,IAAW,OAAO,IAAI,MAAM,GAAG,SAAS,CAEvC;CACD;AAED,cAAM,MAAM;IACJ,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,KAAK,EAAE,MAAM;CAuB9F"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SearchSortingStore = void 0;
|
|
4
|
+
var mobx_1 = require("mobx");
|
|
5
|
+
var SearchSortingStore = /** @class */ (function () {
|
|
6
|
+
function SearchSortingStore(params) {
|
|
7
|
+
this.options = [];
|
|
8
|
+
var _a = params || {}, services = _a.services, data = _a.data;
|
|
9
|
+
var meta = (data || {}).meta;
|
|
10
|
+
var _b = (data === null || data === void 0 ? void 0 : data.search) || {}, sorting = _b.sorting, search = _b.search;
|
|
11
|
+
if (services && meta.sortOptions) {
|
|
12
|
+
var activeSort_1 = (sorting === null || sorting === void 0 ? void 0 : sorting.length) && sorting[0];
|
|
13
|
+
var options = (meta.sortOptions || [])
|
|
14
|
+
.filter(function (option) {
|
|
15
|
+
if (!(search === null || search === void 0 ? void 0 : search.query)) {
|
|
16
|
+
return option.type == 'field';
|
|
17
|
+
}
|
|
18
|
+
return option;
|
|
19
|
+
})
|
|
20
|
+
.map(function (option, index) {
|
|
21
|
+
option.active = false;
|
|
22
|
+
if (activeSort_1 && activeSort_1.field == option.field && String(activeSort_1.direction) == String(option.direction)) {
|
|
23
|
+
option.active = true;
|
|
24
|
+
}
|
|
25
|
+
else if (!activeSort_1 && index === 0) {
|
|
26
|
+
option.active = true;
|
|
27
|
+
}
|
|
28
|
+
option.default = false;
|
|
29
|
+
if (index === 0) {
|
|
30
|
+
// is the default sort
|
|
31
|
+
option.default = true;
|
|
32
|
+
}
|
|
33
|
+
var optionObj = new Option(services, option, index);
|
|
34
|
+
return optionObj;
|
|
35
|
+
});
|
|
36
|
+
this.options = options;
|
|
37
|
+
(0, mobx_1.makeObservable)(this, {
|
|
38
|
+
options: mobx_1.observable,
|
|
39
|
+
current: mobx_1.computed,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
Object.defineProperty(SearchSortingStore.prototype, "current", {
|
|
44
|
+
get: function () {
|
|
45
|
+
return this.options.filter(function (option) { return option.active; }).pop();
|
|
46
|
+
},
|
|
47
|
+
enumerable: false,
|
|
48
|
+
configurable: true
|
|
49
|
+
});
|
|
50
|
+
return SearchSortingStore;
|
|
51
|
+
}());
|
|
52
|
+
exports.SearchSortingStore = SearchSortingStore;
|
|
53
|
+
var Option = /** @class */ (function () {
|
|
54
|
+
function Option(services, option, index) {
|
|
55
|
+
this.active = option.active;
|
|
56
|
+
this.default = option.default;
|
|
57
|
+
this.field = option.field;
|
|
58
|
+
this.label = option.label;
|
|
59
|
+
this.direction = option.direction;
|
|
60
|
+
this.type = option.type;
|
|
61
|
+
this.value = "".concat(option.label, ":").concat(option.field, ":").concat(option.direction, ":").concat(index);
|
|
62
|
+
if (this.default) {
|
|
63
|
+
this.url = services.urlManager.remove('page').remove('sort');
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.url = services.urlManager.remove('page').set('sort', [{ field: this.field, direction: this.direction }]);
|
|
67
|
+
}
|
|
68
|
+
(0, mobx_1.makeObservable)(this, {
|
|
69
|
+
field: mobx_1.observable,
|
|
70
|
+
label: mobx_1.observable,
|
|
71
|
+
direction: mobx_1.observable,
|
|
72
|
+
type: mobx_1.observable,
|
|
73
|
+
value: mobx_1.observable,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return Option;
|
|
77
|
+
}());
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { SearchMerchandisingStore, BannerContent, ContentType, MerchandisingContentBanner } from './SearchMerchandisingStore';
|
|
2
|
+
export { SearchFacetStore, ValueFacet, RangeFacet, FacetValue, FacetHierarchyValue, FacetRangeValue } from './SearchFacetStore';
|
|
3
|
+
export { SearchFilterStore, Filter } from './SearchFilterStore';
|
|
4
|
+
export { SearchPaginationStore, Page } from './SearchPaginationStore';
|
|
5
|
+
export { SearchResultStore, Product, Banner, VariantSelection, VariantSelectionValue } from './SearchResultStore';
|
|
6
|
+
export { SearchSortingStore } from './SearchSortingStore';
|
|
7
|
+
export { SearchQueryStore } from './SearchQueryStore';
|
|
8
|
+
export { SearchHistoryStore } from './SearchHistoryStore';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC9H,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChI,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SearchHistoryStore = exports.SearchQueryStore = exports.SearchSortingStore = exports.VariantSelection = exports.Banner = exports.Product = exports.SearchResultStore = exports.Page = exports.SearchPaginationStore = exports.Filter = exports.SearchFilterStore = exports.FacetRangeValue = exports.FacetHierarchyValue = exports.FacetValue = exports.RangeFacet = exports.ValueFacet = exports.SearchFacetStore = exports.ContentType = exports.SearchMerchandisingStore = void 0;
|
|
4
|
+
var SearchMerchandisingStore_1 = require("./SearchMerchandisingStore");
|
|
5
|
+
Object.defineProperty(exports, "SearchMerchandisingStore", { enumerable: true, get: function () { return SearchMerchandisingStore_1.SearchMerchandisingStore; } });
|
|
6
|
+
Object.defineProperty(exports, "ContentType", { enumerable: true, get: function () { return SearchMerchandisingStore_1.ContentType; } });
|
|
7
|
+
var SearchFacetStore_1 = require("./SearchFacetStore");
|
|
8
|
+
Object.defineProperty(exports, "SearchFacetStore", { enumerable: true, get: function () { return SearchFacetStore_1.SearchFacetStore; } });
|
|
9
|
+
Object.defineProperty(exports, "ValueFacet", { enumerable: true, get: function () { return SearchFacetStore_1.ValueFacet; } });
|
|
10
|
+
Object.defineProperty(exports, "RangeFacet", { enumerable: true, get: function () { return SearchFacetStore_1.RangeFacet; } });
|
|
11
|
+
Object.defineProperty(exports, "FacetValue", { enumerable: true, get: function () { return SearchFacetStore_1.FacetValue; } });
|
|
12
|
+
Object.defineProperty(exports, "FacetHierarchyValue", { enumerable: true, get: function () { return SearchFacetStore_1.FacetHierarchyValue; } });
|
|
13
|
+
Object.defineProperty(exports, "FacetRangeValue", { enumerable: true, get: function () { return SearchFacetStore_1.FacetRangeValue; } });
|
|
14
|
+
var SearchFilterStore_1 = require("./SearchFilterStore");
|
|
15
|
+
Object.defineProperty(exports, "SearchFilterStore", { enumerable: true, get: function () { return SearchFilterStore_1.SearchFilterStore; } });
|
|
16
|
+
Object.defineProperty(exports, "Filter", { enumerable: true, get: function () { return SearchFilterStore_1.Filter; } });
|
|
17
|
+
var SearchPaginationStore_1 = require("./SearchPaginationStore");
|
|
18
|
+
Object.defineProperty(exports, "SearchPaginationStore", { enumerable: true, get: function () { return SearchPaginationStore_1.SearchPaginationStore; } });
|
|
19
|
+
Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return SearchPaginationStore_1.Page; } });
|
|
20
|
+
var SearchResultStore_1 = require("./SearchResultStore");
|
|
21
|
+
Object.defineProperty(exports, "SearchResultStore", { enumerable: true, get: function () { return SearchResultStore_1.SearchResultStore; } });
|
|
22
|
+
Object.defineProperty(exports, "Product", { enumerable: true, get: function () { return SearchResultStore_1.Product; } });
|
|
23
|
+
Object.defineProperty(exports, "Banner", { enumerable: true, get: function () { return SearchResultStore_1.Banner; } });
|
|
24
|
+
Object.defineProperty(exports, "VariantSelection", { enumerable: true, get: function () { return SearchResultStore_1.VariantSelection; } });
|
|
25
|
+
var SearchSortingStore_1 = require("./SearchSortingStore");
|
|
26
|
+
Object.defineProperty(exports, "SearchSortingStore", { enumerable: true, get: function () { return SearchSortingStore_1.SearchSortingStore; } });
|
|
27
|
+
var SearchQueryStore_1 = require("./SearchQueryStore");
|
|
28
|
+
Object.defineProperty(exports, "SearchQueryStore", { enumerable: true, get: function () { return SearchQueryStore_1.SearchQueryStore; } });
|
|
29
|
+
var SearchHistoryStore_1 = require("./SearchHistoryStore");
|
|
30
|
+
Object.defineProperty(exports, "SearchHistoryStore", { enumerable: true, get: function () { return SearchHistoryStore_1.SearchHistoryStore; } });
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare class StorageStore {
|
|
2
|
+
private type;
|
|
3
|
+
private expiration;
|
|
4
|
+
private sameSite;
|
|
5
|
+
private key;
|
|
6
|
+
private cookieDomain;
|
|
7
|
+
state: Record<string, any>;
|
|
8
|
+
constructor(config?: StorageConfig);
|
|
9
|
+
set(path: string | string[], value: any): void;
|
|
10
|
+
get(path: string | string[]): any | undefined;
|
|
11
|
+
clear(): void;
|
|
12
|
+
}
|
|
13
|
+
export type StorageConfig = {
|
|
14
|
+
type: StorageType | keyof typeof StorageType;
|
|
15
|
+
cookie?: {
|
|
16
|
+
expiration?: number;
|
|
17
|
+
sameSite?: string;
|
|
18
|
+
};
|
|
19
|
+
key: string;
|
|
20
|
+
};
|
|
21
|
+
export declare enum StorageType {
|
|
22
|
+
session = "session",
|
|
23
|
+
local = "local",
|
|
24
|
+
cookie = "cookie",
|
|
25
|
+
memory = "memory"
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=StorageStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageStore.d.ts","sourceRoot":"","sources":["../../../src/Storage/StorageStore.ts"],"names":[],"mappings":"AAMA,qBAAa,YAAY;IACxB,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,YAAY,CAC8G;IAC3H,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAE3B,MAAM,CAAC,EAAE,aAAa;IA8C3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAuD9C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,SAAS;IAuC7C,KAAK,IAAI,IAAI;CAcpB;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW,GAAG,MAAM,OAAO,WAAW,CAAC;IAC7C,MAAM,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,oBAAY,WAAW;IACtB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CACjB"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StorageType = exports.StorageStore = void 0;
|
|
4
|
+
var snap_toolbox_1 = require("@athoscommerce/snap-toolbox");
|
|
5
|
+
var utils = {
|
|
6
|
+
cookies: snap_toolbox_1.cookies,
|
|
7
|
+
};
|
|
8
|
+
var StorageStore = /** @class */ (function () {
|
|
9
|
+
function StorageStore(config) {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
this.type = null;
|
|
12
|
+
this.expiration = 31536000000; // one year (ms)
|
|
13
|
+
this.sameSite = 'Lax';
|
|
14
|
+
this.key = 'ss-storage';
|
|
15
|
+
this.cookieDomain = (typeof window !== 'undefined' && window.location.hostname && '.' + window.location.hostname.replace(/^www\./, '')) || undefined;
|
|
16
|
+
this.state = {};
|
|
17
|
+
if (config) {
|
|
18
|
+
if (config.key.trim() !== '') {
|
|
19
|
+
this.key = config.key.trim();
|
|
20
|
+
}
|
|
21
|
+
if ((_a = config === null || config === void 0 ? void 0 : config.cookie) === null || _a === void 0 ? void 0 : _a.expiration) {
|
|
22
|
+
this.expiration = config.cookie.expiration;
|
|
23
|
+
}
|
|
24
|
+
if ((_b = config === null || config === void 0 ? void 0 : config.cookie) === null || _b === void 0 ? void 0 : _b.sameSite) {
|
|
25
|
+
this.sameSite = config.cookie.sameSite;
|
|
26
|
+
}
|
|
27
|
+
switch (config.type) {
|
|
28
|
+
case StorageType.session: {
|
|
29
|
+
this.type = snap_toolbox_1.featureFlags.storage ? config.type : null;
|
|
30
|
+
if (this.type) {
|
|
31
|
+
this.state = JSON.parse(window.sessionStorage.getItem(this.key) || '{}');
|
|
32
|
+
window.sessionStorage.setItem(this.key, JSON.stringify(this.state));
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
case StorageType.local: {
|
|
37
|
+
this.type = snap_toolbox_1.featureFlags.storage ? config.type : null;
|
|
38
|
+
if (this.type) {
|
|
39
|
+
this.state = JSON.parse(window.localStorage.getItem(this.key) || '{}');
|
|
40
|
+
window.localStorage.setItem(this.key, JSON.stringify(this.state));
|
|
41
|
+
}
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case StorageType.cookie: {
|
|
45
|
+
if (snap_toolbox_1.featureFlags.cookies) {
|
|
46
|
+
this.type = config.type;
|
|
47
|
+
var data = utils.cookies.get(this.key);
|
|
48
|
+
if (data) {
|
|
49
|
+
this.state = JSON.parse(data);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
default: {
|
|
55
|
+
this.type = StorageType.memory;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
StorageStore.prototype.set = function (path, value) {
|
|
61
|
+
// read from the backing storage first to update local state to ensure we get any changes made outside of the storageStore
|
|
62
|
+
switch (this.type) {
|
|
63
|
+
case StorageType.session: {
|
|
64
|
+
this.state = JSON.parse(window.sessionStorage.getItem(this.key) || '{}');
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
case StorageType.local: {
|
|
68
|
+
this.state = JSON.parse(window.localStorage.getItem(this.key) || '{}');
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
case StorageType.cookie: {
|
|
72
|
+
var data = utils.cookies.get(this.key);
|
|
73
|
+
if (data) {
|
|
74
|
+
this.state = JSON.parse(data);
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
var paths;
|
|
80
|
+
if (typeof path == 'string') {
|
|
81
|
+
paths = path === null || path === void 0 ? void 0 : path.split('.');
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
paths = path;
|
|
85
|
+
}
|
|
86
|
+
var location = this.state;
|
|
87
|
+
paths === null || paths === void 0 ? void 0 : paths.forEach(function (p, i) {
|
|
88
|
+
var leaf = i == paths.length - 1;
|
|
89
|
+
if (leaf) {
|
|
90
|
+
location[p] = value;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
location = location[p] = location[p] || {};
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
try {
|
|
97
|
+
switch (this.type) {
|
|
98
|
+
case StorageType.session:
|
|
99
|
+
window.sessionStorage.setItem(this.key, JSON.stringify(this.state));
|
|
100
|
+
break;
|
|
101
|
+
case StorageType.local:
|
|
102
|
+
window.localStorage.setItem(this.key, JSON.stringify(this.state));
|
|
103
|
+
break;
|
|
104
|
+
case StorageType.cookie:
|
|
105
|
+
utils.cookies.set(this.key, JSON.stringify(this.state), this.sameSite, this.expiration, this.cookieDomain);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
console.warn("something went wrong setting ".concat(this.key, " to ").concat(this.type, " storage"));
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
// TODO: change any to unknown and refactor
|
|
114
|
+
StorageStore.prototype.get = function (path) {
|
|
115
|
+
switch (this.type) {
|
|
116
|
+
case StorageType.session:
|
|
117
|
+
var sessionData = window.sessionStorage.getItem(this.key);
|
|
118
|
+
this.state = sessionData ? JSON.parse(sessionData) : {};
|
|
119
|
+
break;
|
|
120
|
+
case StorageType.local:
|
|
121
|
+
var localData = window.localStorage.getItem(this.key);
|
|
122
|
+
this.state = localData ? JSON.parse(localData) : {};
|
|
123
|
+
break;
|
|
124
|
+
case StorageType.cookie:
|
|
125
|
+
var data = utils.cookies.get(this.key);
|
|
126
|
+
if (data) {
|
|
127
|
+
this.state = JSON.parse(data) || {};
|
|
128
|
+
}
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
var paths;
|
|
132
|
+
if (typeof path == 'string') {
|
|
133
|
+
paths = path === null || path === void 0 ? void 0 : path.split('.');
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
paths = path;
|
|
137
|
+
}
|
|
138
|
+
if (!(paths === null || paths === void 0 ? void 0 : paths.length))
|
|
139
|
+
return undefined;
|
|
140
|
+
var value = this.state;
|
|
141
|
+
for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
|
|
142
|
+
var p = paths_1[_i];
|
|
143
|
+
if (value && typeof value[p] != 'undefined') {
|
|
144
|
+
value = value[p];
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
value = {};
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return value;
|
|
152
|
+
};
|
|
153
|
+
StorageStore.prototype.clear = function () {
|
|
154
|
+
switch (this.type) {
|
|
155
|
+
case StorageType.session:
|
|
156
|
+
window.sessionStorage.removeItem(this.key);
|
|
157
|
+
break;
|
|
158
|
+
case StorageType.local:
|
|
159
|
+
window.localStorage.removeItem(this.key);
|
|
160
|
+
break;
|
|
161
|
+
case StorageType.cookie:
|
|
162
|
+
utils.cookies.unset(this.key, this.cookieDomain);
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
this.state = {};
|
|
166
|
+
};
|
|
167
|
+
return StorageStore;
|
|
168
|
+
}());
|
|
169
|
+
exports.StorageStore = StorageStore;
|
|
170
|
+
var StorageType;
|
|
171
|
+
(function (StorageType) {
|
|
172
|
+
StorageType["session"] = "session";
|
|
173
|
+
StorageType["local"] = "local";
|
|
174
|
+
StorageType["cookie"] = "cookie";
|
|
175
|
+
StorageType["memory"] = "memory";
|
|
176
|
+
})(StorageType || (exports.StorageType = StorageType = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { AbstractStore } from './Abstract/AbstractStore';
|
|
2
|
+
export { AutocompleteStore } from './Autocomplete/AutocompleteStore';
|
|
3
|
+
export { FinderStore } from './Finder/FinderStore';
|
|
4
|
+
export { SearchStore } from './Search/SearchStore';
|
|
5
|
+
export * from './Search/Stores/';
|
|
6
|
+
export * from './Autocomplete/Stores/';
|
|
7
|
+
export { RecommendationStore } from './Recommendation/RecommendationStore';
|
|
8
|
+
export { CartStore } from './Cart/CartStore';
|
|
9
|
+
export { StorageStore, StorageConfig, StorageType } from './Storage/StorageStore';
|
|
10
|
+
export { MetaStore } from './Meta/MetaStore';
|
|
11
|
+
export * from './types';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.MetaStore = exports.StorageType = exports.StorageStore = exports.CartStore = exports.RecommendationStore = exports.SearchStore = exports.FinderStore = exports.AutocompleteStore = exports.AbstractStore = void 0;
|
|
18
|
+
var AbstractStore_1 = require("./Abstract/AbstractStore");
|
|
19
|
+
Object.defineProperty(exports, "AbstractStore", { enumerable: true, get: function () { return AbstractStore_1.AbstractStore; } });
|
|
20
|
+
var AutocompleteStore_1 = require("./Autocomplete/AutocompleteStore");
|
|
21
|
+
Object.defineProperty(exports, "AutocompleteStore", { enumerable: true, get: function () { return AutocompleteStore_1.AutocompleteStore; } });
|
|
22
|
+
var FinderStore_1 = require("./Finder/FinderStore");
|
|
23
|
+
Object.defineProperty(exports, "FinderStore", { enumerable: true, get: function () { return FinderStore_1.FinderStore; } });
|
|
24
|
+
var SearchStore_1 = require("./Search/SearchStore");
|
|
25
|
+
Object.defineProperty(exports, "SearchStore", { enumerable: true, get: function () { return SearchStore_1.SearchStore; } });
|
|
26
|
+
__exportStar(require("./Search/Stores/"), exports);
|
|
27
|
+
__exportStar(require("./Autocomplete/Stores/"), exports);
|
|
28
|
+
var RecommendationStore_1 = require("./Recommendation/RecommendationStore");
|
|
29
|
+
Object.defineProperty(exports, "RecommendationStore", { enumerable: true, get: function () { return RecommendationStore_1.RecommendationStore; } });
|
|
30
|
+
var CartStore_1 = require("./Cart/CartStore");
|
|
31
|
+
Object.defineProperty(exports, "CartStore", { enumerable: true, get: function () { return CartStore_1.CartStore; } });
|
|
32
|
+
var StorageStore_1 = require("./Storage/StorageStore");
|
|
33
|
+
Object.defineProperty(exports, "StorageStore", { enumerable: true, get: function () { return StorageStore_1.StorageStore; } });
|
|
34
|
+
Object.defineProperty(exports, "StorageType", { enumerable: true, get: function () { return StorageStore_1.StorageType; } });
|
|
35
|
+
var MetaStore_1 = require("./Meta/MetaStore");
|
|
36
|
+
Object.defineProperty(exports, "MetaStore", { enumerable: true, get: function () { return MetaStore_1.MetaStore; } });
|
|
37
|
+
__exportStar(require("./types"), exports);
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import type { UrlManager } from '@athoscommerce/snap-url-manager';
|
|
2
|
+
import type { RecommendRequestModel } from '@athoscommerce/snap-client';
|
|
3
|
+
import type { SearchResponseModelFacetValueAllOfValues, AutocompleteRequestModel, SearchRequestModel, MetaResponseModelBadgeTag, SearchResponseModelResultBadges } from '@athoscommerce/snapi-types';
|
|
4
|
+
export type StoreConfig = {
|
|
5
|
+
id: string;
|
|
6
|
+
beacon?: {
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
};
|
|
9
|
+
[any: string]: unknown;
|
|
10
|
+
};
|
|
11
|
+
export type SearchStoreConfigSettings = {
|
|
12
|
+
redirects?: {
|
|
13
|
+
merchandising?: boolean;
|
|
14
|
+
singleResult?: boolean;
|
|
15
|
+
};
|
|
16
|
+
facets?: FacetStoreConfig & {
|
|
17
|
+
fields?: {
|
|
18
|
+
[field: string]: FacetStoreConfig;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
filters?: FilterStoreConfig & {
|
|
22
|
+
fields?: {
|
|
23
|
+
[field: string]: FilterStoreConfig;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
infinite?: {
|
|
27
|
+
enabled?: boolean;
|
|
28
|
+
backfill?: number;
|
|
29
|
+
};
|
|
30
|
+
restorePosition?: {
|
|
31
|
+
enabled: boolean;
|
|
32
|
+
onPageShow?: boolean;
|
|
33
|
+
};
|
|
34
|
+
variants?: VariantConfig;
|
|
35
|
+
history?: {
|
|
36
|
+
url?: string;
|
|
37
|
+
max?: number;
|
|
38
|
+
};
|
|
39
|
+
pagination?: {
|
|
40
|
+
pageSizeOptions?: {
|
|
41
|
+
label: string;
|
|
42
|
+
value: number;
|
|
43
|
+
}[];
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export type VariantConfigFilterTypes = 'first' | 'unaltered';
|
|
47
|
+
export type VariantConfig = {
|
|
48
|
+
realtime?: {
|
|
49
|
+
enabled: boolean;
|
|
50
|
+
filters?: VariantConfigFilterTypes[];
|
|
51
|
+
};
|
|
52
|
+
options?: {
|
|
53
|
+
[optionField: string]: VariantOptionConfig;
|
|
54
|
+
};
|
|
55
|
+
showDisabledSelectionValues?: boolean;
|
|
56
|
+
autoSelect?: boolean;
|
|
57
|
+
};
|
|
58
|
+
export type VariantOptionConfig = {
|
|
59
|
+
label?: string;
|
|
60
|
+
preSelected?: string[];
|
|
61
|
+
thumbnailBackgroundImages?: boolean;
|
|
62
|
+
mappings?: VariantOptionConfigMappings;
|
|
63
|
+
};
|
|
64
|
+
export type VariantOptionConfigMappings = {
|
|
65
|
+
[optionValue: string]: {
|
|
66
|
+
label?: string;
|
|
67
|
+
background?: string;
|
|
68
|
+
backgroundImageUrl?: string;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
export type SearchStoreConfig = StoreConfig & {
|
|
72
|
+
globals?: Partial<SearchRequestModel>;
|
|
73
|
+
settings?: SearchStoreConfigSettings;
|
|
74
|
+
};
|
|
75
|
+
export type FilterStoreConfig = {
|
|
76
|
+
rangeFormatValue?: string;
|
|
77
|
+
hierarchy?: {
|
|
78
|
+
enabled?: boolean;
|
|
79
|
+
displayDelimiter?: string;
|
|
80
|
+
showFullPath?: boolean;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
export type FacetStoreConfig = {
|
|
84
|
+
trim?: boolean;
|
|
85
|
+
pinFiltered?: boolean;
|
|
86
|
+
storeRange?: boolean;
|
|
87
|
+
autoOpenActive?: boolean;
|
|
88
|
+
};
|
|
89
|
+
export type FinderStoreConfig = StoreConfig & {
|
|
90
|
+
globals?: any;
|
|
91
|
+
url?: string;
|
|
92
|
+
fields: FinderFieldConfig[];
|
|
93
|
+
persist?: {
|
|
94
|
+
enabled: boolean;
|
|
95
|
+
lockSelections?: boolean;
|
|
96
|
+
expiration?: number;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
export type FinderFieldConfig = {
|
|
100
|
+
field: string;
|
|
101
|
+
label?: string;
|
|
102
|
+
levels?: string[];
|
|
103
|
+
};
|
|
104
|
+
export type AutocompleteStoreConfigSettings = {
|
|
105
|
+
initializeFromUrl?: boolean;
|
|
106
|
+
syncInputs?: boolean;
|
|
107
|
+
serializeForm?: boolean;
|
|
108
|
+
disableClickOutside?: boolean;
|
|
109
|
+
facets?: FacetStoreConfig & {
|
|
110
|
+
fields?: {
|
|
111
|
+
[field: string]: FacetStoreConfig;
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
trending?: {
|
|
115
|
+
enabled?: boolean;
|
|
116
|
+
limit?: number;
|
|
117
|
+
showResults?: boolean;
|
|
118
|
+
};
|
|
119
|
+
variants?: VariantConfig;
|
|
120
|
+
history?: {
|
|
121
|
+
enabled?: boolean;
|
|
122
|
+
limit?: number;
|
|
123
|
+
showResults?: boolean;
|
|
124
|
+
max?: number;
|
|
125
|
+
url?: string;
|
|
126
|
+
};
|
|
127
|
+
redirects?: {
|
|
128
|
+
merchandising?: boolean;
|
|
129
|
+
singleResult?: boolean;
|
|
130
|
+
};
|
|
131
|
+
bind?: {
|
|
132
|
+
input?: boolean;
|
|
133
|
+
submit?: boolean;
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
export type AutocompleteStoreConfig = StoreConfig & {
|
|
137
|
+
globals?: Partial<AutocompleteRequestModel>;
|
|
138
|
+
selector: string;
|
|
139
|
+
action?: string;
|
|
140
|
+
settings?: AutocompleteStoreConfigSettings;
|
|
141
|
+
};
|
|
142
|
+
export type RecommendationStoreConfig = StoreConfig & {
|
|
143
|
+
globals?: Partial<RecommendRequestModel>;
|
|
144
|
+
tag: string;
|
|
145
|
+
branch?: string;
|
|
146
|
+
realtime?: boolean;
|
|
147
|
+
batched?: boolean;
|
|
148
|
+
order?: number;
|
|
149
|
+
batchId?: number;
|
|
150
|
+
settings?: {
|
|
151
|
+
variants?: VariantConfig;
|
|
152
|
+
searchOnPageShow?: boolean;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
export type StoreConfigs = SearchStoreConfig | AutocompleteStoreConfig | FinderStoreConfig | RecommendationStoreConfig;
|
|
156
|
+
export type StoreServices = {
|
|
157
|
+
urlManager: UrlManager;
|
|
158
|
+
};
|
|
159
|
+
export declare enum ErrorType {
|
|
160
|
+
WARNING = "warning",
|
|
161
|
+
INFO = "info",
|
|
162
|
+
ERROR = "error"
|
|
163
|
+
}
|
|
164
|
+
export type SelectedSelection = {
|
|
165
|
+
selected: string;
|
|
166
|
+
data: SearchResponseModelFacetValueAllOfValues[];
|
|
167
|
+
facet: any;
|
|
168
|
+
};
|
|
169
|
+
export type ResultBadge = MetaResponseModelBadgeTag & SearchResponseModelResultBadges;
|
|
170
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorType = void 0;
|
|
4
|
+
var ErrorType;
|
|
5
|
+
(function (ErrorType) {
|
|
6
|
+
ErrorType["WARNING"] = "warning";
|
|
7
|
+
ErrorType["INFO"] = "info";
|
|
8
|
+
ErrorType["ERROR"] = "error";
|
|
9
|
+
})(ErrorType || (exports.ErrorType = ErrorType = {}));
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { StoreConfig, ErrorType } from '../types';
|
|
2
|
+
export declare abstract class AbstractStore<Type = StoreConfig> {
|
|
3
|
+
custom: {};
|
|
4
|
+
loading: boolean;
|
|
5
|
+
loaded: boolean;
|
|
6
|
+
error: {
|
|
7
|
+
code?: number;
|
|
8
|
+
type?: ErrorType;
|
|
9
|
+
message?: string;
|
|
10
|
+
} | undefined;
|
|
11
|
+
config: Type;
|
|
12
|
+
constructor(config: Type);
|
|
13
|
+
setConfig(newConfig: Type): void;
|
|
14
|
+
abstract update(data: any): void;
|
|
15
|
+
toJSON(thing?: this): this;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=AbstractStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractStore.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACvD,8BAAsB,aAAa,CAAC,IAAI,GAAG,WAAW;IAC9C,MAAM,KAAM;IACZ,OAAO,UAAS;IAChB,MAAM,UAAS;IACf,KAAK,EACT;QACA,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAChB,GACD,SAAS,CAAC;IACN,MAAM,EAAE,IAAI,CAAC;gBAER,MAAM,EAAE,IAAI;IAWxB,SAAS,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI;IAIhC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAEhC,MAAM,CAAC,KAAK,OAAO;CAInB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { makeObservable, observable, toJS } from 'mobx';
|
|
2
|
+
export class AbstractStore {
|
|
3
|
+
constructor(config) {
|
|
4
|
+
this.custom = {};
|
|
5
|
+
this.loading = false;
|
|
6
|
+
this.loaded = false;
|
|
7
|
+
this.config = config;
|
|
8
|
+
makeObservable(this, {
|
|
9
|
+
custom: observable,
|
|
10
|
+
loading: observable,
|
|
11
|
+
loaded: observable,
|
|
12
|
+
config: observable,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
setConfig(newConfig) {
|
|
16
|
+
this.config = newConfig;
|
|
17
|
+
}
|
|
18
|
+
toJSON(thing = this) {
|
|
19
|
+
// TODO: make this work better
|
|
20
|
+
return toJS(thing);
|
|
21
|
+
}
|
|
22
|
+
}
|