@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 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":"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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":["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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAOA;;AACA;;;;;;AAEA,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,OAQxB;AAAA,MAPJC,MAOI,QAPJA,MAOI;AAAA,MANJC,MAMI,QANJA,MAMI;AAAA,MALJC,GAKI,QALJA,GAKI;AAAA,MAJJC,OAII,QAJJA,OAII;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,uBAEI,QAFJA,uBAEI;AAAA,MADJC,UACI,QADJA,UACI;;AACJ,kBAAsD,qBAAS,KAAT,CAAtD;AAAA;AAAA,MAAOC,mBAAP;AAAA,MAA4BC,sBAA5B;;AACA,mBAAsB,sCAAmBJ,IAAnB,EAAtB;AAAA;AAAA,MAAOK,GAAP;AAAA,MAAYC,MAAZ;;AAEA;AACA,MAAMC,SAAS,GAAG,mBAAO,IAAP,CAAlB;AACA,MAAMC,eAAe,GAAG,mBAAO,IAAP,CAAxB;AAEA,MAAMC,MAAM,GAAG,CAAC,CAACX,GAAjB;;AACA,kBAGI,2BAASF,MAAM,CAACc,MAAhB,CAHJ;AAAA,MACOC,UADP,aACEb,GADF;AAAA,kCAEEc,KAFF;AAAA,MAEWC,IAFX,mBAEWA,IAFX;AAAA,MAEiBC,MAFjB,mBAEiBA,MAFjB;;AAIA,MAAMC,UAAU,GAAGF,IAAI,IAAIC,MAAR,GAAiB,4BAAU;AAAED,IAAAA,IAAI,EAAJA,IAAF;AAAQC,IAAAA,MAAM,EAANA;AAAR,GAAV,CAAjB,GAA+C,EAAlE;AACA,MAAME,SAAS,GAAGD,UAAU,aAAMJ,UAAN,cAAoBI,UAApB,IAAmCJ,UAA/D;;AAEA,MAAMM,YAAY,GAAG,SAAfA,YAAe,CAAAC,CAAC,EAAI;AACxBA,IAAAA,CAAC,CAACC,cAAF;AACA,QAAMC,aAAa,GAAG,gCAAtB;AACA,QAAMC,WAAW,GAAG,+BAAiBH,CAAjB,EAAoBnB,OAApB,EAA6BqB,aAA7B,CAApB;AACAhB,IAAAA,sBAAsB,CAAC,KAAD,CAAtB;;AAEA,QAAI,CAACiB,WAAL,EAAkB;AAChBC,MAAAA,cAAc;AACd,aAAO1B,MAAM,CAAC2B,IAAP,CAAY,WAAZ,EAAyBP,SAAzB,EAAoC;AAAEQ,QAAAA,OAAO,EAAE,CAACf,MAAZ;AAAoBgB,QAAAA,MAAM,EAAE;AAA5B,OAApC,CAAP;AACD;;AACD,QAAMC,MAAM,GAAG,4BAAc5B,GAAd,EAAmBa,UAAnB,EAA+BU,WAA/B,EAA4CN,UAA5C,CAAf;AACAO,IAAAA,cAAc;AACd,WAAO1B,MAAM,CAAC2B,IAAP,CAAY,WAAZ,EAAyBG,MAAzB,EAAiC;AAAEF,MAAAA,OAAO,EAAE,CAACf,MAAZ;AAAoBgB,MAAAA,MAAM,EAAE;AAA5B,KAAjC,CAAP;AACD,GAbD;;AAeA,MAAMH,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAId,eAAe,IAAIA,eAAe,CAACmB,OAAvC,EAAgD;AAC9CC,MAAAA,MAAM,CAACC,QAAP,CAAgB;AACdC,QAAAA,IAAI,EAAE,CADQ;AAEdC,QAAAA,GAAG,EAAEH,MAAM,CAACI,WAAP,GAAqBxB,eAAe,CAACmB,OAAhB,CAAwBM,UAAxB,CAAmCC,qBAAnC,GAA2DH,GAFvE;AAGdI,QAAAA,QAAQ,EAAE;AAHI,OAAhB;AAKD,KAND,MAMO;AACLP,MAAAA,MAAM,CAACC,QAAP,CAAgB,CAAhB,EAAmB,CAAnB;AACD;AACF,GAVD;;AAYA,MAAMO,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzBd,IAAAA,cAAc;AACd1B,IAAAA,MAAM,CAAC2B,IAAP,CAAY,WAAZ,EAAyBP,SAAzB,EAAoC;AAAEQ,MAAAA,OAAO,EAAE,CAACf,MAAZ;AAAoBgB,MAAAA,MAAM,EAAE;AAA5B,KAApC,EAAyEY,IAAzE,CAA8E,YAAM;AAClF/B,MAAAA,MAAM,kBAAWN,IAAX,cAAmBsC,IAAI,CAACC,GAAL,EAAnB,EAAN;AACD,KAFD;AAGD,GALD;;AAOA,MAAMC,MAAM,GAAG,sCAA0BC,sBAA1B,CAAf;AAEA,MAAIC,mBAAmB,GAAG,EAA1B;AAEA,MAAMC,oBAAoB,GAAG,EAA7B;AACA,MAAMC,WAAW,GAAG,EAApB;AAEA7C,EAAAA,OAAO,CAAC8C,OAAR,CAAgB,iBAA8B;AAAA,QAA3BC,IAA2B,SAA3BA,IAA2B;AAAA,QAArBC,cAAqB,SAArBA,cAAqB;;AAC5C,QAAIC,2BAAgBC,QAAhB,CAAyBH,IAAzB,CAAJ,EAAoC;AAClCH,MAAAA,oBAAoB,CAACpB,IAArB,CAA0BwB,cAAc,CAAC,CAAD,CAAxC;AACD,KAFD,MAEO,IAAID,IAAI,KAAKI,gBAAb,EAAoB;AACzBN,MAAAA,WAAW,CAACrB,IAAZ,OAAAqB,WAAW,sCAASG,cAAT,EAAX;AACD;AACF,GAND;;AAQA,uBAAoB,6BAAclD,MAAd,CAApB;AAAA,MAAQsD,OAAR,kBAAQA,OAAR;;AAEAT,EAAAA,mBAAmB,GAAG,uCAAyBC,oBAAzB,EAA+CC,WAA/C,EAA4DO,OAA5D,CAAtB;;AAEA,kBAAsC,0BAASX,MAAT,EAAiB;AACrDY,IAAAA,SAAS,EAAE;AAAEV,MAAAA,mBAAmB,EAAnBA,mBAAF;AAAuBW,MAAAA,KAAK,EAAE;AAA9B,KAD0C;AACP;AAC9CC,IAAAA,IAAI,EAAE,CAACZ;AAF8C,GAAjB,CAAtC;AAAA,iCAAQa,IAAR;AAAA,MAAQA,IAAR,+BAAe,EAAf;AAAA,MAAmBC,KAAnB,aAAmBA,KAAnB;AAAA,MAA0BC,OAA1B,aAA0BA,OAA1B;;AAKA,MAAID,KAAJ,EAAW,OAAOA,KAAK,CAACE,OAAb;AAEX,MAAMC,iBAAiB,GAAG,CAAC,CAAC5D,OAAO,CAAC6D,MAAV,IAAoB,CAACH,OAA/C;AAEA,SAAOE,iBAAiB,gBACtB,gCAAC,wBAAD;AACE,IAAA,GAAG,EAAEtD,GADP;AAEE,IAAA,IAAI,EAAEkD,IAFR;AAGE,IAAA,OAAO,EAAExD,OAHX;AAIE,IAAA,SAAS,EAAEQ,SAJb;AAKE,IAAA,eAAe,EAAEC,eALnB;AAME,IAAA,MAAM,EAAEC,MANV;AAOE,IAAA,MAAM,EAAEZ,MAPV;AAQE,IAAA,YAAY,EAAEoB,YARhB;AASE,IAAA,YAAY,EAAEmB,YAThB;AAUE,IAAA,IAAI,EAAEpC,IAVR;AAWE,IAAA,uBAAuB,EAAEC,uBAX3B;AAYE,IAAA,mBAAmB,EAAEE,mBAZvB;AAaE,IAAA,sBAAsB,EAAEC,sBAb1B;AAcE,IAAA,UAAU,EAAEF;AAdd,IADsB,GAiBpB,IAjBJ;AAkBD,CAxGD;;AA0GAP,qBAAqB,CAACkE,SAAtB,GAAkC;AAChCjE,EAAAA,MAAM,EAAEkE,sBAAUC,MAAV,CAAiBC,UADO;AAEhCnE,EAAAA,MAAM,EAAEiE,sBAAUG,MAFc;AAGhCnE,EAAAA,GAAG,EAAEgE,sBAAUG,MAHiB;AAIhClE,EAAAA,OAAO,EAAE+D,sBAAUI,KAJa;AAKhClE,EAAAA,IAAI,EAAE8D,sBAAUG,MAAV,CAAiBD,UALS;AAMhC/D,EAAAA,uBAAuB,EAAE6D,sBAAUK,IANH;AAOhCjE,EAAAA,UAAU,EAAE4D,sBAAUM;AAPU,CAAlC;AAUAzE,qBAAqB,CAAC0E,YAAtB,GAAqC;AACnCvE,EAAAA,GAAG,EAAE,IAD8B;AAEnCC,EAAAA,OAAO,EAAE,EAF0B;AAGnCF,EAAAA,MAAM,EAAE,EAH2B;AAInCI,EAAAA,uBAAuB,EAAE,IAJU;AAKnCC,EAAAA,UAAU,EAAE;AALuB,CAArC;;eAQe,wBAAW,oBAAUP,qBAAV,CAAX,C","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.1",
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": "6bbe922050d55021761d77a104037c70a997eb59"
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}