@usereactify/search 5.26.0 → 5.26.1
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 +11 -10
- package/dist/src/components/ClearAll/ClearAll.js +3 -31
- package/dist/src/components/ClearAll/ClearAll.js.map +1 -1
- package/dist/src/components/Example/ExampleFilterRange.js +1 -3
- package/dist/src/components/Example/ExampleFilterRange.js.map +1 -1
- package/dist/src/components/Example/ExampleFilterSlider.js +7 -24
- package/dist/src/components/Example/ExampleFilterSlider.js.map +1 -1
- package/dist/src/components/Example/ExampleFilters.d.ts +3 -1
- package/dist/src/components/Example/ExampleFilters.js +4 -8
- package/dist/src/components/Example/ExampleFilters.js.map +1 -1
- package/dist/src/components/Example/ExampleFiltersSelected.js +10 -24
- package/dist/src/components/Example/ExampleFiltersSelected.js.map +1 -1
- package/dist/src/components/Example/index.d.ts +0 -3
- package/dist/src/components/Example/index.js +0 -3
- package/dist/src/components/Example/index.js.map +1 -1
- package/dist/src/components/Filter/Filter.d.ts +2 -2
- package/dist/src/components/Filter/Filter.js +18 -91
- package/dist/src/components/Filter/Filter.js.map +1 -1
- package/dist/src/components/Filter/Filters.d.ts +3 -17
- package/dist/src/components/Filter/Filters.js +2 -1
- package/dist/src/components/Filter/Filters.js.map +1 -1
- package/dist/src/components/Filter/FiltersSelected.d.ts +2 -7
- package/dist/src/components/Filter/FiltersSelected.js +2 -45
- package/dist/src/components/Filter/FiltersSelected.js.map +1 -1
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.d.ts +7 -5
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js +24 -42
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js.map +1 -1
- package/dist/src/components/Result/Results.js +9 -24
- package/dist/src/components/Result/Results.js.map +1 -1
- package/dist/src/components/Sensor/SensorCollection.js +0 -4
- package/dist/src/components/Sensor/SensorCollection.js.map +1 -1
- package/dist/src/components/Sensor/SensorInventoryAvailable.js +1 -6
- package/dist/src/components/Sensor/SensorInventoryAvailable.js.map +1 -1
- package/dist/src/components/Sensor/SensorPublished.js +6 -13
- package/dist/src/components/Sensor/SensorPublished.js.map +1 -1
- package/dist/src/components/Sensor/SensorSearchTerm.js +66 -92
- package/dist/src/components/Sensor/SensorSearchTerm.js.map +1 -1
- package/dist/src/components/Sensor/SensorSort.js +65 -75
- package/dist/src/components/Sensor/SensorSort.js.map +1 -1
- package/dist/src/components/Sensor/SensorSortScore.d.ts +2 -0
- package/dist/src/components/Sensor/SensorSortScore.js +13 -0
- package/dist/src/components/Sensor/SensorSortScore.js.map +1 -0
- package/dist/src/components/Sensor/index.d.ts +1 -0
- package/dist/src/components/Sensor/index.js +2 -0
- package/dist/src/components/Sensor/index.js.map +1 -1
- package/dist/src/components/index.d.ts +0 -1
- package/dist/src/components/index.js +0 -1
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/hooks/index.d.ts +0 -3
- package/dist/src/hooks/index.js +0 -3
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.d.ts +7 -2
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js +3 -10
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.d.ts +27 -0
- package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.js +71 -0
- package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.js.map +1 -0
- package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.d.ts +0 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.js +5 -3
- package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.d.ts +0 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.js +5 -3
- package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterSharedProps.js +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterSharedProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.js +3 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveReactProp.d.ts +1 -2
- package/dist/src/hooks/reactivesearch/useReactiveReactProp.js +3 -8
- package/dist/src/hooks/reactivesearch/useReactiveReactProp.js.map +1 -1
- package/dist/src/hooks/useAnalytics.js +3 -23
- package/dist/src/hooks/useAnalytics.js.map +1 -1
- package/dist/src/hooks/useConfig.js +27 -9
- package/dist/src/hooks/useConfig.js.map +1 -1
- package/dist/src/hooks/useCuration.js +1 -12
- package/dist/src/hooks/useCuration.js.map +1 -1
- package/dist/src/hooks/useFilterListProps.js +2 -15
- package/dist/src/hooks/useFilterListProps.js.map +1 -1
- package/dist/src/hooks/useFilterRangeProps.d.ts +10 -1
- package/dist/src/hooks/useFilterRangeProps.js +47 -36
- package/dist/src/hooks/useFilterRangeProps.js.map +1 -1
- package/dist/src/hooks/useFilterSliderProps.d.ts +8 -6
- package/dist/src/hooks/useFilterSliderProps.js +10 -31
- package/dist/src/hooks/useFilterSliderProps.js.map +1 -1
- package/dist/src/hooks/usePaginationLoadMore.d.ts +15 -0
- package/dist/src/hooks/usePaginationLoadMore.js +38 -0
- package/dist/src/hooks/usePaginationLoadMore.js.map +1 -0
- package/dist/src/hooks/useReactifySearchContext.d.ts +11 -19
- package/dist/src/hooks/useReactifySearchContext.js.map +1 -1
- package/dist/src/hooks/useSearch.js +2 -4
- package/dist/src/hooks/useSearch.js.map +1 -1
- package/dist/src/types/config.d.ts +5 -11
- package/dist/src/types/config.js.map +1 -1
- package/dist/src/types/elastic.d.ts +17 -53
- package/dist/src/types/elastic.js.map +1 -1
- package/dist/src/types/firestore.d.ts +0 -3
- package/dist/src/types/firestore.js.map +1 -1
- package/dist/src/types/reactivesearch.d.ts +1 -1
- package/dist/src/types/reactivesearch.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/components/Example/ExampleHookUseResults.d.ts +0 -2
- package/dist/src/components/Example/ExampleHookUseResults.js +0 -25
- package/dist/src/components/Example/ExampleHookUseResults.js.map +0 -1
- package/dist/src/components/Example/ExampleSuggestions.d.ts +0 -4
- package/dist/src/components/Example/ExampleSuggestions.js +0 -16
- package/dist/src/components/Example/ExampleSuggestions.js.map +0 -1
- package/dist/src/components/Suggestions/Suggestions.d.ts +0 -12
- package/dist/src/components/Suggestions/Suggestions.js +0 -44
- package/dist/src/components/Suggestions/Suggestions.js.map +0 -1
- package/dist/src/components/Suggestions/index.d.ts +0 -1
- package/dist/src/components/Suggestions/index.js +0 -14
- package/dist/src/components/Suggestions/index.js.map +0 -1
- package/dist/src/hooks/react-slider/useReactSliderProps.d.ts +0 -4
- package/dist/src/hooks/react-slider/useReactSliderProps.js +0 -28
- package/dist/src/hooks/react-slider/useReactSliderProps.js.map +0 -1
- package/dist/src/hooks/useFlags.d.ts +0 -21
- package/dist/src/hooks/useFlags.js +0 -49
- package/dist/src/hooks/useFlags.js.map +0 -1
- package/dist/src/hooks/useIndices.d.ts +0 -5
- package/dist/src/hooks/useIndices.js +0 -49
- package/dist/src/hooks/useIndices.js.map +0 -1
- package/dist/src/hooks/useResults.d.ts +0 -21
- package/dist/src/hooks/useResults.js +0 -19
- package/dist/src/hooks/useResults.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [5.26.1](https://bitbucket.org/usereactify/reactify-search-ui/compare/release-v5.26.0...release-v5.26.1) (2023-08-09)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* correct sort option ordering ([c48ecdd](https://bitbucket.org/usereactify/reactify-search-ui/commit/c48ecdd99166259966c97616a64ec0950e64172f))
|
|
11
|
+
|
|
5
12
|
## [5.26.0](https://bitbucket.org/usereactify/reactify-search-ui/compare/release-v5.25.0...release-v5.26.0) (2023-08-08)
|
|
6
13
|
|
|
7
14
|
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usereactify/search",
|
|
3
3
|
"description": "React UI library for Reactify Search",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.6.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
7
7
|
"types": "dist/src/index.d.ts",
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
"README.md",
|
|
11
11
|
"CHANGELOG.md"
|
|
12
12
|
],
|
|
13
|
-
"packageManager": "pnpm@7.9.5",
|
|
14
13
|
"scripts": {
|
|
15
14
|
"watch": "tsc --watch",
|
|
16
15
|
"release": "standard-version --tag-prefix release-v",
|
|
@@ -18,11 +17,16 @@
|
|
|
18
17
|
"prebuild": "rimraf dist",
|
|
19
18
|
"build": "tsc",
|
|
20
19
|
"prettier": "prettier --write .",
|
|
21
|
-
"
|
|
20
|
+
"storybook": "start-storybook -p 6006",
|
|
22
21
|
"sentry:release:new": "sentry-cli releases new $npm_package_version",
|
|
23
22
|
"sentry:release:upload": "sentry-cli releases files $npm_package_version upload-sourcemaps dist",
|
|
24
|
-
"sentry:release:finalize": "sentry-cli releases finalize $npm_package_version"
|
|
25
|
-
|
|
23
|
+
"sentry:release:finalize": "sentry-cli releases finalize $npm_package_version"
|
|
24
|
+
},
|
|
25
|
+
"husky": {
|
|
26
|
+
"hooks": {
|
|
27
|
+
"pre-commit": "pretty-quick --staged",
|
|
28
|
+
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
|
29
|
+
}
|
|
26
30
|
},
|
|
27
31
|
"commitlint": {
|
|
28
32
|
"extends": [
|
|
@@ -36,9 +40,7 @@
|
|
|
36
40
|
"axios": "0.26.1",
|
|
37
41
|
"currency.js": "2.0.4",
|
|
38
42
|
"debug": "4.3.2",
|
|
39
|
-
"
|
|
40
|
-
"react-intersection-observer": "9.1.0",
|
|
41
|
-
"react-slider": "2.0.4"
|
|
43
|
+
"react-intersection-observer": "9.1.0"
|
|
42
44
|
},
|
|
43
45
|
"peerDependencies": {
|
|
44
46
|
"@appbaseio/reactivesearch": "3.14.0",
|
|
@@ -59,9 +61,8 @@
|
|
|
59
61
|
"@types/debug": "4.1.7",
|
|
60
62
|
"@types/react": "18.0.19",
|
|
61
63
|
"@types/react-dom": "18.0.6",
|
|
62
|
-
"@types/react-slider": "1.3.1",
|
|
63
64
|
"babel-loader": "8.2.2",
|
|
64
|
-
"husky": "
|
|
65
|
+
"husky": "4.3.8",
|
|
65
66
|
"prettier": "2.4.1",
|
|
66
67
|
"pretty-quick": "3.1.1",
|
|
67
68
|
"react": "18.2.0",
|
|
@@ -7,13 +7,11 @@ exports.ClearAll = void 0;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const SelectedFilters_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/basic/SelectedFilters"));
|
|
9
9
|
const components_1 = require("../../components");
|
|
10
|
-
const hooks_1 = require("../../hooks");
|
|
11
10
|
const ClearAll = (props) => {
|
|
12
11
|
var _a;
|
|
13
12
|
const RenderComponent = (_a = props.render) !== null && _a !== void 0 ? _a : components_1.ExampleClearAll;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const selectedFilters = Object.values(renderProps.selectedValues)
|
|
13
|
+
return (react_1.default.createElement(SelectedFilters_1.default, { render: ({ selectedValues, clearValues }) => {
|
|
14
|
+
const selectedFilters = Object.values(selectedValues)
|
|
17
15
|
.map((value) => value)
|
|
18
16
|
.filter((item) => {
|
|
19
17
|
var _a, _b;
|
|
@@ -21,36 +19,10 @@ const ClearAll = (props) => {
|
|
|
21
19
|
(item === null || item === void 0 ? void 0 : item.showFilter) &&
|
|
22
20
|
(!!((_a = item === null || item === void 0 ? void 0 : item.value) === null || _a === void 0 ? void 0 : _a.length) || !!((_b = item === null || item === void 0 ? void 0 : item.value) === null || _b === void 0 ? void 0 : _b.label));
|
|
23
21
|
});
|
|
24
|
-
const handleClearAll = () => {
|
|
25
|
-
var _a;
|
|
26
|
-
for (const filter of (_a = filtersHook.filters) !== null && _a !== void 0 ? _a : []) {
|
|
27
|
-
if (filter.displayType === "slider") {
|
|
28
|
-
const event = new CustomEvent(`@usereactify/search:filter:${filter.handle}:update`, {
|
|
29
|
-
detail: {
|
|
30
|
-
handle: filter.handle,
|
|
31
|
-
value: [],
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
window.dispatchEvent(event);
|
|
35
|
-
}
|
|
36
|
-
if (filter.displayType === "multi") {
|
|
37
|
-
if (filter.displayView === "range") {
|
|
38
|
-
const event = new CustomEvent(`@usereactify/search:filter:${filter.handle}:update`, {
|
|
39
|
-
detail: {
|
|
40
|
-
handle: filter.handle,
|
|
41
|
-
value: [],
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
window.dispatchEvent(event);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
renderProps.clearValues();
|
|
49
|
-
};
|
|
50
22
|
if (!selectedFilters.length) {
|
|
51
23
|
return null;
|
|
52
24
|
}
|
|
53
|
-
return react_1.default.createElement(RenderComponent, { clearAll:
|
|
25
|
+
return react_1.default.createElement(RenderComponent, { clearAll: clearValues });
|
|
54
26
|
} }));
|
|
55
27
|
};
|
|
56
28
|
exports.ClearAll = ClearAll;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClearAll.js","sourceRoot":"","sources":["../../../../src/components/ClearAll/ClearAll.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,qHAA6F;AAE7F,iDAAmD;
|
|
1
|
+
{"version":3,"file":"ClearAll.js","sourceRoot":"","sources":["../../../../src/components/ClearAll/ClearAll.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,qHAA6F;AAE7F,iDAAmD;AAS5C,MAAM,QAAQ,GAA4B,CAAC,KAAK,EAAE,EAAE;;IACzD,MAAM,eAAe,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,4BAAe,CAAC;IAExD,OAAO,CACL,8BAAC,yBAAe,IACd,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE;YAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;iBAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;iBACrB,MAAM,CACL,CAAC,IAAS,EAAE,EAAE;;gBACZ,OAAA,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS;qBACf,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAA;oBAChB,CAAC,CAAC,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,MAAM,CAAA,IAAI,CAAC,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,KAAK,CAAA,CAAC,CAAA;aAAA,CAClD,CAAC;YAEJ,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBAC3B,OAAO,IAAI,CAAC;aACb;YAED,OAAO,8BAAC,eAAe,IAAC,QAAQ,EAAE,WAAW,GAAI,CAAC;QACpD,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,QAAQ,YAuBnB","sourcesContent":["import React from \"react\";\nimport SelectedFilters from \"@appbaseio/reactivesearch/lib/components/basic/SelectedFilters\";\n\nimport { ExampleClearAll } from \"../../components\";\n\nexport type ClearAllProps = {\n /** Render method */\n render?: React.FC<{\n clearAll: () => void;\n }>;\n};\n\nexport const ClearAll: React.FC<ClearAllProps> = (props) => {\n const RenderComponent = props.render ?? ExampleClearAll;\n\n return (\n <SelectedFilters\n render={({ selectedValues, clearValues }) => {\n const selectedFilters = Object.values(selectedValues)\n .map((value) => value)\n .filter(\n (item: any) =>\n item?.URLParams &&\n item?.showFilter &&\n (!!item?.value?.length || !!item?.value?.label)\n );\n\n if (!selectedFilters.length) {\n return null;\n }\n\n return <RenderComponent clearAll={clearValues} />;\n }}\n />\n );\n};\n"]}
|
|
@@ -10,9 +10,7 @@ const ExampleFilterRange = (props) => {
|
|
|
10
10
|
react_1.default.createElement("h3", { className: "rs__filter__name" }, props.filter.name),
|
|
11
11
|
react_1.default.createElement("ul", { className: "rs__filter__list" }, props.filterRangeProps.options.map((option) => (react_1.default.createElement("li", { key: option.key, className: "rs__filter__list-item" },
|
|
12
12
|
react_1.default.createElement("label", { className: "rs__filter__list-item-label" },
|
|
13
|
-
react_1.default.createElement("input", { className: "rs__filter__list-item-input", value: option.key, type: "
|
|
14
|
-
? "checkbox"
|
|
15
|
-
: "radio", checked: option.checked, onChange: (event) => props.filterRangeProps.handleChange(event.target.value) }),
|
|
13
|
+
react_1.default.createElement("input", { className: "rs__filter__list-item-input", value: option.key, type: "radio", checked: option.checked, onChange: (event) => props.filterRangeProps.handleChange(event.target.value) }),
|
|
16
14
|
react_1.default.createElement("span", { className: "rs__filter__list-item-key" }, option.label))))))));
|
|
17
15
|
};
|
|
18
16
|
exports.ExampleFilterRange = ExampleFilterRange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExampleFilterRange.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilterRange.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAQnB,MAAM,kBAAkB,GAAsC,CACnE,KAAK,EACL,EAAE;IACF,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,sCAAI,SAAS,EAAC,kBAAkB,IAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAM;QACzD,sCAAI,SAAS,EAAC,kBAAkB,IAC7B,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9C,sCAAI,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAC,uBAAuB;YACpD,yCAAO,SAAS,EAAC,6BAA6B;gBAC5C,yCACE,SAAS,EAAC,6BAA6B,EACvC,KAAK,EAAE,MAAM,CAAC,GAAG,EACjB,IAAI,
|
|
1
|
+
{"version":3,"file":"ExampleFilterRange.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilterRange.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAQnB,MAAM,kBAAkB,GAAsC,CACnE,KAAK,EACL,EAAE;IACF,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,sCAAI,SAAS,EAAC,kBAAkB,IAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAM;QACzD,sCAAI,SAAS,EAAC,kBAAkB,IAC7B,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9C,sCAAI,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAC,uBAAuB;YACpD,yCAAO,SAAS,EAAC,6BAA6B;gBAC5C,yCACE,SAAS,EAAC,6BAA6B,EACvC,KAAK,EAAE,MAAM,CAAC,GAAG,EACjB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAEzD;gBACF,wCAAM,SAAS,EAAC,2BAA2B,IAAE,MAAM,CAAC,KAAK,CAAQ,CAC3D,CACL,CACN,CAAC,CACC,CACD,CACP,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,kBAAkB,sBA0B7B","sourcesContent":["import React from \"react\";\n\nimport { FilterProps } from \"../../components\";\n\nexport type ExampleFilterRangeProps = React.ComponentProps<\n NonNullable<FilterProps[\"renderFilterRange\"]>\n>;\n\nexport const ExampleFilterRange: React.FC<ExampleFilterRangeProps> = (\n props\n) => {\n return (\n <div className=\"rs__filter\">\n <h3 className=\"rs__filter__name\">{props.filter.name}</h3>\n <ul className=\"rs__filter__list\">\n {props.filterRangeProps.options.map((option) => (\n <li key={option.key} className=\"rs__filter__list-item\">\n <label className=\"rs__filter__list-item-label\">\n <input\n className=\"rs__filter__list-item-input\"\n value={option.key}\n type=\"radio\"\n checked={option.checked}\n onChange={(event) =>\n props.filterRangeProps.handleChange(event.target.value)\n }\n />\n <span className=\"rs__filter__list-item-key\">{option.label}</span>\n </label>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n"]}
|
|
@@ -5,33 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ExampleFilterSlider = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const
|
|
8
|
+
const DynamicRangeSlider_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/range/DynamicRangeSlider"));
|
|
9
|
+
const hooks_1 = require("../../hooks");
|
|
9
10
|
const ExampleFilterSlider = (props) => {
|
|
10
|
-
const
|
|
11
|
-
top: "10px",
|
|
12
|
-
height: "8px",
|
|
13
|
-
background: "rgb(239, 239, 239)",
|
|
14
|
-
border: "1px solid rgb(179, 179, 179)",
|
|
15
|
-
borderRadius: "4px",
|
|
16
|
-
};
|
|
17
|
-
const trackStyleMiddle = Object.assign(Object.assign({}, trackStyleEnds), { background: "rgb(2, 117, 255)", border: "1px solid rgb(74, 117, 187)" });
|
|
11
|
+
const reactiveFilterSliderProps = (0, hooks_1.useReactiveFilterSliderProps)(props.filter);
|
|
18
12
|
return (react_1.default.createElement("div", { className: "rs__filter" },
|
|
19
13
|
react_1.default.createElement("h3", { className: "rs__filter__name" }, props.filter.name),
|
|
20
|
-
react_1.default.createElement(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
top: "6px",
|
|
25
|
-
} },
|
|
26
|
-
react_1.default.createElement(react_slider_1.default, Object.assign({ thumbClassName: "rs__filter__slider__thumb" }, props.filterSliderProps.reactSliderProps, { renderTrack: (props, state) => (react_1.default.createElement("div", Object.assign({}, props, { style: Object.assign(Object.assign({}, (state.index === 1 ? trackStyleMiddle : trackStyleEnds)), props.style) }))), renderThumb: (renderProps, state) => (react_1.default.createElement("div", Object.assign({}, renderProps, { style: Object.assign({ cursor: "grab", background: "rgb(2, 117, 255)", top: "6px", width: "16px", height: "16px", borderRadius: "100%", outline: "none" }, renderProps.style) }),
|
|
27
|
-
react_1.default.createElement("span", { style: {
|
|
28
|
-
position: "absolute",
|
|
29
|
-
top: "-24px",
|
|
30
|
-
left: "-50%",
|
|
31
|
-
} },
|
|
32
|
-
props.filter.displaySliderPrefix,
|
|
33
|
-
state.valueNow,
|
|
34
|
-
props.filter.displaySliderSuffix))) })))));
|
|
14
|
+
react_1.default.createElement(DynamicRangeSlider_1.default, Object.assign({}, reactiveFilterSliderProps, { value: () => props.filterSliderProps.value, onChange: (value) => props.filterSliderProps.handleChange({
|
|
15
|
+
start: value[0],
|
|
16
|
+
end: value[1],
|
|
17
|
+
}) }))));
|
|
35
18
|
};
|
|
36
19
|
exports.ExampleFilterSlider = ExampleFilterSlider;
|
|
37
20
|
//# sourceMappingURL=ExampleFilterSlider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExampleFilterSlider.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilterSlider.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"ExampleFilterSlider.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilterSlider.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,2HAAmG;AAEnG,uCAA2D;AAOpD,MAAM,mBAAmB,GAAuC,CACrE,KAAK,EACL,EAAE;IACF,MAAM,yBAAyB,GAAG,IAAA,oCAA4B,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE7E,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,sCAAI,SAAS,EAAC,kBAAkB,IAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAM;QACzD,8BAAC,4BAAkB,oBACb,yBAAyB,IAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC;gBACnC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACf,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;aACd,CAAC,IAEJ,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,mBAAmB,uBAoB9B","sourcesContent":["import React from \"react\";\nimport DynamicRangeSlider from \"@appbaseio/reactivesearch/lib/components/range/DynamicRangeSlider\";\n\nimport { useReactiveFilterSliderProps } from \"../../hooks\";\nimport { FilterProps } from \"../../components\";\n\nexport type ExampleFilterSliderProps = React.ComponentProps<\n NonNullable<FilterProps[\"renderFilterSlider\"]>\n>;\n\nexport const ExampleFilterSlider: React.FC<ExampleFilterSliderProps> = (\n props\n) => {\n const reactiveFilterSliderProps = useReactiveFilterSliderProps(props.filter);\n\n return (\n <div className=\"rs__filter\">\n <h3 className=\"rs__filter__name\">{props.filter.name}</h3>\n <DynamicRangeSlider\n {...reactiveFilterSliderProps}\n value={() => props.filterSliderProps.value}\n onChange={(value) =>\n props.filterSliderProps.handleChange({\n start: value[0],\n end: value[1],\n })\n }\n />\n </div>\n );\n};\n"]}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
import { FiltersProps } from "../../components";
|
|
3
|
+
export declare type ExampleFiltersProps = React.ComponentProps<NonNullable<FiltersProps["render"]>>;
|
|
4
|
+
export declare const ExampleFilters: React.FC<ExampleFiltersProps>;
|
|
@@ -5,14 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ExampleFilters = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const ExampleFilters = () => {
|
|
13
|
-
return (react_1.default.createElement("div", null,
|
|
14
|
-
react_1.default.createElement("h3", null, "Filters"),
|
|
15
|
-
react_1.default.createElement(Filter_1.Filters, { renderFilterList: ExampleFilterList_1.ExampleFilterList, renderFilterRange: ExampleFilterRange_1.ExampleFilterRange, renderFilterSlider: ExampleFilterSlider_1.ExampleFilterSlider })));
|
|
8
|
+
const components_1 = require("../../components");
|
|
9
|
+
const ExampleFilters = (props) => {
|
|
10
|
+
var _a;
|
|
11
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, (_a = props.filters) === null || _a === void 0 ? void 0 : _a.map((filter) => (react_1.default.createElement(components_1.Filter, { key: filter.id, filter: filter })))));
|
|
16
12
|
};
|
|
17
13
|
exports.ExampleFilters = ExampleFilters;
|
|
18
14
|
//# sourceMappingURL=ExampleFilters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExampleFilters.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilters.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"ExampleFilters.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilters.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,iDAAwD;AAMjD,MAAM,cAAc,GAAkC,CAAC,KAAK,EAAE,EAAE;;IACrE,OAAO,CACL,8DACG,MAAA,KAAK,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9B,8BAAC,mBAAM,IAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAI,CAC3C,CAAC,CACD,CACJ,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB","sourcesContent":["import React from \"react\";\n\nimport { Filter, FiltersProps } from \"../../components\";\n\nexport type ExampleFiltersProps = React.ComponentProps<\n NonNullable<FiltersProps[\"render\"]>\n>;\n\nexport const ExampleFilters: React.FC<ExampleFiltersProps> = (props) => {\n return (\n <>\n {props.filters?.map((filter) => (\n <Filter key={filter.id} filter={filter} />\n ))}\n </>\n );\n};\n"]}
|
|
@@ -5,33 +5,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ExampleFiltersSelected = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const hooks_1 = require("../../hooks");
|
|
9
8
|
const ExampleFiltersSelected = (props) => {
|
|
10
9
|
return (react_1.default.createElement("div", { className: "rs__filters-selected" },
|
|
11
10
|
react_1.default.createElement("h3", { className: "rs__filters-selected__name" }, "Filters Selected"),
|
|
12
|
-
react_1.default.createElement("ul", { className: "rs__filters-selected__list" }, props.selectedFilters.map((selectedFilter) => (react_1.default.createElement(
|
|
11
|
+
react_1.default.createElement("ul", { className: "rs__filters-selected__list" }, props.selectedFilters.map((selectedFilter) => (react_1.default.createElement("li", { key: selectedFilter.key, className: "rs__filters-selected__list-item" },
|
|
12
|
+
react_1.default.createElement("label", { className: "rs__filters-selected__list-item-label", onClick: () => props.handleRemove(selectedFilter.key) },
|
|
13
|
+
react_1.default.createElement("span", { className: "rs__filters-selected__list-item-label" },
|
|
14
|
+
selectedFilter.label,
|
|
15
|
+
": "),
|
|
16
|
+
react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" }, Array.isArray(selectedFilter.value)
|
|
17
|
+
? selectedFilter.value.join(", ")
|
|
18
|
+
: typeof selectedFilter.value !== "string"
|
|
19
|
+
? `${selectedFilter.value.start}-${selectedFilter.value.end}`
|
|
20
|
+
: selectedFilter.value))))))));
|
|
13
21
|
};
|
|
14
22
|
exports.ExampleFiltersSelected = ExampleFiltersSelected;
|
|
15
|
-
const ExampleFiltersSelectedItem = (props) => {
|
|
16
|
-
var _a;
|
|
17
|
-
const filtersHook = (0, hooks_1.useFilters)();
|
|
18
|
-
const filter = (_a = filtersHook.filters) === null || _a === void 0 ? void 0 : _a.find((filter) => filter.handle === props.selectedFilter.key);
|
|
19
|
-
return (react_1.default.createElement("li", { key: props.selectedFilter.key, className: "rs__filters-selected__list-item" },
|
|
20
|
-
react_1.default.createElement("label", { className: "rs__filters-selected__list-item-label" },
|
|
21
|
-
react_1.default.createElement("span", { className: "rs__filters-selected__list-item-label", onClick: () => props.handleRemove(props.selectedFilter.key) },
|
|
22
|
-
props.selectedFilter.label,
|
|
23
|
-
": "),
|
|
24
|
-
(filter === null || filter === void 0 ? void 0 : filter.displayType) === "single" && filter.displayView === "range" && (react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" },
|
|
25
|
-
react_1.default.createElement("span", { onClick: () => props.handleRemove(props.selectedFilter.key, [
|
|
26
|
-
props.selectedFilter.value.label,
|
|
27
|
-
]) }, props.selectedFilter.value.label))),
|
|
28
|
-
(filter === null || filter === void 0 ? void 0 : filter.displayType) === "single" && filter.displayView !== "range" && (react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" },
|
|
29
|
-
react_1.default.createElement("span", { onClick: () => props.handleRemove(props.selectedFilter.key, [
|
|
30
|
-
props.selectedFilter.value,
|
|
31
|
-
]) }, props.selectedFilter.value))),
|
|
32
|
-
(filter === null || filter === void 0 ? void 0 : filter.displayType) === "multi" && filter.displayView === "range" && (react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" }, props.selectedFilter.value.map((value) => (react_1.default.createElement("span", { onClick: () => props.handleRemove(props.selectedFilter.key, [value.label]) }, value.label))))),
|
|
33
|
-
(filter === null || filter === void 0 ? void 0 : filter.displayType) === "multi" && filter.displayView !== "range" && (react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" }, props.selectedFilter.value.map((value) => (react_1.default.createElement("span", { onClick: () => props.handleRemove(props.selectedFilter.key, [value]) }, value))))),
|
|
34
|
-
(filter === null || filter === void 0 ? void 0 : filter.displayType) === "slider" && (react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" },
|
|
35
|
-
react_1.default.createElement("span", { onClick: () => props.handleRemove(props.selectedFilter.key, [""]) }, `${filter.displaySliderPrefix}${props.selectedFilter.value[0]} to ${filter.displaySliderPrefix}${props.selectedFilter.value[1]}`))))));
|
|
36
|
-
};
|
|
37
23
|
//# sourceMappingURL=ExampleFiltersSelected.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExampleFiltersSelected.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFiltersSelected.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"ExampleFiltersSelected.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFiltersSelected.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAQnB,MAAM,sBAAsB,GAA0C,CAC3E,KAAK,EACL,EAAE;IACF,OAAO,CACL,uCAAK,SAAS,EAAC,sBAAsB;QACnC,sCAAI,SAAS,EAAC,4BAA4B,IAAE,kBAAkB,CAAM;QACpE,sCAAI,SAAS,EAAC,4BAA4B,IACvC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAC7C,sCACE,GAAG,EAAE,cAAc,CAAC,GAAG,EACvB,SAAS,EAAC,iCAAiC;YAE3C,yCACE,SAAS,EAAC,uCAAuC,EACjD,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC;gBAErD,wCAAM,SAAS,EAAC,uCAAuC;oBACpD,cAAc,CAAC,KAAK;oBACpB,IAAI,CACA;gBACP,wCAAM,SAAS,EAAC,uCAAuC,IACpD,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC;oBAClC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjC,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;wBAC1C,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE;wBAC7D,CAAC,CAAC,cAAc,CAAC,KAAK,CACnB,CACD,CACL,CACN,CAAC,CACC,CACD,CACP,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,sBAAsB,0BAiCjC","sourcesContent":["import React from \"react\";\n\nimport { FiltersSelectedProps } from \"../../components\";\n\nexport type ExampleFiltersSelectedProps = React.ComponentProps<\n NonNullable<FiltersSelectedProps[\"render\"]>\n>;\n\nexport const ExampleFiltersSelected: React.FC<ExampleFiltersSelectedProps> = (\n props\n) => {\n return (\n <div className=\"rs__filters-selected\">\n <h3 className=\"rs__filters-selected__name\">{\"Filters Selected\"}</h3>\n <ul className=\"rs__filters-selected__list\">\n {props.selectedFilters.map((selectedFilter) => (\n <li\n key={selectedFilter.key}\n className=\"rs__filters-selected__list-item\"\n >\n <label\n className=\"rs__filters-selected__list-item-label\"\n onClick={() => props.handleRemove(selectedFilter.key)}\n >\n <span className=\"rs__filters-selected__list-item-label\">\n {selectedFilter.label}\n {\": \"}\n </span>\n <span className=\"rs__filters-selected__list-item-value\">\n {Array.isArray(selectedFilter.value)\n ? selectedFilter.value.join(\", \")\n : typeof selectedFilter.value !== \"string\"\n ? `${selectedFilter.value.start}-${selectedFilter.value.end}`\n : selectedFilter.value}\n </span>\n </label>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n"]}
|
|
@@ -17,8 +17,5 @@ export * from "./ExampleResultPaginationNextPrev";
|
|
|
17
17
|
export * from "./ExampleSearch";
|
|
18
18
|
export * from "./ExampleSortBy";
|
|
19
19
|
export * from "./ExampleStats";
|
|
20
|
-
export * from "./ExampleSuggestions";
|
|
21
|
-
export * from "./ExampleHookUseFilters";
|
|
22
|
-
export * from "./ExampleHookUseResults";
|
|
23
20
|
export * from "./ExampleHookUseSearch";
|
|
24
21
|
export * from "./ExampleHookUseSortBy";
|
|
@@ -29,9 +29,6 @@ __exportStar(require("./ExampleResultPaginationNextPrev"), exports);
|
|
|
29
29
|
__exportStar(require("./ExampleSearch"), exports);
|
|
30
30
|
__exportStar(require("./ExampleSortBy"), exports);
|
|
31
31
|
__exportStar(require("./ExampleStats"), exports);
|
|
32
|
-
__exportStar(require("./ExampleSuggestions"), exports);
|
|
33
|
-
__exportStar(require("./ExampleHookUseFilters"), exports);
|
|
34
|
-
__exportStar(require("./ExampleHookUseResults"), exports);
|
|
35
32
|
__exportStar(require("./ExampleHookUseSearch"), exports);
|
|
36
33
|
__exportStar(require("./ExampleHookUseSortBy"), exports);
|
|
37
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Example/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC;AAClC,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,wDAAsC;AACtC,mDAAiC;AACjC,2DAAyC;AACzC,4EAA0D;AAC1D,+EAA6D;AAC7D,wEAAsD;AACtD,6DAA2C;AAC3C,6DAA2C;AAC3C,oEAAkD;AAClD,oEAAkD;AAClD,0EAAwD;AACxD,oEAAkD;AAClD,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Example/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC;AAClC,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,wDAAsC;AACtC,mDAAiC;AACjC,2DAAyC;AACzC,4EAA0D;AAC1D,+EAA6D;AAC7D,wEAAsD;AACtD,6DAA2C;AAC3C,6DAA2C;AAC3C,oEAAkD;AAClD,oEAAkD;AAClD,0EAAwD;AACxD,oEAAkD;AAClD,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAE/B,yDAAuC;AACvC,yDAAuC","sourcesContent":["export * from \"./ExampleClearAll\";\nexport * from \"./ExampleCustomComponent\";\nexport * from \"./ExampleFilterList\";\nexport * from \"./ExampleFilterRange\";\nexport * from \"./ExampleFilterSlider\";\nexport * from \"./ExampleFilters\";\nexport * from \"./ExampleFiltersSelected\";\nexport * from \"./ExampleReactiveSearchProviderCollection\";\nexport * from \"./ExampleReactiveSearchProviderInstantSearch\";\nexport * from \"./ExampleReactiveSearchProviderSearch\";\nexport * from \"./ExampleResultCardCallout\";\nexport * from \"./ExampleResultCardProduct\";\nexport * from \"./ExampleResultPaginationNumbered\";\nexport * from \"./ExampleResultPaginationLoadMore\";\nexport * from \"./ExampleResultPaginationInfiniteScroll\";\nexport * from \"./ExampleResultPaginationNextPrev\";\nexport * from \"./ExampleSearch\";\nexport * from \"./ExampleSortBy\";\nexport * from \"./ExampleStats\";\n\nexport * from \"./ExampleHookUseSearch\";\nexport * from \"./ExampleHookUseSortBy\";\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { ConfigFilterOption } from "../../types";
|
|
3
|
-
import { useFilterListProps, useFilterRangeProps, useFilterSliderProps } from "../../hooks";
|
|
3
|
+
import { useFilterListProps, useFilterRangeProps, useFilterSliderProps, useFilterRangeMultiProps } from "../../hooks";
|
|
4
4
|
export declare type FilterProps = {
|
|
5
5
|
/** The filter option being rendered */
|
|
6
6
|
filter: ConfigFilterOption;
|
|
@@ -12,7 +12,7 @@ export declare type FilterProps = {
|
|
|
12
12
|
/** Render method for Range filters */
|
|
13
13
|
renderFilterRange?: React.FC<{
|
|
14
14
|
filter: ConfigFilterOption;
|
|
15
|
-
filterRangeProps: ReturnType<typeof useFilterRangeProps>;
|
|
15
|
+
filterRangeProps: ReturnType<typeof useFilterRangeProps> | ReturnType<typeof useFilterRangeMultiProps>;
|
|
16
16
|
}>;
|
|
17
17
|
/** Render method for Slider filters */
|
|
18
18
|
renderFilterSlider?: React.FC<{
|
|
@@ -16,9 +16,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.Filter = void 0;
|
|
18
18
|
const react_1 = __importDefault(require("react"));
|
|
19
|
-
const ReactiveComponent_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent"));
|
|
20
19
|
const MultiList_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/list/MultiList"));
|
|
21
20
|
const SingleList_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/list/SingleList"));
|
|
21
|
+
const DynamicRangeSlider_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/range/DynamicRangeSlider"));
|
|
22
22
|
const SingleRange_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/range/SingleRange"));
|
|
23
23
|
const MultiRange_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/range/MultiRange"));
|
|
24
24
|
const hooks_1 = require("../../hooks");
|
|
@@ -43,7 +43,7 @@ const Filter = (props) => {
|
|
|
43
43
|
if ("range" === props.filter.displayType) {
|
|
44
44
|
return react_1.default.createElement(FilterRangeSingle, Object.assign({}, props));
|
|
45
45
|
}
|
|
46
|
-
console.
|
|
46
|
+
console.log(`filter with display type "${props.filter.displayType}" not yet supported`);
|
|
47
47
|
return null;
|
|
48
48
|
};
|
|
49
49
|
exports.Filter = Filter;
|
|
@@ -64,108 +64,35 @@ const FilterRangeSingle = (props) => {
|
|
|
64
64
|
react_1.default.createElement("div", { style: {
|
|
65
65
|
display: "none",
|
|
66
66
|
} },
|
|
67
|
-
react_1.default.createElement(SingleRange_1.default, Object.assign({}, reactiveFilterRangeProps, { value: filterRangeProps.
|
|
67
|
+
react_1.default.createElement(SingleRange_1.default, Object.assign({}, reactiveFilterRangeProps, { value: filterRangeProps.value, onChange: filterRangeProps.handleChange }))),
|
|
68
68
|
react_1.default.createElement(RenderRangeComponent, { filterRangeProps: filterRangeProps, filter: props.filter })));
|
|
69
69
|
};
|
|
70
70
|
const FilterRangeMulti = (props) => {
|
|
71
71
|
var _a;
|
|
72
72
|
const reactiveFilterRangeProps = (0, hooks_1.useReactiveFilterRangeProps)(props.filter);
|
|
73
|
-
const filterRangeProps = (0, hooks_1.
|
|
73
|
+
const filterRangeProps = (0, hooks_1.useFilterRangeMultiProps)(props.filter);
|
|
74
74
|
const RenderRangeComponent = (_a = props.renderFilterRange) !== null && _a !== void 0 ? _a : components_1.ExampleFilterRange;
|
|
75
75
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
76
76
|
react_1.default.createElement("div", { style: {
|
|
77
77
|
display: "none",
|
|
78
78
|
} },
|
|
79
|
-
react_1.default.createElement(MultiRange_1.default, Object.assign({}, reactiveFilterRangeProps, { value: filterRangeProps.values,
|
|
80
|
-
// @note: onChange handler must be defined for controlled component to work correctly
|
|
81
|
-
onChange: () => { }, onValueChange: (values) => {
|
|
82
|
-
if (values.length === 0) {
|
|
83
|
-
filterRangeProps.handleClear();
|
|
84
|
-
}
|
|
85
|
-
} }))),
|
|
79
|
+
react_1.default.createElement(MultiRange_1.default, Object.assign({}, reactiveFilterRangeProps, { value: filterRangeProps.values, onChange: filterRangeProps.handleChange }))),
|
|
86
80
|
react_1.default.createElement(RenderRangeComponent, { filterRangeProps: filterRangeProps, filter: props.filter })));
|
|
87
81
|
};
|
|
88
82
|
const FilterSlider = (props) => {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
},
|
|
103
|
-
}), render: (reactivesearchFilterProps) => {
|
|
104
|
-
var _a, _b, _c, _d;
|
|
105
|
-
if (((_b = (_a = reactivesearchFilterProps === null || reactivesearchFilterProps === void 0 ? void 0 : reactivesearchFilterProps.aggregations) === null || _a === void 0 ? void 0 : _a.min) === null || _b === void 0 ? void 0 : _b.value) ===
|
|
106
|
-
((_d = (_c = reactivesearchFilterProps === null || reactivesearchFilterProps === void 0 ? void 0 : reactivesearchFilterProps.aggregations) === null || _c === void 0 ? void 0 : _c.max) === null || _d === void 0 ? void 0 : _d.value)) {
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
109
|
-
return (react_1.default.createElement(FilterSliderInner, Object.assign({}, props, { reactivesearchFilterProps: reactivesearchFilterProps })));
|
|
110
|
-
} })));
|
|
111
|
-
};
|
|
112
|
-
// inner component exists only so we can use memos in reactivesearch render functions
|
|
113
|
-
const FilterSliderInner = (props) => {
|
|
114
|
-
var _a, _b;
|
|
115
|
-
const { filter, renderFilterSlider, reactivesearchFilterProps } = props, otherProps = __rest(props, ["filter", "renderFilterSlider", "reactivesearchFilterProps"]);
|
|
116
|
-
const filterSliderProps = (0, hooks_1.useFilterSliderProps)(filter);
|
|
117
|
-
react_1.default.useEffect(() => {
|
|
118
|
-
if (reactivesearchFilterProps.aggregations) {
|
|
119
|
-
filterSliderProps.handleRange([
|
|
120
|
-
reactivesearchFilterProps.aggregations.min.value,
|
|
121
|
-
reactivesearchFilterProps.aggregations.max.value,
|
|
122
|
-
]);
|
|
123
|
-
}
|
|
124
|
-
}, [
|
|
125
|
-
(_a = reactivesearchFilterProps.aggregations) === null || _a === void 0 ? void 0 : _a.min.value,
|
|
126
|
-
(_b = reactivesearchFilterProps.aggregations) === null || _b === void 0 ? void 0 : _b.max.value,
|
|
127
|
-
]);
|
|
128
|
-
react_1.default.useEffect(() => {
|
|
129
|
-
if (filterSliderProps.value[0] === 0 && filterSliderProps.value[1] === 0) {
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
props.reactivesearchFilterProps.setQuery({
|
|
133
|
-
query: {
|
|
134
|
-
query: {
|
|
135
|
-
bool: {
|
|
136
|
-
must: [
|
|
137
|
-
{
|
|
138
|
-
bool: {
|
|
139
|
-
must: [
|
|
140
|
-
{
|
|
141
|
-
match: {
|
|
142
|
-
published: true,
|
|
143
|
-
},
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
range: {
|
|
147
|
-
[props.filter.field]: {
|
|
148
|
-
gte: filterSliderProps.value[0],
|
|
149
|
-
lte: filterSliderProps.value[1],
|
|
150
|
-
boost: 2,
|
|
151
|
-
},
|
|
152
|
-
},
|
|
153
|
-
},
|
|
154
|
-
],
|
|
155
|
-
},
|
|
156
|
-
},
|
|
157
|
-
],
|
|
158
|
-
},
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
value: filterSliderProps.value,
|
|
162
|
-
});
|
|
163
|
-
}, [filterSliderProps.value]);
|
|
164
|
-
if (renderFilterSlider) {
|
|
165
|
-
const Component = renderFilterSlider;
|
|
166
|
-
return (react_1.default.createElement(Component, Object.assign({ filterSliderProps: filterSliderProps, filter: filter }, otherProps)));
|
|
167
|
-
}
|
|
168
|
-
return (react_1.default.createElement(components_1.ExampleFilterSlider, Object.assign({ filterSliderProps: filterSliderProps, filter: filter }, otherProps)));
|
|
83
|
+
var _a;
|
|
84
|
+
const reactiveFilterSliderProps = (0, hooks_1.useReactiveFilterSliderProps)(props.filter);
|
|
85
|
+
const filterSliderProps = (0, hooks_1.useFilterSliderProps)(props.filter);
|
|
86
|
+
const RenderSliderComponent = (_a = props.renderFilterSlider) !== null && _a !== void 0 ? _a : components_1.ExampleFilterSlider;
|
|
87
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
88
|
+
props.renderFilterSlider ? (react_1.default.createElement("div", { style: {
|
|
89
|
+
display: "none",
|
|
90
|
+
} },
|
|
91
|
+
react_1.default.createElement(DynamicRangeSlider_1.default, Object.assign({}, reactiveFilterSliderProps, { value: () => filterSliderProps.value, onChange: (value) => filterSliderProps.handleChange({
|
|
92
|
+
start: value[0],
|
|
93
|
+
end: value[1],
|
|
94
|
+
}) })))) : null,
|
|
95
|
+
react_1.default.createElement(RenderSliderComponent, { filterSliderProps: filterSliderProps, filter: props.filter })));
|
|
169
96
|
};
|
|
170
97
|
// inner component exists only so we can use memos in reactivesearch render functions
|
|
171
98
|
const FilterListInner = (props) => {
|