@blaze-cms/react-page-builder 0.112.0-alpha.2 → 0.113.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/lib/components/List/ListBuilder.js +4 -0
  3. package/lib/components/List/ListBuilder.js.map +1 -1
  4. package/lib/components/List/ListFactory.js +4 -0
  5. package/lib/components/List/ListFactory.js.map +1 -1
  6. package/lib/components/List/ListRender.js +4 -0
  7. package/lib/components/List/ListRender.js.map +1 -1
  8. package/lib/components/List/components/Cards/CardsRender.js +26 -3
  9. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  10. package/lib/components/List/components/Cards/CardsRenderWrapper.js +25 -3
  11. package/lib/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
  12. package/lib/components/List/components/Full/FullRender.js +25 -3
  13. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  14. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +5 -1
  15. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  16. package/lib/components/SearchFilter/SearchFilterContainer.js +40 -10
  17. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  18. package/lib-es/components/List/ListBuilder.js +4 -0
  19. package/lib-es/components/List/ListBuilder.js.map +1 -1
  20. package/lib-es/components/List/ListFactory.js +4 -0
  21. package/lib-es/components/List/ListFactory.js.map +1 -1
  22. package/lib-es/components/List/ListRender.js +4 -0
  23. package/lib-es/components/List/ListRender.js.map +1 -1
  24. package/lib-es/components/List/components/Cards/CardsRender.js +9 -3
  25. package/lib-es/components/List/components/Cards/CardsRender.js.map +1 -1
  26. package/lib-es/components/List/components/Cards/CardsRenderWrapper.js +7 -3
  27. package/lib-es/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
  28. package/lib-es/components/List/components/Full/FullRender.js +8 -3
  29. package/lib-es/components/List/components/Full/FullRender.js.map +1 -1
  30. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +5 -1
  31. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  32. package/lib-es/components/SearchFilter/SearchFilterContainer.js +35 -7
  33. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  34. package/package.json +3 -3
  35. package/src/components/List/ListBuilder.js +4 -0
  36. package/src/components/List/ListFactory.js +4 -0
  37. package/src/components/List/ListRender.js +4 -0
  38. package/src/components/List/components/Cards/CardsRender.js +11 -3
  39. package/src/components/List/components/Cards/CardsRenderWrapper.js +14 -4
  40. package/src/components/List/components/Full/FullRender.js +10 -4
  41. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +9 -1
  42. package/src/components/SearchFilter/SearchFilterContainer.js +27 -6
  43. package/tests/unit/src/components/List/components/Cards/CardsRender.test.js +9 -1
  44. package/tests/unit/src/components/List/components/Cards/CardsRenderWrapper.test.js +9 -1
  45. package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +69 -2
  46. package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRenderWrapper.test.js.snap +14 -1
  47. package/tests/unit/src/components/List/components/Full/FullRender.test.js +6 -1
  48. package/tests/unit/src/components/List/components/Full/FullRenderItem.test.js +1 -1
  49. package/tests/unit/src/components/List/components/Full/__snapshots__/FullRender.test.js.snap +16 -2
  50. package/tests/unit/src/components/List/components/Full/__snapshots__/FullRenderItem.test.js.snap +1 -1
  51. package/tests/unit/src/components/SearchFilter/SearchFilter/SearchFilter.test.js +1 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/List/ListRender.js"],"names":["React","useQuery","PropTypes","ListPagination","ListHeader","sortResponseData","LOAD_MORE","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","paginationType","listComponent","ListComponent","query","url","listAggregations","isAZ","azFilterToUse","displayTotal","data","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","length","currentListLength","currentPage","Math","ceil","totalDisplay","propTypes","string","isRequired","object","number","bool","func","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\n\nconst ListRender = props => {\n const {\n variables,\n actionKey,\n action,\n name,\n itemsToDisplay,\n itemsPerPageToUse,\n limitToUse,\n initialOffset,\n isInfinite,\n paginationType,\n listComponent: ListComponent,\n query,\n url,\n listAggregations,\n isAZ,\n azFilterToUse,\n displayTotal\n } = props;\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data[actionKey] || !data[actionKey].results) return null;\n\n const listData = data[actionKey].results;\n const listTotal = data[actionKey].total;\n const orderedListData = sortResponseData(listData, itemsToDisplay);\n if (!orderedListData || !orderedListData.length) return null;\n const { length: currentListLength } = orderedListData;\n const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);\n const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;\n\n return (\n <>\n {isAZ && (\n <ListHeader name={name} listAggregations={listAggregations} azFilterToUse={azFilterToUse} />\n )}\n {displayTotal && (\n <div className=\"list_total_results w-full text-left p-4\">Total results: {totalDisplay}</div>\n )}\n <ListComponent\n orderedListData={orderedListData}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n fetchMore={fetchMore}\n itemsPerPageToUse={itemsPerPageToUse || listData.length}\n listTotal={listTotal}\n currentListLength={currentListLength}\n currentPage={currentPage}\n query={query}\n url={url}\n itemsToDisplay={itemsToDisplay}\n {...props}\n />\n {paginationType !== LOAD_MORE && (\n <ListPagination\n limitToUse={limitToUse}\n itemsPerPage={itemsPerPageToUse}\n listTotal={listTotal}\n name={name}\n isInfinite={isInfinite}\n currentListLength={currentListLength}\n paginationType={paginationType}\n currentPage={currentPage}\n query={query}\n url={url}\n />\n )}\n </>\n );\n};\n\nListRender.propTypes = {\n name: PropTypes.string.isRequired,\n paginationType: PropTypes.string.isRequired,\n variables: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n itemsPerPageToUse: PropTypes.number.isRequired,\n limitToUse: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n listComponent: PropTypes.func.isRequired,\n isAZ: PropTypes.bool.isRequired,\n azFilterToUse: PropTypes.string.isRequired,\n listAggregations: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n displayTotal: PropTypes.bool\n};\n\nListRender.defaultProps = {\n itemsToDisplay: [],\n listAggregations: [],\n displayTotal: false\n};\n\nexport default ListRender;\n"],"file":"ListRender.js"}
1
+ {"version":3,"sources":["../../../src/components/List/ListRender.js"],"names":["React","useQuery","PropTypes","ListPagination","ListHeader","sortResponseData","LOAD_MORE","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","listComponent","ListComponent","query","url","listAggregations","isAZ","azFilterToUse","displayTotal","data","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","length","currentListLength","currentPage","Math","ceil","totalDisplay","propTypes","string","isRequired","object","number","bool","func","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\n\nconst ListRender = props => {\n const {\n variables,\n actionKey,\n action,\n name,\n itemsToDisplay,\n itemsPerPageToUse,\n limitToUse,\n initialOffset,\n isInfinite,\n omitWrappers,\n paginationType,\n listComponent: ListComponent,\n query,\n url,\n listAggregations,\n isAZ,\n azFilterToUse,\n displayTotal\n } = props;\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data[actionKey] || !data[actionKey].results) return null;\n\n const listData = data[actionKey].results;\n const listTotal = data[actionKey].total;\n const orderedListData = sortResponseData(listData, itemsToDisplay);\n if (!orderedListData || !orderedListData.length) return null;\n const { length: currentListLength } = orderedListData;\n const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);\n const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;\n\n return (\n <>\n {isAZ && (\n <ListHeader name={name} listAggregations={listAggregations} azFilterToUse={azFilterToUse} />\n )}\n {displayTotal && (\n <div className=\"list_total_results w-full text-left p-4\">Total results: {totalDisplay}</div>\n )}\n <ListComponent\n orderedListData={orderedListData}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n fetchMore={fetchMore}\n omitWrappers={omitWrappers}\n itemsPerPageToUse={itemsPerPageToUse || listData.length}\n listTotal={listTotal}\n currentListLength={currentListLength}\n currentPage={currentPage}\n query={query}\n url={url}\n itemsToDisplay={itemsToDisplay}\n {...props}\n />\n {paginationType !== LOAD_MORE && (\n <ListPagination\n limitToUse={limitToUse}\n itemsPerPage={itemsPerPageToUse}\n listTotal={listTotal}\n name={name}\n isInfinite={isInfinite}\n currentListLength={currentListLength}\n paginationType={paginationType}\n currentPage={currentPage}\n query={query}\n url={url}\n />\n )}\n </>\n );\n};\n\nListRender.propTypes = {\n name: PropTypes.string.isRequired,\n paginationType: PropTypes.string.isRequired,\n variables: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n itemsPerPageToUse: PropTypes.number.isRequired,\n limitToUse: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n omitWrappers: PropTypes.bool,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n listComponent: PropTypes.func.isRequired,\n isAZ: PropTypes.bool.isRequired,\n azFilterToUse: PropTypes.string.isRequired,\n listAggregations: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n displayTotal: PropTypes.bool\n};\n\nListRender.defaultProps = {\n omitWrappers: false,\n itemsToDisplay: [],\n listAggregations: [],\n displayTotal: false\n};\n\nexport default ListRender;\n"],"file":"ListRender.js"}
@@ -1,16 +1,17 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- const _excluded = ["orderedListData", "gridModifier", "children", "entity", "banner", "propsToDisplay", "paginationType", "parent", "hasBanner", "gtmData", "itemsToDisplay"];
4
+ const _excluded = ["orderedListData", "gridModifier", "children", "entity", "banner", "omitWrappers", "propsToDisplay", "paginationType", "parent", "hasBanner", "gtmData", "itemsToDisplay"];
5
5
 
6
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7
7
 
8
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9
9
 
10
- import React from 'react';
10
+ import React, { Fragment } from 'react';
11
11
  import PropTypes from 'prop-types';
12
12
  import CardsRenderWrapper from './CardsRenderWrapper';
13
13
  import { BANNER } from '../../constants';
14
+ import Wrapper from '../../../Wrapper';
14
15
  import { splitChildren, appendImages } from '../../../../helpers';
15
16
  import { getPropsToDisplayModifiers } from '../../../../utils';
16
17
  import ListPagination from '../Pagination';
@@ -24,6 +25,7 @@ const CardsRender = _ref => {
24
25
  children,
25
26
  entity,
26
27
  banner,
28
+ omitWrappers,
27
29
  propsToDisplay,
28
30
  paginationType,
29
31
  parent,
@@ -61,7 +63,8 @@ const CardsRender = _ref => {
61
63
  } = useGetImages(imageIds, true);
62
64
  if (imagesLoading) return '';
63
65
  const updatedListWithImages = appendImages(imagesData, orderedListData, itemsToDisplay);
64
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
66
+ const WrapperToUse = omitWrappers ? Fragment : Wrapper;
67
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WrapperToUse, {
65
68
  className: "list list--compact"
66
69
  }, /*#__PURE__*/React.createElement(CardsRenderWrapper, _extends({
67
70
  orderedListData: updatedListWithImages,
@@ -69,6 +72,7 @@ const CardsRender = _ref => {
69
72
  bannerProps: bannerProps,
70
73
  cardChildren: regularChildren,
71
74
  gtmChildren: gtmChildren,
75
+ omitWrappers: omitWrappers,
72
76
  propsToDisplay: propsToDisplay,
73
77
  propsToDisplayModifiers: propsToDisplayModifiers,
74
78
  gridModifier: gridModifier,
@@ -88,6 +92,7 @@ CardsRender.propTypes = {
88
92
  paginationType: PropTypes.string.isRequired,
89
93
  hasBanner: PropTypes.bool,
90
94
  banner: PropTypes.object,
95
+ omitWrappers: PropTypes.bool,
91
96
  gridModifier: PropTypes.string,
92
97
  entity: PropTypes.string.isRequired,
93
98
  children: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),
@@ -99,6 +104,7 @@ CardsRender.defaultProps = {
99
104
  children: null,
100
105
  hasBanner: false,
101
106
  banner: null,
107
+ omitWrappers: false,
102
108
  gtmData: null,
103
109
  itemsToDisplay: []
104
110
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRender.js"],"names":["React","PropTypes","CardsRenderWrapper","BANNER","splitChildren","appendImages","getPropsToDisplayModifiers","ListPagination","LOAD_MORE","useGetImages","CardsRender","orderedListData","gridModifier","children","entity","banner","propsToDisplay","paginationType","parent","hasBanner","gtmData","itemsToDisplay","props","name","dataForGtm","regularChildren","gtmChildren","bannerProps","type","propsToDisplayModifiers","imageIds","map","imageId","filter","Boolean","data","imagesData","loading","imagesLoading","updatedListWithImages","propTypes","string","isRequired","object","array","bool","oneOfType","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CardsRenderWrapper from './CardsRenderWrapper';\nimport { BANNER } from '../../constants';\nimport { splitChildren, appendImages } from '../../../../helpers';\nimport { getPropsToDisplayModifiers } from '../../../../utils';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { useGetImages } from '../../../../hooks';\n\nconst CardsRender = ({\n orderedListData,\n gridModifier,\n children,\n entity,\n banner,\n propsToDisplay,\n paginationType,\n parent,\n hasBanner,\n gtmData,\n itemsToDisplay,\n ...props\n}) => {\n const { name } = props;\n const dataForGtm = gtmData || orderedListData;\n\n const { regularChildren, gtmChildren } = splitChildren(children, dataForGtm, entity, {\n name\n });\n\n const bannerProps = banner\n ? { parent, hasBanner, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const imageIds = itemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n if (imagesLoading) return '';\n const updatedListWithImages = appendImages(imagesData, orderedListData, itemsToDisplay);\n\n return (\n <>\n <div className=\"list list--compact\">\n <CardsRenderWrapper\n orderedListData={updatedListWithImages}\n listProps={props}\n bannerProps={bannerProps}\n cardChildren={regularChildren}\n gtmChildren={gtmChildren}\n propsToDisplay={propsToDisplay}\n propsToDisplayModifiers={propsToDisplayModifiers}\n gridModifier={gridModifier}\n entity={entity}\n parent={parent}\n {...props}\n />\n </div>\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} parent={parent} {...props} />\n )}\n </>\n );\n};\n\nCardsRender.propTypes = {\n name: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n orderedListData: PropTypes.array.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object,\n gridModifier: PropTypes.string,\n entity: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n gtmData: PropTypes.array,\n itemsToDisplay: PropTypes.array\n};\n\nCardsRender.defaultProps = {\n gridModifier: '',\n children: null,\n hasBanner: false,\n banner: null,\n gtmData: null,\n itemsToDisplay: []\n};\n\nexport default CardsRender;\n"],"file":"CardsRender.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRender.js"],"names":["React","Fragment","PropTypes","CardsRenderWrapper","BANNER","Wrapper","splitChildren","appendImages","getPropsToDisplayModifiers","ListPagination","LOAD_MORE","useGetImages","CardsRender","orderedListData","gridModifier","children","entity","banner","omitWrappers","propsToDisplay","paginationType","parent","hasBanner","gtmData","itemsToDisplay","props","name","dataForGtm","regularChildren","gtmChildren","bannerProps","type","propsToDisplayModifiers","imageIds","map","imageId","filter","Boolean","data","imagesData","loading","imagesLoading","updatedListWithImages","WrapperToUse","propTypes","string","isRequired","object","array","bool","oneOfType","defaultProps"],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport CardsRenderWrapper from './CardsRenderWrapper';\nimport { BANNER } from '../../constants';\nimport Wrapper from '../../../Wrapper';\nimport { splitChildren, appendImages } from '../../../../helpers';\nimport { getPropsToDisplayModifiers } from '../../../../utils';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { useGetImages } from '../../../../hooks';\n\nconst CardsRender = ({\n orderedListData,\n gridModifier,\n children,\n entity,\n banner,\n omitWrappers,\n propsToDisplay,\n paginationType,\n parent,\n hasBanner,\n gtmData,\n itemsToDisplay,\n ...props\n}) => {\n const { name } = props;\n const dataForGtm = gtmData || orderedListData;\n\n const { regularChildren, gtmChildren } = splitChildren(children, dataForGtm, entity, {\n name\n });\n\n const bannerProps = banner\n ? { parent, hasBanner, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const imageIds = itemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n if (imagesLoading) return '';\n const updatedListWithImages = appendImages(imagesData, orderedListData, itemsToDisplay);\n\n const WrapperToUse = omitWrappers ? Fragment : Wrapper;\n\n return (\n <>\n <WrapperToUse className=\"list list--compact\">\n <CardsRenderWrapper\n orderedListData={updatedListWithImages}\n listProps={props}\n bannerProps={bannerProps}\n cardChildren={regularChildren}\n gtmChildren={gtmChildren}\n omitWrappers={omitWrappers}\n propsToDisplay={propsToDisplay}\n propsToDisplayModifiers={propsToDisplayModifiers}\n gridModifier={gridModifier}\n entity={entity}\n parent={parent}\n {...props}\n />\n </WrapperToUse>\n\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} parent={parent} {...props} />\n )}\n </>\n );\n};\n\nCardsRender.propTypes = {\n name: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n orderedListData: PropTypes.array.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object,\n omitWrappers: PropTypes.bool,\n gridModifier: PropTypes.string,\n entity: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n gtmData: PropTypes.array,\n itemsToDisplay: PropTypes.array\n};\n\nCardsRender.defaultProps = {\n gridModifier: '',\n children: null,\n hasBanner: false,\n banner: null,\n omitWrappers: false,\n gtmData: null,\n itemsToDisplay: []\n};\n\nexport default CardsRender;\n"],"file":"CardsRender.js"}
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- const _excluded = ["orderedListData", "gridModifier", "bannerProps"];
4
- import React from 'react';
3
+ const _excluded = ["orderedListData", "gridModifier", "omitWrappers", "bannerProps"];
4
+ import React, { Fragment } from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import CardsRenderItem from './CardsRenderItem';
7
7
  import Wrapper from '../../../Wrapper';
@@ -12,12 +12,14 @@ const CardsRenderWrapper = _ref => {
12
12
  let {
13
13
  orderedListData,
14
14
  gridModifier,
15
+ omitWrappers,
15
16
  bannerProps
16
17
  } = _ref,
17
18
  props = _objectWithoutProperties(_ref, _excluded);
18
19
 
19
20
  let bannerIndex = 0;
20
- return /*#__PURE__*/React.createElement(Wrapper, {
21
+ const WrapperToUse = omitWrappers ? Fragment : Wrapper;
22
+ return /*#__PURE__*/React.createElement(WrapperToUse, {
21
23
  className: "grid",
22
24
  modifiers: gridModifier
23
25
  }, orderedListData.map((cardProps, index) => {
@@ -42,10 +44,12 @@ const CardsRenderWrapper = _ref => {
42
44
  CardsRenderWrapper.propTypes = {
43
45
  orderedListData: PropTypes.array.isRequired,
44
46
  gridModifier: PropTypes.string.isRequired,
47
+ omitWrappers: PropTypes.bool,
45
48
  imagesData: PropTypes.array,
46
49
  bannerProps: PropTypes.object
47
50
  };
48
51
  CardsRenderWrapper.defaultProps = {
52
+ omitWrappers: false,
49
53
  imagesData: [],
50
54
  bannerProps: {}
51
55
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRenderWrapper.js"],"names":["React","PropTypes","CardsRenderItem","Wrapper","withTitle","checkIfShouldRenderBanner","CardsRenderWrapper","orderedListData","gridModifier","bannerProps","props","bannerIndex","map","cardProps","index","id","shouldRenderBanner","propTypes","array","isRequired","string","imagesData","object","defaultProps"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,OAAP,MAAoB,kBAApB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,yBAAT,QAA0C,YAA1C;;AAEA,MAAMC,kBAAkB,GAAG,QAA8D;AAAA,MAA7D;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA,YAAnB;AAAiCC,IAAAA;AAAjC,GAA6D;AAAA,MAAZC,KAAY;;AACvF,MAAIC,WAAW,GAAG,CAAlB;AAEA,sBACE,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAEH;AAArC,KACGD,eAAe,CAACK,GAAhB,CAAoB,CAACC,SAAD,EAAYC,KAAZ,KAAsB;AACzC,UAAM;AAAEC,MAAAA;AAAF,QAASF,SAAf;AACA,UAAMG,kBAAkB,GAAG,CAAC,CAACP,WAAF,IAAiBJ,yBAAyB,CAACS,KAAD,EAAQL,WAAR,CAArE;AACA,QAAIO,kBAAJ,EAAwBL,WAAW,IAAI,CAAf;AAExB,wBACE,oBAAC,eAAD;AACE,MAAA,GAAG,EAAEI,EADP;AAEE,MAAA,KAAK,EAAED,KAFT;AAGE,MAAA,SAAS,EAAED,SAHb;AAIE,MAAA,YAAY,EAAEL,YAJhB;AAKE,MAAA,SAAS,EAAEE,KALb;AAME,MAAA,kBAAkB,EAAEM,kBANtB;AAOE,MAAA,WAAW,EAAEP,WAPf;AAQE,MAAA,WAAW,EAAEE;AARf,OASMD,KATN,EADF;AAaD,GAlBA,CADH,CADF;AAuBD,CA1BD;;AA4BAJ,kBAAkB,CAACW,SAAnB,GAA+B;AAC7BV,EAAAA,eAAe,EAAEN,SAAS,CAACiB,KAAV,CAAgBC,UADJ;AAE7BX,EAAAA,YAAY,EAAEP,SAAS,CAACmB,MAAV,CAAiBD,UAFF;AAG7BE,EAAAA,UAAU,EAAEpB,SAAS,CAACiB,KAHO;AAI7BT,EAAAA,WAAW,EAAER,SAAS,CAACqB;AAJM,CAA/B;AAOAhB,kBAAkB,CAACiB,YAAnB,GAAkC;AAChCF,EAAAA,UAAU,EAAE,EADoB;AAEhCZ,EAAAA,WAAW,EAAE;AAFmB,CAAlC;AAKA,eAAeL,SAAS,CAACE,kBAAD,CAAxB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CardsRenderItem from './CardsRenderItem';\nimport Wrapper from '../../../Wrapper';\nimport { withTitle } from '../../../../HOC';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst CardsRenderWrapper = ({ orderedListData, gridModifier, bannerProps, ...props }) => {\n let bannerIndex = 0;\n\n return (\n <Wrapper className=\"grid\" modifiers={gridModifier}>\n {orderedListData.map((cardProps, index) => {\n const { id } = cardProps;\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <CardsRenderItem\n key={id}\n index={index}\n cardProps={cardProps}\n gridModifier={gridModifier}\n listProps={props}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n {...props}\n />\n );\n })}\n </Wrapper>\n );\n};\n\nCardsRenderWrapper.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n gridModifier: PropTypes.string.isRequired,\n imagesData: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nCardsRenderWrapper.defaultProps = {\n imagesData: [],\n bannerProps: {}\n};\n\nexport default withTitle(CardsRenderWrapper);\n"],"file":"CardsRenderWrapper.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Cards/CardsRenderWrapper.js"],"names":["React","Fragment","PropTypes","CardsRenderItem","Wrapper","withTitle","checkIfShouldRenderBanner","CardsRenderWrapper","orderedListData","gridModifier","omitWrappers","bannerProps","props","bannerIndex","WrapperToUse","map","cardProps","index","id","shouldRenderBanner","propTypes","array","isRequired","string","bool","imagesData","object","defaultProps"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,OAAP,MAAoB,kBAApB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,yBAAT,QAA0C,YAA1C;;AAEA,MAAMC,kBAAkB,GAAG,QAMrB;AAAA,MANsB;AAC1BC,IAAAA,eAD0B;AAE1BC,IAAAA,YAF0B;AAG1BC,IAAAA,YAH0B;AAI1BC,IAAAA;AAJ0B,GAMtB;AAAA,MADDC,KACC;;AACJ,MAAIC,WAAW,GAAG,CAAlB;AAEA,QAAMC,YAAY,GAAGJ,YAAY,GAAGT,QAAH,GAAcG,OAA/C;AAEA,sBACE,oBAAC,YAAD;AAAc,IAAA,SAAS,EAAC,MAAxB;AAA+B,IAAA,SAAS,EAAEK;AAA1C,KACGD,eAAe,CAACO,GAAhB,CAAoB,CAACC,SAAD,EAAYC,KAAZ,KAAsB;AACzC,UAAM;AAAEC,MAAAA;AAAF,QAASF,SAAf;AACA,UAAMG,kBAAkB,GAAG,CAAC,CAACR,WAAF,IAAiBL,yBAAyB,CAACW,KAAD,EAAQN,WAAR,CAArE;AACA,QAAIQ,kBAAJ,EAAwBN,WAAW,IAAI,CAAf;AAExB,wBACE,oBAAC,eAAD;AACE,MAAA,GAAG,EAAEK,EADP;AAEE,MAAA,KAAK,EAAED,KAFT;AAGE,MAAA,SAAS,EAAED,SAHb;AAIE,MAAA,YAAY,EAAEP,YAJhB;AAKE,MAAA,SAAS,EAAEG,KALb;AAME,MAAA,kBAAkB,EAAEO,kBANtB;AAOE,MAAA,WAAW,EAAER,WAPf;AAQE,MAAA,WAAW,EAAEE;AARf,OASMD,KATN,EADF;AAaD,GAlBA,CADH,CADF;AAuBD,CAlCD;;AAoCAL,kBAAkB,CAACa,SAAnB,GAA+B;AAC7BZ,EAAAA,eAAe,EAAEN,SAAS,CAACmB,KAAV,CAAgBC,UADJ;AAE7Bb,EAAAA,YAAY,EAAEP,SAAS,CAACqB,MAAV,CAAiBD,UAFF;AAG7BZ,EAAAA,YAAY,EAAER,SAAS,CAACsB,IAHK;AAI7BC,EAAAA,UAAU,EAAEvB,SAAS,CAACmB,KAJO;AAK7BV,EAAAA,WAAW,EAAET,SAAS,CAACwB;AALM,CAA/B;AAQAnB,kBAAkB,CAACoB,YAAnB,GAAkC;AAChCjB,EAAAA,YAAY,EAAE,KADkB;AAEhCe,EAAAA,UAAU,EAAE,EAFoB;AAGhCd,EAAAA,WAAW,EAAE;AAHmB,CAAlC;AAMA,eAAeN,SAAS,CAACE,kBAAD,CAAxB","sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport CardsRenderItem from './CardsRenderItem';\nimport Wrapper from '../../../Wrapper';\nimport { withTitle } from '../../../../HOC';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst CardsRenderWrapper = ({\n orderedListData,\n gridModifier,\n omitWrappers,\n bannerProps,\n ...props\n}) => {\n let bannerIndex = 0;\n\n const WrapperToUse = omitWrappers ? Fragment : Wrapper;\n\n return (\n <WrapperToUse className=\"grid\" modifiers={gridModifier}>\n {orderedListData.map((cardProps, index) => {\n const { id } = cardProps;\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(index, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <CardsRenderItem\n key={id}\n index={index}\n cardProps={cardProps}\n gridModifier={gridModifier}\n listProps={props}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n {...props}\n />\n );\n })}\n </WrapperToUse>\n );\n};\n\nCardsRenderWrapper.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n gridModifier: PropTypes.string.isRequired,\n omitWrappers: PropTypes.bool,\n imagesData: PropTypes.array,\n bannerProps: PropTypes.object\n};\n\nCardsRenderWrapper.defaultProps = {\n omitWrappers: false,\n imagesData: [],\n bannerProps: {}\n};\n\nexport default withTitle(CardsRenderWrapper);\n"],"file":"CardsRenderWrapper.js"}
@@ -1,25 +1,27 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- const _excluded = ["orderedListData", "paginationType"],
4
+ const _excluded = ["orderedListData", "omitWrappers", "paginationType"],
5
5
  _excluded2 = ["id"];
6
6
 
7
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8
8
 
9
9
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
10
 
11
- import React from 'react';
11
+ import React, { Fragment } from 'react';
12
12
  import PropTypes from 'prop-types';
13
13
  import uuid from 'uuid/v1';
14
14
  import FullRenderItem from './FullRenderItem';
15
15
  import ListPagination from '../Pagination';
16
16
  import { LOAD_MORE } from '../../../../constants';
17
17
  import { BANNER } from '../../constants';
18
+ import Wrapper from '../../../Wrapper';
18
19
  import { checkIfShouldRenderBanner } from '../helpers';
19
20
 
20
21
  const FullRender = _ref => {
21
22
  let {
22
23
  orderedListData,
24
+ omitWrappers,
23
25
  paginationType
24
26
  } = _ref,
25
27
  props = _objectWithoutProperties(_ref, _excluded);
@@ -41,7 +43,8 @@ const FullRender = _ref => {
41
43
  type: BANNER
42
44
  }) : null;
43
45
  let bannerIndex = 0;
44
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
46
+ const WrapperToUse = omitWrappers ? Fragment : Wrapper;
47
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WrapperToUse, {
45
48
  className: "list list--full"
46
49
  }, orderedListData.map((_ref2, i) => {
47
50
  let {
@@ -73,10 +76,12 @@ FullRender.propTypes = {
73
76
  parent: PropTypes.object.isRequired,
74
77
  propsToDisplay: PropTypes.array.isRequired,
75
78
  entity: PropTypes.string.isRequired,
79
+ omitWrappers: PropTypes.bool,
76
80
  hasBanner: PropTypes.bool,
77
81
  banner: PropTypes.object
78
82
  };
79
83
  FullRender.defaultProps = {
84
+ omitWrappers: false,
80
85
  hasBanner: false,
81
86
  banner: null
82
87
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"names":["React","PropTypes","uuid","FullRenderItem","ListPagination","LOAD_MORE","BANNER","checkIfShouldRenderBanner","FullRender","orderedListData","paginationType","props","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","type","bannerIndex","map","i","id","entityProps","shouldRenderBanner","propTypes","array","isRequired","string","object","bool","defaultProps"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AACA,OAAOC,cAAP,MAA2B,eAA3B;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SAASC,yBAAT,QAA0C,YAA1C;;AAEA,MAAMC,UAAU,GAAG,QAAmD;AAAA,MAAlD;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GAAkD;AAAA,MAAZC,KAAY;;AACpE,QAAMC,aAAa,GAAGV,IAAI,EAA1B;AACA,QAAM;AAAEW,IAAAA,MAAF;AAAUC,IAAAA,MAAV;AAAkBC,IAAAA,cAAlB;AAAkCC,IAAAA,MAAlC;AAA0CC,IAAAA;AAA1C,MAAwDN,KAA9D;AACA,QAAMO,WAAW,GAAGF,MAAM;AACpBC,IAAAA,SADoB;AACTJ,IAAAA,MADS;AACDC,IAAAA,MADC;AACOC,IAAAA;AADP,KAC0BC,MAD1B;AACkCG,IAAAA,IAAI,EAAEb;AADxC,OAEtB,IAFJ;AAGA,MAAIc,WAAW,GAAG,CAAlB;AAEA,sBACE,uDACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGX,eAAe,CAACY,GAAhB,CAAoB,QAAyBC,CAAzB,KAA+B;AAAA,QAA9B;AAAEC,MAAAA;AAAF,KAA8B;AAAA,QAArBC,WAAqB;;AAClD,UAAMC,kBAAkB,GAAG,CAAC,CAACP,WAAF,IAAiBX,yBAAyB,CAACe,CAAD,EAAIJ,WAAJ,CAArE;AACA,QAAIO,kBAAJ,EAAwBL,WAAW,IAAI,CAAf;AAExB,wBACE,oBAAC,cAAD;AACE,MAAA,GAAG,EAAEG;AADP,OAEMZ,KAFN,EAGMa,WAHN;AAIE,MAAA,KAAK,EAAEF,CAJT;AAKE,MAAA,MAAM,EAAEC,EALV;AAME,MAAA,aAAa,EAAEX,aANjB;AAOE,MAAA,WAAW,EAAEY,WAPf;AAQE,MAAA,kBAAkB,EAAEC,kBARtB;AASE,MAAA,WAAW,EAAEP,WATf;AAUE,MAAA,WAAW,EAAEE;AAVf,OADF;AAcD,GAlBA,CADH,CADF,EAsBGV,cAAc,KAAKL,SAAnB,iBACC,oBAAC,cAAD;AAAgB,IAAA,cAAc,EAAEK;AAAhC,KAAoDC,KAApD,EAvBJ,CADF;AA4BD,CApCD;;AAsCAH,UAAU,CAACkB,SAAX,GAAuB;AACrBjB,EAAAA,eAAe,EAAER,SAAS,CAAC0B,KAAV,CAAgBC,UADZ;AAErBlB,EAAAA,cAAc,EAAET,SAAS,CAAC4B,MAAV,CAAiBD,UAFZ;AAGrBf,EAAAA,MAAM,EAAEZ,SAAS,CAAC6B,MAAV,CAAiBF,UAHJ;AAIrBb,EAAAA,cAAc,EAAEd,SAAS,CAAC0B,KAAV,CAAgBC,UAJX;AAKrBd,EAAAA,MAAM,EAAEb,SAAS,CAAC4B,MAAV,CAAiBD,UALJ;AAMrBX,EAAAA,SAAS,EAAEhB,SAAS,CAAC8B,IANA;AAOrBf,EAAAA,MAAM,EAAEf,SAAS,CAAC6B;AAPG,CAAvB;AAUAtB,UAAU,CAACwB,YAAX,GAA0B;AACxBf,EAAAA,SAAS,EAAE,KADa;AAExBD,EAAAA,MAAM,EAAE;AAFgB,CAA1B;AAKA,eAAeR,UAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport uuid from 'uuid/v1';\nimport FullRenderItem from './FullRenderItem';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { BANNER } from '../../constants';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst FullRender = ({ orderedListData, paginationType, ...props }) => {\n const pageBuilderID = uuid();\n const { parent, entity, propsToDisplay, banner, hasBanner } = props;\n const bannerProps = banner\n ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n let bannerIndex = 0;\n\n return (\n <>\n <div className=\"list list--full\">\n {orderedListData.map(({ id, ...entityProps }, i) => {\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(i, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <FullRenderItem\n key={id}\n {...props}\n {...entityProps}\n index={i}\n itemId={id}\n pageBuilderID={pageBuilderID}\n entityProps={entityProps}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n />\n );\n })}\n </div>\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} {...props} />\n )}\n </>\n );\n};\n\nFullRender.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object\n};\n\nFullRender.defaultProps = {\n hasBanner: false,\n banner: null\n};\n\nexport default FullRender;\n"],"file":"FullRender.js"}
1
+ {"version":3,"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"names":["React","Fragment","PropTypes","uuid","FullRenderItem","ListPagination","LOAD_MORE","BANNER","Wrapper","checkIfShouldRenderBanner","FullRender","orderedListData","omitWrappers","paginationType","props","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","type","bannerIndex","WrapperToUse","map","i","id","entityProps","shouldRenderBanner","propTypes","array","isRequired","string","object","bool","defaultProps"],"mappings":"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","sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport uuid from 'uuid/v1';\nimport FullRenderItem from './FullRenderItem';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { BANNER } from '../../constants';\nimport Wrapper from '../../../Wrapper';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst FullRender = ({ orderedListData, omitWrappers, paginationType, ...props }) => {\n const pageBuilderID = uuid();\n const { parent, entity, propsToDisplay, banner, hasBanner } = props;\n const bannerProps = banner\n ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n let bannerIndex = 0;\n\n const WrapperToUse = omitWrappers ? Fragment : Wrapper;\n\n return (\n <>\n <WrapperToUse className=\"list list--full\">\n {orderedListData.map(({ id, ...entityProps }, i) => {\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(i, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <FullRenderItem\n key={id}\n {...props}\n {...entityProps}\n index={i}\n itemId={id}\n pageBuilderID={pageBuilderID}\n entityProps={entityProps}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n />\n );\n })}\n </WrapperToUse>\n\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} {...props} />\n )}\n </>\n );\n};\n\nFullRender.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n omitWrappers: PropTypes.bool,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object\n};\n\nFullRender.defaultProps = {\n omitWrappers: false,\n hasBanner: false,\n banner: null\n};\n\nexport default FullRender;\n"],"file":"FullRender.js"}
@@ -12,6 +12,7 @@ const SearchFilter = ({
12
12
  data,
13
13
  filters,
14
14
  buttonRef,
15
+ searchFilterRef,
15
16
  hasUrl,
16
17
  entity,
17
18
  handleSearch,
@@ -66,7 +67,8 @@ const SearchFilter = ({
66
67
  className: formClass,
67
68
  "data-testid": formId,
68
69
  id: formId,
69
- onSubmit: handleSearch
70
+ onSubmit: handleSearch,
71
+ ref: searchFilterRef
70
72
  }, isMobileFormDisplayed && /*#__PURE__*/React.createElement(CloseMobileForm, {
71
73
  handleClose: () => setDisplaySearchFilter(false)
72
74
  }), /*#__PURE__*/React.createElement("div", {
@@ -117,6 +119,7 @@ const SearchFilter = ({
117
119
  handleReset: resetFilters
118
120
  })) : /*#__PURE__*/React.createElement(React.Fragment, null, isCollapsedOnResponsive && /*#__PURE__*/React.createElement("div", {
119
121
  className: "filter__refine filter__refine--mobile-close",
122
+ ref: searchFilterRef,
120
123
  "data-testid": "refine-mobile"
121
124
  }, /*#__PURE__*/React.createElement("div", {
122
125
  role: "button",
@@ -128,6 +131,7 @@ SearchFilter.propTypes = {
128
131
  data: PropTypes.object.isRequired,
129
132
  filters: PropTypes.array.isRequired,
130
133
  buttonRef: PropTypes.object.isRequired,
134
+ searchFilterRef: PropTypes.object.isRequired,
131
135
  hasUrl: PropTypes.bool.isRequired,
132
136
  entity: PropTypes.string.isRequired,
133
137
  handleSearch: PropTypes.func.isRequired,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"names":["React","useState","useEffect","PropTypes","classnames","FiltersList","isDeviceDesktop","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","SearchFilter","data","filters","buttonRef","hasUrl","entity","handleSearch","resetFilters","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfter","isDesktop","setIsDesktop","pageWidth","setPageWidth","moreFiltersCollapsed","setMoreFiltersCollapsed","window","innerWidth","handleResize","target","addEventListener","removeEventListener","isDesktopFormDisplayed","isMobileFormDisplayed","formClass","moreFiltersWrapperClass","formId","searchPublishedContent","slice","propTypes","object","isRequired","array","bool","string","func","number"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop } from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE } from '../constants';\n\nconst SearchFilter = ({\n data,\n filters,\n buttonRef,\n hasUrl,\n entity,\n handleSearch,\n resetFilters,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfter\n}) => {\n const [isDesktop, setIsDesktop] = useState(true);\n const [pageWidth, setPageWidth] = useState(null);\n const [moreFiltersCollapsed, setMoreFiltersCollapsed] = useState(true);\n\n useEffect(\n () => {\n if (window && !pageWidth) {\n setPageWidth(window.innerWidth);\n setIsDesktop(isDeviceDesktop());\n }\n\n const handleResize = ({ target: { innerWidth } }) => {\n setIsDesktop(isDeviceDesktop());\n setPageWidth(innerWidth);\n if (isDesktop) setDisplaySearchFilter(false);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n },\n [isDesktop, pageWidth, setDisplaySearchFilter]\n );\n\n let isDesktopFormDisplayed = true;\n let isMobileFormDisplayed = false;\n\n if (!isDesktop && isCollapsedOnResponsive) {\n isMobileFormDisplayed = displaySearchFilter;\n isDesktopFormDisplayed = false;\n }\n\n const formClass = classnames({\n 'filter__form filter__form--mobile': isMobileFormDisplayed\n });\n\n const moreFiltersWrapperClass = classnames({\n 'filter__more-filters-wrapper filter__more-filters-wrapper--open': moreFiltersCollapsed,\n 'filter__more-filters-wrapper': !moreFiltersCollapsed\n });\n\n const formId = `filter-${name}-form`;\n\n return (\n <>\n {isDesktopFormDisplayed || isMobileFormDisplayed ? (\n <form className={formClass} data-testid={formId} id={formId} onSubmit={handleSearch}>\n {isMobileFormDisplayed && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n {isDesktopFormDisplayed && <ResetDesktopForm handleReset={resetFilters} />}\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!groupAfter && (\n <FiltersList\n data={data.searchPublishedContent}\n filters={filters}\n buttonRef={buttonRef}\n hasUrl={hasUrl}\n entity={entity}\n />\n )}\n\n {!!groupAfter && (\n <>\n <FiltersList\n data={data.searchPublishedContent}\n filters={filters.slice(0, groupAfter)}\n buttonRef={buttonRef}\n hasUrl={hasUrl}\n entity={entity}\n />\n\n <button\n className=\"filter__more-filters-toggler\"\n type=\"button\"\n onClick={() => setMoreFiltersCollapsed(!moreFiltersCollapsed)}>\n More filters\n </button>\n\n <div className={moreFiltersWrapperClass}>\n <FiltersList\n data={data.searchPublishedContent}\n filters={filters.slice(groupAfter)}\n buttonRef={buttonRef}\n hasUrl={hasUrl}\n entity={entity}\n />\n\n <div className=\"filter__more-filters-buttons\">\n <ResetDesktopForm handleReset={resetFilters} />\n\n <button className=\"button button--full-width\" type=\"submit\" ref={buttonRef}>\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {isDesktopFormDisplayed && (\n <button className=\"button button--full-width\" type=\"submit\" ref={buttonRef}>\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {isMobileFormDisplayed && (\n <MobileFormToolbar buttonRef={buttonRef} formId={formId} handleReset={resetFilters} />\n )}\n </form>\n ) : (\n <>\n {isCollapsedOnResponsive && (\n <div\n className=\"filter__refine filter__refine--mobile-close\"\n data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n buttonRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n resetFilters: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfter: PropTypes.number.isRequired\n};\n\nexport default SearchFilter;\n"],"file":"SearchFilter.js"}
1
+ {"version":3,"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"names":["React","useState","useEffect","PropTypes","classnames","FiltersList","isDeviceDesktop","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","SearchFilter","data","filters","buttonRef","searchFilterRef","hasUrl","entity","handleSearch","resetFilters","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfter","isDesktop","setIsDesktop","pageWidth","setPageWidth","moreFiltersCollapsed","setMoreFiltersCollapsed","window","innerWidth","handleResize","target","addEventListener","removeEventListener","isDesktopFormDisplayed","isMobileFormDisplayed","formClass","moreFiltersWrapperClass","formId","searchPublishedContent","slice","propTypes","object","isRequired","array","bool","string","func","number"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop } from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE } from '../constants';\n\nconst SearchFilter = ({\n data,\n filters,\n buttonRef,\n searchFilterRef,\n hasUrl,\n entity,\n handleSearch,\n resetFilters,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfter\n}) => {\n const [isDesktop, setIsDesktop] = useState(true);\n const [pageWidth, setPageWidth] = useState(null);\n const [moreFiltersCollapsed, setMoreFiltersCollapsed] = useState(true);\n\n useEffect(\n () => {\n if (window && !pageWidth) {\n setPageWidth(window.innerWidth);\n setIsDesktop(isDeviceDesktop());\n }\n\n const handleResize = ({ target: { innerWidth } }) => {\n setIsDesktop(isDeviceDesktop());\n setPageWidth(innerWidth);\n if (isDesktop) setDisplaySearchFilter(false);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n },\n [isDesktop, pageWidth, setDisplaySearchFilter]\n );\n\n let isDesktopFormDisplayed = true;\n let isMobileFormDisplayed = false;\n\n if (!isDesktop && isCollapsedOnResponsive) {\n isMobileFormDisplayed = displaySearchFilter;\n isDesktopFormDisplayed = false;\n }\n\n const formClass = classnames({\n 'filter__form filter__form--mobile': isMobileFormDisplayed\n });\n\n const moreFiltersWrapperClass = classnames({\n 'filter__more-filters-wrapper filter__more-filters-wrapper--open': moreFiltersCollapsed,\n 'filter__more-filters-wrapper': !moreFiltersCollapsed\n });\n\n const formId = `filter-${name}-form`;\n\n return (\n <>\n {isDesktopFormDisplayed || isMobileFormDisplayed ? (\n <form\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={handleSearch}\n ref={searchFilterRef}>\n {isMobileFormDisplayed && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n {isDesktopFormDisplayed && <ResetDesktopForm handleReset={resetFilters} />}\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!groupAfter && (\n <FiltersList\n data={data.searchPublishedContent}\n filters={filters}\n buttonRef={buttonRef}\n hasUrl={hasUrl}\n entity={entity}\n />\n )}\n\n {!!groupAfter && (\n <>\n <FiltersList\n data={data.searchPublishedContent}\n filters={filters.slice(0, groupAfter)}\n buttonRef={buttonRef}\n hasUrl={hasUrl}\n entity={entity}\n />\n\n <button\n className=\"filter__more-filters-toggler\"\n type=\"button\"\n onClick={() => setMoreFiltersCollapsed(!moreFiltersCollapsed)}>\n More filters\n </button>\n\n <div className={moreFiltersWrapperClass}>\n <FiltersList\n data={data.searchPublishedContent}\n filters={filters.slice(groupAfter)}\n buttonRef={buttonRef}\n hasUrl={hasUrl}\n entity={entity}\n />\n\n <div className=\"filter__more-filters-buttons\">\n <ResetDesktopForm handleReset={resetFilters} />\n\n <button className=\"button button--full-width\" type=\"submit\" ref={buttonRef}>\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {isDesktopFormDisplayed && (\n <button className=\"button button--full-width\" type=\"submit\" ref={buttonRef}>\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {isMobileFormDisplayed && (\n <MobileFormToolbar buttonRef={buttonRef} formId={formId} handleReset={resetFilters} />\n )}\n </form>\n ) : (\n <>\n {isCollapsedOnResponsive && (\n <div\n className=\"filter__refine filter__refine--mobile-close\"\n ref={searchFilterRef}\n data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n buttonRef: PropTypes.object.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n resetFilters: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfter: PropTypes.number.isRequired\n};\n\nexport default SearchFilter;\n"],"file":"SearchFilter.js"}
@@ -20,8 +20,10 @@ const SearchFilterContainer = ({
20
20
  groupAfter
21
21
  }) => {
22
22
  const [displaySearchFilter, setDisplaySearchFilter] = useState(false);
23
+ const [key, setKey] = useState(`filter-${name}`);
23
24
  removeUpdatedRanges();
24
25
  const buttonRef = useRef(null);
26
+ const searchFilterRef = useRef(null);
25
27
  const hasUrl = !!url;
26
28
  const {
27
29
  url: currentUrl,
@@ -41,19 +43,43 @@ const SearchFilterContainer = ({
41
43
  const updatedRanges = getUpdatedRanges();
42
44
  const queryParams = buildQueryParams(e, filters, updatedRanges);
43
45
  setDisplaySearchFilter(false);
44
- if (!queryParams) return router.push('/Resolver', baseQuery, {
45
- shallow: !hasUrl
46
- }).then(() => window.scrollTo(0, 0));
46
+
47
+ if (!queryParams) {
48
+ scrollToParent();
49
+ return router.push('/Resolver', baseQuery, {
50
+ shallow: !hasUrl,
51
+ scroll: false
52
+ });
53
+ }
54
+
47
55
  const newUrl = buildNewQuery(url, currentUrl, queryParams, sortValues);
56
+ scrollToParent();
48
57
  return router.push('/Resolver', newUrl, {
49
- shallow: !hasUrl
50
- }).then(() => window.scrollTo(0, 0));
58
+ shallow: !hasUrl,
59
+ scroll: false
60
+ });
61
+ };
62
+
63
+ const scrollToParent = () => {
64
+ if (searchFilterRef && searchFilterRef.current) {
65
+ window.scrollTo({
66
+ left: 0,
67
+ top: window.pageYOffset + searchFilterRef.current.parentNode.getBoundingClientRect().top,
68
+ behavior: 'smooth'
69
+ });
70
+ } else {
71
+ window.scrollTo(0, 0);
72
+ }
51
73
  };
52
74
 
53
75
  const resetFilters = () => {
76
+ scrollToParent();
54
77
  router.push('/Resolver', baseQuery, {
55
- shallow: !hasUrl
56
- }).then(() => window.scrollTo(0, 0));
78
+ shallow: !hasUrl,
79
+ scroll: false
80
+ }).then(() => {
81
+ setKey(`filter-${name}:${Date.now()}`);
82
+ });
57
83
  };
58
84
 
59
85
  const action = getSearchPublishedContent(RAW_RESULTS);
@@ -89,9 +115,11 @@ const SearchFilterContainer = ({
89
115
  if (error) return error.message;
90
116
  const shouldDisplayForm = !!filters.length && !loading;
91
117
  return shouldDisplayForm ? /*#__PURE__*/React.createElement(SearchFilter, {
118
+ key: key,
92
119
  data: data,
93
120
  filters: filters,
94
121
  buttonRef: buttonRef,
122
+ searchFilterRef: searchFilterRef,
95
123
  hasUrl: hasUrl,
96
124
  entity: entity,
97
125
  handleSearch: handleSearch,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"names":["React","useState","useRef","withRouter","useQuery","PropTypes","parseUrl","stringify","SearchFilter","withTitle","getSearchPublishedContent","buildNewQuery","buildRawQueryStringified","buildQueryParams","getUpdatedRanges","removeUpdatedRanges","getEntityData","RAW_RESULTS","RANGE","CHECKBOX_SELECT","SearchFilterContainer","router","entity","url","filters","name","isCollapsedOnResponsive","groupAfter","displaySearchFilter","setDisplaySearchFilter","buttonRef","hasUrl","currentUrl","query","sort","sortby","asPath","sortValues","baseQuery","handleSearch","e","preventDefault","updatedRanges","queryParams","push","shallow","then","window","scrollTo","newUrl","resetFilters","action","rawQueryStringified","checkboxSelectValues","rangeValues","forEach","type","propsToDisplay","includes","docType","data","error","loading","variables","limit","skip","message","shouldDisplayForm","length","propTypes","object","isRequired","string","array","bool","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useState, useRef } from 'react';\nimport { withRouter } from 'next/router';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n buildQueryParams,\n getUpdatedRanges,\n removeUpdatedRanges\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\n\nconst SearchFilterContainer = ({\n router,\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfter\n}) => {\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n\n removeUpdatedRanges();\n const buttonRef = useRef(null);\n const hasUrl = !!url;\n const {\n url: currentUrl,\n query: { sort, sortby }\n } = parseUrl(router.asPath);\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const handleSearch = e => {\n e.preventDefault();\n const updatedRanges = getUpdatedRanges();\n const queryParams = buildQueryParams(e, filters, updatedRanges);\n setDisplaySearchFilter(false);\n\n if (!queryParams)\n return router\n .push('/Resolver', baseQuery, { shallow: !hasUrl })\n .then(() => window.scrollTo(0, 0));\n const newUrl = buildNewQuery(url, currentUrl, queryParams, sortValues);\n return router.push('/Resolver', newUrl, { shallow: !hasUrl }).then(() => window.scrollTo(0, 0));\n };\n\n const resetFilters = () => {\n router.push('/Resolver', baseQuery, { shallow: !hasUrl }).then(() => window.scrollTo(0, 0));\n };\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n\n let rawQueryStringified = '';\n\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n rawQueryStringified = buildRawQueryStringified(checkboxSelectValues, rangeValues, docType);\n\n const { data = {}, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n\n const shouldDisplayForm = !!filters.length && !loading;\n\n return shouldDisplayForm ? (\n <SearchFilter\n data={data}\n filters={filters}\n buttonRef={buttonRef}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n resetFilters={resetFilters}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfter={groupAfter}\n />\n ) : null;\n};\n\nSearchFilterContainer.propTypes = {\n router: PropTypes.object.isRequired,\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfter: PropTypes.number\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfter: 0\n};\n\nexport default withRouter(withTitle(SearchFilterContainer));\n"],"file":"SearchFilterContainer.js"}
1
+ {"version":3,"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"names":["React","useState","useRef","withRouter","useQuery","PropTypes","parseUrl","stringify","SearchFilter","withTitle","getSearchPublishedContent","buildNewQuery","buildRawQueryStringified","buildQueryParams","getUpdatedRanges","removeUpdatedRanges","getEntityData","RAW_RESULTS","RANGE","CHECKBOX_SELECT","SearchFilterContainer","router","entity","url","filters","name","isCollapsedOnResponsive","groupAfter","displaySearchFilter","setDisplaySearchFilter","key","setKey","buttonRef","searchFilterRef","hasUrl","currentUrl","query","sort","sortby","asPath","sortValues","baseQuery","handleSearch","e","preventDefault","updatedRanges","queryParams","scrollToParent","push","shallow","scroll","newUrl","current","window","scrollTo","left","top","pageYOffset","parentNode","getBoundingClientRect","behavior","resetFilters","then","Date","now","action","rawQueryStringified","checkboxSelectValues","rangeValues","forEach","type","propsToDisplay","includes","docType","data","error","loading","variables","limit","skip","message","shouldDisplayForm","length","propTypes","object","isRequired","string","array","bool","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useState, useRef } from 'react';\nimport { withRouter } from 'next/router';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n buildQueryParams,\n getUpdatedRanges,\n removeUpdatedRanges\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\n\nconst SearchFilterContainer = ({\n router,\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfter\n}) => {\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [key, setKey] = useState(`filter-${name}`);\n\n removeUpdatedRanges();\n const buttonRef = useRef(null);\n const searchFilterRef = useRef(null);\n\n const hasUrl = !!url;\n const {\n url: currentUrl,\n query: { sort, sortby }\n } = parseUrl(router.asPath);\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const handleSearch = e => {\n e.preventDefault();\n const updatedRanges = getUpdatedRanges();\n const queryParams = buildQueryParams(e, filters, updatedRanges);\n setDisplaySearchFilter(false);\n\n if (!queryParams) {\n scrollToParent();\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false });\n }\n const newUrl = buildNewQuery(url, currentUrl, queryParams, sortValues);\n scrollToParent();\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToParent = () => {\n if (searchFilterRef && searchFilterRef.current) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset + searchFilterRef.current.parentNode.getBoundingClientRect().top,\n behavior: 'smooth'\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n const resetFilters = () => {\n scrollToParent();\n router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`);\n });\n };\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n\n let rawQueryStringified = '';\n\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n rawQueryStringified = buildRawQueryStringified(checkboxSelectValues, rangeValues, docType);\n\n const { data = {}, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n\n const shouldDisplayForm = !!filters.length && !loading;\n\n return shouldDisplayForm ? (\n <SearchFilter\n key={key}\n data={data}\n filters={filters}\n buttonRef={buttonRef}\n searchFilterRef={searchFilterRef}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n resetFilters={resetFilters}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfter={groupAfter}\n />\n ) : null;\n};\n\nSearchFilterContainer.propTypes = {\n router: PropTypes.object.isRequired,\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfter: PropTypes.number\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfter: 0\n};\n\nexport default withRouter(withTitle(SearchFilterContainer));\n"],"file":"SearchFilterContainer.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.112.0-alpha.2",
3
+ "version": "0.113.0-alpha.2",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -32,7 +32,7 @@
32
32
  "@blaze-cms/image-cdn-react": "^0.2.0",
33
33
  "@blaze-cms/nextjs-components": "^0.104.0",
34
34
  "@blaze-cms/setup-ui": "^0.92.0",
35
- "@blaze-cms/utils": "^0.102.0",
35
+ "@blaze-cms/utils": "^0.113.0-alpha.1",
36
36
  "@blaze-react/button": "0.5.19",
37
37
  "@blaze-react/checkboxes": "0.5.31",
38
38
  "@blaze-react/drafteditor": "0.7.0",
@@ -88,5 +88,5 @@
88
88
  "lib/*",
89
89
  "lib-es/*"
90
90
  ],
91
- "gitHead": "0e894d58c926bb8fbae6335df204d1a531b22bd0"
91
+ "gitHead": "684bb71e3f060db32bea3f3e99528d2d92b1722d"
92
92
  }
@@ -40,6 +40,7 @@ const ListBuilder = props => {
40
40
  sortby,
41
41
  sort,
42
42
  paginationIndex,
43
+ omitWrappers,
43
44
  operator,
44
45
  filterOperator,
45
46
  currentSchema,
@@ -161,6 +162,7 @@ const ListBuilder = props => {
161
162
  limitToUse={limitToUse}
162
163
  itemsPerPageToUse={itemsPerPageToUse}
163
164
  action={action}
165
+ omitWrappers={omitWrappers}
164
166
  listComponent={listComponent}
165
167
  listAggregations={updatedAggregations}
166
168
  isAZ={isAZ}
@@ -188,6 +190,7 @@ ListBuilder.propTypes = {
188
190
  entityData: PropTypes.object,
189
191
  itemsToDisplay: PropTypes.array,
190
192
  limit: PropTypes.number,
193
+ omitWrappers: PropTypes.bool,
191
194
  offset: PropTypes.number,
192
195
  sortby: PropTypes.array.isRequired,
193
196
  sort: PropTypes.string.isRequired,
@@ -201,6 +204,7 @@ ListBuilder.defaultProps = {
201
204
  entityData: {},
202
205
  itemsToDisplay: [],
203
206
  limit: 0,
207
+ omitWrappers: false,
204
208
  offset: 0,
205
209
  paginationType: 'infinite',
206
210
  inheritedFilters: [],
@@ -31,6 +31,7 @@ const ListFactory = props => {
31
31
  name,
32
32
  filterByProperty,
33
33
  filterBy,
34
+ omitWrappers,
34
35
  type,
35
36
  sortby: defaultSortBy,
36
37
  sort: defaultSort,
@@ -132,6 +133,7 @@ const ListFactory = props => {
132
133
  filterEntitySchema,
133
134
  requiredSchema,
134
135
  currentSchema,
136
+ omitWrappers,
135
137
  operator,
136
138
  isTextSearchFilterApplied,
137
139
  paginationIndex,
@@ -149,6 +151,7 @@ ListFactory.propTypes = {
149
151
  type: PropTypes.string.isRequired,
150
152
  filterBy: PropTypes.array,
151
153
  filterByProperty: PropTypes.array,
154
+ omitWrappers: PropTypes.bool,
152
155
  operator: PropTypes.string,
153
156
  name: PropTypes.string,
154
157
  sortby: PropTypes.array,
@@ -159,6 +162,7 @@ ListFactory.propTypes = {
159
162
  ListFactory.defaultProps = {
160
163
  filterBy: [],
161
164
  filterByProperty: [],
165
+ omitWrappers: false,
162
166
  name: '',
163
167
  sortby: [],
164
168
  sort: '',