@blaze-cms/react-page-builder 0.124.1-alpha.1 → 0.124.1-alpha.5

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/lib/components/Banner/helpers.js +1 -1
  3. package/lib/components/Banner/helpers.js.map +1 -1
  4. package/lib/components/Button.js +4 -0
  5. package/lib/components/Button.js.map +1 -1
  6. package/lib/components/Card/helpers/use-dynamic-size-key.js +1 -5
  7. package/lib/components/Card/helpers/use-dynamic-size-key.js.map +1 -1
  8. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +2 -1
  9. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  10. package/lib/components/SearchFilter/SearchFilterContainer.js +22 -5
  11. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  12. package/lib/components/SearchFilter/components/Range.js +2 -3
  13. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  14. package/lib/components/SearchFilter/helpers/build-filters-query.js +24 -6
  15. package/lib/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  16. package/lib-es/components/Banner/helpers.js +1 -1
  17. package/lib-es/components/Banner/helpers.js.map +1 -1
  18. package/lib-es/components/Button.js +4 -1
  19. package/lib-es/components/Button.js.map +1 -1
  20. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +2 -1
  21. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  22. package/lib-es/components/SearchFilter/SearchFilterContainer.js +17 -4
  23. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  24. package/lib-es/components/SearchFilter/components/Range.js +2 -3
  25. package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
  26. package/lib-es/components/SearchFilter/helpers/build-filters-query.js +25 -6
  27. package/lib-es/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  28. package/package.json +2 -2
  29. package/src/components/Banner/helpers.js +1 -5
  30. package/src/components/Button.js +8 -1
  31. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +2 -1
  32. package/src/components/SearchFilter/SearchFilterContainer.js +21 -4
  33. package/src/components/SearchFilter/components/Range.js +11 -14
  34. package/src/components/SearchFilter/helpers/build-filters-query.js +7 -6
  35. package/tests/unit/src/components/Banner/helpers.test.js +1 -1
  36. package/tests/unit/src/components/Button.test.js +4 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,40 @@
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.124.1-alpha.5](https://github.com/thebyte9/blaze/compare/v0.124.1-alpha.4...v0.124.1-alpha.5) (2022-09-05)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * unpersist show/hide when navigating to next page ([#3584](https://github.com/thebyte9/blaze/issues/3584)) ([5ea63ce](https://github.com/thebyte9/blaze/commit/5ea63cefd780bf3e9e85c1471571c58a1170a473))
12
+ * use arrays for banner targetting ([#3579](https://github.com/thebyte9/blaze/issues/3579)) ([fd78f18](https://github.com/thebyte9/blaze/commit/fd78f189ba4bde01147be2d3021bdf1c17a27d58))
13
+
14
+
15
+
16
+
17
+
18
+ ## [0.124.1-alpha.3](https://github.com/thebyte9/blaze/compare/v0.124.1-alpha.2...v0.124.1-alpha.3) (2022-08-25)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * search filter handles range values, show range filter even when min/max are the same ([#3568](https://github.com/thebyte9/blaze/issues/3568)) ([0c7e561](https://github.com/thebyte9/blaze/commit/0c7e561bd4bbd8fff9968dfa373cfa66ffc7a8ae))
24
+
25
+
26
+
27
+
28
+
29
+ ## [0.124.1-alpha.2](https://github.com/thebyte9/blaze/compare/v0.124.1-alpha.1...v0.124.1-alpha.2) (2022-08-23)
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * resolve reset filters not updating filter options ([#3563](https://github.com/thebyte9/blaze/issues/3563)) ([b230507](https://github.com/thebyte9/blaze/commit/b230507476b811f0a4d141b8e20956738c53d2fc))
35
+
36
+
37
+
38
+
39
+
6
40
  ## [0.124.1-alpha.1](https://github.com/thebyte9/blaze/compare/v0.124.1-alpha.0...v0.124.1-alpha.1) (2022-08-19)
7
41
 
8
42
 
@@ -292,7 +292,7 @@ exports.buildPropsData = buildPropsData;
292
292
  var parseArrayValues = function parseArrayValues(arr, key) {
293
293
  return arr.map(function (obj) {
294
294
  return obj[key];
295
- }).filter(Boolean).join(', ');
295
+ }).filter(Boolean);
296
296
  };
297
297
 
298
298
  var getNestedValue = function getNestedValue(keys, object) {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["getParsedSizes","sizes","sanitizedSizes","replace","toLowerCase","sizeGroups","split","map","group","Number","addPosnToTargetings","targetings","index","posn","buildTargetingValue","valueTargeting","includes","char","setCustomTargetings","cardBannerIndex","bannerTargetings","updatedTargetings","isValidTargeting","customTargeting","splitTargeting","Object","keys","forEach","key","keyTargeting","buildParsedAdunit","path","countContentHierarchies","baseAdunit","adunit","isInteger","base","process","env","DFP_BASE_ADUNIT","hasChildren","parseUrl","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","END_ADUNIT","getBannerSizes","sizeId","bannerSizes","width","height","buildBannerSizes","parsedSizes","buildContextualTargeting","actionKey","props","propsToDisplay","data","buildPropsData","buildSizeMapping","sizeMapping","groupedViewports","reduce","acc","viewports","size","viewportWidth","viewportHeight","push","keyGroupedViewport","viewport","getMaxBannerHeight","Array","isArray","Math","max","o","MAX_BANNER_HEIGHT","getMinBannerHeight","min","MIN_BANNER_HEIGHT","buildUserQuery","userProps","basicProps","nestedProps","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","nestedKey","nested","prop","propsWithData","label","parsedKey","value","getNestedValue","labelToUse","parseArrayValues","arr","obj","object","shift","nestedValue"],"sources":["../../../src/components/Banner/helpers.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';\n\nconst getParsedSizes = (sizes = '') => {\n if (typeof sizes !== 'string') return [];\n\n const sanitizedSizes = sizes.replace(/\\s+/, '').toLowerCase();\n const sizeGroups = sanitizedSizes.split(',');\n\n return sizeGroups.map(group => group.split('x').map(Number));\n};\n\nconst addPosnToTargetings = (targetings, index) => {\n const posn = `posn=${index}`;\n return targetings ? `${targetings},${posn}` : posn;\n};\n\nconst buildTargetingValue = valueTargeting =>\n valueTargeting.includes('[') && valueTargeting.includes(']')\n ? valueTargeting.replace(/\\;|\\[|\\]/gm, char => (char === ';' ? ',' : '')).split(',')\n : valueTargeting;\n\nconst setCustomTargetings = (targetings, cardBannerIndex) => {\n let bannerTargetings = {};\n\n const updatedTargetings = cardBannerIndex\n ? addPosnToTargetings(targetings, cardBannerIndex)\n : targetings;\n\n const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';\n\n if (isValidTargeting) {\n const customTargeting = {};\n\n let splitTargeting = updatedTargetings.split(',');\n splitTargeting = { ...splitTargeting };\n\n Object.keys(splitTargeting).forEach(key => {\n const [keyTargeting, valueTargeting] = splitTargeting[key].split('=');\n\n if (keyTargeting && valueTargeting) {\n customTargeting[keyTargeting] = buildTargetingValue(valueTargeting);\n }\n });\n bannerTargetings = { ...bannerTargetings, ...customTargeting };\n }\n\n return bannerTargetings;\n};\n\nconst buildParsedAdunit = (path, countContentHierarchies, baseAdunit, adunit) => {\n if (!Number.isInteger(countContentHierarchies)) return '';\n\n const base = baseAdunit || process.env.DFP_BASE_ADUNIT;\n const hasChildren = countContentHierarchies !== 0;\n const { url } = parseUrl(path);\n let urlParts = url\n .split('/')\n .filter(Boolean)\n .map(urlPart => urlPart.replace(/-/g, ''));\n urlParts = urlParts.slice(0, hasChildren ? urlParts.length : urlParts.length - 1).join('/');\n urlParts = urlParts ? `${urlParts}/` : urlParts;\n const endAdunit = adunit || END_ADUNIT;\n\n return `${base}/${urlParts}${endAdunit}`;\n};\n\nconst getBannerSizes = (sizeId, bannerSizes) =>\n sizeId && bannerSizes && bannerSizes.length\n ? bannerSizes.map(({ width, height }) => [width, height])\n : null;\n\nconst buildBannerSizes = (sizeId, bannerSizes, sizes) => {\n let parsedSizes = getBannerSizes(sizeId, bannerSizes);\n\n if (!parsedSizes && sizes) parsedSizes = getParsedSizes(sizes);\n\n return parsedSizes;\n};\n\nconst buildContextualTargeting = (actionKey, props = {}, propsToDisplay = []) => {\n if (actionKey && props[actionKey] && props[actionKey][0]) {\n const data = props[actionKey][0];\n return buildPropsData(data, propsToDisplay);\n }\n return {};\n};\n\nconst buildSizeMapping = (sizeId, bannerSizes) => {\n let sizeMapping = [];\n\n if (sizeId && bannerSizes && bannerSizes.length) {\n const groupedViewports = bannerSizes.reduce((acc, { width, height, viewports = [] }) => {\n const size = width && height ? [width, height] : null; // if one dimension is falsey then it shouldn't display\n\n if (viewports) {\n viewports.forEach(({ width: viewportWidth, height: viewportHeight }) => {\n const key = `${viewportWidth || 0}x${viewportHeight || 0}`;\n acc[key] = acc[key] || [];\n if (size) acc[key].push(size);\n });\n }\n return acc;\n }, {});\n\n sizeMapping = Object.keys(groupedViewports).map(keyGroupedViewport => {\n const [viewportWidth, viewportHeight] = keyGroupedViewport.split('x');\n return {\n viewport: [Number(viewportWidth), Number(viewportHeight)],\n sizes: groupedViewports[keyGroupedViewport]\n };\n });\n }\n\n return sizeMapping;\n};\n\nconst getMaxBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.max(...bannerSizes.map(o => o.height));\n }\n return MAX_BANNER_HEIGHT;\n};\n\nconst getMinBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.min(...bannerSizes.map(o => o.height));\n }\n return MIN_BANNER_HEIGHT;\n};\n\nconst buildUserQuery = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nconst buildPropsData = (data, props) => {\n if (!data || !props.length) return {};\n const propsWithData = {};\n\n props.forEach(({ propertiesToDisplay, label }) => {\n const [key] = propertiesToDisplay;\n if (!key) return;\n\n const parsedKey = key.split('.');\n const value = getNestedValue(parsedKey, data);\n const labelToUse = label || key;\n\n propsWithData[labelToUse] = value;\n });\n return propsWithData;\n};\n\nconst parseArrayValues = (arr, key) =>\n arr\n .map(obj => obj[key])\n .filter(Boolean)\n .join(', ');\n\nconst getNestedValue = (keys, object) => {\n const key = keys.shift();\n const nestedValue = Array.isArray(object) ? parseArrayValues(object, key) : object[key];\n if (!nestedValue) return null;\n return keys.length ? getNestedValue(keys, nestedValue) : nestedValue;\n};\n\nexport {\n getParsedSizes,\n setCustomTargetings,\n buildParsedAdunit,\n buildBannerSizes,\n buildContextualTargeting,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n buildPropsData,\n buildUserQuery\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["getParsedSizes","sizes","sanitizedSizes","replace","toLowerCase","sizeGroups","split","map","group","Number","addPosnToTargetings","targetings","index","posn","buildTargetingValue","valueTargeting","includes","char","setCustomTargetings","cardBannerIndex","bannerTargetings","updatedTargetings","isValidTargeting","customTargeting","splitTargeting","Object","keys","forEach","key","keyTargeting","buildParsedAdunit","path","countContentHierarchies","baseAdunit","adunit","isInteger","base","process","env","DFP_BASE_ADUNIT","hasChildren","parseUrl","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","END_ADUNIT","getBannerSizes","sizeId","bannerSizes","width","height","buildBannerSizes","parsedSizes","buildContextualTargeting","actionKey","props","propsToDisplay","data","buildPropsData","buildSizeMapping","sizeMapping","groupedViewports","reduce","acc","viewports","size","viewportWidth","viewportHeight","push","keyGroupedViewport","viewport","getMaxBannerHeight","Array","isArray","Math","max","o","MAX_BANNER_HEIGHT","getMinBannerHeight","min","MIN_BANNER_HEIGHT","buildUserQuery","userProps","basicProps","nestedProps","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","nestedKey","nested","prop","propsWithData","label","parsedKey","value","getNestedValue","labelToUse","parseArrayValues","arr","obj","object","shift","nestedValue"],"sources":["../../../src/components/Banner/helpers.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';\n\nconst getParsedSizes = (sizes = '') => {\n if (typeof sizes !== 'string') return [];\n\n const sanitizedSizes = sizes.replace(/\\s+/, '').toLowerCase();\n const sizeGroups = sanitizedSizes.split(',');\n\n return sizeGroups.map(group => group.split('x').map(Number));\n};\n\nconst addPosnToTargetings = (targetings, index) => {\n const posn = `posn=${index}`;\n return targetings ? `${targetings},${posn}` : posn;\n};\n\nconst buildTargetingValue = valueTargeting =>\n valueTargeting.includes('[') && valueTargeting.includes(']')\n ? valueTargeting.replace(/\\;|\\[|\\]/gm, char => (char === ';' ? ',' : '')).split(',')\n : valueTargeting;\n\nconst setCustomTargetings = (targetings, cardBannerIndex) => {\n let bannerTargetings = {};\n\n const updatedTargetings = cardBannerIndex\n ? addPosnToTargetings(targetings, cardBannerIndex)\n : targetings;\n\n const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';\n\n if (isValidTargeting) {\n const customTargeting = {};\n\n let splitTargeting = updatedTargetings.split(',');\n splitTargeting = { ...splitTargeting };\n\n Object.keys(splitTargeting).forEach(key => {\n const [keyTargeting, valueTargeting] = splitTargeting[key].split('=');\n\n if (keyTargeting && valueTargeting) {\n customTargeting[keyTargeting] = buildTargetingValue(valueTargeting);\n }\n });\n bannerTargetings = { ...bannerTargetings, ...customTargeting };\n }\n\n return bannerTargetings;\n};\n\nconst buildParsedAdunit = (path, countContentHierarchies, baseAdunit, adunit) => {\n if (!Number.isInteger(countContentHierarchies)) return '';\n\n const base = baseAdunit || process.env.DFP_BASE_ADUNIT;\n const hasChildren = countContentHierarchies !== 0;\n const { url } = parseUrl(path);\n let urlParts = url\n .split('/')\n .filter(Boolean)\n .map(urlPart => urlPart.replace(/-/g, ''));\n urlParts = urlParts.slice(0, hasChildren ? urlParts.length : urlParts.length - 1).join('/');\n urlParts = urlParts ? `${urlParts}/` : urlParts;\n const endAdunit = adunit || END_ADUNIT;\n\n return `${base}/${urlParts}${endAdunit}`;\n};\n\nconst getBannerSizes = (sizeId, bannerSizes) =>\n sizeId && bannerSizes && bannerSizes.length\n ? bannerSizes.map(({ width, height }) => [width, height])\n : null;\n\nconst buildBannerSizes = (sizeId, bannerSizes, sizes) => {\n let parsedSizes = getBannerSizes(sizeId, bannerSizes);\n\n if (!parsedSizes && sizes) parsedSizes = getParsedSizes(sizes);\n\n return parsedSizes;\n};\n\nconst buildContextualTargeting = (actionKey, props = {}, propsToDisplay = []) => {\n if (actionKey && props[actionKey] && props[actionKey][0]) {\n const data = props[actionKey][0];\n return buildPropsData(data, propsToDisplay);\n }\n return {};\n};\n\nconst buildSizeMapping = (sizeId, bannerSizes) => {\n let sizeMapping = [];\n\n if (sizeId && bannerSizes && bannerSizes.length) {\n const groupedViewports = bannerSizes.reduce((acc, { width, height, viewports = [] }) => {\n const size = width && height ? [width, height] : null; // if one dimension is falsey then it shouldn't display\n\n if (viewports) {\n viewports.forEach(({ width: viewportWidth, height: viewportHeight }) => {\n const key = `${viewportWidth || 0}x${viewportHeight || 0}`;\n acc[key] = acc[key] || [];\n if (size) acc[key].push(size);\n });\n }\n return acc;\n }, {});\n\n sizeMapping = Object.keys(groupedViewports).map(keyGroupedViewport => {\n const [viewportWidth, viewportHeight] = keyGroupedViewport.split('x');\n return {\n viewport: [Number(viewportWidth), Number(viewportHeight)],\n sizes: groupedViewports[keyGroupedViewport]\n };\n });\n }\n\n return sizeMapping;\n};\n\nconst getMaxBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.max(...bannerSizes.map(o => o.height));\n }\n return MAX_BANNER_HEIGHT;\n};\n\nconst getMinBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.min(...bannerSizes.map(o => o.height));\n }\n return MIN_BANNER_HEIGHT;\n};\n\nconst buildUserQuery = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nconst buildPropsData = (data, props) => {\n if (!data || !props.length) return {};\n const propsWithData = {};\n\n props.forEach(({ propertiesToDisplay, label }) => {\n const [key] = propertiesToDisplay;\n if (!key) return;\n\n const parsedKey = key.split('.');\n const value = getNestedValue(parsedKey, data);\n const labelToUse = label || key;\n\n propsWithData[labelToUse] = value;\n });\n return propsWithData;\n};\n\nconst parseArrayValues = (arr, key) => arr.map(obj => obj[key]).filter(Boolean);\n\nconst getNestedValue = (keys, object) => {\n const key = keys.shift();\n const nestedValue = Array.isArray(object) ? parseArrayValues(object, key) : object[key];\n if (!nestedValue) return null;\n return keys.length ? getNestedValue(keys, nestedValue) : nestedValue;\n};\n\nexport {\n getParsedSizes,\n setCustomTargetings,\n buildParsedAdunit,\n buildBannerSizes,\n buildContextualTargeting,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n buildPropsData,\n buildUserQuery\n};\n"],"mappings":"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"}
@@ -112,6 +112,10 @@ var Button = function Button(props) {
112
112
  showChildren = _useState2[0],
113
113
  setShowChildren = _useState2[1];
114
114
 
115
+ (0, _react.useEffect)(function () {
116
+ setShowChildren(false);
117
+ }, [router.asPath]);
118
+
115
119
  var checkIfButtonShouldRender = function checkIfButtonShouldRender() {
116
120
  if (isLogoutButton) return !!blazeCookie;
117
121
  if (!text && !icon) return false;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","otherProps","client","useApolloClient","router","useRouter","isLogoutButton","LOGOUT","useCookies","cookies","blazeCookie","blaze_auth","useState","showChildren","setShowChildren","checkIfButtonShouldRender","hasChildren","logout","handleLogout","reload","handleClick","buttonType","modifiers","getClassModifiers","currentProps","href","title","DynamicButton","BlazeLink","BlazeButton","updateChildrensParent","parent","itemId","itemEntity","renderedChildren","renderChildren","onClose","getClickWrapperOptions","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","contentClassName","classnames","propTypes","PropTypes","string","size","bool","oneOfType","arrayOf","node","defaultProps","withTitle"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n url ? router.reload(url) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: url, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, otherProps.parent.itemId, otherProps.parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickText : text}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","otherProps","client","useApolloClient","router","useRouter","isLogoutButton","LOGOUT","useCookies","cookies","blazeCookie","blaze_auth","useState","showChildren","setShowChildren","useEffect","asPath","checkIfButtonShouldRender","hasChildren","logout","handleLogout","reload","handleClick","buttonType","modifiers","getClassModifiers","currentProps","href","title","DynamicButton","BlazeLink","BlazeButton","updateChildrensParent","parent","itemId","itemEntity","renderedChildren","renderChildren","onClose","getClickWrapperOptions","shouldUseClickWrapper","wrapperProps","Wrapper","ClickWrapper","Fragment","contentClassName","classnames","propTypes","PropTypes","string","size","bool","oneOfType","arrayOf","node","defaultProps","withTitle"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n url ? router.reload(url) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: url, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, otherProps.parent.itemId, otherProps.parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickText : text}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
@@ -2,15 +2,11 @@
2
2
 
3
3
  require("core-js/modules/es.object.define-property.js");
4
4
 
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
9
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
10
  require("core-js/modules/es.object.values.js");
15
11
 
16
12
  require("core-js/modules/es.array.join.js");
@@ -23,7 +19,7 @@ require("core-js/modules/es.array.concat.js");
23
19
 
24
20
  var useDynamicSizeKey = function useDynamicSizeKey(key, options) {
25
21
  var valuesToParse = Object.values(options);
26
- return [key].concat((0, _toConsumableArray2["default"])(valuesToParse)).filter(Boolean).join(':');
22
+ return [key].concat(valuesToParse).filter(Boolean).join(':');
27
23
  };
28
24
 
29
25
  var _default = useDynamicSizeKey;
@@ -1 +1 @@
1
- {"version":3,"file":"use-dynamic-size-key.js","names":["useDynamicSizeKey","key","options","valuesToParse","Object","values","filter","Boolean","join"],"sources":["../../../../src/components/Card/helpers/use-dynamic-size-key.js"],"sourcesContent":["const useDynamicSizeKey = (key, options) => {\n const valuesToParse = Object.values(options);\n return [key, ...valuesToParse].filter(Boolean).join(':');\n};\n\nexport default useDynamicSizeKey;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,GAAD,EAAMC,OAAN,EAAkB;EAC1C,IAAMC,aAAa,GAAGC,MAAM,CAACC,MAAP,CAAcH,OAAd,CAAtB;EACA,OAAO,CAACD,GAAD,6CAASE,aAAT,GAAwBG,MAAxB,CAA+BC,OAA/B,EAAwCC,IAAxC,CAA6C,GAA7C,CAAP;AACD,CAHD;;eAKeR,iB"}
1
+ {"version":3,"file":"use-dynamic-size-key.js","names":["useDynamicSizeKey","key","options","valuesToParse","Object","values","filter","Boolean","join"],"sources":["../../../../src/components/Card/helpers/use-dynamic-size-key.js"],"sourcesContent":["const useDynamicSizeKey = (key, options) => {\n const valuesToParse = Object.values(options);\n return [key, ...valuesToParse].filter(Boolean).join(':');\n};\n\nexport default useDynamicSizeKey;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,GAAD,EAAMC,OAAN,EAAkB;EAC1C,IAAMC,aAAa,GAAGC,MAAM,CAACC,MAAP,CAAcH,OAAd,CAAtB;EACA,OAAO,CAACD,GAAD,SAASE,aAAT,EAAwBG,MAAxB,CAA+BC,OAA/B,EAAwCC,IAAxC,CAA6C,GAA7C,CAAP;AACD,CAHD;;eAKeR,iB"}
@@ -112,11 +112,12 @@ var SearchFilter = function SearchFilter(_ref) {
112
112
  var formId = "filter-".concat(name, "-form");
113
113
 
114
114
  var handleReset = function handleReset() {
115
- var newValues = (0, _helpers.getInitialFilterValues)(data, filters, {});
115
+ var newValues = (0, _helpers.getInitialFilterValues)(null, filters, {});
116
116
  setAppliedFilters({
117
117
  newValues: newValues,
118
118
  type: 'reset'
119
119
  });
120
+ doSubmit(newValues);
120
121
  };
121
122
 
122
123
  var updateFilterValues = function updateFilterValues(newValues, shouldSubmit) {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.js","names":["SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","useState","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","buildQuery","handleSubmit","debounce","useEffect","shouldSearch","type","formClass","classnames","getResponsiveFilterClassnames","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","getInitialFilterValues","updateFilterValues","shouldSubmit","shouldGroup","e","preventDefault","slice","MORE_FILTERS_CLASSES","MOBILE_CONTENT","isDeviceDesktop","DESKTOP_CONTENT","DESKTOP_BUTTONS","SEARCH","MOBILE_BUTTONS","REFINE","propTypes","PropTypes","object","isRequired","array","bool","string","func","number"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = (newValues = filterValues) => {\n const newQuery = buildQuery(newValues, filters);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n const newValues = getInitialFilterValues(data, filters, {});\n setAppliedFilters({ newValues, type: 'reset' });\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit();\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={shouldSearch && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchFilter.js","names":["SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","useState","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","buildQuery","handleSubmit","debounce","useEffect","shouldSearch","type","formClass","classnames","getResponsiveFilterClassnames","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","getInitialFilterValues","updateFilterValues","shouldSubmit","shouldGroup","e","preventDefault","slice","MORE_FILTERS_CLASSES","MOBILE_CONTENT","isDeviceDesktop","DESKTOP_CONTENT","DESKTOP_BUTTONS","SEARCH","MOBILE_BUTTONS","REFINE","propTypes","PropTypes","object","isRequired","array","bool","string","func","number"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = (newValues = filterValues) => {\n const newQuery = buildQuery(newValues, filters);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n const newValues = getInitialFilterValues(null, filters, {});\n setAppliedFilters({ newValues, type: 'reset' });\n doSubmit(newValues);\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit();\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={shouldSearch && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.object.keys.js");
4
-
5
3
  require("core-js/modules/es.symbol.js");
6
4
 
7
5
  require("core-js/modules/es.array.filter.js");
@@ -47,6 +45,8 @@ require("core-js/modules/es.array.includes.js");
47
45
 
48
46
  require("core-js/modules/es.string.includes.js");
49
47
 
48
+ require("core-js/modules/es.object.keys.js");
49
+
50
50
  require("core-js/modules/es.date.now.js");
51
51
 
52
52
  require("core-js/modules/es.date.to-string.js");
@@ -108,7 +108,7 @@ var reducer = function reducer(state, action) {
108
108
 
109
109
  case 'reset':
110
110
  return _objectSpread(_objectSpread({}, newValues), {}, {
111
- shouldSearch: shouldSearch
111
+ shouldSearch: false
112
112
  });
113
113
 
114
114
  default:
@@ -141,7 +141,13 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
141
141
  displaySearchFilter = _useState4[0],
142
142
  setDisplaySearchFilter = _useState4[1];
143
143
 
144
- var _parseUrl = (0, _queryString.parseUrl)(asPath),
144
+ var _useState5 = (0, _react.useState)(asPath),
145
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
146
+ urlPath = _useState6[0],
147
+ setUrlPath = _useState6[1]; // used as asPath can take too long to update
148
+
149
+
150
+ var _parseUrl = (0, _queryString.parseUrl)(urlPath),
145
151
  currentUrl = _parseUrl.url,
146
152
  _parseUrl$query = _parseUrl.query,
147
153
  sort = _parseUrl$query.sort,
@@ -153,6 +159,9 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
153
159
  filterValues = _useReducer2[0],
154
160
  dispatch = _useReducer2[1];
155
161
 
162
+ (0, _react.useEffect)(function () {
163
+ if (asPath) setUrlPath(asPath);
164
+ }, [asPath]);
156
165
  var hasUrl = !!url;
157
166
  var sortValues = sort && sortby ? (0, _queryString.stringify)({
158
167
  sort: sort,
@@ -176,7 +185,13 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
176
185
  var _getEntityData = (0, _helpers2.getEntityData)(entity),
177
186
  docType = _getEntityData.docType;
178
187
 
179
- var filtersQuery = shouldAddFilters ? (0, _helpers.buildFiltersQuery)(filterValues || query, filterBy, filterByProperty, rangeValues) : [];
188
+ var filtersQuery = shouldAddFilters ? (0, _helpers.buildFiltersQuery)({
189
+ query: filterValues,
190
+ filterBy: filterBy,
191
+ filterByProperty: filterByProperty,
192
+ rangeValues: rangeValues,
193
+ queryKeys: Object.keys(query)
194
+ }) : [];
180
195
  var rawQueryStringified = (0, _helpers.buildRawQueryStringified)(checkboxSelectValues, rangeValues, docType, filtersQuery);
181
196
 
182
197
  var _useQuery = (0, _client.useQuery)(action, {
@@ -215,6 +230,7 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
215
230
 
216
231
  if (!newQuery) {
217
232
  scrollToFirstList();
233
+ setUrlPath(baseQuery);
218
234
  return router.push('/Resolver', baseQuery, {
219
235
  shallow: !hasUrl,
220
236
  scroll: false
@@ -225,6 +241,7 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
225
241
 
226
242
  var newUrl = (0, _helpers.buildNewQuery)(url, currentUrl, newQuery, sortValues);
227
243
  scrollToFirstList();
244
+ setUrlPath(newUrl);
228
245
  return router.push('/Resolver', newUrl, {
229
246
  shallow: !hasUrl,
230
247
  scroll: false
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilterContainer.js","names":["reducer","state","action","newValues","type","shouldSearch","Error","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","router","useRouter","asPath","searchFilterRef","useRef","useState","key","setKey","displaySearchFilter","setDisplaySearchFilter","parseUrl","currentUrl","query","sort","sortby","useReducer","getInitialFilterValues","filterValues","dispatch","hasUrl","sortValues","stringify","baseQuery","getSearchPublishedContent","RAW_RESULTS","checkboxSelectValues","rangeValues","forEach","propsToDisplay","CHECKBOX_SELECT","includes","push","RANGE","getEntityData","docType","filtersQuery","buildFiltersQuery","rawQueryStringified","buildRawQueryStringified","useQuery","variables","limit","skip","data","error","message","length","searchPublishedContent","rawResults","filterData","aggregations","dataNotSet","initialFilterValues","handleSearch","newQuery","scrollToFirstList","shallow","scroll","then","Date","now","newUrl","buildNewQuery","document","getElementsByClassName","list","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","SCROLL_OFFSET","getBoundingClientRect","propTypes","PropTypes","string","array","isRequired","bool","number","defaultProps","withTitle"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\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 getInitialFilterValues,\n buildFiltersQuery\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters\n}) => {\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 {\n url: currentUrl,\n query: { sort, sortby },\n query\n } = parseUrl(asPath);\n const [filterValues, dispatch] = useReducer(\n reducer,\n getInitialFilterValues(null, filters, query)\n );\n const hasUrl = !!url;\n\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const action = getSearchPublishedContent(RAW_RESULTS);\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 const filtersQuery = shouldAddFilters\n ? buildFiltersQuery(filterValues || query, filterBy, filterByProperty, rangeValues)\n : [];\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error } = 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 if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (filterValues.dataNotSet && filterData) {\n const initialFilterValues = getInitialFilterValues(filterData, filters, query);\n dispatch({ newValues: initialFilterValues, shouldSearch: false, type: 'update' });\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n\n if (!newQuery) {\n scrollToFirstList();\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues);\n scrollToFirstList();\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !hasUrl && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n if (!filterValues) return '';\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={hasUrl}\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 />\n );\n};\n\nSearchFilterContainer.propTypes = {\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};\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};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchFilterContainer.js","names":["reducer","state","action","newValues","type","shouldSearch","Error","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","router","useRouter","asPath","searchFilterRef","useRef","useState","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","parseUrl","currentUrl","query","sort","sortby","useReducer","getInitialFilterValues","filterValues","dispatch","useEffect","hasUrl","sortValues","stringify","baseQuery","getSearchPublishedContent","RAW_RESULTS","checkboxSelectValues","rangeValues","forEach","propsToDisplay","CHECKBOX_SELECT","includes","push","RANGE","getEntityData","docType","filtersQuery","buildFiltersQuery","queryKeys","Object","keys","rawQueryStringified","buildRawQueryStringified","useQuery","variables","limit","skip","data","error","message","length","searchPublishedContent","rawResults","filterData","aggregations","dataNotSet","initialFilterValues","handleSearch","newQuery","scrollToFirstList","shallow","scroll","then","Date","now","newUrl","buildNewQuery","document","getElementsByClassName","list","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","SCROLL_OFFSET","getBoundingClientRect","propTypes","PropTypes","string","array","isRequired","bool","number","defaultProps","withTitle"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer, useEffect } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\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 getInitialFilterValues,\n buildFiltersQuery\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch: false };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters\n}) => {\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 {\n url: currentUrl,\n query: { sort, sortby },\n query\n } = parseUrl(urlPath);\n const [filterValues, dispatch] = useReducer(\n reducer,\n getInitialFilterValues(null, filters, query)\n );\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\n );\n\n const hasUrl = !!url;\n\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const action = getSearchPublishedContent(RAW_RESULTS);\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 const filtersQuery = shouldAddFilters\n ? buildFiltersQuery({\n query: filterValues,\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys: Object.keys(query)\n })\n : [];\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error } = 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 if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (filterValues.dataNotSet && filterData) {\n const initialFilterValues = getInitialFilterValues(filterData, filters, query);\n dispatch({ newValues: initialFilterValues, shouldSearch: false, type: 'update' });\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n\n if (!newQuery) {\n scrollToFirstList();\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues);\n scrollToFirstList();\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !hasUrl && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n if (!filterValues) return '';\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={hasUrl}\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 />\n );\n};\n\nSearchFilterContainer.propTypes = {\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};\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};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
@@ -67,7 +67,7 @@ var Range = function Range(_ref) {
67
67
  filterValues = _ref.filterValues,
68
68
  shouldSearch = _ref.shouldSearch;
69
69
  var router = (0, _router.useRouter)();
70
- var debounceAmount = shouldSearch ? 1200 : 100;
70
+ var debounceAmount = shouldSearch ? 1200 : 400;
71
71
 
72
72
  var _parseUrl = (0, _queryString.parseUrl)((0, _decodeEncode.decodeValue)(router.asPath)),
73
73
  query = _parseUrl.query;
@@ -91,7 +91,6 @@ var Range = function Range(_ref) {
91
91
  min = _calculateMinMax.min,
92
92
  max = _calculateMinMax.max;
93
93
 
94
- var shouldShowRange = rangeOption && min !== max;
95
94
  var minValue = rangeValue.minValue < min ? min : rangeValue.minValue;
96
95
  var maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;
97
96
 
@@ -126,7 +125,7 @@ var Range = function Range(_ref) {
126
125
  });
127
126
  updateFilterValues(updatedOptions, false);
128
127
  }
129
- })), shouldShowRange && /*#__PURE__*/_react["default"].createElement(_rangeFilter["default"], {
128
+ })), /*#__PURE__*/_react["default"].createElement(_rangeFilter["default"], {
130
129
  key: "".concat(rangeOption, "-").concat(minValue, "-").concat(maxValue),
131
130
  name: rangeOption,
132
131
  label: hasMultipleOptions ? '' : label,
@@ -1 +1 @@
1
- {"version":3,"file":"Range.js","names":["Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","router","useRouter","debounceAmount","parseUrl","decodeValue","asPath","query","hasMultipleOptions","length","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","useGetSingleEntitySchema","data","getEntitySchema","loading","options","getSelectOptions","calculateMinMax","min","max","shouldShowRange","minValue","maxValue","valueToUse","handleChange","debounce","option","value","updatedOptions","forEach","prop","eMin","eMax","initValue","getRangeValue","propTypes","PropTypes","array","isRequired","string","object","func","bool","number","defaultProps","withTitle"],"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 { withTitle } from '../../../HOC';\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}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 100;\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 shouldShowRange = rangeOption && min !== max;\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 return (\n <>\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 {shouldShowRange && (\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\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 dataAggregations: PropTypes.object.isRequired\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: ''\n};\n\nexport default withTitle(Range);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Range.js","names":["Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","router","useRouter","debounceAmount","parseUrl","decodeValue","asPath","query","hasMultipleOptions","length","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","useGetSingleEntitySchema","data","getEntitySchema","loading","options","getSelectOptions","calculateMinMax","min","max","minValue","maxValue","valueToUse","handleChange","debounce","option","value","updatedOptions","forEach","prop","eMin","eMax","initValue","getRangeValue","propTypes","PropTypes","array","isRequired","string","object","func","bool","number","defaultProps","withTitle"],"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 { withTitle } from '../../../HOC';\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}) => {\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 return (\n <>\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={hasMultipleOptions ? '' : label}\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 dataAggregations: PropTypes.object.isRequired\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: ''\n};\n\nexport default withTitle(Range);\n"],"mappings":"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"}
@@ -37,14 +37,20 @@ require("core-js/modules/es.array.index-of.js");
37
37
 
38
38
  var QUERY_KEYS_TO_IGNORE = ['dataNotSet', 'shouldSearch', 'search_term'];
39
39
 
40
- var builFilterObject = function builFilterObject(queryKey, value, filters, isRange) {
40
+ var builFilterObject = function builFilterObject(_ref) {
41
+ var queryKey = _ref.queryKey,
42
+ value = _ref.value,
43
+ filters = _ref.filters,
44
+ isRange = _ref.isRange,
45
+ isInQuery = _ref.isInQuery;
46
+
41
47
  if (isRange) {
42
48
  // don't add to query if value matches range values
43
- if (value.min !== value.minValue && value.max !== value.maxValue) {
49
+ if (isInQuery || value.min !== value.minValue && value.max !== value.maxValue) {
44
50
  filters.push({
45
51
  range: (0, _defineProperty2["default"])({}, queryKey, {
46
- gte: Number(value.min),
47
- lte: Number(value.max)
52
+ gte: Number(value.minValue),
53
+ lte: Number(value.maxValue)
48
54
  })
49
55
  });
50
56
  }
@@ -70,14 +76,26 @@ var builFilterObject = function builFilterObject(queryKey, value, filters, isRan
70
76
  });
71
77
  };
72
78
 
73
- var buildFiltersQuery = function buildFiltersQuery(query, filterBy, filterByProperty, rangeValues) {
79
+ var buildFiltersQuery = function buildFiltersQuery(_ref2) {
80
+ var query = _ref2.query,
81
+ filterBy = _ref2.filterBy,
82
+ filterByProperty = _ref2.filterByProperty,
83
+ rangeValues = _ref2.rangeValues,
84
+ queryKeys = _ref2.queryKeys;
74
85
  var mustFilters = [];
75
86
  Object.keys(query).forEach(function (queryKey) {
76
87
  if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;
77
88
  if (!queryKey || !query[queryKey]) return;
78
89
  var queryValue = query[queryKey];
79
90
  var isRange = rangeValues.includes(queryKey);
80
- builFilterObject(queryKey, queryValue, mustFilters, isRange);
91
+ var isInQuery = queryKeys.includes(queryKey);
92
+ builFilterObject({
93
+ queryKey: queryKey,
94
+ value: queryValue,
95
+ filters: mustFilters,
96
+ isRange: isRange,
97
+ isInQuery: isInQuery
98
+ });
81
99
  });
82
100
 
83
101
  if (filterByProperty && filterByProperty.length) {