@blaze-cms/react-page-builder 0.133.0-core-styles.3 → 0.133.0

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 (89) hide show
  1. package/CHANGELOG.md +57 -10
  2. package/lib/components/Banner/AdSlotRender.js +3 -12
  3. package/lib/components/Banner/AdSlotRender.js.map +1 -1
  4. package/lib/components/Banner/Banner.js +7 -4
  5. package/lib/components/Banner/Banner.js.map +1 -1
  6. package/lib/components/Banner/BannerRender.js +1 -5
  7. package/lib/components/Banner/BannerRender.js.map +1 -1
  8. package/lib/components/Button.js +3 -1
  9. package/lib/components/Button.js.map +1 -1
  10. package/lib/components/DataSummary/helpers/build-loop-props-content.js +2 -3
  11. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  12. package/lib/components/DataSummary/helpers/get-link-to-published-content.js +0 -2
  13. package/lib/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  14. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +1 -1
  15. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  16. package/lib/components/SearchFilter/SearchFilterContainer.js +58 -22
  17. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  18. package/lib/components/SearchFilter/helpers/build-filters-query.js +18 -16
  19. package/lib/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  20. package/lib/components/SearchFilter/helpers/build-url-query.js +3 -2
  21. package/lib/components/SearchFilter/helpers/build-url-query.js.map +1 -1
  22. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js +33 -0
  23. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -0
  24. package/lib/components/SearchFilter/helpers/get-updated-filter-by.js +38 -0
  25. package/lib/components/SearchFilter/helpers/get-updated-filter-by.js.map +1 -0
  26. package/lib/components/SearchFilter/helpers/index.js +8 -1
  27. package/lib/components/SearchFilter/helpers/index.js.map +1 -1
  28. package/lib/helpers/build-sort-values.js +4 -1
  29. package/lib/helpers/build-sort-values.js.map +1 -1
  30. package/lib/helpers/get-generic-render-variables.js +12 -17
  31. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  32. package/lib-es/components/Banner/AdSlotRender.js +3 -12
  33. package/lib-es/components/Banner/AdSlotRender.js.map +1 -1
  34. package/lib-es/components/Banner/Banner.js +7 -4
  35. package/lib-es/components/Banner/Banner.js.map +1 -1
  36. package/lib-es/components/Banner/BannerRender.js +2 -6
  37. package/lib-es/components/Banner/BannerRender.js.map +1 -1
  38. package/lib-es/components/Button.js +2 -1
  39. package/lib-es/components/Button.js.map +1 -1
  40. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js +2 -3
  41. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  42. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js +1 -2
  43. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  44. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +2 -2
  45. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  46. package/lib-es/components/SearchFilter/SearchFilterContainer.js +54 -13
  47. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  48. package/lib-es/components/SearchFilter/helpers/build-filters-query.js +18 -16
  49. package/lib-es/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  50. package/lib-es/components/SearchFilter/helpers/build-url-query.js +1 -2
  51. package/lib-es/components/SearchFilter/helpers/build-url-query.js.map +1 -1
  52. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js +21 -0
  53. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -0
  54. package/lib-es/components/SearchFilter/helpers/get-updated-filter-by.js +19 -0
  55. package/lib-es/components/SearchFilter/helpers/get-updated-filter-by.js.map +1 -0
  56. package/lib-es/components/SearchFilter/helpers/index.js +3 -2
  57. package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
  58. package/lib-es/helpers/build-sort-values.js +1 -1
  59. package/lib-es/helpers/build-sort-values.js.map +1 -1
  60. package/lib-es/helpers/get-generic-render-variables.js +1 -2
  61. package/lib-es/helpers/get-generic-render-variables.js.map +1 -1
  62. package/package.json +10 -10
  63. package/src/components/Banner/AdSlotRender.js +5 -9
  64. package/src/components/Banner/Banner.js +11 -9
  65. package/src/components/Banner/BannerRender.js +0 -4
  66. package/src/components/Button.js +6 -1
  67. package/src/components/DataSummary/helpers/build-loop-props-content.js +2 -3
  68. package/src/components/DataSummary/helpers/get-link-to-published-content.js +1 -4
  69. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +5 -2
  70. package/src/components/SearchFilter/SearchFilterContainer.js +42 -14
  71. package/src/components/SearchFilter/helpers/build-filters-query.js +23 -20
  72. package/src/components/SearchFilter/helpers/build-url-query.js +1 -3
  73. package/src/components/SearchFilter/helpers/get-initial-filter-values.js +24 -0
  74. package/src/components/SearchFilter/helpers/get-updated-filter-by.js +18 -0
  75. package/src/components/SearchFilter/helpers/index.js +5 -3
  76. package/src/helpers/build-sort-values.js +1 -1
  77. package/src/helpers/get-generic-render-variables.js +1 -2
  78. package/tests/unit/src/components/Banner/AdSlotRender.test.js +11 -6
  79. package/tests/unit/src/components/Banner/__snapshots__/AdSlotRender.test.js.snap +25 -45
  80. package/tests/unit/src/components/Banner/__snapshots__/BannerRender.test.js.snap +3 -8
  81. package/tests/unit/src/components/DataSummary/helpers/build-loop-props-content.test.js +0 -41
  82. package/tests/unit/src/components/DataSummary/helpers/get-link-to-published-content.test.js +0 -21
  83. package/tests/unit/src/components/SearchFilter/helpers/build-query.test.js +6 -0
  84. package/tests/unit/src/components/SearchFilter/helpers/get-updated-filter-by.test.js +28 -0
  85. package/tests/unit/src/helpers/build-sort-values.test.js +20 -0
  86. package/tests/unit/src/helpers/get-generic-render-variables.test.js +25 -0
  87. package/tests/unit/src/components/PlaceholderIcon/__snapshots__/index.test.js.snap +0 -72
  88. package/tests/unit/src/components/PlaceholderIcon/index.test.js +0 -20
  89. /package/tests/unit/src/components/SearchFilter/helpers/{build-new-query.test.js → build-new-url.test.js} +0 -0
@@ -1,16 +1,18 @@
1
- import React, { useState, useRef, useReducer, useEffect } from 'react';
1
+ import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';
2
+ import { MainContext } from '@blaze-cms/nextjs-components';
2
3
  import { useRouter } from 'next/router';
3
4
  import { useQuery } from '@apollo/client';
4
5
  import PropTypes from 'prop-types';
5
6
  import { parseUrl } from 'query-string';
6
7
  import SearchFilter from './SearchFilter';
7
8
  import { withTitle } from '../../HOC';
