@blaze-cms/react-page-builder 0.113.0-alpha.7 → 0.114.0-alpha.0
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 +41 -0
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +57 -24
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilterContainer.js +19 -12
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib/components/SearchFilter/constants.js +13 -1
- package/lib/components/SearchFilter/constants.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-responsive-filter-classnames.js +29 -0
- package/lib/components/SearchFilter/helpers/get-responsive-filter-classnames.js.map +1 -0
- package/lib/components/SearchFilter/helpers/index.js +8 -0
- package/lib/components/SearchFilter/helpers/index.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +51 -25
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +12 -9
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib-es/components/SearchFilter/constants.js +12 -1
- package/lib-es/components/SearchFilter/constants.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/get-responsive-filter-classnames.js +20 -0
- package/lib-es/components/SearchFilter/helpers/get-responsive-filter-classnames.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/index.js +2 -1
- package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
- package/package.json +4 -4
- package/src/components/SearchFilter/SearchFilter/SearchFilter.js +75 -29
- package/src/components/SearchFilter/SearchFilterContainer.js +15 -8
- package/src/components/SearchFilter/constants.js +14 -1
- package/src/components/SearchFilter/helpers/get-responsive-filter-classnames.js +22 -0
- package/src/components/SearchFilter/helpers/index.js +2 -0
- package/tests/unit/src/components/SearchFilter/SearchFilter/SearchFilter.test.js +29 -3
- package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/SearchFilter.test.js.snap +304 -6
- package/tests/unit/src/components/SearchFilter/__snapshots__/SearchFilterContainer.test.js.snap +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,47 @@
|
|
|
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.114.0-alpha.0](https://github.com/thebyte9/blaze/compare/v0.113.0...v0.114.0-alpha.0) (2021-11-22)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* Wrap more filters for mobile with groupAfterMobile option ([#3213](https://github.com/thebyte9/blaze/issues/3213)) ([8914aaa](https://github.com/thebyte9/blaze/commit/8914aaa33d29e8ff7d6a762f7c73adf6e559a344))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [0.113.0](https://github.com/thebyte9/blaze/compare/v0.113.0-alpha.9...v0.113.0) (2021-11-19)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [0.113.0-alpha.9](https://github.com/thebyte9/blaze/compare/v0.113.0-alpha.8...v0.113.0-alpha.9) (2021-11-19)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* render form when now aggregations are needed ([#3221](https://github.com/thebyte9/blaze/issues/3221)) ([50f4b15](https://github.com/thebyte9/blaze/commit/50f4b157b9fe74b423d20035a34cb5a7d59fb557))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# [0.113.0-alpha.8](https://github.com/thebyte9/blaze/compare/v0.113.0-alpha.7...v0.113.0-alpha.8) (2021-11-18)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### Bug Fixes
|
|
40
|
+
|
|
41
|
+
* move submit function above first call ([#3219](https://github.com/thebyte9/blaze/issues/3219)) ([ca0af48](https://github.com/thebyte9/blaze/commit/ca0af4802d144a9825f361a7271788d123e04885))
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
6
47
|
# [0.113.0-alpha.7](https://github.com/thebyte9/blaze/compare/v0.113.0-alpha.6...v0.113.0-alpha.7) (2021-11-17)
|
|
7
48
|
|
|
8
49
|
|
|
@@ -112,7 +112,8 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
112
112
|
displaySearchFilter = _ref.displaySearchFilter,
|
|
113
113
|
setDisplaySearchFilter = _ref.setDisplaySearchFilter,
|
|
114
114
|
initialFilterValues = _ref.initialFilterValues,
|
|
115
|
-
|
|
115
|
+
groupAfterDesktop = _ref.groupAfterDesktop,
|
|
116
|
+
groupAfterMobile = _ref.groupAfterMobile;
|
|
116
117
|
|
|
117
118
|
var _useState = (0, _react.useState)(true),
|
|
118
119
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -126,14 +127,23 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
126
127
|
|
|
127
128
|
var _useState5 = (0, _react.useState)(true),
|
|
128
129
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
129
|
-
|
|
130
|
-
|
|
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];
|
|
131
137
|
|
|
132
138
|
var _useReducer = (0, _react.useReducer)(reducer, initialFilterValues),
|
|
133
139
|
_useReducer2 = (0, _slicedToArray2["default"])(_useReducer, 2),
|
|
134
140
|
filterValues = _useReducer2[0],
|
|
135
141
|
dispatch = _useReducer2[1];
|
|
136
142
|
|
|
143
|
+
var handleSubmit = (0, _lodash["default"])(function (newValues) {
|
|
144
|
+
var newQuery = (0, _helpers.buildQuery)(newValues, filters);
|
|
145
|
+
handleSearch(newQuery);
|
|
146
|
+
}, 200);
|
|
137
147
|
(0, _react.useEffect)(function () {
|
|
138
148
|
if (window && !pageWidth) {
|
|
139
149
|
setPageWidth(window.innerWidth);
|
|
@@ -171,12 +181,13 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
171
181
|
var formClass = (0, _classnames["default"])({
|
|
172
182
|
'filter__form filter__form--mobile': isMobileFormDisplayed
|
|
173
183
|
});
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
184
|
+
|
|
185
|
+
var _getResponsiveFilterC = (0, _helpers.getResponsiveFilterClassnames)(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed),
|
|
186
|
+
moreFiltersMobileWrapperClass = _getResponsiveFilterC.moreFiltersMobileWrapperClass,
|
|
187
|
+
moreFiltersMobileTogglerClass = _getResponsiveFilterC.moreFiltersMobileTogglerClass,
|
|
188
|
+
moreFiltersDesktopWrapperClass = _getResponsiveFilterC.moreFiltersDesktopWrapperClass,
|
|
189
|
+
moreFiltersDesktopTogglerClass = _getResponsiveFilterC.moreFiltersDesktopTogglerClass;
|
|
190
|
+
|
|
180
191
|
var formId = "filter-".concat(name, "-form");
|
|
181
192
|
|
|
182
193
|
var handleReset = function handleReset() {
|
|
@@ -195,10 +206,7 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
195
206
|
});
|
|
196
207
|
};
|
|
197
208
|
|
|
198
|
-
var
|
|
199
|
-
var newQuery = (0, _helpers.buildQuery)(newValues, filters);
|
|
200
|
-
handleSearch(newQuery);
|
|
201
|
-
}, 200);
|
|
209
|
+
var shouldGroup = !!(groupAfterDesktop || groupAfterMobile);
|
|
202
210
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, isDesktopFormDisplayed || isMobileFormDisplayed ? /*#__PURE__*/_react["default"].createElement("form", {
|
|
203
211
|
ref: searchFilterRef,
|
|
204
212
|
className: formClass,
|
|
@@ -219,39 +227,63 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
219
227
|
handleReset: handleReset
|
|
220
228
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
221
229
|
className: "filter__wrapper filter__wrapper--search-refine"
|
|
222
|
-
}, !
|
|
230
|
+
}, !shouldGroup && /*#__PURE__*/_react["default"].createElement(_FiltersList["default"], {
|
|
223
231
|
data: data,
|
|
224
232
|
filters: filters,
|
|
225
233
|
hasUrl: hasUrl,
|
|
226
234
|
entity: entity,
|
|
227
235
|
filterValues: filterValues,
|
|
228
236
|
updateFilterValues: updateFilterValues
|
|
229
|
-
}),
|
|
237
|
+
}), shouldGroup && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_FiltersList["default"], {
|
|
230
238
|
data: data,
|
|
231
|
-
filters: filters.slice(0,
|
|
239
|
+
filters: filters.slice(0, groupAfterMobile),
|
|
232
240
|
hasUrl: hasUrl,
|
|
233
241
|
entity: entity,
|
|
234
242
|
filterValues: filterValues,
|
|
235
243
|
updateFilterValues: updateFilterValues
|
|
236
|
-
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
237
|
-
className:
|
|
244
|
+
}), !!groupAfterMobile && /*#__PURE__*/_react["default"].createElement("button", {
|
|
245
|
+
className: moreFiltersMobileTogglerClass,
|
|
238
246
|
type: "button",
|
|
239
247
|
onClick: function onClick() {
|
|
240
|
-
return
|
|
248
|
+
return setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed);
|
|
249
|
+
}
|
|
250
|
+
}, "Filters"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
251
|
+
className: moreFiltersMobileWrapperClass
|
|
252
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
253
|
+
className: _constants.MORE_FILTERS_CLASSES.MOBILE_CONTENT
|
|
254
|
+
}, /*#__PURE__*/_react["default"].createElement(_FiltersList["default"], {
|
|
255
|
+
data: data,
|
|
256
|
+
filters: filters.slice(groupAfterMobile, groupAfterDesktop ? groupAfterDesktop - 1 : 0),
|
|
257
|
+
hasUrl: hasUrl,
|
|
258
|
+
entity: entity,
|
|
259
|
+
filterValues: filterValues,
|
|
260
|
+
updateFilterValues: updateFilterValues
|
|
261
|
+
}), !!groupAfterDesktop && /*#__PURE__*/_react["default"].createElement("button", {
|
|
262
|
+
className: moreFiltersDesktopTogglerClass,
|
|
263
|
+
type: "button",
|
|
264
|
+
onClick: function onClick() {
|
|
265
|
+
return setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed);
|
|
241
266
|
}
|
|
242
267
|
}, "More filters"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
243
|
-
className:
|
|
268
|
+
className: moreFiltersDesktopWrapperClass
|
|
244
269
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
245
|
-
className:
|
|
270
|
+
className: _constants.MORE_FILTERS_CLASSES.DESKTOP_CONTENT
|
|
246
271
|
}, /*#__PURE__*/_react["default"].createElement(_FiltersList["default"], {
|
|
247
272
|
data: data,
|
|
248
|
-
filters: filters.slice(
|
|
273
|
+
filters: filters.slice(groupAfterDesktop),
|
|
249
274
|
hasUrl: hasUrl,
|
|
250
275
|
entity: entity,
|
|
251
276
|
filterValues: filterValues,
|
|
252
277
|
updateFilterValues: updateFilterValues
|
|
253
278
|
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
254
|
-
className:
|
|
279
|
+
className: _constants.MORE_FILTERS_CLASSES.DESKTOP_BUTTONS
|
|
280
|
+
}, /*#__PURE__*/_react["default"].createElement(_ResetDesktopForm["default"], {
|
|
281
|
+
handleReset: handleReset
|
|
282
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
283
|
+
className: "button button--full-width",
|
|
284
|
+
type: "submit"
|
|
285
|
+
}, _constants.SEARCH)))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
286
|
+
className: _constants.MORE_FILTERS_CLASSES.MOBILE_BUTTONS
|
|
255
287
|
}, /*#__PURE__*/_react["default"].createElement(_ResetDesktopForm["default"], {
|
|
256
288
|
handleReset: handleReset
|
|
257
289
|
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
@@ -285,7 +317,8 @@ SearchFilter.propTypes = {
|
|
|
285
317
|
displaySearchFilter: _propTypes["default"].bool.isRequired,
|
|
286
318
|
setDisplaySearchFilter: _propTypes["default"].func.isRequired,
|
|
287
319
|
isCollapsedOnResponsive: _propTypes["default"].bool.isRequired,
|
|
288
|
-
|
|
320
|
+
groupAfterDesktop: _propTypes["default"].number.isRequired,
|
|
321
|
+
groupAfterMobile: _propTypes["default"].number.isRequired,
|
|
289
322
|
initialFilterValues: _propTypes["default"].object.isRequired
|
|
290
323
|
};
|
|
291
324
|
var _default = SearchFilter;
|
|
@@ -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","groupAfter","isDesktop","setIsDesktop","pageWidth","setPageWidth","moreFiltersCollapsed","setMoreFiltersCollapsed","filterValues","dispatch","window","innerWidth","handleResize","target","addEventListener","removeEventListener","handleSubmit","isDesktopFormDisplayed","isMobileFormDisplayed","formClass","moreFiltersWrapperClass","moreFiltersTogglerClass","formId","handleReset","updateFilterValues","newQuery","e","preventDefault","slice","SEARCH","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 { isDeviceDesktop, buildQuery, getInitialFilterValues } from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE } 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 groupAfter\n}) => {\n const [isDesktop, setIsDesktop] = useState(true);\n const [pageWidth, setPageWidth] = useState(null);\n const [moreFiltersCollapsed, setMoreFiltersCollapsed] = useState(true);\n const [filterValues, dispatch] = useReducer(reducer, initialFilterValues);\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 moreFiltersWrapperClass = classnames('filter__more-filters-wrapper', {\n 'filter__more-filters-wrapper--open': !moreFiltersCollapsed\n });\n\n const moreFiltersTogglerClass = classnames('filter__more-filters-toggler', {\n 'filter__more-filters-toggler--open': !moreFiltersCollapsed\n });\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, shouldSearch) => {\n dispatch({ newValues, shouldSearch, type: 'update' });\n };\n\n const handleSubmit = debounce(newValues => {\n const newQuery = buildQuery(newValues, filters);\n handleSearch(newQuery);\n }, 200);\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 {!groupAfter && (\n <FiltersList\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {!!groupAfter && (\n <>\n <FiltersList\n data={data}\n filters={filters.slice(0, groupAfter)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n <button\n className={moreFiltersTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersCollapsed(!moreFiltersCollapsed)}>\n More filters\n </button>\n\n <div className={moreFiltersWrapperClass}>\n <div className=\"filter__more-filters-content\">\n <FiltersList\n data={data}\n filters={filters.slice(groupAfter)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className=\"filter__more-filters-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 groupAfter: 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","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","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, shouldSearch) => {\n dispatch({ newValues, shouldSearch, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\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 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 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 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 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"}
|
|
@@ -79,7 +79,8 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
79
79
|
filters = _ref.filters,
|
|
80
80
|
name = _ref.name,
|
|
81
81
|
isCollapsedOnResponsive = _ref.isCollapsedOnResponsive,
|
|
82
|
-
|
|
82
|
+
groupAfterMobile = _ref.groupAfterMobile,
|
|
83
|
+
groupAfterDesktop = _ref.groupAfterDesktop;
|
|
83
84
|
var router = (0, _router.useRouter)();
|
|
84
85
|
var searchFilterRef = (0, _react.useRef)(null);
|
|
85
86
|
|
|
@@ -139,15 +140,18 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
139
140
|
error = _useQuery.error,
|
|
140
141
|
loading = _useQuery.loading;
|
|
141
142
|
|
|
142
|
-
if (loading
|
|
143
|
+
if (loading) return null;
|
|
143
144
|
if (error) return error.message;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
var
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
145
|
+
if (!filters.length) return null;
|
|
146
|
+
|
|
147
|
+
var _ref3 = data || {},
|
|
148
|
+
_ref3$searchPublished = _ref3.searchPublishedContent;
|
|
149
|
+
|
|
150
|
+
_ref3$searchPublished = _ref3$searchPublished === void 0 ? {} : _ref3$searchPublished;
|
|
151
|
+
var _ref3$searchPublished2 = _ref3$searchPublished.rawResults;
|
|
152
|
+
_ref3$searchPublished2 = _ref3$searchPublished2 === void 0 ? {} : _ref3$searchPublished2;
|
|
153
|
+
var _ref3$searchPublished3 = _ref3$searchPublished2.aggregations,
|
|
154
|
+
filterData = _ref3$searchPublished3 === void 0 ? {} : _ref3$searchPublished3;
|
|
151
155
|
var initialFilterValues = (0, _helpers.getInitialFilterValues)(filterData, filters, query);
|
|
152
156
|
|
|
153
157
|
var handleSearch = function handleSearch(newQuery) {
|
|
@@ -201,7 +205,8 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
201
205
|
isCollapsedOnResponsive: isCollapsedOnResponsive,
|
|
202
206
|
displaySearchFilter: displaySearchFilter,
|
|
203
207
|
setDisplaySearchFilter: setDisplaySearchFilter,
|
|
204
|
-
|
|
208
|
+
groupAfterMobile: groupAfterMobile,
|
|
209
|
+
groupAfterDesktop: groupAfterDesktop
|
|
205
210
|
});
|
|
206
211
|
};
|
|
207
212
|
|
|
@@ -211,14 +216,16 @@ SearchFilterContainer.propTypes = {
|
|
|
211
216
|
filters: _propTypes["default"].array,
|
|
212
217
|
name: _propTypes["default"].string.isRequired,
|
|
213
218
|
isCollapsedOnResponsive: _propTypes["default"].bool,
|
|
214
|
-
|
|
219
|
+
groupAfterMobile: _propTypes["default"].number,
|
|
220
|
+
groupAfterDesktop: _propTypes["default"].number
|
|
215
221
|
};
|
|
216
222
|
SearchFilterContainer.defaultProps = {
|
|
217
223
|
url: null,
|
|
218
224
|
filters: [],
|
|
219
225
|
entity: '',
|
|
220
226
|
isCollapsedOnResponsive: true,
|
|
221
|
-
|
|
227
|
+
groupAfterMobile: 0,
|
|
228
|
+
groupAfterDesktop: 0
|
|
222
229
|
};
|
|
223
230
|
|
|
224
231
|
var _default = (0, _HOC.withTitle)(SearchFilterContainer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"names":["SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"names":["SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","router","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","hasUrl","asPath","currentUrl","query","sort","sortby","sortValues","baseQuery","action","RAW_RESULTS","rawQueryStringified","checkboxSelectValues","rangeValues","forEach","type","propsToDisplay","CHECKBOX_SELECT","includes","push","RANGE","docType","variables","limit","skip","data","error","loading","message","length","searchPublishedContent","rawResults","aggregations","filterData","initialFilterValues","handleSearch","newQuery","scrollToFirstList","shallow","scroll","then","Date","now","newUrl","document","getElementsByClassName","list","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","SCROLL_OFFSET","getBoundingClientRect","propTypes","PropTypes","string","array","isRequired","bool","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useState, useRef } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n getInitialFilterValues,\n decodeValue\n} from './helpers';\n\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop\n}) => {\n const router = useRouter();\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const hasUrl = !!url;\n const {\n url: currentUrl,\n query: { sort, sortby },\n query\n } = parseUrl(decodeValue(router.asPath));\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n\n let rawQueryStringified = '';\n\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n rawQueryStringified = buildRawQueryStringified(checkboxSelectValues, rangeValues, docType);\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (loading) return null;\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData = {} } = {} } = {} } =\n data || {};\n\n const initialFilterValues = getInitialFilterValues(filterData, filters, query);\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n\n if (!newQuery) {\n scrollToFirstList();\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues);\n scrollToFirstList();\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !hasUrl && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n return (\n <SearchFilter\n key={key}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n initialFilterValues={initialFilterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"file":"SearchFilterContainer.js"}
|
|
@@ -5,7 +5,7 @@ require("core-js/modules/es.object.define-property.js");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.UPDATED_RANGES = exports.UP = exports.TEXT_SEARCH = exports.TABLET_WIDTH = exports.SIZE = exports.SELECT = exports.SEARCH_TERM = exports.SEARCH = exports.RESET = exports.REFINE = exports.RAW_RESULTS = exports.RANGE = exports.MORE = exports.MOBILE_REFINEMENT_TITLE = exports.MIN_VALUE = exports.MAX_VALUE = exports.LIMIT_MIN = exports.LIMIT_MAX = exports.LESS = exports.KEYWORD = exports.DOWN = exports.DEFAULT_VALUES = exports.DEFAULT_OPTION = exports.CHECKBOX_SELECT = exports.CHECKBOX = void 0;
|
|
8
|
+
exports.UPDATED_RANGES = exports.UP = exports.TEXT_SEARCH = exports.TABLET_WIDTH = exports.SIZE = exports.SELECT = exports.SEARCH_TERM = exports.SEARCH = exports.RESET = exports.REFINE = exports.RAW_RESULTS = exports.RANGE = exports.MORE_FILTERS_CLASSES = exports.MORE = exports.MOBILE_REFINEMENT_TITLE = exports.MIN_VALUE = exports.MAX_VALUE = exports.LIMIT_MIN = exports.LIMIT_MAX = exports.LESS = exports.KEYWORD = exports.DOWN = exports.DEFAULT_VALUES = exports.DEFAULT_OPTION = exports.CHECKBOX_SELECT = exports.CHECKBOX = void 0;
|
|
9
9
|
var CHECKBOX = 'checkbox';
|
|
10
10
|
exports.CHECKBOX = CHECKBOX;
|
|
11
11
|
var SELECT = 'select';
|
|
@@ -56,4 +56,16 @@ var REFINE = "Refine Search";
|
|
|
56
56
|
exports.REFINE = REFINE;
|
|
57
57
|
var MOBILE_REFINEMENT_TITLE = 'Search refinement';
|
|
58
58
|
exports.MOBILE_REFINEMENT_TITLE = MOBILE_REFINEMENT_TITLE;
|
|
59
|
+
var MORE_FILTERS_CLASSES_BASE = 'filter__more-filters';
|
|
60
|
+
var MORE_FILTERS_CLASSES = {
|
|
61
|
+
MOBILE_WRAPPER: "".concat(MORE_FILTERS_CLASSES_BASE, "-mobile-wrapper"),
|
|
62
|
+
MOBILE_CONTENT: "".concat(MORE_FILTERS_CLASSES_BASE, "-mobile-content"),
|
|
63
|
+
MOBILE_TOGGLER: "".concat(MORE_FILTERS_CLASSES_BASE, "-mobile-toggler"),
|
|
64
|
+
MOBILE_BUTTONS: "".concat(MORE_FILTERS_CLASSES_BASE, "-mobile-buttons"),
|
|
65
|
+
DESKTOP_WRAPPER: "".concat(MORE_FILTERS_CLASSES_BASE, "-desktop-wrapper"),
|
|
66
|
+
DESKTOP_CONTENT: "".concat(MORE_FILTERS_CLASSES_BASE, "-desktop-content"),
|
|
67
|
+
DESKTOP_TOGGLER: "".concat(MORE_FILTERS_CLASSES_BASE, "-desktop-toggler"),
|
|
68
|
+
DESKTOP_BUTTONS: "".concat(MORE_FILTERS_CLASSES_BASE, "-desktop-buttons")
|
|
69
|
+
};
|
|
70
|
+
exports.MORE_FILTERS_CLASSES = MORE_FILTERS_CLASSES;
|
|
59
71
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SearchFilter/constants.js"],"names":["CHECKBOX","SELECT","TEXT_SEARCH","SEARCH_TERM","SIZE","KEYWORD","RAW_RESULTS","DEFAULT_OPTION","DEFAULT_VALUES","RANGE","CHECKBOX_SELECT","LIMIT_MIN","LIMIT_MAX","MORE","LESS","DOWN","UP","UPDATED_RANGES","MIN_VALUE","MAX_VALUE","TABLET_WIDTH","RESET","SEARCH","REFINE","MOBILE_REFINEMENT_TITLE"],"mappings":";;;;;;;;AAAA,IAAMA,QAAQ,GAAG,UAAjB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAG,EAAb;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,WAAW,GAAG,YAApB;;AACA,IAAMC,cAAc,GAAG,KAAvB;;AACA,IAAMC,cAAc,GAAG,CAAC,KAAD,EAAQ,kBAAR,CAAvB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,eAAe,GAAG,CAAC,UAAD,EAAa,QAAb,CAAxB;;AACA,IAAMC,SAAS,GAAG,CAAlB;;AACA,IAAMC,SAAS,GAAG,IAAlB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,EAAE,GAAG,IAAX;;AACA,IAAMC,cAAc,GAAG,gBAAvB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,YAAY,GAAG,GAArB;;AACA,IAAMC,KAAK,GAAG,mBAAd;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,MAAM,kBAAZ;;AACA,IAAMC,uBAAuB,GAAG,mBAAhC","sourcesContent":["const CHECKBOX = 'checkbox';\nconst SELECT = 'select';\nconst TEXT_SEARCH = 'text-search';\nconst SEARCH_TERM = 'search_term';\nconst SIZE = 50;\nconst KEYWORD = 'keyword';\nconst RAW_RESULTS = 'rawResults';\nconst DEFAULT_OPTION = 'Any';\nconst DEFAULT_VALUES = ['Any', 'Please Choose...'];\nconst RANGE = 'range';\nconst CHECKBOX_SELECT = ['checkbox', 'select'];\nconst LIMIT_MIN = 5;\nconst LIMIT_MAX = 1000;\nconst MORE = 'more';\nconst LESS = 'less';\nconst DOWN = 'down';\nconst UP = 'up';\nconst UPDATED_RANGES = 'updated_ranges';\nconst MIN_VALUE = 'min-value';\nconst MAX_VALUE = 'max-value';\nconst TABLET_WIDTH = 768;\nconst RESET = 'Reset all filters';\nconst SEARCH = 'Search';\nconst REFINE = `Refine Search`;\nconst MOBILE_REFINEMENT_TITLE = 'Search refinement';\n\nexport {\n CHECKBOX,\n SELECT,\n TEXT_SEARCH,\n SEARCH_TERM,\n SIZE,\n KEYWORD,\n RAW_RESULTS,\n DEFAULT_OPTION,\n DEFAULT_VALUES,\n RANGE,\n CHECKBOX_SELECT,\n LIMIT_MIN,\n LIMIT_MAX,\n MORE,\n LESS,\n DOWN,\n UP,\n UPDATED_RANGES,\n MIN_VALUE,\n MAX_VALUE,\n TABLET_WIDTH,\n RESET,\n SEARCH,\n REFINE,\n MOBILE_REFINEMENT_TITLE\n};\n"],"file":"constants.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SearchFilter/constants.js"],"names":["CHECKBOX","SELECT","TEXT_SEARCH","SEARCH_TERM","SIZE","KEYWORD","RAW_RESULTS","DEFAULT_OPTION","DEFAULT_VALUES","RANGE","CHECKBOX_SELECT","LIMIT_MIN","LIMIT_MAX","MORE","LESS","DOWN","UP","UPDATED_RANGES","MIN_VALUE","MAX_VALUE","TABLET_WIDTH","RESET","SEARCH","REFINE","MOBILE_REFINEMENT_TITLE","MORE_FILTERS_CLASSES_BASE","MORE_FILTERS_CLASSES","MOBILE_WRAPPER","MOBILE_CONTENT","MOBILE_TOGGLER","MOBILE_BUTTONS","DESKTOP_WRAPPER","DESKTOP_CONTENT","DESKTOP_TOGGLER","DESKTOP_BUTTONS"],"mappings":";;;;;;;;AAAA,IAAMA,QAAQ,GAAG,UAAjB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAG,EAAb;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,WAAW,GAAG,YAApB;;AACA,IAAMC,cAAc,GAAG,KAAvB;;AACA,IAAMC,cAAc,GAAG,CAAC,KAAD,EAAQ,kBAAR,CAAvB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,eAAe,GAAG,CAAC,UAAD,EAAa,QAAb,CAAxB;;AACA,IAAMC,SAAS,GAAG,CAAlB;;AACA,IAAMC,SAAS,GAAG,IAAlB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,EAAE,GAAG,IAAX;;AACA,IAAMC,cAAc,GAAG,gBAAvB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,YAAY,GAAG,GAArB;;AACA,IAAMC,KAAK,GAAG,mBAAd;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,MAAM,kBAAZ;;AACA,IAAMC,uBAAuB,GAAG,mBAAhC;;AAEA,IAAMC,yBAAyB,GAAG,sBAAlC;AACA,IAAMC,oBAAoB,GAAG;AAC3BC,EAAAA,cAAc,YAAKF,yBAAL,oBADa;AAE3BG,EAAAA,cAAc,YAAKH,yBAAL,oBAFa;AAG3BI,EAAAA,cAAc,YAAKJ,yBAAL,oBAHa;AAI3BK,EAAAA,cAAc,YAAKL,yBAAL,oBAJa;AAK3BM,EAAAA,eAAe,YAAKN,yBAAL,qBALY;AAM3BO,EAAAA,eAAe,YAAKP,yBAAL,qBANY;AAO3BQ,EAAAA,eAAe,YAAKR,yBAAL,qBAPY;AAQ3BS,EAAAA,eAAe,YAAKT,yBAAL;AARY,CAA7B","sourcesContent":["const CHECKBOX = 'checkbox';\nconst SELECT = 'select';\nconst TEXT_SEARCH = 'text-search';\nconst SEARCH_TERM = 'search_term';\nconst SIZE = 50;\nconst KEYWORD = 'keyword';\nconst RAW_RESULTS = 'rawResults';\nconst DEFAULT_OPTION = 'Any';\nconst DEFAULT_VALUES = ['Any', 'Please Choose...'];\nconst RANGE = 'range';\nconst CHECKBOX_SELECT = ['checkbox', 'select'];\nconst LIMIT_MIN = 5;\nconst LIMIT_MAX = 1000;\nconst MORE = 'more';\nconst LESS = 'less';\nconst DOWN = 'down';\nconst UP = 'up';\nconst UPDATED_RANGES = 'updated_ranges';\nconst MIN_VALUE = 'min-value';\nconst MAX_VALUE = 'max-value';\nconst TABLET_WIDTH = 768;\nconst RESET = 'Reset all filters';\nconst SEARCH = 'Search';\nconst REFINE = `Refine Search`;\nconst MOBILE_REFINEMENT_TITLE = 'Search refinement';\n\nconst MORE_FILTERS_CLASSES_BASE = 'filter__more-filters';\nconst MORE_FILTERS_CLASSES = {\n MOBILE_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-mobile-wrapper`,\n MOBILE_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-mobile-content`,\n MOBILE_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-mobile-toggler`,\n MOBILE_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-mobile-buttons`,\n DESKTOP_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-desktop-wrapper`,\n DESKTOP_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-desktop-content`,\n DESKTOP_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-desktop-toggler`,\n DESKTOP_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-desktop-buttons`\n};\n\nexport {\n CHECKBOX,\n SELECT,\n TEXT_SEARCH,\n SEARCH_TERM,\n SIZE,\n KEYWORD,\n RAW_RESULTS,\n DEFAULT_OPTION,\n DEFAULT_VALUES,\n RANGE,\n CHECKBOX_SELECT,\n LIMIT_MIN,\n LIMIT_MAX,\n MORE,\n LESS,\n DOWN,\n UP,\n UPDATED_RANGES,\n MIN_VALUE,\n MAX_VALUE,\n TABLET_WIDTH,\n RESET,\n SEARCH,\n REFINE,\n MOBILE_REFINEMENT_TITLE,\n MORE_FILTERS_CLASSES\n};\n"],"file":"constants.js"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _classnames5 = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
16
|
+
var _constants = require("../constants");
|
|
17
|
+
|
|
18
|
+
var getResponsiveFilterClassnames = function getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed) {
|
|
19
|
+
return {
|
|
20
|
+
moreFiltersMobileWrapperClass: (0, _classnames5["default"])(_constants.MORE_FILTERS_CLASSES.MOBILE_WRAPPER, (0, _defineProperty2["default"])({}, "".concat(_constants.MORE_FILTERS_CLASSES.MOBILE_WRAPPER, "--open"), !moreFiltersMobileCollapsed)),
|
|
21
|
+
moreFiltersMobileTogglerClass: (0, _classnames5["default"])(_constants.MORE_FILTERS_CLASSES.MOBILE_TOGGLER, (0, _defineProperty2["default"])({}, "".concat(_constants.MORE_FILTERS_CLASSES.MOBILE_TOGGLER, "--open"), !moreFiltersMobileCollapsed)),
|
|
22
|
+
moreFiltersDesktopWrapperClass: (0, _classnames5["default"])(_constants.MORE_FILTERS_CLASSES.DESKTOP_WRAPPER, (0, _defineProperty2["default"])({}, "".concat(_constants.MORE_FILTERS_CLASSES.DESKTOP_WRAPPER, "--open"), !moreFiltersDesktopCollapsed)),
|
|
23
|
+
moreFiltersDesktopTogglerClass: (0, _classnames5["default"])(_constants.MORE_FILTERS_CLASSES.DESKTOP_TOGGLER, (0, _defineProperty2["default"])({}, "".concat(_constants.MORE_FILTERS_CLASSES.DESKTOP_TOGGLER, "--open"), !moreFiltersDesktopCollapsed))
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var _default = getResponsiveFilterClassnames;
|
|
28
|
+
exports["default"] = _default;
|
|
29
|
+
//# sourceMappingURL=get-responsive-filter-classnames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SearchFilter/helpers/get-responsive-filter-classnames.js"],"names":["getResponsiveFilterClassnames","moreFiltersDesktopCollapsed","moreFiltersMobileCollapsed","moreFiltersMobileWrapperClass","MORE_FILTERS_CLASSES","MOBILE_WRAPPER","moreFiltersMobileTogglerClass","MOBILE_TOGGLER","moreFiltersDesktopWrapperClass","DESKTOP_WRAPPER","moreFiltersDesktopTogglerClass","DESKTOP_TOGGLER"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,6BAA6B,GAAG,SAAhCA,6BAAgC,CACpCC,2BADoC,EAEpCC,0BAFoC;AAAA,SAGhC;AACJC,IAAAA,6BAA6B,EAAE,6BAAWC,gCAAqBC,cAAhC,iDACzBD,gCAAqBC,cADI,aACqB,CAACH,0BADtB,EAD3B;AAIJI,IAAAA,6BAA6B,EAAE,6BAAWF,gCAAqBG,cAAhC,iDACzBH,gCAAqBG,cADI,aACqB,CAACL,0BADtB,EAJ3B;AAOJM,IAAAA,8BAA8B,EAAE,6BAAWJ,gCAAqBK,eAAhC,iDAC1BL,gCAAqBK,eADK,aACqB,CAACR,2BADtB,EAP5B;AAUJS,IAAAA,8BAA8B,EAAE,6BAAWN,gCAAqBO,eAAhC,iDAC1BP,gCAAqBO,eADK,aACqB,CAACV,2BADtB;AAV5B,GAHgC;AAAA,CAAtC;;eAkBeD,6B","sourcesContent":["import classnames from 'classnames';\nimport { MORE_FILTERS_CLASSES } from '../constants';\n\nconst getResponsiveFilterClassnames = (\n moreFiltersDesktopCollapsed,\n moreFiltersMobileCollapsed\n) => ({\n moreFiltersMobileWrapperClass: classnames(MORE_FILTERS_CLASSES.MOBILE_WRAPPER, {\n [`${MORE_FILTERS_CLASSES.MOBILE_WRAPPER}--open`]: !moreFiltersMobileCollapsed\n }),\n moreFiltersMobileTogglerClass: classnames(MORE_FILTERS_CLASSES.MOBILE_TOGGLER, {\n [`${MORE_FILTERS_CLASSES.MOBILE_TOGGLER}--open`]: !moreFiltersMobileCollapsed\n }),\n moreFiltersDesktopWrapperClass: classnames(MORE_FILTERS_CLASSES.DESKTOP_WRAPPER, {\n [`${MORE_FILTERS_CLASSES.DESKTOP_WRAPPER}--open`]: !moreFiltersDesktopCollapsed\n }),\n moreFiltersDesktopTogglerClass: classnames(MORE_FILTERS_CLASSES.DESKTOP_TOGGLER, {\n [`${MORE_FILTERS_CLASSES.DESKTOP_TOGGLER}--open`]: !moreFiltersDesktopCollapsed\n })\n});\n\nexport default getResponsiveFilterClassnames;\n"],"file":"get-responsive-filter-classnames.js"}
|
|
@@ -85,6 +85,12 @@ Object.defineProperty(exports, "getRangeValue", {
|
|
|
85
85
|
return _getRangeValue["default"];
|
|
86
86
|
}
|
|
87
87
|
});
|
|
88
|
+
Object.defineProperty(exports, "getResponsiveFilterClassnames", {
|
|
89
|
+
enumerable: true,
|
|
90
|
+
get: function get() {
|
|
91
|
+
return _getResponsiveFilterClassnames["default"];
|
|
92
|
+
}
|
|
93
|
+
});
|
|
88
94
|
Object.defineProperty(exports, "getSelectOptions", {
|
|
89
95
|
enumerable: true,
|
|
90
96
|
get: function get() {
|
|
@@ -106,6 +112,8 @@ var _decodeEncode = require("./decode-encode");
|
|
|
106
112
|
|
|
107
113
|
var _checkIfRangeUpdated = _interopRequireDefault(require("./check-if-range-updated"));
|
|
108
114
|
|
|
115
|
+
var _getResponsiveFilterClassnames = _interopRequireDefault(require("./get-responsive-filter-classnames"));
|
|
116
|
+
|
|
109
117
|
var _getDisplayValue = _interopRequireDefault(require("./get-display-value"));
|
|
110
118
|
|
|
111
119
|
var _calculateStep = _interopRequireDefault(require("./calculate-step"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SearchFilter/helpers/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SearchFilter/helpers/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import buildNewQuery from './build-new-query';\nimport buildRawQueryStringified from './build-raw-query-stringified';\nimport { decodeValue, encodeValue } from './decode-encode';\nimport checkIfRangeUpdated from './check-if-range-updated';\nimport getResponsiveFilterClassnames from './get-responsive-filter-classnames';\nimport getDisplayValue from './get-display-value';\nimport calculateStep from './calculate-step';\nimport calculateMinMax from './calculate-min-max';\nimport getIntersectedProp from './get-intersected-prop';\nimport getRangeValue from './get-range-value';\nimport getSelectOptions from './get-select-options';\nimport isDeviceDesktop from './is-device-desktop';\nimport getInitialFilterValues from './get-initial-filter-values';\nimport getFilterValueFromQuery from './get-filter-value-from-query';\nimport buildQuery from './build-query';\n\nexport {\n buildQuery,\n buildNewQuery,\n buildRawQueryStringified,\n decodeValue,\n encodeValue,\n checkIfRangeUpdated,\n getResponsiveFilterClassnames,\n getDisplayValue,\n calculateStep,\n calculateMinMax,\n getIntersectedProp,\n getRangeValue,\n getSelectOptions,\n isDeviceDesktop,\n getInitialFilterValues,\n getFilterValueFromQuery\n};\n"],"file":"index.js"}
|