@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.
- package/CHANGELOG.md +41 -0
- package/lib/components/List/ListBuilder.js +4 -0
- package/lib/components/List/ListBuilder.js.map +1 -1
- package/lib/components/List/ListFactory.js +4 -0
- package/lib/components/List/ListFactory.js.map +1 -1
- package/lib/components/List/ListRender.js +4 -0
- package/lib/components/List/ListRender.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRender.js +26 -3
- package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
- package/lib/components/List/components/Cards/CardsRenderWrapper.js +25 -3
- package/lib/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
- package/lib/components/List/components/Full/FullRender.js +25 -3
- package/lib/components/List/components/Full/FullRender.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +5 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilterContainer.js +40 -10
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib-es/components/List/ListBuilder.js +4 -0
- package/lib-es/components/List/ListBuilder.js.map +1 -1
- package/lib-es/components/List/ListFactory.js +4 -0
- package/lib-es/components/List/ListFactory.js.map +1 -1
- package/lib-es/components/List/ListRender.js +4 -0
- package/lib-es/components/List/ListRender.js.map +1 -1
- package/lib-es/components/List/components/Cards/CardsRender.js +9 -3
- package/lib-es/components/List/components/Cards/CardsRender.js.map +1 -1
- package/lib-es/components/List/components/Cards/CardsRenderWrapper.js +7 -3
- package/lib-es/components/List/components/Cards/CardsRenderWrapper.js.map +1 -1
- package/lib-es/components/List/components/Full/FullRender.js +8 -3
- package/lib-es/components/List/components/Full/FullRender.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +5 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +35 -7
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/package.json +3 -3
- package/src/components/List/ListBuilder.js +4 -0
- package/src/components/List/ListFactory.js +4 -0
- package/src/components/List/ListRender.js +4 -0
- package/src/components/List/components/Cards/CardsRender.js +11 -3
- package/src/components/List/components/Cards/CardsRenderWrapper.js +14 -4
- package/src/components/List/components/Full/FullRender.js +10 -4
- package/src/components/SearchFilter/SearchFilter/SearchFilter.js +9 -1
- package/src/components/SearchFilter/SearchFilterContainer.js +27 -6
- package/tests/unit/src/components/List/components/Cards/CardsRender.test.js +9 -1
- package/tests/unit/src/components/List/components/Cards/CardsRenderWrapper.test.js +9 -1
- package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +69 -2
- package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRenderWrapper.test.js.snap +14 -1
- package/tests/unit/src/components/List/components/Full/FullRender.test.js +6 -1
- package/tests/unit/src/components/List/components/Full/FullRenderItem.test.js +1 -1
- package/tests/unit/src/components/List/components/Full/__snapshots__/FullRender.test.js.snap +16 -2
- package/tests/unit/src/components/List/components/Full/__snapshots__/FullRenderItem.test.js.snap +1 -1
- 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":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,qBAAzB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,OAAOC,UAAP,MAAuB,qBAAvB;AACA,SAASC,gBAAT,QAAiC,eAAjC;AACA,SAASC,SAAT,QAA0B,iBAA1B;;AAEA,MAAMC,UAAU,GAAGC,KAAK,IAAI;AAC1B,QAAM;AACJC,IAAAA,SADI;AAEJC,IAAAA,SAFI;AAGJC,IAAAA,MAHI;AAIJC,IAAAA,IAJI;AAKJC,IAAAA,cALI;AAMJC,IAAAA,iBANI;AAOJC,IAAAA,UAPI;AAQJC,IAAAA,aARI;AASJC,IAAAA,UATI;AAUJC,IAAAA,
|
|
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
|
-
|
|
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":";;;;;;;;;AAAA,OAAOA,KAAP,
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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": "
|
|
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: '',
|