8
- import { getSearchPublishedContent } from '../../application/query';
9
- import { buildNewUrl, buildRawQueryStringified, getFilterValues, buildFiltersQuery, getFilterRangesAndCheckboxesValues } from './helpers';
10
- import { getEntityData } from '../../helpers';
9
+ import { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';
10
+ import { buildNewUrl, buildRawQueryStringified, getFilterValues, buildFiltersQuery, getFilterRangesAndCheckboxesValues, getUpdatedFilterBy } from './helpers';
11
+ import { getEntityData, getInheritedFilters, getQueryProps } from '../../helpers';
11
12
  import { RAW_RESULTS } from './constants';
12
13
  import { SCROLL_OFFSET } from '../../constants';
13
14
  import searchFilterReducer from './searchFilterReducer';
15
+ import { useGetEntitySchemasAsObj } from '../../hooks';
14
16
  const getFiltersUrlQuery = (query, listName) => {
15
17
  if (!listName) return query;
16
18
  const updatedQuery = {};
@@ -35,8 +37,12 @@ const SearchFilterContainer = ({
35
37
  filterBy,
36
38
  filterByProperty,
37
39
  shouldAddFilters,
38
- listComponentName
40
+ listComponentName,
41
+ parent
39
42
  }) => {
43
+ const {
44
+ isPreview
45
+ } = useContext(MainContext);
40
46
  const router = useRouter();
41
47
  const {
42
48
  asPath
@@ -45,15 +51,48 @@ const SearchFilterContainer = ({
45
51
  const [key, setKey] = useState(`filter-${name}`);
46
52
  const [displaySearchFilter, setDisplaySearchFilter] = useState(false);
47
53
  const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update
54
+ const [filterValues, dispatch] = useReducer(searchFilterReducer, null);
48
55
  const {
49
56
  url: currentUrl,
50
57
  query
51
58
  } = parseUrl(urlPath);
52
59
  const updatedQuery = getFiltersUrlQuery(query, listComponentName);
53
- const [filterValues, dispatch] = useReducer(searchFilterReducer, null);
60
+ const {
61
+ itemId: parentId,
62
+ itemEntity: parentEntity
63
+ } = parent;
54
64
  useEffect(() => {
55
65
  if (asPath) setUrlPath(asPath);
56
66
  }, [asPath]);
67
+ const {
68
+ data: mainSchemas = {},
69
+ loading: schemasLoading
70
+ } = useGetEntitySchemasAsObj([parentEntity, entity]);
71
+ const {
72
+ [parentEntity]: parentSchema = {},
73
+ [entity]: filterEntitySchema = {}
74
+ } = mainSchemas;
75
+ const {
76
+ actions = {}
77
+ } = parentSchema || {};
78
+ const getAction = isPreview ? actions.get : actions.getPublished;
79
+ const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);
80
+ const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);
81
+ const {
82
+ data: {
83
+ entityData: parentData
84
+ } = {},
85
+ loading: parentQueryLoading
86
+ } = useQuery(generateSingleItemQuery(getAction, queryProps), {
87
+ variables: {
88
+ id: parentId
89
+ },
90
+ skip: schemasLoading || !inheritedFilters.length
91
+ });
92
+ const {
93
+ updatedFilterBy,
94
+ updatedFilterByProperty
95
+ } = getUpdatedFilterBy(filterBy, filterByProperty, parentData);
57
96
  const action = getSearchPublishedContent(RAW_RESULTS);
58
97
  const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);
59
98
  const {
@@ -61,9 +100,9 @@ const SearchFilterContainer = ({
61
100
  } = getEntityData(entity);
62
101
  const filtersQuery = buildFiltersQuery({
63
102
  shouldAddFilters,
64
- query: filterValues || {},
65
- filterBy,
66
- filterByProperty,
103
+ query: filterValues,
104
+ filterBy: updatedFilterBy,
105
+ filterByProperty: updatedFilterByProperty,
67
106
  rangeValues,
68
107
  queryKeys: Object.keys(updatedQuery)
69
108
  });
@@ -78,7 +117,7 @@ const SearchFilterContainer = ({
78
117
  limit: 0
79
118
  },
80
119
  // we only want aggs so limit=0 for no search results
81
- skip: !rawQueryStringified
120
+ skip: !rawQueryStringified || parentQueryLoading
82
121
  });
83
122
  if (error) return error.message;
84
123
  if (!filters.length) return null;
@@ -89,7 +128,7 @@ const SearchFilterContainer = ({
89
128
  } = {}
90
129
  } = {}
91
130
  } = data || {};
92
- if (!filterValues && !loading && (filterData || !rawQueryStringified)) {
131
+ if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {
93
132
  const newValues = getFilterValues(filterData, filters, updatedQuery);
94
133
  dispatch({
95
134
  newValues,
@@ -165,7 +204,8 @@ SearchFilterContainer.propTypes = {
165
204
  filterBy: PropTypes.array,
166
205
  filterByProperty: PropTypes.array,
167
206
  shouldAddFilters: PropTypes.bool,
168
- listComponentName: PropTypes.string
207
+ listComponentName: PropTypes.string,
208
+ parent: PropTypes.object
169
209
  };
170
210
  SearchFilterContainer.defaultProps = {
171
211
  url: null,
@@ -177,7 +217,8 @@ SearchFilterContainer.defaultProps = {
177
217
  filterBy: [],
178
218
  filterByProperty: [],
179
219
  shouldAddFilters: false,
180
- listComponentName: ''
220
+ listComponentName: '',
221
+ parent: {}
181
222
  };
182
223
  export default withTitle(SearchFilterContainer);
183
224
  //# sourceMappingURL=SearchFilterContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useRef","useReducer","useEffect","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","buildNewUrl","buildRawQueryStringified","getFilterValues","buildFiltersQuery","getFilterRangesAndCheckboxesValues","getEntityData","RAW_RESULTS","SCROLL_OFFSET","searchFilterReducer","getFiltersUrlQuery","query","listName","updatedQuery","listKey","Object","keys","forEach","queryKey","isListKey","indexOf","decodedQueryValue","Array","isArray","map","value","decodeURIComponent","strippedKey","substring","length","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","currentUrl","filterValues","dispatch","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","rawQueryStringified","data","error","loading","variables","limit","skip","message","searchPublishedContent","rawResults","aggregations","filterData","newValues","shouldSearch","type","handleSearch","newQuery","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","defaultProps"],"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 } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewUrl,\n buildRawQueryStringified,\n getFilterValues,\n buildFiltersQuery,\n getFilterRangesAndCheckboxesValues\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\n\nconst getFiltersUrlQuery = (query, listName) => {\n if (!listName) return query;\n const updatedQuery = {};\n const listKey = `pb[${listName}]`;\n Object.keys(query).forEach(queryKey => {\n const isListKey = queryKey.indexOf(`${listName}`) !== -1;\n if (!isListKey) return;\n const decodedQueryValue = Array.isArray(query[queryKey])\n ? query[queryKey].map(value => decodeURIComponent(value))\n : decodeURIComponent(query[queryKey]);\n const strippedKey = queryKey.substring(listKey.length + 1, queryKey.length - 1);\n if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;\n });\n\n return updatedQuery;\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 listComponentName\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 { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = getFiltersUrlQuery(query, listComponentName);\n\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues || {},\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && 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\n if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\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 listComponentName: PropTypes.string\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useEffect","useRef","useReducer","useContext","MainContext","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","generateSingleItemQuery","buildNewUrl","buildRawQueryStringified","getFilterValues","buildFiltersQuery","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","getEntityData","getInheritedFilters","getQueryProps","RAW_RESULTS","SCROLL_OFFSET","searchFilterReducer","useGetEntitySchemasAsObj","getFiltersUrlQuery","query","listName","updatedQuery","listKey","Object","keys","forEach","queryKey","isListKey","indexOf","decodedQueryValue","Array","isArray","map","value","decodeURIComponent","strippedKey","substring","length","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","isPreview","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","filterValues","dispatch","currentUrl","itemId","parentId","itemEntity","parentEntity","data","mainSchemas","loading","schemasLoading","parentSchema","filterEntitySchema","actions","getAction","get","getPublished","inheritedFilters","queryProps","entityData","parentData","parentQueryLoading","variables","id","skip","updatedFilterBy","updatedFilterByProperty","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","rawQueryStringified","error","limit","message","searchPublishedContent","rawResults","aggregations","filterData","newValues","shouldSearch","type","handleSearch","newQuery","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","object","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n buildRawQueryStringified,\n getFilterValues,\n buildFiltersQuery,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy\n} from './helpers';\nimport { getEntityData, getInheritedFilters, getQueryProps } from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst getFiltersUrlQuery = (query, listName) => {\n if (!listName) return query;\n const updatedQuery = {};\n const listKey = `pb[${listName}]`;\n Object.keys(query).forEach(queryKey => {\n const isListKey = queryKey.indexOf(`${listName}`) !== -1;\n if (!isListKey) return;\n const decodedQueryValue = Array.isArray(query[queryKey])\n ? query[queryKey].map(value => decodeURIComponent(value))\n : decodeURIComponent(query[queryKey]);\n const strippedKey = queryKey.substring(listKey.length + 1, queryKey.length - 1);\n if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;\n });\n\n return updatedQuery;\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 listComponentName,\n parent\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = getFiltersUrlQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\n );\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && 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\n if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\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 listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {}\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
@@ -41,30 +41,32 @@ const builFilterObject = ({
41
41
  };
42
42
  const buildFiltersQuery = ({
43
43
  shouldAddFilters,
44
- query,
45
44
  filterBy,
46
45
  filterByProperty,
47
46
  rangeValues,
48
- queryKeys
47
+ queryKeys,
48
+ query
49
49
  }) => {
50
50
  if (!shouldAddFilters) return [];
51
51
  const mustFilters = [];
52
- Object.keys(query).forEach(queryKey => {
53
- if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;
54
- if (!queryKey || !query[queryKey]) return;
55
- const queryValue = query[queryKey];
56
- const isRange = rangeValues.includes(queryKey);
57
- const isInQuery = queryKeys.includes(queryKey);
58
- builFilterObject({
59
- queryKey,
60
- value: queryValue,
61
- filters: mustFilters,
62
- isRange,
63
- isInQuery
52
+ if (query) {
53
+ Object.keys(query).forEach(queryKey => {
54
+ if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;
55
+ if (!queryKey || !query[queryKey]) return;
56
+ const queryValue = query[queryKey];
57
+ const isRange = rangeValues.includes(queryKey);
58
+ const isInQuery = queryKeys.includes(queryKey);
59
+ builFilterObject({
60
+ queryKey,
61
+ value: queryValue,
62
+ filters: mustFilters,
63
+ isRange,
64
+ isInQuery
65
+ });
64
66
  });
65
- });
67
+ }
66
68
  if (filterByProperty && filterByProperty.length) {
67
- filterByProperty && filterByProperty.forEach(filterByPropOption => {
69
+ filterByProperty.forEach(filterByPropOption => {
68
70
  const [filterByPropKey] = filterByPropOption.split('/');
69
71
  filterBy.forEach(filterByOption => {
70
72
  if (filterByOption.indexOf(filterByPropKey) === -1) return;
@@ -1 +1 @@
1
- {"version":3,"file":"build-filters-query.js","names":["QUERY_KEYS_TO_IGNORE","builFilterObject","queryKey","value","filters","isRange","isInQuery","min","minValue","max","maxValue","push","range","gte","Number","lte","key","isArray","Array","singleFilterObj","match","forEach","filterValue","buildFiltersQuery","shouldAddFilters","query","filterBy","filterByProperty","rangeValues","queryKeys","mustFilters","Object","keys","includes","queryValue","length","filterByPropOption","filterByPropKey","split","filterByOption","indexOf","filteryByValue","filterByKeyword"],"sources":["../../../../src/components/SearchFilter/helpers/build-filters-query.js"],"sourcesContent":["const QUERY_KEYS_TO_IGNORE = ['dataNotSet', 'shouldSearch', 'search_term'];\n\nconst builFilterObject = ({ queryKey, value, filters, isRange, isInQuery }) => {\n if (isRange) {\n // don't add to query if value matches range values\n if (isInQuery || (value.min !== value.minValue && value.max !== value.maxValue)) {\n filters.push({\n range: {\n [queryKey]: {\n gte: Number(value.minValue),\n lte: Number(value.maxValue)\n }\n }\n });\n }\n return;\n }\n\n const key = isRange ? queryKey : `${queryKey}.keyword`;\n\n const isArray = Array.isArray(value);\n if (!isArray) {\n const singleFilterObj = { match: { [key]: value } };\n filters.push(singleFilterObj);\n return;\n }\n\n value.forEach(filterValue => {\n filters.push({ match: { [key]: filterValue } });\n });\n};\nconst buildFiltersQuery = ({\n shouldAddFilters,\n query,\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys\n}) => {\n if (!shouldAddFilters) return [];\n const mustFilters = [];\n Object.keys(query).forEach(queryKey => {\n if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;\n if (!queryKey || !query[queryKey]) return;\n const queryValue = query[queryKey];\n\n const isRange = rangeValues.includes(queryKey);\n const isInQuery = queryKeys.includes(queryKey);\n builFilterObject({ queryKey, value: queryValue, filters: mustFilters, isRange, isInQuery });\n });\n\n if (filterByProperty && filterByProperty.length) {\n filterByProperty &&\n filterByProperty.forEach(filterByPropOption => {\n const [filterByPropKey] = filterByPropOption.split('/');\n filterBy.forEach(filterByOption => {\n if (filterByOption.indexOf(filterByPropKey) === -1) return;\n const [, filteryByValue] = filterByOption.split('/');\n const filterByKeyword = `${filterByPropKey}.keyword`;\n if (!filteryByValue) return;\n mustFilters.push({ match: { [filterByKeyword]: filteryByValue } });\n });\n });\n }\n\n return mustFilters;\n};\n\nexport default buildFiltersQuery;\n"],"mappings":"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"}
1
+ {"version":3,"file":"build-filters-query.js","names":["QUERY_KEYS_TO_IGNORE","builFilterObject","queryKey","value","filters","isRange","isInQuery","min","minValue","max","maxValue","push","range","gte","Number","lte","key","isArray","Array","singleFilterObj","match","forEach","filterValue","buildFiltersQuery","shouldAddFilters","filterBy","filterByProperty","rangeValues","queryKeys","query","mustFilters","Object","keys","includes","queryValue","length","filterByPropOption","filterByPropKey","split","filterByOption","indexOf","filteryByValue","filterByKeyword"],"sources":["../../../../src/components/SearchFilter/helpers/build-filters-query.js"],"sourcesContent":["const QUERY_KEYS_TO_IGNORE = ['dataNotSet', 'shouldSearch', 'search_term'];\n\nconst builFilterObject = ({ queryKey, value, filters, isRange, isInQuery }) => {\n if (isRange) {\n // don't add to query if value matches range values\n if (isInQuery || (value.min !== value.minValue && value.max !== value.maxValue)) {\n filters.push({\n range: {\n [queryKey]: {\n gte: Number(value.minValue),\n lte: Number(value.maxValue)\n }\n }\n });\n }\n return;\n }\n\n const key = isRange ? queryKey : `${queryKey}.keyword`;\n\n const isArray = Array.isArray(value);\n if (!isArray) {\n const singleFilterObj = { match: { [key]: value } };\n filters.push(singleFilterObj);\n return;\n }\n\n value.forEach(filterValue => {\n filters.push({ match: { [key]: filterValue } });\n });\n};\n\nconst buildFiltersQuery = ({\n shouldAddFilters,\n\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys,\n query\n}) => {\n if (!shouldAddFilters) return [];\n const mustFilters = [];\n if (query) {\n Object.keys(query).forEach(queryKey => {\n if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;\n if (!queryKey || !query[queryKey]) return;\n const queryValue = query[queryKey];\n\n const isRange = rangeValues.includes(queryKey);\n const isInQuery = queryKeys.includes(queryKey);\n builFilterObject({ queryKey, value: queryValue, filters: mustFilters, isRange, isInQuery });\n });\n }\n\n if (filterByProperty && filterByProperty.length) {\n filterByProperty.forEach(filterByPropOption => {\n const [filterByPropKey] = filterByPropOption.split('/');\n filterBy.forEach(filterByOption => {\n if (filterByOption.indexOf(filterByPropKey) === -1) return;\n const [, filteryByValue] = filterByOption.split('/');\n const filterByKeyword = `${filterByPropKey}.keyword`;\n if (!filteryByValue) return;\n mustFilters.push({ match: { [filterByKeyword]: filteryByValue } });\n });\n });\n }\n\n return mustFilters;\n};\n\nexport default buildFiltersQuery;\n"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { SEARCH_TERM, TEXT_SEARCH } from '../constants';
2
2
  import parseFilterValue from './parse-filter-value';
3
3
  import { buildQueryKey } from '../../../helpers';
4
- const buildUrlQuery = (filterValues, filters, listComponentName = '', query = {}) => {
5
- if (!filterValues) return '';
4
+ const buildUrlQuery = (filterValues = {}, filters = [], listComponentName = '', query = {}) => {
6
5
  const newQuery = [];
7
6
  const queryKeys = [];
8
7
  const searchValue = filterValues[SEARCH_TERM];
@@ -1 +1 @@
1
- {"version":3,"file":"build-url-query.js","names":["SEARCH_TERM","TEXT_SEARCH","parseFilterValue","buildQueryKey","buildUrlQuery","filterValues","filters","listComponentName","query","newQuery","queryKeys","searchValue","searchKey","push","forEach","propsToDisplay","type","prop","value","filterKey","parsedValue","includes","Object","keys","key","indexOf","join"],"sources":["../../../../src/components/SearchFilter/helpers/build-url-query.js"],"sourcesContent":["import { SEARCH_TERM, TEXT_SEARCH } from '../constants';\nimport parseFilterValue from './parse-filter-value';\nimport { buildQueryKey } from '../../../helpers';\n\nconst buildUrlQuery = (filterValues, filters, listComponentName = '', query = {}) => {\n if (!filterValues) return '';\n\n const newQuery = [];\n const queryKeys = [];\n const searchValue = filterValues[SEARCH_TERM];\n const searchKey = buildQueryKey(SEARCH_TERM, listComponentName);\n queryKeys.push(searchKey);\n if (searchValue) newQuery.push(`${searchKey}=${searchValue}`);\n\n filters.forEach(({ propsToDisplay, type }) => {\n if (type === TEXT_SEARCH) return;\n propsToDisplay.forEach(prop => {\n const value = filterValues[prop];\n const filterKey = buildQueryKey(prop, listComponentName);\n queryKeys.push(filterKey);\n const parsedValue = parseFilterValue(filterKey, type, value, newQuery);\n if (parsedValue && !newQuery.includes(parsedValue)) newQuery.push(parsedValue);\n });\n });\n\n Object.keys(query).forEach(key => {\n if (queryKeys.indexOf(key) === -1) newQuery.push(`${key}=${query[key]}`);\n });\n\n return newQuery.join('&');\n};\n\nexport default buildUrlQuery;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,cAAc;AACvD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,MAAMC,aAAa,GAAGA,CAACC,YAAY,EAAEC,OAAO,EAAEC,iBAAiB,GAAG,EAAE,EAAEC,KAAK,GAAG,CAAC,CAAC,KAAK;EACnF,IAAI,CAACH,YAAY,EAAE,OAAO,EAAE;EAE5B,MAAMI,QAAQ,GAAG,EAAE;EACnB,MAAMC,SAAS,GAAG,EAAE;EACpB,MAAMC,WAAW,GAAGN,YAAY,CAACL,WAAW,CAAC;EAC7C,MAAMY,SAAS,GAAGT,aAAa,CAACH,WAAW,EAAEO,iBAAiB,CAAC;EAC/DG,SAAS,CAACG,IAAI,CAACD,SAAS,CAAC;EACzB,IAAID,WAAW,EAAEF,QAAQ,CAACI,IAAI,CAAE,GAAED,SAAU,IAAGD,WAAY,EAAC,CAAC;EAE7DL,OAAO,CAACQ,OAAO,CAAC,CAAC;IAAEC,cAAc;IAAEC;EAAK,CAAC,KAAK;IAC5C,IAAIA,IAAI,KAAKf,WAAW,EAAE;IAC1Bc,cAAc,CAACD,OAAO,CAACG,IAAI,IAAI;MAC7B,MAAMC,KAAK,GAAGb,YAAY,CAACY,IAAI,CAAC;MAChC,MAAME,SAAS,GAAGhB,aAAa,CAACc,IAAI,EAAEV,iBAAiB,CAAC;MACxDG,SAAS,CAACG,IAAI,CAACM,SAAS,CAAC;MACzB,MAAMC,WAAW,GAAGlB,gBAAgB,CAACiB,SAAS,EAAEH,IAAI,EAAEE,KAAK,EAAET,QAAQ,CAAC;MACtE,IAAIW,WAAW,IAAI,CAACX,QAAQ,CAACY,QAAQ,CAACD,WAAW,CAAC,EAAEX,QAAQ,CAACI,IAAI,CAACO,WAAW,CAAC;IAChF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFE,MAAM,CAACC,IAAI,CAACf,KAAK,CAAC,CAACM,OAAO,CAACU,GAAG,IAAI;IAChC,IAAId,SAAS,CAACe,OAAO,CAACD,GAAG,CAAC,KAAK,CAAC,CAAC,EAAEf,QAAQ,CAACI,IAAI,CAAE,GAAEW,GAAI,IAAGhB,KAAK,CAACgB,GAAG,CAAE,EAAC,CAAC;EAC1E,CAAC,CAAC;EAEF,OAAOf,QAAQ,CAACiB,IAAI,CAAC,GAAG,CAAC;AAC3B,CAAC;AAED,eAAetB,aAAa"}
1
+ {"version":3,"file":"build-url-query.js","names":["SEARCH_TERM","TEXT_SEARCH","parseFilterValue","buildQueryKey","buildUrlQuery","filterValues","filters","listComponentName","query","newQuery","queryKeys","searchValue","searchKey","push","forEach","propsToDisplay","type","prop","value","filterKey","parsedValue","includes","Object","keys","key","indexOf","join"],"sources":["../../../../src/components/SearchFilter/helpers/build-url-query.js"],"sourcesContent":["import { SEARCH_TERM, TEXT_SEARCH } from '../constants';\nimport parseFilterValue from './parse-filter-value';\nimport { buildQueryKey } from '../../../helpers';\n\nconst buildUrlQuery = (filterValues = {}, filters = [], listComponentName = '', query = {}) => {\n const newQuery = [];\n const queryKeys = [];\n const searchValue = filterValues[SEARCH_TERM];\n const searchKey = buildQueryKey(SEARCH_TERM, listComponentName);\n queryKeys.push(searchKey);\n if (searchValue) newQuery.push(`${searchKey}=${searchValue}`);\n\n filters.forEach(({ propsToDisplay, type }) => {\n if (type === TEXT_SEARCH) return;\n propsToDisplay.forEach(prop => {\n const value = filterValues[prop];\n const filterKey = buildQueryKey(prop, listComponentName);\n queryKeys.push(filterKey);\n const parsedValue = parseFilterValue(filterKey, type, value, newQuery);\n if (parsedValue && !newQuery.includes(parsedValue)) newQuery.push(parsedValue);\n });\n });\n\n Object.keys(query).forEach(key => {\n if (queryKeys.indexOf(key) === -1) newQuery.push(`${key}=${query[key]}`);\n });\n\n return newQuery.join('&');\n};\n\nexport default buildUrlQuery;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,cAAc;AACvD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,MAAMC,aAAa,GAAGA,CAACC,YAAY,GAAG,CAAC,CAAC,EAAEC,OAAO,GAAG,EAAE,EAAEC,iBAAiB,GAAG,EAAE,EAAEC,KAAK,GAAG,CAAC,CAAC,KAAK;EAC7F,MAAMC,QAAQ,GAAG,EAAE;EACnB,MAAMC,SAAS,GAAG,EAAE;EACpB,MAAMC,WAAW,GAAGN,YAAY,CAACL,WAAW,CAAC;EAC7C,MAAMY,SAAS,GAAGT,aAAa,CAACH,WAAW,EAAEO,iBAAiB,CAAC;EAC/DG,SAAS,CAACG,IAAI,CAACD,SAAS,CAAC;EACzB,IAAID,WAAW,EAAEF,QAAQ,CAACI,IAAI,CAAE,GAAED,SAAU,IAAGD,WAAY,EAAC,CAAC;EAE7DL,OAAO,CAACQ,OAAO,CAAC,CAAC;IAAEC,cAAc;IAAEC;EAAK,CAAC,KAAK;IAC5C,IAAIA,IAAI,KAAKf,WAAW,EAAE;IAC1Bc,cAAc,CAACD,OAAO,CAACG,IAAI,IAAI;MAC7B,MAAMC,KAAK,GAAGb,YAAY,CAACY,IAAI,CAAC;MAChC,MAAME,SAAS,GAAGhB,aAAa,CAACc,IAAI,EAAEV,iBAAiB,CAAC;MACxDG,SAAS,CAACG,IAAI,CAACM,SAAS,CAAC;MACzB,MAAMC,WAAW,GAAGlB,gBAAgB,CAACiB,SAAS,EAAEH,IAAI,EAAEE,KAAK,EAAET,QAAQ,CAAC;MACtE,IAAIW,WAAW,IAAI,CAACX,QAAQ,CAACY,QAAQ,CAACD,WAAW,CAAC,EAAEX,QAAQ,CAACI,IAAI,CAACO,WAAW,CAAC;IAChF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFE,MAAM,CAACC,IAAI,CAACf,KAAK,CAAC,CAACM,OAAO,CAACU,GAAG,IAAI;IAChC,IAAId,SAAS,CAACe,OAAO,CAACD,GAAG,CAAC,KAAK,CAAC,CAAC,EAAEf,QAAQ,CAACI,IAAI,CAAE,GAAEW,GAAI,IAAGhB,KAAK,CAACgB,GAAG,CAAE,EAAC,CAAC;EAC1E,CAAC,CAAC;EAEF,OAAOf,QAAQ,CAACiB,IAAI,CAAC,GAAG,CAAC;AAC3B,CAAC;AAED,eAAetB,aAAa"}
@@ -0,0 +1,21 @@
1
+ import { SEARCH_TERM, TEXT_SEARCH } from '../constants';
2
+ import getFilterValueFromQuery from './get-filter-value-from-query';
3
+ import { buildQueryKey } from '../../../helpers';
4
+ const getInitialFilterValues = (filterData, filters, query, listComponentName) => {
5
+ const filterValues = {};
6
+ const searchQueryKey = buildQueryKey(SEARCH_TERM, listComponentName);
7
+ filterValues[SEARCH_TERM] = query[searchQueryKey] || '';
8
+ filters.forEach(filterProps => {
9
+ const {
10
+ propsToDisplay: [key],
11
+ type
12
+ } = filterProps;
13
+ if (type === TEXT_SEARCH) return;
14
+ const data = filterData && filterData[key] ? filterData[key] : {};
15
+ const queryKey = buildQueryKey(key, listComponentName);
16
+ filterValues[key] = getFilterValueFromQuery(queryKey, filterProps, data, query);
17
+ });
18
+ return filterValues;
19
+ };
20
+ export default getInitialFilterValues;
21
+ //# sourceMappingURL=get-initial-filter-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-initial-filter-values.js","names":["SEARCH_TERM","TEXT_SEARCH","getFilterValueFromQuery","buildQueryKey","getInitialFilterValues","filterData","filters","query","listComponentName","filterValues","searchQueryKey","forEach","filterProps","propsToDisplay","key","type","data","queryKey"],"sources":["../../../../src/components/SearchFilter/helpers/get-initial-filter-values.js"],"sourcesContent":["import { SEARCH_TERM, TEXT_SEARCH } from '../constants';\nimport getFilterValueFromQuery from './get-filter-value-from-query';\nimport { buildQueryKey } from '../../../helpers';\n\nconst getInitialFilterValues = (filterData, filters, query, listComponentName) => {\n const filterValues = {};\n const searchQueryKey = buildQueryKey(SEARCH_TERM, listComponentName);\n filterValues[SEARCH_TERM] = query[searchQueryKey] || '';\n\n filters.forEach(filterProps => {\n const {\n propsToDisplay: [key],\n type\n } = filterProps;\n if (type === TEXT_SEARCH) return;\n const data = filterData && filterData[key] ? filterData[key] : {};\n const queryKey = buildQueryKey(key, listComponentName);\n filterValues[key] = getFilterValueFromQuery(queryKey, filterProps, data, query);\n });\n\n return filterValues;\n};\n\nexport default getInitialFilterValues;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,cAAc;AACvD,OAAOC,uBAAuB,MAAM,+BAA+B;AACnE,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,MAAMC,sBAAsB,GAAGA,CAACC,UAAU,EAAEC,OAAO,EAAEC,KAAK,EAAEC,iBAAiB,KAAK;EAChF,MAAMC,YAAY,GAAG,CAAC,CAAC;EACvB,MAAMC,cAAc,GAAGP,aAAa,CAACH,WAAW,EAAEQ,iBAAiB,CAAC;EACpEC,YAAY,CAACT,WAAW,CAAC,GAAGO,KAAK,CAACG,cAAc,CAAC,IAAI,EAAE;EAEvDJ,OAAO,CAACK,OAAO,CAACC,WAAW,IAAI;IAC7B,MAAM;MACJC,cAAc,EAAE,CAACC,GAAG,CAAC;MACrBC;IACF,CAAC,GAAGH,WAAW;IACf,IAAIG,IAAI,KAAKd,WAAW,EAAE;IAC1B,MAAMe,IAAI,GAAGX,UAAU,IAAIA,UAAU,CAACS,GAAG,CAAC,GAAGT,UAAU,CAACS,GAAG,CAAC,GAAG,CAAC,CAAC;IACjE,MAAMG,QAAQ,GAAGd,aAAa,CAACW,GAAG,EAAEN,iBAAiB,CAAC;IACtDC,YAAY,CAACK,GAAG,CAAC,GAAGZ,uBAAuB,CAACe,QAAQ,EAAEL,WAAW,EAAEI,IAAI,EAAET,KAAK,CAAC;EACjF,CAAC,CAAC;EAEF,OAAOE,YAAY;AACrB,CAAC;AAED,eAAeL,sBAAsB"}
@@ -0,0 +1,19 @@
1
+ const getUpdatedFilterBy = (filterBy, filterByProperty, parentData) => {
2
+ if (!parentData || filterBy && filterBy.length) return {
3
+ updatedFilterBy: filterBy,
4
+ updatedFilterByProperty: filterByProperty
5
+ };
6
+ const updatedFilterBy = [];
7
+ filterByProperty.forEach(property => {
8
+ const [key] = property.split('/');
9
+ const filterData = parentData[key];
10
+ if (!filterData) return;
11
+ if (Array.isArray(filterData)) filterData.forEach(dat => updatedFilterBy.push(`${key}/${dat}`));else updatedFilterBy.push(`${key}/${filterData}`);
12
+ });
13
+ return {
14
+ updatedFilterBy,
15
+ updatedFilterByProperty: filterByProperty
16
+ };
17
+ };
18
+ export default getUpdatedFilterBy;
19
+ //# sourceMappingURL=get-updated-filter-by.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-updated-filter-by.js","names":["getUpdatedFilterBy","filterBy","filterByProperty","parentData","length","updatedFilterBy","updatedFilterByProperty","forEach","property","key","split","filterData","Array","isArray","dat","push"],"sources":["../../../../src/components/SearchFilter/helpers/get-updated-filter-by.js"],"sourcesContent":["const getUpdatedFilterBy = (filterBy, filterByProperty, parentData) => {\n if (!parentData || (filterBy && filterBy.length))\n return { updatedFilterBy: filterBy, updatedFilterByProperty: filterByProperty };\n\n const updatedFilterBy = [];\n filterByProperty.forEach(property => {\n const [key] = property.split('/');\n const filterData = parentData[key];\n\n if (!filterData) return;\n if (Array.isArray(filterData)) filterData.forEach(dat => updatedFilterBy.push(`${key}/${dat}`));\n else updatedFilterBy.push(`${key}/${filterData}`);\n });\n\n return { updatedFilterBy, updatedFilterByProperty: filterByProperty };\n};\n\nexport default getUpdatedFilterBy;\n"],"mappings":"AAAA,MAAMA,kBAAkB,GAAGA,CAACC,QAAQ,EAAEC,gBAAgB,EAAEC,UAAU,KAAK;EACrE,IAAI,CAACA,UAAU,IAAKF,QAAQ,IAAIA,QAAQ,CAACG,MAAO,EAC9C,OAAO;IAAEC,eAAe,EAAEJ,QAAQ;IAAEK,uBAAuB,EAAEJ;EAAiB,CAAC;EAEjF,MAAMG,eAAe,GAAG,EAAE;EAC1BH,gBAAgB,CAACK,OAAO,CAACC,QAAQ,IAAI;IACnC,MAAM,CAACC,GAAG,CAAC,GAAGD,QAAQ,CAACE,KAAK,CAAC,GAAG,CAAC;IACjC,MAAMC,UAAU,GAAGR,UAAU,CAACM,GAAG,CAAC;IAElC,IAAI,CAACE,UAAU,EAAE;IACjB,IAAIC,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,EAAEA,UAAU,CAACJ,OAAO,CAACO,GAAG,IAAIT,eAAe,CAACU,IAAI,CAAE,GAAEN,GAAI,IAAGK,GAAI,EAAC,CAAC,CAAC,CAAC,KAC3FT,eAAe,CAACU,IAAI,CAAE,GAAEN,GAAI,IAAGE,UAAW,EAAC,CAAC;EACnD,CAAC,CAAC;EAEF,OAAO;IAAEN,eAAe;IAAEC,uBAAuB,EAAEJ;EAAiB,CAAC;AACvE,CAAC;AAED,eAAeF,kBAAkB"}
@@ -12,8 +12,9 @@ import getSelectOptions from './get-select-options';
12
12
  import isDeviceDesktop from './is-device-desktop';
13
13
  import getFilterValues from './get-filter-values';
14
14
  import getFilterValueFromQuery from './get-filter-value-from-query';
15
- import buildUrlQuery from './build-url-query';
16
15
  import buildFiltersQuery from './build-filters-query';
17
16
  import getFilterRangesAndCheckboxesValues from './get-filter-ranges-and-checkboxes-values';
18
- export { buildUrlQuery, buildNewUrl, buildRawQueryStringified, decodeValue, encodeValue, checkIfRangeUpdated, getResponsiveFilterClassnames, getDisplayValue, calculateStep, calculateMinMax, getIntersectedProp, getRangeValue, getSelectOptions, isDeviceDesktop, getFilterValues, getFilterValueFromQuery, buildFiltersQuery, getFilterRangesAndCheckboxesValues };
17
+ import getUpdatedFilterBy from './get-updated-filter-by';
18
+ import buildUrlQuery from './build-url-query';
19
+ export { buildNewUrl, buildRawQueryStringified, decodeValue, encodeValue, checkIfRangeUpdated, getResponsiveFilterClassnames, getDisplayValue, calculateStep, calculateMinMax, getIntersectedProp, getRangeValue, getSelectOptions, isDeviceDesktop, getFilterValues, getFilterValueFromQuery, buildFiltersQuery, getFilterRangesAndCheckboxesValues, getUpdatedFilterBy, buildUrlQuery };
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["buildNewUrl","buildRawQueryStringified","decodeValue","encodeValue","checkIfRangeUpdated","getResponsiveFilterClassnames","getDisplayValue","calculateStep","calculateMinMax","getIntersectedProp","getRangeValue","getSelectOptions","isDeviceDesktop","getFilterValues","getFilterValueFromQuery","buildUrlQuery","buildFiltersQuery","getFilterRangesAndCheckboxesValues"],"sources":["../../../../src/components/SearchFilter/helpers/index.js"],"sourcesContent":["import buildNewUrl from './build-new-url';\nimport buildRawQueryStringified from './build-raw-query-stringified';\nimport { decodeValue, encodeValue } from './decode-encode';\nimport checkIfRangeUpdated from './check-if-range-updated';\nimport getResponsiveFilterClassnames from './get-responsive-filter-classnames';\nimport getDisplayValue from './get-display-value';\nimport calculateStep from './calculate-step';\nimport calculateMinMax from './calculate-min-max';\nimport getIntersectedProp from './get-intersected-prop';\nimport getRangeValue from './get-range-value';\nimport getSelectOptions from './get-select-options';\nimport isDeviceDesktop from './is-device-desktop';\nimport getFilterValues from './get-filter-values';\nimport getFilterValueFromQuery from './get-filter-value-from-query';\nimport buildUrlQuery from './build-url-query';\nimport buildFiltersQuery from './build-filters-query';\nimport getFilterRangesAndCheckboxesValues from './get-filter-ranges-and-checkboxes-values';\n\nexport {\n buildUrlQuery,\n buildNewUrl,\n buildRawQueryStringified,\n decodeValue,\n encodeValue,\n checkIfRangeUpdated,\n getResponsiveFilterClassnames,\n getDisplayValue,\n calculateStep,\n calculateMinMax,\n getIntersectedProp,\n getRangeValue,\n getSelectOptions,\n isDeviceDesktop,\n getFilterValues,\n getFilterValueFromQuery,\n buildFiltersQuery,\n getFilterRangesAndCheckboxesValues\n};\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,iBAAiB;AACzC,OAAOC,wBAAwB,MAAM,+BAA+B;AACpE,SAASC,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AAC1D,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,6BAA6B,MAAM,oCAAoC;AAC9E,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,uBAAuB,MAAM,+BAA+B;AACnE,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,OAAOC,kCAAkC,MAAM,2CAA2C;AAE1F,SACEF,aAAa,EACbf,WAAW,EACXC,wBAAwB,EACxBC,WAAW,EACXC,WAAW,EACXC,mBAAmB,EACnBC,6BAA6B,EAC7BC,eAAe,EACfC,aAAa,EACbC,eAAe,EACfC,kBAAkB,EAClBC,aAAa,EACbC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,EACfC,uBAAuB,EACvBE,iBAAiB,EACjBC,kCAAkC"}
1
+ {"version":3,"file":"index.js","names":["buildNewUrl","buildRawQueryStringified","decodeValue","encodeValue","checkIfRangeUpdated","getResponsiveFilterClassnames","getDisplayValue","calculateStep","calculateMinMax","getIntersectedProp","getRangeValue","getSelectOptions","isDeviceDesktop","getFilterValues","getFilterValueFromQuery","buildFiltersQuery","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","buildUrlQuery"],"sources":["../../../../src/components/SearchFilter/helpers/index.js"],"sourcesContent":["import buildNewUrl from './build-new-url';\nimport buildRawQueryStringified from './build-raw-query-stringified';\nimport { decodeValue, encodeValue } from './decode-encode';\nimport checkIfRangeUpdated from './check-if-range-updated';\nimport getResponsiveFilterClassnames from './get-responsive-filter-classnames';\nimport getDisplayValue from './get-display-value';\nimport calculateStep from './calculate-step';\nimport calculateMinMax from './calculate-min-max';\nimport getIntersectedProp from './get-intersected-prop';\nimport getRangeValue from './get-range-value';\nimport getSelectOptions from './get-select-options';\nimport isDeviceDesktop from './is-device-desktop';\nimport getFilterValues from './get-filter-values';\nimport getFilterValueFromQuery from './get-filter-value-from-query';\nimport buildFiltersQuery from './build-filters-query';\nimport getFilterRangesAndCheckboxesValues from './get-filter-ranges-and-checkboxes-values';\nimport getUpdatedFilterBy from './get-updated-filter-by';\nimport buildUrlQuery from './build-url-query';\n\nexport {\n buildNewUrl,\n buildRawQueryStringified,\n decodeValue,\n encodeValue,\n checkIfRangeUpdated,\n getResponsiveFilterClassnames,\n getDisplayValue,\n calculateStep,\n calculateMinMax,\n getIntersectedProp,\n getRangeValue,\n getSelectOptions,\n isDeviceDesktop,\n getFilterValues,\n getFilterValueFromQuery,\n buildFiltersQuery,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildUrlQuery\n};\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,iBAAiB;AACzC,OAAOC,wBAAwB,MAAM,+BAA+B;AACpE,SAASC,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AAC1D,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,6BAA6B,MAAM,oCAAoC;AAC9E,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,uBAAuB,MAAM,+BAA+B;AACnE,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,OAAOC,kCAAkC,MAAM,2CAA2C;AAC1F,OAAOC,kBAAkB,MAAM,yBAAyB;AACxD,OAAOC,aAAa,MAAM,mBAAmB;AAE7C,SACElB,WAAW,EACXC,wBAAwB,EACxBC,WAAW,EACXC,WAAW,EACXC,mBAAmB,EACnBC,6BAA6B,EAC7BC,eAAe,EACfC,aAAa,EACbC,eAAe,EACfC,kBAAkB,EAClBC,aAAa,EACbC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,EACfC,uBAAuB,EACvBC,iBAAiB,EACjBC,kCAAkC,EAClCC,kBAAkB,EAClBC,aAAa"}
@@ -25,7 +25,7 @@ const buildSortValues = (sortFilters, relations, stringProps, useSortObject) =>
25
25
  if (!sort) return null;
26
26
  const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);
27
27
  return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;
28
- }).filter(Boolean).join(',');
28
+ }).filter((item, index, arr) => !item ? false : arr.indexOf(item) === index).join(',');
29
29
  return {
30
30
  sort: sortValues
31
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"build-sort-values.js","names":["getSortbyFieldName","buildAzSort","sortFilters","relations","stringProps","sortValues","forEach","sort","propsToDisplay","sortFieldName","toLowerCase","buildSortValues","useSortObject","length","map","isScore","filter","Boolean","join"],"sources":["../../src/helpers/build-sort-values.js"],"sourcesContent":["import getSortbyFieldName from './get-sort-by-field-name';\n\nconst buildAzSort = (sortFilters, relations, stringProps) => {\n const sortValues = {};\n sortFilters.forEach(({ sort, propsToDisplay }) => {\n if (!sort) return;\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n if (sortFieldName) sortValues[sortFieldName] = sort.toLowerCase();\n });\n\n return sortValues;\n};\n\nconst buildSortValues = (sortFilters, relations, stringProps, useSortObject) => {\n if (!sortFilters || !sortFilters.length) return useSortObject ? null : { sort: [] };\n if (useSortObject) return buildAzSort(sortFilters, relations, stringProps);\n\n const sortValues = sortFilters\n .map(({ sort, propsToDisplay, isScore }) => {\n if (isScore) return '_score';\n if (!sort) return null;\n\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;\n })\n .filter(Boolean)\n .join(',');\n\n return { sort: sortValues };\n};\n\nexport default buildSortValues;\n"],"mappings":"AAAA,OAAOA,kBAAkB,MAAM,0BAA0B;AAEzD,MAAMC,WAAW,GAAGA,CAACC,WAAW,EAAEC,SAAS,EAAEC,WAAW,KAAK;EAC3D,MAAMC,UAAU,GAAG,CAAC,CAAC;EACrBH,WAAW,CAACI,OAAO,CAAC,CAAC;IAAEC,IAAI;IAAEC;EAAe,CAAC,KAAK;IAChD,IAAI,CAACD,IAAI,EAAE;IACX,MAAME,aAAa,GAAGT,kBAAkB,CAACG,SAAS,EAAEK,cAAc,EAAEJ,WAAW,CAAC;IAChF,IAAIK,aAAa,EAAEJ,UAAU,CAACI,aAAa,CAAC,GAAGF,IAAI,CAACG,WAAW,CAAC,CAAC;EACnE,CAAC,CAAC;EAEF,OAAOL,UAAU;AACnB,CAAC;AAED,MAAMM,eAAe,GAAGA,CAACT,WAAW,EAAEC,SAAS,EAAEC,WAAW,EAAEQ,aAAa,KAAK;EAC9E,IAAI,CAACV,WAAW,IAAI,CAACA,WAAW,CAACW,MAAM,EAAE,OAAOD,aAAa,GAAG,IAAI,GAAG;IAAEL,IAAI,EAAE;EAAG,CAAC;EACnF,IAAIK,aAAa,EAAE,OAAOX,WAAW,CAACC,WAAW,EAAEC,SAAS,EAAEC,WAAW,CAAC;EAE1E,MAAMC,UAAU,GAAGH,WAAW,CAC3BY,GAAG,CAAC,CAAC;IAAEP,IAAI;IAAEC,cAAc;IAAEO;EAAQ,CAAC,KAAK;IAC1C,IAAIA,OAAO,EAAE,OAAO,QAAQ;IAC5B,IAAI,CAACR,IAAI,EAAE,OAAO,IAAI;IAEtB,MAAME,aAAa,GAAGT,kBAAkB,CAACG,SAAS,EAAEK,cAAc,EAAEJ,WAAW,CAAC;IAChF,OAAOK,aAAa,GAAI,GAAEA,aAAc,IAAGF,IAAI,CAACG,WAAW,CAAC,CAAE,EAAC,GAAG,IAAI;EACxE,CAAC,CAAC,CACDM,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC;EAEZ,OAAO;IAAEX,IAAI,EAAEF;EAAW,CAAC;AAC7B,CAAC;AAED,eAAeM,eAAe"}
1
+ {"version":3,"file":"build-sort-values.js","names":["getSortbyFieldName","buildAzSort","sortFilters","relations","stringProps","sortValues","forEach","sort","propsToDisplay","sortFieldName","toLowerCase","buildSortValues","useSortObject","length","map","isScore","filter","item","index","arr","indexOf","join"],"sources":["../../src/helpers/build-sort-values.js"],"sourcesContent":["import getSortbyFieldName from './get-sort-by-field-name';\n\nconst buildAzSort = (sortFilters, relations, stringProps) => {\n const sortValues = {};\n sortFilters.forEach(({ sort, propsToDisplay }) => {\n if (!sort) return;\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n if (sortFieldName) sortValues[sortFieldName] = sort.toLowerCase();\n });\n\n return sortValues;\n};\n\nconst buildSortValues = (sortFilters, relations, stringProps, useSortObject) => {\n if (!sortFilters || !sortFilters.length) return useSortObject ? null : { sort: [] };\n if (useSortObject) return buildAzSort(sortFilters, relations, stringProps);\n\n const sortValues = sortFilters\n .map(({ sort, propsToDisplay, isScore }) => {\n if (isScore) return '_score';\n if (!sort) return null;\n\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;\n })\n .filter((item, index, arr) => (!item ? false : arr.indexOf(item) === index))\n .join(',');\n\n return { sort: sortValues };\n};\n\nexport default buildSortValues;\n"],"mappings":"AAAA,OAAOA,kBAAkB,MAAM,0BAA0B;AAEzD,MAAMC,WAAW,GAAGA,CAACC,WAAW,EAAEC,SAAS,EAAEC,WAAW,KAAK;EAC3D,MAAMC,UAAU,GAAG,CAAC,CAAC;EACrBH,WAAW,CAACI,OAAO,CAAC,CAAC;IAAEC,IAAI;IAAEC;EAAe,CAAC,KAAK;IAChD,IAAI,CAACD,IAAI,EAAE;IACX,MAAME,aAAa,GAAGT,kBAAkB,CAACG,SAAS,EAAEK,cAAc,EAAEJ,WAAW,CAAC;IAChF,IAAIK,aAAa,EAAEJ,UAAU,CAACI,aAAa,CAAC,GAAGF,IAAI,CAACG,WAAW,CAAC,CAAC;EACnE,CAAC,CAAC;EAEF,OAAOL,UAAU;AACnB,CAAC;AAED,MAAMM,eAAe,GAAGA,CAACT,WAAW,EAAEC,SAAS,EAAEC,WAAW,EAAEQ,aAAa,KAAK;EAC9E,IAAI,CAACV,WAAW,IAAI,CAACA,WAAW,CAACW,MAAM,EAAE,OAAOD,aAAa,GAAG,IAAI,GAAG;IAAEL,IAAI,EAAE;EAAG,CAAC;EACnF,IAAIK,aAAa,EAAE,OAAOX,WAAW,CAACC,WAAW,EAAEC,SAAS,EAAEC,WAAW,CAAC;EAE1E,MAAMC,UAAU,GAAGH,WAAW,CAC3BY,GAAG,CAAC,CAAC;IAAEP,IAAI;IAAEC,cAAc;IAAEO;EAAQ,CAAC,KAAK;IAC1C,IAAIA,OAAO,EAAE,OAAO,QAAQ;IAC5B,IAAI,CAACR,IAAI,EAAE,OAAO,IAAI;IAEtB,MAAME,aAAa,GAAGT,kBAAkB,CAACG,SAAS,EAAEK,cAAc,EAAEJ,WAAW,CAAC;IAChF,OAAOK,aAAa,GAAI,GAAEA,aAAc,IAAGF,IAAI,CAACG,WAAW,CAAC,CAAE,EAAC,GAAG,IAAI;EACxE,CAAC,CAAC,CACDM,MAAM,CAAC,CAACC,IAAI,EAAEC,KAAK,EAAEC,GAAG,KAAM,CAACF,IAAI,GAAG,KAAK,GAAGE,GAAG,CAACC,OAAO,CAACH,IAAI,CAAC,KAAKC,KAAM,CAAC,CAC3EG,IAAI,CAAC,GAAG,CAAC;EAEZ,OAAO;IAAEd,IAAI,EAAEF;EAAW,CAAC;AAC7B,CAAC;AAED,eAAeM,eAAe"}
@@ -9,11 +9,10 @@ const getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {
9
9
  sortby,
10
10
  sortProperties = []
11
11
  } = filterProps;
12
- const [sortProperty = []] = sortProperties || [];
13
12
  return buildSortValues([{
14
13
  sort,
15
14
  propsToDisplay: sortby
16
- }, ...[sortProperty]], relations, stringProps, useSortObject);
15
+ }, ...sortProperties], relations, stringProps, useSortObject);
17
16
  };
18
17
  const getGenericRenderVariables = ({
19
18
  relations,
@@ -1 +1 @@
1
- {"version":3,"file":"get-generic-render-variables.js","names":["DEFAULT_LIMIT","DEFAULT_OFFSET","buildSortValues","getCorrectSort","relations","filterProps","stringProps","useSortObject","sort","sortby","sortProperties","sortProperty","propsToDisplay","getGenericRenderVariables","rawQuery","useRandomSort","rawQueryCopy","_objectSpread","limit","offset","limitToUse","Number","offsetToUse","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"sources":["../../src/helpers/get-generic-render-variables.js"],"sourcesContent":["import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\nimport buildSortValues from './build-sort-values';\n\nconst getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {\n const { sort, sortby, sortProperties = [] } = filterProps;\n const [sortProperty = []] = sortProperties || [];\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...[sortProperty]],\n relations,\n stringProps,\n useSortObject\n );\n};\n\nconst getGenericRenderVariables = ({\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n useRandomSort = false\n}) => {\n const rawQueryCopy = { ...rawQuery };\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQueryCopy && rawQueryCopy.query ? rawQueryCopy.query : rawQueryCopy,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, !!rawQueryCopy.sort);\n\n if (rawQueryCopy.sort && sort) {\n rawQueryCopy.sort = [...rawQueryCopy.sort, sort];\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n }\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n};\n\nexport default getGenericRenderVariables;\n"],"mappings":";;;AAAA,SAASA,aAAa,EAAEC,cAAc,QAAQ,cAAc;AAC5D,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,MAAMC,cAAc,GAAGA,CAACC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAEC,aAAa,KAAK;EAC7E,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,cAAc,GAAG;EAAG,CAAC,GAAGL,WAAW;EACzD,MAAM,CAACM,YAAY,GAAG,EAAE,CAAC,GAAGD,cAAc,IAAI,EAAE;EAEhD,OAAOR,eAAe,CACpB,CAAC;IAAEM,IAAI;IAAEI,cAAc,EAAEH;EAAO,CAAC,EAAE,GAAG,CAACE,YAAY,CAAC,CAAC,EACrDP,SAAS,EACTE,WAAW,EACXC,aACF,CAAC;AACH,CAAC;AAED,MAAMM,yBAAyB,GAAGA,CAAC;EACjCT,SAAS;EACTC,WAAW,GAAG,CAAC,CAAC;EAChBC,WAAW,GAAG,EAAE;EAChBQ,QAAQ,GAAG,CAAC,CAAC;EACbC,aAAa,GAAG;AAClB,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAAC,aAAA,KAAQH,QAAQ,CAAE;EACpC,MAAM;IAAEI,KAAK,GAAGlB,aAAa;IAAEmB;EAAO,CAAC,GAAGd,WAAW;EACrD,MAAMe,UAAU,GAAGC,MAAM,CAACH,KAAK,IAAIlB,aAAa,CAAC;EACjD,MAAMsB,WAAW,GAAGD,MAAM,CAACF,MAAM,IAAIlB,cAAc,CAAC;EAEpD,IAAIc,aAAa,EAAE;IACjB,MAAMQ,mBAAmB,GAAGC,IAAI,CAACC,SAAS,CAAC;MACzCC,KAAK,EAAE;QACLC,cAAc,EAAE;UACdD,KAAK,EAAEV,YAAY,IAAIA,YAAY,CAACU,KAAK,GAAGV,YAAY,CAACU,KAAK,GAAGV,YAAY;UAC7EY,YAAY,EAAE,CAAC,CAAC;UAChBC,UAAU,EAAE;QACd;MACF;IACF,CAAC,CAAC;IAEF,OAAO;MACLX,KAAK,EAAEE,UAAU;MACjBD,MAAM,EAAEG,WAAW;MACnBC;IACF,CAAC;EACH;EAEA,MAAMf,IAAI,GAAGL,cAAc,CAACC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAE,CAAC,CAACU,YAAY,CAACR,IAAI,CAAC;EAErF,IAAIQ,YAAY,CAACR,IAAI,IAAIA,IAAI,EAAE;IAC7BQ,YAAY,CAACR,IAAI,GAAG,CAAC,GAAGQ,YAAY,CAACR,IAAI,EAAEA,IAAI,CAAC;IAEhD,OAAO;MACLU,KAAK,EAAEE,UAAU;MACjBD,MAAM,EAAEG,WAAW;MACnBC,mBAAmB,EAAEC,IAAI,CAACC,SAAS,CAACT,YAAY;IAClD,CAAC;EACH;EAEA,OAAAC,aAAA,CAAAA,aAAA;IACEC,KAAK,EAAEE,UAAU;IACjBD,MAAM,EAAEG;EAAW,GAChBd,IAAI;IACPe,mBAAmB,EAAEC,IAAI,CAACC,SAAS,CAACT,YAAY;EAAC;AAErD,CAAC;AAED,eAAeH,yBAAyB"}
1
+ {"version":3,"file":"get-generic-render-variables.js","names":["DEFAULT_LIMIT","DEFAULT_OFFSET","buildSortValues","getCorrectSort","relations","filterProps","stringProps","useSortObject","sort","sortby","sortProperties","propsToDisplay","getGenericRenderVariables","rawQuery","useRandomSort","rawQueryCopy","_objectSpread","limit","offset","limitToUse","Number","offsetToUse","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"sources":["../../src/helpers/get-generic-render-variables.js"],"sourcesContent":["import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\nimport buildSortValues from './build-sort-values';\n\nconst getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps,\n useSortObject\n );\n};\n\nconst getGenericRenderVariables = ({\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n useRandomSort = false\n}) => {\n const rawQueryCopy = { ...rawQuery };\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQueryCopy && rawQueryCopy.query ? rawQueryCopy.query : rawQueryCopy,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, !!rawQueryCopy.sort);\n\n if (rawQueryCopy.sort && sort) {\n rawQueryCopy.sort = [...rawQueryCopy.sort, sort];\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n }\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n};\n\nexport default getGenericRenderVariables;\n"],"mappings":";;;AAAA,SAASA,aAAa,EAAEC,cAAc,QAAQ,cAAc;AAC5D,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,MAAMC,cAAc,GAAGA,CAACC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAEC,aAAa,KAAK;EAC7E,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,cAAc,GAAG;EAAG,CAAC,GAAGL,WAAW;EAEzD,OAAOH,eAAe,CACpB,CAAC;IAAEM,IAAI;IAAEG,cAAc,EAAEF;EAAO,CAAC,EAAE,GAAGC,cAAc,CAAC,EACrDN,SAAS,EACTE,WAAW,EACXC,aACF,CAAC;AACH,CAAC;AAED,MAAMK,yBAAyB,GAAGA,CAAC;EACjCR,SAAS;EACTC,WAAW,GAAG,CAAC,CAAC;EAChBC,WAAW,GAAG,EAAE;EAChBO,QAAQ,GAAG,CAAC,CAAC;EACbC,aAAa,GAAG;AAClB,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAAC,aAAA,KAAQH,QAAQ,CAAE;EACpC,MAAM;IAAEI,KAAK,GAAGjB,aAAa;IAAEkB;EAAO,CAAC,GAAGb,WAAW;EACrD,MAAMc,UAAU,GAAGC,MAAM,CAACH,KAAK,IAAIjB,aAAa,CAAC;EACjD,MAAMqB,WAAW,GAAGD,MAAM,CAACF,MAAM,IAAIjB,cAAc,CAAC;EAEpD,IAAIa,aAAa,EAAE;IACjB,MAAMQ,mBAAmB,GAAGC,IAAI,CAACC,SAAS,CAAC;MACzCC,KAAK,EAAE;QACLC,cAAc,EAAE;UACdD,KAAK,EAAEV,YAAY,IAAIA,YAAY,CAACU,KAAK,GAAGV,YAAY,CAACU,KAAK,GAAGV,YAAY;UAC7EY,YAAY,EAAE,CAAC,CAAC;UAChBC,UAAU,EAAE;QACd;MACF;IACF,CAAC,CAAC;IAEF,OAAO;MACLX,KAAK,EAAEE,UAAU;MACjBD,MAAM,EAAEG,WAAW;MACnBC;IACF,CAAC;EACH;EAEA,MAAMd,IAAI,GAAGL,cAAc,CAACC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAE,CAAC,CAACS,YAAY,CAACP,IAAI,CAAC;EAErF,IAAIO,YAAY,CAACP,IAAI,IAAIA,IAAI,EAAE;IAC7BO,YAAY,CAACP,IAAI,GAAG,CAAC,GAAGO,YAAY,CAACP,IAAI,EAAEA,IAAI,CAAC;IAEhD,OAAO;MACLS,KAAK,EAAEE,UAAU;MACjBD,MAAM,EAAEG,WAAW;MACnBC,mBAAmB,EAAEC,IAAI,CAACC,SAAS,CAACT,YAAY;IAClD,CAAC;EACH;EAEA,OAAAC,aAAA,CAAAA,aAAA;IACEC,KAAK,EAAEE,UAAU;IACjBD,MAAM,EAAEG;EAAW,GAChBb,IAAI;IACPc,mBAAmB,EAAEC,IAAI,CAACC,SAAS,CAACT,YAAY;EAAC;AAErD,CAAC;AAED,eAAeH,yBAAyB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.133.0-core-styles.3",
3
+ "version": "0.133.0",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,15 +27,15 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/core-auth-ui": "0.133.0-core-styles.0",
31
- "@blaze-cms/core-errors": "0.133.0-core-styles.0",
32
- "@blaze-cms/core-errors-ui": "0.133.0-core-styles.0",
30
+ "@blaze-cms/core-auth-ui": "^0.131.0",
31
+ "@blaze-cms/core-errors": "^0.131.0",
32
+ "@blaze-cms/core-errors-ui": "^0.131.0",
33
33
  "@blaze-cms/image-cdn-react": "0.3.0-alpha.5",
34
- "@blaze-cms/nextjs-components": "0.133.0-core-styles.0",
35
- "@blaze-cms/plugin-search-ui": "0.133.0-core-styles.3",
36
- "@blaze-cms/setup-ui": "0.133.0-core-styles.0",
37
- "@blaze-cms/utils": "0.133.0-core-styles.0",
38
- "@blaze-cms/utils-handlebars": "0.133.0-core-styles.0",
34
+ "@blaze-cms/nextjs-components": "^0.133.0",
35
+ "@blaze-cms/plugin-search-ui": "^0.133.0",
36
+ "@blaze-cms/setup-ui": "^0.131.0",
37
+ "@blaze-cms/utils": "^0.131.0",
38
+ "@blaze-cms/utils-handlebars": "^0.133.0",
39
39
  "@blaze-react/breadcrumb": "0.8.0-alpha.60",
40
40
  "@blaze-react/button": "0.5.19",
41
41
  "@blaze-react/checkboxes": "0.5.31",
@@ -89,5 +89,5 @@
89
89
  "lib/*",
90
90
  "lib-es/*"
91
91
  ],
92
- "gitHead": "d55f921f7b846bce4f79c326c80b788cb83f65bc"
92
+ "gitHead": "d1265256eafcf99954599ab9b12d1cc165929cb9"
93
93
  }
@@ -2,7 +2,6 @@ import React, { useState } from 'react';
2
2
  import { AdSlot } from 'react-dfp';
3
3
  import PropTypes from 'prop-types';
4
4
  import { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';
5
- import Wrapper from '../Wrapper';
6
5
 
7
6
  const AdSlotRender = ({
8
7
  shouldShowBanner,
@@ -10,7 +9,6 @@ const AdSlotRender = ({
10
9
  sizeId,
11
10
  parsedAdunit,
12
11
  parsedSizes,
13
- modifiers,
14
12
  targetingArguments
15
13
  }) => {
16
14
  const [{ loadingStatus = BANNER_LOADING, minHeight }, setLoadingStatus] = useState({});
@@ -26,11 +24,11 @@ const AdSlotRender = ({
26
24
  })
27
25
  .sort();
28
26
  const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;
29
- const newModifers = `${modifiers} banner-${loadingStatus}`;
27
+
30
28
  return (
31
- <Wrapper className="banner" modifiers={newModifers}>
29
+ <>
32
30
  {styles && <style>{styles.join('\n')}</style>}
33
- <div className={className} style={{ minHeight }} data-testid="ad-slot">
31
+ <div className={className} style={{ minHeight }}>
34
32
  {shouldShowBanner && (
35
33
  <AdSlot
36
34
  adUnit={parsedAdunit}
@@ -48,7 +46,7 @@ const AdSlotRender = ({
48
46
  />
49
47
  )}
50
48
  </div>
51
- </Wrapper>
49
+ </>
52
50
  );
53
51
  };
54
52
 
@@ -58,13 +56,11 @@ AdSlotRender.propTypes = {
58
56
  sizeId: PropTypes.string.isRequired,
59
57
  parsedAdunit: PropTypes.string.isRequired,
60
58
  parsedSizes: PropTypes.array,
61
- modifiers: PropTypes.string,
62
59
  targetingArguments: PropTypes.object.isRequired
63
60
  };
64
61
 
65
62
  AdSlotRender.defaultProps = {
66
- parsedSizes: null,
67
- modifiers: ''
63
+ parsedSizes: null
68
64
  };
69
65
 
70
66
  export default AdSlotRender;
@@ -7,6 +7,7 @@ import { useQuery } from '@apollo/client';
7
7
  import { useRouter } from 'next/router';
8
8
  import { buildUserQuery, buildPropsData } from './helpers';
9
9
  import { getSingleEntitySchema, getUser } from '../../application/query';
10
+ import Wrapper from '../Wrapper';
10
11
  import BannerRender from './BannerRender';
11
12
  import buildPropsQuery from '../../helpers/build-props-query';
12
13
  import { getClassModifiers } from '../../utils';
@@ -46,15 +47,16 @@ const Banner = ({ type, ...otherProps }) => {
46
47
  const bannerKey = `${sizeId}${asPath}`;
47
48
 
48
49
  return (
49
- <BannerRender
50
- key={bannerKey}
51
- {...otherProps}
52
- action={action}
53
- actionKey={actionKey}
54
- asPath={asPath}
55
- userPropsData={userPropsData}
56
- modifiers={modifiers}
57
- />
50
+ <Wrapper className={type} modifiers={modifiers}>
51
+ <BannerRender
52
+ key={bannerKey}
53
+ {...otherProps}
54
+ action={action}
55
+ actionKey={actionKey}
56
+ asPath={asPath}
57
+ userPropsData={userPropsData}
58
+ />
59
+ </Wrapper>
58
60
  );
59
61
  };
60
62