@usereactify/search 5.59.0-beta.2 → 5.59.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/package.json +5 -4
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.d.ts +2 -2
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js +32 -66
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js.map +1 -1
- package/dist/src/components/Result/Results.js +5 -8
- package/dist/src/components/Result/Results.js.map +1 -1
- package/dist/src/components/Sensor/SensorCollection.js +0 -1
- package/dist/src/components/Sensor/SensorCollection.js.map +1 -1
- package/dist/src/components/Sensor/SensorCuratedPageCollection.js +0 -1
- package/dist/src/components/Sensor/SensorCuratedPageCollection.js.map +1 -1
- package/dist/src/components/Sensor/index.d.ts +1 -1
- package/dist/src/components/Sensor/index.js +5 -2
- package/dist/src/components/Sensor/index.js.map +1 -1
- package/dist/src/components/Suggestions/Suggestions.js +2 -1
- package/dist/src/components/Suggestions/Suggestions.js.map +1 -1
- package/dist/src/utility/curation.js +36 -33
- package/dist/src/utility/curation.js.map +1 -1
- package/dist/src/utility/filters.js +6 -3
- package/dist/src/utility/filters.js.map +1 -1
- package/dist/src/utility/props.d.ts +2 -2
- package/dist/src/utility/props.js +16 -19
- package/dist/src/utility/props.js.map +1 -1
- package/dist/src/utility/sortOption.js +64 -129
- package/dist/src/utility/sortOption.js.map +1 -1
- package/package.json +6 -5
|
@@ -3,32 +3,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getCuration = void 0;
|
|
4
4
|
const getCuration = (options) => {
|
|
5
5
|
var _a;
|
|
6
|
-
const handleOrSearchTerm = options.provider.mode === "collection"
|
|
7
|
-
|
|
8
|
-
.
|
|
9
|
-
|
|
6
|
+
const handleOrSearchTerm = options.provider.mode === "collection"
|
|
7
|
+
? options.provider.collectionHandle
|
|
8
|
+
: options.provider.mode === "curated-page" && options.provider.variation === "collection"
|
|
9
|
+
? options.provider.handle
|
|
10
|
+
: (_a = options.searchTerm) !== null && _a !== void 0 ? _a : "";
|
|
11
|
+
const normalisedHandleOrSearchTerm = handleOrSearchTerm.toLowerCase().trim();
|
|
10
12
|
const globalCuration = options.config.curations.find((curation) => {
|
|
11
|
-
if (options.provider.mode === "search") {
|
|
12
|
-
if (options.provider.market)
|
|
13
|
-
return curation.id === `global_${options.provider.market}_search`;
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
return curation.id === "global_search";
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
if (options.provider.mode === "instant-search") {
|
|
20
|
-
if (options.provider.market) {
|
|
13
|
+
if (options.provider.mode === "search" || options.provider.mode === "instant-search") {
|
|
14
|
+
if (options.provider.market)
|
|
21
15
|
return curation.id === `global_${options.provider.market}_search`;
|
|
22
|
-
|
|
23
|
-
else {
|
|
24
|
-
return curation.id === "global_search";
|
|
25
|
-
}
|
|
16
|
+
return curation.id === "global_search";
|
|
26
17
|
}
|
|
27
18
|
if (options.provider.mode === "collection") {
|
|
28
|
-
if (options.provider.market)
|
|
19
|
+
if (options.provider.market)
|
|
29
20
|
return curation.id === `global_${options.provider.market}_collection`;
|
|
21
|
+
return curation.id === "global_collection";
|
|
22
|
+
}
|
|
23
|
+
if (options.provider.mode === "curated-page") {
|
|
24
|
+
if (options.provider.variation === "search") {
|
|
25
|
+
if (options.provider.market)
|
|
26
|
+
return curation.id === `global_${options.provider.market}_search`;
|
|
27
|
+
return curation.id === "global_search";
|
|
30
28
|
}
|
|
31
|
-
|
|
29
|
+
if (options.provider.variation === "collection") {
|
|
30
|
+
if (options.provider.market)
|
|
31
|
+
return curation.id === `global_${options.provider.market}_collection`;
|
|
32
32
|
return curation.id === "global_collection";
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -39,21 +39,24 @@ const getCuration = (options) => {
|
|
|
39
39
|
var _a, _b;
|
|
40
40
|
const normalisedSearchTerm = (_a = curation.searchTerm) === null || _a === void 0 ? void 0 : _a.toLowerCase().trim();
|
|
41
41
|
const normalisedCollectionHandle = (_b = curation.collectionHandle) === null || _b === void 0 ? void 0 : _b.toLowerCase().trim();
|
|
42
|
-
if ("instant-search" === options.provider.mode) {
|
|
43
|
-
return
|
|
44
|
-
normalisedHandleOrSearchTerm === normalisedSearchTerm);
|
|
45
|
-
}
|
|
46
|
-
if ("search" === options.provider.mode) {
|
|
47
|
-
return ("search" === curation.type &&
|
|
48
|
-
normalisedHandleOrSearchTerm === normalisedSearchTerm);
|
|
42
|
+
if ("instant-search" === options.provider.mode || "search" === options.provider.mode) {
|
|
43
|
+
return "search" === curation.type && normalisedHandleOrSearchTerm === normalisedSearchTerm;
|
|
49
44
|
}
|
|
50
45
|
if ("collection" === options.provider.mode) {
|
|
51
|
-
return
|
|
52
|
-
|
|
46
|
+
return "collection" === curation.type && normalisedHandleOrSearchTerm === normalisedCollectionHandle;
|
|
47
|
+
}
|
|
48
|
+
if ("curated-page" === options.provider.mode) {
|
|
49
|
+
if (options.provider.variation === "search") {
|
|
50
|
+
return "search" === curation.type && normalisedHandleOrSearchTerm === normalisedSearchTerm;
|
|
51
|
+
}
|
|
52
|
+
if (options.provider.variation === "collection") {
|
|
53
|
+
return "collection" === curation.type && normalisedHandleOrSearchTerm === normalisedCollectionHandle;
|
|
54
|
+
}
|
|
53
55
|
}
|
|
54
56
|
return false;
|
|
55
57
|
});
|
|
56
|
-
const curationsMatchingMarketOrNoMarket = curationsMatchingQuery
|
|
58
|
+
const curationsMatchingMarketOrNoMarket = curationsMatchingQuery
|
|
59
|
+
.filter((curation) => {
|
|
57
60
|
var _a, _b, _c;
|
|
58
61
|
if (options.provider.market) {
|
|
59
62
|
if (((_a = curation.markets) === null || _a === void 0 ? void 0 : _a.length) === 0) {
|
|
@@ -66,7 +69,8 @@ const getCuration = (options) => {
|
|
|
66
69
|
else {
|
|
67
70
|
return ((_c = curation.markets) === null || _c === void 0 ? void 0 : _c.length) === 0;
|
|
68
71
|
}
|
|
69
|
-
})
|
|
72
|
+
})
|
|
73
|
+
.sort((curationA, curationB) => {
|
|
70
74
|
var _a, _b, _c, _d;
|
|
71
75
|
return ((_b = (_a = curationB.markets) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) - ((_d = (_c = curationA.markets) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0);
|
|
72
76
|
});
|
|
@@ -77,8 +81,7 @@ const getCuration = (options) => {
|
|
|
77
81
|
if (!globalCuration) {
|
|
78
82
|
return curation;
|
|
79
83
|
}
|
|
80
|
-
const curationHasRules = !!curation.boosting.groupings.length ||
|
|
81
|
-
!!curation.boosting.sortings.length;
|
|
84
|
+
const curationHasRules = !!curation.boosting.groupings.length || !!curation.boosting.sortings.length;
|
|
82
85
|
if (curationHasRules) {
|
|
83
86
|
return curation;
|
|
84
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curation.js","sourceRoot":"","sources":["../../../src/utility/curation.ts"],"names":[],"mappings":";;;AAGO,MAAM,WAAW,GAAG,CAAC,OAI3B,EAA8B,EAAE;;IAC/B,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"curation.js","sourceRoot":"","sources":["../../../src/utility/curation.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactifySearchProviderProps } from \"../components\";\nimport { Config, ConfigCuration } from \"../types\";\n\nexport const getCuration = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n searchTerm?: string;\n}): ConfigCuration | undefined => {\n const handleOrSearchTerm =\n options.provider.mode === \"collection\"\n ? options.provider.collectionHandle\n : options.provider.mode === \"curated-page\" && options.provider.variation === \"collection\"\n ? options.provider.handle\n : options.searchTerm ?? \"\";\n\n const normalisedHandleOrSearchTerm = handleOrSearchTerm.toLowerCase().trim();\n\n const globalCuration = options.config.curations.find((curation) => {\n if (options.provider.mode === \"search\" || options.provider.mode === \"instant-search\") {\n if (options.provider.market) return curation.id === `global_${options.provider.market}_search`;\n return curation.id === \"global_search\";\n }\n if (options.provider.mode === \"collection\") {\n if (options.provider.market) return curation.id === `global_${options.provider.market}_collection`;\n return curation.id === \"global_collection\";\n }\n if (options.provider.mode === \"curated-page\") {\n if (options.provider.variation === \"search\") {\n if (options.provider.market) return curation.id === `global_${options.provider.market}_search`;\n return curation.id === \"global_search\";\n }\n if (options.provider.variation === \"collection\") {\n if (options.provider.market) return curation.id === `global_${options.provider.market}_collection`;\n return curation.id === \"global_collection\";\n }\n }\n return false;\n });\n\n const findCuration = () => {\n const curationsMatchingQuery = options.config.curations.filter((curation) => {\n const normalisedSearchTerm = curation.searchTerm?.toLowerCase().trim();\n const normalisedCollectionHandle = curation.collectionHandle?.toLowerCase().trim();\n\n if (\"instant-search\" === options.provider.mode || \"search\" === options.provider.mode) {\n return \"search\" === curation.type && normalisedHandleOrSearchTerm === normalisedSearchTerm;\n }\n\n if (\"collection\" === options.provider.mode) {\n return \"collection\" === curation.type && normalisedHandleOrSearchTerm === normalisedCollectionHandle;\n }\n\n if (\"curated-page\" === options.provider.mode) {\n if (options.provider.variation === \"search\") {\n return \"search\" === curation.type && normalisedHandleOrSearchTerm === normalisedSearchTerm;\n }\n if (options.provider.variation === \"collection\") {\n return \"collection\" === curation.type && normalisedHandleOrSearchTerm === normalisedCollectionHandle;\n }\n }\n\n return false;\n });\n\n const curationsMatchingMarketOrNoMarket = curationsMatchingQuery\n .filter((curation) => {\n if (options.provider.market) {\n if (curation.markets?.length === 0) {\n return true;\n } else {\n return curation.markets?.includes(options.provider.market);\n }\n } else {\n return curation.markets?.length === 0;\n }\n })\n .sort((curationA, curationB) => {\n return (curationB.markets?.length ?? 0) - (curationA.markets?.length ?? 0);\n });\n\n return curationsMatchingMarketOrNoMarket[0];\n };\n\n const curation = findCuration();\n\n const addGlobalBoosting = (curation: ConfigCuration) => {\n if (!globalCuration) {\n return curation;\n }\n\n const curationHasRules = !!curation.boosting.groupings.length || !!curation.boosting.sortings.length;\n\n if (curationHasRules) {\n return curation;\n }\n\n const curationWithGlobalBoosting = {\n ...curation,\n boosting: globalCuration.boosting,\n } as ConfigCuration;\n\n return curationWithGlobalBoosting;\n };\n\n if (curation) {\n return addGlobalBoosting(curation);\n }\n\n if (globalCuration) {\n return globalCuration;\n }\n\n return undefined;\n};\n\n"]}
|
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getFilterStack = void 0;
|
|
4
4
|
const getFilterStack = (options) => {
|
|
5
5
|
// select filters by type
|
|
6
|
-
const
|
|
6
|
+
const filterType = options.provider.mode === "curated-page" ? options.provider.variation : options.provider.mode;
|
|
7
|
+
const matchingFilterss = options.config.filters.filter((filter) => filter.type === filterType);
|
|
7
8
|
// select filter stack by handle if provided
|
|
8
9
|
if (options.provider.filtersHandle) {
|
|
9
10
|
const matchingFilters = matchingFilterss.find((filterStack) => options.provider.filtersHandle === filterStack.handle);
|
|
@@ -12,8 +13,10 @@ const getFilterStack = (options) => {
|
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
15
|
// select filter stack by collection if provided
|
|
15
|
-
if (options.provider.mode === "collection" && options.provider.collectionHandle)
|
|
16
|
-
|
|
16
|
+
if ((options.provider.mode === "collection" && options.provider.collectionHandle) ||
|
|
17
|
+
(options.provider.mode === "curated-page" && options.provider.variation === "collection")) {
|
|
18
|
+
const collectionHandle = options.provider.mode === "collection" ? options.provider.collectionHandle : options.provider.handle;
|
|
19
|
+
const matchingFilters = matchingFilterss.find((filterStack) => { var _a; return (_a = filterStack.collections) === null || _a === void 0 ? void 0 : _a.includes(collectionHandle || ""); });
|
|
17
20
|
if (matchingFilters) {
|
|
18
21
|
return matchingFilters;
|
|
19
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/utility/filters.ts"],"names":[],"mappings":";;;AAGO,MAAM,cAAc,GAAG,CAAC,OAG9B,EAAE,EAAE;IACH,yBAAyB;IACzB,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/utility/filters.ts"],"names":[],"mappings":";;;AAGO,MAAM,cAAc,GAAG,CAAC,OAG9B,EAAE,EAAE;IACH,yBAAyB;IACzB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACjH,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CACvC,CAAC;IAEF,4CAA4C;IAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAC3C,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,KAAK,WAAW,CAAC,MAAM,CACvE,CAAC;QACF,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,IACE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC7E,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,KAAK,YAAY,CAAC,EACzF,CAAC;QACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9H,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,WAC5D,OAAA,MAAA,WAAW,CAAC,WAAW,0CAAE,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA,EAAA,CAC1D,CAAC;QACF,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,eAAe,GAAG,gBAAgB,CAAC,IAAI,CACzC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAClD,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,0CAA0C;IAC1C,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAC3C,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAClD,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,+CAA+C;IAC/C,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO,eAAe,CAAC;AACzB,CAAC,CAAA;AAtDY,QAAA,cAAc,kBAsD1B","sourcesContent":["import { ReactifySearchProviderProps } from \"../components\";\nimport { Config } from \"../types\";\n\nexport const getFilterStack = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n}) => {\n // select filters by type\n const filterType = options.provider.mode === \"curated-page\" ? options.provider.variation : options.provider.mode;\n const matchingFilterss = options.config.filters.filter(\n (filter) => filter.type === filterType\n );\n\n // select filter stack by handle if provided\n if (options.provider.filtersHandle) {\n const matchingFilters = matchingFilterss.find(\n (filterStack) => options.provider.filtersHandle === filterStack.handle\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n }\n\n // select filter stack by collection if provided\n if (\n (options.provider.mode === \"collection\" && options.provider.collectionHandle) ||\n (options.provider.mode === \"curated-page\" && options.provider.variation === \"collection\")\n ) {\n const collectionHandle = options.provider.mode === \"collection\" ? options.provider.collectionHandle : options.provider.handle;\n const matchingFilters = matchingFilterss.find((filterStack) =>\n filterStack.collections?.includes(collectionHandle || \"\")\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n }\n\n // select filter with \"default\" handle\n let matchingFilters = matchingFilterss.find(\n (filterStack) => filterStack.handle === \"default\"\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n\n // select any filter with \"default\" handle\n matchingFilters = options.config.filters.find(\n (filterStack) => filterStack.handle === \"default\"\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n\n // select any available filter as a last resort\n matchingFilters = options.config.filters[0];\n\n return matchingFilters;\n}"]}
|
|
@@ -229,7 +229,7 @@ export declare const getPropsSensorCollection: (options: GeneratePropsSensorOpti
|
|
|
229
229
|
};
|
|
230
230
|
} | null;
|
|
231
231
|
} | null;
|
|
232
|
-
export declare const getPropsSensorCuratedPageCollection: ({ provider, config
|
|
232
|
+
export declare const getPropsSensorCuratedPageCollection: ({ provider, config }: GeneratePropsSensorOptions) => {
|
|
233
233
|
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any>;
|
|
234
234
|
componentId: string;
|
|
235
235
|
customQuery: () => {
|
|
@@ -305,7 +305,7 @@ export declare const getPropsSensorCuratedPageCollection: ({ provider, config, }
|
|
|
305
305
|
};
|
|
306
306
|
};
|
|
307
307
|
} | null;
|
|
308
|
-
export declare const getPropsSensorCuratedPageSearch: ({ provider, config
|
|
308
|
+
export declare const getPropsSensorCuratedPageSearch: ({ provider, config }: GeneratePropsSensorOptions) => {
|
|
309
309
|
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any>;
|
|
310
310
|
componentId: string;
|
|
311
311
|
customQuery: () => {
|
|
@@ -59,13 +59,18 @@ const getPropsSensors = (options) => {
|
|
|
59
59
|
(0, exports.getPropsSensorPublished)(options),
|
|
60
60
|
(0, exports.getPropsSensorInventoryAvailable)(options),
|
|
61
61
|
(0, exports.getPropsSensorSort)(options),
|
|
62
|
+
(0, exports.getPropsSensorCuratedPageCollection)(options),
|
|
63
|
+
(0, exports.getPropsSensorCuratedPageSearch)(options),
|
|
62
64
|
].filter(Boolean);
|
|
63
65
|
};
|
|
64
66
|
exports.getPropsSensors = getPropsSensors;
|
|
65
67
|
const getPropsSensorCustom = (options) => {
|
|
66
|
-
const
|
|
67
|
-
?
|
|
68
|
-
: options.
|
|
68
|
+
const sensorType = options.provider.mode === "collection"
|
|
69
|
+
? "collection"
|
|
70
|
+
: options.provider.mode === "curated-page" && options.provider.variation === "collection"
|
|
71
|
+
? "collection"
|
|
72
|
+
: "search";
|
|
73
|
+
const sensors = sensorType === "collection" ? options.config.sensors.collection : options.config.sensors.search;
|
|
69
74
|
return sensors.map((sensor, index) => ({
|
|
70
75
|
source: search_internals_1.ReactiveComponent,
|
|
71
76
|
componentId: `SensorCustom_${index}`,
|
|
@@ -148,7 +153,7 @@ const getPropsSensorCollection = (options) => {
|
|
|
148
153
|
};
|
|
149
154
|
};
|
|
150
155
|
exports.getPropsSensorCollection = getPropsSensorCollection;
|
|
151
|
-
const getPropsSensorCuratedPageCollection = ({ provider, config
|
|
156
|
+
const getPropsSensorCuratedPageCollection = ({ provider, config }) => {
|
|
152
157
|
if (provider.mode !== "curated-page")
|
|
153
158
|
return null;
|
|
154
159
|
if (provider.variation !== "collection")
|
|
@@ -171,7 +176,7 @@ const getPropsSensorCuratedPageCollection = ({ provider, config, }) => {
|
|
|
171
176
|
};
|
|
172
177
|
};
|
|
173
178
|
exports.getPropsSensorCuratedPageCollection = getPropsSensorCuratedPageCollection;
|
|
174
|
-
const getPropsSensorCuratedPageSearch = ({ provider, config
|
|
179
|
+
const getPropsSensorCuratedPageSearch = ({ provider, config }) => {
|
|
175
180
|
if (provider.mode !== "curated-page")
|
|
176
181
|
return null;
|
|
177
182
|
if (provider.variation !== "search")
|
|
@@ -206,10 +211,7 @@ const getPropsSensorPublished = (options) => {
|
|
|
206
211
|
return {
|
|
207
212
|
query: {
|
|
208
213
|
bool: {
|
|
209
|
-
must: [
|
|
210
|
-
{ match: { markets: options.provider.market } },
|
|
211
|
-
{ match: { published: true } },
|
|
212
|
-
],
|
|
214
|
+
must: [{ match: { markets: options.provider.market } }, { match: { published: true } }],
|
|
213
215
|
},
|
|
214
216
|
},
|
|
215
217
|
};
|
|
@@ -294,10 +296,7 @@ const getPropsSensorSort = (options) => {
|
|
|
294
296
|
return {
|
|
295
297
|
source: search_internals_1.ReactiveComponent,
|
|
296
298
|
componentId: "SensorSort",
|
|
297
|
-
customQuery: () => ({
|
|
298
|
-
sort,
|
|
299
|
-
query,
|
|
300
|
-
}),
|
|
299
|
+
customQuery: () => ({ sort, query }),
|
|
301
300
|
};
|
|
302
301
|
};
|
|
303
302
|
exports.getPropsSensorSort = getPropsSensorSort;
|
|
@@ -386,7 +385,8 @@ const getPropsResults = (options) => {
|
|
|
386
385
|
};
|
|
387
386
|
exports.getPropsResults = getPropsResults;
|
|
388
387
|
const getPropsReact = (options, filterGroupOption) => {
|
|
389
|
-
const
|
|
388
|
+
const variation = options.provider.mode === "curated-page" ? options.provider.variation : undefined;
|
|
389
|
+
const sensorIds = (0, components_1.SENSOR_IDS)(options.provider.mode, options.config, variation);
|
|
390
390
|
const reactProp = (() => {
|
|
391
391
|
var _a, _b, _c;
|
|
392
392
|
if (filterGroupOption === null || filterGroupOption === void 0 ? void 0 : filterGroupOption.settingsShowEmptyValues) {
|
|
@@ -416,8 +416,7 @@ const getPropsShared = (options, filterGroupOption) => {
|
|
|
416
416
|
return undefined;
|
|
417
417
|
})();
|
|
418
418
|
const customQueryProp = (() => {
|
|
419
|
-
if (!filterGroupOption.settingsHideUnavailable ||
|
|
420
|
-
!filterGroupOption.field.startsWith("variants."))
|
|
419
|
+
if (!filterGroupOption.settingsHideUnavailable || !filterGroupOption.field.startsWith("variants."))
|
|
421
420
|
return undefined;
|
|
422
421
|
return (value) => {
|
|
423
422
|
if (!value)
|
|
@@ -474,9 +473,7 @@ const getPropsShared = (options, filterGroupOption) => {
|
|
|
474
473
|
},
|
|
475
474
|
{
|
|
476
475
|
match: {
|
|
477
|
-
"variants.available": filterGroupOption.settingsHideUnavailable
|
|
478
|
-
? "true"
|
|
479
|
-
: "false",
|
|
476
|
+
"variants.available": filterGroupOption.settingsHideUnavailable ? "true" : "false",
|
|
480
477
|
},
|
|
481
478
|
},
|
|
482
479
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/utility/props.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n MultiList,\n MultiRange,\n ReactiveComponent,\n ReactiveList,\n SingleList,\n SingleRange,\n} from \"@usereactify/search-internals\";\nimport { ReactifySearchProviderProps, SENSOR_IDS } from \"../components\";\nimport { Config, ConfigFilter, ConfigFilterFacet, ResultsDataListener } from \"../types\";\nimport { getCuration } from \"./curation\";\nimport { generateSortQuery, generateSortSort, getSortOption } from \"./sortOption\";\nimport { getFilterStack } from \"./filters\";\nimport { replaceDocCountWithParent } from \"../hooks\";\nimport pkg from \"../../package.json\";\nimport { generateCollectionFunctionScore, generateSearchFunctionScore } from \"./queries\";\nimport { SearchableField } from \"../types/firestore\";\n\nexport type GeneratePropsFilterGroupOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n filterGroup?: ConfigFilter;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsSensorOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsBase = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport const getPropsFilterGroup = (options: GeneratePropsFilterGroupOptions) => {\n return [\n ...(options.filterGroup?.options.map((filterGroupOption) =>\n getPropsFilterGroupOption(options, filterGroupOption)\n ) ?? []),\n ...getPropsSensors(options),\n getPropsResults(options),\n ];\n};\n\nexport const getPropsFilterGroupOption = (\n options: GeneratePropsFilterGroupOptions,\n filterGroupOption: ConfigFilterFacet\n) => {\n let filterProps: Record<string, unknown> = {};\n\n if (filterGroupOption.displayType === \"slider\") {\n const sliderFilterProps = getPropsFilterSlider(filterGroupOption, options.provider.query ?? {});\n filterProps = {\n defaultQuery: () => sliderFilterProps.defaultQuery,\n customQuery: () => sliderFilterProps.customQuery,\n };\n }\n\n if (filterGroupOption.displayType === \"single\" || filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") {\n filterProps = getPropsFilterRange(filterGroupOption);\n } else {\n filterProps = getPropsFilterList(filterGroupOption);\n }\n }\n const sharedProps = getPropsShared(options, filterGroupOption);\n return { ...sharedProps, ...filterProps };\n};\n\nexport const getPropsSensors = (options: GeneratePropsSensorOptions) => {\n return [\n ...getPropsSensorCustom(options),\n getPropsSensorCollection(options),\n getPropsSensorPublished(options),\n getPropsSensorInventoryAvailable(options),\n getPropsSensorSort(options),\n ].filter(Boolean);\n};\n\nexport const getPropsSensorCustom = (options: GeneratePropsSensorOptions) => {\n const sensors =\n options.provider.mode === \"collection\"\n ? options.config.sensors.collection\n : options.config.sensors.search;\n\n return sensors.map((sensor, index) => ({\n source: ReactiveComponent,\n componentId: `SensorCustom_${index}`,\n customQuery: () => sensor,\n }));\n};\n\nexport const getPropsSensorCollection = (options: GeneratePropsSensorOptions) => {\n if (options.provider.mode !== \"collection\") return null;\n return {\n source: ReactiveComponent,\n componentId: \"SensorCollection\",\n customQuery: () => {\n if (options.provider.mode !== \"collection\") return null;\n\n const conditions: Array<unknown> = [];\n const handle = options.provider.collectionHandle;\n const market = options.provider.market;\n\n if (options.provider.market) {\n conditions.push({\n nested: {\n path: \"curations\",\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: { term: { \"collections.handle.keyword\": handle } },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.collectionHandle.keyword\": handle,\n },\n },\n },\n },\n ],\n must: [\n {\n nested: {\n path: \"curations\",\n query: { term: { \"curations.markets.keyword\": market } },\n },\n },\n ],\n },\n },\n },\n });\n }\n\n return {\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: { term: { \"collections.handle.keyword\": handle } },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: { \"curations.collectionHandle.keyword\": handle },\n },\n },\n },\n ],\n },\n },\n };\n },\n };\n};\n\nexport const getPropsSensorCuratedPageCollection = ({\n provider,\n config,\n}: GeneratePropsSensorOptions) => {\n if (provider.mode !== \"curated-page\") return null;\n if (provider.variation !== \"collection\") return null;\n const handle = provider.handle;\n return {\n source: ReactiveComponent,\n componentId: \"SensorCuratedPageCollection\",\n customQuery: () => {\n const curation = config.curations.find((curation) => curation.collectionHandle === handle);\n const function_score = generateCollectionFunctionScore({\n collectionHandle: handle,\n boostingRules: curation?.boostings ?? [],\n markets: curation?.markets || [],\n market: provider.market,\n });\n return { query: { function_score } };\n },\n };\n};\n\nexport const getPropsSensorCuratedPageSearch = ({\n provider,\n config,\n}: GeneratePropsSensorOptions) => {\n if (provider.mode !== \"curated-page\") return null;\n if (provider.variation !== \"search\") return null;\n const searchTerm = provider.searchTerm;\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorCuratedPageSearch\",\n customQuery: () => {\n const curation = config.curations.find((curation) => curation.searchTerm === searchTerm);\n if (!curation) return null;\n\n const function_score = generateSearchFunctionScore({\n searchTerm: searchTerm,\n searchableFields: config.searchableFields as SearchableField[],\n boostingRules: curation.boostings ?? [],\n markets: curation.markets,\n market: provider.market,\n });\n\n return { query: { function_score } };\n },\n };\n};\n\nexport const getPropsSensorPublished = (options: GeneratePropsSensorOptions) => {\n return {\n source: ReactiveComponent,\n componentId: \"SensorPublished\",\n customQuery: () => {\n if (options.provider.market) {\n return {\n query: {\n bool: {\n must: [\n { match: { markets: options.provider.market } },\n { match: { published: true } },\n ],\n },\n },\n };\n }\n return {\n query: { match: { published: true } },\n };\n },\n };\n};\n\nexport const getPropsSensorInventoryAvailable = (options: GeneratePropsSensorOptions) => {\n const filterStack = getFilterStack(options);\n\n if (!filterStack || \"show_all\" === filterStack.inventoryVisibility) {\n return null;\n }\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorInventoryAvailable\",\n customQuery: () => ({\n query: {\n bool: {\n should: [\n {\n bool: {\n must: [\n {\n term: {\n type: {\n value: \"product\",\n },\n },\n },\n {\n nested: {\n path: \"variants\",\n query: {\n match: {\n [options.provider.market\n ? `variants.available_market_${options.provider.market}`\n : \"variants.available\"]: true,\n },\n },\n },\n },\n ],\n },\n },\n ...(options.provider.mode === \"instant-search\"\n ? []\n : [\n {\n term: {\n type: {\n value: \"callout\",\n },\n },\n },\n ]),\n ],\n minimum_should_match: \"1\",\n },\n },\n }),\n };\n};\n\nexport const getPropsSensorSort = (\n options: GeneratePropsSensorOptions & {\n searchTerm?: string;\n sortOption?: string;\n }\n) => {\n const curation = getCuration(options);\n const sortOption = getSortOption(options);\n\n const sort = generateSortSort({\n provider: options.provider,\n config: options.config,\n curation: curation,\n sortOption: sortOption,\n });\n const query = generateSortQuery({\n provider: options.provider,\n sortOption: sortOption,\n curation: curation,\n });\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorSort\",\n customQuery: () => ({\n sort,\n query,\n }),\n };\n};\n\nexport const getPropsBase = (options: GeneratePropsBase) => {\n const props = {\n app: options.config.index,\n url: options.config.endpoint,\n credentials: options.provider.credentials,\n theme: options.provider.theme,\n initialState: options.provider.preload?.state,\n transformSort: () => {\n const sortSensor = getPropsSensorSort(options);\n const customQuery = sortSensor.customQuery();\n\n return customQuery.sort;\n },\n transformRequest: (request: any) => {\n if ((request.url as string).endsWith(\"?\")) {\n request.url = request.url.substring(0, request.url.length - 1);\n }\n return request;\n },\n transformResponse: async (response: any) => {\n // support filtering inside nested aggregations by moving the inner aggregation\n // up one level such that reactivesearch understands it\n //\n // see useReactiveFilterListProps > defaultQuery to see how a filter is being applied\n // to variant aggregations to ensure that only in stock sizes are displayed as filter\n // options, this involves a nested filter, which requires this fix\n //\n // https://github.com/appbaseio/reactivesearch/issues/1530\n if (response?.aggregations?.reactivesearch_nested?.reactify_nested_outer) {\n response.aggregations.reactivesearch_nested = replaceDocCountWithParent(\n response?.aggregations?.reactivesearch_nested?.reactify_nested_outer\n );\n }\n\n return response;\n },\n headers: {\n \"x-reactify-shop\": options.provider.shopifyPermanentDomain,\n \"x-reactify-mode\": options.provider.mode,\n \"x-reactify-client-id\": options.provider.clientId,\n \"x-reactify-client-version\": pkg.version,\n },\n };\n\n return props;\n};\n\nexport const getPropsResults = (\n options: GeneratePropsFilterGroupOptions & {\n scrollTarget?: string | Element | HTMLDocument;\n pageSize?: number;\n onData?: ResultsDataListener;\n }\n) => {\n const includeFieldsProp = (() => {\n return [\n ...(options.provider.includeFields ?? []),\n \"id\",\n \"title\",\n \"type\",\n \"handle\",\n \"image\",\n \"variants.id\",\n \"variants.presentment_prices\",\n \"callout\",\n ];\n })();\n const excludeFieldsProp = (() => {\n return [...(options.provider.excludeFields ?? [])];\n })();\n\n return {\n size: options.pageSize ?? options.filterGroup?.pageSize ?? 20,\n URLParams: options.provider.mode === \"instant-search\" ? false : true,\n showLoader: false,\n dataField: \"title\",\n showResultStats: false,\n react: getPropsReact(options),\n includeFields: includeFieldsProp,\n excludeFields: excludeFieldsProp,\n scrollTarget: options.scrollTarget,\n componentId: \"page\", // this sets ?page= in the URL\n scrollOnChange: false, // @todo make this better, it's really janky when enabled\n pagination: options.filterGroup?.paginationType !== \"infinite_scroll\",\n infiniteScroll: options.filterGroup?.paginationType === \"infinite_scroll\",\n renderNoResults: () => null, // always use only render, otherwise both are shown\n source: ReactiveList,\n onData: options.onData,\n };\n};\n\nexport const getPropsReact = (\n options: GeneratePropsFilterGroupOptions,\n filterGroupOption?: ConfigFilterFacet\n) => {\n const sensorIds = SENSOR_IDS(options.provider.mode, options.config);\n const reactProp = (() => {\n if (filterGroupOption?.settingsShowEmptyValues) {\n return {\n and: sensorIds,\n };\n }\n\n return {\n and: [\n ...sensorIds,\n ...(options.provider.additionalComponentIds ?? []),\n ...(options.filterGroup?.options.map((filter) => filter.handle) ?? []),\n ].filter((handle) => handle !== filterGroupOption?.handle),\n };\n })();\n\n return reactProp;\n};\n\nexport const getPropsShared = (\n options: GeneratePropsFilterGroupOptions,\n filterGroupOption: ConfigFilterFacet\n) => {\n const reactProp = getPropsReact(options, filterGroupOption);\n const nestedFieldProp = (() => {\n const nestedFields = [\"variants\"];\n const topField = filterGroupOption.field.split(\".\")[0];\n if (nestedFields.includes(topField)) {\n return topField;\n }\n return undefined;\n })();\n const customQueryProp = (() => {\n if (\n !filterGroupOption.settingsHideUnavailable ||\n !filterGroupOption.field.startsWith(\"variants.\")\n )\n return undefined;\n\n return (value?: string | string[]) => {\n if (!value) return {};\n\n // reactivesearch sometimes returns string, sometimes string[]\n const valueArray = \"string\" === typeof value ? [value] : value;\n\n if (0 === valueArray.length) return {};\n\n return {\n query: {\n nested: {\n path: \"variants\",\n query: {\n bool: {\n must: [\n {\n match: {\n \"variants.available\": \"true\",\n },\n },\n {\n terms: {\n [filterGroupOption.field]: valueArray,\n },\n },\n ],\n },\n },\n },\n },\n };\n };\n })();\n const defaultQueryProp = (() => {\n if (!filterGroupOption.field.startsWith(\"variants.\")) {\n return undefined;\n }\n\n // override the aggregation query to filter the results by the variants.available attribute\n return () => {\n return {\n aggs: {\n reactivesearch_nested: {\n nested: { path: \"variants\" },\n aggs: {\n reactify_nested_outer: {\n filter: {\n bool: {\n minimum_should_match: 1,\n should: [\n {\n match: {\n \"variants.available\": \"true\",\n },\n },\n {\n match: {\n \"variants.available\": filterGroupOption.settingsHideUnavailable\n ? \"true\"\n : \"false\",\n },\n },\n ],\n },\n },\n aggs: {\n [filterGroupOption.field]: {\n terms: {\n field: filterGroupOption.field,\n size: 100,\n order: { _count: \"desc\" },\n },\n aggs: {\n parent_docs: { reverse_nested: {} },\n },\n },\n },\n },\n },\n },\n },\n };\n };\n })();\n const sourceProp = (() => {\n if (filterGroupOption.displayType === \"slider\") {\n return ReactiveComponent;\n }\n if (filterGroupOption.displayType === \"single\") {\n if (filterGroupOption.displayView === \"range\") return SingleRange;\n return SingleList;\n }\n if (filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") return MultiRange;\n return MultiList;\n }\n\n return;\n })();\n\n const fieldProp = (() => {\n if ([\"price_min\", \"price_max\"].includes(filterGroupOption.field) && options.provider.market) {\n return `${filterGroupOption.field}_market_${options.provider.market}`;\n }\n\n return filterGroupOption.field;\n })();\n\n return {\n URLParams: true,\n componentId: filterGroupOption.handle,\n dataField: fieldProp,\n filterLabel: filterGroupOption.name,\n nestedField: nestedFieldProp,\n customQuery: customQueryProp,\n defaultQuery: defaultQueryProp,\n source: sourceProp,\n react: reactProp,\n };\n};\n\nexport const getPropsFilterList = (filterGroupOption: ConfigFilterFacet) => {\n return {\n size: parseInt(filterGroupOption.displaySize) || undefined,\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showLoadMore: filterGroupOption.settingsShowMore ?? false,\n showSearch: filterGroupOption.settingsShowSearch ?? false,\n showRadio: false,\n showCheckbox: false,\n };\n};\n\nexport const getPropsFilterRange = (filterGroupOption: ConfigFilterFacet) => {\n const data =\n filterGroupOption.displayRangeOptions?.map((option) => {\n const [label, start, end] = option.split(\":\");\n return {\n label: label,\n start: start ? parseInt(start) : 0,\n end: end ? parseInt(end) : Number.MAX_SAFE_INTEGER,\n };\n }) ?? [];\n\n return {\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showRadio: false,\n showCheckbox: false,\n data: data,\n };\n};\n\nexport const getPropsFilterSlider = (\n filterGroupOption: ConfigFilterFacet,\n query: Record<string, string> | string,\n value?: [number, number] | []\n) => {\n const filterValue =\n value ??\n JSON.parse(\n new URLSearchParams(typeof window === \"undefined\" ? query : window.location.search).get(\n filterGroupOption.handle\n ) ?? \"[0,0]\"\n );\n\n const defaultQuery = {\n aggs: {\n min: { min: { field: filterGroupOption.field } },\n max: { max: { field: filterGroupOption.field } },\n },\n };\n\n const customQuery = (() => {\n if (filterValue[0] === 0 && filterValue[1] === 0) {\n return;\n }\n\n return {\n query: {\n bool: {\n must: [\n {\n bool: {\n must: [\n { match: { published: true } },\n {\n range: {\n [filterGroupOption.field]: {\n gte: filterValue[0],\n lte: filterValue[1],\n boost: 2,\n },\n },\n },\n ],\n },\n },\n ],\n },\n },\n };\n })();\n\n return { defaultQuery, customQuery };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/utility/props.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n MultiList,\n MultiRange,\n ReactiveComponent,\n ReactiveList,\n SingleList,\n SingleRange,\n} from \"@usereactify/search-internals\";\nimport { ReactifySearchProviderProps, SENSOR_IDS } from \"../components\";\nimport { Config, ConfigFilter, ConfigFilterFacet, ResultsDataListener } from \"../types\";\nimport { getCuration } from \"./curation\";\nimport { generateSortQuery, generateSortSort, getSortOption } from \"./sortOption\";\nimport { getFilterStack } from \"./filters\";\nimport { replaceDocCountWithParent } from \"../hooks\";\nimport pkg from \"../../package.json\";\nimport { generateCollectionFunctionScore, generateSearchFunctionScore } from \"./queries\";\nimport { SearchableField } from \"../types/firestore\";\n\nexport type GeneratePropsFilterGroupOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n filterGroup?: ConfigFilter;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsSensorOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsBase = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport const getPropsFilterGroup = (options: GeneratePropsFilterGroupOptions) => {\n return [\n ...(options.filterGroup?.options.map((filterGroupOption) =>\n getPropsFilterGroupOption(options, filterGroupOption)\n ) ?? []),\n ...getPropsSensors(options),\n getPropsResults(options),\n ];\n};\n\nexport const getPropsFilterGroupOption = (\n options: GeneratePropsFilterGroupOptions,\n filterGroupOption: ConfigFilterFacet\n) => {\n let filterProps: Record<string, unknown> = {};\n\n if (filterGroupOption.displayType === \"slider\") {\n const sliderFilterProps = getPropsFilterSlider(filterGroupOption, options.provider.query ?? {});\n filterProps = {\n defaultQuery: () => sliderFilterProps.defaultQuery,\n customQuery: () => sliderFilterProps.customQuery,\n };\n }\n\n if (filterGroupOption.displayType === \"single\" || filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") {\n filterProps = getPropsFilterRange(filterGroupOption);\n } else {\n filterProps = getPropsFilterList(filterGroupOption);\n }\n }\n const sharedProps = getPropsShared(options, filterGroupOption);\n return { ...sharedProps, ...filterProps };\n};\n\nexport const getPropsSensors = (options: GeneratePropsSensorOptions) => {\n return [\n ...getPropsSensorCustom(options),\n getPropsSensorCollection(options),\n getPropsSensorPublished(options),\n getPropsSensorInventoryAvailable(options),\n getPropsSensorSort(options),\n getPropsSensorCuratedPageCollection(options),\n getPropsSensorCuratedPageSearch(options),\n ].filter(Boolean);\n};\n\nexport const getPropsSensorCustom = (options: GeneratePropsSensorOptions) => {\n const sensorType =\n options.provider.mode === \"collection\"\n ? \"collection\"\n : options.provider.mode === \"curated-page\" && options.provider.variation === \"collection\"\n ? \"collection\"\n : \"search\";\n\n const sensors = sensorType === \"collection\" ? options.config.sensors.collection : options.config.sensors.search;\n\n return sensors.map((sensor, index) => ({\n source: ReactiveComponent,\n componentId: `SensorCustom_${index}`,\n customQuery: () => sensor,\n }));\n};\n\nexport const getPropsSensorCollection = (options: GeneratePropsSensorOptions) => {\n if (options.provider.mode !== \"collection\") return null;\n return {\n source: ReactiveComponent,\n componentId: \"SensorCollection\",\n customQuery: () => {\n if (options.provider.mode !== \"collection\") return null;\n\n const conditions: Array<unknown> = [];\n const handle = options.provider.collectionHandle;\n const market = options.provider.market;\n\n if (options.provider.market) {\n conditions.push({\n nested: {\n path: \"curations\",\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: { term: { \"collections.handle.keyword\": handle } },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.collectionHandle.keyword\": handle,\n },\n },\n },\n },\n ],\n must: [\n {\n nested: {\n path: \"curations\",\n query: { term: { \"curations.markets.keyword\": market } },\n },\n },\n ],\n },\n },\n },\n });\n }\n\n return {\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: { term: { \"collections.handle.keyword\": handle } },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: { \"curations.collectionHandle.keyword\": handle },\n },\n },\n },\n ],\n },\n },\n };\n },\n };\n};\n\nexport const getPropsSensorCuratedPageCollection = ({ provider, config }: GeneratePropsSensorOptions) => {\n if (provider.mode !== \"curated-page\") return null;\n if (provider.variation !== \"collection\") return null;\n const handle = provider.handle;\n return {\n source: ReactiveComponent,\n componentId: \"SensorCuratedPageCollection\",\n customQuery: () => {\n const curation = config.curations.find((curation) => curation.collectionHandle === handle);\n const function_score = generateCollectionFunctionScore({\n collectionHandle: handle,\n boostingRules: curation?.boostings ?? [],\n markets: curation?.markets || [],\n market: provider.market,\n });\n return { query: { function_score } };\n },\n };\n};\n\nexport const getPropsSensorCuratedPageSearch = ({ provider, config }: GeneratePropsSensorOptions) => {\n if (provider.mode !== \"curated-page\") return null;\n if (provider.variation !== \"search\") return null;\n const searchTerm = provider.searchTerm;\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorCuratedPageSearch\",\n customQuery: () => {\n const curation = config.curations.find((curation) => curation.searchTerm === searchTerm);\n if (!curation) return null;\n\n const function_score = generateSearchFunctionScore({\n searchTerm: searchTerm,\n searchableFields: config.searchableFields as SearchableField[],\n boostingRules: curation.boostings ?? [],\n markets: curation.markets,\n market: provider.market,\n });\n\n return { query: { function_score } };\n },\n };\n};\n\nexport const getPropsSensorPublished = (options: GeneratePropsSensorOptions) => {\n return {\n source: ReactiveComponent,\n componentId: \"SensorPublished\",\n customQuery: () => {\n if (options.provider.market) {\n return {\n query: {\n bool: {\n must: [{ match: { markets: options.provider.market } }, { match: { published: true } }],\n },\n },\n };\n }\n return {\n query: { match: { published: true } },\n };\n },\n };\n};\n\nexport const getPropsSensorInventoryAvailable = (options: GeneratePropsSensorOptions) => {\n const filterStack = getFilterStack(options);\n\n if (!filterStack || \"show_all\" === filterStack.inventoryVisibility) {\n return null;\n }\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorInventoryAvailable\",\n customQuery: () => ({\n query: {\n bool: {\n should: [\n {\n bool: {\n must: [\n {\n term: {\n type: {\n value: \"product\",\n },\n },\n },\n {\n nested: {\n path: \"variants\",\n query: {\n match: {\n [options.provider.market\n ? `variants.available_market_${options.provider.market}`\n : \"variants.available\"]: true,\n },\n },\n },\n },\n ],\n },\n },\n ...(options.provider.mode === \"instant-search\"\n ? []\n : [\n {\n term: {\n type: {\n value: \"callout\",\n },\n },\n },\n ]),\n ],\n minimum_should_match: \"1\",\n },\n },\n }),\n };\n};\n\nexport const getPropsSensorSort = (\n options: GeneratePropsSensorOptions & {\n searchTerm?: string;\n sortOption?: string;\n }\n) => {\n const curation = getCuration(options);\n const sortOption = getSortOption(options);\n\n const sort = generateSortSort({\n provider: options.provider,\n config: options.config,\n curation: curation,\n sortOption: sortOption,\n });\n const query = generateSortQuery({\n provider: options.provider,\n sortOption: sortOption,\n curation: curation,\n });\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorSort\",\n customQuery: () => ({ sort, query }),\n };\n};\n\nexport const getPropsBase = (options: GeneratePropsBase) => {\n const props = {\n app: options.config.index,\n url: options.config.endpoint,\n credentials: options.provider.credentials,\n theme: options.provider.theme,\n initialState: options.provider.preload?.state,\n transformSort: () => {\n const sortSensor = getPropsSensorSort(options);\n const customQuery = sortSensor.customQuery();\n return customQuery.sort;\n },\n transformRequest: (request: any) => {\n if ((request.url as string).endsWith(\"?\")) {\n request.url = request.url.substring(0, request.url.length - 1);\n }\n return request;\n },\n transformResponse: async (response: any) => {\n // support filtering inside nested aggregations by moving the inner aggregation\n // up one level such that reactivesearch understands it\n //\n // see useReactiveFilterListProps > defaultQuery to see how a filter is being applied\n // to variant aggregations to ensure that only in stock sizes are displayed as filter\n // options, this involves a nested filter, which requires this fix\n //\n // https://github.com/appbaseio/reactivesearch/issues/1530\n if (response?.aggregations?.reactivesearch_nested?.reactify_nested_outer) {\n response.aggregations.reactivesearch_nested = replaceDocCountWithParent(\n response?.aggregations?.reactivesearch_nested?.reactify_nested_outer\n );\n }\n\n return response;\n },\n headers: {\n \"x-reactify-shop\": options.provider.shopifyPermanentDomain,\n \"x-reactify-mode\": options.provider.mode,\n \"x-reactify-client-id\": options.provider.clientId,\n \"x-reactify-client-version\": pkg.version,\n },\n };\n\n return props;\n};\n\nexport const getPropsResults = (\n options: GeneratePropsFilterGroupOptions & {\n scrollTarget?: string | Element | HTMLDocument;\n pageSize?: number;\n onData?: ResultsDataListener;\n }\n) => {\n const includeFieldsProp = (() => {\n return [\n ...(options.provider.includeFields ?? []),\n \"id\",\n \"title\",\n \"type\",\n \"handle\",\n \"image\",\n \"variants.id\",\n \"variants.presentment_prices\",\n \"callout\",\n ];\n })();\n const excludeFieldsProp = (() => {\n return [...(options.provider.excludeFields ?? [])];\n })();\n\n return {\n size: options.pageSize ?? options.filterGroup?.pageSize ?? 20,\n URLParams: options.provider.mode === \"instant-search\" ? false : true,\n showLoader: false,\n dataField: \"title\",\n showResultStats: false,\n react: getPropsReact(options),\n includeFields: includeFieldsProp,\n excludeFields: excludeFieldsProp,\n scrollTarget: options.scrollTarget,\n componentId: \"page\", // this sets ?page= in the URL\n scrollOnChange: false, // @todo make this better, it's really janky when enabled\n pagination: options.filterGroup?.paginationType !== \"infinite_scroll\",\n infiniteScroll: options.filterGroup?.paginationType === \"infinite_scroll\",\n renderNoResults: () => null, // always use only render, otherwise both are shown\n source: ReactiveList,\n onData: options.onData,\n };\n};\n\nexport const getPropsReact = (options: GeneratePropsFilterGroupOptions, filterGroupOption?: ConfigFilterFacet) => {\n const variation = options.provider.mode === \"curated-page\" ? options.provider.variation : undefined;\n const sensorIds = SENSOR_IDS(options.provider.mode, options.config, variation);\n const reactProp = (() => {\n if (filterGroupOption?.settingsShowEmptyValues) {\n return {\n and: sensorIds,\n };\n }\n\n return {\n and: [\n ...sensorIds,\n ...(options.provider.additionalComponentIds ?? []),\n ...(options.filterGroup?.options.map((filter) => filter.handle) ?? []),\n ].filter((handle) => handle !== filterGroupOption?.handle),\n };\n })();\n\n return reactProp;\n};\n\nexport const getPropsShared = (options: GeneratePropsFilterGroupOptions, filterGroupOption: ConfigFilterFacet) => {\n const reactProp = getPropsReact(options, filterGroupOption);\n const nestedFieldProp = (() => {\n const nestedFields = [\"variants\"];\n const topField = filterGroupOption.field.split(\".\")[0];\n if (nestedFields.includes(topField)) {\n return topField;\n }\n return undefined;\n })();\n const customQueryProp = (() => {\n if (!filterGroupOption.settingsHideUnavailable || !filterGroupOption.field.startsWith(\"variants.\"))\n return undefined;\n\n return (value?: string | string[]) => {\n if (!value) return {};\n\n // reactivesearch sometimes returns string, sometimes string[]\n const valueArray = \"string\" === typeof value ? [value] : value;\n\n if (0 === valueArray.length) return {};\n\n return {\n query: {\n nested: {\n path: \"variants\",\n query: {\n bool: {\n must: [\n {\n match: {\n \"variants.available\": \"true\",\n },\n },\n {\n terms: {\n [filterGroupOption.field]: valueArray,\n },\n },\n ],\n },\n },\n },\n },\n };\n };\n })();\n const defaultQueryProp = (() => {\n if (!filterGroupOption.field.startsWith(\"variants.\")) {\n return undefined;\n }\n\n // override the aggregation query to filter the results by the variants.available attribute\n return () => {\n return {\n aggs: {\n reactivesearch_nested: {\n nested: { path: \"variants\" },\n aggs: {\n reactify_nested_outer: {\n filter: {\n bool: {\n minimum_should_match: 1,\n should: [\n {\n match: {\n \"variants.available\": \"true\",\n },\n },\n {\n match: {\n \"variants.available\": filterGroupOption.settingsHideUnavailable ? \"true\" : \"false\",\n },\n },\n ],\n },\n },\n aggs: {\n [filterGroupOption.field]: {\n terms: {\n field: filterGroupOption.field,\n size: 100,\n order: { _count: \"desc\" },\n },\n aggs: {\n parent_docs: { reverse_nested: {} },\n },\n },\n },\n },\n },\n },\n },\n };\n };\n })();\n const sourceProp = (() => {\n if (filterGroupOption.displayType === \"slider\") {\n return ReactiveComponent;\n }\n if (filterGroupOption.displayType === \"single\") {\n if (filterGroupOption.displayView === \"range\") return SingleRange;\n return SingleList;\n }\n if (filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") return MultiRange;\n return MultiList;\n }\n\n return;\n })();\n\n const fieldProp = (() => {\n if ([\"price_min\", \"price_max\"].includes(filterGroupOption.field) && options.provider.market) {\n return `${filterGroupOption.field}_market_${options.provider.market}`;\n }\n\n return filterGroupOption.field;\n })();\n\n return {\n URLParams: true,\n componentId: filterGroupOption.handle,\n dataField: fieldProp,\n filterLabel: filterGroupOption.name,\n nestedField: nestedFieldProp,\n customQuery: customQueryProp,\n defaultQuery: defaultQueryProp,\n source: sourceProp,\n react: reactProp,\n };\n};\n\nexport const getPropsFilterList = (filterGroupOption: ConfigFilterFacet) => {\n return {\n size: parseInt(filterGroupOption.displaySize) || undefined,\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showLoadMore: filterGroupOption.settingsShowMore ?? false,\n showSearch: filterGroupOption.settingsShowSearch ?? false,\n showRadio: false,\n showCheckbox: false,\n };\n};\n\nexport const getPropsFilterRange = (filterGroupOption: ConfigFilterFacet) => {\n const data =\n filterGroupOption.displayRangeOptions?.map((option) => {\n const [label, start, end] = option.split(\":\");\n return {\n label: label,\n start: start ? parseInt(start) : 0,\n end: end ? parseInt(end) : Number.MAX_SAFE_INTEGER,\n };\n }) ?? [];\n\n return {\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showRadio: false,\n showCheckbox: false,\n data: data,\n };\n};\n\nexport const getPropsFilterSlider = (\n filterGroupOption: ConfigFilterFacet,\n query: Record<string, string> | string,\n value?: [number, number] | []\n) => {\n const filterValue =\n value ??\n JSON.parse(\n new URLSearchParams(typeof window === \"undefined\" ? query : window.location.search).get(\n filterGroupOption.handle\n ) ?? \"[0,0]\"\n );\n\n const defaultQuery = {\n aggs: {\n min: { min: { field: filterGroupOption.field } },\n max: { max: { field: filterGroupOption.field } },\n },\n };\n\n const customQuery = (() => {\n if (filterValue[0] === 0 && filterValue[1] === 0) {\n return;\n }\n\n return {\n query: {\n bool: {\n must: [\n {\n bool: {\n must: [\n { match: { published: true } },\n {\n range: {\n [filterGroupOption.field]: {\n gte: filterValue[0],\n lte: filterValue[1],\n boost: 2,\n },\n },\n },\n ],\n },\n },\n ],\n },\n },\n };\n })();\n\n return { defaultQuery, customQuery };\n};\n"]}
|