@blaze-cms/react-page-builder 0.146.0-node18-core-styles-tooltips.15 → 0.146.0-node18-core-styles-tooltips.18
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 +16 -0
- package/lib/components/SearchFilter/SearchFilterContainer.js +5 -3
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib/components/SearchFilter/components/Range.js +15 -8
- package/lib/components/SearchFilter/components/Range.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +5 -3
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Range.js +15 -8
- package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
- package/package.json +2 -2
- package/src/components/SearchFilter/SearchFilterContainer.js +5 -3
- package/src/components/SearchFilter/components/Range.js +23 -14
- package/tests/unit/src/components/SearchFilter/components/__snapshots__/Range.test.js.snap +191 -160
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
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-node18-core-styles-tooltips.18](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.17...v0.146.0-node18-core-styles-tooltips.18) (2025-09-29)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* update range when changing unit ([#4893](https://github.com/thebyte9/blaze/issues/4893)) ([817789a](https://github.com/thebyte9/blaze/commit/817789a1b5fac364ff004981855e04d25c6d8544))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* navigate on SearchFilter submit even without changes ([#4904](https://github.com/thebyte9/blaze/issues/4904)) ([082e72e](https://github.com/thebyte9/blaze/commit/082e72ee8fec81f93a6664d7375e947fa0972c32))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
# [0.146.0-node18-core-styles-tooltips.15](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.14...v0.146.0-node18-core-styles-tooltips.15) (2025-09-23)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
@@ -166,10 +166,11 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
166
166
|
setDisplaySearchFilter(false);
|
|
167
167
|
var hashBit = asPath.split('#')[1] || '';
|
|
168
168
|
var parsedHashBit = hashBit ? "#".concat(hashBit) : '';
|
|
169
|
-
parsedHashBit = parsedHashBit || "#".concat(componentId);
|
|
169
|
+
parsedHashBit = parsedHashBit || (componentId ? "#".concat(componentId) : '');
|
|
170
170
|
scrollToFirstList(componentId);
|
|
171
171
|
if (!newQuery) {
|
|
172
|
-
var
|
|
172
|
+
var baseUrl = url || currentUrl;
|
|
173
|
+
var baseQuery = "".concat(baseUrl).concat(parsedHashBit);
|
|
173
174
|
setUrlPath(baseQuery);
|
|
174
175
|
return router.push('/Resolver', baseQuery, {
|
|
175
176
|
shallow: !url,
|
|
@@ -178,7 +179,8 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
178
179
|
setKey("filter-".concat(name, ":").concat(Date.now())); // remove after range component update
|
|
179
180
|
});
|
|
180
181
|
}
|
|
181
|
-
var
|
|
182
|
+
var hashToUse = hashBit || componentId;
|
|
183
|
+
var newUrl = (0, _helpers.buildNewUrl)(url, currentUrl, newQuery, hashToUse);
|
|
182
184
|
setUrlPath(newUrl);
|
|
183
185
|
return router.push('/Resolver', newUrl, {
|
|
184
186
|
shallow: !url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFilterContainer.js","names":["_react","_interopRequireWildcard","require","_nextjsComponents","_router","_client","_propTypes","_interopRequireDefault","_queryString","_SearchFilter","_HOC","_query","_helpers","_helpers2","_constants","_searchFilterReducer","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","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","componentId","getComponentId","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","buildNewUrl","list","document","getElementById","getElementsByClassName","shouldScrollToFirstList","scrollIntoView","window","scrollTo","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 getComponentId\n} from '../../helpers';\nimport { RAW_RESULTS } 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 const componentId = listComponentName ? getComponentId(listComponentName) : '';\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n let parsedHashBit = hashBit ? `#${hashBit}` : '';\n parsedHashBit = parsedHashBit || `#${componentId}`;\n\n scrollToFirstList(componentId);\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 = componentId => {\n const list = componentId\n ? document.getElementById(componentId)\n : document.getElementsByClassName('list-top')[0];\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n list.scrollIntoView();\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","_searchFilterReducer","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","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","componentId","getComponentId","hashBit","split","parsedHashBit","scrollToFirstList","baseUrl","baseQuery","push","shallow","scroll","then","Date","now","hashToUse","newUrl","buildNewUrl","list","document","getElementById","getElementsByClassName","shouldScrollToFirstList","scrollIntoView","window","scrollTo","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 getComponentId\n} from '../../helpers';\nimport { RAW_RESULTS } 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 const componentId = listComponentName ? getComponentId(listComponentName) : '';\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n let parsedHashBit = hashBit ? `#${hashBit}` : '';\n parsedHashBit = parsedHashBit || (componentId ? `#${componentId}` : '');\n\n scrollToFirstList(componentId);\n if (!newQuery) {\n const baseUrl = url || currentUrl;\n const baseQuery = `${baseUrl}${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 hashToUse = hashBit || componentId;\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = componentId => {\n const list = componentId\n ? document.getElementById(componentId)\n : document.getElementsByClassName('list-top')[0];\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n list.scrollIntoView();\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":[]}
|
|
@@ -20,6 +20,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
20
20
|
var _react = _interopRequireDefault(require("react"));
|
|
21
21
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
22
22
|
var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
|
23
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
23
24
|
var _rangeFilter = _interopRequireDefault(require("@blaze-react/range-filter"));
|
|
24
25
|
var _router = require("next/router");
|
|
25
26
|
var _select = _interopRequireDefault(require("@blaze-react/select"));
|
|
@@ -56,7 +57,6 @@ var Range = function Range(_ref) {
|
|
|
56
57
|
loading = _useGetSingleEntitySc.loading;
|
|
57
58
|
if (loading || !rangeOption || !rangeValue) return '';
|
|
58
59
|
var options = (0, _helpers.getSelectOptions)(getEntitySchema, propsToDisplay);
|
|
59
|
-
// get range from aggregations so it updates
|
|
60
60
|
var _calculateMinMax = (0, _helpers.calculateMinMax)(dataAggregations[rangeOption], rangeInterval),
|
|
61
61
|
min = _calculateMinMax.min,
|
|
62
62
|
max = _calculateMinMax.max;
|
|
@@ -75,7 +75,7 @@ var Range = function Range(_ref) {
|
|
|
75
75
|
}, debounceAmount);
|
|
76
76
|
var displayLabel = '';
|
|
77
77
|
if (!hasMultipleOptions) {
|
|
78
|
-
displayLabel =
|
|
78
|
+
displayLabel = label;
|
|
79
79
|
}
|
|
80
80
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, elementTitle && /*#__PURE__*/_react["default"].createElement("div", {
|
|
81
81
|
className: "heading heading--section"
|
|
@@ -88,17 +88,24 @@ var Range = function Range(_ref) {
|
|
|
88
88
|
var value = _ref2.value;
|
|
89
89
|
var updatedOptions = {};
|
|
90
90
|
propsToDisplay.forEach(function (prop) {
|
|
91
|
-
var
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
var initValue = (0, _helpers.getRangeValue)(null, rangeInterval,
|
|
91
|
+
var _calculateMinMax2 = (0, _helpers.calculateMinMax)(dataAggregations[prop], rangeInterval),
|
|
92
|
+
aggMin = _calculateMinMax2.min,
|
|
93
|
+
aggMax = _calculateMinMax2.max;
|
|
94
|
+
var initValue = (0, _helpers.getRangeValue)(null, rangeInterval, aggMin, aggMax);
|
|
95
95
|
updatedOptions[prop] = _objectSpread(_objectSpread({}, initValue), {}, {
|
|
96
96
|
selectedOption: value
|
|
97
97
|
});
|
|
98
98
|
});
|
|
99
99
|
updateFilterValues(updatedOptions, false);
|
|
100
100
|
}
|
|
101
|
-
})), /*#__PURE__*/_react["default"].createElement(
|
|
101
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
102
|
+
className: (0, _classnames["default"])('range-filter-wrapper', {
|
|
103
|
+
'has-unit': unit
|
|
104
|
+
}),
|
|
105
|
+
style: unit ? {
|
|
106
|
+
'--unit': "\"".concat(unit, "\"")
|
|
107
|
+
} : {}
|
|
108
|
+
}, /*#__PURE__*/_react["default"].createElement(_rangeFilter["default"], {
|
|
102
109
|
key: "".concat(rangeOption, "-").concat(minValue, "-").concat(maxValue),
|
|
103
110
|
name: rangeOption,
|
|
104
111
|
label: displayLabel,
|
|
@@ -108,7 +115,7 @@ var Range = function Range(_ref) {
|
|
|
108
115
|
var value = _ref3.value;
|
|
109
116
|
handleChange(rangeOption, value);
|
|
110
117
|
}
|
|
111
|
-
}));
|
|
118
|
+
})));
|
|
112
119
|
};
|
|
113
120
|
Range.propTypes = {
|
|
114
121
|
propsToDisplay: _propTypes["default"].array.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Range.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_rangeFilter","_router","_select","_queryString","_hooks","_helpers","_decodeEncode","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Range","_ref","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","useRouter","debounceAmount","_parseUrl","parseUrl","decodeValue","asPath","query","hasMultipleOptions","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","_useGetSingleEntitySc","useGetSingleEntitySchema","_useGetSingleEntitySc2","data","_useGetSingleEntitySc3","_useGetSingleEntitySc4","getEntitySchema","loading","options","getSelectOptions","_calculateMinMax","calculateMinMax","min","max","minValue","maxValue","valueToUse","handleChange","debounce","option","value","displayLabel","concat","createElement","Fragment","className","id","required","onChange","_ref2","updatedOptions","prop","_filterValues$prop","eMin","eMax","initValue","getRangeValue","key","name","_ref3","propTypes","PropTypes","array","isRequired","string","object","func","bool","number","defaultProps","_default","exports"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle,\n unit\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n // get range from aggregations so it updates\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n let displayLabel = '';\n if (!hasMultipleOptions) {\n displayLabel = unit ? `${label} (${unit})` : label;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={displayLabel}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired,\n unit: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: '',\n unit: ''\n};\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Range.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_classnames","_rangeFilter","_router","_select","_queryString","_hooks","_helpers","_decodeEncode","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Range","_ref","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","useRouter","debounceAmount","_parseUrl","parseUrl","decodeValue","asPath","query","hasMultipleOptions","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","_useGetSingleEntitySc","useGetSingleEntitySchema","_useGetSingleEntitySc2","data","_useGetSingleEntitySc3","_useGetSingleEntitySc4","getEntitySchema","loading","options","getSelectOptions","_calculateMinMax","calculateMinMax","min","max","minValue","maxValue","valueToUse","handleChange","debounce","option","value","displayLabel","createElement","Fragment","className","id","required","onChange","_ref2","updatedOptions","prop","_calculateMinMax2","aggMin","aggMax","initValue","getRangeValue","classNames","style","concat","key","name","_ref3","propTypes","PropTypes","array","isRequired","string","object","func","bool","number","defaultProps","_default","exports"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport classNames from 'classnames';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle,\n unit\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n let displayLabel = '';\n if (!hasMultipleOptions) {\n displayLabel = label;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: aggMin, max: aggMax } = calculateMinMax(\n dataAggregations[prop],\n rangeInterval\n );\n const initValue = getRangeValue(null, rangeInterval, aggMin, aggMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <div\n className={classNames('range-filter-wrapper', {\n 'has-unit': unit\n })}\n style={unit ? { '--unit': `\"${unit}\"` } : {}}>\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={displayLabel}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </div>\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired,\n unit: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: '',\n unit: ''\n};\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -142,10 +142,11 @@ const SearchFilterContainer = ({
|
|
|
142
142
|
setDisplaySearchFilter(false);
|
|
143
143
|
const hashBit = asPath.split('#')[1] || '';
|
|
144
144
|
let parsedHashBit = hashBit ? `#${hashBit}` : '';
|
|
145
|
-
parsedHashBit = parsedHashBit || `#${componentId}
|
|
145
|
+
parsedHashBit = parsedHashBit || (componentId ? `#${componentId}` : '');
|
|
146
146
|
scrollToFirstList(componentId);
|
|
147
147
|
if (!newQuery) {
|
|
148
|
-
const
|
|
148
|
+
const baseUrl = url || currentUrl;
|
|
149
|
+
const baseQuery = `${baseUrl}${parsedHashBit}`;
|
|
149
150
|
setUrlPath(baseQuery);
|
|
150
151
|
return router.push('/Resolver', baseQuery, {
|
|
151
152
|
shallow: !url,
|
|
@@ -154,7 +155,8 @@ const SearchFilterContainer = ({
|
|
|
154
155
|
setKey(`filter-${name}:${Date.now()}`); // remove after range component update
|
|
155
156
|
});
|
|
156
157
|
}
|
|
157
|
-
const
|
|
158
|
+
const hashToUse = hashBit || componentId;
|
|
159
|
+
const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);
|
|
158
160
|
setUrlPath(newUrl);
|
|
159
161
|
return router.push('/Resolver', newUrl, {
|
|
160
162
|
shallow: !url,
|
|
@@ -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","getComponentId","RAW_RESULTS","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","componentId","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementById","getElementsByClassName","shouldScrollToFirstList","scrollIntoView","window","scrollTo","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 getComponentId\n} from '../../helpers';\nimport { RAW_RESULTS } 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 const componentId = listComponentName ? getComponentId(listComponentName) : '';\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n let parsedHashBit = hashBit ? `#${hashBit}` : '';\n parsedHashBit = parsedHashBit || `#${componentId}`;\n\n scrollToFirstList(componentId);\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 = componentId => {\n const list = componentId\n ? document.getElementById(componentId)\n : document.getElementsByClassName('list-top')[0];\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n list.scrollIntoView();\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","getComponentId","RAW_RESULTS","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","componentId","hashBit","split","parsedHashBit","scrollToFirstList","baseUrl","baseQuery","push","shallow","scroll","then","Date","now","hashToUse","newUrl","list","document","getElementById","getElementsByClassName","shouldScrollToFirstList","scrollIntoView","window","scrollTo","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 getComponentId\n} from '../../helpers';\nimport { RAW_RESULTS } 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 const componentId = listComponentName ? getComponentId(listComponentName) : '';\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n let parsedHashBit = hashBit ? `#${hashBit}` : '';\n parsedHashBit = parsedHashBit || (componentId ? `#${componentId}` : '');\n\n scrollToFirstList(componentId);\n if (!newQuery) {\n const baseUrl = url || currentUrl;\n const baseQuery = `${baseUrl}${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 hashToUse = hashBit || componentId;\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = componentId => {\n const list = componentId\n ? document.getElementById(componentId)\n : document.getElementsByClassName('list-top')[0];\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n list.scrollIntoView();\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":[]}
|
|
@@ -4,6 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import debounce from 'lodash.debounce';
|
|
7
|
+
import classNames from 'classnames';
|
|
7
8
|
import RangeFilter from '@blaze-react/range-filter';
|
|
8
9
|
import { useRouter } from 'next/router';
|
|
9
10
|
import Select from '@blaze-react/select';
|
|
@@ -40,7 +41,6 @@ const Range = ({
|
|
|
40
41
|
} = useGetSingleEntitySchema(entity, !hasMultipleOptions);
|
|
41
42
|
if (loading || !rangeOption || !rangeValue) return '';
|
|
42
43
|
const options = getSelectOptions(getEntitySchema, propsToDisplay);
|
|
43
|
-
// get range from aggregations so it updates
|
|
44
44
|
const {
|
|
45
45
|
min,
|
|
46
46
|
max
|
|
@@ -62,7 +62,7 @@ const Range = ({
|
|
|
62
62
|
}, debounceAmount);
|
|
63
63
|
let displayLabel = '';
|
|
64
64
|
if (!hasMultipleOptions) {
|
|
65
|
-
displayLabel =
|
|
65
|
+
displayLabel = label;
|
|
66
66
|
}
|
|
67
67
|
return /*#__PURE__*/React.createElement(React.Fragment, null, elementTitle && /*#__PURE__*/React.createElement("div", {
|
|
68
68
|
className: "heading heading--section"
|
|
@@ -77,17 +77,24 @@ const Range = ({
|
|
|
77
77
|
const updatedOptions = {};
|
|
78
78
|
propsToDisplay.forEach(prop => {
|
|
79
79
|
const {
|
|
80
|
-
min:
|
|
81
|
-
max:
|
|
82
|
-
} =
|
|
83
|
-
const initValue = getRangeValue(null, rangeInterval,
|
|
80
|
+
min: aggMin,
|
|
81
|
+
max: aggMax
|
|
82
|
+
} = calculateMinMax(dataAggregations[prop], rangeInterval);
|
|
83
|
+
const initValue = getRangeValue(null, rangeInterval, aggMin, aggMax);
|
|
84
84
|
updatedOptions[prop] = _objectSpread(_objectSpread({}, initValue), {}, {
|
|
85
85
|
selectedOption: value
|
|
86
86
|
});
|
|
87
87
|
});
|
|
88
88
|
updateFilterValues(updatedOptions, false);
|
|
89
89
|
}
|
|
90
|
-
})), /*#__PURE__*/React.createElement(
|
|
90
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
91
|
+
className: classNames('range-filter-wrapper', {
|
|
92
|
+
'has-unit': unit
|
|
93
|
+
}),
|
|
94
|
+
style: unit ? {
|
|
95
|
+
'--unit': `"${unit}"`
|
|
96
|
+
} : {}
|
|
97
|
+
}, /*#__PURE__*/React.createElement(RangeFilter, {
|
|
91
98
|
key: `${rangeOption}-${minValue}-${maxValue}`,
|
|
92
99
|
name: rangeOption,
|
|
93
100
|
label: displayLabel,
|
|
@@ -98,7 +105,7 @@ const Range = ({
|
|
|
98
105
|
}) => {
|
|
99
106
|
handleChange(rangeOption, value);
|
|
100
107
|
}
|
|
101
|
-
}));
|
|
108
|
+
})));
|
|
102
109
|
};
|
|
103
110
|
Range.propTypes = {
|
|
104
111
|
propsToDisplay: PropTypes.array.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Range.js","names":["React","PropTypes","debounce","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","displayLabel","createElement","Fragment","className","id","required","onChange","updatedOptions","forEach","prop","
|
|
1
|
+
{"version":3,"file":"Range.js","names":["React","PropTypes","debounce","classNames","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","displayLabel","createElement","Fragment","className","id","required","onChange","updatedOptions","forEach","prop","aggMin","aggMax","initValue","style","key","name","propTypes","array","isRequired","string","object","func","bool","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport classNames from 'classnames';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle,\n unit\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n let displayLabel = '';\n if (!hasMultipleOptions) {\n displayLabel = label;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: aggMin, max: aggMax } = calculateMinMax(\n dataAggregations[prop],\n rangeInterval\n );\n const initValue = getRangeValue(null, rangeInterval, aggMin, aggMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <div\n className={classNames('range-filter-wrapper', {\n 'has-unit': unit\n })}\n style={unit ? { '--unit': `\"${unit}\"` } : {}}>\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={displayLabel}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </div>\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired,\n unit: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: '',\n unit: ''\n};\n\nexport default Range;\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-node18-core-styles-tooltips.
|
|
3
|
+
"version": "0.146.0-node18-core-styles-tooltips.18",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -92,5 +92,5 @@
|
|
|
92
92
|
"lib/*",
|
|
93
93
|
"lib-es/*"
|
|
94
94
|
],
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "3e705f862a9121418a4ae4e6ea540b2b738ce727"
|
|
96
96
|
}
|
|
@@ -137,17 +137,19 @@ const SearchFilterContainer = ({
|
|
|
137
137
|
setDisplaySearchFilter(false);
|
|
138
138
|
const hashBit = asPath.split('#')[1] || '';
|
|
139
139
|
let parsedHashBit = hashBit ? `#${hashBit}` : '';
|
|
140
|
-
parsedHashBit = parsedHashBit || `#${componentId}
|
|
140
|
+
parsedHashBit = parsedHashBit || (componentId ? `#${componentId}` : '');
|
|
141
141
|
|
|
142
142
|
scrollToFirstList(componentId);
|
|
143
143
|
if (!newQuery) {
|
|
144
|
-
const
|
|
144
|
+
const baseUrl = url || currentUrl;
|
|
145
|
+
const baseQuery = `${baseUrl}${parsedHashBit}`;
|
|
145
146
|
setUrlPath(baseQuery);
|
|
146
147
|
return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {
|
|
147
148
|
setKey(`filter-${name}:${Date.now()}`); // remove after range component update
|
|
148
149
|
});
|
|
149
150
|
}
|
|
150
|
-
const
|
|
151
|
+
const hashToUse = hashBit || componentId;
|
|
152
|
+
const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);
|
|
151
153
|
setUrlPath(newUrl);
|
|
152
154
|
return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });
|
|
153
155
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import debounce from 'lodash.debounce';
|
|
4
|
+
import classNames from 'classnames';
|
|
4
5
|
import RangeFilter from '@blaze-react/range-filter';
|
|
5
6
|
import { useRouter } from 'next/router';
|
|
6
7
|
import Select from '@blaze-react/select';
|
|
@@ -39,7 +40,6 @@ const Range = ({
|
|
|
39
40
|
if (loading || !rangeOption || !rangeValue) return '';
|
|
40
41
|
|
|
41
42
|
const options = getSelectOptions(getEntitySchema, propsToDisplay);
|
|
42
|
-
// get range from aggregations so it updates
|
|
43
43
|
const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);
|
|
44
44
|
const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;
|
|
45
45
|
const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;
|
|
@@ -51,7 +51,7 @@ const Range = ({
|
|
|
51
51
|
|
|
52
52
|
let displayLabel = '';
|
|
53
53
|
if (!hasMultipleOptions) {
|
|
54
|
-
displayLabel =
|
|
54
|
+
displayLabel = label;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
return (
|
|
@@ -68,8 +68,11 @@ const Range = ({
|
|
|
68
68
|
onChange={({ value }) => {
|
|
69
69
|
const updatedOptions = {};
|
|
70
70
|
propsToDisplay.forEach(prop => {
|
|
71
|
-
const { min:
|
|
72
|
-
|
|
71
|
+
const { min: aggMin, max: aggMax } = calculateMinMax(
|
|
72
|
+
dataAggregations[prop],
|
|
73
|
+
rangeInterval
|
|
74
|
+
);
|
|
75
|
+
const initValue = getRangeValue(null, rangeInterval, aggMin, aggMax);
|
|
73
76
|
updatedOptions[prop] = { ...initValue, selectedOption: value };
|
|
74
77
|
});
|
|
75
78
|
|
|
@@ -78,16 +81,22 @@ const Range = ({
|
|
|
78
81
|
/>
|
|
79
82
|
</>
|
|
80
83
|
)}
|
|
81
|
-
<
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
84
|
+
<div
|
|
85
|
+
className={classNames('range-filter-wrapper', {
|
|
86
|
+
'has-unit': unit
|
|
87
|
+
})}
|
|
88
|
+
style={unit ? { '--unit': `"${unit}"` } : {}}>
|
|
89
|
+
<RangeFilter
|
|
90
|
+
key={`${rangeOption}-${minValue}-${maxValue}`}
|
|
91
|
+
name={rangeOption}
|
|
92
|
+
label={displayLabel}
|
|
93
|
+
value={valueToUse}
|
|
94
|
+
id={rangeOption}
|
|
95
|
+
onChange={({ value }) => {
|
|
96
|
+
handleChange(rangeOption, value);
|
|
97
|
+
}}
|
|
98
|
+
/>
|
|
99
|
+
</div>
|
|
91
100
|
</>
|
|
92
101
|
);
|
|
93
102
|
};
|
|
@@ -2,46 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`Range component should match snapshot 1`] = `
|
|
4
4
|
<div
|
|
5
|
-
className="
|
|
5
|
+
className="range-filter-wrapper"
|
|
6
|
+
style={Object {}}
|
|
6
7
|
>
|
|
7
|
-
<label
|
|
8
|
-
className=""
|
|
9
|
-
>
|
|
10
|
-
GLabel
|
|
11
|
-
</label>
|
|
12
|
-
<div
|
|
13
|
-
className="values"
|
|
14
|
-
>
|
|
15
|
-
<span>
|
|
16
|
-
0
|
|
17
|
-
</span>
|
|
18
|
-
<span>
|
|
19
|
-
6600
|
|
20
|
-
</span>
|
|
21
|
-
</div>
|
|
22
8
|
<div
|
|
23
|
-
className="
|
|
24
|
-
id="nameRange"
|
|
25
|
-
max={6600}
|
|
26
|
-
max-value={6600}
|
|
27
|
-
min={0}
|
|
28
|
-
min-value={0}
|
|
29
|
-
step={100}
|
|
9
|
+
className="form-field form-field--range "
|
|
30
10
|
>
|
|
31
|
-
<
|
|
32
|
-
className="
|
|
11
|
+
<label
|
|
12
|
+
className=""
|
|
33
13
|
>
|
|
34
|
-
|
|
35
|
-
</
|
|
14
|
+
GLabel
|
|
15
|
+
</label>
|
|
36
16
|
<div
|
|
37
|
-
className="
|
|
17
|
+
className="values"
|
|
38
18
|
>
|
|
39
|
-
<span
|
|
19
|
+
<span>
|
|
20
|
+
0
|
|
21
|
+
</span>
|
|
22
|
+
<span>
|
|
23
|
+
6600
|
|
24
|
+
</span>
|
|
40
25
|
</div>
|
|
41
26
|
<div
|
|
42
|
-
className="range__filter
|
|
27
|
+
className="range__filter name"
|
|
28
|
+
id="nameRange"
|
|
29
|
+
max={6600}
|
|
30
|
+
max-value={6600}
|
|
31
|
+
min={0}
|
|
32
|
+
min-value={0}
|
|
33
|
+
step={100}
|
|
43
34
|
>
|
|
44
|
-
<
|
|
35
|
+
<div
|
|
36
|
+
className="range__filter--left"
|
|
37
|
+
>
|
|
38
|
+
<span />
|
|
39
|
+
</div>
|
|
40
|
+
<div
|
|
41
|
+
className="range__filter--right"
|
|
42
|
+
>
|
|
43
|
+
<span />
|
|
44
|
+
</div>
|
|
45
|
+
<div
|
|
46
|
+
className="range__filter--line"
|
|
47
|
+
>
|
|
48
|
+
<span />
|
|
49
|
+
</div>
|
|
45
50
|
</div>
|
|
46
51
|
</div>
|
|
47
52
|
</div>
|
|
@@ -49,46 +54,51 @@ exports[`Range component should match snapshot 1`] = `
|
|
|
49
54
|
|
|
50
55
|
exports[`Range component should match snapshot large values formatted correctly 1`] = `
|
|
51
56
|
<div
|
|
52
|
-
className="
|
|
57
|
+
className="range-filter-wrapper"
|
|
58
|
+
style={Object {}}
|
|
53
59
|
>
|
|
54
|
-
<label
|
|
55
|
-
className=""
|
|
56
|
-
>
|
|
57
|
-
GLabel
|
|
58
|
-
</label>
|
|
59
60
|
<div
|
|
60
|
-
className="
|
|
61
|
-
>
|
|
62
|
-
<span>
|
|
63
|
-
9999
|
|
64
|
-
</span>
|
|
65
|
-
<span>
|
|
66
|
-
10,000
|
|
67
|
-
</span>
|
|
68
|
-
</div>
|
|
69
|
-
<div
|
|
70
|
-
className="range__filter name"
|
|
71
|
-
id="nameRange"
|
|
72
|
-
max={10000}
|
|
73
|
-
max-value={10000}
|
|
74
|
-
min={9995}
|
|
75
|
-
min-value={9999}
|
|
76
|
-
step={1}
|
|
61
|
+
className="form-field form-field--range "
|
|
77
62
|
>
|
|
78
|
-
<
|
|
79
|
-
className="
|
|
63
|
+
<label
|
|
64
|
+
className=""
|
|
80
65
|
>
|
|
81
|
-
|
|
82
|
-
</
|
|
66
|
+
GLabel
|
|
67
|
+
</label>
|
|
83
68
|
<div
|
|
84
|
-
className="
|
|
69
|
+
className="values"
|
|
85
70
|
>
|
|
86
|
-
<span
|
|
71
|
+
<span>
|
|
72
|
+
9999
|
|
73
|
+
</span>
|
|
74
|
+
<span>
|
|
75
|
+
10,000
|
|
76
|
+
</span>
|
|
87
77
|
</div>
|
|
88
78
|
<div
|
|
89
|
-
className="range__filter
|
|
79
|
+
className="range__filter name"
|
|
80
|
+
id="nameRange"
|
|
81
|
+
max={10000}
|
|
82
|
+
max-value={10000}
|
|
83
|
+
min={9995}
|
|
84
|
+
min-value={9999}
|
|
85
|
+
step={1}
|
|
90
86
|
>
|
|
91
|
-
<
|
|
87
|
+
<div
|
|
88
|
+
className="range__filter--left"
|
|
89
|
+
>
|
|
90
|
+
<span />
|
|
91
|
+
</div>
|
|
92
|
+
<div
|
|
93
|
+
className="range__filter--right"
|
|
94
|
+
>
|
|
95
|
+
<span />
|
|
96
|
+
</div>
|
|
97
|
+
<div
|
|
98
|
+
className="range__filter--line"
|
|
99
|
+
>
|
|
100
|
+
<span />
|
|
101
|
+
</div>
|
|
92
102
|
</div>
|
|
93
103
|
</div>
|
|
94
104
|
</div>
|
|
@@ -96,46 +106,51 @@ exports[`Range component should match snapshot large values formatted correctly
|
|
|
96
106
|
|
|
97
107
|
exports[`Range component should match snapshot with adjusted min & max values based on interval 1`] = `
|
|
98
108
|
<div
|
|
99
|
-
className="
|
|
109
|
+
className="range-filter-wrapper"
|
|
110
|
+
style={Object {}}
|
|
100
111
|
>
|
|
101
|
-
<label
|
|
102
|
-
className=""
|
|
103
|
-
>
|
|
104
|
-
GLabel
|
|
105
|
-
</label>
|
|
106
112
|
<div
|
|
107
|
-
className="
|
|
108
|
-
>
|
|
109
|
-
<span>
|
|
110
|
-
7
|
|
111
|
-
</span>
|
|
112
|
-
<span>
|
|
113
|
-
8
|
|
114
|
-
</span>
|
|
115
|
-
</div>
|
|
116
|
-
<div
|
|
117
|
-
className="range__filter name"
|
|
118
|
-
id="nameRange"
|
|
119
|
-
max={8}
|
|
120
|
-
max-value={8}
|
|
121
|
-
min={6}
|
|
122
|
-
min-value={7}
|
|
123
|
-
step={1}
|
|
113
|
+
className="form-field form-field--range "
|
|
124
114
|
>
|
|
125
|
-
<
|
|
126
|
-
className="
|
|
115
|
+
<label
|
|
116
|
+
className=""
|
|
127
117
|
>
|
|
128
|
-
|
|
129
|
-
</
|
|
118
|
+
GLabel
|
|
119
|
+
</label>
|
|
130
120
|
<div
|
|
131
|
-
className="
|
|
121
|
+
className="values"
|
|
132
122
|
>
|
|
133
|
-
<span
|
|
123
|
+
<span>
|
|
124
|
+
7
|
|
125
|
+
</span>
|
|
126
|
+
<span>
|
|
127
|
+
8
|
|
128
|
+
</span>
|
|
134
129
|
</div>
|
|
135
130
|
<div
|
|
136
|
-
className="range__filter
|
|
131
|
+
className="range__filter name"
|
|
132
|
+
id="nameRange"
|
|
133
|
+
max={8}
|
|
134
|
+
max-value={8}
|
|
135
|
+
min={6}
|
|
136
|
+
min-value={7}
|
|
137
|
+
step={1}
|
|
137
138
|
>
|
|
138
|
-
<
|
|
139
|
+
<div
|
|
140
|
+
className="range__filter--left"
|
|
141
|
+
>
|
|
142
|
+
<span />
|
|
143
|
+
</div>
|
|
144
|
+
<div
|
|
145
|
+
className="range__filter--right"
|
|
146
|
+
>
|
|
147
|
+
<span />
|
|
148
|
+
</div>
|
|
149
|
+
<div
|
|
150
|
+
className="range__filter--line"
|
|
151
|
+
>
|
|
152
|
+
<span />
|
|
153
|
+
</div>
|
|
139
154
|
</div>
|
|
140
155
|
</div>
|
|
141
156
|
</div>
|
|
@@ -143,46 +158,51 @@ exports[`Range component should match snapshot with adjusted min & max values ba
|
|
|
143
158
|
|
|
144
159
|
exports[`Range component should match snapshot with interval 1`] = `
|
|
145
160
|
<div
|
|
146
|
-
className="
|
|
161
|
+
className="range-filter-wrapper"
|
|
162
|
+
style={Object {}}
|
|
147
163
|
>
|
|
148
|
-
<label
|
|
149
|
-
className=""
|
|
150
|
-
>
|
|
151
|
-
GLabel
|
|
152
|
-
</label>
|
|
153
|
-
<div
|
|
154
|
-
className="values"
|
|
155
|
-
>
|
|
156
|
-
<span>
|
|
157
|
-
0
|
|
158
|
-
</span>
|
|
159
|
-
<span>
|
|
160
|
-
6600
|
|
161
|
-
</span>
|
|
162
|
-
</div>
|
|
163
164
|
<div
|
|
164
|
-
className="
|
|
165
|
-
id="nameRange"
|
|
166
|
-
max={6600}
|
|
167
|
-
max-value={6600}
|
|
168
|
-
min={0}
|
|
169
|
-
min-value={0}
|
|
170
|
-
step={100}
|
|
165
|
+
className="form-field form-field--range "
|
|
171
166
|
>
|
|
172
|
-
<
|
|
173
|
-
className="
|
|
167
|
+
<label
|
|
168
|
+
className=""
|
|
174
169
|
>
|
|
175
|
-
|
|
176
|
-
</
|
|
170
|
+
GLabel
|
|
171
|
+
</label>
|
|
177
172
|
<div
|
|
178
|
-
className="
|
|
173
|
+
className="values"
|
|
179
174
|
>
|
|
180
|
-
<span
|
|
175
|
+
<span>
|
|
176
|
+
0
|
|
177
|
+
</span>
|
|
178
|
+
<span>
|
|
179
|
+
6600
|
|
180
|
+
</span>
|
|
181
181
|
</div>
|
|
182
182
|
<div
|
|
183
|
-
className="range__filter
|
|
183
|
+
className="range__filter name"
|
|
184
|
+
id="nameRange"
|
|
185
|
+
max={6600}
|
|
186
|
+
max-value={6600}
|
|
187
|
+
min={0}
|
|
188
|
+
min-value={0}
|
|
189
|
+
step={100}
|
|
184
190
|
>
|
|
185
|
-
<
|
|
191
|
+
<div
|
|
192
|
+
className="range__filter--left"
|
|
193
|
+
>
|
|
194
|
+
<span />
|
|
195
|
+
</div>
|
|
196
|
+
<div
|
|
197
|
+
className="range__filter--right"
|
|
198
|
+
>
|
|
199
|
+
<span />
|
|
200
|
+
</div>
|
|
201
|
+
<div
|
|
202
|
+
className="range__filter--line"
|
|
203
|
+
>
|
|
204
|
+
<span />
|
|
205
|
+
</div>
|
|
186
206
|
</div>
|
|
187
207
|
</div>
|
|
188
208
|
</div>
|
|
@@ -190,61 +210,72 @@ exports[`Range component should match snapshot with interval 1`] = `
|
|
|
190
210
|
|
|
191
211
|
exports[`Range component should match snapshot with interval and rounded min & max values 1`] = `
|
|
192
212
|
<div
|
|
193
|
-
className="
|
|
213
|
+
className="range-filter-wrapper"
|
|
214
|
+
style={Object {}}
|
|
194
215
|
>
|
|
195
|
-
<label
|
|
196
|
-
className=""
|
|
197
|
-
>
|
|
198
|
-
GLabel
|
|
199
|
-
</label>
|
|
200
|
-
<div
|
|
201
|
-
className="values"
|
|
202
|
-
>
|
|
203
|
-
<span>
|
|
204
|
-
15.5
|
|
205
|
-
</span>
|
|
206
|
-
<span>
|
|
207
|
-
49.5
|
|
208
|
-
</span>
|
|
209
|
-
</div>
|
|
210
216
|
<div
|
|
211
|
-
className="
|
|
212
|
-
id="nameRange"
|
|
213
|
-
max={50}
|
|
214
|
-
max-value={49.5}
|
|
215
|
-
min={15}
|
|
216
|
-
min-value={15.5}
|
|
217
|
-
step={1}
|
|
217
|
+
className="form-field form-field--range "
|
|
218
218
|
>
|
|
219
|
-
<
|
|
220
|
-
className="
|
|
219
|
+
<label
|
|
220
|
+
className=""
|
|
221
221
|
>
|
|
222
|
-
|
|
223
|
-
</
|
|
222
|
+
GLabel
|
|
223
|
+
</label>
|
|
224
224
|
<div
|
|
225
|
-
className="
|
|
225
|
+
className="values"
|
|
226
226
|
>
|
|
227
|
-
<span
|
|
227
|
+
<span>
|
|
228
|
+
15.5
|
|
229
|
+
</span>
|
|
230
|
+
<span>
|
|
231
|
+
49.5
|
|
232
|
+
</span>
|
|
228
233
|
</div>
|
|
229
234
|
<div
|
|
230
|
-
className="range__filter
|
|
235
|
+
className="range__filter name"
|
|
236
|
+
id="nameRange"
|
|
237
|
+
max={50}
|
|
238
|
+
max-value={49.5}
|
|
239
|
+
min={15}
|
|
240
|
+
min-value={15.5}
|
|
241
|
+
step={1}
|
|
231
242
|
>
|
|
232
|
-
<
|
|
243
|
+
<div
|
|
244
|
+
className="range__filter--left"
|
|
245
|
+
>
|
|
246
|
+
<span />
|
|
247
|
+
</div>
|
|
248
|
+
<div
|
|
249
|
+
className="range__filter--right"
|
|
250
|
+
>
|
|
251
|
+
<span />
|
|
252
|
+
</div>
|
|
253
|
+
<div
|
|
254
|
+
className="range__filter--line"
|
|
255
|
+
>
|
|
256
|
+
<span />
|
|
257
|
+
</div>
|
|
233
258
|
</div>
|
|
234
259
|
</div>
|
|
235
260
|
</div>
|
|
236
261
|
`;
|
|
237
262
|
|
|
238
263
|
exports[`Range component should match snapshot with unit prop 1`] = `
|
|
239
|
-
|
|
240
|
-
""
|
|
264
|
+
<div
|
|
265
|
+
className="range-filter-wrapper has-unit"
|
|
266
|
+
style={
|
|
267
|
+
Object {
|
|
268
|
+
"--unit": "\\"m\\"",
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
>
|
|
241
272
|
<div
|
|
242
273
|
className="form-field form-field--range "
|
|
243
274
|
>
|
|
244
275
|
<label
|
|
245
276
|
className=""
|
|
246
277
|
>
|
|
247
|
-
GLabel
|
|
278
|
+
GLabel
|
|
248
279
|
</label>
|
|
249
280
|
<div
|
|
250
281
|
className="values"
|
|
@@ -281,6 +312,6 @@ Array [
|
|
|
281
312
|
<span />
|
|
282
313
|
</div>
|
|
283
314
|
</div>
|
|
284
|
-
</div
|
|
285
|
-
|
|
315
|
+
</div>
|
|
316
|
+
</div>
|
|
286
317
|
`;
|