@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 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 baseQuery = "".concat(currentUrl).concat(parsedHashBit);
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 newUrl = (0, _helpers.buildNewUrl)(url, currentUrl, newQuery, hashBit);
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 = unit ? "".concat(label, " (").concat(unit, ")") : label;
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 _filterValues$prop = filterValues[prop],
92
- eMin = _filterValues$prop.min,
93
- eMax = _filterValues$prop.max;
94
- var initValue = (0, _helpers.getRangeValue)(null, rangeInterval, eMin, eMax);
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(_rangeFilter["default"], {
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 baseQuery = `${currentUrl}${parsedHashBit}`;
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 newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);
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 = unit ? `${label} (${unit})` : label;
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: eMin,
81
- max: eMax
82
- } = filterValues[prop];
83
- const initValue = getRangeValue(null, rangeInterval, eMin, eMax);
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(RangeFilter, {
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","eMin","eMax","initValue","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 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","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.15",
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": "257b57efbc935dee59eb40aff4c94578124fe5b9"
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 baseQuery = `${currentUrl}${parsedHashBit}`;
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 newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);
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 = unit ? `${label} (${unit})` : label;
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: eMin, max: eMax } = filterValues[prop];
72
- const initValue = getRangeValue(null, rangeInterval, eMin, eMax);
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
- <RangeFilter
82
- key={`${rangeOption}-${minValue}-${maxValue}`}
83
- name={rangeOption}
84
- label={displayLabel}
85
- value={valueToUse}
86
- id={rangeOption}
87
- onChange={({ value }) => {
88
- handleChange(rangeOption, value);
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="form-field form-field--range "
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="range__filter name"
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
- <div
32
- className="range__filter--left"
11
+ <label
12
+ className=""
33
13
  >
34
- <span />
35
- </div>
14
+ GLabel
15
+ </label>
36
16
  <div
37
- className="range__filter--right"
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--line"
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
- <span />
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="form-field form-field--range "
57
+ className="range-filter-wrapper"
58
+ style={Object {}}
53
59
  >
54
- <label
55
- className=""
56
- >
57
- GLabel
58
- </label>
59
60
  <div
60
- className="values"
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
- <div
79
- className="range__filter--left"
63
+ <label
64
+ className=""
80
65
  >
81
- <span />
82
- </div>
66
+ GLabel
67
+ </label>
83
68
  <div
84
- className="range__filter--right"
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--line"
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
- <span />
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="form-field form-field--range "
109
+ className="range-filter-wrapper"
110
+ style={Object {}}
100
111
  >
101
- <label
102
- className=""
103
- >
104
- GLabel
105
- </label>
106
112
  <div
107
- className="values"
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
- <div
126
- className="range__filter--left"
115
+ <label
116
+ className=""
127
117
  >
128
- <span />
129
- </div>
118
+ GLabel
119
+ </label>
130
120
  <div
131
- className="range__filter--right"
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--line"
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
- <span />
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="form-field form-field--range "
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="range__filter name"
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
- <div
173
- className="range__filter--left"
167
+ <label
168
+ className=""
174
169
  >
175
- <span />
176
- </div>
170
+ GLabel
171
+ </label>
177
172
  <div
178
- className="range__filter--right"
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--line"
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
- <span />
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="form-field form-field--range "
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="range__filter name"
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
- <div
220
- className="range__filter--left"
219
+ <label
220
+ className=""
221
221
  >
222
- <span />
223
- </div>
222
+ GLabel
223
+ </label>
224
224
  <div
225
- className="range__filter--right"
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--line"
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
- <span />
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
- Array [
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 (m)
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
  `;