@blaze-cms/react-page-builder 0.146.0-alpha.21 → 0.146.0-alpha.23
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 +11 -0
- package/lib/components/SearchFilter/SearchFilterContainer.js +2 -1
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib/components/SearchFilter/helpers/get-range-value.js +9 -7
- package/lib/components/SearchFilter/helpers/get-range-value.js.map +1 -1
- package/lib/helpers/build-search-values-checkbox-select.js +1 -0
- package/lib/helpers/build-search-values-checkbox-select.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +2 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/get-range-value.js +9 -7
- package/lib-es/components/SearchFilter/helpers/get-range-value.js.map +1 -1
- package/lib-es/helpers/build-search-values-checkbox-select.js +1 -0
- package/lib-es/helpers/build-search-values-checkbox-select.js.map +1 -1
- package/package.json +2 -2
- package/src/components/SearchFilter/SearchFilterContainer.js +3 -1
- package/src/components/SearchFilter/helpers/get-range-value.js +10 -8
- package/src/helpers/build-search-values-checkbox-select.js +1 -0
- package/tests/unit/src/components/SearchFilter/__snapshots__/SearchFilterContainer.test.js.snap +1 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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.146.0-alpha.23](https://github.com/thebyte9/blaze/compare/v0.146.0-alpha.22...v0.146.0-alpha.23) (2024-12-03)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* fixed nan values on ranges ([#4582](https://github.com/thebyte9/blaze/issues/4582)) ([963ceec](https://github.com/thebyte9/blaze/commit/963ceec6b1eea027cb36b9358f7dee5e91e852ce))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [0.146.0-alpha.21](https://github.com/thebyte9/blaze/compare/v0.146.0-alpha.20...v0.146.0-alpha.21) (2024-11-27)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
@@ -78,10 +78,11 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
78
78
|
var parentId = parent.itemId,
|
|
79
79
|
parentEntity = parent.itemEntity;
|
|
80
80
|
(0, _react.useEffect)(function () {
|
|
81
|
+
if (asPath === urlPath) return;
|
|
81
82
|
var _parseUrl2 = (0, _queryString.parseUrl)(asPath),
|
|
82
83
|
newQuery = _parseUrl2.query;
|
|
83
84
|
var updatedNewQuery = (0, _helpers.buildListNameQuery)(newQuery, listComponentName);
|
|
84
|
-
var newValues = (0, _helpers.getFilterValues)(
|
|
85
|
+
var newValues = (0, _helpers.getFilterValues)(filterData, filters, updatedNewQuery);
|
|
85
86
|
if (newValues) dispatch({
|
|
86
87
|
newValues: newValues,
|
|
87
88
|
shouldSearch: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFilterContainer.js","names":["_react","_interopRequireWildcard","require","_nextjsComponents","_router","_client","_propTypes","_interopRequireDefault","_queryString","_SearchFilter","_HOC","_query","_helpers","_helpers2","_constants","_constants2","_searchFilterReducer","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","SearchFilterContainer","_ref","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","mobileRefineButtonText","_useContext","useContext","MainContext","isPreview","router","useRouter","asPath","searchFilterRef","useRef","_useState","useState","concat","_useState2","_slicedToArray2","key","setKey","_useState3","_useState4","displaySearchFilter","setDisplaySearchFilter","_useState5","_useState6","urlPath","setUrlPath","_useReducer","useReducer","searchFilterReducer","_useReducer2","filterValues","dispatch","_parseUrl","parseUrl","currentUrl","query","updatedQuery","buildListNameQuery","parentId","itemId","parentEntity","itemEntity","useEffect","_parseUrl2","newQuery","updatedNewQuery","newValues","getFilterValues","shouldSearch","type","_useGetEntitySchemasA","useGetEntitySchemasAsObj","_useGetEntitySchemasA2","data","mainSchemas","schemasLoading","loading","_mainSchemas$parentEn","parentSchema","_mainSchemas$entity","filterEntitySchema","_ref2","_ref2$actions","actions","getAction","getPublished","inheritedFilters","getInheritedFilters","queryProps","getQueryProps","_useQuery","useQuery","generateSingleItemQuery","variables","id","skip","length","_useQuery$data","_useQuery$data2","parentData","entityData","parentQueryLoading","_getUpdatedFilterBy","getUpdatedFilterBy","updatedFilterBy","updatedFilterByProperty","action","getSearchPublishedContent","RAW_RESULTS","_getFilterRangesAndCh","getFilterRangesAndCheckboxesValues","_getFilterRangesAndCh2","checkboxSelectValues","rangeValues","_getEntityData","getEntityData","docType","filtersQuery","buildFiltersQuery","queryKeys","keys","rawQueryStringified","buildRawQueryStringified","_useQuery2","limit","error","message","_ref3","_ref3$searchPublished","searchPublishedContent","_ref3$searchPublished2","_ref3$searchPublished3","rawResults","_ref3$searchPublished4","filterData","aggregations","handleSearch","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","buildNewUrl","_document$getElements","document","getElementsByClassName","_document$getElements2","list","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","SCROLL_OFFSET","getBoundingClientRect","createElement","setAppliedFilters","hasUrl","propTypes","PropTypes","string","array","isRequired","bool","number","object","defaultProps","_default","exports","withTitle"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildListNameQuery\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent,\n mobileRefineButtonText\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = buildListNameQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues({}, filters, updatedNewQuery);\n if (newValues)\n dispatch({\n newValues,\n shouldSearch: false,\n type: 'update'\n });\n setUrlPath(asPath);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [asPath]\n );\n\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\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 || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && 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 if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n mobileRefineButtonText={mobileRefineButtonText}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n mobileRefineButtonText: PropTypes.string,\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 filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {},\n mobileRefineButtonText: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SearchFilterContainer.js","names":["_react","_interopRequireWildcard","require","_nextjsComponents","_router","_client","_propTypes","_interopRequireDefault","_queryString","_SearchFilter","_HOC","_query","_helpers","_helpers2","_constants","_constants2","_searchFilterReducer","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","SearchFilterContainer","_ref","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","mobileRefineButtonText","_useContext","useContext","MainContext","isPreview","router","useRouter","asPath","searchFilterRef","useRef","_useState","useState","concat","_useState2","_slicedToArray2","key","setKey","_useState3","_useState4","displaySearchFilter","setDisplaySearchFilter","_useState5","_useState6","urlPath","setUrlPath","_useReducer","useReducer","searchFilterReducer","_useReducer2","filterValues","dispatch","_parseUrl","parseUrl","currentUrl","query","updatedQuery","buildListNameQuery","parentId","itemId","parentEntity","itemEntity","useEffect","_parseUrl2","newQuery","updatedNewQuery","newValues","getFilterValues","filterData","shouldSearch","type","_useGetEntitySchemasA","useGetEntitySchemasAsObj","_useGetEntitySchemasA2","data","mainSchemas","schemasLoading","loading","_mainSchemas$parentEn","parentSchema","_mainSchemas$entity","filterEntitySchema","_ref2","_ref2$actions","actions","getAction","getPublished","inheritedFilters","getInheritedFilters","queryProps","getQueryProps","_useQuery","useQuery","generateSingleItemQuery","variables","id","skip","length","_useQuery$data","_useQuery$data2","parentData","entityData","parentQueryLoading","_getUpdatedFilterBy","getUpdatedFilterBy","updatedFilterBy","updatedFilterByProperty","action","getSearchPublishedContent","RAW_RESULTS","_getFilterRangesAndCh","getFilterRangesAndCheckboxesValues","_getFilterRangesAndCh2","checkboxSelectValues","rangeValues","_getEntityData","getEntityData","docType","filtersQuery","buildFiltersQuery","queryKeys","keys","rawQueryStringified","buildRawQueryStringified","_useQuery2","limit","error","message","_ref3","_ref3$searchPublished","searchPublishedContent","_ref3$searchPublished2","_ref3$searchPublished3","rawResults","_ref3$searchPublished4","aggregations","handleSearch","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","buildNewUrl","_document$getElements","document","getElementsByClassName","_document$getElements2","list","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","SCROLL_OFFSET","getBoundingClientRect","createElement","setAppliedFilters","hasUrl","propTypes","PropTypes","string","array","isRequired","bool","number","object","defaultProps","_default","exports","withTitle"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildListNameQuery\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent,\n mobileRefineButtonText\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = buildListNameQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n if (asPath === urlPath) return;\n\n const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues(filterData, filters, updatedNewQuery);\n if (newValues)\n dispatch({\n newValues,\n shouldSearch: false,\n type: 'update'\n });\n setUrlPath(asPath);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [asPath]\n );\n\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\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 || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && 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 if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n mobileRefineButtonText={mobileRefineButtonText}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n mobileRefineButtonText: PropTypes.string,\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 filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {},\n mobileRefineButtonText: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,6 +18,13 @@ var getRangeValue = function getRangeValue(rawQueryProp, rangeInterval, _min, _m
|
|
|
18
18
|
}, rangeInterval),
|
|
19
19
|
min = _calculateMinMax.min,
|
|
20
20
|
max = _calculateMinMax.max;
|
|
21
|
+
var defaultValues = {
|
|
22
|
+
max: max,
|
|
23
|
+
min: min,
|
|
24
|
+
step: rangeInterval,
|
|
25
|
+
maxValue: max,
|
|
26
|
+
minValue: min
|
|
27
|
+
};
|
|
21
28
|
if (rawQueryProp) {
|
|
22
29
|
var _ref = Array.isArray(rawQueryProp) ? rawQueryProp[0].split('-') : rawQueryProp.split('-'),
|
|
23
30
|
_ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
@@ -25,6 +32,7 @@ var getRangeValue = function getRangeValue(rawQueryProp, rangeInterval, _min, _m
|
|
|
25
32
|
queryParamMax = _ref2[1];
|
|
26
33
|
var updatedMinValue = Number(queryParamMin);
|
|
27
34
|
var updatedMaxValue = Number(queryParamMax);
|
|
35
|
+
if (Number.isNaN(updatedMinValue) || Number.isNaN(updatedMaxValue)) return defaultValues;
|
|
28
36
|
return {
|
|
29
37
|
min: Number.isNaN(min) ? updatedMinValue : min,
|
|
30
38
|
max: Number.isNaN(max) ? updatedMaxValue : max,
|
|
@@ -33,13 +41,7 @@ var getRangeValue = function getRangeValue(rawQueryProp, rangeInterval, _min, _m
|
|
|
33
41
|
minValue: updatedMinValue
|
|
34
42
|
};
|
|
35
43
|
}
|
|
36
|
-
return
|
|
37
|
-
max: max,
|
|
38
|
-
min: min,
|
|
39
|
-
step: rangeInterval,
|
|
40
|
-
maxValue: max,
|
|
41
|
-
minValue: min
|
|
42
|
-
};
|
|
44
|
+
return defaultValues;
|
|
43
45
|
};
|
|
44
46
|
var _default = exports["default"] = getRangeValue;
|
|
45
47
|
//# sourceMappingURL=get-range-value.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-range-value.js","names":["_calculateMinMax2","_interopRequireDefault","require","getRangeValue","rawQueryProp","rangeInterval","_min","_max","_calculateMinMax","calculateMinMax","min","max","_ref","Array","isArray","split","_ref2","_slicedToArray2","queryParamMin","queryParamMax","updatedMinValue","Number","updatedMaxValue","isNaN","
|
|
1
|
+
{"version":3,"file":"get-range-value.js","names":["_calculateMinMax2","_interopRequireDefault","require","getRangeValue","rawQueryProp","rangeInterval","_min","_max","_calculateMinMax","calculateMinMax","min","max","defaultValues","step","maxValue","minValue","_ref","Array","isArray","split","_ref2","_slicedToArray2","queryParamMin","queryParamMax","updatedMinValue","Number","updatedMaxValue","isNaN","_default","exports"],"sources":["../../../../src/components/SearchFilter/helpers/get-range-value.js"],"sourcesContent":["import calculateMinMax from './calculate-min-max';\n\nconst getRangeValue = (rawQueryProp, rangeInterval, _min, _max) => {\n const { min, max } = calculateMinMax({ min: _min, max: _max }, rangeInterval);\n const defaultValues = {\n max,\n min,\n step: rangeInterval,\n maxValue: max,\n minValue: min\n };\n if (rawQueryProp) {\n const [queryParamMin, queryParamMax] = Array.isArray(rawQueryProp)\n ? rawQueryProp[0].split('-')\n : rawQueryProp.split('-');\n const updatedMinValue = Number(queryParamMin);\n const updatedMaxValue = Number(queryParamMax);\n\n if (Number.isNaN(updatedMinValue) || Number.isNaN(updatedMaxValue)) return defaultValues;\n\n return {\n min: Number.isNaN(min) ? updatedMinValue : min,\n max: Number.isNaN(max) ? updatedMaxValue : max,\n step: rangeInterval,\n maxValue: updatedMaxValue,\n minValue: updatedMinValue\n };\n }\n\n return defaultValues;\n};\n\nexport default getRangeValue;\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,YAAY,EAAEC,aAAa,EAAEC,IAAI,EAAEC,IAAI,EAAK;EACjE,IAAAC,gBAAA,GAAqB,IAAAC,4BAAe,EAAC;MAAEC,GAAG,EAAEJ,IAAI;MAAEK,GAAG,EAAEJ;IAAK,CAAC,EAAEF,aAAa,CAAC;IAArEK,GAAG,GAAAF,gBAAA,CAAHE,GAAG;IAAEC,GAAG,GAAAH,gBAAA,CAAHG,GAAG;EAChB,IAAMC,aAAa,GAAG;IACpBD,GAAG,EAAHA,GAAG;IACHD,GAAG,EAAHA,GAAG;IACHG,IAAI,EAAER,aAAa;IACnBS,QAAQ,EAAEH,GAAG;IACbI,QAAQ,EAAEL;EACZ,CAAC;EACD,IAAIN,YAAY,EAAE;IAChB,IAAAY,IAAA,GAAuCC,KAAK,CAACC,OAAO,CAACd,YAAY,CAAC,GAC9DA,YAAY,CAAC,CAAC,CAAC,CAACe,KAAK,CAAC,GAAG,CAAC,GAC1Bf,YAAY,CAACe,KAAK,CAAC,GAAG,CAAC;MAAAC,KAAA,OAAAC,eAAA,aAAAL,IAAA;MAFpBM,aAAa,GAAAF,KAAA;MAAEG,aAAa,GAAAH,KAAA;IAGnC,IAAMI,eAAe,GAAGC,MAAM,CAACH,aAAa,CAAC;IAC7C,IAAMI,eAAe,GAAGD,MAAM,CAACF,aAAa,CAAC;IAE7C,IAAIE,MAAM,CAACE,KAAK,CAACH,eAAe,CAAC,IAAIC,MAAM,CAACE,KAAK,CAACD,eAAe,CAAC,EAAE,OAAOd,aAAa;IAExF,OAAO;MACLF,GAAG,EAAEe,MAAM,CAACE,KAAK,CAACjB,GAAG,CAAC,GAAGc,eAAe,GAAGd,GAAG;MAC9CC,GAAG,EAAEc,MAAM,CAACE,KAAK,CAAChB,GAAG,CAAC,GAAGe,eAAe,GAAGf,GAAG;MAC9CE,IAAI,EAAER,aAAa;MACnBS,QAAQ,EAAEY,eAAe;MACzBX,QAAQ,EAAES;IACZ,CAAC;EACH;EAEA,OAAOZ,aAAa;AACtB,CAAC;AAAC,IAAAgB,QAAA,GAAAC,OAAA,cAEa1B,aAAa","ignoreList":[]}
|
|
@@ -47,6 +47,7 @@ var buildSearchValuesCheckboxSelect = function buildSearchValuesCheckboxSelect(q
|
|
|
47
47
|
_query$queryParam$spl2 = (0, _slicedToArray2["default"])(_query$queryParam$spl, 2),
|
|
48
48
|
min = _query$queryParam$spl2[0],
|
|
49
49
|
max = _query$queryParam$spl2[1];
|
|
50
|
+
if (min === 'NaN' || max === 'NaN') return;
|
|
50
51
|
acc.values.push({
|
|
51
52
|
range: (0, _defineProperty2["default"])({}, queryParam, {
|
|
52
53
|
gte: Number(min),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-search-values-checkbox-select.js","names":["_lodash","_interopRequireDefault","require","_constants","buildFieldName","fieldName","concat","KEYWORD","getFiltersProps","filters","flatten","map","_ref","propsToDisplay","buildSearchValuesCheckboxSelect","query","rangeFilters","checkboxFilters","selectFilters","queryParams","Object","keys","filter","param","SEARCH_TERM","rangeFilterProps","checkboxFilterProps","selectFilterProps","_queryParams$reduce","reduce","acc","queryParam","isQueryParamString","includes","_query$queryParam$spl","split","_query$queryParam$spl2","_slicedToArray2","min","max","values","push","range","_defineProperty2","gte","Number","lte","match","checkboxFilter","_ref2","_ref2$propsToDisplay","firstPropToDisplay","length","shouldBuildCheckboxOrValues","_ref3","operator","AND","fieldToPush","valuesOr","forEach","value","_default","exports"],"sources":["../../src/helpers/build-search-values-checkbox-select.js"],"sourcesContent":["import flatten from 'lodash.flatten';\nimport { SEARCH_TERM, AND, KEYWORD } from '../constants';\n\nconst buildFieldName = fieldName => `${fieldName}.${KEYWORD}`;\n\nconst getFiltersProps = filters => flatten(filters.map(({ propsToDisplay }) => propsToDisplay));\n\nconst buildSearchValuesCheckboxSelect = (query, rangeFilters, checkboxFilters, selectFilters) => {\n const queryParams = Object.keys(query).filter(param => param !== SEARCH_TERM);\n\n const rangeFilterProps = getFiltersProps(rangeFilters);\n const checkboxFilterProps = getFiltersProps(checkboxFilters);\n const selectFilterProps = getFiltersProps(selectFilters);\n\n const { values, valuesOr } = queryParams.reduce(\n (acc, queryParam) => {\n const isQueryParamString = typeof query[queryParam] === 'string';\n if (isQueryParamString) {\n if (rangeFilterProps.includes(queryParam)) {\n const [min, max] = query[queryParam].split('-');\n acc.values.push({\n range: {\n [queryParam]: {\n gte: Number(min),\n lte: Number(max)\n }\n }\n });\n } else if (\n checkboxFilterProps.includes(queryParam) ||\n selectFilterProps.includes(queryParam)\n ) {\n acc.values.push({\n match: { [buildFieldName(queryParam)]: query[queryParam] }\n });\n }\n } else {\n const checkboxFilter = checkboxFilters.filter(\n ({ propsToDisplay: [firstPropToDisplay] }) => firstPropToDisplay === queryParam\n );\n\n if (!checkboxFilter.length) return acc;\n\n const shouldBuildCheckboxOrValues = checkboxFilter.filter(\n ({ operator }) => operator !== AND\n ).length;\n\n const fieldToPush = shouldBuildCheckboxOrValues ? acc.valuesOr : acc.values;\n\n query[queryParam].forEach(value => {\n fieldToPush.push({ match: { [buildFieldName(queryParam)]: value } });\n });\n }\n\n return acc;\n },\n {\n values: [],\n valuesOr: []\n }\n );\n\n return { values, valuesOr };\n};\n\nexport default buildSearchValuesCheckboxSelect;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,SAAS;EAAA,UAAAC,MAAA,CAAOD,SAAS,OAAAC,MAAA,CAAIC,kBAAO;AAAA,CAAE;AAE7D,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,OAAO;EAAA,OAAI,IAAAC,kBAAO,EAACD,OAAO,CAACE,GAAG,CAAC,UAAAC,IAAA;IAAA,IAAGC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IAAA,OAAOA,cAAc;EAAA,EAAC,CAAC;AAAA;AAE/F,IAAMC,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAIC,KAAK,EAAEC,YAAY,EAAEC,eAAe,EAAEC,aAAa,EAAK;EAC/F,IAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACN,KAAK,CAAC,CAACO,MAAM,CAAC,UAAAC,KAAK;IAAA,OAAIA,KAAK,KAAKC,sBAAW;EAAA,EAAC;EAE7E,IAAMC,gBAAgB,GAAGjB,eAAe,CAACQ,YAAY,CAAC;EACtD,IAAMU,mBAAmB,GAAGlB,eAAe,CAACS,eAAe,CAAC;EAC5D,IAAMU,iBAAiB,GAAGnB,eAAe,CAACU,aAAa,CAAC;EAExD,IAAAU,mBAAA,GAA6BT,WAAW,CAACU,MAAM,CAC7C,UAACC,GAAG,EAAEC,UAAU,EAAK;MACnB,IAAMC,kBAAkB,GAAG,OAAOjB,KAAK,CAACgB,UAAU,CAAC,KAAK,QAAQ;MAChE,IAAIC,kBAAkB,EAAE;QACtB,IAAIP,gBAAgB,CAACQ,QAAQ,CAACF,UAAU,CAAC,EAAE;UACzC,IAAAG,qBAAA,GAAmBnB,KAAK,CAACgB,UAAU,CAAC,CAACI,KAAK,CAAC,GAAG,CAAC;YAAAC,sBAAA,OAAAC,eAAA,aAAAH,qBAAA;YAAxCI,GAAG,GAAAF,sBAAA;YAAEG,GAAG,GAAAH,sBAAA;
|
|
1
|
+
{"version":3,"file":"build-search-values-checkbox-select.js","names":["_lodash","_interopRequireDefault","require","_constants","buildFieldName","fieldName","concat","KEYWORD","getFiltersProps","filters","flatten","map","_ref","propsToDisplay","buildSearchValuesCheckboxSelect","query","rangeFilters","checkboxFilters","selectFilters","queryParams","Object","keys","filter","param","SEARCH_TERM","rangeFilterProps","checkboxFilterProps","selectFilterProps","_queryParams$reduce","reduce","acc","queryParam","isQueryParamString","includes","_query$queryParam$spl","split","_query$queryParam$spl2","_slicedToArray2","min","max","values","push","range","_defineProperty2","gte","Number","lte","match","checkboxFilter","_ref2","_ref2$propsToDisplay","firstPropToDisplay","length","shouldBuildCheckboxOrValues","_ref3","operator","AND","fieldToPush","valuesOr","forEach","value","_default","exports"],"sources":["../../src/helpers/build-search-values-checkbox-select.js"],"sourcesContent":["import flatten from 'lodash.flatten';\nimport { SEARCH_TERM, AND, KEYWORD } from '../constants';\n\nconst buildFieldName = fieldName => `${fieldName}.${KEYWORD}`;\n\nconst getFiltersProps = filters => flatten(filters.map(({ propsToDisplay }) => propsToDisplay));\n\nconst buildSearchValuesCheckboxSelect = (query, rangeFilters, checkboxFilters, selectFilters) => {\n const queryParams = Object.keys(query).filter(param => param !== SEARCH_TERM);\n\n const rangeFilterProps = getFiltersProps(rangeFilters);\n const checkboxFilterProps = getFiltersProps(checkboxFilters);\n const selectFilterProps = getFiltersProps(selectFilters);\n\n const { values, valuesOr } = queryParams.reduce(\n (acc, queryParam) => {\n const isQueryParamString = typeof query[queryParam] === 'string';\n if (isQueryParamString) {\n if (rangeFilterProps.includes(queryParam)) {\n const [min, max] = query[queryParam].split('-');\n if (min === 'NaN' || max === 'NaN') return;\n acc.values.push({\n range: {\n [queryParam]: {\n gte: Number(min),\n lte: Number(max)\n }\n }\n });\n } else if (\n checkboxFilterProps.includes(queryParam) ||\n selectFilterProps.includes(queryParam)\n ) {\n acc.values.push({\n match: { [buildFieldName(queryParam)]: query[queryParam] }\n });\n }\n } else {\n const checkboxFilter = checkboxFilters.filter(\n ({ propsToDisplay: [firstPropToDisplay] }) => firstPropToDisplay === queryParam\n );\n\n if (!checkboxFilter.length) return acc;\n\n const shouldBuildCheckboxOrValues = checkboxFilter.filter(\n ({ operator }) => operator !== AND\n ).length;\n\n const fieldToPush = shouldBuildCheckboxOrValues ? acc.valuesOr : acc.values;\n\n query[queryParam].forEach(value => {\n fieldToPush.push({ match: { [buildFieldName(queryParam)]: value } });\n });\n }\n\n return acc;\n },\n {\n values: [],\n valuesOr: []\n }\n );\n\n return { values, valuesOr };\n};\n\nexport default buildSearchValuesCheckboxSelect;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -50,11 +50,12 @@ const SearchFilterContainer = ({
|
|
|
50
50
|
itemEntity: parentEntity
|
|
51
51
|
} = parent;
|
|
52
52
|
useEffect(() => {
|
|
53
|
+
if (asPath === urlPath) return;
|
|
53
54
|
const {
|
|
54
55
|
query: newQuery
|
|
55
56
|
} = parseUrl(asPath);
|
|
56
57
|
const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);
|
|
57
|
-
const newValues = getFilterValues(
|
|
58
|
+
const newValues = getFilterValues(filterData, filters, updatedNewQuery);
|
|
58
59
|
if (newValues) dispatch({
|
|
59
60
|
newValues,
|
|
60
61
|
shouldSearch: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useEffect","useRef","useReducer","useContext","MainContext","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","generateSingleItemQuery","buildNewUrl","getFilterValues","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","buildListNameQuery","getEntityData","getInheritedFilters","getQueryProps","buildRawQueryStringified","buildFiltersQuery","RAW_RESULTS","SCROLL_OFFSET","searchFilterReducer","useGetEntitySchemasAsObj","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","mobileRefineButtonText","isPreview","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","filterValues","dispatch","currentUrl","query","updatedQuery","itemId","parentId","itemEntity","parentEntity","newQuery","updatedNewQuery","newValues","shouldSearch","type","data","mainSchemas","loading","schemasLoading","parentSchema","filterEntitySchema","actions","getAction","get","getPublished","inheritedFilters","queryProps","entityData","parentData","parentQueryLoading","variables","id","skip","length","updatedFilterBy","updatedFilterByProperty","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","Object","keys","rawQueryStringified","error","limit","message","searchPublishedContent","rawResults","aggregations","filterData","handleSearch","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","object","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildListNameQuery\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent,\n mobileRefineButtonText\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = buildListNameQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues({}, filters, updatedNewQuery);\n if (newValues)\n dispatch({\n newValues,\n shouldSearch: false,\n type: 'update'\n });\n setUrlPath(asPath);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [asPath]\n );\n\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\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 || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && 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 if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n mobileRefineButtonText={mobileRefineButtonText}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n mobileRefineButtonText: PropTypes.string,\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 filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {},\n mobileRefineButtonText: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useEffect","useRef","useReducer","useContext","MainContext","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","generateSingleItemQuery","buildNewUrl","getFilterValues","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","buildListNameQuery","getEntityData","getInheritedFilters","getQueryProps","buildRawQueryStringified","buildFiltersQuery","RAW_RESULTS","SCROLL_OFFSET","searchFilterReducer","useGetEntitySchemasAsObj","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","mobileRefineButtonText","isPreview","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","filterValues","dispatch","currentUrl","query","updatedQuery","itemId","parentId","itemEntity","parentEntity","newQuery","updatedNewQuery","newValues","filterData","shouldSearch","type","data","mainSchemas","loading","schemasLoading","parentSchema","filterEntitySchema","actions","getAction","get","getPublished","inheritedFilters","queryProps","entityData","parentData","parentQueryLoading","variables","id","skip","length","updatedFilterBy","updatedFilterByProperty","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","Object","keys","rawQueryStringified","error","limit","message","searchPublishedContent","rawResults","aggregations","handleSearch","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","object","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildListNameQuery\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent,\n mobileRefineButtonText\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = buildListNameQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n if (asPath === urlPath) return;\n\n const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues(filterData, filters, updatedNewQuery);\n if (newValues)\n dispatch({\n newValues,\n shouldSearch: false,\n type: 'update'\n });\n setUrlPath(asPath);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [asPath]\n );\n\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\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 || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && 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 if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n mobileRefineButtonText={mobileRefineButtonText}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n mobileRefineButtonText: PropTypes.string,\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 filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {},\n mobileRefineButtonText: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,10 +7,18 @@ const getRangeValue = (rawQueryProp, rangeInterval, _min, _max) => {
|
|
|
7
7
|
min: _min,
|
|
8
8
|
max: _max
|
|
9
9
|
}, rangeInterval);
|
|
10
|
+
const defaultValues = {
|
|
11
|
+
max,
|
|
12
|
+
min,
|
|
13
|
+
step: rangeInterval,
|
|
14
|
+
maxValue: max,
|
|
15
|
+
minValue: min
|
|
16
|
+
};
|
|
10
17
|
if (rawQueryProp) {
|
|
11
18
|
const [queryParamMin, queryParamMax] = Array.isArray(rawQueryProp) ? rawQueryProp[0].split('-') : rawQueryProp.split('-');
|
|
12
19
|
const updatedMinValue = Number(queryParamMin);
|
|
13
20
|
const updatedMaxValue = Number(queryParamMax);
|
|
21
|
+
if (Number.isNaN(updatedMinValue) || Number.isNaN(updatedMaxValue)) return defaultValues;
|
|
14
22
|
return {
|
|
15
23
|
min: Number.isNaN(min) ? updatedMinValue : min,
|
|
16
24
|
max: Number.isNaN(max) ? updatedMaxValue : max,
|
|
@@ -19,13 +27,7 @@ const getRangeValue = (rawQueryProp, rangeInterval, _min, _max) => {
|
|
|
19
27
|
minValue: updatedMinValue
|
|
20
28
|
};
|
|
21
29
|
}
|
|
22
|
-
return
|
|
23
|
-
max,
|
|
24
|
-
min,
|
|
25
|
-
step: rangeInterval,
|
|
26
|
-
maxValue: max,
|
|
27
|
-
minValue: min
|
|
28
|
-
};
|
|
30
|
+
return defaultValues;
|
|
29
31
|
};
|
|
30
32
|
export default getRangeValue;
|
|
31
33
|
//# sourceMappingURL=get-range-value.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-range-value.js","names":["calculateMinMax","getRangeValue","rawQueryProp","rangeInterval","_min","_max","min","max","queryParamMin","queryParamMax","Array","isArray","split","updatedMinValue","Number","updatedMaxValue","isNaN"
|
|
1
|
+
{"version":3,"file":"get-range-value.js","names":["calculateMinMax","getRangeValue","rawQueryProp","rangeInterval","_min","_max","min","max","defaultValues","step","maxValue","minValue","queryParamMin","queryParamMax","Array","isArray","split","updatedMinValue","Number","updatedMaxValue","isNaN"],"sources":["../../../../src/components/SearchFilter/helpers/get-range-value.js"],"sourcesContent":["import calculateMinMax from './calculate-min-max';\n\nconst getRangeValue = (rawQueryProp, rangeInterval, _min, _max) => {\n const { min, max } = calculateMinMax({ min: _min, max: _max }, rangeInterval);\n const defaultValues = {\n max,\n min,\n step: rangeInterval,\n maxValue: max,\n minValue: min\n };\n if (rawQueryProp) {\n const [queryParamMin, queryParamMax] = Array.isArray(rawQueryProp)\n ? rawQueryProp[0].split('-')\n : rawQueryProp.split('-');\n const updatedMinValue = Number(queryParamMin);\n const updatedMaxValue = Number(queryParamMax);\n\n if (Number.isNaN(updatedMinValue) || Number.isNaN(updatedMaxValue)) return defaultValues;\n\n return {\n min: Number.isNaN(min) ? updatedMinValue : min,\n max: Number.isNaN(max) ? updatedMaxValue : max,\n step: rangeInterval,\n maxValue: updatedMaxValue,\n minValue: updatedMinValue\n };\n }\n\n return defaultValues;\n};\n\nexport default getRangeValue;\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,qBAAqB;AAEjD,MAAMC,aAAa,GAAGA,CAACC,YAAY,EAAEC,aAAa,EAAEC,IAAI,EAAEC,IAAI,KAAK;EACjE,MAAM;IAAEC,GAAG;IAAEC;EAAI,CAAC,GAAGP,eAAe,CAAC;IAAEM,GAAG,EAAEF,IAAI;IAAEG,GAAG,EAAEF;EAAK,CAAC,EAAEF,aAAa,CAAC;EAC7E,MAAMK,aAAa,GAAG;IACpBD,GAAG;IACHD,GAAG;IACHG,IAAI,EAAEN,aAAa;IACnBO,QAAQ,EAAEH,GAAG;IACbI,QAAQ,EAAEL;EACZ,CAAC;EACD,IAAIJ,YAAY,EAAE;IAChB,MAAM,CAACU,aAAa,EAAEC,aAAa,CAAC,GAAGC,KAAK,CAACC,OAAO,CAACb,YAAY,CAAC,GAC9DA,YAAY,CAAC,CAAC,CAAC,CAACc,KAAK,CAAC,GAAG,CAAC,GAC1Bd,YAAY,CAACc,KAAK,CAAC,GAAG,CAAC;IAC3B,MAAMC,eAAe,GAAGC,MAAM,CAACN,aAAa,CAAC;IAC7C,MAAMO,eAAe,GAAGD,MAAM,CAACL,aAAa,CAAC;IAE7C,IAAIK,MAAM,CAACE,KAAK,CAACH,eAAe,CAAC,IAAIC,MAAM,CAACE,KAAK,CAACD,eAAe,CAAC,EAAE,OAAOX,aAAa;IAExF,OAAO;MACLF,GAAG,EAAEY,MAAM,CAACE,KAAK,CAACd,GAAG,CAAC,GAAGW,eAAe,GAAGX,GAAG;MAC9CC,GAAG,EAAEW,MAAM,CAACE,KAAK,CAACb,GAAG,CAAC,GAAGY,eAAe,GAAGZ,GAAG;MAC9CE,IAAI,EAAEN,aAAa;MACnBO,QAAQ,EAAES,eAAe;MACzBR,QAAQ,EAAEM;IACZ,CAAC;EACH;EAEA,OAAOT,aAAa;AACtB,CAAC;AAED,eAAeP,aAAa","ignoreList":[]}
|
|
@@ -17,6 +17,7 @@ const buildSearchValuesCheckboxSelect = (query, rangeFilters, checkboxFilters, s
|
|
|
17
17
|
if (isQueryParamString) {
|
|
18
18
|
if (rangeFilterProps.includes(queryParam)) {
|
|
19
19
|
const [min, max] = query[queryParam].split('-');
|
|
20
|
+
if (min === 'NaN' || max === 'NaN') return;
|
|
20
21
|
acc.values.push({
|
|
21
22
|
range: {
|
|
22
23
|
[queryParam]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-search-values-checkbox-select.js","names":["flatten","SEARCH_TERM","AND","KEYWORD","buildFieldName","fieldName","getFiltersProps","filters","map","propsToDisplay","buildSearchValuesCheckboxSelect","query","rangeFilters","checkboxFilters","selectFilters","queryParams","Object","keys","filter","param","rangeFilterProps","checkboxFilterProps","selectFilterProps","values","valuesOr","reduce","acc","queryParam","isQueryParamString","includes","min","max","split","push","range","gte","Number","lte","match","checkboxFilter","firstPropToDisplay","length","shouldBuildCheckboxOrValues","operator","fieldToPush","forEach","value"],"sources":["../../src/helpers/build-search-values-checkbox-select.js"],"sourcesContent":["import flatten from 'lodash.flatten';\nimport { SEARCH_TERM, AND, KEYWORD } from '../constants';\n\nconst buildFieldName = fieldName => `${fieldName}.${KEYWORD}`;\n\nconst getFiltersProps = filters => flatten(filters.map(({ propsToDisplay }) => propsToDisplay));\n\nconst buildSearchValuesCheckboxSelect = (query, rangeFilters, checkboxFilters, selectFilters) => {\n const queryParams = Object.keys(query).filter(param => param !== SEARCH_TERM);\n\n const rangeFilterProps = getFiltersProps(rangeFilters);\n const checkboxFilterProps = getFiltersProps(checkboxFilters);\n const selectFilterProps = getFiltersProps(selectFilters);\n\n const { values, valuesOr } = queryParams.reduce(\n (acc, queryParam) => {\n const isQueryParamString = typeof query[queryParam] === 'string';\n if (isQueryParamString) {\n if (rangeFilterProps.includes(queryParam)) {\n const [min, max] = query[queryParam].split('-');\n acc.values.push({\n range: {\n [queryParam]: {\n gte: Number(min),\n lte: Number(max)\n }\n }\n });\n } else if (\n checkboxFilterProps.includes(queryParam) ||\n selectFilterProps.includes(queryParam)\n ) {\n acc.values.push({\n match: { [buildFieldName(queryParam)]: query[queryParam] }\n });\n }\n } else {\n const checkboxFilter = checkboxFilters.filter(\n ({ propsToDisplay: [firstPropToDisplay] }) => firstPropToDisplay === queryParam\n );\n\n if (!checkboxFilter.length) return acc;\n\n const shouldBuildCheckboxOrValues = checkboxFilter.filter(\n ({ operator }) => operator !== AND\n ).length;\n\n const fieldToPush = shouldBuildCheckboxOrValues ? acc.valuesOr : acc.values;\n\n query[queryParam].forEach(value => {\n fieldToPush.push({ match: { [buildFieldName(queryParam)]: value } });\n });\n }\n\n return acc;\n },\n {\n values: [],\n valuesOr: []\n }\n );\n\n return { values, valuesOr };\n};\n\nexport default buildSearchValuesCheckboxSelect;\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,gBAAgB;AACpC,SAASC,WAAW,EAAEC,GAAG,EAAEC,OAAO,QAAQ,cAAc;AAExD,MAAMC,cAAc,GAAGC,SAAS,IAAK,GAAEA,SAAU,IAAGF,OAAQ,EAAC;AAE7D,MAAMG,eAAe,GAAGC,OAAO,IAAIP,OAAO,CAACO,OAAO,CAACC,GAAG,CAAC,CAAC;EAAEC;AAAe,CAAC,KAAKA,cAAc,CAAC,CAAC;AAE/F,MAAMC,+BAA+B,GAAGA,CAACC,KAAK,EAAEC,YAAY,EAAEC,eAAe,EAAEC,aAAa,KAAK;EAC/F,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACN,KAAK,CAAC,CAACO,MAAM,CAACC,KAAK,IAAIA,KAAK,KAAKlB,WAAW,CAAC;EAE7E,MAAMmB,gBAAgB,GAAGd,eAAe,CAACM,YAAY,CAAC;EACtD,MAAMS,mBAAmB,GAAGf,eAAe,CAACO,eAAe,CAAC;EAC5D,MAAMS,iBAAiB,GAAGhB,eAAe,CAACQ,aAAa,CAAC;EAExD,MAAM;IAAES,MAAM;IAAEC;EAAS,CAAC,GAAGT,WAAW,CAACU,MAAM,CAC7C,CAACC,GAAG,EAAEC,UAAU,KAAK;IACnB,MAAMC,kBAAkB,GAAG,OAAOjB,KAAK,CAACgB,UAAU,CAAC,KAAK,QAAQ;IAChE,IAAIC,kBAAkB,EAAE;MACtB,IAAIR,gBAAgB,CAACS,QAAQ,CAACF,UAAU,CAAC,EAAE;QACzC,MAAM,CAACG,GAAG,EAAEC,GAAG,CAAC,GAAGpB,KAAK,CAACgB,UAAU,CAAC,CAACK,KAAK,CAAC,GAAG,CAAC;QAC/
|
|
1
|
+
{"version":3,"file":"build-search-values-checkbox-select.js","names":["flatten","SEARCH_TERM","AND","KEYWORD","buildFieldName","fieldName","getFiltersProps","filters","map","propsToDisplay","buildSearchValuesCheckboxSelect","query","rangeFilters","checkboxFilters","selectFilters","queryParams","Object","keys","filter","param","rangeFilterProps","checkboxFilterProps","selectFilterProps","values","valuesOr","reduce","acc","queryParam","isQueryParamString","includes","min","max","split","push","range","gte","Number","lte","match","checkboxFilter","firstPropToDisplay","length","shouldBuildCheckboxOrValues","operator","fieldToPush","forEach","value"],"sources":["../../src/helpers/build-search-values-checkbox-select.js"],"sourcesContent":["import flatten from 'lodash.flatten';\nimport { SEARCH_TERM, AND, KEYWORD } from '../constants';\n\nconst buildFieldName = fieldName => `${fieldName}.${KEYWORD}`;\n\nconst getFiltersProps = filters => flatten(filters.map(({ propsToDisplay }) => propsToDisplay));\n\nconst buildSearchValuesCheckboxSelect = (query, rangeFilters, checkboxFilters, selectFilters) => {\n const queryParams = Object.keys(query).filter(param => param !== SEARCH_TERM);\n\n const rangeFilterProps = getFiltersProps(rangeFilters);\n const checkboxFilterProps = getFiltersProps(checkboxFilters);\n const selectFilterProps = getFiltersProps(selectFilters);\n\n const { values, valuesOr } = queryParams.reduce(\n (acc, queryParam) => {\n const isQueryParamString = typeof query[queryParam] === 'string';\n if (isQueryParamString) {\n if (rangeFilterProps.includes(queryParam)) {\n const [min, max] = query[queryParam].split('-');\n if (min === 'NaN' || max === 'NaN') return;\n acc.values.push({\n range: {\n [queryParam]: {\n gte: Number(min),\n lte: Number(max)\n }\n }\n });\n } else if (\n checkboxFilterProps.includes(queryParam) ||\n selectFilterProps.includes(queryParam)\n ) {\n acc.values.push({\n match: { [buildFieldName(queryParam)]: query[queryParam] }\n });\n }\n } else {\n const checkboxFilter = checkboxFilters.filter(\n ({ propsToDisplay: [firstPropToDisplay] }) => firstPropToDisplay === queryParam\n );\n\n if (!checkboxFilter.length) return acc;\n\n const shouldBuildCheckboxOrValues = checkboxFilter.filter(\n ({ operator }) => operator !== AND\n ).length;\n\n const fieldToPush = shouldBuildCheckboxOrValues ? acc.valuesOr : acc.values;\n\n query[queryParam].forEach(value => {\n fieldToPush.push({ match: { [buildFieldName(queryParam)]: value } });\n });\n }\n\n return acc;\n },\n {\n values: [],\n valuesOr: []\n }\n );\n\n return { values, valuesOr };\n};\n\nexport default buildSearchValuesCheckboxSelect;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/react-page-builder",
|
|
3
|
-
"version": "0.146.0-alpha.
|
|
3
|
+
"version": "0.146.0-alpha.23",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -90,5 +90,5 @@
|
|
|
90
90
|
"lib/*",
|
|
91
91
|
"lib-es/*"
|
|
92
92
|
],
|
|
93
|
-
"gitHead": "
|
|
93
|
+
"gitHead": "ebcb642e3075df16f0acb832236e05cd3e0c7cd5"
|
|
94
94
|
}
|
|
@@ -55,9 +55,11 @@ const SearchFilterContainer = ({
|
|
|
55
55
|
|
|
56
56
|
useEffect(
|
|
57
57
|
() => {
|
|
58
|
+
if (asPath === urlPath) return;
|
|
59
|
+
|
|
58
60
|
const { query: newQuery } = parseUrl(asPath);
|
|
59
61
|
const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);
|
|
60
|
-
const newValues = getFilterValues(
|
|
62
|
+
const newValues = getFilterValues(filterData, filters, updatedNewQuery);
|
|
61
63
|
if (newValues)
|
|
62
64
|
dispatch({
|
|
63
65
|
newValues,
|
|
@@ -2,7 +2,13 @@ import calculateMinMax from './calculate-min-max';
|
|
|
2
2
|
|
|
3
3
|
const getRangeValue = (rawQueryProp, rangeInterval, _min, _max) => {
|
|
4
4
|
const { min, max } = calculateMinMax({ min: _min, max: _max }, rangeInterval);
|
|
5
|
-
|
|
5
|
+
const defaultValues = {
|
|
6
|
+
max,
|
|
7
|
+
min,
|
|
8
|
+
step: rangeInterval,
|
|
9
|
+
maxValue: max,
|
|
10
|
+
minValue: min
|
|
11
|
+
};
|
|
6
12
|
if (rawQueryProp) {
|
|
7
13
|
const [queryParamMin, queryParamMax] = Array.isArray(rawQueryProp)
|
|
8
14
|
? rawQueryProp[0].split('-')
|
|
@@ -10,6 +16,8 @@ const getRangeValue = (rawQueryProp, rangeInterval, _min, _max) => {
|
|
|
10
16
|
const updatedMinValue = Number(queryParamMin);
|
|
11
17
|
const updatedMaxValue = Number(queryParamMax);
|
|
12
18
|
|
|
19
|
+
if (Number.isNaN(updatedMinValue) || Number.isNaN(updatedMaxValue)) return defaultValues;
|
|
20
|
+
|
|
13
21
|
return {
|
|
14
22
|
min: Number.isNaN(min) ? updatedMinValue : min,
|
|
15
23
|
max: Number.isNaN(max) ? updatedMaxValue : max,
|
|
@@ -19,13 +27,7 @@ const getRangeValue = (rawQueryProp, rangeInterval, _min, _max) => {
|
|
|
19
27
|
};
|
|
20
28
|
}
|
|
21
29
|
|
|
22
|
-
return
|
|
23
|
-
max,
|
|
24
|
-
min,
|
|
25
|
-
step: rangeInterval,
|
|
26
|
-
maxValue: max,
|
|
27
|
-
minValue: min
|
|
28
|
-
};
|
|
30
|
+
return defaultValues;
|
|
29
31
|
};
|
|
30
32
|
|
|
31
33
|
export default getRangeValue;
|
|
@@ -18,6 +18,7 @@ const buildSearchValuesCheckboxSelect = (query, rangeFilters, checkboxFilters, s
|
|
|
18
18
|
if (isQueryParamString) {
|
|
19
19
|
if (rangeFilterProps.includes(queryParam)) {
|
|
20
20
|
const [min, max] = query[queryParam].split('-');
|
|
21
|
+
if (min === 'NaN' || max === 'NaN') return;
|
|
21
22
|
acc.values.push({
|
|
22
23
|
range: {
|
|
23
24
|
[queryParam]: {
|
package/tests/unit/src/components/SearchFilter/__snapshots__/SearchFilterContainer.test.js.snap
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
|
-
exports[`SearchFilter container should match snapshot 1`] =
|
|
4
|
-
<DocumentFragment>
|
|
5
|
-
<div>
|
|
6
|
-
Mocked component
|
|
7
|
-
</div>
|
|
8
|
-
</DocumentFragment>
|
|
9
|
-
`;
|
|
3
|
+
exports[`SearchFilter container should match snapshot 1`] = `<DocumentFragment />`;
|
|
10
4
|
|
|
11
5
|
exports[`SearchFilter container should return null if no filters are passed 1`] = `<DocumentFragment />`;
|