@blaze-cms/react-page-builder 0.122.1-alpha.0 → 0.122.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 +34 -0
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +15 -50
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/helpers/build-raw-query.js +1 -1
- package/lib/helpers/build-raw-query.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +10 -40
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib-es/helpers/build-raw-query.js +1 -1
- package/lib-es/helpers/build-raw-query.js.map +1 -1
- package/package.json +2 -2
- package/src/components/SearchFilter/SearchFilter/SearchFilter.js +113 -148
- package/src/helpers/build-raw-query.js +2 -1
- package/tests/helpers/mocks.js +1 -1
- package/tests/unit/src/components/SearchFilter/SearchFilter/SearchFilter.test.js +64 -86
- package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/SearchFilter.test.js.snap +133 -61
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,40 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.122.3](https://github.com/thebyte9/blaze/compare/v0.122.2...v0.122.3) (2022-04-06)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* add id to elasticsearch index data and update frontend item to display sort to use ([#3426](https://github.com/thebyte9/blaze/issues/3426)) ([0e3572c](https://github.com/thebyte9/blaze/commit/0e3572cdc69a8a59f9a500c1ae452a940c0f97cd))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [0.122.2](https://github.com/thebyte9/blaze/compare/v0.122.1...v0.122.2) (2022-04-04)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* add initial modifier to filter form ([be2254c](https://github.com/thebyte9/blaze/commit/be2254c967137b1c08e9989fcd1bf29d3675bb05))
|
|
23
|
+
* handle search filter with css ([872dc99](https://github.com/thebyte9/blaze/commit/872dc99b2ff26931bad9280f62b771d01a8c1c10))
|
|
24
|
+
* remove visibility ([7479231](https://github.com/thebyte9/blaze/commit/747923186c1c127dd82b4c4565b91b93e5812593))
|
|
25
|
+
* remove visibility ([32afbb4](https://github.com/thebyte9/blaze/commit/32afbb49f097a43e3e58a4938862a839beabe394))
|
|
26
|
+
* update to handle isCollapseOnMobile more consistently ([3123d99](https://github.com/thebyte9/blaze/commit/3123d9952f3d19391f91252bc1cfc716c787bed1))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## [0.122.1](https://github.com/thebyte9/blaze/compare/v0.122.1-alpha.0...v0.122.1) (2022-03-21)
|
|
33
|
+
|
|
34
|
+
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
6
40
|
## [0.122.1-alpha.0](https://github.com/thebyte9/blaze/compare/v0.122.0...v0.122.1-alpha.0) (2022-03-16)
|
|
7
41
|
|
|
8
42
|
|
|
@@ -117,23 +117,13 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
117
117
|
|
|
118
118
|
var _useState = (0, _react.useState)(true),
|
|
119
119
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
moreFiltersMobileCollapsed = _useState2[0],
|
|
121
|
+
setMoreFiltersMobileCollapsed = _useState2[1];
|
|
122
122
|
|
|
123
|
-
var _useState3 = (0, _react.useState)(
|
|
123
|
+
var _useState3 = (0, _react.useState)(true),
|
|
124
124
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
var _useState5 = (0, _react.useState)(true),
|
|
129
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
130
|
-
moreFiltersMobileCollapsed = _useState6[0],
|
|
131
|
-
setMoreFiltersMobileCollapsed = _useState6[1];
|
|
132
|
-
|
|
133
|
-
var _useState7 = (0, _react.useState)(true),
|
|
134
|
-
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
135
|
-
moreFiltersDesktopCollapsed = _useState8[0],
|
|
136
|
-
setMoreFiltersDesktopCollapsed = _useState8[1];
|
|
125
|
+
moreFiltersDesktopCollapsed = _useState4[0],
|
|
126
|
+
setMoreFiltersDesktopCollapsed = _useState4[1];
|
|
137
127
|
|
|
138
128
|
var _useReducer = (0, _react.useReducer)(reducer, initialFilterValues),
|
|
139
129
|
_useReducer2 = (0, _slicedToArray2["default"])(_useReducer, 2),
|
|
@@ -144,24 +134,6 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
144
134
|
var newQuery = (0, _helpers.buildQuery)(newValues, filters);
|
|
145
135
|
handleSearch(newQuery);
|
|
146
136
|
}, 200);
|
|
147
|
-
(0, _react.useEffect)(function () {
|
|
148
|
-
if (window && !pageWidth) {
|
|
149
|
-
setPageWidth(window.innerWidth);
|
|
150
|
-
setIsDesktop((0, _helpers.isDeviceDesktop)());
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
var handleResize = function handleResize(_ref2) {
|
|
154
|
-
var innerWidth = _ref2.target.innerWidth;
|
|
155
|
-
setIsDesktop((0, _helpers.isDeviceDesktop)());
|
|
156
|
-
setPageWidth(innerWidth);
|
|
157
|
-
if (isDesktop) setDisplaySearchFilter(false);
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
window.addEventListener('resize', handleResize);
|
|
161
|
-
return function () {
|
|
162
|
-
window.removeEventListener('resize', handleResize);
|
|
163
|
-
};
|
|
164
|
-
}, [isDesktop, pageWidth, setDisplaySearchFilter]);
|
|
165
137
|
(0, _react.useEffect)(function () {
|
|
166
138
|
if (filterValues.shouldSearch) {
|
|
167
139
|
handleSubmit(filterValues);
|
|
@@ -170,16 +142,9 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
170
142
|
});
|
|
171
143
|
}
|
|
172
144
|
}, [filterValues, handleSubmit]);
|
|
173
|
-
var
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
if (!isDesktop && isCollapsedOnResponsive) {
|
|
177
|
-
isMobileFormDisplayed = displaySearchFilter;
|
|
178
|
-
isDesktopFormDisplayed = false;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
var formClass = (0, _classnames["default"])({
|
|
182
|
-
'filter__form filter__form--mobile': isMobileFormDisplayed
|
|
145
|
+
var formClass = (0, _classnames["default"])('filter__form filter__form--initial', {
|
|
146
|
+
'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,
|
|
147
|
+
'filter__form--collapsible': isCollapsedOnResponsive
|
|
183
148
|
});
|
|
184
149
|
|
|
185
150
|
var _getResponsiveFilterC = (0, _helpers.getResponsiveFilterClassnames)(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed),
|
|
@@ -208,7 +173,7 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
208
173
|
|
|
209
174
|
var shouldGroup = !!(groupAfterDesktop || groupAfterMobile);
|
|
210
175
|
var shouldSearch = !hasUrl;
|
|
211
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null,
|
|
176
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("form", {
|
|
212
177
|
ref: searchFilterRef,
|
|
213
178
|
className: formClass,
|
|
214
179
|
"data-testid": formId,
|
|
@@ -218,13 +183,13 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
218
183
|
var newQuery = (0, _helpers.buildQuery)(filterValues, filters);
|
|
219
184
|
handleSearch(newQuery);
|
|
220
185
|
}
|
|
221
|
-
},
|
|
186
|
+
}, displaySearchFilter && /*#__PURE__*/_react["default"].createElement(_CloseMobileForm["default"], {
|
|
222
187
|
handleClose: function handleClose() {
|
|
223
188
|
return setDisplaySearchFilter(false);
|
|
224
189
|
}
|
|
225
190
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
226
191
|
className: "filter filter--search-refine"
|
|
227
|
-
},
|
|
192
|
+
}, /*#__PURE__*/_react["default"].createElement(_ResetDesktopForm["default"], {
|
|
228
193
|
handleReset: handleReset
|
|
229
194
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
230
195
|
className: "filter__wrapper filter__wrapper--search-refine"
|
|
@@ -294,13 +259,13 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
294
259
|
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
295
260
|
className: "button button--full-width",
|
|
296
261
|
type: "submit"
|
|
297
|
-
}, _constants.SEARCH)))), /*#__PURE__*/_react["default"].createElement("br", null),
|
|
262
|
+
}, _constants.SEARCH)))), /*#__PURE__*/_react["default"].createElement("br", null), !displaySearchFilter && /*#__PURE__*/_react["default"].createElement("button", {
|
|
298
263
|
className: "button button--full-width",
|
|
299
264
|
type: "submit"
|
|
300
|
-
}, _constants.SEARCH))),
|
|
265
|
+
}, _constants.SEARCH))), displaySearchFilter && /*#__PURE__*/_react["default"].createElement(_MobileFormToolbar["default"], {
|
|
301
266
|
formId: formId,
|
|
302
267
|
handleReset: handleReset
|
|
303
|
-
}))
|
|
268
|
+
})), isCollapsedOnResponsive && !displaySearchFilter && /*#__PURE__*/_react["default"].createElement("div", {
|
|
304
269
|
className: "filter__refine filter__refine--mobile-close",
|
|
305
270
|
"data-testid": "refine-mobile"
|
|
306
271
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -308,7 +273,7 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
308
273
|
onClick: function onClick() {
|
|
309
274
|
return setDisplaySearchFilter(true);
|
|
310
275
|
}
|
|
311
|
-
}, _constants.REFINE)))
|
|
276
|
+
}, _constants.REFINE)));
|
|
312
277
|
};
|
|
313
278
|
|
|
314
279
|
SearchFilter.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"names":["reducer","state","action","newValues","type","shouldSearch","Error","SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","initialFilterValues","groupAfterDesktop","groupAfterMobile","isDesktop","setIsDesktop","pageWidth","setPageWidth","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","filterValues","dispatch","handleSubmit","newQuery","window","innerWidth","handleResize","target","addEventListener","removeEventListener","isDesktopFormDisplayed","isMobileFormDisplayed","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","e","preventDefault","slice","MORE_FILTERS_CLASSES","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","SEARCH","MOBILE_BUTTONS","REFINE","propTypes","PropTypes","object","isRequired","array","bool","string","func","number"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useReducer } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilter = ({\n searchFilterRef,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n initialFilterValues,\n groupAfterDesktop,\n groupAfterMobile\n}) => {\n const [isDesktop, setIsDesktop] = useState(true);\n const [pageWidth, setPageWidth] = useState(null);\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n const [filterValues, dispatch] = useReducer(reducer, initialFilterValues);\n\n const handleSubmit = debounce(newValues => {\n const newQuery = buildQuery(newValues, filters);\n handleSearch(newQuery);\n }, 200);\n\n useEffect(\n () => {\n if (window && !pageWidth) {\n setPageWidth(window.innerWidth);\n setIsDesktop(isDeviceDesktop());\n }\n\n const handleResize = ({ target: { innerWidth } }) => {\n setIsDesktop(isDeviceDesktop());\n setPageWidth(innerWidth);\n if (isDesktop) setDisplaySearchFilter(false);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n },\n [isDesktop, pageWidth, setDisplaySearchFilter]\n );\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n dispatch({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit]\n );\n\n let isDesktopFormDisplayed = true;\n let isMobileFormDisplayed = false;\n\n if (!isDesktop && isCollapsedOnResponsive) {\n isMobileFormDisplayed = displaySearchFilter;\n isDesktopFormDisplayed = false;\n }\n\n const formClass = classnames({\n 'filter__form filter__form--mobile': isMobileFormDisplayed\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n const newValues = getInitialFilterValues(data, filters, {});\n\n dispatch({ newValues, type: 'reset' });\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n dispatch({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\n\n return (\n <>\n {isDesktopFormDisplayed || isMobileFormDisplayed ? (\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n const newQuery = buildQuery(filterValues, filters);\n handleSearch(newQuery);\n }}>\n {isMobileFormDisplayed && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n {isDesktopFormDisplayed && <ResetDesktopForm handleReset={handleReset} />}\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={shouldSearch && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {isDesktopFormDisplayed && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {isMobileFormDisplayed && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n ) : (\n <>\n {isCollapsedOnResponsive && (\n <div\n className=\"filter__refine filter__refine--mobile-close\"\n data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n initialFilterValues: PropTypes.object.isRequired\n};\n\nexport default SearchFilter;\n"],"file":"SearchFilter.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"names":["reducer","state","action","newValues","type","shouldSearch","Error","SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","initialFilterValues","groupAfterDesktop","groupAfterMobile","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","filterValues","dispatch","handleSubmit","newQuery","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","e","preventDefault","slice","MORE_FILTERS_CLASSES","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","SEARCH","MOBILE_BUTTONS","REFINE","propTypes","PropTypes","object","isRequired","array","bool","string","func","number"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useReducer } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilter = ({\n searchFilterRef,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n initialFilterValues,\n groupAfterDesktop,\n groupAfterMobile\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n const [filterValues, dispatch] = useReducer(reducer, initialFilterValues);\n\n const handleSubmit = debounce(newValues => {\n const newQuery = buildQuery(newValues, filters);\n handleSearch(newQuery);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n dispatch({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n const newValues = getInitialFilterValues(data, filters, {});\n\n dispatch({ newValues, type: 'reset' });\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n dispatch({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n const newQuery = buildQuery(filterValues, filters);\n handleSearch(newQuery);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={shouldSearch && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n initialFilterValues: PropTypes.object.isRequired\n};\n\nexport default SearchFilter;\n"],"file":"SearchFilter.js"}
|
|
@@ -126,7 +126,7 @@ var buildRawQuery = function buildRawQuery(docType, operator, searchValues, filt
|
|
|
126
126
|
type: 'number',
|
|
127
127
|
script: {
|
|
128
128
|
lang: 'painless',
|
|
129
|
-
source: "doc['
|
|
129
|
+
source: "!doc['id.keyword'].empty ? params.sortOrder.indexOf(doc['id.keyword'].value) : 0",
|
|
130
130
|
params: {
|
|
131
131
|
sortOrder: itemsToDisplayIds
|
|
132
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/helpers/build-raw-query.js"],"names":["buildRawQuery","docType","operator","searchValues","filterData","id","itemsToDisplay","shouldApplySort","azOptions","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","filterValues","filterOperator","relations","stringProps","azFilter","shouldReturnAggs","isAZ","searchValuesTextCheckboxSelectJoined","AND_OPERATOR","searchValuesTextCheckboxOr","length","finalValue","finalValueWithCheckboxOrValues","must","bool","should","finalValueIfNoCheckboxOrValues","mustValues","query","azQueryBits","itemsToDisplayIds","push","ids","values","sort","_script","type","script","lang","source","params","sortOrder","order"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../src/helpers/build-raw-query.js"],"names":["buildRawQuery","docType","operator","searchValues","filterData","id","itemsToDisplay","shouldApplySort","azOptions","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","filterValues","filterOperator","relations","stringProps","azFilter","shouldReturnAggs","isAZ","searchValuesTextCheckboxSelectJoined","AND_OPERATOR","searchValuesTextCheckboxOr","length","finalValue","finalValueWithCheckboxOrValues","must","bool","should","finalValueIfNoCheckboxOrValues","mustValues","query","azQueryBits","itemsToDisplayIds","push","ids","values","sort","_script","type","script","lang","source","params","sortOrder","order"],"mappings":"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","sourcesContent":["import buildRawQueryBase from './build-raw-query-base';\nimport getItemsToDisplayIds from './get-items-to-display-ids';\nimport getExtraAzBits from './get-extra-az-bits';\nimport buildAzFilter from './build-az-filter';\nimport { AND_OPERATOR } from '../constants';\n\nconst buildRawQuery = (\n docType,\n operator,\n searchValues,\n filterData,\n id,\n itemsToDisplay,\n shouldApplySort,\n azOptions\n) => {\n const {\n searchValuesText,\n searchValuesCheckboxSelectRange,\n searchValuesCheckboxOr\n } = searchValues;\n\n const { filterValues, filterOperator, relations, stringProps, azFilter } = filterData;\n const { shouldReturnAggs, isAZ } = azOptions || {};\n const searchValuesTextCheckboxSelectJoined =\n operator === AND_OPERATOR ? [...searchValuesText, ...searchValuesCheckboxSelectRange] : [];\n let searchValuesTextCheckboxOr = searchValuesText;\n if (searchValuesCheckboxOr.length) {\n searchValuesTextCheckboxOr = [...searchValuesText, ...searchValuesCheckboxOr];\n }\n\n let finalValue;\n\n if (searchValuesTextCheckboxSelectJoined.length) {\n const finalValueWithCheckboxOrValues = {\n must: [...searchValuesTextCheckboxSelectJoined, { bool: { should: searchValuesCheckboxOr } }]\n };\n const finalValueIfNoCheckboxOrValues = { must: searchValuesTextCheckboxSelectJoined };\n finalValue = searchValuesCheckboxOr.length\n ? finalValueWithCheckboxOrValues\n : finalValueIfNoCheckboxOrValues;\n } else {\n finalValue = {\n must: [...searchValuesCheckboxSelectRange, { bool: { should: searchValuesTextCheckboxOr } }]\n };\n }\n const mustValues = [\n {\n bool: finalValue\n }\n ];\n\n buildAzFilter(azFilter, mustValues);\n\n const query = {\n bool: {\n must: mustValues,\n ...buildRawQueryBase({ docType, id, filterValues, filterOperator, relations, stringProps })\n }\n };\n const azQueryBits = getExtraAzBits(shouldReturnAggs, isAZ, azFilter);\n\n if (itemsToDisplay && itemsToDisplay.length) {\n const itemsToDisplayIds = getItemsToDisplayIds(itemsToDisplay);\n query.bool.must.push({ ids: { values: itemsToDisplayIds } });\n if (shouldApplySort) {\n return {\n query,\n sort: {\n _script: {\n type: 'number',\n script: {\n lang: 'painless',\n source:\n \"!doc['id.keyword'].empty ? params.sortOrder.indexOf(doc['id.keyword'].value) : 0\",\n params: {\n sortOrder: itemsToDisplayIds\n }\n },\n order: 'asc'\n }\n },\n ...azQueryBits\n };\n }\n }\n\n return isAZ\n ? {\n query,\n ...azQueryBits\n }\n : query;\n};\n\nexport default buildRawQuery;\n"],"file":"build-raw-query.js"}
|
|
@@ -58,8 +58,6 @@ const SearchFilter = ({
|
|
|
58
58
|
groupAfterDesktop,
|
|
59
59
|
groupAfterMobile
|
|
60
60
|
}) => {
|
|
61
|
-
const [isDesktop, setIsDesktop] = useState(true);
|
|
62
|
-
const [pageWidth, setPageWidth] = useState(null);
|
|
63
61
|
const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);
|
|
64
62
|
const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);
|
|
65
63
|
const [filterValues, dispatch] = useReducer(reducer, initialFilterValues);
|
|
@@ -67,27 +65,6 @@ const SearchFilter = ({
|
|
|
67
65
|
const newQuery = buildQuery(newValues, filters);
|
|
68
66
|
handleSearch(newQuery);
|
|
69
67
|
}, 200);
|
|
70
|
-
useEffect(() => {
|
|
71
|
-
if (window && !pageWidth) {
|
|
72
|
-
setPageWidth(window.innerWidth);
|
|
73
|
-
setIsDesktop(isDeviceDesktop());
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const handleResize = ({
|
|
77
|
-
target: {
|
|
78
|
-
innerWidth
|
|
79
|
-
}
|
|
80
|
-
}) => {
|
|
81
|
-
setIsDesktop(isDeviceDesktop());
|
|
82
|
-
setPageWidth(innerWidth);
|
|
83
|
-
if (isDesktop) setDisplaySearchFilter(false);
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
window.addEventListener('resize', handleResize);
|
|
87
|
-
return () => {
|
|
88
|
-
window.removeEventListener('resize', handleResize);
|
|
89
|
-
};
|
|
90
|
-
}, [isDesktop, pageWidth, setDisplaySearchFilter]);
|
|
91
68
|
useEffect(() => {
|
|
92
69
|
if (filterValues.shouldSearch) {
|
|
93
70
|
handleSubmit(filterValues);
|
|
@@ -96,16 +73,9 @@ const SearchFilter = ({
|
|
|
96
73
|
});
|
|
97
74
|
}
|
|
98
75
|
}, [filterValues, handleSubmit]);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if (!isDesktop && isCollapsedOnResponsive) {
|
|
103
|
-
isMobileFormDisplayed = displaySearchFilter;
|
|
104
|
-
isDesktopFormDisplayed = false;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
const formClass = classnames({
|
|
108
|
-
'filter__form filter__form--mobile': isMobileFormDisplayed
|
|
76
|
+
const formClass = classnames('filter__form filter__form--initial', {
|
|
77
|
+
'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,
|
|
78
|
+
'filter__form--collapsible': isCollapsedOnResponsive
|
|
109
79
|
});
|
|
110
80
|
const {
|
|
111
81
|
moreFiltersMobileWrapperClass,
|
|
@@ -133,7 +103,7 @@ const SearchFilter = ({
|
|
|
133
103
|
|
|
134
104
|
const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);
|
|
135
105
|
const shouldSearch = !hasUrl;
|
|
136
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null,
|
|
106
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("form", {
|
|
137
107
|
ref: searchFilterRef,
|
|
138
108
|
className: formClass,
|
|
139
109
|
"data-testid": formId,
|
|
@@ -143,11 +113,11 @@ const SearchFilter = ({
|
|
|
143
113
|
const newQuery = buildQuery(filterValues, filters);
|
|
144
114
|
handleSearch(newQuery);
|
|
145
115
|
}
|
|
146
|
-
},
|
|
116
|
+
}, displaySearchFilter && /*#__PURE__*/React.createElement(CloseMobileForm, {
|
|
147
117
|
handleClose: () => setDisplaySearchFilter(false)
|
|
148
118
|
}), /*#__PURE__*/React.createElement("div", {
|
|
149
119
|
className: "filter filter--search-refine"
|
|
150
|
-
},
|
|
120
|
+
}, /*#__PURE__*/React.createElement(ResetDesktopForm, {
|
|
151
121
|
handleReset: handleReset
|
|
152
122
|
}), /*#__PURE__*/React.createElement("div", {
|
|
153
123
|
className: "filter__wrapper filter__wrapper--search-refine"
|
|
@@ -213,19 +183,19 @@ const SearchFilter = ({
|
|
|
213
183
|
}), /*#__PURE__*/React.createElement("button", {
|
|
214
184
|
className: "button button--full-width",
|
|
215
185
|
type: "submit"
|
|
216
|
-
}, SEARCH)))), /*#__PURE__*/React.createElement("br", null),
|
|
186
|
+
}, SEARCH)))), /*#__PURE__*/React.createElement("br", null), !displaySearchFilter && /*#__PURE__*/React.createElement("button", {
|
|
217
187
|
className: "button button--full-width",
|
|
218
188
|
type: "submit"
|
|
219
|
-
}, SEARCH))),
|
|
189
|
+
}, SEARCH))), displaySearchFilter && /*#__PURE__*/React.createElement(MobileFormToolbar, {
|
|
220
190
|
formId: formId,
|
|
221
191
|
handleReset: handleReset
|
|
222
|
-
}))
|
|
192
|
+
})), isCollapsedOnResponsive && !displaySearchFilter && /*#__PURE__*/React.createElement("div", {
|
|
223
193
|
className: "filter__refine filter__refine--mobile-close",
|
|
224
194
|
"data-testid": "refine-mobile"
|
|
225
195
|
}, /*#__PURE__*/React.createElement("div", {
|
|
226
196
|
role: "button",
|
|
227
197
|
onClick: () => setDisplaySearchFilter(true)
|
|
228
|
-
}, REFINE)))
|
|
198
|
+
}, REFINE)));
|
|
229
199
|
};
|
|
230
200
|
|
|
231
201
|
SearchFilter.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"names":["React","useState","useEffect","useReducer","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildQuery","getInitialFilterValues","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","reducer","state","action","newValues","type","shouldSearch","Error","SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","initialFilterValues","groupAfterDesktop","groupAfterMobile","isDesktop","setIsDesktop","pageWidth","setPageWidth","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","filterValues","dispatch","handleSubmit","newQuery","window","innerWidth","handleResize","target","addEventListener","removeEventListener","isDesktopFormDisplayed","isMobileFormDisplayed","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","e","preventDefault","slice","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","propTypes","object","isRequired","array","bool","string","func","number"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useReducer } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilter = ({\n searchFilterRef,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n initialFilterValues,\n groupAfterDesktop,\n groupAfterMobile\n}) => {\n const [isDesktop, setIsDesktop] = useState(true);\n const [pageWidth, setPageWidth] = useState(null);\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n const [filterValues, dispatch] = useReducer(reducer, initialFilterValues);\n\n const handleSubmit = debounce(newValues => {\n const newQuery = buildQuery(newValues, filters);\n handleSearch(newQuery);\n }, 200);\n\n useEffect(\n () => {\n if (window && !pageWidth) {\n setPageWidth(window.innerWidth);\n setIsDesktop(isDeviceDesktop());\n }\n\n const handleResize = ({ target: { innerWidth } }) => {\n setIsDesktop(isDeviceDesktop());\n setPageWidth(innerWidth);\n if (isDesktop) setDisplaySearchFilter(false);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n },\n [isDesktop, pageWidth, setDisplaySearchFilter]\n );\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n dispatch({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit]\n );\n\n let isDesktopFormDisplayed = true;\n let isMobileFormDisplayed = false;\n\n if (!isDesktop && isCollapsedOnResponsive) {\n isMobileFormDisplayed = displaySearchFilter;\n isDesktopFormDisplayed = false;\n }\n\n const formClass = classnames({\n 'filter__form filter__form--mobile': isMobileFormDisplayed\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n const newValues = getInitialFilterValues(data, filters, {});\n\n dispatch({ newValues, type: 'reset' });\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n dispatch({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\n\n return (\n <>\n {isDesktopFormDisplayed || isMobileFormDisplayed ? (\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n const newQuery = buildQuery(filterValues, filters);\n handleSearch(newQuery);\n }}>\n {isMobileFormDisplayed && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n {isDesktopFormDisplayed && <ResetDesktopForm handleReset={handleReset} />}\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={shouldSearch && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {isDesktopFormDisplayed && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {isMobileFormDisplayed && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n ) : (\n <>\n {isCollapsedOnResponsive && (\n <div\n className=\"filter__refine filter__refine--mobile-close\"\n data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n initialFilterValues: PropTypes.object.isRequired\n};\n\nexport default SearchFilter;\n"],"file":"SearchFilter.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"names":["React","useState","useEffect","useReducer","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildQuery","getInitialFilterValues","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","reducer","state","action","newValues","type","shouldSearch","Error","SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","initialFilterValues","groupAfterDesktop","groupAfterMobile","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","filterValues","dispatch","handleSubmit","newQuery","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","e","preventDefault","slice","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","propTypes","object","isRequired","array","bool","string","func","number"],"mappings":";;;;;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,EAAqCC,UAArC,QAAuD,OAAvD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,SACEC,eADF,EAEEC,UAFF,EAGEC,sBAHF,EAIEC,6BAJF,QAKO,YALP;AAMA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,gBAAP,MAA6B,oBAA7B;AACA,OAAOC,iBAAP,MAA8B,qBAA9B;AACA,SAASC,MAAT,EAAiBC,MAAjB,EAAyBC,oBAAzB,QAAqD,cAArD;;AAEA,MAAMC,OAAO,GAAG,CAACC,KAAD,EAAQC,MAAR,KAAmB;AACjC,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,IAAb;AAAmBC,IAAAA,YAAY,GAAG;AAAlC,MAA2CH,MAAjD;;AAEA,UAAQE,IAAR;AACE,SAAK,QAAL;AACE,2DAAYH,KAAZ,GAAsBE,SAAtB;AAAiCE,QAAAA;AAAjC;;AACF,SAAK,aAAL;AACE,6CAAYJ,KAAZ;AAAmBI,QAAAA,YAAY,EAAE;AAAjC;;AACF,SAAK,OAAL;AACE,6CAAYF,SAAZ;AAAuBE,QAAAA;AAAvB;;AACF;AACE,YAAM,IAAIC,KAAJ,EAAN;AARJ;AAUD,CAbD;;AAeA,MAAMC,YAAY,GAAG,CAAC;AACpBC,EAAAA,eADoB;AAEpBC,EAAAA,IAFoB;AAGpBC,EAAAA,OAHoB;AAIpBC,EAAAA,MAJoB;AAKpBC,EAAAA,MALoB;AAMpBC,EAAAA,YANoB;AAOpBC,EAAAA,IAPoB;AAQpBC,EAAAA,uBARoB;AASpBC,EAAAA,mBAToB;AAUpBC,EAAAA,sBAVoB;AAWpBC,EAAAA,mBAXoB;AAYpBC,EAAAA,iBAZoB;AAapBC,EAAAA;AAboB,CAAD,KAcf;AACJ,QAAM,CAACC,0BAAD,EAA6BC,6BAA7B,IAA8DvC,QAAQ,CAAC,IAAD,CAA5E;AACA,QAAM,CAACwC,2BAAD,EAA8BC,8BAA9B,IAAgEzC,QAAQ,CAAC,IAAD,CAA9E;AACA,QAAM,CAAC0C,YAAD,EAAeC,QAAf,IAA2BzC,UAAU,CAACe,OAAD,EAAUkB,mBAAV,CAA3C;AAEA,QAAMS,YAAY,GAAGvC,QAAQ,CAACe,SAAS,IAAI;AACzC,UAAMyB,QAAQ,GAAGrC,UAAU,CAACY,SAAD,EAAYO,OAAZ,CAA3B;AACAG,IAAAA,YAAY,CAACe,QAAD,CAAZ;AACD,GAH4B,EAG1B,GAH0B,CAA7B;AAKA5C,EAAAA,SAAS,CACP,MAAM;AACJ,QAAIyC,YAAY,CAACpB,YAAjB,EAA+B;AAC7BsB,MAAAA,YAAY,CAACF,YAAD,CAAZ;AACAC,MAAAA,QAAQ,CAAC;AAAEtB,QAAAA,IAAI,EAAE;AAAR,OAAD,CAAR;AACD;AACF,GANM,EAOP,CAACqB,YAAD,EAAeE,YAAf,CAPO,CAAT;AAUA,QAAME,SAAS,GAAG1C,UAAU,CAAC,oCAAD,EAAuC;AACjE,4BAAwB4B,uBAAuB,IAAIC,mBADc;AAEjE,iCAA6BD;AAFoC,GAAvC,CAA5B;AAKA,QAAM;AACJe,IAAAA,6BADI;AAEJC,IAAAA,6BAFI;AAGJC,IAAAA,8BAHI;AAIJC,IAAAA;AAJI,MAKFxC,6BAA6B,CAAC8B,2BAAD,EAA8BF,0BAA9B,CALjC;AAOA,QAAMa,MAAM,GAAI,UAASpB,IAAK,OAA9B;;AAEA,QAAMqB,WAAW,GAAG,MAAM;AACxB,UAAMhC,SAAS,GAAGX,sBAAsB,CAACiB,IAAD,EAAOC,OAAP,EAAgB,EAAhB,CAAxC;AAEAgB,IAAAA,QAAQ,CAAC;AAAEvB,MAAAA,SAAF;AAAaC,MAAAA,IAAI,EAAE;AAAnB,KAAD,CAAR;AACD,GAJD;;AAMA,QAAMgC,kBAAkB,GAAG,CAACjC,SAAD,EAAYkC,YAAZ,KAA6B;AACtDX,IAAAA,QAAQ,CAAC;AAAEvB,MAAAA,SAAF;AAAaE,MAAAA,YAAY,EAAEgC,YAA3B;AAAyCjC,MAAAA,IAAI,EAAE;AAA/C,KAAD,CAAR;AACD,GAFD;;AAIA,QAAMkC,WAAW,GAAG,CAAC,EAAEnB,iBAAiB,IAAIC,gBAAvB,CAArB;AACA,QAAMf,YAAY,GAAG,CAACM,MAAtB;AAEA,sBACE,uDACE;AACE,IAAA,GAAG,EAAEH,eADP;AAEE,IAAA,SAAS,EAAEqB,SAFb;AAGE,mBAAaK,MAHf;AAIE,IAAA,EAAE,EAAEA,MAJN;AAKE,IAAA,QAAQ,EAAEK,CAAC,IAAI;AACbA,MAAAA,CAAC,CAACC,cAAF;AACA,YAAMZ,QAAQ,GAAGrC,UAAU,CAACkC,YAAD,EAAef,OAAf,CAA3B;AACAG,MAAAA,YAAY,CAACe,QAAD,CAAZ;AACD;AATH,KAUGZ,mBAAmB,iBAClB,oBAAC,eAAD;AAAiB,IAAA,WAAW,EAAE,MAAMC,sBAAsB,CAAC,KAAD;AAA1D,IAXJ,eAcE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE,oBAAC,gBAAD;AAAkB,IAAA,WAAW,EAAEkB;AAA/B,IADF,eAGE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,CAACG,WAAD,iBACC,oBAAC,WAAD;AACE,IAAA,YAAY,EAAEjC,YADhB;AAEE,IAAA,IAAI,EAAEI,IAFR;AAGE,IAAA,OAAO,EAAEC,OAHX;AAIE,IAAA,MAAM,EAAEC,MAJV;AAKE,IAAA,MAAM,EAAEC,MALV;AAME,IAAA,YAAY,EAAEa,YANhB;AAOE,IAAA,kBAAkB,EAAEW;AAPtB,IAFJ,EAaGE,WAAW,iBACV,uDACE,oBAAC,WAAD;AACE,IAAA,YAAY,EAAEjC,YADhB;AAEE,IAAA,IAAI,EAAEI,IAFR;AAGE,IAAA,OAAO,EAAEC,OAAO,CAAC+B,KAAR,CAAc,CAAd,EAAiBrB,gBAAjB,CAHX;AAIE,IAAA,MAAM,EAAET,MAJV;AAKE,IAAA,MAAM,EAAEC,MALV;AAME,IAAA,YAAY,EAAEa,YANhB;AAOE,IAAA,kBAAkB,EAAEW;AAPtB,IADF,EAWG,CAAC,CAAChB,gBAAF,iBACC;AACE,IAAA,SAAS,EAAEW,6BADb;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,OAAO,EAAE,MAAMT,6BAA6B,CAAC,CAACD,0BAAF;AAH9C,eAZJ,eAoBE;AAAK,IAAA,SAAS,EAAES;AAAhB,kBACE;AAAK,IAAA,SAAS,EAAE/B,oBAAoB,CAAC2C;AAArC,kBACE,oBAAC,WAAD;AACE,IAAA,YAAY,EAAErC,YAAY,IAAIf,eAAe,EAD/C;AAEE,IAAA,IAAI,EAAEmB,IAFR;AAGE,IAAA,OAAO,EAAEC,OAAO,CAAC+B,KAAR,CACPrB,gBADO,EAEPD,iBAAiB,GAAGA,iBAAiB,GAAG,CAAvB,GAA2B,CAFrC,CAHX;AAOE,IAAA,MAAM,EAAER,MAPV;AAQE,IAAA,MAAM,EAAEC,MARV;AASE,IAAA,YAAY,EAAEa,YAThB;AAUE,IAAA,kBAAkB,EAAEW;AAVtB,IADF,EAcG,CAAC,CAACjB,iBAAF,iBACC;AACE,IAAA,SAAS,EAAEc,8BADb;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,OAAO,EAAE,MACPT,8BAA8B,CAAC,CAACD,2BAAF;AAJlC,oBAfJ,eAyBE;AAAK,IAAA,SAAS,EAAES;AAAhB,kBACE;AAAK,IAAA,SAAS,EAAEjC,oBAAoB,CAAC4C;AAArC,kBACE,oBAAC,WAAD;AACE,IAAA,YAAY,EAAE,KADhB;AAEE,IAAA,IAAI,EAAElC,IAFR;AAGE,IAAA,OAAO,EAAEC,OAAO,CAAC+B,KAAR,CAActB,iBAAd,CAHX;AAIE,IAAA,MAAM,EAAER,MAJV;AAKE,IAAA,MAAM,EAAEC,MALV;AAME,IAAA,YAAY,EAAEa,YANhB;AAOE,IAAA,kBAAkB,EAAEW;AAPtB,IADF,CADF,eAaE;AAAK,IAAA,SAAS,EAAErC,oBAAoB,CAAC6C;AAArC,kBACE,oBAAC,gBAAD;AAAkB,IAAA,WAAW,EAAET;AAA/B,IADF,eAGE;AAAQ,IAAA,SAAS,EAAC,2BAAlB;AAA8C,IAAA,IAAI,EAAC;AAAnD,KACGtC,MADH,CAHF,CAbF,CAzBF,CADF,eAiDE;AAAK,IAAA,SAAS,EAAEE,oBAAoB,CAAC8C;AAArC,kBACE,oBAAC,gBAAD;AAAkB,IAAA,WAAW,EAAEV;AAA/B,IADF,eAGE;AAAQ,IAAA,SAAS,EAAC,2BAAlB;AAA8C,IAAA,IAAI,EAAC;AAAnD,KACGtC,MADH,CAHF,CAjDF,CApBF,CAdJ,eA8FE,+BA9FF,EAgGG,CAACmB,mBAAD,iBACC;AAAQ,IAAA,SAAS,EAAC,2BAAlB;AAA8C,IAAA,IAAI,EAAC;AAAnD,KACGnB,MADH,CAjGJ,CAHF,CAdF,EAyHGmB,mBAAmB,iBAAI,oBAAC,iBAAD;AAAmB,IAAA,MAAM,EAAEkB,MAA3B;AAAmC,IAAA,WAAW,EAAEC;AAAhD,IAzH1B,CADF,EA6HGpB,uBAAuB,IACtB,CAACC,mBADF,iBAEG;AAAK,IAAA,SAAS,EAAC,6CAAf;AAA6D,mBAAY;AAAzE,kBACE;AAAK,IAAA,IAAI,EAAC,QAAV;AAAmB,IAAA,OAAO,EAAE,MAAMC,sBAAsB,CAAC,IAAD;AAAxD,KACGnB,MADH,CADF,CA/HN,CADF;AAwID,CArMD;;AAuMAS,YAAY,CAACuC,SAAb,GAAyB;AACvBrC,EAAAA,IAAI,EAAEvB,SAAS,CAAC6D,MAAV,CAAiBC,UADA;AAEvBtC,EAAAA,OAAO,EAAExB,SAAS,CAAC+D,KAAV,CAAgBD,UAFF;AAGvBxC,EAAAA,eAAe,EAAEtB,SAAS,CAAC6D,MAAV,CAAiBC,UAHX;AAIvBrC,EAAAA,MAAM,EAAEzB,SAAS,CAACgE,IAAV,CAAeF,UAJA;AAKvBpC,EAAAA,MAAM,EAAE1B,SAAS,CAACiE,MAAV,CAAiBH,UALF;AAMvBnC,EAAAA,YAAY,EAAE3B,SAAS,CAACkE,IAAV,CAAeJ,UANN;AAOvBlC,EAAAA,IAAI,EAAE5B,SAAS,CAACiE,MAAV,CAAiBH,UAPA;AAQvBhC,EAAAA,mBAAmB,EAAE9B,SAAS,CAACgE,IAAV,CAAeF,UARb;AASvB/B,EAAAA,sBAAsB,EAAE/B,SAAS,CAACkE,IAAV,CAAeJ,UAThB;AAUvBjC,EAAAA,uBAAuB,EAAE7B,SAAS,CAACgE,IAAV,CAAeF,UAVjB;AAWvB7B,EAAAA,iBAAiB,EAAEjC,SAAS,CAACmE,MAAV,CAAiBL,UAXb;AAYvB5B,EAAAA,gBAAgB,EAAElC,SAAS,CAACmE,MAAV,CAAiBL,UAZZ;AAavB9B,EAAAA,mBAAmB,EAAEhC,SAAS,CAAC6D,MAAV,CAAiBC;AAbf,CAAzB;AAgBA,eAAezC,YAAf","sourcesContent":["import React, { useState, useEffect, useReducer } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilter = ({\n searchFilterRef,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n initialFilterValues,\n groupAfterDesktop,\n groupAfterMobile\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n const [filterValues, dispatch] = useReducer(reducer, initialFilterValues);\n\n const handleSubmit = debounce(newValues => {\n const newQuery = buildQuery(newValues, filters);\n handleSearch(newQuery);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n dispatch({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n const newValues = getInitialFilterValues(data, filters, {});\n\n dispatch({ newValues, type: 'reset' });\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n dispatch({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n const newQuery = buildQuery(filterValues, filters);\n handleSearch(newQuery);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={shouldSearch && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n initialFilterValues: PropTypes.object.isRequired\n};\n\nexport default SearchFilter;\n"],"file":"SearchFilter.js"}
|
|
@@ -92,7 +92,7 @@ const buildRawQuery = (docType, operator, searchValues, filterData, id, itemsToD
|
|
|
92
92
|
type: 'number',
|
|
93
93
|
script: {
|
|
94
94
|
lang: 'painless',
|
|
95
|
-
source: "doc['
|
|
95
|
+
source: "!doc['id.keyword'].empty ? params.sortOrder.indexOf(doc['id.keyword'].value) : 0",
|
|
96
96
|
params: {
|
|
97
97
|
sortOrder: itemsToDisplayIds
|
|
98
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/helpers/build-raw-query.js"],"names":["buildRawQueryBase","getItemsToDisplayIds","getExtraAzBits","buildAzFilter","AND_OPERATOR","buildRawQuery","docType","operator","searchValues","filterData","id","itemsToDisplay","shouldApplySort","azOptions","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","filterValues","filterOperator","relations","stringProps","azFilter","shouldReturnAggs","isAZ","searchValuesTextCheckboxSelectJoined","searchValuesTextCheckboxOr","length","finalValue","finalValueWithCheckboxOrValues","must","bool","should","finalValueIfNoCheckboxOrValues","mustValues","query","azQueryBits","itemsToDisplayIds","push","ids","values","sort","_script","type","script","lang","source","params","sortOrder","order"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../src/helpers/build-raw-query.js"],"names":["buildRawQueryBase","getItemsToDisplayIds","getExtraAzBits","buildAzFilter","AND_OPERATOR","buildRawQuery","docType","operator","searchValues","filterData","id","itemsToDisplay","shouldApplySort","azOptions","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","filterValues","filterOperator","relations","stringProps","azFilter","shouldReturnAggs","isAZ","searchValuesTextCheckboxSelectJoined","searchValuesTextCheckboxOr","length","finalValue","finalValueWithCheckboxOrValues","must","bool","should","finalValueIfNoCheckboxOrValues","mustValues","query","azQueryBits","itemsToDisplayIds","push","ids","values","sort","_script","type","script","lang","source","params","sortOrder","order"],"mappings":"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","sourcesContent":["import buildRawQueryBase from './build-raw-query-base';\nimport getItemsToDisplayIds from './get-items-to-display-ids';\nimport getExtraAzBits from './get-extra-az-bits';\nimport buildAzFilter from './build-az-filter';\nimport { AND_OPERATOR } from '../constants';\n\nconst buildRawQuery = (\n docType,\n operator,\n searchValues,\n filterData,\n id,\n itemsToDisplay,\n shouldApplySort,\n azOptions\n) => {\n const {\n searchValuesText,\n searchValuesCheckboxSelectRange,\n searchValuesCheckboxOr\n } = searchValues;\n\n const { filterValues, filterOperator, relations, stringProps, azFilter } = filterData;\n const { shouldReturnAggs, isAZ } = azOptions || {};\n const searchValuesTextCheckboxSelectJoined =\n operator === AND_OPERATOR ? [...searchValuesText, ...searchValuesCheckboxSelectRange] : [];\n let searchValuesTextCheckboxOr = searchValuesText;\n if (searchValuesCheckboxOr.length) {\n searchValuesTextCheckboxOr = [...searchValuesText, ...searchValuesCheckboxOr];\n }\n\n let finalValue;\n\n if (searchValuesTextCheckboxSelectJoined.length) {\n const finalValueWithCheckboxOrValues = {\n must: [...searchValuesTextCheckboxSelectJoined, { bool: { should: searchValuesCheckboxOr } }]\n };\n const finalValueIfNoCheckboxOrValues = { must: searchValuesTextCheckboxSelectJoined };\n finalValue = searchValuesCheckboxOr.length\n ? finalValueWithCheckboxOrValues\n : finalValueIfNoCheckboxOrValues;\n } else {\n finalValue = {\n must: [...searchValuesCheckboxSelectRange, { bool: { should: searchValuesTextCheckboxOr } }]\n };\n }\n const mustValues = [\n {\n bool: finalValue\n }\n ];\n\n buildAzFilter(azFilter, mustValues);\n\n const query = {\n bool: {\n must: mustValues,\n ...buildRawQueryBase({ docType, id, filterValues, filterOperator, relations, stringProps })\n }\n };\n const azQueryBits = getExtraAzBits(shouldReturnAggs, isAZ, azFilter);\n\n if (itemsToDisplay && itemsToDisplay.length) {\n const itemsToDisplayIds = getItemsToDisplayIds(itemsToDisplay);\n query.bool.must.push({ ids: { values: itemsToDisplayIds } });\n if (shouldApplySort) {\n return {\n query,\n sort: {\n _script: {\n type: 'number',\n script: {\n lang: 'painless',\n source:\n \"!doc['id.keyword'].empty ? params.sortOrder.indexOf(doc['id.keyword'].value) : 0\",\n params: {\n sortOrder: itemsToDisplayIds\n }\n },\n order: 'asc'\n }\n },\n ...azQueryBits\n };\n }\n }\n\n return isAZ\n ? {\n query,\n ...azQueryBits\n }\n : query;\n};\n\nexport default buildRawQuery;\n"],"file":"build-raw-query.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/react-page-builder",
|
|
3
|
-
"version": "0.122.
|
|
3
|
+
"version": "0.122.3",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -84,5 +84,5 @@
|
|
|
84
84
|
"lib/*",
|
|
85
85
|
"lib-es/*"
|
|
86
86
|
],
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "36a1302b243ffe46c704a9591e6d61d6ca3878ef"
|
|
88
88
|
}
|