@usereactify/search 5.49.2 → 5.49.3
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 +7 -0
- package/dist/package.json +2 -3
- package/dist/src/components/ClearAll/ClearAll.js +1 -1
- package/dist/src/components/ClearAll/ClearAll.js.map +1 -1
- package/dist/src/components/CustomComponent/CustomComponent.d.ts +1 -1
- package/dist/src/components/CustomComponent/CustomComponent.js +1 -1
- package/dist/src/components/CustomComponent/CustomComponent.js.map +1 -1
- package/dist/src/components/Filter/Filter.js +5 -5
- package/dist/src/components/Filter/Filter.js.map +1 -1
- package/dist/src/components/Filter/FiltersSelected.js +1 -1
- package/dist/src/components/Filter/FiltersSelected.js.map +1 -1
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.d.ts +1 -0
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js +3 -3
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js.map +1 -1
- package/dist/src/components/Result/ResultStateProvider.js +1 -1
- package/dist/src/components/Result/ResultStateProvider.js.map +1 -1
- package/dist/src/components/Result/Results.d.ts +1 -1
- package/dist/src/components/Result/Results.js +1 -1
- package/dist/src/components/Result/Results.js.map +1 -1
- package/dist/src/components/Sensor/SensorCollection.js +1 -1
- package/dist/src/components/Sensor/SensorCollection.js.map +1 -1
- package/dist/src/components/Sensor/SensorCustom.js +1 -1
- package/dist/src/components/Sensor/SensorCustom.js.map +1 -1
- package/dist/src/components/Sensor/SensorInventoryAvailable.js +1 -1
- package/dist/src/components/Sensor/SensorInventoryAvailable.js.map +1 -1
- package/dist/src/components/Sensor/SensorPublished.js +1 -1
- package/dist/src/components/Sensor/SensorPublished.js.map +1 -1
- package/dist/src/components/Sensor/SensorSearchTerm.js +1 -1
- package/dist/src/components/Sensor/SensorSearchTerm.js.map +1 -1
- package/dist/src/components/Sensor/SensorSort.js +1 -1
- package/dist/src/components/Sensor/SensorSort.js.map +1 -1
- package/dist/src/components/Utility/UtilityAuthenticatedReactiveBase.js +1 -1
- package/dist/src/components/Utility/UtilityAuthenticatedReactiveBase.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.d.ts +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js +7 -46
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js.map +1 -1
- package/dist/src/hooks/useFilters.js +1 -1
- package/dist/src/hooks/useFilters.js.map +1 -1
- package/dist/src/hooks/useReactifySearchContext.d.ts +2 -0
- package/dist/src/hooks/useReactifySearchContext.js.map +1 -1
- package/dist/src/utility/props.d.ts +55 -32
- package/dist/src/utility/props.js +78 -13
- package/dist/src/utility/props.js.map +1 -1
- package/dist/src/utility/server.js +7 -5
- package/dist/src/utility/server.js.map +1 -1
- package/dist/src/utility/sortOption.d.ts +1 -0
- package/dist/src/utility/sortOption.js +2 -2
- package/dist/src/utility/sortOption.js.map +1 -1
- package/package.json +2 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SensorSearchTerm.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorSearchTerm.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { useDebounceFn } from \"ahooks\";\nimport DataSearch from \"@appbaseio/reactivesearch/lib/components/search/DataSearch\";\n\nimport {\n useAnalytics,\n useFlags,\n useReactifySearchContext,\n useSearch,\n} from \"../../hooks\";\n\nexport const SensorSearchTerm: React.FC = () => {\n const flagsHook = useFlags();\n const { options, config } = useReactifySearchContext();\n const { track } = useAnalytics();\n const { searchTerm } = useSearch();\n\n const [searchTermDebounced, setSearchTermDebounced] =\n React.useState<string>(searchTerm);\n\n // ignore search fields only set for instant search\n const searchFields = React.useMemo(() => {\n if (options.mode === \"search\") {\n return config.fields.filter((field) =>\n [\"always_search\", \"search_page\"].includes(field.searchType)\n );\n }\n\n if (options.mode === \"instant-search\") {\n return config.fields.filter((field) =>\n [\"always_search\", \"instant_search\"].includes(field.searchType)\n );\n }\n\n return [];\n }, [config.fields]);\n\n const { run: runDebouncedTriggerQuery, cancel: cancelDebouncedTriggerQuery } =\n useDebounceFn(\n (value: string) => {\n setSearchTermDebounced(value);\n\n let trimmedSearchTerm = searchTerm.trim();\n\n if (\n !trimmedSearchTerm ||\n (trimmedSearchTerm && trimmedSearchTerm.length < 3)\n ) {\n return;\n }\n\n track({\n eventName: \"search\",\n payload: {\n searchTerm: trimmedSearchTerm,\n },\n });\n },\n {\n wait: 300,\n }\n );\n\n React.useEffect(() => {\n runDebouncedTriggerQuery(searchTerm);\n }, [searchTerm]);\n\n if (searchFields.length === 0) {\n return null;\n }\n\n if (!flagsHook.flags[\"reactify-search:flag_sensor_searchterm\"]) {\n return null;\n }\n\n return (\n <>\n <DataSearch\n fuzziness={1}\n queryFormat=\"and\"\n autosuggest={false}\n value={searchTermDebounced}\n componentId=\"SensorSearchTerm\"\n style={{ display: \"none\" }}\n dataField={searchFields.map((field) => field.field)}\n fieldWeights={searchFields.map((field) => field.importance)}\n customQuery={(value, props) => {\n const valueNormal = value.toLowerCase().trim();\n const conditions: Array<unknown> = [];\n\n if (\n flagsHook.flags[\"reactify-search:flag_sensor_searchterm_value\"] &&\n valueNormal\n ) {\n if (options.market) {\n conditions.push({\n nested: {\n path: \"curations\",\n query: {\n bool: {\n must: [\n {\n term: {\n \"curations.searchTerm.keyword\": valueNormal,\n },\n },\n {\n term: {\n \"curations.markets.keyword\": options.market,\n },\n },\n ],\n },\n },\n },\n });\n } else {\n conditions.push({\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.searchTerm.keyword\": valueNormal,\n },\n },\n },\n });\n }\n }\n\n const fieldsPhrase = props.dataField\n .filter((field: string) =>\n !flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_phrase_synonyms\"\n ]\n ? !field.includes(\"synonym\")\n : true\n )\n .map(\n (field: string, index: number) =>\n `${field}^${props.fieldWeights[index]}`\n );\n if (\n flagsHook.flags[\"reactify-search:flag_sensor_searchterm_phrase\"] &&\n fieldsPhrase.length > 0\n ) {\n conditions.push({\n multi_match: {\n query: valueNormal,\n fields: fieldsPhrase,\n type: \"phrase\",\n operator: \"and\",\n },\n });\n }\n\n const fieldsPhrasePrefix = props.dataField\n .filter((field: string) =>\n !flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_phrase_prefix_synonyms\"\n ]\n ? !field.includes(\"synonym\")\n : true\n )\n .map(\n (field: string, index: number) =>\n `${field}^${props.fieldWeights[index]}`\n )\n .filter((field: string) => !field.includes(\".\"));\n\n if (\n flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_phrase_prefix\"\n ] &&\n fieldsPhrasePrefix.length > 0\n ) {\n conditions.push({\n multi_match: {\n query: valueNormal,\n fields: fieldsPhrasePrefix,\n type: \"phrase_prefix\",\n operator: \"and\",\n },\n });\n }\n\n const fieldsCrossFields = props.dataField\n .filter((field: string) =>\n !flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_cross_fields_synonyms\"\n ]\n ? !field.includes(\"synonym\")\n : true\n )\n .map(\n (field: string, index: number) =>\n `${field}^${props.fieldWeights[index]}`\n );\n if (\n flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_cross_fields\"\n ] &&\n fieldsCrossFields.length > 0\n ) {\n conditions.push({\n multi_match: {\n query: valueNormal,\n fields: fieldsCrossFields,\n type: \"cross_fields\",\n operator: \"and\",\n },\n });\n }\n\n const fieldsSpanFirst: any = props.dataField\n .filter((field: string) =>\n !flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_span_first_synonyms\"\n ]\n ? !field.includes(\"synonym\")\n : true\n )\n .filter((field: string) => {\n if (field.endsWith(\".keyword\")) {\n return false;\n }\n\n return true;\n })\n .map((field: string) => ({\n span_first: {\n match: {\n span_term: { [`${field}`]: valueNormal },\n },\n end: 1,\n },\n }));\n if (\n flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_span_first\"\n ] &&\n fieldsSpanFirst.length > 0\n ) {\n conditions.push(...fieldsSpanFirst);\n }\n\n return {\n query: {\n bool: {\n should: conditions,\n minimum_should_match: \"1\",\n },\n },\n };\n }}\n />\n </>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SensorSearchTerm.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorSearchTerm.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { useDebounceFn } from \"ahooks\";\nimport DataSearch from \"@usereactify/search-internals/lib/components/search/DataSearch\";\n\nimport {\n useAnalytics,\n useFlags,\n useReactifySearchContext,\n useSearch,\n} from \"../../hooks\";\n\nexport const SensorSearchTerm: React.FC = () => {\n const flagsHook = useFlags();\n const { options, config } = useReactifySearchContext();\n const { track } = useAnalytics();\n const { searchTerm } = useSearch();\n\n const [searchTermDebounced, setSearchTermDebounced] =\n React.useState<string>(searchTerm);\n\n // ignore search fields only set for instant search\n const searchFields = React.useMemo(() => {\n if (options.mode === \"search\") {\n return config.fields.filter((field) =>\n [\"always_search\", \"search_page\"].includes(field.searchType)\n );\n }\n\n if (options.mode === \"instant-search\") {\n return config.fields.filter((field) =>\n [\"always_search\", \"instant_search\"].includes(field.searchType)\n );\n }\n\n return [];\n }, [config.fields]);\n\n const { run: runDebouncedTriggerQuery, cancel: cancelDebouncedTriggerQuery } =\n useDebounceFn(\n (value: string) => {\n setSearchTermDebounced(value);\n\n let trimmedSearchTerm = searchTerm.trim();\n\n if (\n !trimmedSearchTerm ||\n (trimmedSearchTerm && trimmedSearchTerm.length < 3)\n ) {\n return;\n }\n\n track({\n eventName: \"search\",\n payload: {\n searchTerm: trimmedSearchTerm,\n },\n });\n },\n {\n wait: 300,\n }\n );\n\n React.useEffect(() => {\n runDebouncedTriggerQuery(searchTerm);\n }, [searchTerm]);\n\n if (searchFields.length === 0) {\n return null;\n }\n\n if (!flagsHook.flags[\"reactify-search:flag_sensor_searchterm\"]) {\n return null;\n }\n\n return (\n <>\n <DataSearch\n fuzziness={1}\n queryFormat=\"and\"\n autosuggest={false}\n value={searchTermDebounced}\n componentId=\"SensorSearchTerm\"\n style={{ display: \"none\" }}\n dataField={searchFields.map((field) => field.field)}\n fieldWeights={searchFields.map((field) => field.importance)}\n customQuery={(value, props) => {\n const valueNormal = value.toLowerCase().trim();\n const conditions: Array<unknown> = [];\n\n if (\n flagsHook.flags[\"reactify-search:flag_sensor_searchterm_value\"] &&\n valueNormal\n ) {\n if (options.market) {\n conditions.push({\n nested: {\n path: \"curations\",\n query: {\n bool: {\n must: [\n {\n term: {\n \"curations.searchTerm.keyword\": valueNormal,\n },\n },\n {\n term: {\n \"curations.markets.keyword\": options.market,\n },\n },\n ],\n },\n },\n },\n });\n } else {\n conditions.push({\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.searchTerm.keyword\": valueNormal,\n },\n },\n },\n });\n }\n }\n\n const fieldsPhrase = props.dataField\n .filter((field: string) =>\n !flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_phrase_synonyms\"\n ]\n ? !field.includes(\"synonym\")\n : true\n )\n .map(\n (field: string, index: number) =>\n `${field}^${props.fieldWeights[index]}`\n );\n if (\n flagsHook.flags[\"reactify-search:flag_sensor_searchterm_phrase\"] &&\n fieldsPhrase.length > 0\n ) {\n conditions.push({\n multi_match: {\n query: valueNormal,\n fields: fieldsPhrase,\n type: \"phrase\",\n operator: \"and\",\n },\n });\n }\n\n const fieldsPhrasePrefix = props.dataField\n .filter((field: string) =>\n !flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_phrase_prefix_synonyms\"\n ]\n ? !field.includes(\"synonym\")\n : true\n )\n .map(\n (field: string, index: number) =>\n `${field}^${props.fieldWeights[index]}`\n )\n .filter((field: string) => !field.includes(\".\"));\n\n if (\n flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_phrase_prefix\"\n ] &&\n fieldsPhrasePrefix.length > 0\n ) {\n conditions.push({\n multi_match: {\n query: valueNormal,\n fields: fieldsPhrasePrefix,\n type: \"phrase_prefix\",\n operator: \"and\",\n },\n });\n }\n\n const fieldsCrossFields = props.dataField\n .filter((field: string) =>\n !flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_cross_fields_synonyms\"\n ]\n ? !field.includes(\"synonym\")\n : true\n )\n .map(\n (field: string, index: number) =>\n `${field}^${props.fieldWeights[index]}`\n );\n if (\n flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_cross_fields\"\n ] &&\n fieldsCrossFields.length > 0\n ) {\n conditions.push({\n multi_match: {\n query: valueNormal,\n fields: fieldsCrossFields,\n type: \"cross_fields\",\n operator: \"and\",\n },\n });\n }\n\n const fieldsSpanFirst: any = props.dataField\n .filter((field: string) =>\n !flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_span_first_synonyms\"\n ]\n ? !field.includes(\"synonym\")\n : true\n )\n .filter((field: string) => {\n if (field.endsWith(\".keyword\")) {\n return false;\n }\n\n return true;\n })\n .map((field: string) => ({\n span_first: {\n match: {\n span_term: { [`${field}`]: valueNormal },\n },\n end: 1,\n },\n }));\n if (\n flagsHook.flags[\n \"reactify-search:flag_sensor_searchterm_span_first\"\n ] &&\n fieldsSpanFirst.length > 0\n ) {\n conditions.push(...fieldsSpanFirst);\n }\n\n return {\n query: {\n bool: {\n should: conditions,\n minimum_should_match: \"1\",\n },\n },\n };\n }}\n />\n </>\n );\n};\n"]}
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SensorSort = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const ReactiveComponent_1 = __importDefault(require("@
|
|
8
|
+
const ReactiveComponent_1 = __importDefault(require("@usereactify/search-internals/lib/components/basic/ReactiveComponent"));
|
|
9
9
|
const hooks_1 = require("../../hooks");
|
|
10
10
|
const props_1 = require("../../utility/props");
|
|
11
11
|
const SensorSort = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SensorSort.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorSort.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"SensorSort.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorSort.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,6HAAqG;AAErG,uCAKqB;AACrB,+CAAyD;AAElD,MAAM,UAAU,GAAa,GAAG,EAAE;IACvC,MAAM,SAAS,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAC7B,MAAM,qBAAqB,GAAG,IAAA,gCAAwB,GAAE,CAAC;IACzD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,iBAAS,GAAE,CAAC;IACnC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,iBAAS,GAAE,CAAC;IAEnC,MAAM,aAAa,GAAG,IAAA,0BAAkB,EAAC;QACvC,MAAM,EAAE,qBAAqB,CAAC,MAAM;QACpC,QAAQ,EAAE,qBAAqB,CAAC,OAAO;QACvC,UAAU,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM;QAC9B,UAAU,EAAE,UAAU;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kCAAkC,CAAC,EAAE;QACxD,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,8BAAC,2BAAiB,oBACZ,aAAa,EACjB,CACH,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,UAAU,cAsBrB","sourcesContent":["import React from \"react\";\nimport ReactiveComponent from \"@usereactify/search-internals/lib/components/basic/ReactiveComponent\";\n\nimport {\n useReactifySearchContext,\n useSortBy,\n useFlags,\n useSearch,\n} from \"../../hooks\";\nimport { getPropsSensorSort } from \"../../utility/props\";\n\nexport const SensorSort: React.FC = () => {\n const flagsHook = useFlags();\n const reactifySearchContext = useReactifySearchContext();\n const { sortOption } = useSortBy();\n const { searchTerm } = useSearch();\n\n const reactiveProps = getPropsSensorSort({\n config: reactifySearchContext.config,\n provider: reactifySearchContext.options,\n sortOption: sortOption?.handle,\n searchTerm: searchTerm,\n });\n\n if (!flagsHook.flags[\"reactify-search:flag_sensor_sort\"]) {\n return null;\n }\n\n return (\n <ReactiveComponent\n {...reactiveProps}\n />\n );\n};\n"]}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.UtilityAuthenticatedReactiveBase = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const hooks_1 = require("../../hooks");
|
|
9
|
-
const ReactiveBase_1 = __importDefault(require("@
|
|
9
|
+
const ReactiveBase_1 = __importDefault(require("@usereactify/search-internals/lib/components/basic/ReactiveBase"));
|
|
10
10
|
const UtilityAuthenticatedReactiveBase = (props) => {
|
|
11
11
|
const reactiveBaseProps = (0, hooks_1.useReactiveBaseProps)();
|
|
12
12
|
return react_1.default.createElement(ReactiveBase_1.default, Object.assign({}, reactiveBaseProps), props.children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UtilityAuthenticatedReactiveBase.js","sourceRoot":"","sources":["../../../../src/components/Utility/UtilityAuthenticatedReactiveBase.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uCAAmD;AACnD
|
|
1
|
+
{"version":3,"file":"UtilityAuthenticatedReactiveBase.js","sourceRoot":"","sources":["../../../../src/components/Utility/UtilityAuthenticatedReactiveBase.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uCAAmD;AACnD,mHAA2F;AAOpF,MAAM,gCAAgC,GAC3C,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,iBAAiB,GAAG,IAAA,4BAAoB,GAAE,CAAC;IAEjD,OAAO,8BAAC,sBAAY,oBAAK,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAgB,CAAC;AAC9E,CAAC,CAAC;AALS,QAAA,gCAAgC,oCAKzC","sourcesContent":["import React from \"react\";\nimport { useReactiveBaseProps } from \"../../hooks\";\nimport ReactiveBase from \"@usereactify/search-internals/lib/components/basic/ReactiveBase\";\n\nexport type UtilityAuthenticatedReactiveBaseProps = {\n /** Standard react children */\n children?: React.ReactNode | undefined;\n};\n\nexport const UtilityAuthenticatedReactiveBase: React.FC<UtilityAuthenticatedReactiveBaseProps> =\n (props) => {\n const reactiveBaseProps = useReactiveBaseProps();\n\n return <ReactiveBase {...reactiveBaseProps}>{props.children}</ReactiveBase>;\n };\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ReactiveBaseProps } from "@
|
|
1
|
+
import { ReactiveBaseProps } from "@usereactify/search-internals/lib/components/basic/ReactiveBase";
|
|
2
2
|
export declare const replaceDocCountWithParent: (response: any) => any;
|
|
3
3
|
export declare const useReactiveBaseProps: () => ReactiveBaseProps;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -15,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
6
|
exports.useReactiveBaseProps = exports.replaceDocCountWithParent = void 0;
|
|
16
7
|
const react_1 = __importDefault(require("react"));
|
|
17
8
|
const hooks_1 = require("../../hooks");
|
|
18
|
-
const
|
|
9
|
+
const props_1 = require("../../utility/props");
|
|
19
10
|
const replaceDocCountWithParent = (response) => {
|
|
20
11
|
Object.entries(response)
|
|
21
12
|
.filter(([key]) => key !== "doc_count")
|
|
@@ -34,44 +25,14 @@ exports.replaceDocCountWithParent = replaceDocCountWithParent;
|
|
|
34
25
|
const useReactiveBaseProps = () => {
|
|
35
26
|
var _a;
|
|
36
27
|
const { options, config } = (0, hooks_1.useReactifySearchContext)();
|
|
28
|
+
const reactiveBasePropsShared = (0, props_1.getPropsBase)({
|
|
29
|
+
provider: options,
|
|
30
|
+
config: config,
|
|
31
|
+
query: options.query,
|
|
32
|
+
});
|
|
37
33
|
const reactiveBaseProps = react_1.default.useMemo(() => {
|
|
38
34
|
var _a;
|
|
39
|
-
return ({
|
|
40
|
-
app: options.index,
|
|
41
|
-
url: config.endpoint,
|
|
42
|
-
credentials: options.credentials,
|
|
43
|
-
theme: options.theme,
|
|
44
|
-
initialState: (_a = options.preload) === null || _a === void 0 ? void 0 : _a.state,
|
|
45
|
-
transformRequest: (request) => {
|
|
46
|
-
if (request.url.endsWith("?")) {
|
|
47
|
-
request.url = request.url.substring(0, request.url.length - 1);
|
|
48
|
-
}
|
|
49
|
-
return request;
|
|
50
|
-
},
|
|
51
|
-
transformResponse: (response) => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
|
-
var _b, _c, _d, _e;
|
|
53
|
-
// support filtering inside nested aggregations by moving the inner aggregation
|
|
54
|
-
// up one level such that reactivesearch understands it
|
|
55
|
-
//
|
|
56
|
-
// see useReactiveFilterListProps > defaultQuery to see how a filter is being applied
|
|
57
|
-
// to variant aggregations to ensure that only in stock sizes are displayed as filter
|
|
58
|
-
// options, this involves a nested filter, which requires this fix
|
|
59
|
-
//
|
|
60
|
-
// https://github.com/appbaseio/reactivesearch/issues/1530
|
|
61
|
-
if ((_c = (_b = response === null || response === void 0 ? void 0 : response.aggregations) === null || _b === void 0 ? void 0 : _b.reactivesearch_nested) === null || _c === void 0 ? void 0 : _c.reactify_nested_outer) {
|
|
62
|
-
response.aggregations.reactivesearch_nested =
|
|
63
|
-
(0, exports.replaceDocCountWithParent)((_e = (_d = response === null || response === void 0 ? void 0 : response.aggregations) === null || _d === void 0 ? void 0 : _d.reactivesearch_nested) === null || _e === void 0 ? void 0 : _e.reactify_nested_outer);
|
|
64
|
-
}
|
|
65
|
-
return response;
|
|
66
|
-
}),
|
|
67
|
-
headers: {
|
|
68
|
-
"x-reactify-shop": options.shopifyPermanentDomain,
|
|
69
|
-
"x-reactify-mode": options.mode,
|
|
70
|
-
"x-reactify-client-id": options.clientId,
|
|
71
|
-
"x-reactify-client-version": package_json_1.default.version,
|
|
72
|
-
"x-reactify-ga": (0, hooks_1.getCookie)("_rs_ga"),
|
|
73
|
-
},
|
|
74
|
-
});
|
|
35
|
+
return (Object.assign(Object.assign({}, reactiveBasePropsShared), { initialState: (_a = options.preload) === null || _a === void 0 ? void 0 : _a.state, headers: Object.assign(Object.assign({}, reactiveBasePropsShared.headers), { "x-reactify-ga": (0, hooks_1.getCookie)("_rs_ga") }) }));
|
|
75
36
|
}, [options.index, config.endpoint, options.credentials, options.theme, (_a = options.preload) === null || _a === void 0 ? void 0 : _a.state]);
|
|
76
37
|
return reactiveBaseProps;
|
|
77
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveBaseProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveBaseProps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useReactiveBaseProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveBaseProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,uCAAkE;AAGlE,+CAAmD;AAE5C,MAAM,yBAAyB,GAAG,CAAC,QAAa,EAAE,EAAE;IACzD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SACrB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC;SACtC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAgB,EAAE,EAAE;;QACvC,MAAA,KAAK,CAAC,OAAO,0CAAE,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;YACrC,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;gBAChD,OAAO,MAAM,CAAC,WAAW,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAbW,QAAA,yBAAyB,6BAapC;AAEK,MAAM,oBAAoB,GAAG,GAAsB,EAAE;;IAC1D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAEvD,MAAM,uBAAuB,GAAG,IAAA,oBAAY,EAAC;QAC3C,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,eAAK,CAAC,OAAO,CACrC,GAAG,EAAE;;QAAC,OAAA,iCACD,uBAAuB,KAC1B,YAAY,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,EACpC,OAAO,kCACF,uBAAuB,CAAC,OAAO,KAClC,eAAe,EAAE,IAAA,iBAAS,EAAC,QAAQ,CAAC,OAEtC,CAAA;KAAA,EACF,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,CAAC,CAC7F,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAtBW,QAAA,oBAAoB,wBAsB/B","sourcesContent":["import React from \"react\";\nimport { ReactiveBaseProps } from \"@usereactify/search-internals/lib/components/basic/ReactiveBase\";\n\nimport { getCookie, useReactifySearchContext } from \"../../hooks\";\n\nimport pkg from \"../../../package.json\";\nimport { getPropsBase } from \"../../utility/props\";\n\nexport const replaceDocCountWithParent = (response: any) => {\n Object.entries(response)\n .filter(([key]) => key !== \"doc_count\")\n .forEach(([key, value]: [string, any]) => {\n value.buckets?.forEach((bucket: any) => {\n if (bucket.parent_docs) {\n bucket.doc_count = bucket.parent_docs.doc_count;\n delete bucket.parent_docs;\n }\n });\n });\n\n return response;\n};\n\nexport const useReactiveBaseProps = (): ReactiveBaseProps => {\n const { options, config } = useReactifySearchContext();\n \n const reactiveBasePropsShared = getPropsBase({\n provider: options,\n config: config,\n query: options.query,\n })\n\n const reactiveBaseProps = React.useMemo<ReactiveBaseProps>(\n () => ({\n ...reactiveBasePropsShared,\n initialState: options.preload?.state,\n headers: {\n ...reactiveBasePropsShared.headers,\n \"x-reactify-ga\": getCookie(\"_rs_ga\"),\n },\n }),\n [options.index, config.endpoint, options.credentials, options.theme, options.preload?.state]\n );\n\n return reactiveBaseProps;\n};\n"]}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.useFilters = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
// @ts-expect-error missing types
|
|
9
|
-
const utils_1 = require("@
|
|
9
|
+
const utils_1 = require("@usereactify/search-internals/lib/utils");
|
|
10
10
|
// @ts-expect-error missing types
|
|
11
11
|
const actions_1 = require("@appbaseio/reactivecore/lib/actions");
|
|
12
12
|
const hooks_1 = require("../hooks");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilters.js","sourceRoot":"","sources":["../../../src/hooks/useFilters.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iCAAiC;AACjC
|
|
1
|
+
{"version":3,"file":"useFilters.js","sourceRoot":"","sources":["../../../src/hooks/useFilters.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\n// @ts-expect-error missing types\nimport { ReactReduxContext } from \"@usereactify/search-internals/lib/utils\";\n// @ts-expect-error missing types\nimport { setValue } from \"@appbaseio/reactivecore/lib/actions\";\n\nimport { ConfigFilter, ConfigFilterOption } from \"../types\";\nimport { useReactifySearchContext } from \"../hooks\";\nimport { debug } from \"../utility\";\n\nexport const useFilters = (): {\n /** The currently selected filter stack, based on mode, curation and more */\n filterStack?: ConfigFilter;\n /** All of the available filters within the filter stack */\n filters?: Array<ConfigFilterOption>;\n /** All of the selected filters with their value */\n selected: Array<{\n handle: string;\n value: string | Array<string> | Array<{\n label: string;\n start: number;\n end: number;\n }>;\n }>;\n /** Clear filter by handle */\n setFilterValue: (\n handle: string,\n value: string | Array<string> | [number, number]\n ) => void;\n} => {\n const { options, config } = useReactifySearchContext();\n const reactivesearchContext = React.useContext<any>(ReactReduxContext);\n\n const filterStack = React.useMemo(() => {\n // select filters by type\n const matchingFilterss = config.filters.filter(\n (filter) => filter.type === options.mode\n );\n\n // select filter stack by handle if provided\n if (options.filtersHandle) {\n const matchingFilters = matchingFilterss.find(\n (filterStack) => options.filtersHandle === filterStack.handle\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n }\n\n // select filter stack by collection if provided\n if (options.mode === \"collection\" && options.collectionHandle) {\n const matchingFilters = matchingFilterss.find((filterStack) =>\n filterStack.collections?.includes(options.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 = 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 = config.filters[0];\n\n return matchingFilters;\n }, [\n config,\n options.mode === \"collection\" ? options.collectionHandle : undefined,\n ]);\n\n const filters = React.useMemo(() => {\n const sortedFilters = filterStack?.options.sort((a, b) =>\n a.position > b.position ? 1 : -1\n );\n\n return sortedFilters;\n }, [filterStack]);\n\n const selected = React.useMemo(() => {\n return Object.keys(reactivesearchContext.storeState.selectedValues)\n .filter((item) => filters.find((filter) => filter.handle === item))\n .map((item) => ({\n handle: item,\n value: reactivesearchContext.storeState.selectedValues[item].value,\n }));\n }, [filters, reactivesearchContext?.storeState?.selectedValues]);\n\n const setFilterValue = React.useCallback(\n (\n handle: string,\n value: string | Array<string> | [number, number]\n ): void => {\n debug.log(\"useFilters\", \"setFilterValue[handle,value]\", handle, value);\n reactivesearchContext.store.dispatch(setValue(handle, value));\n },\n [reactivesearchContext]\n );\n\n debug.hook(\"useFilters\", \"filterStack\", filterStack);\n debug.hook(\"useFilters\", \"filters\", filters);\n debug.hook(\"useFilters\", \"selected\", selected);\n\n return {\n filterStack: filterStack,\n filters: filters,\n selected: selected,\n setFilterValue: setFilterValue,\n };\n};\n"]}
|
|
@@ -18,6 +18,7 @@ export declare const ReactifySearchContext: React.Context<{
|
|
|
18
18
|
includeFields?: string[] | undefined;
|
|
19
19
|
excludeFields?: string[] | undefined;
|
|
20
20
|
flags?: Record<Flags, boolean> | undefined;
|
|
21
|
+
query?: Record<string, string> | undefined;
|
|
21
22
|
preload?: {
|
|
22
23
|
config: Config;
|
|
23
24
|
state: unknown;
|
|
@@ -63,6 +64,7 @@ export declare const useReactifySearchContext: () => {
|
|
|
63
64
|
includeFields?: string[] | undefined;
|
|
64
65
|
excludeFields?: string[] | undefined;
|
|
65
66
|
flags?: Record<Flags, boolean> | undefined;
|
|
67
|
+
query?: Record<string, string> | undefined;
|
|
66
68
|
preload?: {
|
|
67
69
|
config: Config;
|
|
68
70
|
state: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactifySearchContext.js","sourceRoot":"","sources":["../../../src/hooks/useReactifySearchContext.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAOb,QAAA,qBAAqB,GAAG,eAAK,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"useReactifySearchContext.js","sourceRoot":"","sources":["../../../src/hooks/useReactifySearchContext.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAOb,QAAA,qBAAqB,GAAG,eAAK,CAAC,aAAa,CA4DtD,SAAS,CAAC,CAAC;AAEN,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAC3C,eAAK,CAAC,UAAU,CAAC,6BAAqB,CAAE,CAAC;AAD9B,QAAA,wBAAwB,4BACM","sourcesContent":["import React from \"react\";\n\nimport { Config, ReactivesearchResultProps } from \"../types\";\nimport { Flags } from \"./useFlags\";\n\nexport type ReactifySearchMode = \"search\" | \"collection\" | \"instant-search\";\n\nexport const ReactifySearchContext = React.createContext<\n | {\n config: Config;\n options: {\n clientId: string;\n mode: ReactifySearchMode;\n index: string;\n shopifyPermanentDomain: string;\n market?: string;\n filtersHandle?: string;\n credentials?: string;\n onRedirect?: (type: \"redirect\" | \"search\", url: string) => void;\n theme: Record<string, unknown>;\n additionalComponentIds?: Array<string>;\n includeFields?: Array<string>;\n excludeFields?: Array<string>;\n flags?: Record<Flags, boolean>;\n query?: Record<string, string>;\n preload?: {\n config: Config;\n state: unknown;\n };\n } & (\n | {\n mode: \"search\";\n }\n | {\n mode: \"collection\";\n collectionHandle: string;\n }\n | {\n mode: \"instant-search\";\n }\n );\n search: {\n searchTerm: string;\n setSearchTerm: React.Dispatch<React.SetStateAction<string>>;\n showInstantSearchResults: boolean;\n setShowInstantSearchResults: React.Dispatch<\n React.SetStateAction<boolean>\n >;\n };\n sortby: {\n sortOption: string;\n setSortOption: React.Dispatch<React.SetStateAction<string>>;\n };\n results: {\n results: ReactivesearchResultProps[\"data\"];\n setResults: React.Dispatch<\n React.SetStateAction<ReactivesearchResultProps[\"data\"]>\n >;\n resultStats?: ReactivesearchResultProps[\"resultStats\"];\n setResultStats: React.Dispatch<\n React.SetStateAction<\n ReactivesearchResultProps[\"resultStats\"] | undefined\n >\n >;\n };\n }\n | undefined\n>(undefined);\n\nexport const useReactifySearchContext = () =>\n React.useContext(ReactifySearchContext)!;\n"]}
|
|
@@ -1,17 +1,46 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ReactiveList } from "@
|
|
2
|
+
import { ReactiveList } from "@usereactify/search-internals";
|
|
3
3
|
import { ReactifySearchProviderProps } from "../components";
|
|
4
4
|
import { Config, ConfigFilter, ConfigFilterOption } from "../types";
|
|
5
5
|
export declare type GeneratePropsFilterGroupOptions = {
|
|
6
6
|
provider: ReactifySearchProviderProps;
|
|
7
7
|
config: Config;
|
|
8
8
|
filterGroup?: ConfigFilter;
|
|
9
|
+
query?: Record<string, string>;
|
|
9
10
|
};
|
|
10
11
|
export declare type GeneratePropsSensorOptions = {
|
|
11
12
|
provider: ReactifySearchProviderProps;
|
|
12
13
|
config: Config;
|
|
14
|
+
query?: Record<string, string>;
|
|
15
|
+
};
|
|
16
|
+
export declare type GeneratePropsBase = {
|
|
17
|
+
provider: ReactifySearchProviderProps;
|
|
18
|
+
config: Config;
|
|
19
|
+
query?: Record<string, string>;
|
|
13
20
|
};
|
|
14
21
|
export declare const getPropsFilterGroup: (options: GeneratePropsFilterGroupOptions) => ({
|
|
22
|
+
size: number;
|
|
23
|
+
URLParams: boolean;
|
|
24
|
+
showLoader: boolean;
|
|
25
|
+
dataField: string;
|
|
26
|
+
showResultStats: boolean;
|
|
27
|
+
react: {
|
|
28
|
+
and: string[];
|
|
29
|
+
};
|
|
30
|
+
includeFields: string[];
|
|
31
|
+
excludeFields: string[];
|
|
32
|
+
scrollTarget: string | Element | HTMLDocument | undefined;
|
|
33
|
+
componentId: string;
|
|
34
|
+
scrollOnChange: boolean;
|
|
35
|
+
pagination: boolean;
|
|
36
|
+
infiniteScroll: boolean;
|
|
37
|
+
renderNoResults: () => null;
|
|
38
|
+
source: typeof ReactiveList;
|
|
39
|
+
} | {
|
|
40
|
+
componentId: string;
|
|
41
|
+
customQuery: () => unknown;
|
|
42
|
+
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any>;
|
|
43
|
+
} | {
|
|
15
44
|
URLParams: boolean;
|
|
16
45
|
componentId: string;
|
|
17
46
|
dataField: string;
|
|
@@ -80,32 +109,10 @@ export declare const getPropsFilterGroup: (options: GeneratePropsFilterGroupOpti
|
|
|
80
109
|
};
|
|
81
110
|
};
|
|
82
111
|
}) | undefined;
|
|
83
|
-
source: import("react").ComponentClass<import("@
|
|
112
|
+
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/range/SingleRange").SingleRangeProps, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/list/SingleList").SingleList, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/range/MultiRange").MultiRangeProps, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/list/MultiList").MultiList, any> | undefined;
|
|
84
113
|
react: {
|
|
85
114
|
and: string[];
|
|
86
115
|
};
|
|
87
|
-
} | {
|
|
88
|
-
componentId: string;
|
|
89
|
-
customQuery: () => unknown;
|
|
90
|
-
source: import("react").ComponentClass<import("@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any>;
|
|
91
|
-
} | {
|
|
92
|
-
size: number;
|
|
93
|
-
URLParams: boolean;
|
|
94
|
-
showLoader: boolean;
|
|
95
|
-
dataField: string;
|
|
96
|
-
showResultStats: boolean;
|
|
97
|
-
react: {
|
|
98
|
-
and: string[];
|
|
99
|
-
};
|
|
100
|
-
includeFields: string[];
|
|
101
|
-
excludeFields: string[];
|
|
102
|
-
scrollTarget: string | Element | HTMLDocument | undefined;
|
|
103
|
-
componentId: string;
|
|
104
|
-
scrollOnChange: boolean;
|
|
105
|
-
pagination: boolean;
|
|
106
|
-
infiniteScroll: boolean;
|
|
107
|
-
renderNoResults: () => null;
|
|
108
|
-
source: typeof ReactiveList;
|
|
109
116
|
} | null)[];
|
|
110
117
|
export declare const getPropsFilterGroupOption: (options: GeneratePropsFilterGroupOptions, filterGroupOption: ConfigFilterOption) => {
|
|
111
118
|
URLParams: boolean;
|
|
@@ -176,7 +183,7 @@ export declare const getPropsFilterGroupOption: (options: GeneratePropsFilterGro
|
|
|
176
183
|
};
|
|
177
184
|
};
|
|
178
185
|
}) | undefined;
|
|
179
|
-
source: import("react").ComponentClass<import("@
|
|
186
|
+
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/range/SingleRange").SingleRangeProps, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/list/SingleList").SingleList, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/range/MultiRange").MultiRangeProps, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/list/MultiList").MultiList, any> | undefined;
|
|
180
187
|
react: {
|
|
181
188
|
and: string[];
|
|
182
189
|
};
|
|
@@ -184,12 +191,12 @@ export declare const getPropsFilterGroupOption: (options: GeneratePropsFilterGro
|
|
|
184
191
|
export declare const getPropsSensors: (options: GeneratePropsSensorOptions) => ({
|
|
185
192
|
componentId: string;
|
|
186
193
|
customQuery: () => unknown;
|
|
187
|
-
source: import("react").ComponentClass<import("@
|
|
194
|
+
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any>;
|
|
188
195
|
} | null)[];
|
|
189
196
|
export declare const getPropsSensorCustom: (options: GeneratePropsSensorOptions) => {
|
|
190
197
|
componentId: string;
|
|
191
198
|
customQuery: () => unknown;
|
|
192
|
-
source: import("react").ComponentClass<import("@
|
|
199
|
+
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any>;
|
|
193
200
|
}[];
|
|
194
201
|
export declare const getPropsSensorCollection: (options: GeneratePropsSensorOptions) => {
|
|
195
202
|
componentId: string;
|
|
@@ -220,7 +227,7 @@ export declare const getPropsSensorCollection: (options: GeneratePropsSensorOpti
|
|
|
220
227
|
};
|
|
221
228
|
};
|
|
222
229
|
} | null;
|
|
223
|
-
source: import("react").ComponentClass<import("@
|
|
230
|
+
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any>;
|
|
224
231
|
} | null;
|
|
225
232
|
export declare const getPropsSensorPublished: (options: GeneratePropsSensorOptions) => {
|
|
226
233
|
componentId: string;
|
|
@@ -249,7 +256,7 @@ export declare const getPropsSensorPublished: (options: GeneratePropsSensorOptio
|
|
|
249
256
|
bool?: undefined;
|
|
250
257
|
};
|
|
251
258
|
};
|
|
252
|
-
source: import("react").ComponentClass<import("@
|
|
259
|
+
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any>;
|
|
253
260
|
};
|
|
254
261
|
export declare const getPropsSensorInventoryAvailable: (options: GeneratePropsSensorOptions) => {
|
|
255
262
|
componentId: string;
|
|
@@ -290,7 +297,7 @@ export declare const getPropsSensorInventoryAvailable: (options: GeneratePropsSe
|
|
|
290
297
|
};
|
|
291
298
|
};
|
|
292
299
|
};
|
|
293
|
-
source: import("react").ComponentClass<import("@
|
|
300
|
+
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any>;
|
|
294
301
|
} | null;
|
|
295
302
|
export declare const getPropsSensorSort: (options: GeneratePropsSensorOptions & {
|
|
296
303
|
searchTerm?: string;
|
|
@@ -301,7 +308,23 @@ export declare const getPropsSensorSort: (options: GeneratePropsSensorOptions &
|
|
|
301
308
|
sort: any[];
|
|
302
309
|
query: Record<string, any> | undefined;
|
|
303
310
|
};
|
|
304
|
-
source: import("react").ComponentClass<import("@
|
|
311
|
+
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any>;
|
|
312
|
+
};
|
|
313
|
+
export declare const getPropsBase: (options: GeneratePropsBase) => {
|
|
314
|
+
app: string;
|
|
315
|
+
url: string;
|
|
316
|
+
credentials: string | undefined;
|
|
317
|
+
theme: Record<string, unknown> | undefined;
|
|
318
|
+
initialState: unknown;
|
|
319
|
+
transformSort: () => any[];
|
|
320
|
+
transformRequest: (request: any) => any;
|
|
321
|
+
transformResponse: (response: any) => Promise<any>;
|
|
322
|
+
headers: {
|
|
323
|
+
"x-reactify-shop": string;
|
|
324
|
+
"x-reactify-mode": "search" | "collection" | "instant-search";
|
|
325
|
+
"x-reactify-client-id": string | undefined;
|
|
326
|
+
"x-reactify-client-version": string;
|
|
327
|
+
};
|
|
305
328
|
};
|
|
306
329
|
export declare const getPropsResults: (options: GeneratePropsFilterGroupOptions & {
|
|
307
330
|
scrollTarget?: string | Element | HTMLDocument;
|
|
@@ -397,7 +420,7 @@ export declare const getPropsShared: (options: GeneratePropsFilterGroupOptions,
|
|
|
397
420
|
};
|
|
398
421
|
};
|
|
399
422
|
}) | undefined;
|
|
400
|
-
source: import("react").ComponentClass<import("@
|
|
423
|
+
source: import("react").ComponentClass<import("@usereactify/search-internals/lib/components/basic/ReactiveComponent").ReactiveComponentProps, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/range/SingleRange").SingleRangeProps, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/list/SingleList").SingleList, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/range/MultiRange").MultiRangeProps, any> | import("react").ComponentClass<import("@usereactify/search-internals/lib/components/list/MultiList").MultiList, any> | undefined;
|
|
401
424
|
react: {
|
|
402
425
|
and: string[];
|
|
403
426
|
};
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
2
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPropsFilterSlider = exports.getPropsFilterRange = exports.getPropsFilterList = exports.getPropsShared = exports.getPropsReact = exports.getPropsResults = exports.getPropsSensorSort = exports.getPropsSensorInventoryAvailable = exports.getPropsSensorPublished = exports.getPropsSensorCollection = exports.getPropsSensorCustom = exports.getPropsSensors = exports.getPropsFilterGroupOption = exports.getPropsFilterGroup = void 0;
|
|
4
|
-
const
|
|
15
|
+
exports.getPropsFilterSlider = exports.getPropsFilterRange = exports.getPropsFilterList = exports.getPropsShared = exports.getPropsReact = exports.getPropsResults = exports.getPropsBase = exports.getPropsSensorSort = exports.getPropsSensorInventoryAvailable = exports.getPropsSensorPublished = exports.getPropsSensorCollection = exports.getPropsSensorCustom = exports.getPropsSensors = exports.getPropsFilterGroupOption = exports.getPropsFilterGroup = void 0;
|
|
16
|
+
const search_internals_1 = require("@usereactify/search-internals");
|
|
5
17
|
const components_1 = require("../components");
|
|
6
18
|
const curation_1 = require("./curation");
|
|
7
19
|
const sortOption_1 = require("./sortOption");
|
|
8
20
|
const filters_1 = require("./filters");
|
|
21
|
+
const hooks_1 = require("../hooks");
|
|
22
|
+
const package_json_1 = __importDefault(require("../../package.json"));
|
|
9
23
|
const getPropsFilterGroup = (options) => {
|
|
10
24
|
var _a, _b;
|
|
11
25
|
return [
|
|
@@ -47,7 +61,7 @@ const getPropsSensorCustom = (options) => {
|
|
|
47
61
|
return sensors.map((sensor, index) => ({
|
|
48
62
|
componentId: `SensorCustom_${index}`,
|
|
49
63
|
customQuery: () => sensor,
|
|
50
|
-
source:
|
|
64
|
+
source: search_internals_1.ReactiveComponent,
|
|
51
65
|
}));
|
|
52
66
|
};
|
|
53
67
|
exports.getPropsSensorCustom = getPropsSensorCustom;
|
|
@@ -134,7 +148,7 @@ const getPropsSensorCollection = (options) => {
|
|
|
134
148
|
},
|
|
135
149
|
};
|
|
136
150
|
},
|
|
137
|
-
source:
|
|
151
|
+
source: search_internals_1.ReactiveComponent,
|
|
138
152
|
};
|
|
139
153
|
};
|
|
140
154
|
exports.getPropsSensorCollection = getPropsSensorCollection;
|
|
@@ -167,7 +181,7 @@ const getPropsSensorPublished = (options) => {
|
|
|
167
181
|
},
|
|
168
182
|
};
|
|
169
183
|
},
|
|
170
|
-
source:
|
|
184
|
+
source: search_internals_1.ReactiveComponent,
|
|
171
185
|
};
|
|
172
186
|
};
|
|
173
187
|
exports.getPropsSensorPublished = getPropsSensorPublished;
|
|
@@ -219,7 +233,7 @@ const getPropsSensorInventoryAvailable = (options) => {
|
|
|
219
233
|
},
|
|
220
234
|
},
|
|
221
235
|
}),
|
|
222
|
-
source:
|
|
236
|
+
source: search_internals_1.ReactiveComponent,
|
|
223
237
|
};
|
|
224
238
|
};
|
|
225
239
|
exports.getPropsSensorInventoryAvailable = getPropsSensorInventoryAvailable;
|
|
@@ -242,10 +256,55 @@ const getPropsSensorSort = (options) => {
|
|
|
242
256
|
sort,
|
|
243
257
|
query,
|
|
244
258
|
}),
|
|
245
|
-
source:
|
|
259
|
+
source: search_internals_1.ReactiveComponent,
|
|
246
260
|
};
|
|
247
261
|
};
|
|
248
262
|
exports.getPropsSensorSort = getPropsSensorSort;
|
|
263
|
+
const getPropsBase = (options) => {
|
|
264
|
+
var _a;
|
|
265
|
+
const props = {
|
|
266
|
+
app: options.config.index,
|
|
267
|
+
url: options.config.endpoint,
|
|
268
|
+
credentials: options.provider.credentials,
|
|
269
|
+
theme: options.provider.theme,
|
|
270
|
+
initialState: (_a = options.provider.preload) === null || _a === void 0 ? void 0 : _a.state,
|
|
271
|
+
transformSort: () => {
|
|
272
|
+
const sortSensor = (0, exports.getPropsSensorSort)(options);
|
|
273
|
+
const customQuery = sortSensor.customQuery();
|
|
274
|
+
return customQuery.sort;
|
|
275
|
+
},
|
|
276
|
+
transformRequest: (request) => {
|
|
277
|
+
if (request.url.endsWith("?")) {
|
|
278
|
+
request.url = request.url.substring(0, request.url.length - 1);
|
|
279
|
+
}
|
|
280
|
+
return request;
|
|
281
|
+
},
|
|
282
|
+
transformResponse: (response) => __awaiter(void 0, void 0, void 0, function* () {
|
|
283
|
+
var _b, _c, _d, _e;
|
|
284
|
+
// support filtering inside nested aggregations by moving the inner aggregation
|
|
285
|
+
// up one level such that reactivesearch understands it
|
|
286
|
+
//
|
|
287
|
+
// see useReactiveFilterListProps > defaultQuery to see how a filter is being applied
|
|
288
|
+
// to variant aggregations to ensure that only in stock sizes are displayed as filter
|
|
289
|
+
// options, this involves a nested filter, which requires this fix
|
|
290
|
+
//
|
|
291
|
+
// https://github.com/appbaseio/reactivesearch/issues/1530
|
|
292
|
+
if ((_c = (_b = response === null || response === void 0 ? void 0 : response.aggregations) === null || _b === void 0 ? void 0 : _b.reactivesearch_nested) === null || _c === void 0 ? void 0 : _c.reactify_nested_outer) {
|
|
293
|
+
response.aggregations.reactivesearch_nested =
|
|
294
|
+
(0, hooks_1.replaceDocCountWithParent)((_e = (_d = response === null || response === void 0 ? void 0 : response.aggregations) === null || _d === void 0 ? void 0 : _d.reactivesearch_nested) === null || _e === void 0 ? void 0 : _e.reactify_nested_outer);
|
|
295
|
+
}
|
|
296
|
+
return response;
|
|
297
|
+
}),
|
|
298
|
+
headers: {
|
|
299
|
+
"x-reactify-shop": options.provider.shopifyPermanentDomain,
|
|
300
|
+
"x-reactify-mode": options.provider.mode,
|
|
301
|
+
"x-reactify-client-id": options.provider.clientId,
|
|
302
|
+
"x-reactify-client-version": package_json_1.default.version,
|
|
303
|
+
},
|
|
304
|
+
};
|
|
305
|
+
return props;
|
|
306
|
+
};
|
|
307
|
+
exports.getPropsBase = getPropsBase;
|
|
249
308
|
const getPropsResults = (options) => {
|
|
250
309
|
var _a, _b, _c, _d, _e;
|
|
251
310
|
const includeFieldsProp = (() => {
|
|
@@ -281,7 +340,13 @@ const getPropsResults = (options) => {
|
|
|
281
340
|
pagination: ((_d = options.filterGroup) === null || _d === void 0 ? void 0 : _d.paginationType) !== "infinite_scroll",
|
|
282
341
|
infiniteScroll: ((_e = options.filterGroup) === null || _e === void 0 ? void 0 : _e.paginationType) === "infinite_scroll",
|
|
283
342
|
renderNoResults: () => null,
|
|
284
|
-
source:
|
|
343
|
+
source: search_internals_1.ReactiveList,
|
|
344
|
+
// defaultQuery: () => ({
|
|
345
|
+
// sort: ["_score"],
|
|
346
|
+
// query: {
|
|
347
|
+
// match_all: {}
|
|
348
|
+
// }
|
|
349
|
+
// })
|
|
285
350
|
};
|
|
286
351
|
};
|
|
287
352
|
exports.getPropsResults = getPropsResults;
|
|
@@ -403,19 +468,19 @@ const getPropsShared = (options, filterGroupOption) => {
|
|
|
403
468
|
})();
|
|
404
469
|
const sourceProp = (() => {
|
|
405
470
|
if (filterGroupOption.displayType === "slider") {
|
|
406
|
-
return
|
|
471
|
+
return search_internals_1.ReactiveComponent;
|
|
407
472
|
}
|
|
408
473
|
if (filterGroupOption.displayType === "single") {
|
|
409
474
|
if (filterGroupOption.displayView === "range") {
|
|
410
|
-
return
|
|
475
|
+
return search_internals_1.SingleRange;
|
|
411
476
|
}
|
|
412
|
-
return
|
|
477
|
+
return search_internals_1.SingleList;
|
|
413
478
|
}
|
|
414
479
|
if (filterGroupOption.displayType === "multi") {
|
|
415
480
|
if (filterGroupOption.displayView === "range") {
|
|
416
|
-
return
|
|
481
|
+
return search_internals_1.MultiRange;
|
|
417
482
|
}
|
|
418
|
-
return
|
|
483
|
+
return search_internals_1.MultiList;
|
|
419
484
|
}
|
|
420
485
|
return;
|
|
421
486
|
})();
|