@searchspring/snap-store-mobx 0.27.7 → 0.27.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Abstract/AbstractStore.d.ts +3 -4
- package/dist/cjs/Abstract/AbstractStore.d.ts.map +1 -1
- package/dist/cjs/Abstract/AbstractStore.js +0 -1
- package/dist/cjs/Autocomplete/AutocompleteStore.d.ts +8 -7
- package/dist/cjs/Autocomplete/AutocompleteStore.d.ts.map +1 -1
- package/dist/cjs/Autocomplete/AutocompleteStore.js +17 -16
- package/dist/cjs/Autocomplete/Stores/QueryStore.d.ts +3 -3
- package/dist/cjs/Autocomplete/Stores/QueryStore.d.ts.map +1 -1
- package/dist/cjs/Autocomplete/Stores/QueryStore.js +1 -1
- package/dist/cjs/Autocomplete/Stores/StateStore.d.ts +1 -1
- package/dist/cjs/Autocomplete/Stores/StateStore.d.ts.map +1 -1
- package/dist/cjs/Autocomplete/Stores/TermStore.d.ts +1 -1
- package/dist/cjs/Autocomplete/Stores/TermStore.d.ts.map +1 -1
- package/dist/cjs/Autocomplete/Stores/TrendingStore.d.ts +4 -2
- package/dist/cjs/Autocomplete/Stores/TrendingStore.d.ts.map +1 -1
- package/dist/cjs/Autocomplete/Stores/TrendingStore.js +2 -2
- package/dist/cjs/Finder/FinderStore.d.ts +2 -1
- package/dist/cjs/Finder/FinderStore.d.ts.map +1 -1
- package/dist/cjs/Finder/FinderStore.js +7 -7
- package/dist/cjs/Finder/Stores/SelectionStore.d.ts +43 -4
- package/dist/cjs/Finder/Stores/SelectionStore.d.ts.map +1 -1
- package/dist/cjs/Finder/Stores/SelectionStore.js +10 -9
- package/dist/cjs/Recommendation/RecommendationStore.d.ts +2 -1
- package/dist/cjs/Recommendation/RecommendationStore.d.ts.map +1 -1
- package/dist/cjs/Recommendation/RecommendationStore.js +4 -4
- package/dist/cjs/Recommendation/Stores/ProfileStore.d.ts +2 -1
- package/dist/cjs/Recommendation/Stores/ProfileStore.d.ts.map +1 -1
- package/dist/cjs/Recommendation/Stores/ProfileStore.js +6 -5
- package/dist/cjs/Search/SearchStore.d.ts +3 -3
- package/dist/cjs/Search/SearchStore.d.ts.map +1 -1
- package/dist/cjs/Search/SearchStore.js +24 -8
- package/dist/cjs/Search/Stores/FacetStore.d.ts +70 -1
- package/dist/cjs/Search/Stores/FacetStore.d.ts.map +1 -1
- package/dist/cjs/Search/Stores/FacetStore.js +36 -30
- package/dist/cjs/Search/Stores/FilterStore.d.ts +30 -2
- package/dist/cjs/Search/Stores/FilterStore.d.ts.map +1 -1
- package/dist/cjs/Search/Stores/FilterStore.js +30 -33
- package/dist/cjs/Search/Stores/MerchandisingStore.d.ts +4 -4
- package/dist/cjs/Search/Stores/MerchandisingStore.d.ts.map +1 -1
- package/dist/cjs/Search/Stores/MerchandisingStore.js +1 -1
- package/dist/cjs/Search/Stores/PaginationStore.d.ts +3 -4
- package/dist/cjs/Search/Stores/PaginationStore.d.ts.map +1 -1
- package/dist/cjs/Search/Stores/PaginationStore.js +2 -1
- package/dist/cjs/Search/Stores/QueryStore.d.ts +4 -4
- package/dist/cjs/Search/Stores/QueryStore.d.ts.map +1 -1
- package/dist/cjs/Search/Stores/ResultStore.d.ts +30 -3
- package/dist/cjs/Search/Stores/ResultStore.d.ts.map +1 -1
- package/dist/cjs/Search/Stores/ResultStore.js +4 -2
- package/dist/cjs/Search/Stores/SortingStore.d.ts +7 -3
- package/dist/cjs/Search/Stores/SortingStore.d.ts.map +1 -1
- package/dist/cjs/Search/Stores/SortingStore.js +4 -5
- 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 +6 -6
- package/dist/cjs/Storage/StorageStore.d.ts.map +1 -1
- package/dist/cjs/Storage/StorageStore.js +7 -5
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/types.d.ts +3 -3
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/Abstract/AbstractStore.d.ts +3 -4
- package/dist/esm/Abstract/AbstractStore.d.ts.map +1 -1
- package/dist/esm/Abstract/AbstractStore.js +0 -1
- package/dist/esm/Autocomplete/AutocompleteStore.d.ts +8 -7
- package/dist/esm/Autocomplete/AutocompleteStore.d.ts.map +1 -1
- package/dist/esm/Autocomplete/AutocompleteStore.js +16 -17
- package/dist/esm/Autocomplete/Stores/QueryStore.d.ts +3 -3
- package/dist/esm/Autocomplete/Stores/QueryStore.d.ts.map +1 -1
- package/dist/esm/Autocomplete/Stores/QueryStore.js +1 -1
- package/dist/esm/Autocomplete/Stores/StateStore.d.ts +1 -1
- package/dist/esm/Autocomplete/Stores/StateStore.d.ts.map +1 -1
- package/dist/esm/Autocomplete/Stores/TermStore.d.ts +1 -1
- package/dist/esm/Autocomplete/Stores/TermStore.d.ts.map +1 -1
- package/dist/esm/Autocomplete/Stores/TrendingStore.d.ts +4 -2
- package/dist/esm/Autocomplete/Stores/TrendingStore.d.ts.map +1 -1
- package/dist/esm/Autocomplete/Stores/TrendingStore.js +1 -1
- package/dist/esm/Finder/FinderStore.d.ts +2 -1
- package/dist/esm/Finder/FinderStore.d.ts.map +1 -1
- package/dist/esm/Finder/FinderStore.js +5 -5
- package/dist/esm/Finder/Stores/SelectionStore.d.ts +47 -4
- package/dist/esm/Finder/Stores/SelectionStore.d.ts.map +1 -1
- package/dist/esm/Finder/Stores/SelectionStore.js +8 -8
- package/dist/esm/Recommendation/RecommendationStore.d.ts +2 -1
- package/dist/esm/Recommendation/RecommendationStore.d.ts.map +1 -1
- package/dist/esm/Recommendation/RecommendationStore.js +4 -4
- package/dist/esm/Recommendation/Stores/ProfileStore.d.ts +2 -1
- package/dist/esm/Recommendation/Stores/ProfileStore.d.ts.map +1 -1
- package/dist/esm/Recommendation/Stores/ProfileStore.js +5 -5
- package/dist/esm/Search/SearchStore.d.ts +3 -3
- package/dist/esm/Search/SearchStore.d.ts.map +1 -1
- package/dist/esm/Search/SearchStore.js +24 -9
- package/dist/esm/Search/Stores/FacetStore.d.ts +71 -2
- package/dist/esm/Search/Stores/FacetStore.d.ts.map +1 -1
- package/dist/esm/Search/Stores/FacetStore.js +29 -28
- package/dist/esm/Search/Stores/FilterStore.d.ts +31 -3
- package/dist/esm/Search/Stores/FilterStore.d.ts.map +1 -1
- package/dist/esm/Search/Stores/FilterStore.js +28 -35
- package/dist/esm/Search/Stores/MerchandisingStore.d.ts +4 -4
- package/dist/esm/Search/Stores/MerchandisingStore.d.ts.map +1 -1
- package/dist/esm/Search/Stores/MerchandisingStore.js +1 -1
- package/dist/esm/Search/Stores/PaginationStore.d.ts +3 -4
- package/dist/esm/Search/Stores/PaginationStore.d.ts.map +1 -1
- package/dist/esm/Search/Stores/PaginationStore.js +2 -2
- package/dist/esm/Search/Stores/QueryStore.d.ts +4 -4
- package/dist/esm/Search/Stores/QueryStore.d.ts.map +1 -1
- package/dist/esm/Search/Stores/ResultStore.d.ts +30 -3
- package/dist/esm/Search/Stores/ResultStore.d.ts.map +1 -1
- package/dist/esm/Search/Stores/ResultStore.js +3 -5
- package/dist/esm/Search/Stores/SortingStore.d.ts +7 -3
- package/dist/esm/Search/Stores/SortingStore.d.ts.map +1 -1
- package/dist/esm/Search/Stores/SortingStore.js +4 -5
- 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 +6 -6
- package/dist/esm/Storage/StorageStore.d.ts.map +1 -1
- package/dist/esm/Storage/StorageStore.js +7 -5
- 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 +3 -3
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +6 -5
|
@@ -26,13 +26,12 @@ var SearchStore = /** @class */ (function (_super) {
|
|
|
26
26
|
var _this = this;
|
|
27
27
|
var _a;
|
|
28
28
|
_this = _super.call(this, config) || this;
|
|
29
|
-
_this.meta = {};
|
|
30
29
|
if (typeof services != 'object' || typeof ((_a = services.urlManager) === null || _a === void 0 ? void 0 : _a.subscribe) != 'function') {
|
|
31
30
|
throw new Error("Invalid service 'urlManager' passed to SearchStore. Missing \"subscribe\" function.");
|
|
32
31
|
}
|
|
33
32
|
_this.services = services;
|
|
34
33
|
_this.storage = new StorageStore_1.StorageStore();
|
|
35
|
-
_this.update(
|
|
34
|
+
_this.update();
|
|
36
35
|
(0, mobx_1.makeObservable)(_this, {
|
|
37
36
|
search: mobx_1.observable,
|
|
38
37
|
merchandising: mobx_1.observable,
|
|
@@ -44,18 +43,35 @@ var SearchStore = /** @class */ (function (_super) {
|
|
|
44
43
|
});
|
|
45
44
|
return _this;
|
|
46
45
|
}
|
|
46
|
+
/*
|
|
47
|
+
TODO: refactor sub-store interfaces
|
|
48
|
+
|
|
49
|
+
interface StoreParameters {
|
|
50
|
+
config?: StoreConfigs;
|
|
51
|
+
services?: StoreServices;
|
|
52
|
+
stores?: {
|
|
53
|
+
storage?: StorageStore;
|
|
54
|
+
state?: StateStore;
|
|
55
|
+
};
|
|
56
|
+
data?: SearchResponseModel & { meta: MetaResponseModel };
|
|
57
|
+
}
|
|
58
|
+
*/
|
|
59
|
+
SearchStore.prototype.reset = function () {
|
|
60
|
+
this.update();
|
|
61
|
+
};
|
|
47
62
|
SearchStore.prototype.update = function (data) {
|
|
63
|
+
if (data === void 0) { data = {}; }
|
|
48
64
|
this.error = undefined;
|
|
49
65
|
this.data = JSON.parse(JSON.stringify(data));
|
|
50
66
|
this.loaded = !!data.pagination;
|
|
51
|
-
this.meta = data.meta;
|
|
52
|
-
this.merchandising = new Stores_1.MerchandisingStore(this.services, data.merchandising);
|
|
53
|
-
this.search = new Stores_1.QueryStore(this.services, data.search);
|
|
54
|
-
this.facets = new Stores_1.FacetStore(this.config, this.services, this.storage, data.facets, data.pagination, this.meta);
|
|
67
|
+
this.meta = data.meta || {};
|
|
68
|
+
this.merchandising = new Stores_1.MerchandisingStore(this.services, (data === null || data === void 0 ? void 0 : data.merchandising) || {});
|
|
69
|
+
this.search = new Stores_1.QueryStore(this.services, (data === null || data === void 0 ? void 0 : data.search) || {});
|
|
70
|
+
this.facets = new Stores_1.FacetStore(this.config, this.services, this.storage, data.facets, (data === null || data === void 0 ? void 0 : data.pagination) || {}, this.meta);
|
|
55
71
|
this.filters = new Stores_1.FilterStore(this.services, data.filters, this.meta);
|
|
56
|
-
this.results = new Stores_1.ResultStore(this.config, this.services, data.results, data.pagination, data.merchandising);
|
|
72
|
+
this.results = new Stores_1.ResultStore(this.config, this.services, (data === null || data === void 0 ? void 0 : data.results) || [], data.pagination, data.merchandising);
|
|
57
73
|
this.pagination = new Stores_1.PaginationStore(this.config, this.services, data.pagination);
|
|
58
|
-
this.sorting = new Stores_1.SortingStore(this.services, data.sorting, data.search, this.meta);
|
|
74
|
+
this.sorting = new Stores_1.SortingStore(this.services, (data === null || data === void 0 ? void 0 : data.sorting) || [], (data === null || data === void 0 ? void 0 : data.search) || {}, this.meta);
|
|
59
75
|
};
|
|
60
76
|
return SearchStore;
|
|
61
77
|
}(AbstractStore_1.AbstractStore));
|
|
@@ -1,8 +1,77 @@
|
|
|
1
|
+
import type { UrlManager } from '@searchspring/snap-url-manager';
|
|
1
2
|
import type { StorageStore } from '../../Storage/StorageStore';
|
|
2
3
|
import type { AutocompleteStoreConfig, SearchStoreConfig, StoreServices } from '../../types';
|
|
3
|
-
import type { MetaResponseModel, SearchResponseModelPagination, SearchResponseModelFacet } from '@searchspring/snapi-types';
|
|
4
|
+
import type { MetaResponseModel, MetaResponseModelFacet, MetaResponseModelFacetSlider, MetaResponseModelFacetValueMultipleEnum, MetaResponseModelFacetHierarchyAllOf, SearchResponseModelPagination, SearchResponseModelFacet, SearchResponseModelFacetRange, SearchResponseModelFacetValue, SearchResponseModelFacetValueAllOfValues, SearchRequestModelFilterRangeAllOfValue } from '@searchspring/snapi-types';
|
|
4
5
|
export declare class FacetStore extends Array {
|
|
5
6
|
static get [Symbol.species](): ArrayConstructor;
|
|
6
7
|
constructor(config: SearchStoreConfig | AutocompleteStoreConfig, services: StoreServices, storage: StorageStore, facetsData: SearchResponseModelFacet[], pagination: SearchResponseModelPagination, meta: MetaResponseModel);
|
|
7
8
|
}
|
|
9
|
+
declare class Facet {
|
|
10
|
+
services: StoreServices;
|
|
11
|
+
type: string;
|
|
12
|
+
field: string;
|
|
13
|
+
filtered: boolean;
|
|
14
|
+
custom: {};
|
|
15
|
+
collapsed: boolean;
|
|
16
|
+
display: string;
|
|
17
|
+
label: string;
|
|
18
|
+
storage: StorageStore;
|
|
19
|
+
constructor(services: StoreServices, storage: StorageStore, facet: SearchResponseModelFacetValue | SearchResponseModelFacetRange, facetMeta: MetaResponseModelFacet);
|
|
20
|
+
get clear(): {
|
|
21
|
+
url: UrlManager;
|
|
22
|
+
};
|
|
23
|
+
toggleCollapse(): void;
|
|
24
|
+
}
|
|
25
|
+
export declare class RangeFacet extends Facet {
|
|
26
|
+
step?: number;
|
|
27
|
+
range?: SearchRequestModelFilterRangeAllOfValue;
|
|
28
|
+
active?: SearchRequestModelFilterRangeAllOfValue;
|
|
29
|
+
formatSeparator: string;
|
|
30
|
+
formatValue: string;
|
|
31
|
+
constructor(config: SearchStoreConfig | AutocompleteStoreConfig, services: StoreServices, storage: StorageStore, facet: SearchResponseModelFacetRange, facetMeta: MetaResponseModelFacetSlider);
|
|
32
|
+
}
|
|
33
|
+
export declare class ValueFacet extends Facet {
|
|
34
|
+
values: Array<HierarchyValue | Value | RangeValue | undefined>;
|
|
35
|
+
search: {
|
|
36
|
+
input: string;
|
|
37
|
+
};
|
|
38
|
+
multiple: MetaResponseModelFacetValueMultipleEnum;
|
|
39
|
+
overflow: {
|
|
40
|
+
enabled: boolean;
|
|
41
|
+
limited: boolean;
|
|
42
|
+
limit: number;
|
|
43
|
+
remaining: number | undefined;
|
|
44
|
+
setLimit: (limit: number) => void;
|
|
45
|
+
toggle: (val?: boolean) => void;
|
|
46
|
+
calculate: () => void;
|
|
47
|
+
};
|
|
48
|
+
constructor(config: SearchStoreConfig | AutocompleteStoreConfig, services: StoreServices, storage: StorageStore, facet: SearchResponseModelFacetValue, facetMeta: MetaResponseModelFacet);
|
|
49
|
+
get refinedValues(): (HierarchyValue | Value | RangeValue)[];
|
|
50
|
+
}
|
|
51
|
+
export declare class Value {
|
|
52
|
+
label: string;
|
|
53
|
+
count: number;
|
|
54
|
+
filtered: boolean;
|
|
55
|
+
value: string;
|
|
56
|
+
custom: {};
|
|
57
|
+
url: UrlManager;
|
|
58
|
+
preview?: () => void;
|
|
59
|
+
constructor(services: StoreServices, facet: ValueFacet, value: SearchResponseModelFacetValueAllOfValues);
|
|
60
|
+
}
|
|
61
|
+
export declare class HierarchyValue extends Value {
|
|
62
|
+
level: number;
|
|
63
|
+
history: boolean;
|
|
64
|
+
constructor(services: StoreServices, facet: ValueFacet & MetaResponseModelFacetHierarchyAllOf, value: SearchResponseModelFacetValueAllOfValues, filteredValues: SearchResponseModelFacetValueAllOfValues[]);
|
|
65
|
+
}
|
|
66
|
+
export declare class RangeValue {
|
|
67
|
+
label: string;
|
|
68
|
+
count: number;
|
|
69
|
+
filtered: boolean;
|
|
70
|
+
low: number;
|
|
71
|
+
high: number;
|
|
72
|
+
custom: {};
|
|
73
|
+
url: UrlManager;
|
|
74
|
+
constructor(services: StoreServices, facet: ValueFacet, value: SearchResponseModelFacetValueAllOfValues);
|
|
75
|
+
}
|
|
76
|
+
export {};
|
|
8
77
|
//# sourceMappingURL=FacetStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FacetStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/FacetStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FacetStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/FacetStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,aAAa,EAAoB,MAAM,aAAa,CAAC;AAC/G,OAAO,KAAK,EACX,iBAAiB,EACjB,sBAAsB,EAEtB,4BAA4B,EAC5B,uCAAuC,EACvC,oCAAoC,EACpC,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAE7B,wCAAwC,EACxC,uCAAuC,EACvC,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,UAAW,SAAQ,KAAK;IACpC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAEA,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,EACnD,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,wBAAwB,EAAO,EAC3C,UAAU,EAAE,6BAAkC,EAC9C,IAAI,EAAE,iBAAiB;CAgDxB;AAED,cAAM,KAAK;IACH,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAG,MAAM,CAAC;IACd,KAAK,EAAG,MAAM,CAAC;IACf,QAAQ,UAAS;IACjB,MAAM,KAAM;IACZ,SAAS,UAAS;IAClB,OAAO,SAAM;IACb,KAAK,SAAM;IACX,OAAO,EAAE,YAAY,CAAC;gBAG5B,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,6BAA6B,GAAG,6BAA6B,EACpE,SAAS,EAAE,sBAAsB;IA0BlC,IAAW,KAAK;;MAIf;IAEM,cAAc;CAKrB;AAED,qBAAa,UAAW,SAAQ,KAAK;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,uCAAuC,CAGpD;IACK,MAAM,CAAC,EAAE,uCAAuC,CAGrD;IACK,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;gBAG1B,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,EACnD,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,6BAA6B,EACpC,SAAS,EAAE,4BAA4B;CAgCxC;AAED,qBAAa,UAAW,SAAQ,KAAK;IAC7B,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC,CAAM;IAEpE,MAAM;;MAEX;IAEK,QAAQ,EAAG,uCAAuC,CAAC;IAEnD,QAAQ,EAAE;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;QAChC,SAAS,EAAE,MAAM,IAAI,CAAC;KACtB,CAwCC;gBAGD,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,EACnD,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,6BAA6B,EACpC,SAAS,EAAE,sBAAsB;IAqDlC,IAAW,aAAa,4CAavB;CACD;AAED,qBAAa,KAAK;IACV,KAAK,EAAG,MAAM,CAAC;IACf,KAAK,EAAG,MAAM,CAAC;IACf,QAAQ,EAAG,OAAO,CAAC;IACnB,KAAK,EAAG,MAAM,CAAC;IACf,MAAM,EAAG,EAAE,CAAC;IACZ,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;gBAEhB,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,wCAAwC;CAavG;AAED,qBAAa,cAAe,SAAQ,KAAK;IACjC,KAAK,SAAK;IACV,OAAO,UAAS;gBAGtB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,UAAU,GAAG,oCAAoC,EACxD,KAAK,EAAE,wCAAwC,EAC/C,cAAc,EAAE,wCAAwC,EAAE;CAqB3D;AAED,qBAAa,UAAU;IACf,KAAK,EAAG,MAAM,CAAC;IACf,KAAK,EAAG,MAAM,CAAC;IACf,QAAQ,EAAG,OAAO,CAAC;IACnB,GAAG,EAAG,MAAM,CAAC;IACb,IAAI,EAAG,MAAM,CAAC;IACd,MAAM,EAAG,EAAE,CAAC;IACZ,GAAG,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,wCAAwC;CAevG"}
|
|
@@ -15,16 +15,17 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.FacetStore = void 0;
|
|
18
|
+
exports.RangeValue = exports.HierarchyValue = exports.Value = exports.ValueFacet = exports.RangeFacet = exports.FacetStore = void 0;
|
|
19
19
|
var mobx_1 = require("mobx");
|
|
20
20
|
var FacetStore = /** @class */ (function (_super) {
|
|
21
21
|
__extends(FacetStore, _super);
|
|
22
22
|
function FacetStore(config, services, storage, facetsData, pagination, meta) {
|
|
23
23
|
if (facetsData === void 0) { facetsData = []; }
|
|
24
|
+
if (pagination === void 0) { pagination = {}; }
|
|
24
25
|
var facets = facetsData
|
|
25
26
|
.filter(function (facet) {
|
|
26
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
27
|
-
var facetMeta = meta.facets[facet.field];
|
|
27
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
28
|
+
var facetMeta = facet.field && meta.facets && meta.facets[facet.field];
|
|
28
29
|
// exclude facets that have no meta data
|
|
29
30
|
if (!facetMeta)
|
|
30
31
|
return false;
|
|
@@ -33,30 +34,31 @@ var FacetStore = /** @class */ (function (_super) {
|
|
|
33
34
|
return false;
|
|
34
35
|
}
|
|
35
36
|
// trim facets - remove facets that have no use
|
|
36
|
-
var facetConfig = ((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field]);
|
|
37
|
+
var facetConfig = ((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && facet.field && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field]);
|
|
37
38
|
var shouldTrim = typeof (facetConfig === null || facetConfig === void 0 ? void 0 : facetConfig.trim) == 'boolean' ? facetConfig.trim : (_f = (_e = config.settings) === null || _e === void 0 ? void 0 : _e.facets) === null || _f === void 0 ? void 0 : _f.trim;
|
|
38
39
|
if (shouldTrim) {
|
|
39
|
-
if (facet.type === 'range' &&
|
|
40
|
+
if (facet.type === 'range' &&
|
|
41
|
+
((_g = facet === null || facet === void 0 ? void 0 : facet.range) === null || _g === void 0 ? void 0 : _g.low) == ((_h = facet === null || facet === void 0 ? void 0 : facet.range) === null || _h === void 0 ? void 0 : _h.high)) {
|
|
40
42
|
return false;
|
|
41
43
|
}
|
|
42
|
-
else if (((
|
|
44
|
+
else if (((_j = facet.values) === null || _j === void 0 ? void 0 : _j.length) == 0) {
|
|
43
45
|
return false;
|
|
44
46
|
}
|
|
45
|
-
else if (!facet.filtered && ((
|
|
47
|
+
else if (!facet.filtered && ((_k = facet.values) === null || _k === void 0 ? void 0 : _k.length) == 1) {
|
|
46
48
|
return facet.values[0].count != pagination.totalResults;
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
return true;
|
|
50
52
|
})
|
|
51
53
|
.map(function (facet) {
|
|
52
|
-
var facetMeta = meta.facets[facet.field];
|
|
54
|
+
var facetMeta = facet.field && meta.facets && meta.facets[facet.field];
|
|
53
55
|
switch (facet.type) {
|
|
54
56
|
case 'range':
|
|
55
|
-
return new RangeFacet(config, services, storage, facet, facetMeta);
|
|
57
|
+
return new RangeFacet(config, services, storage, facet, facetMeta || {});
|
|
56
58
|
case 'value':
|
|
57
59
|
case 'range-buckets':
|
|
58
60
|
default:
|
|
59
|
-
return new ValueFacet(config, services, storage, facet, facetMeta);
|
|
61
|
+
return new ValueFacet(config, services, storage, facet, facetMeta || {});
|
|
60
62
|
}
|
|
61
63
|
});
|
|
62
64
|
return _super.apply(this, facets) || this;
|
|
@@ -100,9 +102,8 @@ var Facet = /** @class */ (function () {
|
|
|
100
102
|
}
|
|
101
103
|
Object.defineProperty(Facet.prototype, "clear", {
|
|
102
104
|
get: function () {
|
|
103
|
-
var _a, _b;
|
|
104
105
|
return {
|
|
105
|
-
url:
|
|
106
|
+
url: this.services.urlManager.remove('page').remove("filter.".concat(this.field)),
|
|
106
107
|
};
|
|
107
108
|
},
|
|
108
109
|
enumerable: false,
|
|
@@ -118,7 +119,7 @@ var RangeFacet = /** @class */ (function (_super) {
|
|
|
118
119
|
__extends(RangeFacet, _super);
|
|
119
120
|
function RangeFacet(config, services, storage, facet, facetMeta) {
|
|
120
121
|
var _this = this;
|
|
121
|
-
var _a, _b, _c, _d, _e, _f;
|
|
122
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
122
123
|
_this = _super.call(this, services, storage, facet, facetMeta) || this;
|
|
123
124
|
_this.range = {
|
|
124
125
|
low: 0,
|
|
@@ -128,11 +129,11 @@ var RangeFacet = /** @class */ (function (_super) {
|
|
|
128
129
|
low: 0,
|
|
129
130
|
high: 0,
|
|
130
131
|
};
|
|
131
|
-
_this.step = facet.step;
|
|
132
|
-
var facetConfig = ((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field]);
|
|
132
|
+
_this.step = facet === null || facet === void 0 ? void 0 : facet.step;
|
|
133
|
+
var facetConfig = (((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && facet.field && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field])) || {};
|
|
133
134
|
var shouldStore = typeof (facetConfig === null || facetConfig === void 0 ? void 0 : facetConfig.storeRange) == 'boolean' ? facetConfig.storeRange : (_f = (_e = config.settings) === null || _e === void 0 ? void 0 : _e.facets) === null || _f === void 0 ? void 0 : _f.storeRange;
|
|
134
135
|
var storedRange = shouldStore && _this.storage.get("facets.".concat(_this.field, ".range"));
|
|
135
|
-
if (storedRange && facet.filtered && (facet.range.low > storedRange.low || facet.range.high < storedRange.high)) {
|
|
136
|
+
if (storedRange && facet.filtered && (((_g = facet.range) === null || _g === void 0 ? void 0 : _g.low) > storedRange.low || ((_h = facet.range) === null || _h === void 0 ? void 0 : _h.high) < storedRange.high)) {
|
|
136
137
|
// range from API has shrunk
|
|
137
138
|
_this.range = _this.storage.get("facets.".concat(_this.field, ".range"));
|
|
138
139
|
}
|
|
@@ -156,6 +157,7 @@ var RangeFacet = /** @class */ (function (_super) {
|
|
|
156
157
|
}
|
|
157
158
|
return RangeFacet;
|
|
158
159
|
}(Facet));
|
|
160
|
+
exports.RangeFacet = RangeFacet;
|
|
159
161
|
var ValueFacet = /** @class */ (function (_super) {
|
|
160
162
|
__extends(ValueFacet, _super);
|
|
161
163
|
function ValueFacet(config, services, storage, facet, facetMeta) {
|
|
@@ -210,15 +212,16 @@ var ValueFacet = /** @class */ (function (_super) {
|
|
|
210
212
|
_this.values =
|
|
211
213
|
(facet.values &&
|
|
212
214
|
facet.values.map(function (value) {
|
|
215
|
+
var _a, _b;
|
|
213
216
|
switch (facet.type) {
|
|
214
217
|
case 'value':
|
|
215
218
|
if (facetMeta.display === 'hierarchy') {
|
|
216
|
-
var filteredValues = facet.values.filter(function (value) { return value.filtered; });
|
|
219
|
+
var filteredValues = ((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.filter(function (value) { return value.filtered; })) || [];
|
|
217
220
|
return new HierarchyValue(services, _this, value, filteredValues);
|
|
218
221
|
}
|
|
219
222
|
else {
|
|
220
223
|
// converting values to strings to ensure UrlManager state matches state created from URL
|
|
221
|
-
value.value = value.value.toString();
|
|
224
|
+
value.value = (_b = value === null || value === void 0 ? void 0 : value.value) === null || _b === void 0 ? void 0 : _b.toString();
|
|
222
225
|
return new Value(services, _this, value);
|
|
223
226
|
}
|
|
224
227
|
case 'range-buckets':
|
|
@@ -226,7 +229,7 @@ var ValueFacet = /** @class */ (function (_super) {
|
|
|
226
229
|
}
|
|
227
230
|
})) ||
|
|
228
231
|
[];
|
|
229
|
-
var facetConfig = ((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field]);
|
|
232
|
+
var facetConfig = (((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && facet.field && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field])) || {};
|
|
230
233
|
var shouldPin = typeof (facetConfig === null || facetConfig === void 0 ? void 0 : facetConfig.pinFiltered) == 'boolean' ? facetConfig.pinFiltered : (_f = (_e = config.settings) === null || _e === void 0 ? void 0 : _e.facets) === null || _f === void 0 ? void 0 : _f.pinFiltered;
|
|
231
234
|
if (shouldPin && facetMeta.display !== 'hierarchy') {
|
|
232
235
|
_this.values.sort(function (a, b) { return Number(b.filtered) - Number(a.filtered); });
|
|
@@ -252,7 +255,7 @@ var ValueFacet = /** @class */ (function (_super) {
|
|
|
252
255
|
var values = this.values || [];
|
|
253
256
|
if (this.search.input) {
|
|
254
257
|
var search_1 = new RegExp(escapeRegExp(this.search.input), 'i');
|
|
255
|
-
values = this.values.filter(function (value) { return String(value.label).match(search_1); });
|
|
258
|
+
values = this.values.filter(function (value) { return String((value === null || value === void 0 ? void 0 : value.label) || '').match(search_1); });
|
|
256
259
|
}
|
|
257
260
|
if (this.overflow.enabled && this.overflow.limited) {
|
|
258
261
|
values = values.slice(0, this.overflow.limit);
|
|
@@ -264,15 +267,15 @@ var ValueFacet = /** @class */ (function (_super) {
|
|
|
264
267
|
});
|
|
265
268
|
return ValueFacet;
|
|
266
269
|
}(Facet));
|
|
270
|
+
exports.ValueFacet = ValueFacet;
|
|
267
271
|
var Value = /** @class */ (function () {
|
|
268
272
|
function Value(services, facet, value) {
|
|
269
|
-
var _a, _b;
|
|
270
273
|
Object.assign(this, value);
|
|
271
274
|
if (this.filtered) {
|
|
272
|
-
this.url =
|
|
275
|
+
this.url = services.urlManager.remove('page').remove("filter.".concat(facet.field), value.value);
|
|
273
276
|
}
|
|
274
277
|
else {
|
|
275
|
-
var valueUrl =
|
|
278
|
+
var valueUrl = services.urlManager.remove('page');
|
|
276
279
|
if (facet.multiple == 'single') {
|
|
277
280
|
valueUrl = valueUrl === null || valueUrl === void 0 ? void 0 : valueUrl.remove("filter.".concat(facet.field));
|
|
278
281
|
}
|
|
@@ -281,11 +284,12 @@ var Value = /** @class */ (function () {
|
|
|
281
284
|
}
|
|
282
285
|
return Value;
|
|
283
286
|
}());
|
|
287
|
+
exports.Value = Value;
|
|
284
288
|
var HierarchyValue = /** @class */ (function (_super) {
|
|
285
289
|
__extends(HierarchyValue, _super);
|
|
286
290
|
function HierarchyValue(services, facet, value, filteredValues) {
|
|
287
291
|
var _this = this;
|
|
288
|
-
var _a
|
|
292
|
+
var _a;
|
|
289
293
|
_this = _super.call(this, services, facet, value) || this;
|
|
290
294
|
_this.level = 0;
|
|
291
295
|
_this.history = false;
|
|
@@ -293,29 +297,30 @@ var HierarchyValue = /** @class */ (function (_super) {
|
|
|
293
297
|
_this.level = value.value.split(facet.hierarchyDelimiter).length;
|
|
294
298
|
}
|
|
295
299
|
if (facet.filtered && (filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.length)) {
|
|
296
|
-
var filteredLevel = filteredValues[0].value.split(facet.hierarchyDelimiter).length;
|
|
297
|
-
if (_this.level <= filteredLevel) {
|
|
300
|
+
var filteredLevel = (facet === null || facet === void 0 ? void 0 : facet.hierarchyDelimiter) && ((_a = filteredValues[0].value) === null || _a === void 0 ? void 0 : _a.split(facet.hierarchyDelimiter).length);
|
|
301
|
+
if (filteredLevel && _this.level <= filteredLevel) {
|
|
298
302
|
_this.history = true;
|
|
299
303
|
}
|
|
300
304
|
}
|
|
301
305
|
if (value.value) {
|
|
302
|
-
_this.url =
|
|
306
|
+
_this.url = services.urlManager.remove('page').set("filter.".concat(facet.field), value.value);
|
|
303
307
|
}
|
|
304
308
|
else {
|
|
305
|
-
_this.url =
|
|
309
|
+
_this.url = services.urlManager.remove('page').remove("filter.".concat(facet.field));
|
|
306
310
|
}
|
|
307
311
|
return _this;
|
|
308
312
|
}
|
|
309
313
|
return HierarchyValue;
|
|
310
314
|
}(Value));
|
|
315
|
+
exports.HierarchyValue = HierarchyValue;
|
|
311
316
|
var RangeValue = /** @class */ (function () {
|
|
312
317
|
function RangeValue(services, facet, value) {
|
|
313
318
|
Object.assign(this, value);
|
|
314
319
|
if (this.filtered) {
|
|
315
|
-
this.url = services
|
|
320
|
+
this.url = services.urlManager.remove('page').remove("filter.".concat(facet.field), [{ low: this.low, high: this.high }]);
|
|
316
321
|
}
|
|
317
322
|
else {
|
|
318
|
-
var valueUrl = services
|
|
323
|
+
var valueUrl = services.urlManager.remove('page');
|
|
319
324
|
if (facet.multiple == 'single') {
|
|
320
325
|
valueUrl = valueUrl === null || valueUrl === void 0 ? void 0 : valueUrl.remove("filter.".concat(facet.field));
|
|
321
326
|
}
|
|
@@ -324,6 +329,7 @@ var RangeValue = /** @class */ (function () {
|
|
|
324
329
|
}
|
|
325
330
|
return RangeValue;
|
|
326
331
|
}());
|
|
332
|
+
exports.RangeValue = RangeValue;
|
|
327
333
|
function escapeRegExp(string) {
|
|
328
334
|
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
|
|
329
335
|
}
|
|
@@ -1,7 +1,35 @@
|
|
|
1
|
+
import type { UrlManager } from '@searchspring/snap-url-manager';
|
|
1
2
|
import type { StoreServices } from '../../types';
|
|
2
|
-
import type { SearchResponseModelFilter, MetaResponseModel } from '@searchspring/snapi-types';
|
|
3
|
-
export declare class FilterStore extends Array {
|
|
3
|
+
import type { SearchResponseModelFilter, MetaResponseModel, SearchResponseModelFilterRange, SearchResponseModelFilterValue, MetaResponseModelFacetDefaults, MetaResponseModelFacet } from '@searchspring/snapi-types';
|
|
4
|
+
export declare class FilterStore extends Array<RangeFilter | Filter> {
|
|
4
5
|
static get [Symbol.species](): ArrayConstructor;
|
|
5
6
|
constructor(services: StoreServices, filtersData: SearchResponseModelFilter[], meta: MetaResponseModel);
|
|
6
7
|
}
|
|
8
|
+
export declare class Filter {
|
|
9
|
+
label: string;
|
|
10
|
+
facet: {
|
|
11
|
+
field?: string;
|
|
12
|
+
label?: string;
|
|
13
|
+
};
|
|
14
|
+
value: {
|
|
15
|
+
value?: string;
|
|
16
|
+
label?: string;
|
|
17
|
+
};
|
|
18
|
+
url: UrlManager;
|
|
19
|
+
constructor(services: StoreServices, filter: SearchResponseModelFilterValue, meta: MetaResponseModelFacet & MetaResponseModelFacetDefaults);
|
|
20
|
+
}
|
|
21
|
+
export declare class RangeFilter {
|
|
22
|
+
label: string;
|
|
23
|
+
facet: {
|
|
24
|
+
field?: string;
|
|
25
|
+
label?: string;
|
|
26
|
+
};
|
|
27
|
+
value: {
|
|
28
|
+
low?: number;
|
|
29
|
+
high?: number;
|
|
30
|
+
label: string;
|
|
31
|
+
};
|
|
32
|
+
url: UrlManager;
|
|
33
|
+
constructor(services: StoreServices, filter: SearchResponseModelFilterRange, meta: MetaResponseModelFacet & MetaResponseModelFacetDefaults);
|
|
34
|
+
}
|
|
7
35
|
//# sourceMappingURL=FilterStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/FilterStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/FilterStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EACX,yBAAyB,EACzB,iBAAiB,EACjB,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,WAAY,SAAQ,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;IAC3D,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAEW,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,yBAAyB,EAAO,EAAE,IAAI,EAAE,iBAAiB;CAmB3G;AAED,qBAAa,MAAM;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACK,KAAK,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAEK,GAAG,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,sBAAsB,GAAG,8BAA8B;CAmB1I;AAED,qBAAa,WAAW;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACK,KAAK,EAAE;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IAEK,GAAG,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,sBAAsB,GAAG,8BAA8B;CAoB1I"}
|
|
@@ -15,41 +15,23 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.FilterStore = void 0;
|
|
18
|
+
exports.RangeFilter = exports.Filter = exports.FilterStore = void 0;
|
|
19
19
|
var mobx_1 = require("mobx");
|
|
20
20
|
var FilterStore = /** @class */ (function (_super) {
|
|
21
21
|
__extends(FilterStore, _super);
|
|
22
22
|
function FilterStore(services, filtersData, meta) {
|
|
23
23
|
if (filtersData === void 0) { filtersData = []; }
|
|
24
24
|
var filters = filtersData.map(function (filter) {
|
|
25
|
-
var
|
|
25
|
+
var field = filter.field;
|
|
26
|
+
var facetMeta = meta.facets && meta.facets[field];
|
|
26
27
|
switch (filter.type) {
|
|
27
28
|
case 'range':
|
|
28
29
|
var rangeFilter = filter;
|
|
29
|
-
return new RangeFilter(services,
|
|
30
|
-
facet: {
|
|
31
|
-
field: rangeFilter.field,
|
|
32
|
-
label: (facetMeta === null || facetMeta === void 0 ? void 0 : facetMeta.label) || rangeFilter.field,
|
|
33
|
-
},
|
|
34
|
-
value: {
|
|
35
|
-
low: rangeFilter.value.low,
|
|
36
|
-
high: rangeFilter.value.high,
|
|
37
|
-
label: rangeFilter.label || "".concat(rangeFilter.value.low, " - ").concat(rangeFilter.value.high),
|
|
38
|
-
},
|
|
39
|
-
});
|
|
30
|
+
return new RangeFilter(services, rangeFilter, facetMeta);
|
|
40
31
|
case 'value':
|
|
41
32
|
default:
|
|
42
33
|
var valueFilter = filter;
|
|
43
|
-
return new Filter(services,
|
|
44
|
-
facet: {
|
|
45
|
-
field: valueFilter.field,
|
|
46
|
-
label: (facetMeta === null || facetMeta === void 0 ? void 0 : facetMeta.label) || valueFilter.field,
|
|
47
|
-
},
|
|
48
|
-
value: {
|
|
49
|
-
value: valueFilter.value,
|
|
50
|
-
label: valueFilter.label,
|
|
51
|
-
},
|
|
52
|
-
});
|
|
34
|
+
return new Filter(services, valueFilter, facetMeta);
|
|
53
35
|
}
|
|
54
36
|
});
|
|
55
37
|
return _super.apply(this, filters) || this;
|
|
@@ -65,11 +47,17 @@ var FilterStore = /** @class */ (function (_super) {
|
|
|
65
47
|
}(Array));
|
|
66
48
|
exports.FilterStore = FilterStore;
|
|
67
49
|
var Filter = /** @class */ (function () {
|
|
68
|
-
function Filter(services, filter) {
|
|
50
|
+
function Filter(services, filter, meta) {
|
|
69
51
|
var _a;
|
|
70
|
-
this.facet =
|
|
71
|
-
|
|
72
|
-
|
|
52
|
+
this.facet = {
|
|
53
|
+
field: filter.field,
|
|
54
|
+
label: (meta === null || meta === void 0 ? void 0 : meta.label) || filter.field,
|
|
55
|
+
};
|
|
56
|
+
this.value = {
|
|
57
|
+
value: filter.value,
|
|
58
|
+
label: filter.label,
|
|
59
|
+
};
|
|
60
|
+
this.label = "".concat(this.facet.label, ": ").concat(this.value.label);
|
|
73
61
|
this.url = (_a = services === null || services === void 0 ? void 0 : services.urlManager) === null || _a === void 0 ? void 0 : _a.remove('page').remove("filter.".concat(this.facet.field), this.value.value);
|
|
74
62
|
(0, mobx_1.makeObservable)(this, {
|
|
75
63
|
facet: mobx_1.observable,
|
|
@@ -79,13 +67,21 @@ var Filter = /** @class */ (function () {
|
|
|
79
67
|
}
|
|
80
68
|
return Filter;
|
|
81
69
|
}());
|
|
70
|
+
exports.Filter = Filter;
|
|
82
71
|
var RangeFilter = /** @class */ (function () {
|
|
83
|
-
function RangeFilter(services, filter) {
|
|
84
|
-
var _a;
|
|
85
|
-
this.facet =
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
72
|
+
function RangeFilter(services, filter, meta) {
|
|
73
|
+
var _a, _b, _c, _d, _e;
|
|
74
|
+
this.facet = {
|
|
75
|
+
field: filter.field,
|
|
76
|
+
label: (meta === null || meta === void 0 ? void 0 : meta.label) || filter.field,
|
|
77
|
+
};
|
|
78
|
+
this.value = {
|
|
79
|
+
low: (_a = filter === null || filter === void 0 ? void 0 : filter.value) === null || _a === void 0 ? void 0 : _a.low,
|
|
80
|
+
high: (_b = filter === null || filter === void 0 ? void 0 : filter.value) === null || _b === void 0 ? void 0 : _b.high,
|
|
81
|
+
label: filter.label || "".concat((_c = filter === null || filter === void 0 ? void 0 : filter.value) === null || _c === void 0 ? void 0 : _c.low, " - ").concat((_d = filter === null || filter === void 0 ? void 0 : filter.value) === null || _d === void 0 ? void 0 : _d.high),
|
|
82
|
+
};
|
|
83
|
+
this.label = "".concat(this.facet.label, ": ").concat(this.value.label);
|
|
84
|
+
this.url = (_e = services === null || services === void 0 ? void 0 : services.urlManager) === null || _e === void 0 ? void 0 : _e.remove('page').remove("filter.".concat(this.facet.field), { low: this.value.low, high: this.value.high });
|
|
89
85
|
(0, mobx_1.makeObservable)(this, {
|
|
90
86
|
facet: mobx_1.observable,
|
|
91
87
|
value: mobx_1.observable,
|
|
@@ -94,3 +90,4 @@ var RangeFilter = /** @class */ (function () {
|
|
|
94
90
|
}
|
|
95
91
|
return RangeFilter;
|
|
96
92
|
}());
|
|
93
|
+
exports.RangeFilter = RangeFilter;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StoreServices } from '../../types';
|
|
2
|
-
import type { SearchResponseModelMerchandising } from '@searchspring/snapi-types';
|
|
2
|
+
import type { SearchResponseModelMerchandising, SearchResponseModelMerchandisingContentInline } from '@searchspring/snapi-types';
|
|
3
3
|
declare enum ContentType {
|
|
4
4
|
HEADER = "header",
|
|
5
5
|
BANNER = "banner",
|
|
@@ -9,12 +9,12 @@ declare enum ContentType {
|
|
|
9
9
|
}
|
|
10
10
|
export declare class MerchandisingStore {
|
|
11
11
|
redirect: string;
|
|
12
|
-
content: Partial<Record<ContentType, Content
|
|
12
|
+
content: Partial<Record<ContentType, Content>>;
|
|
13
13
|
constructor(services: StoreServices, merchData: SearchResponseModelMerchandising);
|
|
14
14
|
}
|
|
15
|
-
declare class Content extends Array {
|
|
15
|
+
declare class Content extends Array<string | SearchResponseModelMerchandisingContentInline> {
|
|
16
16
|
static get [Symbol.species](): ArrayConstructor;
|
|
17
|
-
constructor(content:
|
|
17
|
+
constructor(content: string[] | SearchResponseModelMerchandisingContentInline[]);
|
|
18
18
|
}
|
|
19
19
|
export {};
|
|
20
20
|
//# sourceMappingURL=MerchandisingStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MerchandisingStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/MerchandisingStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"MerchandisingStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/MerchandisingStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,gCAAgC,EAAE,6CAA6C,EAAE,MAAM,2BAA2B,CAAC;AAEjI,aAAK,WAAW;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;CACjB;AACD,qBAAa,kBAAkB;IACvB,QAAQ,SAAM;IACd,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAM;gBAE/C,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,gCAAgC;CAahF;AAED,cAAM,OAAQ,SAAQ,KAAK,CAAC,MAAM,GAAG,6CAA6C,CAAC;IAClF,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAEW,OAAO,EAAE,MAAM,EAAE,GAAG,6CAA6C,EAAE;CAG/E"}
|
|
@@ -33,7 +33,7 @@ var MerchandisingStore = /** @class */ (function () {
|
|
|
33
33
|
this.redirect = merchData.redirect || '';
|
|
34
34
|
if (merchData.content) {
|
|
35
35
|
Object.values(ContentType).forEach(function (type) {
|
|
36
|
-
if (merchData.content[type]) {
|
|
36
|
+
if (merchData.content && merchData.content[type]) {
|
|
37
37
|
_this.content[type] = new Content(merchData.content[type]);
|
|
38
38
|
}
|
|
39
39
|
});
|
|
@@ -2,7 +2,7 @@ import type { SearchStoreConfig, StoreServices } from '../../types';
|
|
|
2
2
|
import type { SearchResponseModelPagination } from '@searchspring/snapi-types';
|
|
3
3
|
import type { UrlManager } from '@searchspring/snap-url-manager';
|
|
4
4
|
export declare class PaginationStore {
|
|
5
|
-
|
|
5
|
+
services: StoreServices;
|
|
6
6
|
page: number;
|
|
7
7
|
pageSize: number;
|
|
8
8
|
pageSizeOptions: {
|
|
@@ -12,7 +12,6 @@ export declare class PaginationStore {
|
|
|
12
12
|
defaultPageSize: number;
|
|
13
13
|
totalResults: number;
|
|
14
14
|
totalPages: number;
|
|
15
|
-
infinite: boolean;
|
|
16
15
|
controllerConfig: SearchStoreConfig;
|
|
17
16
|
constructor(config: SearchStoreConfig, services: StoreServices, paginationData?: SearchResponseModelPagination);
|
|
18
17
|
get begin(): number;
|
|
@@ -21,8 +20,8 @@ export declare class PaginationStore {
|
|
|
21
20
|
get current(): Page;
|
|
22
21
|
get first(): Page;
|
|
23
22
|
get last(): Page;
|
|
24
|
-
get next(): Page;
|
|
25
|
-
get previous(): Page;
|
|
23
|
+
get next(): Page | undefined;
|
|
24
|
+
get previous(): Page | undefined;
|
|
26
25
|
getPages(min?: number, max?: number): Page[];
|
|
27
26
|
setPageSize(num: number): void;
|
|
28
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/PaginationStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,qBAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"PaginationStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/PaginationStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,qBAAa,eAAe;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACG,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,iBAAiB,CAAC;gBAG1C,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,aAAa,EACvB,cAAc,GAAE,6BAMf;IA4CF,IAAW,KAAK,IAAI,MAAM,CAKzB;IAED,IAAW,GAAG,IAAI,MAAM,CAMvB;IAED,IAAW,aAAa,IAAI,OAAO,CAElC;IAED,IAAW,OAAO,IAAI,IAAI,CAKzB;IAED,IAAW,KAAK,IAAI,IAAI,CAKvB;IAED,IAAW,IAAI,IAAI,IAAI,CAKtB;IAED,IAAW,IAAI,IAAI,IAAI,GAAG,SAAS,CAMlC;IAED,IAAW,QAAQ,IAAI,IAAI,GAAG,SAAS,CAMtC;IAEM,QAAQ,CAAC,GAAG,GAAE,MAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE;IAmD/C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAKrC;AAED,qBAAa,IAAI;IACT,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;gBAGlB,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB;CAQF"}
|
|
@@ -130,10 +130,11 @@ var PaginationStore = /** @class */ (function () {
|
|
|
130
130
|
configurable: true
|
|
131
131
|
});
|
|
132
132
|
PaginationStore.prototype.getPages = function (min, max) {
|
|
133
|
+
if (min === void 0) { min = 5; }
|
|
133
134
|
if (!Number.isInteger(min)) {
|
|
134
135
|
return [];
|
|
135
136
|
}
|
|
136
|
-
if (!Number.isInteger(max)) {
|
|
137
|
+
if (typeof max == 'undefined' || !Number.isInteger(max)) {
|
|
137
138
|
var surrounding = min - 1;
|
|
138
139
|
var from = this.page;
|
|
139
140
|
var to = this.page;
|
|
@@ -2,10 +2,10 @@ import type { UrlManager } from '@searchspring/snap-url-manager';
|
|
|
2
2
|
import type { StoreServices } from '../../types';
|
|
3
3
|
import type { SearchResponseModelSearch, SearchResponseModelSearchMatchTypeEnum } from '@searchspring/snapi-types';
|
|
4
4
|
export declare class QueryStore {
|
|
5
|
-
query
|
|
6
|
-
didYouMean
|
|
7
|
-
originalQuery
|
|
8
|
-
matchType
|
|
5
|
+
query?: Query;
|
|
6
|
+
didYouMean?: Query;
|
|
7
|
+
originalQuery?: Query;
|
|
8
|
+
matchType?: SearchResponseModelSearchMatchTypeEnum;
|
|
9
9
|
constructor(services: StoreServices, search: SearchResponseModelSearch);
|
|
10
10
|
}
|
|
11
11
|
declare class Query {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/QueryStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,sCAAsC,EAAE,MAAM,2BAA2B,CAAC;AACnH,qBAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"QueryStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/QueryStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,sCAAsC,EAAE,MAAM,2BAA2B,CAAC;AACnH,qBAAa,UAAU;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,SAAS,CAAC,EAAE,sCAAsC,CAAC;gBAE9C,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,yBAAyB;CAyBtE;AASD,cAAM,KAAK;IACH,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM;CASlD"}
|