@blaze-cms/react-page-builder 0.113.0-alpha.1 → 0.113.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/lib/components/SearchFilter/SearchFilterContainer.js +12 -0
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +4 -0
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/package.json +2 -2
- package/src/components/SearchFilter/SearchFilterContainer.js +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.113.0-alpha.2](https://github.com/thebyte9/blaze/compare/v0.113.0-alpha.1...v0.113.0-alpha.2) (2021-11-08)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* reset filter ([#3164](https://github.com/thebyte9/blaze/issues/3164)) ([b47b809](https://github.com/thebyte9/blaze/commit/b47b8099cf00e05be69928c4ec3fcbe9104e222c))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [0.113.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.113.0-alpha.0...v0.113.0-alpha.1) (2021-11-05)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -33,6 +33,10 @@ require("core-js/modules/es.array.sort.js");
|
|
|
33
33
|
|
|
34
34
|
require("core-js/modules/es.array.concat.js");
|
|
35
35
|
|
|
36
|
+
require("core-js/modules/es.date.now.js");
|
|
37
|
+
|
|
38
|
+
require("core-js/modules/es.date.to-string.js");
|
|
39
|
+
|
|
36
40
|
require("core-js/modules/es.array.for-each.js");
|
|
37
41
|
|
|
38
42
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
@@ -81,6 +85,11 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
81
85
|
displaySearchFilter = _useState2[0],
|
|
82
86
|
setDisplaySearchFilter = _useState2[1];
|
|
83
87
|
|
|
88
|
+
var _useState3 = (0, _react.useState)("filter-".concat(name)),
|
|
89
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
90
|
+
key = _useState4[0],
|
|
91
|
+
setKey = _useState4[1];
|
|
92
|
+
|
|
84
93
|
(0, _helpers.removeUpdatedRanges)();
|
|
85
94
|
var buttonRef = (0, _react.useRef)(null);
|
|
86
95
|
var searchFilterRef = (0, _react.useRef)(null);
|
|
@@ -137,6 +146,8 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
137
146
|
router.push('/Resolver', baseQuery, {
|
|
138
147
|
shallow: !hasUrl,
|
|
139
148
|
scroll: false
|
|
149
|
+
}).then(function () {
|
|
150
|
+
setKey("filter-".concat(name, ":").concat(Date.now()));
|
|
140
151
|
});
|
|
141
152
|
};
|
|
142
153
|
|
|
@@ -176,6 +187,7 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
176
187
|
if (error) return error.message;
|
|
177
188
|
var shouldDisplayForm = !!filters.length && !loading;
|
|
178
189
|
return shouldDisplayForm ? /*#__PURE__*/_react["default"].createElement(_SearchFilter["default"], {
|
|
190
|
+
key: key,
|
|
179
191
|
data: data,
|
|
180
192
|
filters: filters,
|
|
181
193
|
buttonRef: buttonRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"names":["SearchFilterContainer","router","entity","url","filters","name","isCollapsedOnResponsive","groupAfter","displaySearchFilter","setDisplaySearchFilter","buttonRef","searchFilterRef","hasUrl","asPath","currentUrl","query","sort","sortby","sortValues","baseQuery","handleSearch","e","preventDefault","updatedRanges","queryParams","scrollToParent","push","shallow","scroll","newUrl","current","window","scrollTo","left","top","pageYOffset","parentNode","getBoundingClientRect","behavior","resetFilters","action","RAW_RESULTS","rawQueryStringified","checkboxSelectValues","rangeValues","forEach","type","propsToDisplay","CHECKBOX_SELECT","includes","RANGE","docType","variables","limit","skip","data","error","loading","message","shouldDisplayForm","length","propTypes","PropTypes","object","isRequired","string","array","bool","number","defaultProps"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"names":["SearchFilterContainer","router","entity","url","filters","name","isCollapsedOnResponsive","groupAfter","displaySearchFilter","setDisplaySearchFilter","key","setKey","buttonRef","searchFilterRef","hasUrl","asPath","currentUrl","query","sort","sortby","sortValues","baseQuery","handleSearch","e","preventDefault","updatedRanges","queryParams","scrollToParent","push","shallow","scroll","newUrl","current","window","scrollTo","left","top","pageYOffset","parentNode","getBoundingClientRect","behavior","resetFilters","then","Date","now","action","RAW_RESULTS","rawQueryStringified","checkboxSelectValues","rangeValues","forEach","type","propsToDisplay","CHECKBOX_SELECT","includes","RANGE","docType","variables","limit","skip","data","error","loading","message","shouldDisplayForm","length","propTypes","PropTypes","object","isRequired","string","array","bool","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useState, useRef } from 'react';\nimport { withRouter } from 'next/router';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n buildQueryParams,\n getUpdatedRanges,\n removeUpdatedRanges\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\n\nconst SearchFilterContainer = ({\n router,\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfter\n}) => {\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [key, setKey] = useState(`filter-${name}`);\n\n removeUpdatedRanges();\n const buttonRef = useRef(null);\n const searchFilterRef = useRef(null);\n\n const hasUrl = !!url;\n const {\n url: currentUrl,\n query: { sort, sortby }\n } = parseUrl(router.asPath);\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const handleSearch = e => {\n e.preventDefault();\n const updatedRanges = getUpdatedRanges();\n const queryParams = buildQueryParams(e, filters, updatedRanges);\n setDisplaySearchFilter(false);\n\n if (!queryParams) {\n scrollToParent();\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false });\n }\n const newUrl = buildNewQuery(url, currentUrl, queryParams, sortValues);\n scrollToParent();\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToParent = () => {\n if (searchFilterRef && searchFilterRef.current) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset + searchFilterRef.current.parentNode.getBoundingClientRect().top,\n behavior: 'smooth'\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n const resetFilters = () => {\n scrollToParent();\n router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`);\n });\n };\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n\n let rawQueryStringified = '';\n\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n rawQueryStringified = buildRawQueryStringified(checkboxSelectValues, rangeValues, docType);\n\n const { data = {}, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n\n const shouldDisplayForm = !!filters.length && !loading;\n\n return shouldDisplayForm ? (\n <SearchFilter\n key={key}\n data={data}\n filters={filters}\n buttonRef={buttonRef}\n searchFilterRef={searchFilterRef}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n resetFilters={resetFilters}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfter={groupAfter}\n />\n ) : null;\n};\n\nSearchFilterContainer.propTypes = {\n router: PropTypes.object.isRequired,\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfter: PropTypes.number\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfter: 0\n};\n\nexport default withRouter(withTitle(SearchFilterContainer));\n"],"file":"SearchFilterContainer.js"}
|
|
@@ -20,6 +20,7 @@ const SearchFilterContainer = ({
|
|
|
20
20
|
groupAfter
|
|
21
21
|
}) => {
|
|
22
22
|
const [displaySearchFilter, setDisplaySearchFilter] = useState(false);
|
|
23
|
+
const [key, setKey] = useState(`filter-${name}`);
|
|
23
24
|
removeUpdatedRanges();
|
|
24
25
|
const buttonRef = useRef(null);
|
|
25
26
|
const searchFilterRef = useRef(null);
|
|
@@ -76,6 +77,8 @@ const SearchFilterContainer = ({
|
|
|
76
77
|
router.push('/Resolver', baseQuery, {
|
|
77
78
|
shallow: !hasUrl,
|
|
78
79
|
scroll: false
|
|
80
|
+
}).then(() => {
|
|
81
|
+
setKey(`filter-${name}:${Date.now()}`);
|
|
79
82
|
});
|
|
80
83
|
};
|
|
81
84
|
|
|
@@ -112,6 +115,7 @@ const SearchFilterContainer = ({
|
|
|
112
115
|
if (error) return error.message;
|
|
113
116
|
const shouldDisplayForm = !!filters.length && !loading;
|
|
114
117
|
return shouldDisplayForm ? /*#__PURE__*/React.createElement(SearchFilter, {
|
|
118
|
+
key: key,
|
|
115
119
|
data: data,
|
|
116
120
|
filters: filters,
|
|
117
121
|
buttonRef: buttonRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"names":["React","useState","useRef","withRouter","useQuery","PropTypes","parseUrl","stringify","SearchFilter","withTitle","getSearchPublishedContent","buildNewQuery","buildRawQueryStringified","buildQueryParams","getUpdatedRanges","removeUpdatedRanges","getEntityData","RAW_RESULTS","RANGE","CHECKBOX_SELECT","SearchFilterContainer","router","entity","url","filters","name","isCollapsedOnResponsive","groupAfter","displaySearchFilter","setDisplaySearchFilter","buttonRef","searchFilterRef","hasUrl","currentUrl","query","sort","sortby","asPath","sortValues","baseQuery","handleSearch","e","preventDefault","updatedRanges","queryParams","scrollToParent","push","shallow","scroll","newUrl","current","window","scrollTo","left","top","pageYOffset","parentNode","getBoundingClientRect","behavior","resetFilters","action","rawQueryStringified","checkboxSelectValues","rangeValues","forEach","type","propsToDisplay","includes","docType","data","error","loading","variables","limit","skip","message","shouldDisplayForm","length","propTypes","object","isRequired","string","array","bool","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useState, useRef } from 'react';\nimport { withRouter } from 'next/router';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n buildQueryParams,\n getUpdatedRanges,\n removeUpdatedRanges\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\n\nconst SearchFilterContainer = ({\n router,\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfter\n}) => {\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n\n removeUpdatedRanges();\n const buttonRef = useRef(null);\n const searchFilterRef = useRef(null);\n\n const hasUrl = !!url;\n const {\n url: currentUrl,\n query: { sort, sortby }\n } = parseUrl(router.asPath);\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const handleSearch = e => {\n e.preventDefault();\n const updatedRanges = getUpdatedRanges();\n const queryParams = buildQueryParams(e, filters, updatedRanges);\n setDisplaySearchFilter(false);\n\n if (!queryParams) {\n scrollToParent();\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false });\n }\n const newUrl = buildNewQuery(url, currentUrl, queryParams, sortValues);\n scrollToParent();\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToParent = () => {\n if (searchFilterRef && searchFilterRef.current) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset + searchFilterRef.current.parentNode.getBoundingClientRect().top,\n behavior: 'smooth'\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n const resetFilters = () => {\n scrollToParent();\n router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false });\n };\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n\n let rawQueryStringified = '';\n\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n rawQueryStringified = buildRawQueryStringified(checkboxSelectValues, rangeValues, docType);\n\n const { data = {}, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n\n const shouldDisplayForm = !!filters.length && !loading;\n\n return shouldDisplayForm ? (\n <SearchFilter\n data={data}\n filters={filters}\n buttonRef={buttonRef}\n searchFilterRef={searchFilterRef}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n resetFilters={resetFilters}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfter={groupAfter}\n />\n ) : null;\n};\n\nSearchFilterContainer.propTypes = {\n router: PropTypes.object.isRequired,\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfter: PropTypes.number\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfter: 0\n};\n\nexport default withRouter(withTitle(SearchFilterContainer));\n"],"file":"SearchFilterContainer.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"names":["React","useState","useRef","withRouter","useQuery","PropTypes","parseUrl","stringify","SearchFilter","withTitle","getSearchPublishedContent","buildNewQuery","buildRawQueryStringified","buildQueryParams","getUpdatedRanges","removeUpdatedRanges","getEntityData","RAW_RESULTS","RANGE","CHECKBOX_SELECT","SearchFilterContainer","router","entity","url","filters","name","isCollapsedOnResponsive","groupAfter","displaySearchFilter","setDisplaySearchFilter","key","setKey","buttonRef","searchFilterRef","hasUrl","currentUrl","query","sort","sortby","asPath","sortValues","baseQuery","handleSearch","e","preventDefault","updatedRanges","queryParams","scrollToParent","push","shallow","scroll","newUrl","current","window","scrollTo","left","top","pageYOffset","parentNode","getBoundingClientRect","behavior","resetFilters","then","Date","now","action","rawQueryStringified","checkboxSelectValues","rangeValues","forEach","type","propsToDisplay","includes","docType","data","error","loading","variables","limit","skip","message","shouldDisplayForm","length","propTypes","object","isRequired","string","array","bool","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useState, useRef } from 'react';\nimport { withRouter } from 'next/router';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n buildQueryParams,\n getUpdatedRanges,\n removeUpdatedRanges\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\n\nconst SearchFilterContainer = ({\n router,\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfter\n}) => {\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [key, setKey] = useState(`filter-${name}`);\n\n removeUpdatedRanges();\n const buttonRef = useRef(null);\n const searchFilterRef = useRef(null);\n\n const hasUrl = !!url;\n const {\n url: currentUrl,\n query: { sort, sortby }\n } = parseUrl(router.asPath);\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const handleSearch = e => {\n e.preventDefault();\n const updatedRanges = getUpdatedRanges();\n const queryParams = buildQueryParams(e, filters, updatedRanges);\n setDisplaySearchFilter(false);\n\n if (!queryParams) {\n scrollToParent();\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false });\n }\n const newUrl = buildNewQuery(url, currentUrl, queryParams, sortValues);\n scrollToParent();\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToParent = () => {\n if (searchFilterRef && searchFilterRef.current) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset + searchFilterRef.current.parentNode.getBoundingClientRect().top,\n behavior: 'smooth'\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n const resetFilters = () => {\n scrollToParent();\n router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`);\n });\n };\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n\n let rawQueryStringified = '';\n\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n rawQueryStringified = buildRawQueryStringified(checkboxSelectValues, rangeValues, docType);\n\n const { data = {}, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n\n const shouldDisplayForm = !!filters.length && !loading;\n\n return shouldDisplayForm ? (\n <SearchFilter\n key={key}\n data={data}\n filters={filters}\n buttonRef={buttonRef}\n searchFilterRef={searchFilterRef}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n resetFilters={resetFilters}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfter={groupAfter}\n />\n ) : null;\n};\n\nSearchFilterContainer.propTypes = {\n router: PropTypes.object.isRequired,\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfter: PropTypes.number\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfter: 0\n};\n\nexport default withRouter(withTitle(SearchFilterContainer));\n"],"file":"SearchFilterContainer.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/react-page-builder",
|
|
3
|
-
"version": "0.113.0-alpha.
|
|
3
|
+
"version": "0.113.0-alpha.2",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -88,5 +88,5 @@
|
|
|
88
88
|
"lib/*",
|
|
89
89
|
"lib-es/*"
|
|
90
90
|
],
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "684bb71e3f060db32bea3f3e99528d2d92b1722d"
|
|
92
92
|
}
|
|
@@ -26,6 +26,7 @@ const SearchFilterContainer = ({
|
|
|
26
26
|
groupAfter
|
|
27
27
|
}) => {
|
|
28
28
|
const [displaySearchFilter, setDisplaySearchFilter] = useState(false);
|
|
29
|
+
const [key, setKey] = useState(`filter-${name}`);
|
|
29
30
|
|
|
30
31
|
removeUpdatedRanges();
|
|
31
32
|
const buttonRef = useRef(null);
|
|
@@ -68,7 +69,9 @@ const SearchFilterContainer = ({
|
|
|
68
69
|
|
|
69
70
|
const resetFilters = () => {
|
|
70
71
|
scrollToParent();
|
|
71
|
-
router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false })
|
|
72
|
+
router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {
|
|
73
|
+
setKey(`filter-${name}:${Date.now()}`);
|
|
74
|
+
});
|
|
72
75
|
};
|
|
73
76
|
|
|
74
77
|
const action = getSearchPublishedContent(RAW_RESULTS);
|
|
@@ -101,6 +104,7 @@ const SearchFilterContainer = ({
|
|
|
101
104
|
|
|
102
105
|
return shouldDisplayForm ? (
|
|
103
106
|
<SearchFilter
|
|
107
|
+
key={key}
|
|
104
108
|
data={data}
|
|
105
109
|
filters={filters}
|
|
106
110
|
buttonRef={buttonRef}
|